В этом репозитории вы найдете полностью перевернутый исходный код GTA III (основная ветка) и GTA VC (ветка Майами).
Он протестирован и работает в Windows, Linux, MacOS и FreeBSD, на x86, amd64, Arm и Arm64.
Рендеринг осуществляется либо исходным RenderWare (D3D8), либо перереализацией librw (D3D9, OpenGL 2.1 или выше, OpenGL ES 2.0 или выше).
Звук делается с помощью MSS (с использованием dll из оригинальной GTA) или OpenAL.
Проект также был портирован на Nintendo Switch, Playstation Vita и Nintendo Wii U.
Мы пока не можем создать игру для PS2 или Xbox. Если вы заинтересованы в этом, свяжитесь с нами.
Мы внесли ряд изменений и улучшений в оригинальную игру. Их можно настроить в core/config.h
. Некоторые из них можно переключать во время выполнения, некоторые — нет.
Было бы неплохо иметь/сделать следующие вещи:
Модификации активов (модели, текстуры, обработка, скрипт и т. д.) по большей части должны работать так же, как и в оригинальной GTA.
CLEO-скрипты работают с CLEO Redux.
Моды, вносящие изменения в код (dll/asi, регуляторы лимитов) работать не будут. Некоторые вещи, которые делают эти моды, уже реализованы в re3 (большая часть исправлений SkyGFX, GInput, SilentPatch, Widescreen), других можно легко добиться (увеличение лимитов, см. config.h
), третьи просто придется переписать и интегрировать в код. напрямую. Приносим извинения за неудобства.
При использовании premake вы можете указать переменную среды GTA_III_RE_DIR на корневую папку GTA3, если вы хотите, чтобы исполняемый файл был перемещен туда с помощью сценария после сборки.
Клонируйте репозиторий с помощью git clone --recursive https://github.com/halpz/re3.git
. Затем cd re3
в клонированный репозиторий.
Для Linux, использующего premake, выполните следующие действия: Сборка на Linux.
Установите Python и Conan, а затем запустите сборку.
conan export vendor/librw librw/master@
mkdir build
cd build
conan install .. re3/master@ -if build -o re3:audio=openal -o librw:platform=gl3 -o librw:gl3_gfxlib=glfw --build missing -s re3:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo
conan build .. -if build -bf build -pf package
Для MacOS с использованием предварительной сборки выполните следующие действия: Сборка на MacOS
Для FreeBSD с использованием предварительной сборки выполните следующие действия: Сборка на основе FreeBSD.
Предполагая, что у вас Visual Studio 2015/2017/2019:
premake-vsXXXX.cmd
в корневой папке.Microsoft недавно прекратила загрузку DX9 SDK. Скачать архивную версию можно здесь: https://archive.org/details/dxsdk_jun10.
Если вы выбираете OpenAL в Windows, вам необходимо прочитать «Запуск сборки OpenAL в Windows».
В premake есть опция
--with-lto
, если вы хотите, чтобы проект был скомпилирован с оптимизацией времени компоновки.
В config.h есть различные настройки, возможно, вы захотите посмотреть там.
re3 использует полностью самодельный движок рендеринга, заменяющий RenderWare; библиотека. librw поставляется как подмодуль re3, но вы также можете использовать переменную среды LIBRW, чтобы указать путь к вашей собственной библиотеке librw.
Если вы чувствуете необходимость, вы также можете использовать CodeWarrior 7 для компиляции re3 с использованием прилагаемого проекта codewarrior/re3.mcp — для этого требуются оригинальные библиотеки RW33 и DX8 SDK. Однако эта сборка нестабильна по сравнению со сборками MSVC и в основном предназначена для использования в качестве справочного материала.
Пока это не Linux/кросс-платформенный скелет/уровень совместимости, весь код в репозитории, который не находится за условием препроцессора (например, FIX_BUGS), представляет собой полностью перевернутый код из исходных двоичных файлов.
Мы не принимаем пользовательские коды, если они не обернуты условиями препроцессора или не являются Linux/кроссплатформенным скелетом/уровнем совместимости.
Мы принимаем только такие PR;
У нас есть документ о стиле кодирования, который не очень хорошо соблюдается и не применяется.
Не используйте функции C++11 или более поздних версий.
re3 был запущен где-то весной 2018 года, первоначально как способ протестировать код обратных столкновений и физики внутри игры. Это было сделано путем замены отдельных функций игры их обратными аналогами с использованием dll.
После небольшой работы проект бездействовал около года, а затем был снова поднят и перенесен на github в мае 2019 года. В то время я (aap) перевернул около 10 тысяч строк кода и оценил, что в финальной игре будет около 200- 250 тыс. Другие быстро присоединились к усилиям (Fire_Head, shfil, erorcun и Nick007J по времени, а Serge чуть позже), и мы добились очень быстрого прогресса в течение лета 2019 года, после чего темп немного замедлился.
Поскольку в начале пандемии Короны все оставались дома, у всех было много времени, чтобы снова поработать над re3, и в апреле 2020 года мы наконец получили отдельный exe-файл (к тому времени около 180 тысяч строк).
После первоначального волнения, дальнейшего исправления и доработки кода, в начале мая 2020 года был запущен reVC, начав с кода re3, а не с нуля, заменяя функции dll. После нескольких месяцев в основном устойчивого прогресса мы считали, что reVC завершился в декабре.
С тех пор мы запустили reLCS, работа над которым в настоящее время продолжается.
Мы не считаем, что можем дать этому коду лицензию.
Код следует использовать только в образовательных, документальных целях и целях моддинга.
Мы не поощряем пиратство или коммерческое использование.
Пожалуйста, сохраняйте производную работу с открытым исходным кодом и отдавайте должное.