From 35d7591defb352c2af49af0d6e0d3340e7b59672 Mon Sep 17 00:00:00 2001 From: shfil Date: Sat, 26 Sep 2020 20:11:25 +0200 Subject: [PATCH] some SilentPatch fixes # Conflicts: # src/core/Camera.cpp # src/weapons/Weapon.cpp --- src/control/Garages.cpp | 6 ++++++ src/core/CdStream.cpp | 4 +++- src/core/Radar.cpp | 12 ++++++++++++ src/skel/win/win.cpp | 17 ++++++++++++++++- src/vehicles/DamageManager.cpp | 2 ++ 5 files changed, 39 insertions(+), 2 deletions(-) diff --git a/src/control/Garages.cpp b/src/control/Garages.cpp index 9aba431c..290bacad 100644 --- a/src/control/Garages.cpp +++ b/src/control/Garages.cpp @@ -1819,7 +1819,13 @@ CVehicle* CStoredCar::RestoreCar() #ifdef FIX_BUGS if (pVehicle->IsCar()) #endif + { ((CAutomobile*)pVehicle)->m_bombType = m_nCarBombType; +#ifdef FIX_BUGS + if (m_nCarBombType != CARBOMB_NONE) + ((CAutomobile*)pVehicle)->m_pBombRigger = FindPlayerPed(); +#endif + } pVehicle->bHasBeenOwnedByPlayer = true; pVehicle->m_nDoorLock = CARLOCK_UNLOCKED; pVehicle->bBulletProof = m_bBulletproof; diff --git a/src/core/CdStream.cpp b/src/core/CdStream.cpp index d9978040..c11fb72a 100644 --- a/src/core/CdStream.cpp +++ b/src/core/CdStream.cpp @@ -106,12 +106,14 @@ CdStreamInit(int32 numChannels) GetDiskFreeSpace(nil, &SectorsPerCluster, &BytesPerSector, &NumberOfFreeClusters, &TotalNumberOfClusters); _gdwCdStreamFlags = 0; - + +#ifndef FIX_BUGS // this just slows down streaming if ( BytesPerSector <= CDSTREAM_SECTOR_SIZE ) { _gdwCdStreamFlags |= FILE_FLAG_NO_BUFFERING; debug("Using no buffered loading for streaming\n"); } +#endif _gbCdStreamOverlapped = TRUE; diff --git a/src/core/Radar.cpp b/src/core/Radar.cpp index 559a8cd6..b9fc369d 100644 --- a/src/core/Radar.cpp +++ b/src/core/Radar.cpp @@ -1151,6 +1151,10 @@ int CRadar::SetCoordBlip(eBlipType type, CVector pos, int32 color, eBlipDisplay if (!ms_RadarTrace[nextBlip].m_bInUse) break; } +#ifdef FIX_BUGS + if (nextBlip == NUMRADARBLIPS) + return -1; +#endif ms_RadarTrace[nextBlip].m_eBlipType = type; ms_RadarTrace[nextBlip].m_nColor = color; ms_RadarTrace[nextBlip].m_bDim = true; @@ -1182,6 +1186,10 @@ int CRadar::SetEntityBlip(eBlipType type, int32 handle, int32 color, eBlipDispla if (!ms_RadarTrace[nextBlip].m_bInUse) break; } +#ifdef FIX_BUGS + if (nextBlip == NUMRADARBLIPS) + return -1; +#endif ms_RadarTrace[nextBlip].m_eBlipType = type; ms_RadarTrace[nextBlip].m_nColor = color; ms_RadarTrace[nextBlip].m_bDim = true; @@ -1526,6 +1534,10 @@ CRadar::ToggleTargetMarker(float x, float y) if (!ms_RadarTrace[nextBlip].m_bInUse) break; } +#ifdef FIX_BUGS + if (nextBlip == NUMRADARBLIPS) + return; +#endif ms_RadarTrace[nextBlip].m_eBlipType = BLIP_COORD; ms_RadarTrace[nextBlip].m_nColor = 0x333333FF; ms_RadarTrace[nextBlip].m_bDim = 1; diff --git a/src/skel/win/win.cpp b/src/skel/win/win.cpp index cc106e39..5d67d343 100644 --- a/src/skel/win/win.cpp +++ b/src/skel/win/win.cpp @@ -1099,8 +1099,11 @@ MainWndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam) if ( wParam == VK_SHIFT ) _InputTranslateShiftKeyUpDown(&ks); - +#ifdef FIX_BUGS + break; +#else return 0L; +#endif } case WM_KEYUP: @@ -1113,7 +1116,11 @@ MainWndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam) if ( wParam == VK_SHIFT ) _InputTranslateShiftKeyUpDown(&ks); +#ifdef FIX_BUGS + break; +#else return 0L; +#endif } case WM_SYSKEYDOWN: @@ -1126,7 +1133,11 @@ MainWndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam) if ( wParam == VK_SHIFT ) _InputTranslateShiftKeyUpDown(&ks); +#ifdef FIX_BUGS + break; +#else return 0L; +#endif } case WM_SYSKEYUP: @@ -1139,7 +1150,11 @@ MainWndProc(HWND window, UINT message, WPARAM wParam, LPARAM lParam) if ( wParam == VK_SHIFT ) _InputTranslateShiftKeyUpDown(&ks); +#ifdef FIX_BUGS + break; +#else return 0L; +#endif } case WM_ACTIVATEAPP: diff --git a/src/vehicles/DamageManager.cpp b/src/vehicles/DamageManager.cpp index e4c28c95..8ba235b7 100644 --- a/src/vehicles/DamageManager.cpp +++ b/src/vehicles/DamageManager.cpp @@ -48,8 +48,10 @@ CDamageManager::FuckCarCompletely(void) #endif } // Why set to no damage? +#ifndef FIX_BUGS m_lightStatus = 0; m_panelStatus = 0; +#endif SetEngineStatus(250); }