案例

re-plants-vs-zombies:反编译并现代化改造 Plants vs. Zombies 年度版

以 PopCap 开源的 SexyAppFramework 为基础重建 Plants vs. Zombies 的 C++ 源码:起点是社区早先对 0.9.9 版的反编译,再补入从年度版(GOTY)逆向得到的功能,并以 GOTY 版地址标注函数。项目同时以现代 C++ 改造引擎,并正将 DirectDraw 与 Direct3D 7 渲染器替换为 GLFW。它构建出在原版游戏目录中运行的同人可执行文件,目标是现代化、可扩展的游戏,而不是完全一致的二进制。

使用条件与局限

  • README 介绍项目旨在反编译初代 PvZ 的最新功能,并扩展游戏及其引擎;它建立在 Miya(rspforhp)已删除的 0.9.9 版反编译之上,并感谢 ruslan831 将其存档。路线图将 x64 支持和成就标为部分完成,GLFW 渲染器与跨平台替换标为进行中,Zombatar 和模组 API 尚未完成。项目没有发布版;最后一次提交日期为 2026-07-11。
  • 游玩需要购买所得副本中的原版游戏文件;README 链接 Steam 年度版,但未注明确切的可执行文件版本。构建出的可执行文件在该游戏目录中运行,音频代码在运行时加载 bass.dll 或 fmod.dll,而不是链接仓库内提交的副本。README 称仓库除开源引擎外不含 PopCap 的任何 IP;Resources.cpp/.h 重建了游戏生成的资源 ID 表,属于从游戏导出的数据,这在此类项目中很常见。
  • 构建需要 CMake 3.16 及以上和 C++23。README 介绍了 Visual Studio Community(CMakeSettings.json 提供 x86 与 x64 的 MSVC 配置)或 CMake 搭配 Ninja 两种方式;toolchain.cmake 使用 x86_64-w64-mingw32 Clang 和 windres 交叉编译。所审构建产出 Windows 可执行文件,仓库没有 CI 工作流。
  • 来源未记录测试、CI 或与原版可执行文件的比较;贡献者会为逆向出的函数和类成员标注其 GOTY 版地址。与原游戏的一致程度未经衡量,本合集也未构建或运行任何内容。
  • LICENSE 以 CC0 1.0 释出仓库。SexyAppFramework 代码源自 PopCap 公开的引擎,但仓库未附 PopCap 的许可证文本;ogg 代码保留 Xiph.org 的 BSD 式声明,FMOD 3(Firelight,1999–2002)与 BASS 2.4(Un4seen,1999–2022)的 API 头文件仍归各自厂商所有。原版游戏及其文件仍受其权利人的条款约束。README 表示项目不纵容盗版;所审来源未确立 AI 或 REA 使用,也不主张运行复现。

关于此条目

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

来源复核于

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

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  2. CMakeLists.txt GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  3. SexyAppFramework/CMakeLists.txt GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  4. CMakeSettings.json GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  5. toolchain.cmake GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  6. LawnApp.cpp GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  7. Resources.cpp GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  8. SexyAppFramework/sound/BassLoader.cpp GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  9. SexyAppFramework/sound/fmod.h GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  10. SexyAppFramework/sound/bass.h GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  11. SexyAppFramework/ogg/COPYING GitHub · Patoke/re-plants-vs-zombies · 修订 c469203
  12. LICENSE GitHub · Patoke/re-plants-vs-zombies · 修订 c469203

同分区更多条目:游戏

游戏分区全部 231 项资源游戏案例(189)