@@ -848,6 +848,34 @@ void CGameSA::SetRoadSignsTextEnabled(bool isEnabled)
848848 m_isRoadSignsTextEnabled = isEnabled;
849849}
850850
851+ void CGameSA::SetIgnoreFireStateEnabled (bool isEnabled)
852+ {
853+ if (isEnabled == m_isIgnoreFireStateEnabled)
854+ return ;
855+
856+ if (isEnabled)
857+ {
858+ MemSet ((void *)0x6511B9 , 0x90 , 10 ); // CCarEnterExit::IsVehicleStealable
859+ MemSet ((void *)0x643A95 , 0x90 , 14 ); // CTaskComplexEnterCar::CreateFirstSubTask
860+ MemSet ((void *)0x6900B5 , 0x90 , 14 ); // CTaskComplexCopInCar::ControlSubTask
861+ MemSet ((void *)0x64F3DB , 0x90 , 14 ); // CCarEnterExit::IsPlayerToQuitCarEnter
862+
863+ MemSet ((void *)0x685A7F , 0x90 , 14 ); // CTaskSimplePlayerOnFoot::ProcessPlayerWeapon
864+ }
865+ else
866+ {
867+ // Restore original bytes
868+ MemCpy ((void *)0x6511B9 , " \x88\x86\x90\x04\x00\x00\x85\xC0\x75\x3E " , 10 );
869+ MemCpy ((void *)0x643A95 , " \x8B\x88\x90\x04\x00\x00\x85\xC9\x0F\x85\x99\x01\x00\x00 " , 14 );
870+ MemCpy ((void *)0x6900B5 , " \x8B\x81\x90\x04\x00\x00\x85\xC0\x0F\x85\x1A\x01\x00\x00 " , 14 );
871+ MemCpy ((void *)0x64F3DB , " \x8B\x85\x90\x04\x00\x00\x85\xC0\x0F\x85\x1B\x01\x00\x00 " , 14 );
872+
873+ MemCpy ((void *)0x685A7F , " \x8B\x86\x30\x07\x00\x00\x85\xC0\x0F\x85\x1D\x01\x00\x00 " , 14 );
874+ }
875+
876+ m_isIgnoreFireStateEnabled = isEnabled;
877+ }
878+
851879bool CGameSA::PerformChecks ()
852880{
853881 std::map<std::string, SCheatSA*>::iterator it;
0 commit comments