Embed Switch game assets in RomFS
This commit is contained in:
@@ -245,14 +245,15 @@ Press PLUS to exit.
|
||||
Frostbite2DGameSwitch
|
||||
```
|
||||
|
||||
该目标使用:
|
||||
该目标和 Windows 共用:
|
||||
|
||||
```text
|
||||
game\src\switch_game_main.cpp
|
||||
game\src\main.cpp
|
||||
```
|
||||
|
||||
作为 Switch 专用入口,运行同一套 `WhiteboxScene`、`StageRenderer`、
|
||||
`DebugOverlay`、`PlayerActor` 和 `LevelDefinition` 游戏框架。
|
||||
入口内部通过 `__SWITCH__` 编译分支处理平台差异,运行同一套
|
||||
`WhiteboxScene`、`StageRenderer`、`DebugOverlay`、`PlayerActor` 和
|
||||
`LevelDefinition` 游戏框架。
|
||||
|
||||
构建命令:
|
||||
|
||||
@@ -279,15 +280,22 @@ build\switch\aarch64\release\switch_game\assets\
|
||||
- 复制 `game\assets` 到 `build\switch\aarch64\release\switch_game\assets`
|
||||
- 生成 `control.nacp`
|
||||
- 调用 `elf2nro` 生成带元数据的 `NSUnknownGame.nro`
|
||||
- 将 `game\assets` 复制到临时 `romfs\assets` 后内嵌到 NRO 中,因此运行时可以直接读取
|
||||
`romfs:/assets/...`
|
||||
|
||||
Switch 运行时资源目录当前由引擎解析为:
|
||||
Switch 运行时资源目录当前优先由引擎解析为:
|
||||
|
||||
```text
|
||||
romfs:/assets
|
||||
```
|
||||
|
||||
如果 RomFS 挂载失败,才会回退到:
|
||||
|
||||
```text
|
||||
/switch/Frostbite2D/NS Unknown Game/assets
|
||||
```
|
||||
|
||||
在真机 SD 卡或模拟器文件系统中测试完整游戏时,需要确保资源也放到该目录。
|
||||
构建输出目录中的 `switch_game\assets` 是用于部署的资源副本。
|
||||
构建输出目录中的 `switch_game\assets` 是调试和外部部署用的资源副本。
|
||||
|
||||
当前已验证:
|
||||
|
||||
@@ -325,21 +333,25 @@ Frostbite2D_smoke_meta.nro
|
||||
|
||||
不要优先使用裸的 `Frostbite2D_smoke.nro`。
|
||||
|
||||
### 3.4 Switch 游戏 NRO 启动后资源加载失败
|
||||
### 3.4 Switch 游戏 NRO 启动后资源加载失败或黑屏
|
||||
|
||||
确认资源目录存在:
|
||||
优先确认 `NSUnknownGame.nro` 是新构建的 RomFS 版本。构建时 `elf2nro`
|
||||
命令应包含:
|
||||
|
||||
```text
|
||||
/switch/Frostbite2D/NS Unknown Game/assets
|
||||
--romfsdir=<build>\switch_game\romfs
|
||||
```
|
||||
|
||||
至少应包含:
|
||||
NRO 内部应能访问:
|
||||
|
||||
```text
|
||||
assets\shaders\shaders.json
|
||||
assets\shaders\sprite.vert
|
||||
assets\shaders\sprite.frag
|
||||
assets\shaders\colored_quad.vert
|
||||
assets\shaders\colored_quad.frag
|
||||
assets\character\male\*.png
|
||||
romfs:/assets/shaders/shaders.json
|
||||
romfs:/assets/shaders/sprite.vert
|
||||
romfs:/assets/shaders/sprite.frag
|
||||
romfs:/assets/shaders/colored_quad.vert
|
||||
romfs:/assets/shaders/colored_quad.frag
|
||||
romfs:/assets/character/male/*.png
|
||||
```
|
||||
|
||||
旧版本曾只把资源复制到 NRO 旁边,运行时引擎找不到 shader 和纹理,
|
||||
会表现为黑屏或没有场景内容。
|
||||
|
||||
Reference in New Issue
Block a user