From 85d533a5afa0d112fc8a6ea59a2ebb1370bc3dd8 Mon Sep 17 00:00:00 2001 From: ricardoofnl Date: Sat, 5 Sep 2026 08:59:30 +0700 Subject: [PATCH] [saco] Match `CRemotePlayer::FUNC_10017C80`; the dead out-of-line COMDAT comes back once `ScrUnk50` calls the inline setter instead of assigning `field_4` directly --- saco/net/remoteplayer.h | 2 ++ saco/net/scriptrpc.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/saco/net/remoteplayer.h b/saco/net/remoteplayer.h index 63ec727..4bb900e 100644 --- a/saco/net/remoteplayer.h +++ b/saco/net/remoteplayer.h @@ -74,6 +74,8 @@ public: DWORD GetPlayerColorAsRGBA(); DWORD GetPlayerColorAsARGB(); + void FUNC_10017C80(BYTE byteValue) { field_4 = (byteValue != 0); }; // .text:10017C80 + BOOL FUNC_10001080() { return m_pPlayerPed && field_10A; }; // .text:10001080 void EnterVehicle(VEHICLEID VehicleID, BOOL bPassenger); diff --git a/saco/net/scriptrpc.cpp b/saco/net/scriptrpc.cpp index 4c4c24e..aafe82b 100644 --- a/saco/net/scriptrpc.cpp +++ b/saco/net/scriptrpc.cpp @@ -232,7 +232,7 @@ void ScrUnk50(RPCParameters *rpcParams) bsData.Read(byteUnk); if(pNetGame->GetPlayerPool()->GetSlotState(playerId)) { - pNetGame->GetPlayerPool()->GetAt(playerId)->field_4 = (byteUnk != 0); + pNetGame->GetPlayerPool()->GetAt(playerId)->FUNC_10017C80(byteUnk); } } void ScrUnk63(RPCParameters *rpcParams) {}