Lighthouse Torch modding工作流:export与import的YAML编辑实战指南 Lighthouse Torch modding工作流export与import的YAML编辑实战指南【免费下载链接】Lighthouse项目地址: https://gitcode.com/GitHub_Trending/lighthouse26/LighthouseLighthouse 是 Harbour Masters 团队用现代 C 重写的《Banjo-Kazooie》班卓熊大冒险PC 移植版。它的 modding模组能力由内置的 Torch 工具链驱动一条torch modding export命令即可把 ROM 里的模型、贴图、动画、对话等二进制资源全部解码成人类可读的 YAML 文件你用任意文本编辑器改完之后再用torch modding import o2r重新打包成.o2r模组文件放入mods文件夹即可生效。本文带你完整走一遍这条 export → 编辑 → import 的 YAML 工作流。 为什么需要 Torch从二进制到 YAML原版《班卓熊》把所有资源贴图、模型、音效、对话文本压缩在 ROM 二进制里直接改动几乎不可能。Lighthouse 的做法是把资源处理抽象成两条流水线export导出把 ROM 中每个资源解码为独立的 YAML 文件并生成一份modding.yml清单记录资源 ID → 文件路径的映射import导入反向遍历清单把你编辑过的 YAML 重新编码其余资源直接从 ROM 原样读入最终合并成一个.o2r模组包。也就是说你只需要关心改了什么没改的部分 Torch 会自动从 ROM 补齐。Torch 支持导出的资源类型在 src/port/Engine.cpp 中一览无余资源类型典型用途BKModel/BKSprite角色模型、贴图与精灵字体图、UI 图BKAnimation骨骼动画序列BKDialog/BKQuizQuestion/BKGruntyQuestionNPC 对话、Grunty 炉灶问答、最终 Boss 提问BKDemoInput/BKMap演示输入、关卡地图数据 两条核心命令最快上手步骤第 1 步export 导出资源为 YAMLtorch modding export baserom.z64 -s lighthouse -d workdir运行后所有资源会被解码到workdir/src/assets/assets/下按类型分目录存放并写出一份modding.yml清单。仓库自带的基线 YAML 目录在 assets/yaml/ 下按地区/版本组织例如美版 Rev0 的 assets.yaml、hashes.yaml 与 soundfont.yaml。第 2 步import 重新打包为 .o2rtorch modding import o2r baserom.z64 -s lighthouse -d workdir导入器会遍历资产清单你在workdir里编辑过的 YAML 被重新编码其余直接从 ROM 解析。产物.o2r或.otr复制到 Lighthouse 的mods文件夹即可被加载游戏内按Tab可切换是否启用替代资源。 YAML 长什么样读懂三个关键文件1. 资产总表 assets.yaml—— 记录每张资产表的 ID 与符号名映射。以 assets/yaml/us/rev0/assets.yaml 为例aBKAssetTable的symbol_map把编号0、1、2… 依次对应到anim/ASSET_0_UNNAMED、anim/ASSET_1_BSCROUCH_ENTER等动画资源这就是资源 ID → 名称的主索引。2. 音序文件 soundfont.yaml—— 每个条目用type、offset、size、symbol四个字段描述一段二进制数据的位置例如 assets/yaml/us/rev0/soundfont.yaml 中的soundfont1ctlsoundfont1ctl: type: BK64:SOUNDFONT_CTL offset: 0xD846C0 size: 0x10DF0 symbol: soundfont1ctl3. modding.yml 清单—— export 生成的目录页每行形如assets/lang/us/…: assets/lang/us/….yaml。你新增或重命名文件后要同步修改清单两边import 才认得。✏️ YAML 编辑实战三类常见修改① 改文本对话 / 问答 / 语言包这是 export→import 流程最成熟的场景官方在 docs/modding/LANGUAGE PACKS.md 里用西班牙文语言包做了完整示范export 出lang/us/dialog/748 个对话框、lang/us/quizq/170 题、lang/us/gruntyq/30 题三个文件夹逐条翻译引号内的文本import 后自动产出bkes.o2r放进mods/~lang/即可在游戏菜单里切换语言。文档还讲解了字体槽位编码如渲染为 Ñ、langinfo.yml声明等细节值得精读。② 替换资产模型 / 贴图 / 动画对导出的模型与贴图 YAML配合 HarbourMasters 的retroOTR/O2R 生成工具和fast64Blender 插件工作流可把自制模型、高清贴图打包回.o2r。README 的Custom Assets一节有详细说明。③ 改配置仓库根的 config.yml 按 ROM 的 SHA-1 哈希区分美版 Rev0/Rev1、日版、欧版并指定gbi指令集、输出文件名bk.o2r、输出目录等。做语言包时需临时开启dialog_pack: true完成后记得还原。一条 YAML 卫生规则字符串务必加双引号——未加引号的,、:、#会在 import 时直接破坏解析。⚠️ 常见坑与注意事项哈希要对得上先用 docs/BUILDING.md 提到的流程验证 ROM 哈希确认它属于config.yml中登记的版本否则 export 找不到对应 YAML 配置。只改你需要的文件清单里没动到的条目会在 import 时原样走 ROM这是安全网也意味着漏改清单 修改不生效。版本号差异美版 Rev0 与 Rev1 的assets.yaml内容不同编辑前确认工作目录对应的是你手里 ROM 的版本。Romhack 兼容Lighthouse 支持从打过补丁的 ROM 直接提取 romhack 模组Settings → Romhacks 菜单但此类 hack 仅支持 US v1.0 基线。 相关文件速查内容路径语言包完整实战教程docs/modding/LANGUAGE PACKS.md基线资源 YAML美/日/欧assets/yaml/版本与输出配置config.yml构建与 Torch 生成 bk.o2r 说明docs/BUILDING.md资源类型注册src/port/Engine.cpp资源导入器实现src/port/Resource/Importers/掌握export→ 改 YAML →import这三步你就拥有了 Lighthouse 模组的完整开发闭环文本、贴图、模型、动画皆可在纯文本层面完成创作与分发。【免费下载链接】Lighthouse项目地址: https://gitcode.com/GitHub_Trending/lighthouse26/Lighthouse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考