
История развития: первые шаги в портировании
В марте прошлого года сообщество энтузиастов выпустило фанатский порт Sonic Unleashed для ПК, одновременно открыв доступ к инструментарию для переноса игр. За прошедшее время список успешно портированных проектов пополнился Sonic 06. Сейчас основные усилия моддеров сосредоточены на запуске легендарной Fable II, однако работа продвигается медленно из-за чрезвычайно сложной и запутанной архитектуры исходного кода.
Ознакомиться с исходным кодом инструментария можно в репозитории: https://github.com/rexglue/rexglue-sdk/
Новый технологический этап
Что послужило катализатором для нового витка в сфере статической рекомпиляции? Ключевым фактором стало появление RexGlue. В отличие от своего предшественника, XenonRecomp, этот проект предлагает более универсальные алгоритмы и способен в автоматическом режиме генерировать TOML-таблицы функций. Благодаря этому технологическому скачку успешно стартовала разработка ReBlue.
Как внести свой вклад в развитие
На текущем этапе проект остро нуждается в бета-тестерах. Вы можете оказать существенную помощь сообществу, даже не обладая глубокими знаниями языка C++. Алгоритм действий прост:
- Сделайте дамп своего лицензионного диска для Xbox 360.
- Проверьте полученный
.xexфайл с помощью утилитыrexglue.exe. - Зафиксируйте все обнаруженные нереализованные функции.
В логах это выглядит следующим образом:
[warning] [codegen] [t3436] Unimplemented: stfsux at 0x88DC2DA0
В случаях, когда рекомпилятор не может распознать определенные функции автоматически, необходимо вручную добавить соответствующие «заглушки» в конфигурационный файл .toml:
[functions]
0x88520B60 = { name = "sub_88520B60" }
Подробное руководство по сборке готового исполняемого файла (.exe) из полученных исходников будет опубликовано в следующей части материала.


