重构SpriteAssertTool.cpp,减少中间文件产生;重构TomGame文件夹,删去不必要的文件;修改CMakeLists,PC重构Game自动重新构建资源头文件;修改文档

This commit is contained in:
HP
2026-06-08 10:27:31 +08:00
parent 08088c8413
commit 1e34e15e04
26 changed files with 139256 additions and 82274 deletions
+8 -4
View File
@@ -67,7 +67,7 @@ cmake --build build-win --config Release --target IMX6U-Game
cmake --build build-win --config Release --target IMX6U-Demo
```
如果修改了 Tom 的原始 PNG 资源,先重新生成 atlas 头文件:
构建 `IMX6U-Game` 时会自动重新生成 Tom 的 atlas 头文件;也可以单独执行:
```bash
cmake --build build-win --config Release --target GenerateTomAtlasHeader
```
@@ -106,7 +106,7 @@ cmake --build build-linux --target IMX6U-Game
cmake --build build-linux --target IMX6U-Demo
```
如果修改了 Tom 的原始 PNG 资源,先重新生成 atlas 头文件:
构建 `IMX6U-Game` 时会自动重新生成 Tom 的 atlas 头文件;也可以单独执行:
```bash
cmake --build build-linux --target GenerateTomAtlasHeader
```
@@ -139,6 +139,8 @@ cmake --build build-arm-fb
说明:单配置生成器(Makefile/Ninja)默认使用 `Release` 构建;ARM / framebuffer 性能测试必须确认 `CMAKE_BUILD_TYPE=Release`,否则逐像素绘制和 `/dev/fb0` 提交会因未优化构建出现数量级偏差。
注意:Tom 的 atlas 头文件生成工具是主机侧离线工具,依赖 PC/Linux 主机上的 SDL2_image;主机构建 `IMX6U-Game` 时会自动执行,ARM 交叉编译过程不会执行它。如果修改了 `src/Apps/Game/assets/raw/` 里的 PNG,必须先在 Windows 或 Linux x86 构建目录执行 `GenerateTomAtlasHeader` 或构建一次 `IMX6U-Game`,再进行 ARM 交叉编译。ARM 构建只消费已经生成好的 `src/Apps/Game/generated/tom_atlas.h`。
构建(SDL2 后端,要求工具链/sysroot 可找到目标板 SDL2 开发库):
```bash
cmake -B build-arm-sdl \
@@ -193,7 +195,7 @@ test_sprite_pixels
透明像素仍保留 alpha;当前 demo 通过 `RenderData::Image(..., 0x00000000)` 把全透明像素作为 color key 跳过。
Tom 游戏资源使用 `SpriteAssetTool --atlas-header` 从原始 PNG 一步生成 atlas 头文件:
Tom 游戏资源使用 `SpriteAssetTool` 从固定目录 `src/Apps/Game/assets/raw/` 读取原始 PNG,一步生成 atlas 头文件。主机侧构建 `IMX6U-Game` 时 CMake 会自动执行 `GenerateTomAtlasHeader`;也可以单独执行:
```bash
cmake --build build-win --config Release --target GenerateTomAtlasHeader
@@ -205,7 +207,9 @@ cmake --build build-win --config Release --target GenerateTomAtlasHeader
src/Apps/Game/generated/tom_atlas.h
```
该头文件包含 `tom_atlas_pixels` 和每张图的 `RenderData::SpriteRegion`,因此板端运行 Tom 游戏时不需要额外部署 `.sprite` 文件。
该头文件包含 `tom_atlas_pixels` 和每张图的 `RenderData::SpriteRegion`,因此板端运行 Tom 游戏时不需要额外部署图片资源文件。尺寸规则、region 名称和 PNG 文件名统一记录在 `src/Apps/Game/tools/asset_pipeline/SpriteAssetTool.cpp` 顶部的 `Sources` 表里;CMake 不再重复维护每张 PNG 的路径。
`src/Apps/Game/assets/sprites/` 属于旧的 `.sprite` 文件部署流程,Tom 主游戏现在不再依赖它。只有旧的手动测试或未迁移工具还可能引用该目录;清理这些旧入口后可以删除这个目录。
### Bitmap Font 转换