From 27f52e5fbe14d37e36e17566c9976064a0e1e93b Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Sat, 5 Sep 2026 08:35:13 +0700 Subject: [PATCH] [saco] Implement/match `CPlayerPed::FUNC_100ACE90`; the weapon out-parameter is a full `int` that only its low byte is tested through --- saco/game/playerped.cpp | 14 ++++++++++++++ saco/game/playerped.h | 1 + 2 files changed, 15 insertions(+) diff --git a/saco/game/playerped.cpp b/saco/game/playerped.cpp index 15a26d4..58fdc87 100644 --- a/saco/game/playerped.cpp +++ b/saco/game/playerped.cpp @@ -2171,6 +2171,20 @@ void CPlayerPed::FUNC_100AE1E0() } //----------------------------------------------------------- +void CPlayerPed::FUNC_100ACE90() +{ + int iWeapon; + + if(!field_2E2) return; + if(!m_pPed) return; + if(!GamePool_Ped_GetAt(m_dwGTAId)) return; + + ScriptCommand(&get_actor_armed_weapon, m_dwGTAId, &iWeapon); + + if((BYTE)iWeapon) SetArmedWeapon(0, 0); +} +//----------------------------------------------------------- + void CPlayerPed::FUNC_100AEC10(MATRIX4X4 *pMatrix, int iBone) { int iFrame; diff --git a/saco/game/playerped.h b/saco/game/playerped.h index ef552c9..cdd043f 100644 --- a/saco/game/playerped.h +++ b/saco/game/playerped.h @@ -217,6 +217,7 @@ public: void FUNC_100AEA80(MATRIX4X4 *pMatrix, int iFrame); // .text:100AEA80 void FUNC_100AEB10(MATRIX4X4 *pMatrix, int iFrame); // .text:100AEB10 + void FUNC_100ACE90(); // .text:100ACE90 void FUNC_100AEC10(MATRIX4X4 *pMatrix, int iBone); // .text:100AEC10 void FUNC_100AEC50(MATRIX4X4 *pMatrix, int iBone); // .text:100AEC50