案例

Vandal Hearts:基于一致性反编译的原生 PC 移植

以 shao113 的 PlayStation 版 Vandal Hearts 一致性反编译为基础,新增日版一致性代码树,并将两者延伸为原生 Windows 与 Linux 移植。SDL2、OpenGL 或 Metal 及 OpenAL 后端替代主机的 GPU、GTE、CD-ROM/XA、SPU、MDEC 和手柄接口,同一可执行文件可运行美版、亚洲版和日版光盘。每次修改仍须通过一致性构建检查;Tactical Mode、高清包等 PC 专属功能均为可选。

使用条件与局限

  • 所审阅源码晚于 v2.1.0(2026-08-31)。README 报告所有非 PsyQ 函数均已反编译,make check 通过 MD5 确认美版 SLUS_004.47 及(自 2.0.0 起)日版 SLPM_860.07 可逐字节一致地重建,并在 Windows 与 Linux 上完成直至结局的完整通关。macOS 为社区支持的实验性构建,已测试到第一场战斗;其完整通关与公证验证仍待完成。
  • 需自备美版(SLUS-00447)、亚洲版(SCPS-45183)或日版(SLPM-86007)的原始 .bin 光盘镜像;移植会校验并自动识别各光盘。一致性构建还需原可执行文件作为 MD5 参照,以及在本地取得的专有 PsyQ SDK 文件(README 以 MD5 列出 ASPSX 2.21 和 LIB34.ZIP)。汉字字库、游戏内文本和静态数据段均由使用者自有副本生成,不提交入库。
  • 移植可用 Make 或 CMake 构建,依赖 SDL2、OpenAL、OpenGL(macOS 上为 Metal)、libwebp、libav 和 Python 3;Windows 二进制在 Linux 上以 MinGW-w64 交叉编译,Linux 版以 AppImage 发布。一致性构建使用 splat、maspsx、decompals 的 GCC 2.5.7/2.6.3 前端及 MIPS binutils;由于这些前端是 32 位 Linux 可执行文件,必须在 Linux 主机上进行。
  • 项目报告的检查包括两个地区版本的 make check、修复七个潜在越界缺陷的 AddressSanitizer 与 UBSan 扫描、以 BizHawk 验证的音画还原,以及软件光栅化器与 DuckStation 显存截取对比达 99.84–99.99% 像素一致。已知问题列表将剩余缺陷归于移植的渲染与后端层;本合集未运行上述任何检查。
  • GPL-2.0 仅涵盖项目原创的移植代码、工具和文档。反编译的游戏代码(源自 shao113 未附许可的反编译)及重建的数据表属于 Konami,项目并不授予其许可;预构建版本嵌入部分游戏派生数据段及源自 BIOS 的字库。仓库将构建环境配置说明保存在 Claude Code 技能文件中;未确立与 REA 的关联。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · HalmyLyseas/VandalHearts-PcPort · 修订 14552ff
  2. NOTICE GitHub · HalmyLyseas/VandalHearts-PcPort · 修订 14552ff
  3. CLAUDE.md GitHub · HalmyLyseas/VandalHearts-PcPort · 修订 14552ff
  4. docs/building.md GitHub · HalmyLyseas/VandalHearts-PcPort · 修订 14552ff
  5. docs/known_issues.md GitHub · HalmyLyseas/VandalHearts-PcPort · 修订 14552ff
  6. CHANGELOG.md GitHub · HalmyLyseas/VandalHearts-PcPort · 修订 14552ff
  7. LICENSE GitHub · HalmyLyseas/VandalHearts-PcPort · 修订 14552ff
  8. https://github.com/shao113/vh/tree/a9e53de9484d4b42b023411617fe6d44acf592bc