11/* ****************************************************************************
22 *
3- * PROJECT: Multi Theft Auto v1.0
3+ * PROJECT: Multi Theft Auto
44 * LICENSE: See LICENSE in the top level directory
5- * FILE: game_sa/CHandlingEntrySA.cpp
5+ * FILE: Client/ game_sa/CHandlingEntrySA.cpp
66 * PURPOSE: Vehicle handling data entry
77 *
8- * Multi Theft Auto is available from http ://www. multitheftauto.com/
8+ * Multi Theft Auto is available from https ://multitheftauto.com/
99 *
1010 *****************************************************************************/
1111
@@ -22,91 +22,89 @@ CHandlingEntrySA::CHandlingEntrySA()
2222 m_pHandlingSA = new tHandlingDataSA;
2323 memset (m_pHandlingSA, 0 , sizeof (tHandlingDataSA));
2424 m_bDeleteInterface = true ;
25-
26- // We have no original data
27- m_pOriginalData = NULL ;
28- m_bChanged = true ;
2925}
3026
3127CHandlingEntrySA::CHandlingEntrySA (tHandlingDataSA* pOriginal)
3228{
3329 // Store gta's pointer
34- m_pHandlingSA = NULL ;
35- m_pOriginalData = NULL ;
30+ m_pHandlingSA = nullptr ;
3631 m_bDeleteInterface = false ;
3732 memcpy (&m_Handling, pOriginal, sizeof (tHandlingDataSA));
38- m_bChanged = true ;
3933}
4034
4135CHandlingEntrySA::~CHandlingEntrySA ()
4236{
43- if (m_bChanged)
44- {
45- pGame->GetHandlingManager ()->RemoveChangedVehicle ();
46- }
4737 if (m_bDeleteInterface)
4838 {
49- delete m_pHandlingSA;
39+ SAFE_DELETE ( m_pHandlingSA) ;
5040 }
5141}
5242
5343// Apply the handlingdata from another data
54- void CHandlingEntrySA::Assign (const CHandlingEntry* pData )
44+ void CHandlingEntrySA::Assign (const CHandlingEntry* pEntry )
5545{
46+ if (!pEntry)
47+ return ;
48+
5649 // Copy the data
57- const CHandlingEntrySA* pEntrySA = static_cast <const CHandlingEntrySA*>(pData );
50+ const CHandlingEntrySA* pEntrySA = static_cast <const CHandlingEntrySA*>(pEntry );
5851 m_Handling = pEntrySA->m_Handling ;
59- if (m_bChanged)
60- {
61- pGame->GetHandlingManager ()->RemoveChangedVehicle ();
62- }
63- pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
6452}
6553
66- void CHandlingEntrySA::Recalculate (unsigned short usModel )
54+ void CHandlingEntrySA::Recalculate ()
6755{
6856 // Real GTA class?
69- if (m_pHandlingSA)
70- {
71- // Copy our stored field to GTA's
72- memcpy (m_pHandlingSA, &m_Handling, sizeof (m_Handling));
73- (( void (_stdcall*)(tHandlingDataSA*))FUNC_HandlingDataMgr_ConvertDataToGameUnits)(m_pHandlingSA );
74- }
57+ if (! m_pHandlingSA)
58+ return ;
59+
60+ // Copy our stored field to GTA's
61+ memcpy (m_pHandlingSA, &m_Handling, sizeof (m_Handling) );
62+ (( void (_stdcall*)(tHandlingDataSA*))FUNC_HandlingDataMgr_ConvertDataToGameUnits)(m_pHandlingSA);
7563}
7664
77- // Moved to cpp to check suspension changes against default values to make sure the handling hasn't changed.
78- void CHandlingEntrySA::SetSuspensionForceLevel (float fForce )
65+ void CHandlingEntrySA::SetSuspensionForceLevel (float fForce ) noexcept
7966{
67+ CheckSuspensionChanges ();
8068 m_Handling.fSuspensionForceLevel = fForce ;
81- pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
8269}
83- void CHandlingEntrySA::SetSuspensionDamping (float fDamping )
70+
71+ void CHandlingEntrySA::SetSuspensionDamping (float fDamping ) noexcept
8472{
73+ CheckSuspensionChanges ();
8574 m_Handling.fSuspensionDamping = fDamping ;
86- pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
8775}
88- void CHandlingEntrySA::SetSuspensionHighSpeedDamping (float fDamping )
76+
77+ void CHandlingEntrySA::SetSuspensionHighSpeedDamping (float fDamping ) noexcept
8978{
79+ CheckSuspensionChanges ();
9080 m_Handling.fSuspensionHighSpdDamping = fDamping ;
91- pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
9281}
93- void CHandlingEntrySA::SetSuspensionUpperLimit (float fUpperLimit )
82+
83+ void CHandlingEntrySA::SetSuspensionUpperLimit (float fUpperLimit ) noexcept
9484{
85+ CheckSuspensionChanges ();
9586 m_Handling.fSuspensionUpperLimit = fUpperLimit ;
96- pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
9787}
98- void CHandlingEntrySA::SetSuspensionLowerLimit (float fLowerLimit )
88+
89+ void CHandlingEntrySA::SetSuspensionLowerLimit (float fLowerLimit ) noexcept
9990{
91+ CheckSuspensionChanges ();
10092 m_Handling.fSuspensionLowerLimit = fLowerLimit ;
101- pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
10293}
103- void CHandlingEntrySA::SetSuspensionFrontRearBias (float fBias )
94+
95+ void CHandlingEntrySA::SetSuspensionFrontRearBias (float fBias ) noexcept
10496{
97+ CheckSuspensionChanges ();
10598 m_Handling.fSuspensionFrontRearBias = fBias ;
106- pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
10799}
108- void CHandlingEntrySA::SetSuspensionAntiDiveMultiplier (float fAntidive )
100+
101+ void CHandlingEntrySA::SetSuspensionAntiDiveMultiplier (float fAntidive ) noexcept
109102{
103+ CheckSuspensionChanges ();
110104 m_Handling.fSuspensionAntiDiveMultiplier = fAntidive ;
105+ }
106+
107+ void CHandlingEntrySA::CheckSuspensionChanges () noexcept
108+ {
111109 pGame->GetHandlingManager ()->CheckSuspensionChanges (this );
112110}
0 commit comments