Skip to content

Commit de12081

Browse files
committed
Revert suspension related changes for now, as we need stable master.
It will be re-introduced later (revised). The now-reverted changes were prompted by exposing GTA streaming race conditions, but since what exposed them was also reverted for stability reasons, it's not urgent. Everything (and related) will be re-pushed when fully tested.
1 parent 97c8f43 commit de12081

File tree

7 files changed

+1
-58
lines changed

7 files changed

+1
-58
lines changed

Client/game_sa/CModelInfoSA.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -488,15 +488,6 @@ bool CModelInfoSA::DoIsLoaded()
488488
return bLoaded;
489489
}
490490

491-
bool CModelInfoSA::IsCollisionLoaded()
492-
{
493-
m_pInterface = ppModelInfo[m_dwModelID];
494-
if (!m_pInterface || !m_pInterface->pColModel)
495-
return false;
496-
497-
return m_pInterface->pColModel->m_data != nullptr;
498-
}
499-
500491
unsigned short CModelInfoSA::GetFlags()
501492
{
502493
return ppModelInfo[m_dwModelID]->usFlags;

Client/game_sa/CModelInfoSA.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,6 @@ class CModelInfoSA : public CModelInfo
389389
void Remove();
390390
bool UnloadUnused();
391391
bool IsLoaded();
392-
bool IsCollisionLoaded() override;
393392
bool DoIsLoaded();
394393
unsigned short GetFlags();
395394
unsigned short GetOriginalFlags();

Client/game_sa/CVehicleSA.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1839,7 +1839,7 @@ void CVehicleSA::RecalculateSuspensionLines()
18391839

18401840
DWORD dwModel = GetModelIndex();
18411841
CModelInfo* pModelInfo = pGame->GetModelInfo(dwModel);
1842-
if (pModelInfo && (pModelInfo->IsCar() || pModelInfo->IsMonsterTruck() || pModelInfo->IsTrailer()))
1842+
if (pModelInfo && pModelInfo->IsMonsterTruck() || pModelInfo->IsCar())
18431843
{
18441844
// Trains (Their trailers do as well!)
18451845
if (pModelInfo->IsTrain() || dwModel == 571 || dwModel == 570 || dwModel == 569 || dwModel == 590)

Client/mods/deathmatch/logic/CClientVehicle.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4300,15 +4300,6 @@ void CClientVehicle::ApplyHandling()
43004300
if (!m_pVehicle)
43014301
return;
43024302

4303-
// Ensure model is loaded before recalculating handling
4304-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(GetModel());
4305-
if (!pModelInfo || !pModelInfo->IsLoaded())
4306-
return;
4307-
4308-
// Ensure collision model is loaded before recalculating (needed for suspension lines)
4309-
if (!pModelInfo->IsCollisionLoaded())
4310-
return;
4311-
43124303
m_pVehicle->RecalculateHandling();
43134304

43144305
if (m_eVehicleType == CLIENTVEHICLE_BMX || m_eVehicleType == CLIENTVEHICLE_BIKE)

Client/mods/deathmatch/logic/CStaticFunctionDefinitions.cpp

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8905,10 +8905,6 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, Ha
89058905
{
89068906
if (SetEntryHandling(pEntry, eProperty, ucValue))
89078907
{
8908-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
8909-
if (!pModelInfo || !pModelInfo->IsLoaded())
8910-
return false;
8911-
89128908
pVehicle->ApplyHandling();
89138909
return true;
89148910
}
@@ -8926,10 +8922,6 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, Ha
89268922
{
89278923
if (SetEntryHandling(pEntry, eProperty, uiValue))
89288924
{
8929-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
8930-
if (!pModelInfo || !pModelInfo->IsLoaded())
8931-
return false;
8932-
89338925
pVehicle->ApplyHandling();
89348926
return true;
89358927
}
@@ -8947,10 +8939,6 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, Ha
89478939
{
89488940
if (SetEntryHandling(pEntry, eProperty, fValue))
89498941
{
8950-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
8951-
if (!pModelInfo || !pModelInfo->IsLoaded())
8952-
return false;
8953-
89548942
pVehicle->ApplyHandling();
89558943
return true;
89568944
}
@@ -8968,10 +8956,6 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, Ha
89688956
{
89698957
if (SetEntryHandling(pEntry, eProperty, strValue))
89708958
{
8971-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
8972-
if (!pModelInfo || !pModelInfo->IsLoaded())
8973-
return false;
8974-
89758959
pVehicle->ApplyHandling();
89768960
return true;
89778961
}
@@ -8989,10 +8973,6 @@ bool CStaticFunctionDefinitions::SetVehicleHandling(CClientVehicle* pVehicle, Ha
89898973
{
89908974
if (SetEntryHandling(pEntry, eProperty, vecValue))
89918975
{
8992-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
8993-
if (!pModelInfo || !pModelInfo->IsLoaded())
8994-
return false;
8995-
89968976
pVehicle->ApplyHandling();
89978977
return true;
89988978
}
@@ -9051,10 +9031,6 @@ bool CStaticFunctionDefinitions::ResetVehicleHandling(CClientVehicle* pVehicle)
90519031
pEntry->SetSuspensionUpperLimit(pEntry->GetSuspensionLowerLimit() - 0.1f);
90529032
}
90539033

9054-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
9055-
if (!pModelInfo || !pModelInfo->IsLoaded())
9056-
return false;
9057-
90589034
pVehicle->ApplyHandling();
90599035

90609036
return true;
@@ -9104,10 +9080,6 @@ bool CStaticFunctionDefinitions::ResetVehicleHandlingProperty(CClientVehicle* pV
91049080
return false;
91059081
}
91069082

9107-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
9108-
if (!pModelInfo || !pModelInfo->IsLoaded())
9109-
return false;
9110-
91119083
pVehicle->ApplyHandling();
91129084

91139085
return true;

Client/mods/deathmatch/logic/luadefs/CLuaVehicleDefs.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2518,15 +2518,6 @@ int CLuaVehicleDefs::SetVehicleHandling(lua_State* luaVM)
25182518

25192519
if (!argStream.HasErrors())
25202520
{
2521-
// Check if the vehicle model is loaded
2522-
CModelInfo* pModelInfo = g_pGame->GetModelInfo(pVehicle->GetModel());
2523-
if (!pModelInfo || !pModelInfo->IsLoaded())
2524-
{
2525-
m_pScriptDebugging->LogWarning(luaVM, "setVehicleHandling failed: vehicle model not loaded");
2526-
lua_pushboolean(luaVM, false);
2527-
return 1;
2528-
}
2529-
25302521
if (argStream.NextIsString())
25312522
{
25322523
SString strProperty;

Client/sdk/game/CModelInfo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ class CModelInfo
162162
virtual BYTE GetVehicleType() const noexcept = 0;
163163
virtual void Request(EModelRequestType requestType, const char* szTag /* = NULL*/) = 0;
164164
virtual bool IsLoaded() = 0;
165-
virtual bool IsCollisionLoaded() = 0;
166165
virtual unsigned short GetFlags() = 0;
167166
virtual unsigned short GetOriginalFlags() = 0;
168167
virtual void SetFlags(unsigned short usFlags) = 0;

0 commit comments

Comments
 (0)