File tree Expand file tree Collapse file tree 9 files changed +31
-26
lines changed Expand file tree Collapse file tree 9 files changed +31
-26
lines changed Original file line number Diff line number Diff line change @@ -930,20 +930,6 @@ void CGameSA::SetVehicleBurnExplosionsEnabled(bool isEnabled)
930
930
m_isVehicleBurnExplosionsEnabled = isEnabled;
931
931
}
932
932
933
- void CGameSA::SetVehicleEngineManualModeEnabled (bool isEnabled)
934
- {
935
- if (isEnabled)
936
- {
937
- MemSet ((void *)0x64BC03 , 0x90 , 5 ); // prevent vehicle engine from turning on (driver enter)
938
- MemCpy ((void *)0x6C4EA9 , " \xE9\x15\x03\x00 " , 4 ); // prevent aircraft engine from turning off (driver exit)
939
- }
940
- else
941
- {
942
- MemCpy ((void *)0x64BC03 , " \x75\x05\x80\xC9\x10 " , 5 );
943
- MemCpy ((void *)0x6C4EA9 , " \x8A\x86\x28\x04 " , 4 );
944
- }
945
- }
946
-
947
933
bool CGameSA::PerformChecks ()
948
934
{
949
935
std::map<std::string, SCheatSA*>::iterator it;
Original file line number Diff line number Diff line change @@ -262,7 +262,7 @@ class CGameSA : public CGame
262
262
bool IsVehicleBurnExplosionsEnabled () const noexcept override { return m_isVehicleBurnExplosionsEnabled; }
263
263
void SetVehicleBurnExplosionsEnabled (bool isEnabled) override ;
264
264
265
- void SetVehicleEngineManualModeEnabled ( bool isEnabled) override ;
265
+ bool IsVehicleEngineManualModeEnabled () const noexcept override { return *( unsigned char *) 0x64BC03 == 0x90 ; }
266
266
267
267
unsigned long GetMinuteDuration ();
268
268
void SetMinuteDuration (unsigned long ulTime);
Original file line number Diff line number Diff line change @@ -63,7 +63,7 @@ static bool __fastcall CanProcessFlyingCarStuff(CAutomobileSAInterface* vehicleI
63
63
64
64
if (vehicle->pEntity ->GetVehicleRotorState ())
65
65
{
66
- if (*( unsigned char *) 0x64BC03 == 0x75 ) // keep default behavior
66
+ if (!pGame-> IsVehicleEngineManualModeEnabled () ) // keep default behavior
67
67
return true ;
68
68
69
69
if (vehicle->pEntity ->GetEntityStatus () != eEntityStatus::STATUS_PHYSICS && !vehicle->pEntity ->IsBeingDriven ())
Original file line number Diff line number Diff line change @@ -6143,15 +6143,18 @@ bool CClientGame::IsWeaponRenderEnabled() const
6143
6143
return g_pGame->IsWeaponRenderEnabled ();
6144
6144
}
6145
6145
6146
- void CClientGame::SetVehicleEngineManualModeEnabled (bool isEnabled )
6146
+ void CClientGame::SetVehicleEngineManualModeEnabled (bool enabled )
6147
6147
{
6148
- if (isEnabled == m_isVehEngineManualModeEnabled )
6148
+ if (enabled == g_pGame-> IsVehicleEngineManualModeEnabled () )
6149
6149
return ;
6150
6150
6151
- g_pGame->SetVehicleEngineManualModeEnabled (isEnabled);
6152
- m_pVehicleManager->ResetNotControlledRotors (isEnabled);
6151
+ g_pMultiplayer->SetVehicleEngineManualModeEnabled (enabled);
6152
+ m_pVehicleManager->ResetNotControlledRotors (enabled);
6153
+ }
6153
6154
6154
- m_isVehEngineManualModeEnabled = isEnabled;
6155
+ bool CClientGame::IsVehicleEngineManualModeEnabled () const
6156
+ {
6157
+ return g_pGame->IsVehicleEngineManualModeEnabled ();
6155
6158
}
6156
6159
6157
6160
#pragma code_seg(".text")
Original file line number Diff line number Diff line change @@ -426,8 +426,8 @@ class CClientGame
426
426
void SetWeaponRenderEnabled (bool enabled);
427
427
bool IsWeaponRenderEnabled () const ;
428
428
429
- bool IsVehicleEngineManualModeEnabled () const noexcept { return m_isVehEngineManualModeEnabled; }
430
- void SetVehicleEngineManualModeEnabled ( bool isEnabled) ;
429
+ void SetVehicleEngineManualModeEnabled ( bool enabled);
430
+ bool IsVehicleEngineManualModeEnabled () const ;
431
431
432
432
void ResetWorldProperties (const ResetWorldPropsInfo& resetPropsInfo);
433
433
@@ -787,8 +787,6 @@ class CClientGame
787
787
// Birds Enabled
788
788
bool m_bBirdsEnabled;
789
789
790
- bool m_isVehEngineManualModeEnabled{false };
791
-
792
790
unsigned long m_ulMinuteDuration;
793
791
794
792
CClientGUIElement* m_pClickedGUIElement;
Original file line number Diff line number Diff line change @@ -6634,6 +6634,20 @@ void CMultiplayerSA::SetAutomaticVehicleStartupOnPedEnter(bool bSet)
6634
6634
MemSet ((char *)0x64BC0D , 0x90 , 6 );
6635
6635
}
6636
6636
6637
+ void CMultiplayerSA::SetVehicleEngineManualModeEnabled (bool enabled)
6638
+ {
6639
+ if (enabled)
6640
+ {
6641
+ MemSet ((void *)0x64BC03 , 0x90 , 5 ); // prevent vehicle engine from turning on (driver enter)
6642
+ MemCpy ((void *)0x6C4EA9 , " \xE9\x15\x03\x00 " , 4 ); // prevent aircraft engine from turning off (driver exit)
6643
+ }
6644
+ else
6645
+ {
6646
+ MemCpy ((void *)0x64BC03 , " \x75\x05\x80\xC9\x10 " , 5 );
6647
+ MemCpy ((void *)0x6C4EA9 , " \x8A\x86\x28\x04 " , 4 );
6648
+ }
6649
+ }
6650
+
6637
6651
// Storage
6638
6652
CVehicleSAInterface* pHeliKiller = NULL ;
6639
6653
CEntitySAInterface* pHitByHeli = NULL ;
Original file line number Diff line number Diff line change @@ -333,6 +333,8 @@ class CMultiplayerSA : public CMultiplayer
333
333
334
334
void SetAutomaticVehicleStartupOnPedEnter (bool bSet);
335
335
336
+ void SetVehicleEngineManualModeEnabled (bool enabled) override ;
337
+
336
338
void SetPedTargetingMarkerEnabled (bool bEnable);
337
339
bool IsPedTargetingMarkerEnabled ();
338
340
bool IsConnected ();
Original file line number Diff line number Diff line change @@ -241,7 +241,7 @@ class __declspec(novtable) CGame
241
241
virtual bool IsVehicleBurnExplosionsEnabled () const noexcept = 0 ;
242
242
virtual void SetVehicleBurnExplosionsEnabled (bool isEnabled) = 0 ;
243
243
244
- virtual void SetVehicleEngineManualModeEnabled ( bool isEnabled) = 0 ;
244
+ virtual bool IsVehicleEngineManualModeEnabled () const noexcept = 0 ;
245
245
246
246
virtual CWeapon* CreateWeapon () = 0 ;
247
247
virtual CWeaponStat* CreateWeaponStat (eWeaponType weaponType, eWeaponSkill weaponSkill) = 0 ;
Original file line number Diff line number Diff line change @@ -444,6 +444,8 @@ class CMultiplayer
444
444
445
445
virtual void SetAutomaticVehicleStartupOnPedEnter (bool bSet) = 0;
446
446
447
+ virtual void SetVehicleEngineManualModeEnabled (bool enabled) = 0;
448
+
447
449
virtual void SetPedTargetingMarkerEnabled (bool bEnabled) = 0;
448
450
virtual bool IsPedTargetingMarkerEnabled () = 0;
449
451
You can’t perform that action at this time.
0 commit comments