Merge remote-tracking branch 'upstream/lcs' into lcs

This commit is contained in:
Nikolay Korolev 2021-06-26 14:34:52 +03:00
commit 636f67ca3f
11 changed files with 16126 additions and 34 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"
@ -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" }
@ -290,6 +299,10 @@ project "reLCS"
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" }
@ -329,10 +342,14 @@ 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"

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

@ -2140,7 +2140,7 @@ void CStoredCar::StoreCar(CVehicle* pVehicle)
m_nModelIndex = pVehicle->GetModelIndex(); m_nModelIndex = pVehicle->GetModelIndex();
m_fPosX = pVehicle->GetPosition().x; m_fPosX = pVehicle->GetPosition().x;
m_fPosY = pVehicle->GetPosition().y; m_fPosY = pVehicle->GetPosition().y;
m_fPosY = pVehicle->GetPosition().z; m_fPosZ = pVehicle->GetPosition().z;
m_fForwardX = pVehicle->GetForward().x; m_fForwardX = pVehicle->GetForward().x;
m_fForwardY = pVehicle->GetForward().y; m_fForwardY = pVehicle->GetForward().y;
m_fForwardZ = pVehicle->GetForward().z; m_fForwardZ = pVehicle->GetForward().z;

View File

@ -278,7 +278,7 @@ int8 CRunningScript::ProcessCommands1600To1699(int32 command)
CollectParameters(&m_nIp, 3); CollectParameters(&m_nIp, 3);
CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0)); CPed* pPed = CPools::GetPedPool()->GetAt(GET_INTEGER_PARAM(0));
if (pPed) if (pPed)
pPed->SetWaitState((eWaitState)GET_INTEGER_PARAM(1), GET_INTEGER_PARAM(2) >= 0 ? (void*)GET_INTEGER_PARAM(2) : nil, true); pPed->SetWaitState((eWaitState)GET_INTEGER_PARAM(1), GET_INTEGER_PARAM(2) >= 0 ? &GET_INTEGER_PARAM(2) : nil, true);
return 0; return 0;
} }
case COMMAND_REGISTER_BEST_TIME_GOGO_FAGGIO: case COMMAND_REGISTER_BEST_TIME_GOGO_FAGGIO:

View File

@ -450,7 +450,7 @@ int8 CRunningScript::ProcessCommands500To599(int32 command)
CollectParameters(&m_nIp, 2); CollectParameters(&m_nIp, 2);
CAutomobile* pCar = (CAutomobile*)CPools::GetVehiclePool()->GetAt(GET_INTEGER_PARAM(0)); CAutomobile* pCar = (CAutomobile*)CPools::GetVehiclePool()->GetAt(GET_INTEGER_PARAM(0));
script_assert(pCar); script_assert(pCar);
script_assert(pCar->m_vehType == VEHICLE_TYPE_CAR); //script_assert(pCar->m_vehType == VEHICLE_TYPE_CAR);
UpdateCompareFlag(pCar->m_bombType == GET_INTEGER_PARAM(1)); UpdateCompareFlag(pCar->m_bombType == GET_INTEGER_PARAM(1));
return 0; return 0;
} }

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

@ -197,7 +197,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