mirror of
https://github.com/dashr9230/SA-MP.git
synced 2026-10-10 19:53:04 +08:00
[saco] Add FUNC_100B41F0 and FUNC_100B4240; both dispatch the version-dependent 0x7EE2D0/0x7EE310 pair on the scene camera
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user