返回

文章详情

DOS游戏《F-15突击鹰II》反向工程项目需要DOS测试飞行员

Hacker News2026年6月20日 15:10

(这篇文章是我爱好的项目系列的一部分,目的是通过反向工程原始二进制文件,重建1989年游戏《F-15突击鹰II》的C源代码。) 我必须承认,目前项目的进展速度有些令人不知所措。一个多月前,看起来我们还有好几年的时间需要将汇编代码繁琐地重写成C,才能让第二个游戏可执行文件(egame)开始看起来像个样子,而第三个(end)则还要等着享受甜点。与此同时,截止到写这篇文章时,所有可执行文件的C代码已经重建完成,所有数据已从汇编搬移到C,大部分仅有汇编的代码已在C中有了可运行的替代,绝大多数例程和数据结构都有了有意义的名称,我们正考虑在不久的将来分叉出一个移植项目。然而,这种急剧的完整性和能力的增长也意味着,我们正在放弃相对平静的阶段,仅仅观察重建的操作码是否匹配,而实际上我们需要维持一个可以运行的游戏。工具确保操作码在我们继续更改时依然忠实于原始版本,但它无法捕捉到所有错误,特别是数据布局相关的错误。需要测试飞行员 鉴于社区的参与使项目得以蓬勃发展,我希望我们能再寻求一点帮助。《F-15突击鹰II》的重建现在已经开放,准备好让测试飞行员们飞向数字天空,找出我们可能遗漏的任何错误。目前,最新发布版本是v0.9.1,它应与原游戏的451.03版本及沙漠风暴扩展包一起使用 - 只需将可执行文件放入游戏文件夹中,替换原来的文件(提前备份),可以去掉原来的f15.com,以确保不会在新f15.exe启动时被调用,然后起飞。它将不会进入设置画面,而是默认假设为MCGA/VGA显示,无声且没有操纵杆。但游戏的三个部分(任务简报、飞行和解密)中的其他所有内容都应可以正常工作。如果有任何问题,我们将非常感激能够收到故障报告。我们正在寻找崩溃、图形故障、按键不工作等情况。如果有必要,请考虑附上截图(在dosbox中按Ctrl+F5)。在出现问题之前的操作描述将对我们重现问题以及开发修复方案有帮助。重要的是要注意,这是一个逐对逐类的重建,因此原版游戏中所存在的任何行为也需要保持不变(暂时)。原版在3D对象消失、飞机在倒置时掉向天空以及燃油耗尽等方面存在一些问题。因此在报告问题之前,最好确保它在原版中没有发生,所以保留一份原版的副本供参考可能是个好主意。感谢每一个决定提供帮助的人,感谢到目前为止为项目做出贡献的每一个人,使其达到了这个里程碑。我期待着下一个里程碑,并很高兴你们能和我一起同行。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡