← На главную

Восстановили C-код F-15 Strike Eagle II — v0.9.1 ждет баг-репортов

20.06.2026 15:10 · hackernews

Проект по восстановлению исходного кода игры F-15 Strike Eagle II 1989 года из оригинальных бинарников неожиданно рванул вперёд. Ещё месяц назад казалось, что впереди годы муторной переписи ассемблера на C, а второй исполняемый файл (egame) только начинал обретать осмысленный вид, не говоря уже о третьем (end). Сейчас же весь C-код реконструирован для всех исполняемых файлов, все данные перенесены из ассемблера, функциональные замены на C готовы, большая часть процедур и структур данных получила осмысленные имена, и на горизонте уже форк репозитория для отдельного портирования.

Но у этого взрывного роста есть обратная сторона. Проект выходит из спокойной фазы, где достаточно было просто сверять реконструированные опкоды с оригиналом. Теперь нужно поддерживать работающую игру. Инструменты следят, чтобы опкоды оставались верны оригиналу при изменениях, но не ловят все баги, особенно связанные с расположением данных в памяти.

Поэтому сообществу нужна помощь. Реконструкция F-15 Strike Eagle II открыта для лётчиков-испытателей. Текущий релиз — v0.9.1. Он должен работать с оригинальной версией 451.03 (с дополнением Desert Storm). Достаточно скопировать новые исполняемые файлы в папку с игрой, заменив оригиналы (предварительно сделав бэкап), и желательно удалить оригинальный f15.com, чтобы не запустился он вместо нового f15.exe. Игра не войдёт в экран настройки — она сразу включит режим MCGA/VGA без звука и джойстика. Всё остальное должно работать во всех трёх частях (брифинг, полёт и разбор полётов).

Если что-то не работает, проект ждёт баг-репорты: вылеты, графические глитчи, неработающие клавиши. К скриншоту (Ctrl+F5 в dosbox) и описанию действий до проблемы это поможет воспроизвести ошибку и исправить её.

Важно: это реконструкция «баг-за-баг». Любое поведение, присутствующее в оригинале, должно остаться как есть (пока что). Оригинал страдает от исчезновения 3D-объектов, падения самолёта к небу при перевороте без топлива и т.п. Перед репортом стоит убедиться, что проблема не встречается в оригинале — лучше держать копию оригинала для сравнения.

Читать оригинал →