MechCommander Gold получила нативный порт на ПК благодаря статической рекомпиляции
Энтузиаст Нед Хеллер представил альфа-версию mcg-recomp — статическую рекомпиляцию MechCommander Gold, позволяющую запускать игру на современных 64-битных системах Windows без эмуляторов.

Энтузиаст Нед Хеллер под псевдонимом sp00nznet выпустил первую альфа-версию проекта mcg-recomp — статическую рекомпиляцию культовой тактической стратегии в реальном времени MechCommander Gold, изданной в 1998 и 1999 годах студиями FASA Interactive и MicroProse. Проект переводит оригинальный исполняемый файл MCX. EXE в нативный код на языке C, что позволяет запускать игру на современных системах под управлением 64-битных Windows 10 и Windows 11 без необходимости использовать виртуальные машины или сторонние эмуляторы.
Как проходила рекомпиляция
В основу проекта лёг инструментарий pcrecomp, созданный для анализа и трансляции старых бинарных файлов. Успеху реверс-инжиниринга помогло необычное обстоятельство: релизная версия игры 1999 года поставлялась вместе с неудалённой отладочной информацией формата CodeView. Благодаря этому энтузиаст извлёк 12 614 открытых символов с именами классов C++, что позволило точно восстановить 5 760 функций и покрыть 98, 7% секции исполняемого кода стратегии.
Вместе с дополнительными алгоритмами поиска зависимостей транслятор обработал 6 065 функций и сгенерировал более 1, 56 млн строк исходного кода на C без единой ошибки переноса. Все 204 системных вызова Win32 связываются напрямую с платформой хоста, а устаревшие интерфейсы DirectDraw, DirectSound и DirectPlay эмулируются в виде программных объектов в оперативной памяти. Первый релиз запускается, открывает меню и позволяет полностью пройти первую миссию кампании вплоть до дебрифинга, — отмечает Нед Хеллер, автор проекта mcg-recomp.
В дебютной версии под номером 0. 1. 0 можно полноценно начать кампанию, пройти инструктаж, распределить роботов по боевым группам и завершить стартовую миссию. В процессе вылазки стабильно обрабатываются команды перемещения, атака противников, уничтожение техники и зданий вражеских баз, а по завершении сражения корректно работает экран с трофеями и начислением опыта пилотам.
Рекомпиляция также принесла технические улучшения, необходимые для комфортной игры на современных мониторах. В проект встроен собственный декодер видеороликов формата Smacker, добавлены оконный режим без рамок и поддержка разрешений экрана вплоть до 3840x2160 пикселей. Высокое разрешение значительно расширяет угол обзора на поле боя, сохраняя при этом корректные пропорции интерфейса.
Проект распространяется по открытой лицензии MIT и не нарушает авторские права: в репозитории отсутствуют защищённые файлы игры, текстуры и ролики. Для сборки требуется оригинальная копия MechCommander Gold на физическом диске или в виде виртуального образа. Автоматический установщик самостоятельно проверяет наличие Python и компилятора Visual Studio 2022, после чего собирает готовый исполняемый файл прямо на компьютере пользователя.




Обсуждение
Войдите, чтобы присоединиться к обсуждению.
Загружаем обсуждение…