このリポジトリには、GTA III (マスター ブランチ) と GTA VC (マイアミ ブランチ) の完全に反転されたソース コードが含まれています。
Windows、Linux、MacOS、FreeBSD、x86、amd64、arm、arm64 上でテストされ、動作します。
レンダリングは、オリジナルの RenderWare (D3D8) または再実装ライブラリ (D3D9、OpenGL 2.1 以降、OpenGL ES 2.0 以降) のいずれかによって処理されます。
オーディオは MSS (オリジナルの GTA の DLL を使用) または OpenAL で行われます。
このプロジェクトは Nintendo Switch、Playstation Vita、Nintendo Wii U にも移植されています。
PS2 や Xbox 向けにはまだ構築できません。ご興味がございましたら、お気軽にお問い合わせください。
オリジナルのゲームに多くの変更と改善を実装しました。これらはcore/config.h
で設定できます。それらの中には、実行時に切り替えることができるものとできないものがあります。
次のようなものがあると便利です。
アセットの変更 (モデル、テクスチャ、処理、スクリプトなど) は、ほとんどの場合、オリジナルの GTA と同じように機能するはずです。
CLEO スクリプトは CLEO Redux で動作します。
コードに変更を加える MOD (DLL/ASI、リミットアジャスター) は動作しません。これらの MOD の一部は re3 ですでに実装されています (SkyGFX、GInput、SilentPatch、ワイドスクリーン修正の多く)。その他は簡単に実現できます (制限の増加、 config.h
参照)。その他は単純に書き直してコードに統合する必要があります。直接。ご不便をおかけして申し訳ありません。
premake を使用する場合、ポストビルド スクリプトを介して実行可能ファイルを GTA3 ルート フォルダーに移動したい場合は、GTA_III_RE_DIR 環境変数を GTA3 ルート フォルダーに指定するとよいでしょう。
git clone --recursive https://github.com/halpz/re3.git
を使用してリポジトリのクローンを作成します。次に、複製されたリポジトリにcd re3
実行します。
premake を使用する Linux の場合は、「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
premake を使用する MacOS の場合は、「MacOS でのビルド」に進みます。
premake を使用した FreeBSD の場合は、FreeBSD でのビルドに進みます。
Visual Studio 2015/2017/2019 を使用していると仮定します。
premake-vsXXXX.cmd
バリアントの 1 つを実行します。Microsoft は最近、DX9 SDK のダウンロードを中止しました。アーカイブ バージョンはここからダウンロードできます: https://archive.org/details/dxsdk_jun10
Windows で OpenAL を選択する場合は、「Windows で OpenAL ビルドを実行する」を読む必要があります。
プロジェクトをリンク時間の最適化を使用してコンパイルする場合、premake には
--with-lto
オプションがあります。
config.h にはさまざまな設定があるので、そこを見てみるとよいでしょう。
re3 は完全に自作の RenderWare に代わるレンダリング エンジンを使用します。ライブラリー。 librw は re3 のサブモジュールとして提供されますが、LIBRW 環境変数を使用して独自の librw へのパスを指定することもできます。
必要に応じて、CodeWarrior 7 を使用して、提供されている codewarrior/re3.mcp プロジェクトを使用して re3 をコンパイルすることもできます。これには、オリジナルの RW33 ライブラリと DX8 SDK が必要です。ただし、このビルドは MSVC ビルドに比べて不安定であり、主に参照として機能することを目的としています。
Linux/クロスプラットフォーム スケルトン/互換性レイヤーでない限り、プリプロセッサ条件 (FIX_BUGS など) の背後にないリポジトリ上のすべてのコードは、元のバイナリから完全に逆になったコードです。
プリプロセッサ条件でラップされていない場合、または Linux/クロスプラットフォーム スケルトン/互換性レイヤーでない限り、カスタム コードは受け入れられません。
私たちは次の種類の PR のみを受け付けます。
コーディング スタイルに関する文書がありますが、それが十分に守られていない、または施行されていません。
C++11 以降の機能は使用しないでください。
re3 は 2018 年の春のある時点で、当初はゲーム内の逆衝突と物理コードをテストする方法として開始されました。これは、DLL を使用してゲームの単一機能を逆の対応物に置き換えることによって行われました。
少し作業した後、プロジェクトは約 1 年間休止していましたが、再び取り上げられ、2019 年 5 月に github にプッシュされました。当時、私 (aap) は約 10,000 行のコードをリバースしており、最終的なゲームには約 200 行あると見積もっていました。 250k。他の人たちもすぐにこの取り組みに参加してくれました (Fire_Head、shfil、erorcun、Nick007J が時間順に並び、Serge が少し遅れて参加しました)。私たちは 2019 年の夏を通じて非常に急速な進歩を遂げましたが、その後は少しペースが落ちました。
コロナパンデミックの始まりの間、全員が家にいたため、全員が再びre3に取り組むのに多くの時間を費やし、2020年4月についにスタンドアロンexeを入手しました(その時点で約18万行)。
最初の興奮とコードの修正と磨きをさらに進めた後、関数を dll に置き換えて最初から始めるのではなく、re3 コードから始めることで、2020 年 5 月初旬に reVC が開始されました。数か月間ほぼ順調に進捗した後、私たちは reVC が 12 月に終了したと考えました。
それ以来、私たちは reLCS を開始し、現在作業が進行中です。
私たちはこのコードにライセンスを与える立場にないと感じています。
コードは、教育、文書化、および改造の目的にのみ使用してください。
私たちは著作権侵害や商用利用を推奨しません。
派生作品をオープンソースのままにし、適切なクレジットを付与してください。