GTA3 в Linux на базі рушія re3
В збірці використовуватиметься моя консервація форку github.com/robante15/re3 що містить накати до Haiku OS, але головне - в ньому присутні офіційні коміти GTAmodding, до яких ми згодом переключимось:
- замість `rad`, можна забрати командою `git` з HTTP проксі Radicle типу Iris, Rosa і т.д. (або просто з GitHub, якщо цей репозиторій буде до тих пір доступним)
Тепер варто перемкнутись на останній валідний коміт `GTAmodding/re3` і проініціювати git-залежності:
- залежності в Radicle я не перетягував, бо їм наче зникнення не загрожує
Далі, офіційна інструкція пропонує нам збірку з використанням включеного до репозиторію файла:
https://github.com/robante15/re3/blob/master/premake5Linux
На мою скромну думку, це небезпечна діч, тому я забрав його з оф. сайту, хоча ви можете зібратись окремо:
https://premake.github.io/download
Для архітектури x86/x86_64 виконуємо:
У разі помилок системних залежностей, на Fedora вони в мене такі:
Результат збірки буде доступний за локацією `re3/bin/linux-amd64-librw_gl3_glfw-oal/Debug/re3`. Цей файл потрібно скопіювати до кореня з ігровими наборами GTA3; скопіювати вміст `re3/gamefiles` туди само (змерживши співпадіння файлів)
Українська локалізація
Я використовую українську локалізацію від Andrulko:
https://kuli.com.ua/grand-theft-auto-iii
Видобути файли:
Локалізовані ігрові набори також доступні торентом:
DHT: 725b0bb257ef614117c59f6a1e80142beed3c014
Технічно, мову можна вказати у файлі `re3.ini`, директива `Language=X`, де `X` - значення від `0` до кількості мов у меню. Української там немає, тому файл `TEXT/ukrainian.gxt` копіюю з перезаписом `TEXT/american.gxt` (тобто `Language=0`), при цьому важливо додати файл шрифтів `models/ua_fonts.txd` на місце `models/fonts.txd`.
- Після зміни мови простим копіюванням файлів, у мене заглючили кнопки бігу. Вирішив це зміною налаштувань клавіатури в ігровому меню зі "стандартного" на "класичний" і назад. Це якось перемкнуло залежності і все почало працювати.
Запуск
В CLI пускаю з тієї ж теки (cd /path/to/game) інакше буде помилка Segmentation fault. Для десктоп, оскільки принципово більше не користуюсь Flatpak, закинув мутні асети до якої-не-якої пісочниці (useradd -m sandbox) і створив там лаунчер:
- файл `gta3.png` згенерував в GIMP з `Icons/gta3.ico`
В цілому, різниця з openrw - небо і земля, насолоджуйтесь!
Посилання
https://github.com/robante15/re3/wiki/Building-on-Linux
https://github.com/premake/premake-core/blob/master/BUILD.txt
Дивіться також
Запустив GTA3 в Linux на базі рушія openrw