尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗非官方的 rustc codegen 后端:把目标 crate 的 Rust 代码编译成原神千星奇域的节点图资产文件 .gia。
目前仅支持服务器节点图。
📖 完整文档:https://mzverse.github.io/rust2genshin/
[!NOTE] 本文档正在迁往文档站。下面残留的章节(兼容性、关于节点图等)会逐步移走,迁移期间以文档站为准。
#[event_listener]
pub fn on_tab_selected(event: TabSelectedEvent) {
log(event.guid); // 打印Guid
event.entity.delete(); // 删除本实体
}
#[unsafe(no_mangle)] // 导出此函数为复合节点
pub fn solve(a: f32, b: f32, c: f32) -> f32 {
(- b + delta(a, b, c).sqrt()) / (2. * a)
}
fn delta(a: f32, b: f32, c: f32) -> f32 {
b * b - 4. * a * c
}
需要 rustup、cargo 和 protoc。nightly 工具链由 rust-toolchain.toml 钉死,rustup 首次运行时会连同三个组件一起装好。
git clone https://github.com/mzverse/rust2genshin
cd rust2genshin
cargo run -p build-demo --bin beyond-server
产物是 target/genshin-unknown-beyond-server/release/rust2genshin_demo.gia。
节点图写在 demo/src/lib.rs(demo 只是示例目标 crate)。改包名、换成自己的 crate 等步骤见上手。
写法细节(导出、事件、内置事件清单)见文档站:
i8/i16、#[repr(u32)]、递归调用、dyn节点图的语义(数据流、循环、控制流、变量修改事件)是「为什么代码会编译成这样」的那一层,已迁入架构栏: