From 97a1983c59152372dfdcd4ef5277d91382b6ade3 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 28 Sep 2024 10:15:55 +0200 Subject: [BOX32][WRAPPER] Added a bunch of 32bits functions to SDL2 and libc --- src/wrapped32/generated/functions_list.txt | 25 ++++++++++++++++++++++++- src/wrapped32/generated/wrappedlibctypes32.h | 2 ++ src/wrapped32/generated/wrappedsdl2defs32.h | 2 ++ src/wrapped32/generated/wrappedsdl2types32.h | 15 +++++++++++++++ src/wrapped32/generated/wrappedsdl2undefs32.h | 2 ++ src/wrapped32/generated/wrapper32.c | 10 ++++++++++ src/wrapped32/generated/wrapper32.h | 5 +++++ 7 files changed, 60 insertions(+), 1 deletion(-) (limited to 'src/wrapped32/generated') diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index de40c7fd..f43b5f14 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -62,6 +62,7 @@ #() pFv -> pFv #() pFi -> pFi #() pFu -> pFu +#() pFl -> pFl #() pFL -> pFL #() pFp -> pFp #() pFX -> pFX @@ -327,6 +328,7 @@ #() iFpuC -> iFpuC #() iFpuu -> iFpuu #() iFpuU -> iFpuU +#() iFpfu -> iFpfu #() iFpLi -> iFpLi #() iFpLp -> iFpLp #() iFppi -> iFppi @@ -501,6 +503,7 @@ #() vFupii -> vFupii #() vFuppi -> vFuppi #() vFuppu -> vFuppu +#() vFUUpi -> vFUUpi #() vFffff -> vFffff #() vFdddd -> vFdddd #() vFllii -> vFllii @@ -888,6 +891,7 @@ #() vFlliiiip -> vFlliiiip #() vFpipipiu -> vFpipipiu #() vFpddiidd -> vFpddiidd +#() iFEpuiupV -> iFEpuiupV #() iFEpLiipV -> iFEpLiipV #() iFEXLpppp -> iFEXLpppp #() iFuiiiuup -> iFuiiiuup @@ -927,6 +931,7 @@ #() vFuuufffff -> vFuuufffff #() vFffffffff -> vFffffffff #() iFEpippppp -> iFEpippppp +#() iFEpLiLppp -> iFEpLiLppp #() iFuiiiiuup -> iFuiiiiuup #() iFXpIIIppp -> iFXpIIIppp #() CFuiifpppp -> CFuiifpppp @@ -1216,11 +1221,13 @@ wrappedlibc: - getpwnam_r - pFpLLiN: - pFppLLp: +- iFpuiupV: - iFpLvvpp: - iFpLiipV: - pFpLiiii: - pFpLiiiI: - iFpippppp: +- iFpLiLppp: - pFiiiiiiiiilt: - asctime wrappedlibdl: @@ -1598,27 +1605,42 @@ wrappedsdl1: - iFpWCiWCi: - SDL_BuildAudioCVT wrappedsdl2: -% G SDL_JoystickGUID UU +% J SDL2_GUID_t uuuu - vFp: - SDL_FreeSurface - iFp: - SDL_PollEvent + - SDL_PushEvent - pFv: - SDL_GetBasePath - pFp: - SDL_GL_GetProcAddress +- JFi: + - SDL_JoystickGetDeviceGUID - vFpp: + - SDL_AddEventWatch + - SDL_DelEventWatch - SDL_SetWindowIcon - vFpV: - SDL_Log - iFip: + - SDL_GetCurrentDisplayMode - SDL_GetDesktopDisplayMode +- iFpi: + - SDL_WaitEventTimeout - iFpp: + - SDL_GetWindowDisplayMode - SDL_OpenAudio + - SDL_SetWindowDisplayMode +- pFpi: + - SDL_LoadBMP_RW + - SDL_notreal - pFpp: - SDL_RWFromFile - iFppV: - SDL_sscanf +- pFpii: + - SDL_CreateColorCursor - pFppp: - SDL_CreateThread - iFpLpp: @@ -1629,3 +1651,4 @@ wrappedsdl2: - SDL_OpenAudioDevice - pFpiiiiu: - SDL_CreateRGBSurfaceWithFormatFrom +% JFEi -> pFEpi diff --git a/src/wrapped32/generated/wrappedlibctypes32.h b/src/wrapped32/generated/wrappedlibctypes32.h index 5e517840..2c18f2a7 100644 --- a/src/wrapped32/generated/wrappedlibctypes32.h +++ b/src/wrapped32/generated/wrappedlibctypes32.h @@ -91,11 +91,13 @@ typedef int32_t (*iFpiLpp_t)(void*, int32_t, uintptr_t, void*, void*); typedef int32_t (*iFpppup_t)(void*, void*, void*, uint32_t, void*); typedef void* (*pFpLLiN_t)(void*, uintptr_t, uintptr_t, int32_t, ...); typedef void* (*pFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*); +typedef int32_t (*iFpuiupV_t)(void*, uint32_t, int32_t, uint32_t, void*, ...); typedef int32_t (*iFpLvvpp_t)(void*, uintptr_t, void, void, void*, void*); typedef int32_t (*iFpLiipV_t)(void*, uintptr_t, int32_t, int32_t, void*, ...); typedef void* (*pFpLiiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, int32_t); typedef void* (*pFpLiiiI_t)(void*, uintptr_t, int32_t, int32_t, int32_t, int64_t); typedef int32_t (*iFpippppp_t)(void*, int32_t, void*, void*, void*, void*, void*); +typedef int32_t (*iFpLiLppp_t)(void*, uintptr_t, int32_t, uintptr_t, void*, void*, void*); typedef void* (*pFiiiiiiiiilt_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, char*); #define SUPER() ADDED_FUNCTIONS() \ diff --git a/src/wrapped32/generated/wrappedsdl2defs32.h b/src/wrapped32/generated/wrappedsdl2defs32.h index 239a09b9..b0899840 100644 --- a/src/wrapped32/generated/wrappedsdl2defs32.h +++ b/src/wrapped32/generated/wrappedsdl2defs32.h @@ -4,5 +4,7 @@ #ifndef __wrappedsdl2DEFS32_H_ #define __wrappedsdl2DEFS32_H_ +#define JFEi pFEpi +#define JFEi_32 pFEpi_32 #endif // __wrappedsdl2DEFS32_H_ diff --git a/src/wrapped32/generated/wrappedsdl2types32.h b/src/wrapped32/generated/wrappedsdl2types32.h index ec19e213..badbbc81 100644 --- a/src/wrapped32/generated/wrappedsdl2types32.h +++ b/src/wrapped32/generated/wrappedsdl2types32.h @@ -15,12 +15,16 @@ typedef void (*vFp_t)(void*); typedef int32_t (*iFp_t)(void*); typedef void* (*pFv_t)(void); typedef void* (*pFp_t)(void*); +typedef SDL2_GUID_t (*JFi_t)(int32_t); typedef void (*vFpp_t)(void*, void*); typedef void (*vFpV_t)(void*, ...); typedef int32_t (*iFip_t)(int32_t, void*); +typedef int32_t (*iFpi_t)(void*, int32_t); typedef int32_t (*iFpp_t)(void*, void*); +typedef void* (*pFpi_t)(void*, int32_t); typedef void* (*pFpp_t)(void*, void*); typedef int32_t (*iFppV_t)(void*, void*, ...); +typedef void* (*pFpii_t)(void*, int32_t, int32_t); typedef void* (*pFppp_t)(void*, void*, void*); typedef int32_t (*iFpLpp_t)(void*, uintptr_t, void*, void*); typedef int32_t (*iFpLpV_t)(void*, uintptr_t, void*, ...); @@ -30,14 +34,25 @@ typedef void* (*pFpiiiiu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t) #define SUPER() ADDED_FUNCTIONS() \ GO(SDL_FreeSurface, vFp_t) \ GO(SDL_PollEvent, iFp_t) \ + GO(SDL_PushEvent, iFp_t) \ GO(SDL_GetBasePath, pFv_t) \ GO(SDL_GL_GetProcAddress, pFp_t) \ + GO(SDL_JoystickGetDeviceGUID, JFi_t) \ + GO(SDL_AddEventWatch, vFpp_t) \ + GO(SDL_DelEventWatch, vFpp_t) \ GO(SDL_SetWindowIcon, vFpp_t) \ GO(SDL_Log, vFpV_t) \ + GO(SDL_GetCurrentDisplayMode, iFip_t) \ GO(SDL_GetDesktopDisplayMode, iFip_t) \ + GO(SDL_WaitEventTimeout, iFpi_t) \ + GO(SDL_GetWindowDisplayMode, iFpp_t) \ GO(SDL_OpenAudio, iFpp_t) \ + GO(SDL_SetWindowDisplayMode, iFpp_t) \ + GO(SDL_LoadBMP_RW, pFpi_t) \ + GO(SDL_notreal, pFpi_t) \ GO(SDL_RWFromFile, pFpp_t) \ GO(SDL_sscanf, iFppV_t) \ + GO(SDL_CreateColorCursor, pFpii_t) \ GO(SDL_CreateThread, pFppp_t) \ GO(SDL_vsnprintf, iFpLpp_t) \ GO(SDL_snprintf, iFpLpV_t) \ diff --git a/src/wrapped32/generated/wrappedsdl2undefs32.h b/src/wrapped32/generated/wrappedsdl2undefs32.h index 71be2e55..3bacf653 100644 --- a/src/wrapped32/generated/wrappedsdl2undefs32.h +++ b/src/wrapped32/generated/wrappedsdl2undefs32.h @@ -4,5 +4,7 @@ #ifndef __wrappedsdl2UNDEFS32_H_ #define __wrappedsdl2UNDEFS32_H_ +#undef JFEi +#undef JFEi_32 #endif // __wrappedsdl2UNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index bef6ca09..de01ca30 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -152,6 +152,7 @@ typedef uintptr_t (*LFp_t)(void*); typedef void* (*pFv_t)(void); typedef void* (*pFi_t)(int32_t); typedef void* (*pFu_t)(uint32_t); +typedef void* (*pFl_t)(intptr_t); typedef void* (*pFL_t)(uintptr_t); typedef void* (*pFp_t)(void*); typedef void* (*pFX_t)(void*); @@ -417,6 +418,7 @@ typedef int32_t (*iFpip_t)(void*, int32_t, void*); typedef int32_t (*iFpuC_t)(void*, uint32_t, uint8_t); typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t); typedef int32_t (*iFpuU_t)(void*, uint32_t, uint64_t); +typedef int32_t (*iFpfu_t)(void*, float, uint32_t); typedef int32_t (*iFpLi_t)(void*, uintptr_t, int32_t); typedef int32_t (*iFpLp_t)(void*, uintptr_t, void*); typedef int32_t (*iFppi_t)(void*, void*, int32_t); @@ -591,6 +593,7 @@ typedef void (*vFulpp_t)(uint32_t, intptr_t, void*, void*); typedef void (*vFupii_t)(uint32_t, void*, int32_t, int32_t); typedef void (*vFuppi_t)(uint32_t, void*, void*, int32_t); typedef void (*vFuppu_t)(uint32_t, void*, void*, uint32_t); +typedef void (*vFUUpi_t)(uint64_t, uint64_t, void*, int32_t); typedef void (*vFffff_t)(float, float, float, float); typedef void (*vFdddd_t)(double, double, double, double); typedef void (*vFllii_t)(intptr_t, intptr_t, int32_t, int32_t); @@ -978,6 +981,7 @@ typedef void (*vFudddddd_t)(uint32_t, double, double, double, double, double, do typedef void (*vFlliiiip_t)(intptr_t, intptr_t, int32_t, int32_t, int32_t, int32_t, void*); typedef void (*vFpipipiu_t)(void*, int32_t, void*, int32_t, void*, int32_t, uint32_t); typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, double); +typedef int32_t (*iFEpuiupV_t)(x64emu_t*, void*, uint32_t, int32_t, uint32_t, void*, void*); typedef int32_t (*iFEpLiipV_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFEXLpppp_t)(x64emu_t*, void*, uintptr_t, void*, void*, void*, void*); typedef int32_t (*iFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); @@ -1017,6 +1021,7 @@ typedef void (*vFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, u typedef void (*vFuuufffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float, float); typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float); typedef int32_t (*iFEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*); +typedef int32_t (*iFEpLiLppp_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*, void*); typedef int32_t (*iFuiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef int32_t (*iFXpIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*); typedef uint8_t (*CFuiifpppp_t)(uint32_t, int32_t, int32_t, float, void*, void*, void*, void*); @@ -1206,6 +1211,7 @@ void LFp_32(x64emu_t *emu, uintptr_t fcn) { LFp_t fn = (LFp_t)fcn; R_EAX = to_ul void pFv_32(x64emu_t *emu, uintptr_t fcn) { pFv_t fn = (pFv_t)fcn; R_EAX = to_ptrv(fn()); } void pFi_32(x64emu_t *emu, uintptr_t fcn) { pFi_t fn = (pFi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4))); } void pFu_32(x64emu_t *emu, uintptr_t fcn) { pFu_t fn = (pFu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4))); } +void pFl_32(x64emu_t *emu, uintptr_t fcn) { pFl_t fn = (pFl_t)fcn; R_EAX = to_ptrv(fn(to_long(from_ptri(long_t, R_ESP + 4)))); } void pFL_32(x64emu_t *emu, uintptr_t fcn) { pFL_t fn = (pFL_t)fcn; R_EAX = to_ptrv(fn(to_ulong(from_ptri(ulong_t, R_ESP + 4)))); } void pFp_32(x64emu_t *emu, uintptr_t fcn) { pFp_t fn = (pFp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4))); } void pFX_32(x64emu_t *emu, uintptr_t fcn) { pFX_t fn = (pFX_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)))); } @@ -1471,6 +1477,7 @@ void iFpip_32(x64emu_t *emu, uintptr_t fcn) { iFpip_t fn = (iFpip_t)fcn; R_EAX = void iFpuC_32(x64emu_t *emu, uintptr_t fcn) { iFpuC_t fn = (iFpuC_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12)); } void iFpuu_32(x64emu_t *emu, uintptr_t fcn) { iFpuu_t fn = (iFpuu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } void iFpuU_32(x64emu_t *emu, uintptr_t fcn) { iFpuU_t fn = (iFpuU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); } +void iFpfu_32(x64emu_t *emu, uintptr_t fcn) { iFpfu_t fn = (iFpfu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } void iFpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpLi_t fn = (iFpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); } void iFpLp_32(x64emu_t *emu, uintptr_t fcn) { iFpLp_t fn = (iFpLp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } void iFppi_32(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } @@ -1645,6 +1652,7 @@ void vFulpp_32(x64emu_t *emu, uintptr_t fcn) { vFulpp_t fn = (vFulpp_t)fcn; fn(f void vFupii_32(x64emu_t *emu, uintptr_t fcn) { vFupii_t fn = (vFupii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void vFuppi_32(x64emu_t *emu, uintptr_t fcn) { vFuppi_t fn = (vFuppi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void vFuppu_32(x64emu_t *emu, uintptr_t fcn) { vFuppu_t fn = (vFuppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void vFUUpi_32(x64emu_t *emu, uintptr_t fcn) { vFUUpi_t fn = (vFUUpi_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 12), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } void vFffff_32(x64emu_t *emu, uintptr_t fcn) { vFffff_t fn = (vFffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); } void vFdddd_32(x64emu_t *emu, uintptr_t fcn) { vFdddd_t fn = (vFdddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28)); } void vFllii_32(x64emu_t *emu, uintptr_t fcn) { vFllii_t fn = (vFllii_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } @@ -2032,6 +2040,7 @@ void vFudddddd_32(x64emu_t *emu, uintptr_t fcn) { vFudddddd_t fn = (vFudddddd_t) void vFlliiiip_32(x64emu_t *emu, uintptr_t fcn) { vFlliiiip_t fn = (vFlliiiip_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } void vFpipipiu_32(x64emu_t *emu, uintptr_t fcn) { vFpipipiu_t fn = (vFpipipiu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); } void vFpddiidd_32(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40)); } +void iFEpuiupV_32(x64emu_t *emu, uintptr_t fcn) { iFEpuiupV_t fn = (iFEpuiupV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); } void iFEpLiipV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiipV_t fn = (iFEpLiipV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); } void iFEXLpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpppp_t fn = (iFEXLpppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuup_t fn = (iFuiiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } @@ -2071,6 +2080,7 @@ void vFuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu void vFuuufffff_32(x64emu_t *emu, uintptr_t fcn) { vFuuufffff_t fn = (vFuuufffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); } void vFffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); } void iFEpippppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } +void iFEpLiLppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiLppp_t fn = (iFEpLiLppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } void iFuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiiuup_t fn = (iFuiiiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } void iFXpIIIppp_32(x64emu_t *emu, uintptr_t fcn) { iFXpIIIppp_t fn = (iFXpIIIppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44)); } void CFuiifpppp_32(x64emu_t *emu, uintptr_t fcn) { CFuiifpppp_t fn = (CFuiifpppp_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index c040c523..118dc064 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -103,6 +103,7 @@ void LFp_32(x64emu_t *emu, uintptr_t fnc); void pFv_32(x64emu_t *emu, uintptr_t fnc); void pFi_32(x64emu_t *emu, uintptr_t fnc); void pFu_32(x64emu_t *emu, uintptr_t fnc); +void pFl_32(x64emu_t *emu, uintptr_t fnc); void pFL_32(x64emu_t *emu, uintptr_t fnc); void pFp_32(x64emu_t *emu, uintptr_t fnc); void pFX_32(x64emu_t *emu, uintptr_t fnc); @@ -368,6 +369,7 @@ void iFpip_32(x64emu_t *emu, uintptr_t fnc); void iFpuC_32(x64emu_t *emu, uintptr_t fnc); void iFpuu_32(x64emu_t *emu, uintptr_t fnc); void iFpuU_32(x64emu_t *emu, uintptr_t fnc); +void iFpfu_32(x64emu_t *emu, uintptr_t fnc); void iFpLi_32(x64emu_t *emu, uintptr_t fnc); void iFpLp_32(x64emu_t *emu, uintptr_t fnc); void iFppi_32(x64emu_t *emu, uintptr_t fnc); @@ -542,6 +544,7 @@ void vFulpp_32(x64emu_t *emu, uintptr_t fnc); void vFupii_32(x64emu_t *emu, uintptr_t fnc); void vFuppi_32(x64emu_t *emu, uintptr_t fnc); void vFuppu_32(x64emu_t *emu, uintptr_t fnc); +void vFUUpi_32(x64emu_t *emu, uintptr_t fnc); void vFffff_32(x64emu_t *emu, uintptr_t fnc); void vFdddd_32(x64emu_t *emu, uintptr_t fnc); void vFllii_32(x64emu_t *emu, uintptr_t fnc); @@ -929,6 +932,7 @@ void vFudddddd_32(x64emu_t *emu, uintptr_t fnc); void vFlliiiip_32(x64emu_t *emu, uintptr_t fnc); void vFpipipiu_32(x64emu_t *emu, uintptr_t fnc); void vFpddiidd_32(x64emu_t *emu, uintptr_t fnc); +void iFEpuiupV_32(x64emu_t *emu, uintptr_t fnc); void iFEpLiipV_32(x64emu_t *emu, uintptr_t fnc); void iFEXLpppp_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiuup_32(x64emu_t *emu, uintptr_t fnc); @@ -968,6 +972,7 @@ void vFuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); void vFuuufffff_32(x64emu_t *emu, uintptr_t fnc); void vFffffffff_32(x64emu_t *emu, uintptr_t fnc); void iFEpippppp_32(x64emu_t *emu, uintptr_t fnc); +void iFEpLiLppp_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiiuup_32(x64emu_t *emu, uintptr_t fnc); void iFXpIIIppp_32(x64emu_t *emu, uintptr_t fnc); void CFuiifpppp_32(x64emu_t *emu, uintptr_t fnc); -- cgit 1.4.1