From 97cf189d15b603055cd3371b5c726498892353ba Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Wed, 27 Jan 2021 20:19:22 +0200 Subject: Fix subtitle shadow --- src/render/Hud.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/render') diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index b7c78eb1..9c543043 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -1172,7 +1172,13 @@ void CHud::Draw() CFont::SetBackgroundColor(CRGBA(0, 0, 0, 128)); CFont::SetCentreOn(); CFont::SetPropOn(); - CFont::SetDropShadowPosition(0); +#ifdef CUTSCENE_BORDERS_SWITCH + if (!FrontEndMenuManager.m_PrefsCutsceneBorders) + CFont::SetDropShadowPosition(2); + else +#else + CFont::SetDropShadowPosition(0); +#endif CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD)); CFont::SetColor(CRGBA(225, 225, 225, 255)); @@ -1182,10 +1188,6 @@ void CHud::Draw() onceItWasWidescreen = true; if (FrontEndMenuManager.m_PrefsShowSubtitles || !CCutsceneMgr::IsRunning()) { -#ifdef CUTSCENE_BORDERS_SWITCH - if (!FrontEndMenuManager.m_PrefsCutsceneBorders) - CFont::SetDropShadowPosition(2); -#endif CFont::SetCentreSize(SCREEN_WIDTH - SCREEN_SCALE_X(60.0f)); CFont::SetScale(SCREEN_SCALE_X(0.58f), SCREEN_SCALE_Y(1.2f)); CFont::PrintString(SCREEN_WIDTH / 2.f, SCREEN_SCALE_FROM_BOTTOM(80.0f), m_Message); -- cgit v1.2.3 From e8a10748a44448825b379a4db5ad46677cb291ce Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Wed, 27 Jan 2021 20:39:22 +0200 Subject: fix fix --- src/render/Hud.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/render') diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index 9c543043..a0f3c3ee 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -1176,9 +1176,8 @@ void CHud::Draw() if (!FrontEndMenuManager.m_PrefsCutsceneBorders) CFont::SetDropShadowPosition(2); else -#else - CFont::SetDropShadowPosition(0); #endif + CFont::SetDropShadowPosition(0); CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD)); CFont::SetColor(CRGBA(225, 225, 225, 255)); -- cgit v1.2.3 From 2fc6b542bcf6b8cbfc4a62d66024dbb5b8a6a830 Mon Sep 17 00:00:00 2001 From: withmorten Date: Fri, 29 Jan 2021 01:18:32 +0100 Subject: waterlevel fix --- src/render/WaterLevel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/render') diff --git a/src/render/WaterLevel.cpp b/src/render/WaterLevel.cpp index 08fd5e6e..dc589970 100644 --- a/src/render/WaterLevel.cpp +++ b/src/render/WaterLevel.cpp @@ -716,7 +716,7 @@ CWaterLevel::GetWaterLevel(float fX, float fY, float fZ, float *pfOutLevel, bool uint8 nBlock = aWaterFineBlockList[x][y]; - if ( nBlock == 0x80 ) + if ( nBlock == NO_WATER ) return false; ASSERT( pfOutLevel != nil ); @@ -758,7 +758,7 @@ CWaterLevel::GetWaterLevelNoWaves(float fX, float fY, float fZ, float *pfOutLeve uint8 nBlock = aWaterFineBlockList[x][y]; - if ( nBlock == 0x80 ) + if ( nBlock == NO_WATER ) return false; ASSERT( pfOutLevel != nil ); -- cgit v1.2.3 From 8482180706815434e6a56267edfedbf2bbc05851 Mon Sep 17 00:00:00 2001 From: withmorten Date: Fri, 29 Jan 2021 01:20:20 +0100 Subject: waterlevel fix fix --- src/render/WaterLevel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/render') diff --git a/src/render/WaterLevel.cpp b/src/render/WaterLevel.cpp index dc589970..9b2dd816 100644 --- a/src/render/WaterLevel.cpp +++ b/src/render/WaterLevel.cpp @@ -714,7 +714,7 @@ CWaterLevel::GetWaterLevel(float fX, float fY, float fZ, float *pfOutLevel, bool if ( y < 0 || y >= MAX_SMALL_SECTORS ) return false; #endif - uint8 nBlock = aWaterFineBlockList[x][y]; + int8 nBlock = aWaterFineBlockList[x][y]; if ( nBlock == NO_WATER ) return false; @@ -756,7 +756,7 @@ CWaterLevel::GetWaterLevelNoWaves(float fX, float fY, float fZ, float *pfOutLeve if ( y < 0 || y >= MAX_SMALL_SECTORS ) return false; #endif - uint8 nBlock = aWaterFineBlockList[x][y]; + int8 nBlock = aWaterFineBlockList[x][y]; if ( nBlock == NO_WATER ) return false; -- cgit v1.2.3 From 595a000f6a72a0bf376f5c019a76bcec9dc98c2f Mon Sep 17 00:00:00 2001 From: aap Date: Fri, 29 Jan 2021 13:43:50 +0100 Subject: fix shutdown --- src/render/WaterLevel.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/render') diff --git a/src/render/WaterLevel.cpp b/src/render/WaterLevel.cpp index 9b2dd816..d67b9d42 100644 --- a/src/render/WaterLevel.cpp +++ b/src/render/WaterLevel.cpp @@ -318,6 +318,7 @@ CWaterLevel::Shutdown() _DELETE_TEXTURE(gpWaterTex); _DELETE_TEXTURE(gpWaterEnvTex); + _DELETE_TEXTURE(gpWaterWakeTex); _DELETE_TEXTURE(gpWaterEnvBaseTex); #undef _DELETE_TEXTURE -- cgit v1.2.3 From 990637bf52142eb09fb9c38d9c9a5c8abd98050b Mon Sep 17 00:00:00 2001 From: withmorten Date: Fri, 29 Jan 2021 17:57:51 +0100 Subject: waterlevel: use macro for 400.0f --- src/render/WaterLevel.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/render') diff --git a/src/render/WaterLevel.cpp b/src/render/WaterLevel.cpp index d67b9d42..1ba615c0 100644 --- a/src/render/WaterLevel.cpp +++ b/src/render/WaterLevel.cpp @@ -1077,7 +1077,7 @@ CWaterLevel::RenderWater() { for ( int32 y = 0; y < 5; y++ ) { - float fX = WATER_SIGN_X(float(x) * EXTRAHUGE_SECTOR_SIZE) - 1280.0f - 400.0f; + float fX = WATER_SIGN_X(float(x) * EXTRAHUGE_SECTOR_SIZE) - 1280.0f - WATER_X_OFFSET; float fY = WATER_SIGN_Y(float(y) * EXTRAHUGE_SECTOR_SIZE) - 1280.0f; if ( !bUseCamStartY ) @@ -1463,7 +1463,7 @@ CWaterLevel::RenderTransparentWater(void) int32 nBlock; - int32 BlockX = WATER_TO_SMALL_SECTOR_X(fCamX + 400.0f) + 1; + int32 BlockX = WATER_TO_SMALL_SECTOR_X(fCamX + WATER_X_OFFSET) + 1; int32 BlockY = WATER_TO_SMALL_SECTOR_Y(fCamY) + 1; if (_IsColideWithBlock(BlockX, BlockY, nBlock)) @@ -1473,7 +1473,7 @@ CWaterLevel::RenderTransparentWater(void) float fMaskX = Floor(fCamX / 2.0f) * 2.0f; float fMaskY = Floor(fCamY / 2.0f) * 2.0f; float fWaterZ = CWaterLevel::ms_aWaterZs[nBlock]; - float fSectorX = WATER_FROM_SMALL_SECTOR_X(BlockX) - 400.0f; + float fSectorX = WATER_FROM_SMALL_SECTOR_X(BlockX) - WATER_X_OFFSET; float fSectorY = WATER_FROM_SMALL_SECTOR_Y(BlockY); RenderWavyMask(fMaskX, fMaskY, fWaterZ, -- cgit v1.2.3 From c193ade58b8956d3a72ef91507c8ca23a043828d Mon Sep 17 00:00:00 2001 From: Sergeanur Date: Sat, 30 Jan 2021 20:46:37 +0200 Subject: Font fixes --- src/render/Font.cpp | 13 ++++++++----- src/render/Hud.cpp | 4 +++- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'src/render') diff --git a/src/render/Font.cpp b/src/render/Font.cpp index de1ee8b4..0f5930ee 100644 --- a/src/render/Font.cpp +++ b/src/render/Font.cpp @@ -406,16 +406,19 @@ CFont::DrawButton(float x, float y) if (PS2Symbol != BUTTON_NONE) { CRect rect; rect.left = x; - rect.top = Details.scaleY + Details.scaleY + y; - rect.right = Details.scaleY * 17.0f + x; - rect.bottom = Details.scaleY * 19.0f + y; + rect.top = RenderState.scaleY + RenderState.scaleY + y; + rect.right = RenderState.scaleY * 17.0f + x; + rect.bottom = RenderState.scaleY * 19.0f + y; int vertexAlphaState; void *raster; RwRenderStateGet(rwRENDERSTATEVERTEXALPHAENABLE, &vertexAlphaState); RwRenderStateGet(rwRENDERSTATETEXTURERASTER, &raster); RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void *)TRUE); - ButtonSprite[PS2Symbol].Draw(rect, CRGBA(255, 255, 255, Details.color.a)); + if (RenderState.bIsShadow) + ButtonSprite[PS2Symbol].Draw(rect, RenderState.color); + else + ButtonSprite[PS2Symbol].Draw(rect, CRGBA(255, 255, 255, RenderState.color.a)); RwRenderStateSet(rwRENDERSTATETEXTURERASTER, raster); RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void *)vertexAlphaState); } @@ -585,7 +588,7 @@ CFont::RenderFontBuffer() #ifdef BUTTON_ICONS if(PS2Symbol != BUTTON_NONE) { DrawButton(textPosX, textPosY); - textPosX += Details.scaleY * 17.0f; + textPosX += RenderState.scaleY * 17.0f; PS2Symbol = BUTTON_NONE; } #endif diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index a0f3c3ee..e0419a65 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -1173,8 +1173,10 @@ void CHud::Draw() CFont::SetCentreOn(); CFont::SetPropOn(); #ifdef CUTSCENE_BORDERS_SWITCH - if (!FrontEndMenuManager.m_PrefsCutsceneBorders) + if (!FrontEndMenuManager.m_PrefsCutsceneBorders) { + CFont::SetDropColor(CRGBA(0, 0, 0, 255)); CFont::SetDropShadowPosition(2); + } else #endif CFont::SetDropShadowPosition(0); -- cgit v1.2.3 From 5dfe396af3d2c3e2c7c0d01ba96f3c15f01cf888 Mon Sep 17 00:00:00 2001 From: withmorten Date: Sat, 30 Jan 2021 20:13:25 +0100 Subject: use macro for waterlevel z offset --- src/render/WaterLevel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/render') diff --git a/src/render/WaterLevel.cpp b/src/render/WaterLevel.cpp index 1ba615c0..3d33dbf6 100644 --- a/src/render/WaterLevel.cpp +++ b/src/render/WaterLevel.cpp @@ -73,7 +73,7 @@ RwRaster *gpWaterEnvBaseRaster; RwRaster *gpWaterWakeRaster; bool _bSeaLife; -float _fWaterZOffset = 0.5f; +float _fWaterZOffset = WATER_Z_OFFSET; #ifdef PC_WATER float fEnvScale = 0.25f; -- cgit v1.2.3 From 2e37001881eab8932dafcfd345fd9bb641bb70f4 Mon Sep 17 00:00:00 2001 From: withmorten Date: Sun, 31 Jan 2021 01:19:25 +0100 Subject: fix UB and new renderer crashes --- src/render/Renderer.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/render') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 8c4714fb..dfbc02d7 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1394,6 +1394,10 @@ CRenderer::ScanSectorPoly(RwV2d *poly, int32 numVertices, void (*scanfunc)(CPtrL void CRenderer::InsertEntityIntoList(CEntity *ent) { +#ifdef FIX_BUGS + if (!ent->m_rwObject) return; +#endif + #ifdef NEW_RENDERER // TODO: there are more flags being checked here if(gbNewRenderer && (ent->IsVehicle() || ent->IsPed())) -- cgit v1.2.3 From 902e539c0d25ec418cd36c735079561f378c712c Mon Sep 17 00:00:00 2001 From: erorcun Date: Sat, 30 Jan 2021 14:52:48 +0300 Subject: Overhaul MusicManager - fix radio bugs, scroll to prev station, radio off text --- src/render/Hud.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/render') diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index a0f3c3ee..0d69c23f 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -1225,7 +1225,7 @@ void CHud::Draw() m_HelpMessageDisplayTime = CMessages::GetWideStringLength(m_HelpMessage) * 0.05f + 3.0f; if (TheCamera.m_ScreenReductionPercentage == 0.0f) - DMAudio.PlayFrontEndSound(SOUND_HUD_SOUND, 0); + DMAudio.PlayFrontEndSound(SOUND_HUD, 0); break; case 1: case 2: -- cgit v1.2.3 From 42342745f3e8506be79b4ebc8eb5bfe5982818ba Mon Sep 17 00:00:00 2001 From: withmorten Date: Thu, 4 Feb 2021 18:29:47 +0100 Subject: CHud::Draw fix --- src/render/Hud.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/render') diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp index ba7d52db..91503917 100644 --- a/src/render/Hud.cpp +++ b/src/render/Hud.cpp @@ -1140,18 +1140,18 @@ void CHud::Draw() if (IntroRect.m_nTextureId >= 0) { CRect rect ( IntroRect.m_sRect.left, - IntroRect.m_sRect.top, + IntroRect.m_sRect.bottom, IntroRect.m_sRect.right, - IntroRect.m_sRect.bottom ); + IntroRect.m_sRect.top ); CTheScripts::ScriptSprites[IntroRect.m_nTextureId].Draw(rect, IntroRect.m_sColor); } else { CRect rect ( IntroRect.m_sRect.left, - IntroRect.m_sRect.top, + IntroRect.m_sRect.bottom, IntroRect.m_sRect.right, - IntroRect.m_sRect.bottom ); + IntroRect.m_sRect.top ); CSprite2d::DrawRect(rect, IntroRect.m_sColor); } -- cgit v1.2.3