From 7f80a565e22cffe586133727cf28c82be55be140 Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Sat, 5 Sep 2026 09:05:20 +0700 Subject: [PATCH] [saco] Implement/match `CPlayerPed::FUNC_100AE790`; the no-task branch tails into `FUNC_100AE6A0` with `this` still in `ecx` --- saco/game/playerped.cpp | 13 +++++++++++++ saco/game/playerped.h | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/saco/game/playerped.cpp b/saco/game/playerped.cpp index 221ad80..a6721d6 100644 --- a/saco/game/playerped.cpp +++ b/saco/game/playerped.cpp @@ -2255,3 +2255,16 @@ void CPlayerPed::FUNC_100AE530(int a1, int a2) FUNC_100B1DA0(pRenderWare, a1, a2); } //----------------------------------------------------------- + +DWORD CPlayerPed::FUNC_100AE790() +{ + if(!m_pPed) return 0; + if(m_pPed->entity.vtable == 0x863C40) return 0; + if(!m_pPed->entity.pdwRenderWare) return 0; + + DWORD *pTask = FUNC_100AE6E0(); + if(pTask) return FUNC_100AE5F0(pTask); + + return FUNC_100AE6A0(); +} +//----------------------------------------------------------- diff --git a/saco/game/playerped.h b/saco/game/playerped.h index 4626398..9710b23 100644 --- a/saco/game/playerped.h +++ b/saco/game/playerped.h @@ -232,6 +232,11 @@ public: void FUNC_100AEF90(); // .text:100AEF90 void FUNC_100AE530(int a1, int a2); // .text:100AE530 + DWORD FUNC_100AE790(); // .text:100AE790 + DWORD * FUNC_100AE6E0(); // .text:100AE6E0 + DWORD FUNC_100AE5F0(DWORD *pTask); // .text:100AE5F0 + DWORD FUNC_100AE6A0(); // .text:100AE6A0 + int m_iCellPhoneEnabled; int field_4C[10]; struc_97 field_74[10];