Dalam repositori ini Anda akan menemukan kode sumber yang sepenuhnya dibalik untuk GTA III (cabang master) dan GTA VC (cabang miami).
Ini telah diuji dan berfungsi pada Windows, Linux, MacOS dan FreeBSD, pada x86, amd64, arm dan arm64.
Rendering ditangani oleh RenderWare asli (D3D8) atau perpustakaan implementasi ulang (D3D9, OpenGL 2.1 atau lebih tinggi, OpenGL ES 2.0 atau lebih tinggi).
Audio dilakukan dengan MSS (menggunakan dll dari GTA asli) atau OpenAL.
Proyek ini juga telah di-porting ke Nintendo Switch, Playstation Vita, dan Nintendo Wii U.
Kami belum bisa membuat untuk PS2 atau Xbox. Jika Anda tertarik melakukannya, hubungi kami.
Kami telah menerapkan sejumlah perubahan dan peningkatan pada game aslinya. Mereka dapat dikonfigurasi di core/config.h
. Beberapa di antaranya dapat diubah saat runtime, beberapa lainnya tidak.
Hal-hal berikut ini sebaiknya dimiliki/dilakukan:
Modifikasi aset (model, tekstur, penanganan, skrip, ...) pada umumnya harus bekerja dengan cara yang sama seperti GTA asli.
Skrip CLEO berfungsi dengan CLEO Redux.
Mod yang melakukan perubahan pada kode (dll/asi, pengatur batas) tidak akan berfungsi. Beberapa hal yang dilakukan mod ini sudah diterapkan di re3 (sebagian besar SkyGFX, GInput, SilentPatch, perbaikan Layar Lebar), yang lain dapat dengan mudah dicapai (menambah batas, lihat config.h
), yang lain hanya perlu ditulis ulang dan diintegrasikan ke dalam kode secara langsung. Maaf atas ketidaknyamanan ini.
Saat menggunakan premake, Anda mungkin ingin mengarahkan variabel lingkungan GTA_III_RE_DIR ke folder root GTA3 jika Anda ingin executable dipindahkan ke sana melalui skrip pasca-pembuatan.
Kloning repositori dengan git clone --recursive https://github.com/halpz/re3.git
. Kemudian cd re3
ke dalam repositori kloning.
Untuk Linux yang menggunakan premake, lanjutkan: Membangun di Linux
Instal python dan conan, lalu jalankan build.
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
Untuk MacOS yang menggunakan premake, lanjutkan: Membangun di MacOS
Untuk FreeBSD yang menggunakan premake, lanjutkan: Membangun di FreeBSD
Dengan asumsi Anda memiliki Visual Studio 2015/2017/2019:
premake-vsXXXX.cmd
di folder root.Microsoft baru-baru ini menghentikan pengunduhan DX9 SDK. Anda dapat mengunduh versi yang diarsipkan di sini: https://archive.org/details/dxsdk_jun10
Jika Anda memilih OpenAL di Windows Anda harus membaca Menjalankan OpenAL build di Windows.
premake memiliki opsi
--with-lto
jika Anda ingin proyek dikompilasi dengan Link Time Optimization.
Ada berbagai pengaturan di config.h, Anda mungkin ingin melihatnya di sana.
re3 menggunakan mesin rendering pengganti RenderWare yang sepenuhnya buatan sendiri; perpustakaan. librw hadir sebagai submodul dari re3, tetapi Anda juga dapat menggunakan variabel lingkungan LIBRW untuk menentukan jalur ke librw Anda sendiri.
Jika Anda merasa perlu, Anda juga dapat menggunakan CodeWarrior 7 untuk mengkompilasi re3 menggunakan proyek codewarrior/re3.mcp yang disediakan - ini memerlukan perpustakaan RW33 asli, dan DX8 SDK. Build ini tidak stabil dibandingkan dengan build MSVC, dan sebagian besar dimaksudkan sebagai referensi.
Selama itu bukan lapisan kompatibilitas/kerangka lintas platform/linux, semua kode pada repo yang tidak berada di belakang kondisi praprosesor (seperti FIX_BUGS) adalah kode yang sepenuhnya terbalik dari biner asli.
Kami tidak menerima kode khusus, selama kode tersebut tidak dibungkus melalui kondisi praprosesor, atau lapisan kompatibilitas/kerangka linux/lintas platform.
Kami hanya menerima PR seperti ini;
Kami memiliki dokumen Gaya Pengkodean yang tidak diikuti atau diterapkan dengan baik.
Jangan gunakan fitur dari C++11 atau lebih baru.
re3 dimulai sekitar musim semi tahun 2018, awalnya sebagai cara untuk menguji tabrakan terbalik dan kode fisika di dalam game. Hal ini dilakukan dengan mengganti fungsi tunggal permainan dengan fungsi terbalik menggunakan dll.
Setelah sedikit pengerjaan, proyek ini tidak aktif selama sekitar satu tahun dan diambil kembali dan dimasukkan ke github pada Mei 2019. Pada saat itu saya (aap) telah membalikkan sekitar 10 ribu baris kode dan memperkirakan permainan terakhir memiliki sekitar 200- 250k. Yang lain dengan cepat bergabung dalam upaya ini (Fire_Head, shfil, erorcun dan Nick007J dalam urutan waktu, dan Serge sedikit kemudian) dan kami membuat kemajuan yang sangat cepat sepanjang musim panas 2019 setelah itu kecepatannya sedikit melambat.
Karena semua orang tinggal di rumah selama awal pandemi Corona, semua orang punya banyak waktu untuk mengerjakan re3 lagi dan kami akhirnya mendapatkan exe mandiri pada bulan April 2020 (sekitar 180 ribu baris saat itu).
Setelah kegembiraan awal dan perbaikan serta pemolesan kode lebih lanjut, reVC dimulai pada awal Mei 2020 dengan memulai dari kode re3, bukan memulai dari awal mengganti fungsi dengan dll. Setelah beberapa bulan mengalami kemajuan yang stabil, kami menganggap reVC selesai pada bulan Desember.
Sejak itu kami telah memulai reLCS, yang saat ini masih dalam proses.
Kami merasa tidak berada dalam posisi untuk memberikan lisensi pada kode ini.
Kode hanya boleh digunakan untuk tujuan pendidikan, dokumentasi, dan modding.
Kami tidak menganjurkan pembajakan atau penggunaan komersial.
Harap jaga agar karya turunan tetap open source dan berikan kredit yang sesuai.