[saco] Add FUNC_100B41F0 and FUNC_100B4240; both dispatch the version-dependent 0x7EE2D0/0x7EE310 pair on the scene camera

This commit is contained in:
ricardoofnl
2026-09-04 22:27:24 +07:00
parent 17b3f3d248
commit db738d9c73
2 changed files with 58 additions and 0 deletions
+56
View File
@@ -5,6 +5,8 @@
#include "util.h"
#include <sys/stat.h>
extern int iGtaVersion;
DWORD dwPlayerPedPtrs[PLAYER_PED_SLOTS];
struc_13 VAR_1026C258[PLAYER_PED_SLOTS];
@@ -285,7 +287,61 @@ BOOL __stdcall IsValidPedModel(int iModel)
return FALSE;
}
//-----------------------------------------------------------
int FUNC_100B41F0(void *pData)
{
int iRet = 0;
DWORD dwFunc;
DWORD dwCamera = *(DWORD *)0xC1703C;
if(!dwCamera) return iRet;
dwFunc = (iGtaVersion != GTASA_VERSION_USA10) ? 0x7EE310 : 0x7EE2D0;
_asm push pData
_asm push dwCamera
_asm mov edx, dwFunc
_asm call edx
_asm pop edx
_asm pop edx
_asm mov iRet, eax
return iRet;
}
//-----------------------------------------------------------
int __stdcall FUNC_100B4240(DWORD *pdwIn, DWORD dwParam)
{
DWORD dwCamera;
DWORD dwFunc;
DWORD *pData;
DWORD data[4];
int iRet;
data[0] = pdwIn[0];
data[1] = pdwIn[1];
data[2] = pdwIn[2];
data[3] = dwParam;
pData = data;
iRet = 0;
dwCamera = *(DWORD *)0xC1703C;
if(!dwCamera) return iRet;
dwFunc = (iGtaVersion != GTASA_VERSION_USA10) ? 0x7EE310 : 0x7EE2D0;
_asm push pData
_asm push dwCamera
_asm mov edx, dwFunc
_asm call edx
_asm pop edx
_asm pop edx
_asm mov iRet, eax
return iRet;
}
+2
View File
@@ -104,6 +104,8 @@ void VectorCrossProduct(VECTOR *vecOut, VECTOR *vec1, VECTOR *vec2); // .text:10
void VectorNormaliseTo(VECTOR *vecOut, VECTOR *vecIn); // .text:100B4CC0
bool FUNC_100B4A70(VECTOR *vec); // .text:100B4A70
bool FUNC_100B3D30(int nModelIndex); // .text:100B3D30
int FUNC_100B41F0(void *pData); // .text:100B41F0
int __stdcall FUNC_100B4240(DWORD *pdwIn, DWORD dwParam); // .text:100B4240
void FUNC_100B5210(int a1, void *a2); // .text:100B5210, __cdecl: the caller's
// stack cleanup is folded into the next call's argument setup