From 4ff01484c8bc4b9012d8bb64ffbd83025da49b43 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Fri, 17 Apr 2020 18:22:33 +0300 Subject: [PATCH 1/5] Update links --- README.md | 4 ++-- premake5.lua | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 540a8861..3b55e44c 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # re3 [![Build status](https://ci.appveyor.com/api/projects/status/hyiwgegks122h8jg?svg=true)](https://ci.appveyor.com/project/aap/re3/branch/master) - - + + ## Intro diff --git a/premake5.lua b/premake5.lua index 586996f8..e5db2dd0 100644 --- a/premake5.lua +++ b/premake5.lua @@ -55,7 +55,6 @@ workspace "re3" files { "src/fakerw/*.*" } includedirs { "src/fakerw" } includedirs { "librw" } - includedirs { "librw/src" } libdirs { path.join("librw", "lib/win-x86-d3d9/%{cfg.buildcfg}") } links { "rw", "d3d9" } filter {} From ac26d9cddaa31004ea0a2f1449830b25031ecdef Mon Sep 17 00:00:00 2001 From: erorcun Date: Fri, 17 Apr 2020 18:30:59 +0300 Subject: [PATCH 2/5] Update README.md --- README.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 3b55e44c..45bed219 100644 --- a/README.md +++ b/README.md @@ -12,23 +12,18 @@ such that we have a working game at all times. ## How can I try it? -- re3 requires game assets to work, so you need to own a copy of GTA III. -- Since re3 is a DLL that works with original GTA III for now, you need Simple DLL Loader. You can get it [here](https://github.com/aap/simpledllloader). +- re3 requires game assets to work, so you **must** own a copy of GTA III. - Build re3 or download it from one of the above links (Debug or Release). -- Make sure you included the re3 in `plugins.cfg` or `dlls.cfg`. +- (Optional) If you want to use optional features like Russian language or menu map, copy the files in /gamefiles folder to your game root folder. +- Move re3.exe to GTA 3 directory and run it. -![#ffa500](https://placehold.it/15/ffa500/000000?text=+) **Notice if you will build it** +> :information_source: **Rendering engine** re3 uses completely homebrew RenderWare-replacement rendering engine; [librw](https://github.com/aap/librw/). librw comes as submodule of re3, but you also can use LIBRW enviorenment variable to specify path to your own librw. -There are various settings at the very bottom of `config.h`, you may want to take a look there. i.e. FIX_BUGS define fixes the bugs we've come across. +> :warning: **Notice for builders** There are various settings at the very bottom of `config.h`, you may want to take a look there. i.e. FIX_BUGS define fixes the bugs we've come across. https://github.com/GTAmodding/re3/tree/master/src/core/config.h -## I want to contribute, where should I start? - -A good approach is to start at the fringes of the code base, -i.e. classes that don't depend on code that we don't have reversed yet. -If a function uses only few unreversed functions that would be inconvenient -to reverse at the time, calling the original functions is acceptable. +## Contributing ### Unreversed / incomplete classes (at least the ones we know) The following classes have only unused or practically unused code left: @@ -150,4 +145,5 @@ Here you can find a list of variables that you might need to set in windows: ``` "GTA_III_RE_DIR" * path to "gta3_re" game folder usually where this plugin run. "GTA_III_DIR" * path to "GTAIII" game folder. +"LIBRW" * path to LIBRW. ``` From 64cf568691a9bbf124165e666f79645da1edd237 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Fri, 17 Apr 2020 18:46:01 +0300 Subject: [PATCH 3/5] We don't need rw.cpp anymore --- src/rw/rw.cpp | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 src/rw/rw.cpp diff --git a/src/rw/rw.cpp b/src/rw/rw.cpp deleted file mode 100644 index 09cd246e..00000000 --- a/src/rw/rw.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef LIBRW -#include "common.h" - -#include "rwcore.h" -#include "rpworld.h" -#include "rpmatfx.h" -#include "rpskin.h" -#include "rphanim.h" -#include "rtbmp.h" - -typedef RwV3d *(*rwVectorsMultFn) (RwV3d * pointsOut, - const RwV3d * pointsIn, - RwInt32 numPoints, - const RwMatrix * matrix); - -#ifndef RWLIBS - -#else - -extern "C" -{ - void* _rwFrameOpen(void* instance, RwInt32 offset, RwInt32 size); - void* _rwFrameClose(void* instance, RwInt32 offset, RwInt32 size); - RwFrame* _rwFrameCloneAndLinkClones(RwFrame* root); - RwFrame* _rwFramePurgeClone(RwFrame* root); - RwBool RwFrameDirty(RwFrame const* frame); - void _rwFrameInit(RwFrame* frame); - RwBool _rwMatrixSetMultFn(rwMatrixMultFn multMat); - void* _rwMatrixClose(void* instance, RwInt32 offset, RwInt32 size); - void* _rwMatrixOpen(void* instance, RwInt32 offset, RwInt32 size); - RwBool _rwVectorSetMultFn(rwVectorMultFn multPoint, rwVectorsMultFn multPoints, rwVectorMultFn multVector, rwVectorsMultFn multVectors); - void* _rwVectorClose(void* instance, RwInt32 offset, RwInt32 size); - void* _rwVectorOpen(void* instance, RwInt32 offset, RwInt32 size); - RwBool _rwPluginRegistryOpen(); - RwBool _rwPluginRegistryClose(); - - RwInt32 _rwD3D8FindCorrectRasterFormat(RwRasterType type, RwInt32 flags); -} -#endif -#endif \ No newline at end of file From 6822cc5de85ffc393d7bf89c2b83fe980935d240 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Fri, 17 Apr 2020 19:22:29 +0300 Subject: [PATCH 4/5] Use LIBRW env var it it's set --- premake5.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/premake5.lua b/premake5.lua index e5db2dd0..65443714 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,4 +1,4 @@ -Librw = os.getenv("LIBRW") +Librw = os.getenv("LIBRW") or "librw" workspace "re3" configurations { "Debug", "Release", "ReleaseFH", "DebugRW", "ReleaseRW" } @@ -54,8 +54,8 @@ workspace "re3" filter "configurations:Debug or Release" files { "src/fakerw/*.*" } includedirs { "src/fakerw" } - includedirs { "librw" } - libdirs { path.join("librw", "lib/win-x86-d3d9/%{cfg.buildcfg}") } + includedirs { Librw } + libdirs { path.join(Librw, "lib/win-x86-d3d9/%{cfg.buildcfg}") } links { "rw", "d3d9" } filter {} From 5922a9b88d58a81cef4c8ccb9652786b7b904e68 Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Fri, 17 Apr 2020 19:46:17 +0300 Subject: [PATCH 5/5] premake fixes --- premake5.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/premake5.lua b/premake5.lua index 65443714..c427211a 100644 --- a/premake5.lua +++ b/premake5.lua @@ -106,31 +106,33 @@ project "re3" defines { "DEBUG", "LIBRW", "RW_D3D9" } staticruntime "off" symbols "Full" - setpaths("$(GTA_III_RE_DIR)/", "re3.exe", "") + setpaths("$(GTA_III_RE_DIR)/", "$(TargetFileName)", "") filter "configurations:Release" defines { "NDEBUG", "LIBRW", "RW_D3D9" } optimize "On" staticruntime "off" symbols "Full" - setpaths("$(GTA_III_RE_DIR)/", "re3.exe", "") + setpaths("$(GTA_III_RE_DIR)/", "$(TargetFileName)", "") filter "configurations:ReleaseFH" defines { "NDEBUG" } symbols "Full" optimize "off" staticruntime "on" - setpaths("$(GTA_III_RE_DIR)/", "re3.exe", "") + setpaths("$(GTA_III_RE_DIR)/", "$(TargetFileName)", "") filter "configurations:DebugRW" defines { "DEBUG" } staticruntime "on" symbols "On" - setpaths("$(GTA_III_RE_DIR)/", "re3.exe", "") + setpaths("$(GTA_III_RE_DIR)/", "$(TargetFileName)", "") + linkoptions "/SECTION:_rwcseg,ER!W /MERGE:_rwcseg=.text" filter "configurations:ReleaseRW" defines { "NDEBUG" } optimize "On" staticruntime "on" - setpaths("$(GTA_III_RE_DIR)/", "re3.exe", "") + setpaths("$(GTA_III_RE_DIR)/", "$(TargetFileName)", "") + linkoptions "/SECTION:_rwcseg,ER!W /MERGE:_rwcseg=.text"