开发者生态
evening
DOS游戏《F-15攻击鹰II》逆向项目需要DOS试飞员
2026-06-20
1 阅读
LowLevelMahn
(这篇文章是我的业余爱好项目系列的一部分,该项目是通过对原始二进制文件进行逆向工程来重新创建 1989 年游戏 F-15 Strike Eagle II 的 C 源代码。)我必须承认该项目目前的进展速度是惊人的。一个多月前,在第二个游戏可执行文件( egame )开始看起来像什么之前,我们似乎又花了几年的时间将汇编代码辛苦地重写为 C 语言,而第三个游戏可执行文件( end )仍然要吃甜点。同时,截至撰写本文时,所有可执行文件的所有 C 代码都已重构,所有数据已从汇编语言移至 C 语言,大多数仅汇编代码都有用 C 编写的功能替换,大多数例程和数据结构已分配有意义的名称,并且我们正在考虑在不久的将来为移植项目分叉存储库。然而,完整性和功能的爆炸性增长也意味着我们正在放弃仅查看重建的操作码是否匹配的相对和平的领域,我们实际上需要维持一个正在运行的游戏。该工具可确保操作码在我们继续进行更改时保持原始状态,但它无法捕获所有错误,尤其是与数据布局有关的错误。需要测试飞行员 看到社区参与如何使该项目蓬勃发展,我希望我们可以寻求更多帮助。 F-15 Strike Eagle 2 重建现已开放,可供试飞员飞上数字天空并发现我们可能错过的任何错误。目前,最新版本是 v0.9.1,它应该可以与原始游戏的 451.03 版本和沙漠风暴扩展包一起使用 - 只需将可执行文件放入游戏文件夹中替换原始文件(事先做好备份),可能会删除原始的 f15.com 以确保它不会代替新的 f15.exe 启动,然后启动。它不会进入设置屏幕,而是假设 MCGA/VGA 显示屏没有声音且没有操纵杆。但其他一切都应该在游戏的所有 3 个部分(任务简报、飞行和汇报)中发挥作用。如果有任何问题,我们将不胜感激错误报告。我们正在寻找崩溃、图形故障、按键不起作用等问题。如果有用,请考虑附加屏幕截图(在 dosbox 中按 Ctrl+F5)。对问题发生之前所做操作的描述将有助于我们重现问题并希望开发解决方案。值得注意的是,这是一个逐个错误的重建,因此原始游戏中存在的任何行为都需要保持原样(目前)。原版存在一些问题,如 3D 物体消失、飞机倒转时坠落到天空以及燃油耗尽等。因此,在报告问题之前,最好确保原版中不会出现这种情况,因此保留一份副本以供参考可能是一个好主意。感谢所有决定提供帮助的人,感谢迄今为止为该项目做出贡献的所有人,使该项目达到了这一里程碑。我期待着下一个,我很高兴你们都一路同行。