Repository navigation
v1.2.3: The experimental builder builds again, with the bundled nxbuild 0.6.3.
English
Fixed
- Experimental builder stopped at once (
--engine <engine folder> is required): in 1.2.2 the bundlednxb 0.5.1read the engine folder only from--engine. The launcher passes the engine asNXB_ENGINE. Every build with Settings, Use experimental builder stopped before its first stage. The app now bundlesnxbuild 0.6.3, which readsNXB_ENGINE(#826) - Experimental builder stopped at the rewrite (
patch_nso.py of the engine ... differs):nxbchecks the engine's code rewriter against the version its own rewriter was ported from. The 1.2.2 engine pin88c7e03f51e3changedpatch_nso.py(Unreal dynamic buffers keep 4 copies) andnso_match.py.nxb 0.6.1refused every build with this engine.nxb 0.6.2and newer are ported to it (#826) - Extract stage label and bar: with the experimental builder, the first stage showed the raw text "extract %@" and a bar with no value.
nxbnow names the stage after its versions, for exampleextract v0 + v327680, and reports the bytes written. The bar fills and shows the time left. The launcher no longer shows a raw%@for a stage name without a part (#826) - Experimental builder stopped in the Mac shader step (
own front end: ... own-front: No such file or directory): in 1.2.3-rc1 the bundlednxb 0.6.2looked for the list of shaders its own front end may compile, and a fresh build has no such list.nxb 0.6.3uses its own front end without the list (#830) - The launcher needs nxb 0.6.3 or newer: an older
nxbchosen in Settings now stops with the "too old" message before the build (#826, #830)
Changed
- Shaders in the experimental builder:
nxb 0.6translates the shaders with its own translator and no longer usesspirv-crossor the C# translator. The default build with the script is not changed (#826) - Faster Mac shader step:
nxb 0.6.3compiles the shaders to Apple's intermediate format with its own front end. Apple's compiler still makes the GPU code. A shader the own front end does not take goes to Apple's front end, as before. For Super Mario Bros. Wonder the shader step took 5.2 minutes instead of 10.3 (#830)
Known issues
- Experimental builder (
nxb build): no whole game has been built with the releasednxb 0.6.3yet. Super Mario Bros. Wonder was built for the Mac with a test build of 0.6.3 and looks the same as with Apple's front end. The output of the own front end was checked by eye only. The iPhone and iPad path has not been run on a device (#749, #826, #830)
Requires
- iOS or iPadOS 26 or later
- To build NVN games on a Mac: Xcode 27.2 and macOS 26.6 or later
中文
修复
- 实验性构建器立即停止(
--engine <engine folder> is required):1.2.2 自带的nxb 0.5.1只从--engine读取引擎文件夹。启动器通过NXB_ENGINE传递引擎。开启「设置」里的「使用实验性构建器」后,每次构建都在第一个阶段之前停止。App 现在自带nxbuild 0.6.3,它会读取NXB_ENGINE(#826) - 实验性构建器在重写阶段停止(
patch_nso.py of the engine ... differs):nxb会把引擎的代码重写器和它移植时的版本做比对。1.2.2 的引擎固定点88c7e03f51e3修改了patch_nso.py(Unreal 动态缓冲区保留 4 份副本)和nso_match.py。nxb 0.6.1因此拒绝了使用这个引擎的每次构建。nxb 0.6.2及更新版本已移植到这个引擎(#826) - 解包阶段的名称和进度条:使用实验性构建器时,第一个阶段显示原始文本「extract %@」,进度条没有数值。
nxb现在用版本命名这个阶段,例如extract v0 + v327680,并报告已写入的字节数。进度条会前进并显示剩余时间。阶段名称没有版本部分时,启动器不再显示原始的%@(#826) - 实验性构建器在 Mac 着色器阶段停止(
own front end: ... own-front: No such file or directory):在 1.2.3-rc1 中,自带的nxb 0.6.2会查找允许自有前端编译的着色器列表,而新的构建没有这个列表。nxb 0.6.3在没有列表时也使用自有前端(#830) - 启动器需要 nxb 0.6.3 或更新版本:在设置里选择的旧版
nxb现在会在构建之前以「版本过旧」的提示停止(#826、#830)
变更
- 实验性构建器中的着色器:
nxb 0.6用自己的转换器转换着色器,不再使用spirv-cross或 C# 转换器。使用脚本的默认构建没有变化(#826) - 更快的 Mac 着色器阶段:
nxb 0.6.3用自有前端把着色器编译为 Apple 的中间格式。GPU 代码仍由 Apple 的编译器生成。自有前端不接受的着色器和以前一样交给 Apple 的前端。Super Mario Bros. Wonder 的着色器阶段用时 5.2 分钟,之前为 10.3 分钟(#830)
已知问题
- 实验性构建器(
nxb build):还没有用正式发布的nxb 0.6.3构建过完整的游戏。Super Mario Bros. Wonder 已用 0.6.3 的测试版本为 Mac 构建,画面和使用 Apple 前端时一样。自有前端的输出只用肉眼检查过。iPhone 和 iPad 路径尚未在真机上运行过(#749、#826、#830)
系统要求
- iOS 或 iPadOS 26 或更高版本
- 在 Mac 上构建 NVN 游戏:Xcode 27.2 和 macOS 26.6 或更高版本
What's Changed
Documentation
- Release v1.2.3: experimental builder with nxbuild 0.6.2 by @v0lumehi in #826
- v1.2.3: bundle nxbuild 0.6.3 by @v0lumehi in #830
Full Changelog: v1.2.2...v1.2.3