主要观点:作者在过去几个月断断续续地制作 Game Boy 游戏,之前用 GNU Make 构建但对其依赖跟踪配置不满,后寻找其他构建系统,最终创建 Meson 的分支以支持 Game Boy 游戏构建,包括添加新语言rgbds、配置rgbasm和rgblink等,还展示了使用custom_target与工具交互及提交更改到上游 Meson 项目等。
关键信息:
- 用 GNU Make 构建游戏时依赖跟踪有问题,开始寻找其他构建系统。
- 创建 Meson 分支添加
rgbds语言支持,可配置rgbasm和rgblink,通过executable函数构建 ROM。 - 游戏 Boy ROM 文件头需正确设置,可通过
custom_target调用rgbfix工具,也可使用rgbds模块替代部分custom_target操作。 - 已修改
pokered使用该分支,生成的游戏匹配预期校验和,还向 Meson 项目提交了更改并更新了pokered的meson分支。
重要细节:
- Meson 构建系统易于使用且支持多语言项目,添加
rgbds语言后可自动处理工具链部分代码更改后的资产处理和游戏重链接。 - 在构建过程中,
ninja用于快速重建,rgbfix用于设置 ROM 文件头,rgbgfx用于图形转换等。 - 提交的 PR 中创建了
rgbds模块,提供fix和gfx函数来简化操作,pokered分支也进行了相应更新。同时提到添加对 Pokémon Blue 等的支持留作练习。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。