Skip to content

Commit 42057d5

Browse files
authored
Reset vehicle handling only for client-side vehicles when changing model (PR #2501)
1 parent b797715 commit 42057d5

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

Client/mods/deathmatch/logic/CClientVehicle.cpp

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1068,32 +1068,35 @@ void CClientVehicle::SetModelBlocking(unsigned short usModel, unsigned char ucVa
10681068
m_ucMaxPassengers = CClientVehicleManager::GetMaxPassengerCount(usModel);
10691069

10701070
// Reset handling to fit the vehicle
1071-
ushort usHandlingModelID = usModel;
1072-
if (usHandlingModelID < 400 || usHandlingModelID > 611)
1073-
usHandlingModelID = m_pModelInfo->GetParentID();
1071+
if (IsLocalEntity())
1072+
{
1073+
ushort usHandlingModelID = usModel;
1074+
if (usHandlingModelID < 400 || usHandlingModelID > 611)
1075+
usHandlingModelID = m_pModelInfo->GetParentID();
10741076

1075-
m_pOriginalHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalHandlingData((eVehicleTypes)usHandlingModelID);
1076-
m_pHandlingEntry->Assign(m_pOriginalHandlingEntry);
1077+
m_pOriginalHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalHandlingData((eVehicleTypes)usHandlingModelID);
1078+
m_pHandlingEntry->Assign(m_pOriginalHandlingEntry);
10771079

1078-
m_pOriginalFlyingHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalFlyingHandlingData((eVehicleTypes)usHandlingModelID);
1079-
m_pFlyingHandlingEntry->Assign(m_pOriginalFlyingHandlingEntry);
1080+
m_pOriginalFlyingHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalFlyingHandlingData((eVehicleTypes)usHandlingModelID);
1081+
m_pFlyingHandlingEntry->Assign(m_pOriginalFlyingHandlingEntry);
10801082

1081-
m_pOriginalBoatHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalBoatHandlingData((eVehicleTypes)usHandlingModelID);
1082-
if (m_pOriginalBoatHandlingEntry)
1083-
{
1084-
if (!m_pBoatHandlingEntry)
1085-
m_pBoatHandlingEntry = g_pGame->GetHandlingManager()->CreateBoatHandlingData();
1083+
m_pOriginalBoatHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalBoatHandlingData((eVehicleTypes)usHandlingModelID);
1084+
if (m_pOriginalBoatHandlingEntry)
1085+
{
1086+
if (!m_pBoatHandlingEntry)
1087+
m_pBoatHandlingEntry = g_pGame->GetHandlingManager()->CreateBoatHandlingData();
10861088

1087-
m_pBoatHandlingEntry->Assign(m_pOriginalBoatHandlingEntry);
1088-
}
1089+
m_pBoatHandlingEntry->Assign(m_pOriginalBoatHandlingEntry);
1090+
}
10891091

1090-
m_pOriginalBikeHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalBikeHandlingData((eVehicleTypes)usHandlingModelID);
1091-
if (m_pOriginalBikeHandlingEntry)
1092-
{
1093-
if (!m_pBikeHandlingEntry)
1094-
m_pBikeHandlingEntry = g_pGame->GetHandlingManager()->CreateBikeHandlingData();
1092+
m_pOriginalBikeHandlingEntry = g_pGame->GetHandlingManager()->GetOriginalBikeHandlingData((eVehicleTypes)usHandlingModelID);
1093+
if (m_pOriginalBikeHandlingEntry)
1094+
{
1095+
if (!m_pBikeHandlingEntry)
1096+
m_pBikeHandlingEntry = g_pGame->GetHandlingManager()->CreateBikeHandlingData();
10951097

1096-
m_pBikeHandlingEntry->Assign(m_pOriginalBikeHandlingEntry);
1098+
m_pBikeHandlingEntry->Assign(m_pOriginalBikeHandlingEntry);
1099+
}
10971100
}
10981101

10991102
ApplyHandling();

0 commit comments

Comments
 (0)