diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/core/Frontend.cpp | 6 | ||||
-rw-r--r-- | src/core/config.h | 3 | ||||
-rw-r--r-- | src/core/main.cpp | 2 | ||||
-rw-r--r-- | src/render/Particle.cpp | 19 |
5 files changed, 27 insertions, 4 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6c8ab281..28090d7e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -50,6 +50,7 @@ if(LIBRW_PLATFORM_D3D9) endif() target_compile_definitions(${EXECUTABLE} PRIVATE CMAKE_BUILD) +target_compile_definitions(${EXECUTABLE} PRIVATE USE_OUR_VERSIONING) if(${PROJECT}_AUDIO STREQUAL "OAL") find_package(OpenAL REQUIRED) diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 190cdf32..7491b7e2 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -2902,9 +2902,15 @@ CMenuManager::InitialiseChangedLanguageSettings() { if (m_bFrontEnd_ReloadObrTxtGxt) { m_bFrontEnd_ReloadObrTxtGxt = false; +#ifdef FIX_BUGS + if (gGameState > GS_INIT_ONCE) +#endif CTimer::Stop(); TheText.Unload(); TheText.Load(); +#ifdef FIX_BUGS + if (gGameState > GS_INIT_ONCE) +#endif CTimer::Update(); CGame::frenchGame = false; CGame::germanGame = false; diff --git a/src/core/config.h b/src/core/config.h index f19da754..abc81834 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -195,7 +195,8 @@ enum Config { #define 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. - #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 // Memory allocation and compression diff --git a/src/core/main.cpp b/src/core/main.cpp index 4902c156..74b896c6 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -379,7 +379,7 @@ DoRWStuffEndOfFrame(void) } #else 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); } #endif diff --git a/src/render/Particle.cpp b/src/render/Particle.cpp index 14b48243..334ceb57 100644 --- a/src/render/Particle.cpp +++ b/src/render/Particle.cpp @@ -1880,11 +1880,20 @@ void CParticle::Render() if ( canDraw && psystem->Flags & DRAWTOP2D ) { - float screenZ = (particle->m_vecPosition.z - CDraw::GetNearClipZ()) + float screenZ; +#ifdef FIX_BUGS + bool zIsZero = true; + if ( particle->m_vecPosition.z != 0.0f ) { +#endif + screenZ = (particle->m_vecPosition.z - CDraw::GetNearClipZ()) * (CSprite::GetFarScreenZ() - CSprite::GetNearScreenZ()) * CDraw::GetFarClipZ() / ( (CDraw::GetFarClipZ() - CDraw::GetNearClipZ()) * particle->m_vecPosition.z ) + CSprite::GetNearScreenZ(); +#ifdef FIX_BUGS + zIsZero = false; + } +#endif float stretchTexW; float stretchTexH; @@ -1900,6 +1909,9 @@ void CParticle::Render() stretchTexH = CGeneral::GetRandomNumberInRange(0.1f, 1.0f) * psystem->m_vecTextureStretch.y + 63.0f; } +#ifdef FIX_BUGS + if (!zIsZero) { +#endif if ( i == PARTICLE_WATERDROP ) { @@ -2001,7 +2013,10 @@ void CParticle::Render() canDraw = false; } - +#ifdef FIX_BUGS + } + if ( !(zIsZero && (i == PARTICLE_WATERDROP || i == PARTICLE_BLOODDROP || i == PARTICLE_HEATHAZE_IN_DIST || i == PARTICLE_HEATHAZE) ) ) +#endif if ( canDraw ) { if ( particle->m_nRotation != 0 ) |