From aed6c4dd6f15b323fbd7c3f5fbaeb9dc73cbacfe Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Thu, 3 Sep 2026 03:18:52 +0700 Subject: [PATCH] Repoint the four aliased `CPlayerPed` calls at their real members; the aliases were declared but never defined --- saco/d3dhook/IDirect3DDevice9Hook.cpp | 2 +- saco/game/hooks.cpp | 6 +++--- saco/game/playerped.h | 5 ----- saco/net/remoteplayer.cpp | 6 +++--- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/saco/d3dhook/IDirect3DDevice9Hook.cpp b/saco/d3dhook/IDirect3DDevice9Hook.cpp index 67758e2..6a13e5e 100644 --- a/saco/d3dhook/IDirect3DDevice9Hook.cpp +++ b/saco/d3dhook/IDirect3DDevice9Hook.cpp @@ -133,7 +133,7 @@ void sub_10075330() if(!pPlayerPed->IsAdded()) continue; memset(&vec_10140D3C, 0, sizeof(VECTOR)); - pPlayerPed->FUNC_100AE480(8, &vec_10140D3C); + pPlayerPed->GetBonePosition(8, &vec_10140D3C); } vec_10140D64 = vec_10140D3C; diff --git a/saco/game/hooks.cpp b/saco/game/hooks.cpp index 7006422..291ee37 100644 --- a/saco/game/hooks.cpp +++ b/saco/game/hooks.cpp @@ -1821,7 +1821,7 @@ NUDE CRadar__DrawMap__FindPlayerSpeed_Hook() { // keep the map still while the local player is a vehicle passenger if(pGame && pGame->FindPlayerPed() && pGame->FindPlayerPed()->IsInVehicle() && - pGame->FindPlayerPed()->sub_100ABFC0()) + pGame->FindPlayerPed()->IsAPassenger()) { _asm lea eax, unnamed_10151710 _asm ret @@ -2838,8 +2838,8 @@ BOOL FUNC_100A5240(DWORD dwVehicle, DWORD dwPed) { if(!pNetGame || !pGame || !pGame->FindPlayerPed() || !pGame->FindPlayerPed()->IsInVehicle() - || pGame->FindPlayerPed()->sub_100ABFC0() - || pGame->FindPlayerPed()->FUNC_100AC000() != (int)dwVehicle) + || pGame->FindPlayerPed()->IsAPassenger() + || (int)pGame->FindPlayerPed()->GetGtaVehicle() != (int)dwVehicle) return FALSE; wInflictDamageDriver = FUNC_100A3AE0(dwPed); diff --git a/saco/game/playerped.h b/saco/game/playerped.h index 72101fb..28c5458 100644 --- a/saco/game/playerped.h +++ b/saco/game/playerped.h @@ -64,12 +64,8 @@ public: void SetStateFlags(DWORD dwStateFlags); BOOL IsDead(); BOOL IsInVehicle(); - BOOL sub_100ABFC0(); // .text:100ABFC0 - int FUNC_100AC000(); // .text:100AC000 BOOL FUNC_100AC5D0(); // .text:100AC5D0 BOOL FUNC_100AC640(); // .text:100AC640 - void FUNC_100ADFD0(char *szMarker, int a2, int a3, int a4, VECTOR *pVec, - int a6, float a7, int a8, int a9, int a10); // .text:100ADFD0 BYTE GetActionTrigger(); void SetActionTrigger(BYTE byteTrigger); @@ -130,7 +126,6 @@ public: void FUNC_100ADFB0(int iLevel); // .text:100ADFB0 int FUNC_100ADC90(); // .text:100ADC90 - void FUNC_100AE480(int a1, PVECTOR pVec); // .text:100AE480 void ProcessVehicleHorn(); diff --git a/saco/net/remoteplayer.cpp b/saco/net/remoteplayer.cpp index 9df6a63..2bed413 100644 --- a/saco/net/remoteplayer.cpp +++ b/saco/net/remoteplayer.cpp @@ -155,7 +155,7 @@ void CRemotePlayer::FUNC_100143A0() vec.X = mat.pos.X + field_1C9.X; vec.Y = mat.pos.Y + field_1C9.Y; vec.Z = mat.pos.Z + field_1C9.Z; - m_pPlayerPed->FUNC_100ADFD0("FollowPedSA", 0, 1000, -1, &vec, 0, 0.1f, 500, 3, 0); + m_pPlayerPed->ApplyCommandTask("FollowPedSA", 0, 1000, -1, &vec, 0, 0.1f, 500, 3, 0); field_1D9 = dwTick; } } @@ -262,10 +262,10 @@ void CRemotePlayer::FUNC_10016270(BYTE byteNewState, BYTE byteOldState) CPlayerPed *pPlayerPed = pGame->FindPlayerPed(); if(!pPlayerPed) return; if(!pPlayerPed->IsInVehicle()) return; - if(pPlayerPed->sub_100ABFC0()) return; + if(pPlayerPed->IsAPassenger()) return; CVehiclePool *pVehiclePool = pNetGame->GetVehiclePool(); - if((WORD)pVehiclePool->FUNC_1001EB90(pPlayerPed->FUNC_100AC000()) == field_1E7) { + if((WORD)pVehiclePool->FUNC_1001EB90((int)pPlayerPed->GetGtaVehicle()) == field_1E7) { MATRIX4X4 mat; pPlayerPed->GetMatrix(&mat); pPlayerPed->RemoveFromVehicleAndPutAt(mat.pos.X, mat.pos.Y, mat.pos.Z + 1.0f);