summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/control/Garages.cpp6
-rw-r--r--src/core/Camera.cpp8
-rw-r--r--src/core/CdStream.cpp4
-rw-r--r--src/core/Radar.cpp12
-rw-r--r--src/skel/win/win.cpp17
-rw-r--r--src/vehicles/DamageManager.cpp2
-rw-r--r--src/weapons/Weapon.cpp3
7 files changed, 46 insertions, 6 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..13d03213 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 )