Проект статической рекомпиляции Star Wars: Knights of the Old Republic добрался до первой рабочей версии
Разработчик под псевдонимом sp00nznet представил первую публичную версию проекта kotor-recomp под номером 0.1.0. Проект представляет собой статическую рекомпиляцию ролевой игры Star Wars: Knights of the Old Republic от студии BioWare 2003 года выпуска. Вместо создания фанатского движка с нуля программа берет оригинальный исполняемый файл swkotor.exe версии 1.03 из сервиса Steam и полностью переводит исходный машинный код в нативный язык C.
Для трансляции используется инструментарий pcrecomp. В отличие от фанатских движков вроде reone или xoreos, проект не пытается воспроизвести механику по догадкам, а исполняет оригинальный код разработчиков в новой сборке. На текущий момент утилиты деассемблировали 29 617 функций и перевели в нативный C свыше 4.2 млн строк без единой ошибки трансляции, попутно научившись снимать цифровую защиту SteamStub 2.x за доли секунды.
Главная задача рекомпиляции заключается в фундаментальном устранении технических проблем движка Odyssey на современных операционных системах и видеокартах. ПК-версия 2003 года печально известна сбоями физики при частоте обновления экрана выше 60 кадров в секунду, багами отображения травы, утраченным динамическим освещением и поломкой шейдеров. Прямой перенос в язык C позволяет исправить эти недостатки непосредственно в коде самого движка.
Смысл проекта заключается не просто в запуске, а в исправлении давних проблем движка на современных ПК непосредственно в собственном коде игры: нестабильной кадровой частоты, травы, утраченного освещения, шейдерных эффектов, широкоформатных экранов и роликов.
- Нед Хеллер, создатель проекта kotor-recomp
В сборке 0.1.0 проект уже достиг статуса рабочей альфа-версии. Игра запускает вступительные видеоролики, главное меню, экран генерации персонажа и вступительную главу на корабле Endar Spire. Тестовый запуск позволяет пройти стартовый диалог с напарником по имени Траск Ульго, взаимодействовать с инвентарем и свободно перемещаться по отсеку с активным пользовательским интерфейсом.
Важным техническим улучшением стала нативная поддержка современных геймпадов через стандарт XInput с перехватом команд DirectInput. Оригинальное издание для PC официально поддерживало только мышь и клавиатуру, тогда как рекомпиляция сразу транслирует отклонения аналоговых стиков, курки и кнопки контроллера в команды передвижения персонажа и управление виртуальным курсором.
Для исключения юридических претензий от компаний Disney и Lucasfilm исходный репозиторий не содержит файлов игры или защищенных авторским правом материалов. Для сборки требуется собственная лицензионная копия в Steam и среда Visual Studio 2022 с инструментами CMake и Ninja. Установщик KotOR-Recomp-Installer находит каталог с игрой, извлекает исполняемый файл и компилирует нативный клиент локально на устройстве пользователя.
В текущей сборке звук отключен по умолчанию до завершения отладки аудиодрайвера, а разработчик продолжает устранять сбои при переходе между локациями перед внедрением поддержки высоких разрешений и доработкой графики.