From b42d9e3e7c1caf6ad06ad81eb34cc27e09bd9bb9 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sat, 26 Sep 2020 13:30:22 +0300 Subject: [PATCH] silentpatch fixes --- src/control/Garages.cpp | 6 ++++++ src/core/Camera.cpp | 8 ++++---- src/core/CdStream.cpp | 4 +++- src/core/Radar.cpp | 12 ++++++++++++ src/skel/win/win.cpp | 17 ++++++++++++++++- src/vehicles/DamageManager.cpp | 2 ++ src/weapons/Weapon.cpp | 3 +++ vendor/opusfile | 2 +- 8 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/control/Garages.cpp b/src/control/Garages.cpp index c9112f81..e1f06c97 100644 --- a/src/control/Garages.cpp +++ b/src/control/Garages.cpp @@ -1886,7 +1886,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/Camera.cpp b/src/core/Camera.cpp index abe0833e..8f6fb3eb 100644 --- a/src/core/Camera.cpp +++ b/src/core/Camera.cpp @@ -74,7 +74,7 @@ bool bDidWeProcessAnyCinemaCam; CCamera::CCamera(void) { -#ifdef GTA3_1_1_PATCH +#if defined(GTA3_1_1_PATCH) || defined(FIX_BUGS) m_fMouseAccelHorzntl = 0.0025f; m_fMouseAccelVertical = 0.003f; #endif @@ -88,7 +88,7 @@ CCamera::CCamera(float) void CCamera::Init(void) { -#ifdef GTA3_1_1_PATCH +#if defined(GTA3_1_1_PATCH) || defined(FIX_BUGS) float fMouseAccelHorzntl = m_fMouseAccelHorzntl; float fMouseAccelVertical = m_fMouseAccelVertical; #endif @@ -104,7 +104,7 @@ CCamera::Init(void) memset(this, 0, sizeof(CCamera)); // getting rid of vtable, eh? #endif - #ifdef GTA3_1_1_PATCH + #if defined(GTA3_1_1_PATCH) || defined(FIX_BUGS) m_fMouseAccelHorzntl = fMouseAccelHorzntl; m_fMouseAccelVertical = fMouseAccelVertical; #endif @@ -237,7 +237,7 @@ CCamera::Init(void) m_uiTransitionState = 0; m_uiTimeTransitionStart = 0; m_bLookingAtPlayer = true; -#ifndef GTA3_1_1_PATCH +#if !defined(GTA3_1_1_PATCH) && !defined(FIX_BUGS) m_fMouseAccelHorzntl = 0.0025f; m_fMouseAccelVertical = 0.003f; #endif 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 05002a3f..af28aae7 100644 --- a/src/core/Radar.cpp +++ b/src/core/Radar.cpp @@ -1100,6 +1100,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 = 1; @@ -1121,6 +1125,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 = 1; @@ -1452,6 +1460,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 e79a8150..03eb0d09 100644 --- a/src/skel/win/win.cpp +++ b/src/skel/win/win.cpp @@ -1095,8 +1095,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: @@ -1109,7 +1112,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: @@ -1122,7 +1129,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: @@ -1135,7 +1146,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 c625a4e7..56034dee 100644 --- a/src/vehicles/DamageManager.cpp +++ b/src/vehicles/DamageManager.cpp @@ -42,8 +42,10 @@ CDamageManager::FuckCarCompletely(void) #endif } // Why set to no damage? +#ifndef FIX_BUGS m_lightStatus = 0; m_panelStatus = 0; +#endif SetEngineStatus(250); } diff --git a/src/weapons/Weapon.cpp b/src/weapons/Weapon.cpp index aea14f6a..37f59c95 100644 --- a/src/weapons/Weapon.cpp +++ b/src/weapons/Weapon.cpp @@ -1608,6 +1608,9 @@ CWeapon::FireM16_1stPerson(CEntity *shooter) if ( shooter == FindPlayerPed() ) { +#ifdef FIX_BUGS + CStats::InstantHitsFiredByPlayer++; +#endif CPad::GetPad(0)->StartShake_Distance(240, 128, FindPlayerPed()->GetPosition().x, FindPlayerPed()->GetPosition().y, FindPlayerPed()->GetPosition().z); if ( m_eWeaponType == WEAPONTYPE_M16 ) diff --git a/vendor/opusfile b/vendor/opusfile index 6452e838..f94a1764 160000 --- a/vendor/opusfile +++ b/vendor/opusfile @@ -1 +1 @@ -Subproject commit 6452e838e68e8f4fc0b3599523c760ac6276ce89 +Subproject commit f94a1764b0dcdd84ee8c13c040de9f4c1a67e4df