DOOM64-RE · Erick194/DOOM64-RE
由 [GEC] 完成的 Doom 64 逆向工程源码,使用 C 语言;据 README 说明,需要安装 N64 SDK 进行编译,并建议在 Windows XP 或虚拟机中操作。目前仅兼容美版 Doom 64,编译前需借助 Tools 目录中的 Doom64Extractor,从原版 ROM 提取 WAD、...
DOOM64-RE 是开发者 [GEC] 对《Doom 64》进行的一次完整逆向工程,目标是把这款 N64 平台上的经典射击游戏还原为可重新编译的 C 语言源码。根据 README 的说明,这项工作前后历时约一年半,其中前期进展有限,作者从当年 6 月起重新从零开始,理论上用约 5 个月完成了整体重构。
需要强调的是,本仓库提供的是逆向所得的源码工程,而不是一个开箱即用的游戏发行版。它依赖原版 ROM 中的数据文件,并且需要特定的老式工具链才能编译出可运行的 N64 ROM。
README 给出了两条构建路线,分别面向 N64 SDK 与 iQue SDK。
doom64 文件夹复制到硬盘根目录 C:\。DOOM64.WAD、DOOM64.WMD、DOOM64.WSD、DOOM64.WDD。Tools 目录解压 Doom64Extractor.zip(含源码),编辑 ExtraerDatos.bat,把其中的 Doom 64 (Usa) .z64 替换为你自己的 ROM 文件名,ROM 必须是 z64 格式,然后执行该批处理,把提取出的数据复制到 Data 文件夹。n64 或 v64 格式,可用 Tools 中的 Tool64_v1.11.zip 转换为 z64。MAKE_ROM.bat,编译产物为 doom64.n64。doom64 文件夹复制到用户主目录。Tools 目录中按 dm64ex.cpp 内的说明编译 Doom64 Extractor,然后执行 ./dm64ex -i baserom.us.z64 提取数据(ROM 名仅为示例,格式须为 z64)。Data 文件夹,回到主目录执行 make PLATFORM=BB,产物 doom64.n64 可在 iQue 上运行。README 的 Notes 部分交代了几个实现细节:
WESSLIB.o,而不使用作者重建的代码。做法是在 wessarc.h 中去掉 //#define NOUSEWESSCODE 前的斜杠,使其变为 #define NOUSEWESSCODE;随后在 Makefile 中把 WESSLIB = #wesslib.o 改为 WESSLIB = wesslib.o,并把 ASMFILES = wessint_s.s 改为 ASMFILES = #wessint_s.s,再编译 ROM。README 的 News 列表记录了作者在原版基础上解锁或新增的若干选项:
本仓库更适合对 N64 平台开发、老式工具链以及游戏逆向工程感兴趣的读者:阅读时可先关注 Tools 中的数据提取流程,理解原版资源如何被拆解与重组;再结合 Makefile 与 wessarc.h 的开关,观察音频模块在“重建代码”与“复用原版库”之间的取舍。需要注意,README 未提供 Stars、实际构建结果或运行验证信息,编译环境又依赖 Windows XP / Red Hat Linux 9 等旧系统,实际复现前应做好环境准备与核验。
NBlood 是用 EDuke32 引擎技术与开发思路对 Build 引擎游戏所做的逆向工程移...
CatacombGL 是 Catacomb 3D 与 Catacomb 冒险三部曲(Abyss、Armageddon、Apo...
jfduke3d 是 JonoF 对 3D Realms《Duke Nukem 3D》的源码移植,基于其 Build...
Frogatto & Friends 是一款 2D 横版动作冒险游戏,主角是一只青蛙;开发团队...