案例

PaperBoat:基于反编译成果的 Paper Mario 原生移植

以 pmret 和 Paper Mario DX 项目为基础,将 Paper Mario 反编译源码编译为基于 libultraship 的原生美版应用。Torch 把使用者自己的 ROM 转换为本地素材归档,移植另加入多种渲染后端、增强功能和归档式模组。桌面版已有正式发布;Android、iOS 和网页构建则在开发分支中有文档说明。

使用条件与局限

  • 所审 develop 快照晚于 1.0.3 版(2026-10-11),该版本提供 Windows、Linux 和 macOS 安装包。CMake 以 VERSION_US 编译反编译项目的游戏 C 源码,并用移植代码替换 N64 启动层和大部分系统层。这是有意加入增强与修复的原生移植,不是生成一致 ROM 的构建,也不是静态重编译。
  • 需使用者自备美版 Paper Mario ROM,且 SHA-1 与 README 所列一致;config.yml 仅包含该哈希的配方,README 声明不包含受版权保护的素材。Torch 在使用者的电脑或设备上生成 pm64.o2r 游戏归档,该归档从不随应用分发。
  • 源码构建需 Torch 与 libultraship 子模块、CMake 3.24+、Ninja 及 C99/C++20 编译器。Windows 使用 Visual Studio 2022 的 clang-cl,普通 MSVC cl.exe 不支持这些 C99 反编译源码。渲染后端为 DirectX 11、OpenGL 和 Metal。文档还说明 Android arm64-v8a、iOS 16.3+ 和 Emscripten 构建,这些平台禁用脚本与原生模组。
  • CI 工作流构建 Linux、Windows、macOS、iOS、Android 和网页产物,并检查打包内容;平台指南称 CI 从不接触 ROM,且其提到的桌面检查脚本在所审源码树中并不存在。夜间构建标明仅供试玩,可能出现错误和崩溃。项目未报告游戏行为等价或性能结果,本合集也未运行任何内容。
  • 仓库附有 CC0-1.0 文本,但 GitHub 未识别出所致谢的 pmret 和 Paper Mario DX 仓库的许可证,子模块也另有条款;因此不把该 CC0 文件视为对继承代码或游戏内容的授权。README 说明在 HarbourMasters 政策范围内接受 AI 辅助的拉取请求;这不能确立 REA 使用或可量化的 AI 贡献。

关于此条目

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

来源复核于

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

一手来源

  1. README.md GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  2. docs/BUILDING.md GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  3. docs/android-ios-web.md GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  4. CMakeLists.txt GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  5. config.yml GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  6. .gitmodules GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  7. .github/workflows/build.yml GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  8. LICENSE GitHub · HarbourMasters/PaperBoat · 修订 d98b4b6
  9. https://github.com/HarbourMasters/PaperBoat/releases/tag/1.0.3