1
0
Fork 0
mirror of https://github.com/halpz/re3.git synced 2025-02-02 08:11:00 +00:00

Merge remote-tracking branch 'origin/miami' into lcs

# Conflicts:
#	README.md
#	premake5.lua
#	src/render/Particle.cpp
This commit is contained in:
Sergeanur 2021-06-26 14:27:54 +03:00
commit d4ba7c387b
8 changed files with 16123 additions and 31 deletions

1
.gitignore vendored
View file

@ -355,6 +355,7 @@ vendor/glfw-3.3.2.bin.WIN64/
sdk/ sdk/
codewarrior/reVC.mcp
codewarrior/reVC_Data/ codewarrior/reVC_Data/
codewarrior/Release/ codewarrior/Release/
codewarrior/Debug/ codewarrior/Debug/

Binary file not shown.

16066
codewarrior/reVC.mcp.xml Normal file

File diff suppressed because it is too large Load diff

View file

@ -27,6 +27,11 @@ newoption {
description = "Build with opus" description = "Build with opus"
} }
newoption {
trigger = "no-git-hash",
description = "Don't print git commit hash into binary"
}
newoption { newoption {
trigger = "lto", trigger = "lto",
description = "Use link time optimization" description = "Use link time optimization"
@ -103,7 +108,7 @@ workspace "reLCS"
"bsd-arm-librw_gl3_glfw-oal", "bsd-arm-librw_gl3_glfw-oal",
"bsd-arm64-librw_gl3_glfw-oal" "bsd-arm64-librw_gl3_glfw-oal"
} }
filter { "system:macosx" } filter { "system:macosx" }
platforms { platforms {
"macosx-arm64-librw_gl3_glfw-oal", "macosx-arm64-librw_gl3_glfw-oal",
@ -112,7 +117,7 @@ workspace "reLCS"
filter "configurations:Debug" filter "configurations:Debug"
defines { "DEBUG" } defines { "DEBUG" }
filter "configurations:not Debug" filter "configurations:not Debug"
defines { "NDEBUG" } defines { "NDEBUG" }
optimize "Speed" optimize "Speed"
@ -128,22 +133,22 @@ workspace "reLCS"
filter { "platforms:linux*" } filter { "platforms:linux*" }
system "linux" system "linux"
filter { "platforms:bsd*" } filter { "platforms:bsd*" }
system "bsd" system "bsd"
filter { "platforms:macosx*" } filter { "platforms:macosx*" }
system "macosx" system "macosx"
filter { "platforms:*x86*" } filter { "platforms:*x86*" }
architecture "x86" architecture "x86"
filter { "platforms:*amd64*" } filter { "platforms:*amd64*" }
architecture "amd64" architecture "amd64"
filter { "platforms:*arm*" } filter { "platforms:*arm*" }
architecture "ARM" architecture "ARM"
filter { "platforms:macosx-arm64-*" } filter { "platforms:macosx-arm64-*" }
buildoptions { "-target", "arm64-apple-macos11", "-std=gnu++14" } buildoptions { "-target", "arm64-apple-macos11", "-std=gnu++14" }
@ -155,21 +160,21 @@ workspace "reLCS"
if(not _OPTIONS["with-librw"]) then if(not _OPTIONS["with-librw"]) then
libdirs { path.join(Librw, "lib/win-%{getarch(cfg.architecture)}-d3d9/%{cfg.buildcfg}") } libdirs { path.join(Librw, "lib/win-%{getarch(cfg.architecture)}-d3d9/%{cfg.buildcfg}") }
end end
filter "platforms:*librw_gl3_glfw*" filter "platforms:*librw_gl3_glfw*"
defines { "RW_GL3" } defines { "RW_GL3" }
if(not _OPTIONS["with-librw"]) then if(not _OPTIONS["with-librw"]) then
libdirs { path.join(Librw, "lib/%{getsys(cfg.system)}-%{getarch(cfg.architecture)}-gl3/%{cfg.buildcfg}") } libdirs { path.join(Librw, "lib/%{getsys(cfg.system)}-%{getarch(cfg.architecture)}-gl3/%{cfg.buildcfg}") }
end end
filter "platforms:*x86-librw_gl3_glfw*" filter "platforms:*x86-librw_gl3_glfw*"
includedirs { path.join(_OPTIONS["glfwdir32"], "include") } includedirs { path.join(_OPTIONS["glfwdir32"], "include") }
filter "platforms:*amd64-librw_gl3_glfw*" filter "platforms:*amd64-librw_gl3_glfw*"
includedirs { path.join(_OPTIONS["glfwdir64"], "include") } includedirs { path.join(_OPTIONS["glfwdir64"], "include") }
filter {} filter {}
function setpaths (gamepath, exepath) function setpaths (gamepath, exepath)
if (gamepath) then if (gamepath) then
postbuildcommands { postbuildcommands {
@ -193,7 +198,7 @@ project "librw"
files { path.join(Librw, "src/*.*") } files { path.join(Librw, "src/*.*") }
files { path.join(Librw, "src/*/*.*") } files { path.join(Librw, "src/*/*.*") }
files { path.join(Librw, "src/gl/*/*.*") } files { path.join(Librw, "src/gl/*/*.*") }
filter { "platforms:*x86*" } filter { "platforms:*x86*" }
architecture "x86" architecture "x86"
@ -218,7 +223,7 @@ project "librw"
filter "platforms:*gl3_glfw*" filter "platforms:*gl3_glfw*"
staticruntime "off" staticruntime "off"
filter "platforms:*RW34*" filter "platforms:*RW34*"
flags { "ExcludeFromBuild" } flags { "ExcludeFromBuild" }
filter {} filter {}
@ -262,7 +267,11 @@ project "reLCS"
files { addSrcFiles("src/vehicles") } files { addSrcFiles("src/vehicles") }
files { addSrcFiles("src/weapons") } files { addSrcFiles("src/weapons") }
files { addSrcFiles("src/extras") } files { addSrcFiles("src/extras") }
files { "src/extras/GitSHA1.cpp" } -- this won't be in repo in first build if(not _OPTIONS["no-git-hash"]) then
files { "src/extras/GitSHA1.cpp" } -- this won't be in repo in first build
else
removefiles { "src/extras/GitSHA1.cpp" } -- but it will be everytime after
end
includedirs { "src" } includedirs { "src" }
includedirs { "src/animation" } includedirs { "src/animation" }
@ -289,7 +298,11 @@ project "reLCS"
includedirs { "src/vehicles" } includedirs { "src/vehicles" }
includedirs { "src/weapons" } includedirs { "src/weapons" }
includedirs { "src/extras" } includedirs { "src/extras" }
if(not _OPTIONS["no-git-hash"]) then
defines { "USE_OUR_VERSIONING" }
end
if _OPTIONS["with-opus"] then if _OPTIONS["with-opus"] then
includedirs { "vendor/ogg/include" } includedirs { "vendor/ogg/include" }
includedirs { "vendor/opus/include" } includedirs { "vendor/opus/include" }
@ -300,7 +313,7 @@ project "reLCS"
defines { "AUDIO_MSS" } defines { "AUDIO_MSS" }
includedirs { "vendor/milessdk/include" } includedirs { "vendor/milessdk/include" }
libdirs { "vendor/milessdk/lib" } libdirs { "vendor/milessdk/lib" }
if _OPTIONS["with-opus"] then if _OPTIONS["with-opus"] then
filter "platforms:win*" filter "platforms:win*"
libdirs { "vendor/ogg/win32/VS2015/Win32/%{cfg.buildcfg}" } libdirs { "vendor/ogg/win32/VS2015/Win32/%{cfg.buildcfg}" }
@ -309,7 +322,7 @@ project "reLCS"
filter {} filter {}
defines { "AUDIO_OPUS" } defines { "AUDIO_OPUS" }
end end
filter "platforms:*oal" filter "platforms:*oal"
defines { "AUDIO_OAL" } defines { "AUDIO_OAL" }
@ -317,7 +330,7 @@ project "reLCS"
if(os.getenv("GTA_LCS_RE_DIR")) then if(os.getenv("GTA_LCS_RE_DIR")) then
setpaths(os.getenv("GTA_LCS_RE_DIR") .. "/", "%(cfg.buildtarget.name)") setpaths(os.getenv("GTA_LCS_RE_DIR") .. "/", "%(cfg.buildtarget.name)")
end end
filter "platforms:win*" filter "platforms:win*"
files { addSrcFiles("src/skel/win") } files { addSrcFiles("src/skel/win") }
includedirs { "src/skel/win" } includedirs { "src/skel/win" }
@ -329,24 +342,28 @@ project "reLCS"
-- external librw is dynamic -- external librw is dynamic
staticruntime "on" staticruntime "on"
end end
prebuildcommands { '"%{prj.location}..\\printHash.bat" "%{prj.location}..\\src\\extras\\GitSHA1.cpp"' } if(not _OPTIONS["no-git-hash"]) then
prebuildcommands { '"%{prj.location}..\\printHash.bat" "%{prj.location}..\\src\\extras\\GitSHA1.cpp"' }
end
filter "platforms:not win*" filter "platforms:not win*"
prebuildcommands { '"%{prj.location}/../printHash.sh" "%{prj.location}/../src/extras/GitSHA1.cpp"' } if(not _OPTIONS["no-git-hash"]) then
prebuildcommands { '"%{prj.location}/../printHash.sh" "%{prj.location}/../src/extras/GitSHA1.cpp"' }
end
filter "platforms:win*glfw*" filter "platforms:win*glfw*"
staticruntime "off" staticruntime "off"
filter "platforms:win*oal" filter "platforms:win*oal"
includedirs { "vendor/openal-soft/include" } includedirs { "vendor/openal-soft/include" }
includedirs { "vendor/libsndfile/include" } includedirs { "vendor/libsndfile/include" }
includedirs { "vendor/mpg123/include" } includedirs { "vendor/mpg123/include" }
filter "platforms:win-x86*oal" filter "platforms:win-x86*oal"
libdirs { "vendor/mpg123/lib/Win32" } libdirs { "vendor/mpg123/lib/Win32" }
libdirs { "vendor/libsndfile/lib/Win32" } libdirs { "vendor/libsndfile/lib/Win32" }
libdirs { "vendor/openal-soft/libs/Win32" } libdirs { "vendor/openal-soft/libs/Win32" }
filter "platforms:win-amd64*oal" filter "platforms:win-amd64*oal"
libdirs { "vendor/mpg123/lib/Win64" } libdirs { "vendor/mpg123/lib/Win64" }
libdirs { "vendor/libsndfile/lib/Win64" } libdirs { "vendor/libsndfile/lib/Win64" }
@ -354,7 +371,7 @@ project "reLCS"
filter "platforms:linux*oal" filter "platforms:linux*oal"
links { "openal", "mpg123", "sndfile", "pthread", "X11" } links { "openal", "mpg123", "sndfile", "pthread", "X11" }
filter "platforms:bsd*oal" filter "platforms:bsd*oal"
links { "openal", "mpg123", "sndfile", "pthread", "X11" } links { "openal", "mpg123", "sndfile", "pthread", "X11" }
@ -362,7 +379,7 @@ project "reLCS"
links { "openal", "mpg123", "sndfile", "pthread" } links { "openal", "mpg123", "sndfile", "pthread" }
includedirs { "/usr/local/opt/openal-soft/include" } includedirs { "/usr/local/opt/openal-soft/include" }
libdirs { "/usr/local/opt/openal-soft/lib" } libdirs { "/usr/local/opt/openal-soft/lib" }
if _OPTIONS["with-opus"] then if _OPTIONS["with-opus"] then
filter {} filter {}
links { "libogg" } links { "libogg" }
@ -376,7 +393,7 @@ project "reLCS"
links { "rwcore", "rpworld", "rpmatfx", "rpskin", "rphanim", "rtbmp", "rtquat", "rtanim", "rtcharse", "rpanisot" } links { "rwcore", "rpworld", "rpmatfx", "rpskin", "rphanim", "rtbmp", "rtquat", "rtanim", "rtcharse", "rpanisot" }
defines { "RWLIBS" } defines { "RWLIBS" }
linkoptions "/SECTION:_rwcseg,ER!W /MERGE:_rwcseg=.text" linkoptions "/SECTION:_rwcseg,ER!W /MERGE:_rwcseg=.text"
filter "platforms:*librw*" filter "platforms:*librw*"
defines { "LIBRW" } defines { "LIBRW" }
files { addSrcFiles("src/fakerw") } files { addSrcFiles("src/fakerw") }
@ -390,22 +407,22 @@ project "reLCS"
filter "platforms:*d3d9*" filter "platforms:*d3d9*"
defines { "USE_D3D9" } defines { "USE_D3D9" }
links { "d3d9" } links { "d3d9" }
filter "platforms:*x86*d3d*" filter "platforms:*x86*d3d*"
includedirs { "sdk/dx8sdk/include" } includedirs { "sdk/dx8sdk/include" }
libdirs { "sdk/dx8sdk/lib" } libdirs { "sdk/dx8sdk/lib" }
filter "platforms:win-x86*gl3_glfw*" filter "platforms:win-x86*gl3_glfw*"
libdirs { path.join(_OPTIONS["glfwdir32"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) } libdirs { path.join(_OPTIONS["glfwdir32"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) }
links { "opengl32", "glfw3" } links { "opengl32", "glfw3" }
filter "platforms:win-amd64*gl3_glfw*" filter "platforms:win-amd64*gl3_glfw*"
libdirs { path.join(_OPTIONS["glfwdir64"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) } libdirs { path.join(_OPTIONS["glfwdir64"], "lib-" .. string.gsub(_ACTION or '', "vs", "vc")) }
links { "opengl32", "glfw3" } links { "opengl32", "glfw3" }
filter "platforms:linux*gl3_glfw*" filter "platforms:linux*gl3_glfw*"
links { "GL", "glfw" } links { "GL", "glfw" }
filter "platforms:bsd*gl3_glfw*" filter "platforms:bsd*gl3_glfw*"
links { "GL", "glfw", "sysinfo" } links { "GL", "glfw", "sysinfo" }
includedirs { "/usr/local/include" } includedirs { "/usr/local/include" }

View file

@ -50,6 +50,7 @@ if(LIBRW_PLATFORM_D3D9)
endif() endif()
target_compile_definitions(${EXECUTABLE} PRIVATE CMAKE_BUILD) target_compile_definitions(${EXECUTABLE} PRIVATE CMAKE_BUILD)
target_compile_definitions(${EXECUTABLE} PRIVATE USE_OUR_VERSIONING)
if(${PROJECT}_AUDIO STREQUAL "OAL") if(${PROJECT}_AUDIO STREQUAL "OAL")
find_package(OpenAL REQUIRED) find_package(OpenAL REQUIRED)

View file

@ -2919,9 +2919,15 @@ CMenuManager::InitialiseChangedLanguageSettings()
{ {
if (m_bFrontEnd_ReloadObrTxtGxt) { if (m_bFrontEnd_ReloadObrTxtGxt) {
m_bFrontEnd_ReloadObrTxtGxt = false; m_bFrontEnd_ReloadObrTxtGxt = false;
#ifdef FIX_BUGS
if (gGameState > GS_INIT_ONCE)
#endif
CTimer::Stop(); CTimer::Stop();
TheText.Unload(); TheText.Unload();
TheText.Load(); TheText.Load();
#ifdef FIX_BUGS
if (gGameState > GS_INIT_ONCE)
#endif
CTimer::Update(); CTimer::Update();
CGame::frenchGame = false; CGame::frenchGame = false;
CGame::germanGame = false; CGame::germanGame = false;

View file

@ -195,7 +195,8 @@ enum Config {
#define DRAW_GAME_VERSION_TEXT #define DRAW_GAME_VERSION_TEXT
#ifdef DRAW_GAME_VERSION_TEXT #ifdef DRAW_GAME_VERSION_TEXT
// unlike R* development builds, ours has runtime switch on debug menu & .ini, and disabled as default. // unlike R* development builds, ours has runtime switch on debug menu & .ini, and disabled as default.
#define USE_OUR_VERSIONING // If you disable this then game will fetch version from peds.col, as R* did while in development // If you disable this then game will fetch version from peds.col, as R* did while in development.
//#define USE_OUR_VERSIONING // enabled from buildfiles by default
#endif #endif
// Memory allocation and compression // Memory allocation and compression

View file

@ -387,7 +387,7 @@ DoRWStuffEndOfFrame(void)
} }
#else #else
if (CPad::GetPad(1)->GetLeftShockJustDown() || CPad::GetPad(0)->GetFJustDown(11)) { if (CPad::GetPad(1)->GetLeftShockJustDown() || CPad::GetPad(0)->GetFJustDown(11)) {
sprintf(s, "screen_%11lld.png", time(nil)); sprintf(s, "screen_0%11lld.png", time(nil));
RwGrabScreen(Scene.camera, s); RwGrabScreen(Scene.camera, s);
} }
#endif #endif