Embed Switch game assets in RomFS

This commit is contained in:
2026-06-09 01:00:20 +08:00
parent b78aaa5cad
commit e8b05e93b9
7 changed files with 72 additions and 73 deletions
+5 -6
View File
@@ -21,7 +21,6 @@ game/
├─ movement/ 可复用的移动和碰撞辅助工具
├─ scene/ 游戏场景和关卡编排
├─ stage/ 关卡视觉层渲染
├─ switch_game_main.cpp Switch/NS 游戏入口
└─ main.cpp 游戏可执行文件入口点
```
@@ -116,9 +115,9 @@ xmake -b Frostbite2DGame
build/windows/x64/release/Frostbite2DGame.exe
```
Switch/NS 游戏框架目标为 `Frostbite2DGameSwitch`。它使
`game/src/switch_game_main.cpp` 作为平台入口,复用同一套 Scene、Stage、
Actor、Movement、Debug 和 Data 模块。
Switch/NS 游戏框架目标为 `Frostbite2DGameSwitch`。它
`game/src/main.cpp`,入口内部通过 `__SWITCH__` 编译分支处理平台差异,
并复用同一套 Scene、Stage、Actor、Movement、Debug 和 Data 模块。
构建命令:
@@ -133,10 +132,10 @@ build/switch/aarch64/release/Frostbite2DGame.elf
build/switch/aarch64/release/switch_game/NSUnknownGame.nro
```
Switch 运行时资源目录:
Switch 运行时资源目录优先使用内嵌 RomFS
```text
/switch/Frostbite2D/NS Unknown Game/assets
romfs:/assets
```
## 后续架构步骤
+3 -3
View File
@@ -305,16 +305,16 @@ mindmap
已有:
- `game/src/main.cpp`Windows/PC 游戏入口
- `game/src/switch_game_main.cpp`Switch/NS 游戏入口。
- `game/src/main.cpp`统一游戏入口,通过 `__SWITCH__` 区分 Windows/PC 与 Switch/NS
- `Frostbite2DGame`Windows 游戏目标。
- `Frostbite2DGameSwitch`Switch 游戏目标,生成 `NSUnknownGame.nro`
- Switch NRO 已内嵌 `game/` 为 RomFS,运行时优先读取 `romfs:/assets`
下一步:
- 将 Switch Joy-Con 输入接入 `InputStateProvider`
- 整理资源部署脚本,把 `assets` 放到 `/switch/Frostbite2D/NS Unknown Game/assets`
- 在 Ryujinx 或真机上验证主循环、shader 和角色纹理。
- 如果 RomFS 不可用,再补 SD 卡外部资源部署脚本。
## 数据流白板