From 397b09d4828bc9f17c1665391060524019b62228 Mon Sep 17 00:00:00 2001 From: RD42 Date: Sun, 4 May 2025 09:23:21 -0700 Subject: [PATCH] [saco] Implement/match `FUNC_100B4390(...)` --- saco/game/util.cpp | 18 ++++++++++++++---- saco/game/util.h | 9 +++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/saco/game/util.cpp b/saco/game/util.cpp index 8a96d54..2f0e08d 100644 --- a/saco/game/util.cpp +++ b/saco/game/util.cpp @@ -2,14 +2,11 @@ #include #include #include "../main.h" +#include "util.h" #include DWORD dwPlayerPedPtrs[PLAYER_PED_SLOTS]; -struct struc_13 -{ - char _gap0[16]; -}; struc_13 VAR_1026C258[PLAYER_PED_SLOTS]; #define PI 3.14159265f @@ -446,6 +443,19 @@ BYTE __stdcall FindPlayerNumFromPedPtr(DWORD dwPedPtr) //----------------------------------------------------------- +void __stdcall FUNC_100B4390(BYTE bytePlayer, DWORD a2, DWORD a3, DWORD a4, DWORD a5) +{ + if(bytePlayer < PLAYER_PED_SLOTS) + { + VAR_1026C258[bytePlayer].field_0 = a2; + VAR_1026C258[bytePlayer].field_4 = a3; + VAR_1026C258[bytePlayer].field_8 = a4; + VAR_1026C258[bytePlayer].field_C = a5; + } +} + +//----------------------------------------------------------- + diff --git a/saco/game/util.h b/saco/game/util.h index 9d2c85c..22800cc 100644 --- a/saco/game/util.h +++ b/saco/game/util.h @@ -1,6 +1,14 @@ #pragma once +struct struc_13 +{ + DWORD field_0; + DWORD field_4; + DWORD field_8; + DWORD field_C; +}; + void ProcessLineOfSight(VECTOR *vecOrigin, VECTOR *vecLine, VECTOR *colPoint, DWORD *pHitEntity, int bCheckBuildings, int bCheckVehicles, int bCheckPeds, int bCheckObjects, int bCheckDummies, int bSeeThroughStuff, @@ -30,6 +38,7 @@ void __stdcall InitPlayerPedPtrRecords(); void __stdcall SetPlayerPedPtrRecord(BYTE bytePlayer, DWORD dwPedPtr); DWORD __stdcall GetPlayerPedPtrRecord(BYTE bytePlayer); BYTE __stdcall FindPlayerNumFromPedPtr(DWORD dwPedPtr); +void __stdcall FUNC_100B4390(BYTE bytePlayer, DWORD a2, DWORD a3, DWORD a4, DWORD a5); float __stdcall SquaredDistanceBetweenHorizontalPoints(float x1, float y1, float x2, float y2); float DistanceBetweenHorizontalPoints(float x1, float y1, float x2, float y2); float DistanceBetweenPoints(float x1, float y1, float z1, float x2, float y2, float z2);