From 144830bc05d8c006e5924ba602d5fac59692a7f0 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 25 Sep 2024 12:29:46 +0200 Subject: [PATCH] [BOX32][WRAPPER] Added some more 32bits wrapped function, and fixed a few more --- rebuild_wrappers_32.py | 3 +- src/wrapped32/generated/functions_list.txt | 38 +++++- .../generated/wrappedlibx11types32.h | 12 ++ .../generated/wrappedlibxrandrtypes32.h | 7 +- src/wrapped32/generated/wrapper32.c | 45 ++++++- src/wrapped32/generated/wrapper32.h | 21 +++- src/wrapped32/wrappedlibc_private.h | 26 ++-- src/wrapped32/wrappedlibgl.c | 20 ++-- src/wrapped32/wrappedlibgl_private.h | 30 ++--- src/wrapped32/wrappedlibrt_private.h | 2 +- src/wrapped32/wrappedlibx11.c | 112 +++++++++++++++--- src/wrapped32/wrappedlibx11_private.h | 36 +++--- src/wrapped32/wrappedlibxrandr.c | 44 +++++++ src/wrapped32/wrappedlibxrandr_private.h | 14 +-- 14 files changed, 325 insertions(+), 85 deletions(-) diff --git a/rebuild_wrappers_32.py b/rebuild_wrappers_32.py index c3a70def..8b63bf6a 100755 --- a/rebuild_wrappers_32.py +++ b/rebuild_wrappers_32.py @@ -1149,7 +1149,7 @@ def generate_files(root: str, files: Iterable[str], ver: str, gbls: SortedGlobal "\n#error Invalid return type: wo structure declaration\n", # B "\n#error Invalid return type: end of structure declaration\n", # _ "R_EAX = to_cstring(fn({0}));", # t - "\n#error Invalid return type: Display* declaration\n", # X + "R_EAX = to_ptrv(FindDisplay(fn({0})));", # X ] asargs = [ "emu, ", # E @@ -1296,6 +1296,7 @@ def generate_files(root: str, files: Iterable[str], ver: str, gbls: SortedGlobal int of_convert32(int); void* getDisplay(void*); + void* FindDisplay(void*); """, "wrapper32.h": """ diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index abf082bb..50d07e21 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -70,6 +70,7 @@ #() tFi -> tFi #() tFu -> tFu #() tFp -> tFp +#() XFv -> XFv #() iFBp_ -> iFB #() LFrL_ -> LFB #() pFrL_ -> pFB @@ -272,6 +273,7 @@ #() vFlip -> vFlip #() vFllp -> vFllp #() vFlpp -> vFlpp +#() vFpii -> vFpii #() vFpip -> vFpip #() vFpuU -> vFpuU #() vFpuf -> vFpuf @@ -319,6 +321,7 @@ #() iFpuu -> iFpuu #() iFpuU -> iFpuU #() iFpLi -> iFpLi +#() iFpLp -> iFpLp #() iFppi -> iFppi #() iFppu -> iFppu #() iFppL -> iFppL @@ -332,6 +335,7 @@ #() iFSli -> iFSli #() iFXip -> iFXip #() iFXuu -> iFXuu +#() iFXLl -> iFXLl #() iFXLL -> iFXLL #() iFXLp -> iFXLp #() iFXpu -> iFXpu @@ -350,7 +354,6 @@ #() fFuii -> fFuii #() fFfff -> fFfff #() fFffp -> fFffp -#() fFppa -> fFppa #() dFddd -> dFddd #() dFddp -> dFddp #() lFipL -> lFipL @@ -369,6 +372,7 @@ #() pFEXL -> pFEXL #() pFEXp -> pFEXp #() pFipi -> pFipi +#() pFipL -> pFipL #() pFulu -> pFulu #() pFpii -> pFpii #() pFpiL -> pFpiL @@ -391,6 +395,7 @@ #() iFBp_pi -> iFBpi #() IFpBp_i -> IFpBi #() UFpBp_i -> UFpBi +#() fFpBp_a -> fFpBa #() dFpBp_i -> dFpBi #() dFpBp_a -> dFpBa #() lFpBp_i -> lFpBi @@ -538,11 +543,13 @@ #() lFEipi -> lFEipi #() lFiipL -> lFiipL #() lFipLi -> lFipLi +#() lFipLl -> lFipLl #() lFpuip -> lFpuip #() LFEXii -> LFEXii #() LFpLLS -> LFpLLS #() LFppLp -> LFppLp #() LFppLa -> LFppLa +#() LFXCii -> LFXCii #() LFXLpi -> LFXLpi #() pFEupp -> pFEupp #() pFEppi -> pFEppi @@ -571,6 +578,7 @@ #() LFpbp_Lp -> LFpBLp #() iFEpprLL_ -> iFEppB #() vFXLrpLiL_L -> vFXLBL +#() iFuirLL_BLL_ -> iFuiBB #() iFXLpBLWWWcc_ -> iFXLpB #() LFpLpriiiiiiiiilt_ -> LFpLpB #() vFEuipp -> vFEuipp @@ -676,6 +684,8 @@ #() iFEpppi -> iFEpppi #() iFEpppp -> iFEpppp #() iFEXLpi -> iFEXLpi +#() iFEXpLp -> iFEXpLp +#() iFEXppp -> iFEXppp #() iFiiipu -> iFiiipu #() iFiiipp -> iFiiipp #() iFiLLLL -> iFiLLLL @@ -700,6 +710,7 @@ #() pFpippp -> pFpippp #() pFppuup -> pFppuup #() pFppupp -> pFppupp +#() pFXpipi -> pFXpipi #() iFEBh_ppp -> iFEBppp #() LFpbp_LLp -> LFpBLLp #() LFpBp_LLp -> LFpBLLp @@ -773,16 +784,19 @@ #() vFpdddii -> vFpdddii #() vFppupii -> vFppupii #() vFpppppp -> vFpppppp +#() vFXLiiii -> vFXLiiii #() iFEuppup -> iFEuppup #() iFEuppLp -> iFEuppLp #() iFEpiLpp -> iFEpiLpp #() iFEpppup -> iFEpppup #() iFEXLilp -> iFEXLilp #() iFEXpiup -> iFEXpiup +#() iFEXpppp -> iFEXpppp #() iFuiiuup -> iFuiiuup #() iFpiippp -> iFpiippp #() iFppiiii -> iFppiiii #() iFXLiiiL -> iFXLiiiL +#() iFXLpppp -> iFXLpppp #() iFXpIppp -> iFXpIppp #() uFupuufp -> uFupuufp #() lFipLipu -> lFipLipu @@ -843,6 +857,7 @@ #() vFpipipiu -> vFpipipiu #() vFpddiidd -> vFpddiidd #() iFEpLiipV -> iFEpLiipV +#() iFEXLpppp -> iFEXLpppp #() iFuiiiuup -> iFuiiiuup #() iFpWCiWCi -> iFpWCiWCi #() iFpupLpLi -> iFpupLpLi @@ -886,6 +901,7 @@ #() uFuupuuiuf -> uFuupuuiuf #() uFulpppppp -> uFulpppppp #() LFXLpuuLLu -> LFXLpuuLLu +#() iFXLLiippBL_ -> iFXLLiippB #() vFiiiiiiiii -> vFiiiiiiiii #() vFiiiiiiill -> vFiiiiiiill #() vFiiiiillli -> vFiiiiillli @@ -939,6 +955,7 @@ #() vFffffffffff -> vFffffffffff #() iFuiiiuuiiip -> iFuiiiuuiiip #() iFXuuLiuiiLL -> iFXuuLiuiiLL +#() pFpppppppppp -> pFpppppppppp #() pFXpuiipuuii -> pFXpuiipuuii #() vFiiiiillliip -> vFiiiiillliip #() vFiiiiilllilp -> vFiiiiilllilp @@ -956,6 +973,7 @@ #() vFUufffffffff -> vFUufffffffff #() vFpipipiipiiu -> vFpipipiipiiu #() iFEXLppiiiiuu -> iFEXLppiiiiuu +#() iFEXpLLiiLWpi -> iFEXpLLiiLWpi #() iFuiiiiuuiiip -> iFuiiiiuuiiip #() pFEXpuiipuuii -> pFEXpuiipuuii #() vFuiiiiiiiiuUC -> vFuiiiiiiiiuUC @@ -966,6 +984,7 @@ #() vFuuuuuuuuuuuu -> vFuuuuuuuuuuuu #() vFffffffffffff -> vFffffffffffff #() pFEXLiiuuLipii -> pFEXLiiuuLipii +#() iFXLLlliLBL_pBL_BL_Bp_ -> iFXLLlliLBpBBB #() vFuiiiiiiiiiuup -> vFuiiiiiiiiiuup #() vFuuuuuuuuuuuuu -> vFuuuuuuuuuuuuu #() vFuUuuuuuuuuuuu -> vFuUuuuuuuuuuuu @@ -1380,6 +1399,7 @@ wrappedlibrt: wrappedlibx11: - iFp: - XDestroyImage + - XFreeExtensionList - XInitImage - _XInitImageFuncPtrs - iFX: @@ -1387,10 +1407,14 @@ wrappedlibx11: - pFp: - XOpenDisplay - XSetErrorHandler +- iFpL: + - XFilterEvent - iFXp: - XNextEvent - pFpV: - XCreateIC +- pFXp: + - XListExtensions - vFXLp: - XSetWMNormalHints - iFpip: @@ -1404,18 +1428,25 @@ wrappedlibx11: - XGetPixel - iFXLpi: - XSetWMProtocols +- iFXppp: + - XIfEvent - iFXLilp: - XSendEvent - iFXpiup: - Xutf8TextListToTextProperty +- iFXpppp: + - XQueryExtension - pFpiiuu: - XSubImage +- iFXLpppp: + - XQueryTree - iFXLLLiipi: - XChangeProperty - pFXLiiuuLi: - XGetImage - vFXLpppippp: - XSetWMProperties + - Xutf8SetWMProperties - iFXLppiiiiuu: - XPutImage - pFXpuiipuuii: @@ -1432,6 +1463,11 @@ wrappedlibxrandr: - pFXpL: - XRRGetCrtcInfo - XRRGetOutputInfo + - XRRGetPanning +- iFXpLp: + - XRRSetPanning +- iFXpLLiiLWpi: + - XRRSetCrtcConfig wrappedlibxrender: wrappedopenal: - vFv: diff --git a/src/wrapped32/generated/wrappedlibx11types32.h b/src/wrapped32/generated/wrappedlibx11types32.h index 37fd4e52..9790f289 100644 --- a/src/wrapped32/generated/wrappedlibx11types32.h +++ b/src/wrapped32/generated/wrappedlibx11types32.h @@ -14,17 +14,22 @@ typedef int32_t (*iFp_t)(void*); typedef int32_t (*iFX_t)(void*); typedef void* (*pFp_t)(void*); +typedef int32_t (*iFpL_t)(void*, uintptr_t); typedef int32_t (*iFXp_t)(void*, void*); typedef void* (*pFpV_t)(void*, ...); +typedef void* (*pFXp_t)(void*, void*); typedef void (*vFXLp_t)(void*, uintptr_t, void*); typedef int32_t (*iFpip_t)(void*, int32_t, void*); typedef int32_t (*iFXip_t)(void*, int32_t, void*); typedef int32_t (*iFXLp_t)(void*, uintptr_t, void*); typedef uintptr_t (*LFXii_t)(void*, int32_t, int32_t); typedef int32_t (*iFXLpi_t)(void*, uintptr_t, void*, int32_t); +typedef int32_t (*iFXppp_t)(void*, void*, void*, void*); typedef int32_t (*iFXLilp_t)(void*, uintptr_t, int32_t, intptr_t, void*); typedef int32_t (*iFXpiup_t)(void*, void*, int32_t, uint32_t, void*); +typedef int32_t (*iFXpppp_t)(void*, void*, void*, void*, void*); typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t); +typedef int32_t (*iFXLpppp_t)(void*, uintptr_t, void*, void*, void*, void*); typedef int32_t (*iFXLLLiipi_t)(void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t); typedef void* (*pFXLiiuuLi_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t); typedef void (*vFXLpppippp_t)(void*, uintptr_t, void*, void*, void*, int32_t, void*, void*, void*); @@ -35,13 +40,16 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32 #define SUPER() ADDED_FUNCTIONS() \ GO(XDestroyImage, iFp_t) \ + GO(XFreeExtensionList, iFp_t) \ GO(XInitImage, iFp_t) \ GO(_XInitImageFuncPtrs, iFp_t) \ GO(XCloseDisplay, iFX_t) \ GO(XOpenDisplay, pFp_t) \ GO(XSetErrorHandler, pFp_t) \ + GO(XFilterEvent, iFpL_t) \ GO(XNextEvent, iFXp_t) \ GO(XCreateIC, pFpV_t) \ + GO(XListExtensions, pFXp_t) \ GO(XSetWMNormalHints, vFXLp_t) \ GO(XStringListToTextProperty, iFpip_t) \ GO(XCheckTypedEvent, iFXip_t) \ @@ -49,12 +57,16 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32 GO(XSetWMHints, iFXLp_t) \ GO(XGetPixel, LFXii_t) \ GO(XSetWMProtocols, iFXLpi_t) \ + GO(XIfEvent, iFXppp_t) \ GO(XSendEvent, iFXLilp_t) \ GO(Xutf8TextListToTextProperty, iFXpiup_t) \ + GO(XQueryExtension, iFXpppp_t) \ GO(XSubImage, pFpiiuu_t) \ + GO(XQueryTree, iFXLpppp_t) \ GO(XChangeProperty, iFXLLLiipi_t) \ GO(XGetImage, pFXLiiuuLi_t) \ GO(XSetWMProperties, vFXLpppippp_t) \ + GO(Xutf8SetWMProperties, vFXLpppippp_t) \ GO(XPutImage, iFXLppiiiiuu_t) \ GO(XCreateImage, pFXpuiipuuii_t) \ GO(XGetSubImage, pFXLiiuuLipii_t) \ diff --git a/src/wrapped32/generated/wrappedlibxrandrtypes32.h b/src/wrapped32/generated/wrappedlibxrandrtypes32.h index 6acabbe8..631a4713 100644 --- a/src/wrapped32/generated/wrappedlibxrandrtypes32.h +++ b/src/wrapped32/generated/wrappedlibxrandrtypes32.h @@ -13,10 +13,15 @@ typedef void* (*pFXL_t)(void*, uintptr_t); typedef void* (*pFXpL_t)(void*, void*, uintptr_t); +typedef int32_t (*iFXpLp_t)(void*, void*, uintptr_t, void*); +typedef int32_t (*iFXpLLiiLWpi_t)(void*, void*, uintptr_t, uintptr_t, int32_t, int32_t, uintptr_t, uint16_t, void*, int32_t); #define SUPER() ADDED_FUNCTIONS() \ GO(XRRGetScreenResources, pFXL_t) \ GO(XRRGetCrtcInfo, pFXpL_t) \ - GO(XRRGetOutputInfo, pFXpL_t) + GO(XRRGetOutputInfo, pFXpL_t) \ + GO(XRRGetPanning, pFXpL_t) \ + GO(XRRSetPanning, iFXpLp_t) \ + GO(XRRSetCrtcConfig, iFXpLLiiLWpi_t) #endif // __wrappedlibxrandrTYPES32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index a4e6e515..0df2c82a 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -86,6 +86,7 @@ void VulkanTox86(void* src, void* save); int of_convert32(int); void* getDisplay(void*); +void* FindDisplay(void*); typedef void (*vFv_t)(void); typedef void (*vFc_t)(int8_t); @@ -159,6 +160,7 @@ typedef void* (*aFa_t)(void*); typedef char* (*tFi_t)(int32_t); typedef char* (*tFu_t)(uint32_t); typedef char* (*tFp_t)(void*); +typedef void* (*XFv_t)(void); typedef int32_t (*iFBp__t)(struct_p_t*); typedef uintptr_t (*LFrL__t)(struct_L_t*); typedef void* (*pFrL__t)(struct_L_t*); @@ -361,6 +363,7 @@ typedef void (*vFlii_t)(intptr_t, int32_t, int32_t); typedef void (*vFlip_t)(intptr_t, int32_t, void*); typedef void (*vFllp_t)(intptr_t, intptr_t, void*); typedef void (*vFlpp_t)(intptr_t, void*, void*); +typedef void (*vFpii_t)(void*, int32_t, int32_t); typedef void (*vFpip_t)(void*, int32_t, void*); typedef void (*vFpuU_t)(void*, uint32_t, uint64_t); typedef void (*vFpuf_t)(void*, uint32_t, float); @@ -408,6 +411,7 @@ 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 (*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); typedef int32_t (*iFppu_t)(void*, void*, uint32_t); typedef int32_t (*iFppL_t)(void*, void*, uintptr_t); @@ -421,6 +425,7 @@ typedef int32_t (*iFSIi_t)(void*, int64_t, int32_t); typedef int32_t (*iFSli_t)(void*, intptr_t, int32_t); typedef int32_t (*iFXip_t)(void*, int32_t, void*); typedef int32_t (*iFXuu_t)(void*, uint32_t, uint32_t); +typedef int32_t (*iFXLl_t)(void*, uintptr_t, intptr_t); typedef int32_t (*iFXLL_t)(void*, uintptr_t, uintptr_t); typedef int32_t (*iFXLp_t)(void*, uintptr_t, void*); typedef int32_t (*iFXpu_t)(void*, void*, uint32_t); @@ -439,7 +444,6 @@ typedef uint32_t (*uFpuU_t)(void*, uint32_t, uint64_t); typedef float (*fFuii_t)(uint32_t, int32_t, int32_t); typedef float (*fFfff_t)(float, float, float); typedef float (*fFffp_t)(float, float, void*); -typedef float (*fFppa_t)(void*, void*, void*); typedef double (*dFddd_t)(double, double, double); typedef double (*dFddp_t)(double, double, void*); typedef intptr_t (*lFipL_t)(int32_t, void*, uintptr_t); @@ -458,6 +462,7 @@ typedef void* (*pFEpV_t)(x64emu_t*, void*, void*); typedef void* (*pFEXL_t)(x64emu_t*, void*, uintptr_t); typedef void* (*pFEXp_t)(x64emu_t*, void*, void*); typedef void* (*pFipi_t)(int32_t, void*, int32_t); +typedef void* (*pFipL_t)(int32_t, void*, uintptr_t); typedef void* (*pFulu_t)(uint32_t, intptr_t, uint32_t); typedef void* (*pFpii_t)(void*, int32_t, int32_t); typedef void* (*pFpiL_t)(void*, int32_t, uintptr_t); @@ -480,6 +485,7 @@ typedef int32_t (*iFBp_LL_t)(struct_p_t*, uintptr_t, uintptr_t); typedef int32_t (*iFBp_pi_t)(struct_p_t*, void*, int32_t); typedef int64_t (*IFpBp_i_t)(void*, struct_p_t*, int32_t); typedef uint64_t (*UFpBp_i_t)(void*, struct_p_t*, int32_t); +typedef float (*fFpBp_a_t)(void*, struct_p_t*, void*); typedef double (*dFpBp_i_t)(void*, struct_p_t*, int32_t); typedef double (*dFpBp_a_t)(void*, struct_p_t*, void*); typedef intptr_t (*lFpBp_i_t)(void*, struct_p_t*, int32_t); @@ -627,11 +633,13 @@ typedef uint32_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t); typedef intptr_t (*lFEipi_t)(x64emu_t*, int32_t, void*, int32_t); typedef intptr_t (*lFiipL_t)(int32_t, int32_t, void*, uintptr_t); typedef intptr_t (*lFipLi_t)(int32_t, void*, uintptr_t, int32_t); +typedef intptr_t (*lFipLl_t)(int32_t, void*, uintptr_t, intptr_t); typedef intptr_t (*lFpuip_t)(void*, uint32_t, int32_t, void*); typedef uintptr_t (*LFEXii_t)(x64emu_t*, void*, int32_t, int32_t); typedef uintptr_t (*LFpLLS_t)(void*, uintptr_t, uintptr_t, void*); typedef uintptr_t (*LFppLp_t)(void*, void*, uintptr_t, void*); typedef uintptr_t (*LFppLa_t)(void*, void*, uintptr_t, void*); +typedef uintptr_t (*LFXCii_t)(void*, uint8_t, int32_t, int32_t); typedef uintptr_t (*LFXLpi_t)(void*, uintptr_t, void*, int32_t); typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*); typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t); @@ -660,6 +668,7 @@ typedef intptr_t (*lFiibp_L_t)(int32_t, int32_t, struct_p_t*, uintptr_t); typedef uintptr_t (*LFpbp_Lp_t)(void*, struct_p_t*, uintptr_t, void*); typedef int32_t (*iFEpprLL__t)(x64emu_t*, void*, void*, struct_LL_t*); typedef void (*vFXLrpLiL_L_t)(void*, uintptr_t, struct_pLiL_t*, uintptr_t); +typedef int32_t (*iFuirLL_BLL__t)(uint32_t, int32_t, struct_LL_t*, struct_LL_t*); typedef int32_t (*iFXLpBLWWWcc__t)(void*, uintptr_t, void*, struct_LWWWcc_t*); typedef uintptr_t (*LFpLpriiiiiiiiilt__t)(void*, uintptr_t, void*, struct_iiiiiiiiilt_t*); typedef void (*vFEuipp_t)(x64emu_t*, uint32_t, int32_t, void*, void*); @@ -765,6 +774,8 @@ typedef int32_t (*iFEppiV_t)(x64emu_t*, void*, void*, int32_t, void*); typedef int32_t (*iFEpppi_t)(x64emu_t*, void*, void*, void*, int32_t); typedef int32_t (*iFEpppp_t)(x64emu_t*, void*, void*, void*, void*); typedef int32_t (*iFEXLpi_t)(x64emu_t*, void*, uintptr_t, void*, int32_t); +typedef int32_t (*iFEXpLp_t)(x64emu_t*, void*, void*, uintptr_t, void*); +typedef int32_t (*iFEXppp_t)(x64emu_t*, void*, void*, void*, void*); typedef int32_t (*iFiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t); typedef int32_t (*iFiiipp_t)(int32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFiLLLL_t)(int32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); @@ -789,6 +800,7 @@ typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t); typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*); typedef void* (*pFppuup_t)(void*, void*, uint32_t, uint32_t, void*); typedef void* (*pFppupp_t)(void*, void*, uint32_t, void*, void*); +typedef void* (*pFXpipi_t)(void*, void*, int32_t, void*, int32_t); typedef int32_t (*iFEBh_ppp_t)(x64emu_t*, struct_h_t*, void*, void*, void*); typedef uintptr_t (*LFpbp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*); typedef uintptr_t (*LFpBp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*); @@ -862,16 +874,19 @@ typedef void (*vFpipipV_t)(void*, int32_t, void*, int32_t, void*, void*); typedef void (*vFpdddii_t)(void*, double, double, double, int32_t, int32_t); typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t); typedef void (*vFpppppp_t)(void*, void*, void*, void*, void*, void*); +typedef void (*vFXLiiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFEuppup_t)(x64emu_t*, uint32_t, void*, void*, uint32_t, void*); typedef int32_t (*iFEuppLp_t)(x64emu_t*, uint32_t, void*, void*, uintptr_t, void*); typedef int32_t (*iFEpiLpp_t)(x64emu_t*, void*, int32_t, uintptr_t, void*, void*); typedef int32_t (*iFEpppup_t)(x64emu_t*, void*, void*, void*, uint32_t, void*); typedef int32_t (*iFEXLilp_t)(x64emu_t*, void*, uintptr_t, int32_t, intptr_t, void*); typedef int32_t (*iFEXpiup_t)(x64emu_t*, void*, void*, int32_t, uint32_t, void*); +typedef int32_t (*iFEXpppp_t)(x64emu_t*, void*, void*, void*, void*, void*); typedef int32_t (*iFuiiuup_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*); typedef int32_t (*iFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFXLiiiL_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t); +typedef int32_t (*iFXLpppp_t)(void*, uintptr_t, void*, void*, void*, void*); typedef int32_t (*iFXpIppp_t)(void*, void*, int64_t, void*, void*, void*); typedef uint32_t (*uFupuufp_t)(uint32_t, void*, uint32_t, uint32_t, float, void*); typedef intptr_t (*lFipLipu_t)(int32_t, void*, uintptr_t, int32_t, void*, uint32_t); @@ -932,6 +947,7 @@ typedef void (*vFlliiiip_t)(intptr_t, intptr_t, int32_t, int32_t, int32_t, int32 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 (*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*); typedef int32_t (*iFpWCiWCi_t)(void*, uint16_t, uint8_t, int32_t, uint16_t, uint8_t, int32_t); typedef int32_t (*iFpupLpLi_t)(void*, uint32_t, void*, uintptr_t, void*, uintptr_t, int32_t); @@ -975,6 +991,7 @@ typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*, typedef uint32_t (*uFuupuuiuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int32_t, uint32_t, float); typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*); typedef uintptr_t (*LFXLpuuLLu_t)(void*, uintptr_t, void*, uint32_t, uint32_t, uintptr_t, uintptr_t, uint32_t); +typedef int32_t (*iFXLLiippBL__t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, void*, void*, struct_L_t*); typedef void (*vFiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFiiiiiiill_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t); typedef void (*vFiiiiillli_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t); @@ -1028,6 +1045,7 @@ typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, doubl typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float); typedef int32_t (*iFuiiiuuiiip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFXuuLiuiiLL_t)(void*, uint32_t, uint32_t, uintptr_t, int32_t, uint32_t, int32_t, int32_t, uintptr_t, uintptr_t); +typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*); typedef void* (*pFXpuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t); typedef void (*vFiiiiillliip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, void*); typedef void (*vFiiiiilllilp_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*); @@ -1045,6 +1063,7 @@ typedef void (*vFuffffffffff_t)(uint32_t, float, float, float, float, float, flo typedef void (*vFUufffffffff_t)(uint64_t, uint32_t, float, float, float, float, float, float, float, float, float); typedef void (*vFpipipiipiiu_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t, void*, int32_t, int32_t, uint32_t); typedef int32_t (*iFEXLppiiiiuu_t)(x64emu_t*, void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t); +typedef int32_t (*iFEXpLLiiLWpi_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, int32_t, int32_t, uintptr_t, uint16_t, void*, int32_t); typedef int32_t (*iFuiiiiuuiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*); typedef void* (*pFEXpuiipuuii_t)(x64emu_t*, void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t); typedef void (*vFuiiiiiiiiuUC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint64_t, uint8_t); @@ -1055,6 +1074,7 @@ typedef void (*vFuuiiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, typedef void (*vFuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void (*vFffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float); typedef void* (*pFEXLiiuuLipii_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t, void*, int32_t, int32_t); +typedef int32_t (*iFXLLlliLBL_pBL_BL_Bp__t)(void*, uintptr_t, uintptr_t, intptr_t, intptr_t, int32_t, uintptr_t, struct_L_t*, void*, struct_L_t*, struct_L_t*, struct_p_t*); typedef void (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); typedef void (*vFuuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void (*vFuUuuuuuuuuuuu_t)(uint32_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); @@ -1160,6 +1180,7 @@ void aFa_32(x64emu_t *emu, uintptr_t fcn) { aFa_t fn = (aFa_t)fcn; R_EAX = to_lo void tFi_32(x64emu_t *emu, uintptr_t fcn) { tFi_t fn = (tFi_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4))); } void tFu_32(x64emu_t *emu, uintptr_t fcn) { tFu_t fn = (tFu_t)fcn; R_EAX = to_cstring(fn(from_ptri(uint32_t, R_ESP + 4))); } void tFp_32(x64emu_t *emu, uintptr_t fcn) { tFp_t fn = (tFp_t)fcn; R_EAX = to_cstring(fn(from_ptriv(R_ESP + 4))); } +void XFv_32(x64emu_t *emu, uintptr_t fcn) { XFv_t fn = (XFv_t)fcn; R_EAX = to_ptrv(FindDisplay(fn())); } void iFBp__32(x64emu_t *emu, uintptr_t fcn) { iFBp__t fn = (iFBp__t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void LFrL__32(x64emu_t *emu, uintptr_t fcn) { LFrL__t fn = (LFrL__t)fcn; struct_L_t arg_4={0}; from_struct_L(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ulong(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } void pFrL__32(x64emu_t *emu, uintptr_t fcn) { pFrL__t fn = (pFrL__t)fcn; struct_L_t arg_4={0}; from_struct_L(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } @@ -1362,6 +1383,7 @@ void vFlii_32(x64emu_t *emu, uintptr_t fcn) { vFlii_t fn = (vFlii_t)fcn; fn(to_l void vFlip_32(x64emu_t *emu, uintptr_t fcn) { vFlip_t fn = (vFlip_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void vFllp_32(x64emu_t *emu, uintptr_t fcn) { vFllp_t fn = (vFllp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } void vFlpp_32(x64emu_t *emu, uintptr_t fcn) { vFlpp_t fn = (vFlpp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFpii_32(x64emu_t *emu, uintptr_t fcn) { vFpii_t fn = (vFpii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void vFpip_32(x64emu_t *emu, uintptr_t fcn) { vFpip_t fn = (vFpip_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void vFpuU_32(x64emu_t *emu, uintptr_t fcn) { vFpuU_t fn = (vFpuU_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); } void vFpuf_32(x64emu_t *emu, uintptr_t fcn) { vFpuf_t fn = (vFpuf_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); } @@ -1409,6 +1431,7 @@ void iFpuC_32(x64emu_t *emu, uintptr_t fcn) { iFpuC_t fn = (iFpuC_t)fcn; R_EAX = 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 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)); } void iFppu_32(x64emu_t *emu, uintptr_t fcn) { iFppu_t fn = (iFppu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } void iFppL_32(x64emu_t *emu, uintptr_t fcn) { iFppL_t fn = (iFppL_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12))); } @@ -1422,6 +1445,7 @@ void iFSIi_32(x64emu_t *emu, uintptr_t fcn) { iFSIi_t fn = (iFSIi_t)fcn; R_EAX = void iFSli_32(x64emu_t *emu, uintptr_t fcn) { iFSli_t fn = (iFSli_t)fcn; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); } void iFXip_32(x64emu_t *emu, uintptr_t fcn) { iFXip_t fn = (iFXip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFXuu_32(x64emu_t *emu, uintptr_t fcn) { iFXuu_t fn = (iFXuu_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void iFXLl_32(x64emu_t *emu, uintptr_t fcn) { iFXLl_t fn = (iFXLl_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12))); } void iFXLL_32(x64emu_t *emu, uintptr_t fcn) { iFXLL_t fn = (iFXLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12))); } void iFXLp_32(x64emu_t *emu, uintptr_t fcn) { iFXLp_t fn = (iFXLp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } void iFXpu_32(x64emu_t *emu, uintptr_t fcn) { iFXpu_t fn = (iFXpu_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } @@ -1440,7 +1464,6 @@ void uFpuU_32(x64emu_t *emu, uintptr_t fcn) { uFpuU_t fn = (uFpuU_t)fcn; R_EAX = void fFuii_32(x64emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; float fl = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; } void fFfff_32(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; } void fFffp_32(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; } -void fFppa_32(x64emu_t *emu, uintptr_t fcn) { fFppa_t fn = (fFppa_t)fcn; float fl = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = fl; } void dFddd_32(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20)); fpu_do_push(emu); ST0val = db; } void dFddp_32(x64emu_t *emu, uintptr_t fcn) { dFddp_t fn = (dFddp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptriv(R_ESP + 20)); fpu_do_push(emu); ST0val = db; } void lFipL_32(x64emu_t *emu, uintptr_t fcn) { lFipL_t fn = (lFipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); } @@ -1459,6 +1482,7 @@ void pFEpV_32(x64emu_t *emu, uintptr_t fcn) { pFEpV_t fn = (pFEpV_t)fcn; R_EAX = void pFEXL_32(x64emu_t *emu, uintptr_t fcn) { pFEXL_t fn = (pFEXL_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); } void pFEXp_32(x64emu_t *emu, uintptr_t fcn) { pFEXp_t fn = (pFEXp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8))); } void pFipi_32(x64emu_t *emu, uintptr_t fcn) { pFipi_t fn = (pFipi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } +void pFipL_32(x64emu_t *emu, uintptr_t fcn) { pFipL_t fn = (pFipL_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); } void pFulu_32(x64emu_t *emu, uintptr_t fcn) { pFulu_t fn = (pFulu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12))); } void pFpii_32(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } void pFpiL_32(x64emu_t *emu, uintptr_t fcn) { pFpiL_t fn = (pFpiL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); } @@ -1481,6 +1505,7 @@ void iFBp_LL_32(x64emu_t *emu, uintptr_t fcn) { iFBp_LL_t fn = (iFBp_LL_t)fcn; s void iFBp_pi_32(x64emu_t *emu, uintptr_t fcn) { iFBp_pi_t fn = (iFBp_pi_t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void IFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { IFpBp_i_t fn = (IFpBp_i_t)fcn; struct_p_t arg_8={0}; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void UFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { UFpBp_i_t fn = (UFpBp_i_t)fcn; struct_p_t arg_8={0}; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void fFpBp_a_32(x64emu_t *emu, uintptr_t fcn) { fFpBp_a_t fn = (fFpBp_a_t)fcn; struct_p_t arg_8={0}; float fl = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = fl; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void dFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { dFpBp_i_t fn = (dFpBp_i_t)fcn; struct_p_t arg_8={0}; double db = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = db; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void dFpBp_a_32(x64emu_t *emu, uintptr_t fcn) { dFpBp_a_t fn = (dFpBp_a_t)fcn; struct_p_t arg_8={0}; double db = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = db; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void lFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { lFpBp_i_t fn = (lFpBp_i_t)fcn; struct_p_t arg_8={0}; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } @@ -1628,11 +1653,13 @@ void uFpCCC_32(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_EA void lFEipi_32(x64emu_t *emu, uintptr_t fcn) { lFEipi_t fn = (lFEipi_t)fcn; R_EAX = to_long(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } void lFiipL_32(x64emu_t *emu, uintptr_t fcn) { lFiipL_t fn = (lFiipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); } void lFipLi_32(x64emu_t *emu, uintptr_t fcn) { lFipLi_t fn = (lFipLi_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16))); } +void lFipLl_32(x64emu_t *emu, uintptr_t fcn) { lFipLl_t fn = (lFipLl_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)))); } void lFpuip_32(x64emu_t *emu, uintptr_t fcn) { lFpuip_t fn = (lFpuip_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16))); } void LFEXii_32(x64emu_t *emu, uintptr_t fcn) { LFEXii_t fn = (LFEXii_t)fcn; R_EAX = to_ulong(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } void LFpLLS_32(x64emu_t *emu, uintptr_t fcn) { LFpLLS_t fn = (LFpLLS_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), io_convert32(from_ptriv(R_ESP + 16)))); } void LFppLp_32(x64emu_t *emu, uintptr_t fcn) { LFppLp_t fn = (LFppLp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16))); } void LFppLa_32(x64emu_t *emu, uintptr_t fcn) { LFppLa_t fn = (LFppLa_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_locale(from_ptri(ptr_t, R_ESP + 16)))); } +void LFXCii_32(x64emu_t *emu, uintptr_t fcn) { LFXCii_t fn = (LFXCii_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint8_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); } void LFXLpi_32(x64emu_t *emu, uintptr_t fcn) { LFXLpi_t fn = (LFXLpi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); } void pFEupp_32(x64emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); } void pFEppi_32(x64emu_t *emu, uintptr_t fcn) { pFEppi_t fn = (pFEppi_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } @@ -1661,6 +1688,7 @@ void lFiibp_L_32(x64emu_t *emu, uintptr_t fcn) { lFiibp_L_t fn = (lFiibp_L_t)fcn void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_Lp_t fn = (LFpbp_Lp_t)fcn; struct_p_t arg_8={0}; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFEpprLL__32(x64emu_t *emu, uintptr_t fcn) { iFEpprLL__t fn = (iFEpprLL__t)fcn; struct_LL_t arg_12={0}; from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); } void vFXLrpLiL_L_32(x64emu_t *emu, uintptr_t fcn) { vFXLrpLiL_L_t fn = (vFXLrpLiL_L_t)fcn; struct_pLiL_t arg_12={0}; from_struct_pLiL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 16))); } +void iFuirLL_BLL__32(x64emu_t *emu, uintptr_t fcn) { iFuirLL_BLL__t fn = (iFuirLL_BLL__t)fcn; struct_LL_t arg_12={0}; from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_LL_t arg_16={0}; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LL(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void iFXLpBLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { iFXLpBLWWWcc__t fn = (iFXLpBLWWWcc__t)fcn; struct_LWWWcc_t arg_16={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt__t fn = (LFpLpriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_16={0}; from_struct_iiiiiiiiilt(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL)); } void vFEuipp_32(x64emu_t *emu, uintptr_t fcn) { vFEuipp_t fn = (vFEuipp_t)fcn; fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } @@ -1766,6 +1794,8 @@ void iFEppiV_32(x64emu_t *emu, uintptr_t fcn) { iFEppiV_t fn = (iFEppiV_t)fcn; R void iFEpppi_32(x64emu_t *emu, uintptr_t fcn) { iFEpppi_t fn = (iFEpppi_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void iFEpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpppp_t fn = (iFEpppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFEXLpi_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpi_t fn = (iFEXLpi_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_ptri(int32_t, R_ESP + 16)); } +void iFEXpLp_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLp_t fn = (iFEXpLp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } +void iFEXppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXppp_t fn = (iFEXppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFiiipu_32(x64emu_t *emu, uintptr_t fcn) { iFiiipu_t fn = (iFiiipu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } void iFiiipp_32(x64emu_t *emu, uintptr_t fcn) { iFiiipp_t fn = (iFiiipp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFiLLLL_32(x64emu_t *emu, uintptr_t fcn) { iFiLLLL_t fn = (iFiLLLL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), to_ulong(from_ptri(ulong_t, R_ESP + 20))); } @@ -1790,6 +1820,7 @@ void pFpiiuu_32(x64emu_t *emu, uintptr_t fcn) { pFpiiuu_t fn = (pFpiiuu_t)fcn; R void pFpippp_32(x64emu_t *emu, uintptr_t fcn) { pFpippp_t fn = (pFpippp_t)fcn; R_EAX = to_ptrv(fn(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))); } void pFppuup_32(x64emu_t *emu, uintptr_t fcn) { pFppuup_t fn = (pFppuup_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); } void pFppupp_32(x64emu_t *emu, uintptr_t fcn) { pFppupp_t fn = (pFppupp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); } +void pFXpipi_32(x64emu_t *emu, uintptr_t fcn) { pFXpipi_t fn = (pFXpipi_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20))); } void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fcn) { iFEBh_ppp_t fn = (iFEBh_ppp_t)fcn; struct_h_t arg_4={0}; R_EAX = fn(emu, *(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_h(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_LLp_t fn = (LFpbp_LLp_t)fcn; struct_p_t arg_8={0}; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpBp_LLp_t fn = (LFpBp_LLp_t)fcn; struct_p_t arg_8={0}; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } @@ -1863,16 +1894,19 @@ void vFpipipV_32(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn void vFpdddii_32(x64emu_t *emu, uintptr_t fcn) { vFpdddii_t fn = (vFpdddii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); } void vFppupii_32(x64emu_t *emu, uintptr_t fcn) { vFppupii_t fn = (vFppupii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } void vFpppppp_32(x64emu_t *emu, uintptr_t fcn) { vFpppppp_t fn = (vFpppppp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFXLiiii_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiii_t fn = (vFXLiiii_t)fcn; fn(getDisplay(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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } void iFEuppup_32(x64emu_t *emu, uintptr_t fcn) { iFEuppup_t fn = (iFEuppup_t)fcn; R_EAX = fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFEuppLp_32(x64emu_t *emu, uintptr_t fcn) { iFEuppLp_t fn = (iFEuppLp_t)fcn; R_EAX = fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); } void iFEpiLpp_32(x64emu_t *emu, uintptr_t fcn) { iFEpiLpp_t fn = (iFEpiLpp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFEpppup_32(x64emu_t *emu, uintptr_t fcn) { iFEpppup_t fn = (iFEpppup_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFEXLilp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLilp_t fn = (iFEXLilp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); } void iFEXpiup_32(x64emu_t *emu, uintptr_t fcn) { iFEXpiup_t fn = (iFEXpiup_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void iFEXpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXpppp_t fn = (iFEXpppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFuiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiuup_t fn = (iFuiiuup_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(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFpiippp_32(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFppiiii_32(x64emu_t *emu, uintptr_t fcn) { iFppiiii_t fn = (iFppiiii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(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)); } void iFXLiiiL_32(x64emu_t *emu, uintptr_t fcn) { iFXLiiiL_t fn = (iFXLiiiL_t)fcn; R_EAX = fn(getDisplay(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_ptri(int32_t, R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24))); } +void iFXLpppp_32(x64emu_t *emu, uintptr_t fcn) { iFXLpppp_t fn = (iFXLpppp_t)fcn; R_EAX = fn(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 iFXpIppp_32(x64emu_t *emu, uintptr_t fcn) { iFXpIppp_t fn = (iFXpIppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } void uFupuufp_32(x64emu_t *emu, uintptr_t fcn) { uFupuufp_t fn = (uFupuufp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptriv(R_ESP + 24)); } void lFipLipu_32(x64emu_t *emu, uintptr_t fcn) { lFipLipu_t fn = (lFipLipu_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24))); } @@ -1933,6 +1967,7 @@ void vFlliiiip_32(x64emu_t *emu, uintptr_t fcn) { vFlliiiip_t fn = (vFlliiiip_t) 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 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)); } void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fcn) { iFpWCiWCi_t fn = (iFpWCiWCi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint16_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } void iFpupLpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpupLpLi_t fn = (iFpupLpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28)); } @@ -1976,6 +2011,7 @@ void uFuipppppp_32(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(float, R_ESP + 32)); } void uFulpppppp_32(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_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), from_ptriv(R_ESP + 32)); } void LFXLpuuLLu_32(x64emu_t *emu, uintptr_t fcn) { LFXLpuuLLu_t fn = (LFXLpuuLLu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24)), to_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(uint32_t, R_ESP + 32))); } +void iFXLLiippBL__32(x64emu_t *emu, uintptr_t fcn) { iFXLLiippBL__t fn = (iFXLLiippBL__t)fcn; struct_L_t arg_32={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); } void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn(from_ptri(int32_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(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); } void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn(from_ptri(int32_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(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32)), to_long(from_ptri(long_t, R_ESP + 36))); } void vFiiiiillli_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn(from_ptri(int32_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), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36)); } @@ -2029,6 +2065,7 @@ void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddi void vFffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_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), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40)); } void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuuiiip_t fn = (iFuiiiuuiiip_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_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } void iFXuuLiuiiLL_32(x64emu_t *emu, uintptr_t fcn) { iFXuuLiuiiLL_t fn = (iFXuuLiuiiLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), to_ulong(from_ptri(ulong_t, R_ESP + 36)), to_ulong(from_ptri(ulong_t, R_ESP + 40))); } +void pFpppppppppp_32(x64emu_t *emu, uintptr_t fcn) { pFpppppppppp_t fn = (pFpppppppppp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(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), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40))); } void pFXpuiipuuii_32(x64emu_t *emu, uintptr_t fcn) { pFXpuiipuuii_t fn = (pFXpuiipuuii_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40))); } void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillliip_t fn = (vFiiiiillliip_t)fcn; fn(from_ptri(int32_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), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiilllilp_t fn = (vFiiiiilllilp_t)fcn; fn(from_ptri(int32_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), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), to_long(from_ptri(long_t, R_ESP + 40)), from_ptriv(R_ESP + 44)); } @@ -2046,6 +2083,7 @@ void vFuffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffffff_t fn = (vFuf void vFUufffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFUufffffffff_t fn = (vFUufffffffff_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4), 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), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48)); } void vFpipipiipiiu_32(x64emu_t *emu, uintptr_t fcn) { vFpipipiipiiu_t fn = (vFpipipiipiiu_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(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44)); } void iFEXLppiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { iFEXLppiiiiuu_t fn = (iFEXLppiiiiuu_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); } +void iFEXpLLiiLWpi_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLLiiLWpi_t fn = (iFEXpLLiiLWpi_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), to_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(uint16_t, R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); } void iFuiiiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiiuuiiip_t fn = (iFuiiiiuuiiip_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_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } void pFEXpuiipuuii_32(x64emu_t *emu, uintptr_t fcn) { pFEXpuiipuuii_t fn = (pFEXpuiipuuii_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40))); } void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiuUC_t fn = (vFuiiiiiiiiuUC_t)fcn; 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(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint64_t, R_ESP + 44), from_ptri(uint8_t, R_ESP + 52)); } @@ -2056,6 +2094,7 @@ void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuup_t fn = (vF void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuu_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(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48)); } void vFffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffffff_t fn = (vFffffffffffff_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), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48)); } void pFEXLiiuuLipii_32(x64emu_t *emu, uintptr_t fcn) { pFEXLiiuuLipii_t fn = (pFEXLiiuuLipii_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(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_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), to_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44))); } +void iFXLLlliLBL_pBL_BL_Bp__32(x64emu_t *emu, uintptr_t fcn) { iFXLLlliLBL_pBL_BL_Bp__t fn = (iFXLLlliLBL_pBL_BL_Bp__t)fcn; struct_L_t arg_32={0}; struct_L_t arg_40={0}; struct_L_t arg_44={0}; struct_p_t arg_48={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), to_ulong(from_ptri(ulong_t, R_ESP + 28)), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL, from_ptriv(R_ESP + 36), *(ptr_t*)(from_ptr((R_ESP + 40))) ? &arg_40 : NULL, *(ptr_t*)(from_ptr((R_ESP + 44))) ? &arg_44 : NULL, *(ptr_t*)(from_ptr((R_ESP + 48))) ? &arg_48 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); if (*(ptr_t*)(from_ptr((R_ESP + 40)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 40))), &arg_40); if (*(ptr_t*)(from_ptr((R_ESP + 44)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 44))), &arg_44); if (*(ptr_t*)(from_ptr((R_ESP + 48)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 48))), &arg_48); } void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; 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(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptriv(R_ESP + 52)); } void vFuuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuuu_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(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52)); } void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuUuuuuuuuuuuu_t fn = (vFuUuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52), from_ptri(uint32_t, R_ESP + 56)); } @@ -2123,9 +2162,9 @@ int isRetX87Wrapper32(wrapper_t fun) { if (fun == &fFuii_32) return 1; if (fun == &fFfff_32) return 1; if (fun == &fFffp_32) return 1; - if (fun == &fFppa_32) return 1; if (fun == &dFddd_32) return 1; if (fun == &dFddp_32) return 1; + if (fun == &fFpBp_a_32) return 1; if (fun == &dFpBp_i_32) return 1; if (fun == &dFpBp_a_32) return 1; #if defined(HAVE_LD80BITS) diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 5991410c..7abb23b4 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -111,6 +111,7 @@ void aFa_32(x64emu_t *emu, uintptr_t fnc); void tFi_32(x64emu_t *emu, uintptr_t fnc); void tFu_32(x64emu_t *emu, uintptr_t fnc); void tFp_32(x64emu_t *emu, uintptr_t fnc); +void XFv_32(x64emu_t *emu, uintptr_t fnc); void iFBp__32(x64emu_t *emu, uintptr_t fnc); void LFrL__32(x64emu_t *emu, uintptr_t fnc); void pFrL__32(x64emu_t *emu, uintptr_t fnc); @@ -313,6 +314,7 @@ void vFlii_32(x64emu_t *emu, uintptr_t fnc); void vFlip_32(x64emu_t *emu, uintptr_t fnc); void vFllp_32(x64emu_t *emu, uintptr_t fnc); void vFlpp_32(x64emu_t *emu, uintptr_t fnc); +void vFpii_32(x64emu_t *emu, uintptr_t fnc); void vFpip_32(x64emu_t *emu, uintptr_t fnc); void vFpuU_32(x64emu_t *emu, uintptr_t fnc); void vFpuf_32(x64emu_t *emu, uintptr_t fnc); @@ -360,6 +362,7 @@ 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 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); void iFppu_32(x64emu_t *emu, uintptr_t fnc); void iFppL_32(x64emu_t *emu, uintptr_t fnc); @@ -373,6 +376,7 @@ void iFSIi_32(x64emu_t *emu, uintptr_t fnc); void iFSli_32(x64emu_t *emu, uintptr_t fnc); void iFXip_32(x64emu_t *emu, uintptr_t fnc); void iFXuu_32(x64emu_t *emu, uintptr_t fnc); +void iFXLl_32(x64emu_t *emu, uintptr_t fnc); void iFXLL_32(x64emu_t *emu, uintptr_t fnc); void iFXLp_32(x64emu_t *emu, uintptr_t fnc); void iFXpu_32(x64emu_t *emu, uintptr_t fnc); @@ -391,7 +395,6 @@ void uFpuU_32(x64emu_t *emu, uintptr_t fnc); void fFuii_32(x64emu_t *emu, uintptr_t fnc); void fFfff_32(x64emu_t *emu, uintptr_t fnc); void fFffp_32(x64emu_t *emu, uintptr_t fnc); -void fFppa_32(x64emu_t *emu, uintptr_t fnc); void dFddd_32(x64emu_t *emu, uintptr_t fnc); void dFddp_32(x64emu_t *emu, uintptr_t fnc); void lFipL_32(x64emu_t *emu, uintptr_t fnc); @@ -410,6 +413,7 @@ void pFEpV_32(x64emu_t *emu, uintptr_t fnc); void pFEXL_32(x64emu_t *emu, uintptr_t fnc); void pFEXp_32(x64emu_t *emu, uintptr_t fnc); void pFipi_32(x64emu_t *emu, uintptr_t fnc); +void pFipL_32(x64emu_t *emu, uintptr_t fnc); void pFulu_32(x64emu_t *emu, uintptr_t fnc); void pFpii_32(x64emu_t *emu, uintptr_t fnc); void pFpiL_32(x64emu_t *emu, uintptr_t fnc); @@ -432,6 +436,7 @@ void iFBp_LL_32(x64emu_t *emu, uintptr_t fnc); void iFBp_pi_32(x64emu_t *emu, uintptr_t fnc); void IFpBp_i_32(x64emu_t *emu, uintptr_t fnc); void UFpBp_i_32(x64emu_t *emu, uintptr_t fnc); +void fFpBp_a_32(x64emu_t *emu, uintptr_t fnc); void dFpBp_i_32(x64emu_t *emu, uintptr_t fnc); void dFpBp_a_32(x64emu_t *emu, uintptr_t fnc); void lFpBp_i_32(x64emu_t *emu, uintptr_t fnc); @@ -579,11 +584,13 @@ void uFpCCC_32(x64emu_t *emu, uintptr_t fnc); void lFEipi_32(x64emu_t *emu, uintptr_t fnc); void lFiipL_32(x64emu_t *emu, uintptr_t fnc); void lFipLi_32(x64emu_t *emu, uintptr_t fnc); +void lFipLl_32(x64emu_t *emu, uintptr_t fnc); void lFpuip_32(x64emu_t *emu, uintptr_t fnc); void LFEXii_32(x64emu_t *emu, uintptr_t fnc); void LFpLLS_32(x64emu_t *emu, uintptr_t fnc); void LFppLp_32(x64emu_t *emu, uintptr_t fnc); void LFppLa_32(x64emu_t *emu, uintptr_t fnc); +void LFXCii_32(x64emu_t *emu, uintptr_t fnc); void LFXLpi_32(x64emu_t *emu, uintptr_t fnc); void pFEupp_32(x64emu_t *emu, uintptr_t fnc); void pFEppi_32(x64emu_t *emu, uintptr_t fnc); @@ -612,6 +619,7 @@ void lFiibp_L_32(x64emu_t *emu, uintptr_t fnc); void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fnc); void iFEpprLL__32(x64emu_t *emu, uintptr_t fnc); void vFXLrpLiL_L_32(x64emu_t *emu, uintptr_t fnc); +void iFuirLL_BLL__32(x64emu_t *emu, uintptr_t fnc); void iFXLpBLWWWcc__32(x64emu_t *emu, uintptr_t fnc); void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc); void vFEuipp_32(x64emu_t *emu, uintptr_t fnc); @@ -717,6 +725,8 @@ void iFEppiV_32(x64emu_t *emu, uintptr_t fnc); void iFEpppi_32(x64emu_t *emu, uintptr_t fnc); void iFEpppp_32(x64emu_t *emu, uintptr_t fnc); void iFEXLpi_32(x64emu_t *emu, uintptr_t fnc); +void iFEXpLp_32(x64emu_t *emu, uintptr_t fnc); +void iFEXppp_32(x64emu_t *emu, uintptr_t fnc); void iFiiipu_32(x64emu_t *emu, uintptr_t fnc); void iFiiipp_32(x64emu_t *emu, uintptr_t fnc); void iFiLLLL_32(x64emu_t *emu, uintptr_t fnc); @@ -741,6 +751,7 @@ void pFpiiuu_32(x64emu_t *emu, uintptr_t fnc); void pFpippp_32(x64emu_t *emu, uintptr_t fnc); void pFppuup_32(x64emu_t *emu, uintptr_t fnc); void pFppupp_32(x64emu_t *emu, uintptr_t fnc); +void pFXpipi_32(x64emu_t *emu, uintptr_t fnc); void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fnc); void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fnc); void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fnc); @@ -814,16 +825,19 @@ void vFpipipV_32(x64emu_t *emu, uintptr_t fnc); void vFpdddii_32(x64emu_t *emu, uintptr_t fnc); void vFppupii_32(x64emu_t *emu, uintptr_t fnc); void vFpppppp_32(x64emu_t *emu, uintptr_t fnc); +void vFXLiiii_32(x64emu_t *emu, uintptr_t fnc); void iFEuppup_32(x64emu_t *emu, uintptr_t fnc); void iFEuppLp_32(x64emu_t *emu, uintptr_t fnc); void iFEpiLpp_32(x64emu_t *emu, uintptr_t fnc); void iFEpppup_32(x64emu_t *emu, uintptr_t fnc); void iFEXLilp_32(x64emu_t *emu, uintptr_t fnc); void iFEXpiup_32(x64emu_t *emu, uintptr_t fnc); +void iFEXpppp_32(x64emu_t *emu, uintptr_t fnc); void iFuiiuup_32(x64emu_t *emu, uintptr_t fnc); void iFpiippp_32(x64emu_t *emu, uintptr_t fnc); void iFppiiii_32(x64emu_t *emu, uintptr_t fnc); void iFXLiiiL_32(x64emu_t *emu, uintptr_t fnc); +void iFXLpppp_32(x64emu_t *emu, uintptr_t fnc); void iFXpIppp_32(x64emu_t *emu, uintptr_t fnc); void uFupuufp_32(x64emu_t *emu, uintptr_t fnc); void lFipLipu_32(x64emu_t *emu, uintptr_t fnc); @@ -884,6 +898,7 @@ 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 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); void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fnc); void iFpupLpLi_32(x64emu_t *emu, uintptr_t fnc); @@ -927,6 +942,7 @@ void uFuipppppp_32(x64emu_t *emu, uintptr_t fnc); void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fnc); void uFulpppppp_32(x64emu_t *emu, uintptr_t fnc); void LFXLpuuLLu_32(x64emu_t *emu, uintptr_t fnc); +void iFXLLiippBL__32(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiillli_32(x64emu_t *emu, uintptr_t fnc); @@ -980,6 +996,7 @@ void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fnc); void vFffffffffff_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fnc); void iFXuuLiuiiLL_32(x64emu_t *emu, uintptr_t fnc); +void pFpppppppppp_32(x64emu_t *emu, uintptr_t fnc); void pFXpuiipuuii_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fnc); @@ -997,6 +1014,7 @@ void vFuffffffffff_32(x64emu_t *emu, uintptr_t fnc); void vFUufffffffff_32(x64emu_t *emu, uintptr_t fnc); void vFpipipiipiiu_32(x64emu_t *emu, uintptr_t fnc); void iFEXLppiiiiuu_32(x64emu_t *emu, uintptr_t fnc); +void iFEXpLLiiLWpi_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiiuuiiip_32(x64emu_t *emu, uintptr_t fnc); void pFEXpuiipuuii_32(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fnc); @@ -1007,6 +1025,7 @@ void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); void vFffffffffffff_32(x64emu_t *emu, uintptr_t fnc); void pFEXLiiuuLipii_32(x64emu_t *emu, uintptr_t fnc); +void iFXLLlliLBL_pBL_BL_Bp__32(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h index 57d51eeb..c41355be 100755 --- a/src/wrapped32/wrappedlibc_private.h +++ b/src/wrapped32/wrappedlibc_private.h @@ -702,7 +702,7 @@ GO(inet_pton, iFipp) //GOW(initstate_r, iFupup) // inl // Weak // innetgr -//GO(inotify_add_watch, iFipu) +GO(inotify_add_watch, iFipu) GO(inotify_init, iFv) GO(inotify_init1, iFi) GO(inotify_rm_watch, iFii) @@ -1102,10 +1102,10 @@ GO(__mempcpy, pFppL) GOW(memrchr, pFpiL) GO(memset, pFpiL) GO(__memset_chk, pFpiLL) -//GO(mincore, iFpLp) +GO(mincore, iFpLp) GOW(mkdir, iFpu) //GO(mkdirat, iFipu) -//GO(mkdtemp, pFp) +GO(mkdtemp, pFp) GO(mkfifo, iFpu) //GO(mkfifoat, iFipu) //GO(mkostemp, iFpi) @@ -1135,7 +1135,7 @@ GOWM(mremap, pFEpLLiN) //%% 5th hidden paramerer "void* new_addr" if flags is MR //GOW(msgget, iFpi) //GOW(msgrcv, lFipLli) //GOW(msgsnd, iFipLi) -//GOW(msync, iFpLi) +GOW(msync, iFpLi) // mtrace GO(munlock, iFpL) //GO(munlockall, iFv) @@ -1209,7 +1209,7 @@ GOWM(open64, iFEpOu) //%% //GO(__openat64_2, iFipON) // __open_catalog GOW(opendir, pFp) -//GO(openlog, vFpii) +GO(openlog, vFpii) // open_memstream // open_wmemstream //DATAB(optarg, 4) @@ -1269,7 +1269,7 @@ GOW(posix_memalign, iFBp_LL) //GOM(posix_spawnp, iFEpppppp) //%% //GO(ppoll, iFpupp) GOW(prctl, iFiLLLL) -//GOW(pread, lFipLl) +GOW(pread, lFipLl) //GOW(pread64, lFipLI) // __pread64 // Weak // __pread64_chk @@ -1432,9 +1432,9 @@ GOM(scandir, iFEpppp) //%% GOM(scandir64, iFEpppp) //%% //GO2(scanf, iFpp, vscanf) //GO(__sched_cpualloc, pFu) //TODO: check, return cpu_set_t* : should this be aligned/changed? -//GO(__sched_cpucount, iFup) +GO(__sched_cpucount, iFup) //GO(__sched_cpufree, vFp) -//GO(sched_getaffinity, iFiup) +GO(sched_getaffinity, iFiup) GO(sched_getcpu, iFv) //GO(__sched_getparam, iFip) //GOW(sched_getparam, iFip) @@ -1639,8 +1639,8 @@ GOW(strdup, pFp) GO(__strdup, pFp) GO(strerror, tFi) //GO(strerror_l, pFip) -//GO(__strerror_r, pFipu) -//GOW(strerror_r, pFipu) +GO(__strerror_r, pFipL) +GOW(strerror_r, pFipL) //GO(strfmon, lFpLpppppppppp) //vaarg, probably needs align, there are just double... // __strfmon_l // strfmon_l // Weak @@ -1671,7 +1671,7 @@ GO(strrchr, pFpi) // __strsep_2c // __strsep_3c // __strsep_g -//GO(strsignal, pFi) +GO(strsignal, tFi) GO(strspn, LFpp) // __strspn_c1 // __strspn_c2 @@ -1683,7 +1683,7 @@ GO(__strtod_l, dFpBp_a) GOW(strtod_l, dFpBp_a) GO(strtof, fFpBp_) //GO(__strtof_internal, fFppp) -GO(__strtof_l, fFppa) +GO(__strtof_l, fFpBp_a) //GOW(strtof_l, fFppu) //GO(strtoimax, IFppi) GO(strtok, pFpp) @@ -1782,7 +1782,7 @@ GO(__sysconf, lFi) //DATA(_sys_siglist, 4) //DATA(sys_siglist, 4) GOW(system, iFp) // Need to wrap to use box86 if needed? -//GOM(__sysv_signal, pFEip) //%% +GO2(__sysv_signal, pFEip, my___sysv_signal) //%% //GOWM(sysv_signal, pFEip) //%% GOW(tcdrain, iFi) GO(tcflow, iFii) diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c index fe714635..02524855 100644 --- a/src/wrapped32/wrappedlibgl.c +++ b/src/wrapped32/wrappedlibgl.c @@ -466,13 +466,13 @@ static void* my32_glXChooseFBConfig_##A(x64emu_t* emu, void* dpy, int screen, in { \ if(!my32_glXChooseFBConfig_fct_##A) \ return NULL; \ - static ptr_t fbconfig[1024]; \ void** res = my32_glXChooseFBConfig_fct_##A (dpy, screen, list, nelement); \ if(!res) \ return NULL; \ + ptr_t* fbconfig = (ptr_t*)res; \ for(int i=0; i<*nelement; ++i) \ fbconfig[i] = to_ptrv(res[i]); \ - return &fbconfig; \ + return res; \ } SUPER() #undef GO @@ -495,12 +495,12 @@ static void* my32_glXGetVisualFromFBConfig_##A(x64emu_t* emu, void* dpy, void* c { \ if(!my32_glXGetVisualFromFBConfig_fct_##A) \ return NULL; \ - static my_XVisualInfo_32_t vinfo = {0}; \ void* res = my32_glXGetVisualFromFBConfig_fct_##A (dpy, config); \ if(!res) \ return NULL; \ - convert_XVisualInfo_to_32(&vinfo, res); \ - return &vinfo; \ + my_XVisualInfo_32_t* vinfo = (my_XVisualInfo_32_t*)res; \ + convert_XVisualInfo_to_32(vinfo, res); \ + return vinfo; \ } SUPER() #undef GO @@ -554,22 +554,22 @@ EXPORT void my32_glShaderSource(x64emu_t* emu, uint32_t shader, int count, ptr_ EXPORT void* my32_glXChooseFBConfig(x64emu_t* emu, void* dpy, int screen, int* list, int* nelement) { - static ptr_t fbconfig[1024]; void** res = my->glXChooseFBConfig(dpy, screen, list, nelement); if(!res) return NULL; + ptr_t *fbconfig = (ptr_t*)res; for(int i=0; i<*nelement; ++i) fbconfig[i] = to_ptrv(res[i]); - return &fbconfig; + return res; } EXPORT void* my32_glXGetVisualFromFBConfig(x64emu_t* emu, void* dpy, void* config) { - static my_XVisualInfo_32_t vinfo = {0}; void* res = my->glXGetVisualFromFBConfig(dpy, config); if(!res) return NULL; - convert_XVisualInfo_to_32(&vinfo, res); - return &vinfo; + my_XVisualInfo_32_t* vinfo = (my_XVisualInfo_32_t*)res; + convert_XVisualInfo_to_32(vinfo, res); + return vinfo; } #include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibgl_private.h b/src/wrapped32/wrappedlibgl_private.h index 6306f1c9..ccd3d50c 100644 --- a/src/wrapped32/wrappedlibgl_private.h +++ b/src/wrapped32/wrappedlibgl_private.h @@ -2946,10 +2946,10 @@ GO(glXCreateContext,pFXppi) //GO(glXCreateGLXPixmap, pFppp) //GO(glXCreateGLXPixmapWithConfigSGIX, pFppp) //GO(glXCreateGLXVideoSourceSGIX, pFpippip) -//GO(glXCreateNewContext, pFppipi) +GO(glXCreateNewContext, pFXpipi) //GO(glXCreatePbuffer, pFppp) //GO(glXCreatePixmap, pFppp) -//GO(glXCreateWindow, pFpppp) +GO(glXCreateWindow, pFXppp) GO(glXChooseVisual, pFXip) // need to wrap XVisualInfo? //GO(glXCopyImageSubDataNV, vFppuiiiiipuiiiiiiii) //GO(glXCopySubBufferMESA, vFppiiii) @@ -2960,17 +2960,17 @@ GO(glXDestroyContext,vFXp) //GO(glXDestroyHyperpipeConfigSGIX,iFpi) //GO(glXDestroyPbuffer,vFpp) //GO(glXDestroyPixmap,vFpp) -//GO(glXDestroyWindow,vFpp) +GO(glXDestroyWindow,vFXp) //GO(glXEnumerateVideoCaptureDevicesNV, pFpip) //GO(glXEnumerateVideoDevicesNV, pFpip) //GO(glXFreeContextEXT, vFpp) GO(glXGetClientString, pFXi) //GO(glXGetConfig, iFppip) //GO(glXGetContextIDEXT, uFp) -//GO(glXGetCurrentContext, pFv) -//GO(glXGetCurrentDisplay, pFv) -//GO(glXGetCurrentDrawable, pFv) -//GO(glXGetCurrentReadDrawable, pFv) +GO(glXGetCurrentContext, pFv) +GO(glXGetCurrentDisplay, XFv) +GO(glXGetCurrentDrawable, pFv) +GO(glXGetCurrentReadDrawable, pFv) //GO(glXGetDrawableAttributes,vFi) //GO(glXGetDrawableAttributesSGIX,vFi) //GO(glXGetFBConfigs,pFpip) @@ -2993,12 +2993,12 @@ GOM(glXGetVisualFromFBConfig, pFEXp) GO(glXJoinSwapGroupNV, iFXpu) //GO(glXJoinSwapGroupSGIX,vFpp) //GO(glXLockVideoCaptureDeviceNV, vFpp) -//GO(glXMakeContextCurrent,iFpppp) +GO(glXMakeContextCurrent,iFXppp) GO(glXMakeCurrent,iFXpp) //GO(glXQueryContext,iFppip) //GO(glXQueryContextInfoEXT,iFppip) //GO(glXQueryDrawable, iFppip) -//GO(glXQueryExtension, iFppp) +GO(glXQueryExtension, iFXpp) GO(glXQueryExtensionsString,pFXi) GO(glXQueryFrameCountNV, iFXip) //GO(glXQueryGLXPbufferSGIX, vFppip) @@ -3016,19 +3016,19 @@ GO(glXReleaseTexImageEXT, vFXpi) //GO(glXReleaseVideoCaptureDeviceNV, vFpp) //GO(glXReleaseVideoDeviceNV, iFpip) //GO(glXReleaseVideoImageNV, iFpp) -//GO(glXRender, vFv) -//GO(glXRenderLarge, vFv) +GO(glXRender, vFv) +GO(glXRenderLarge, vFv) GO(glXResetFrameCountNV, iFXi) //GO(glXSelectEvent, vFppu) //GO(glXSelectEventSGIX, vFppu) //GO(glXSendPbufferToVideoNV, iFppipi) GO(glXSwapBuffers,vFXp) //GO(glXUseXFont,vFpiii) -//GO(glXVendorPrivate, vFv) -//GO(glXVendorPrivateWithReply, vFv) -//GO(glXWaitGL,vFv) +GO(glXVendorPrivate, vFv) +GO(glXVendorPrivateWithReply, vFv) +GO(glXWaitGL,vFv) //GO(glXWaitVideoSyncSGI, iFiip) -//GO(glXWaitX,vFv) +GO(glXWaitX,vFv) GOM(glXGetProcAddress, pFEp) GOM(glXGetProcAddressARB, pFEp) diff --git a/src/wrapped32/wrappedlibrt_private.h b/src/wrapped32/wrappedlibrt_private.h index 5d84140f..2a34804d 100755 --- a/src/wrapped32/wrappedlibrt_private.h +++ b/src/wrapped32/wrappedlibrt_private.h @@ -26,7 +26,7 @@ GO(aio_write64, iFp) GO(clock_getcpuclockid, iFup) GO(clock_getres, iFup) GO(clock_gettime, iFuBLL_) // *timespec -//GO(clock_nanosleep, iFuipp) +GO(clock_nanosleep, iFuirLL_BLL_) //GO(clock_settime, iFup) // lio_listio // lio_listio64 diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c index 8691942d..39648b8d 100644 --- a/src/wrapped32/wrappedlibx11.c +++ b/src/wrapped32/wrappedlibx11.c @@ -27,6 +27,11 @@ #define LIBNAME libx11 +#include "libtools/my_x11_defs.h" +#include "libtools/my_x11_defs_32.h" + +void convertXEvent(my_XEvent_32_t* dst, my_XEvent_t* src); +void unconvertXEvent(my_XEvent_t* dst, my_XEvent_32_t* src); typedef int (*XErrorHandler)(void *, void *); void* my32_XSetErrorHandler(x64emu_t* t, XErrorHandler handler); #if 0 @@ -34,12 +39,9 @@ typedef int (*XIOErrorHandler)(void *); void* my32_XSetIOErrorHandler(x64emu_t* t, XIOErrorHandler handler); void* my32_XESetCloseDisplay(x64emu_t* emu, void* display, int32_t extension, void* handler); typedef int (*WireToEventProc)(void*, void*, void*); +#endif typedef int(*EventHandler) (void*,void*,void*); int32_t my32_XIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg); -#endif - -#include "libtools/my_x11_defs.h" -#include "libtools/my_x11_defs_32.h" void UnwrapXImage(void* d, void* s); void WrapXImage(void* d, void* s); @@ -349,12 +351,15 @@ static void* findXConnectionWatchProcFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libX11 XConnectionWatchProc callback\n"); return NULL; } +#endif // xifevent #define GO(A) \ -static uintptr_t my32_xifevent_fct_##A = 0; \ -static int my32_xifevent_##A(void* dpy, void* event, void* d) \ +static uintptr_t my32_xifevent_fct_##A = 0; \ +static int my32_xifevent_##A(void* dpy, my_XEvent_t* event, void* d) \ { \ - return RunFunctionFmt(my32_xifevent_fct_##A, "ppp", dpy, event, d); \ + static my_XEvent_32_t evt = {0}; \ + convertXEvent(&evt, event); \ + return RunFunctionFmt(my32_xifevent_fct_##A, "ppp", dpy, &evt, d); \ } SUPER() #undef GO @@ -371,6 +376,7 @@ static void* findxifeventFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libX11 xifevent callback\n"); return NULL; } +#if 0 // XInternalAsyncHandler #define GO(A) \ static uintptr_t my32_XInternalAsyncHandler_fct_##A = 0; \ @@ -1304,13 +1310,15 @@ EXPORT void* my32_XESetCloseDisplay(x64emu_t* emu, void* display, int32_t extens void* ret = my->XESetCloseDisplay(display, extension, findclose_displayFct(handler)); return reverse_close_displayFct(my_lib, ret); } - +#endif EXPORT int32_t my32_XIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg) { - int32_t ret = my->XIfEvent(d, ev, findxifeventFct(h), arg); + my_XEvent_t event = {0}; + int32_t ret = my->XIfEvent(d, &event, findxifeventFct(h), arg); + convertXEvent(ev, &event); return ret; } - +#if 0 EXPORT int32_t my32_XCheckIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg) { int32_t ret = my->XCheckIfEvent(d, ev, findxifeventFct(h), arg); @@ -1322,8 +1330,15 @@ EXPORT int32_t my32_XPeekIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h int32_t ret = my->XPeekIfEvent(d, ev, findxifeventFct(h), arg); return ret; } - #endif + +EXPORT int my32_XFilterEvent(x64emu_t* emu, my_XEvent_32_t* evt, XID window) +{ + my_XEvent_t event = {0}; + unconvertXEvent(&event, evt); + return my->XFilterEvent(&event, window); +} + void WrapXImage(void* d, void* s) { XImage *src = s; @@ -1512,7 +1527,7 @@ EXPORT int my32_XUnregisterIMInstantiateCallback(x64emu_t* emu, void* d, void* d { return my->XUnregisterIMInstantiateCallback(d, db, res_name, res_class, reverse_register_imFct(my_lib, cb), data); } - +#endif EXPORT int my32_XQueryExtension(x64emu_t* emu, void* display, char* name, int* major, int* first_event, int* first_error) { int ret = my->XQueryExtension(display, name, major, first_event, first_error); @@ -1523,7 +1538,7 @@ EXPORT int my32_XQueryExtension(x64emu_t* emu, void* display, char* name, int* m } return ret; } - +#if 0 EXPORT int my32_XAddConnectionWatch(x64emu_t* emu, void* display, char* f, void* data) { return my->XAddConnectionWatch(display, findXConnectionWatchProcFct(f), data); @@ -1924,7 +1939,12 @@ void convertXEvent(my_XEvent_32_t* dst, my_XEvent_t* src) dst->xclient.message_type = to_ulong(src->xclient.message_type); dst->xclient.format = src->xclient.format; if(src->xclient.format==32) - for(int i=0; i<5; ++i) dst->xclient.data.l[i] = to_ulong(src->xclient.data.l[i]); + for(int i=0; i<5; ++i) { + if(((src->xclient.data.l[i]&0xffffffff80000000LL))==0xffffffff80000000LL) + dst->xclient.data.l[i] = to_ulong(src->xclient.data.l[i]&0xffffffff); // negative value... + else + dst->xclient.data.l[i] = to_ulong(src->xclient.data.l[i]); + } else memcpy(dst->xclient.data.b, src->xclient.data.b, 20); break; @@ -2395,6 +2415,70 @@ EXPORT void my32_XSetWMProperties(x64emu_t* emu, void* dpy, XID window, void* wi my->XSetWMProperties(dpy, window, window_name?(&window_name_l):NULL, icon_name?(&icon_name_l):NULL, argv?argv_l:NULL, argc, normal_hints?(&wm_size_l):NULL, wm_hints?(&wm_hints_l):NULL, class_hints?(&class_hints_l):NULL); } +EXPORT void my32_Xutf8SetWMProperties(x64emu_t* emu, void* dpy, XID window, void* window_name, void* icon_name, ptr_t* argv, int argc, void* normal_hints, my_XWMHints_32_t* wm_hints, ptr_t* class_hints) +{ + int wm_size_l[17+2] = {0}; + my_XWMHints_t wm_hints_l = {0}; + char* class_hints_l[2] = {0}; + char* argv_l[argc+1]; + + if(normal_hints) + convert_XSizeHints_to_64(&wm_size_l, normal_hints); + if(wm_hints) + convert_XWMints_to_64(&wm_hints_l, wm_hints); + if(class_hints) { + class_hints_l[0] = from_ptrv(class_hints[0]); + class_hints_l[1] = from_ptrv(class_hints[1]); + } + if(argv) { + memset(argv_l, 0, sizeof(argv_l)); + for(int i=0; iXutf8SetWMProperties(dpy, window, window_name, icon_name, argv?argv_l:NULL, argc, normal_hints?(&wm_size_l):NULL, wm_hints?(&wm_hints_l):NULL, class_hints?(&class_hints_l):NULL); +} + + +EXPORT void* my32_XListExtensions(x64emu_t* emu, void* dpy, int* n) +{ + char** ret = my->XListExtensions(dpy, n); + if(!ret) return NULL; + ptr_t* ret_s = (ptr_t*)ret; + // shrinking + for(int i=0; i<*n; ++i) + ret_s[i] = to_ptrv(ret[i]); + ret_s[*n] = 0; + return ret; +} + +EXPORT int my32_XFreeExtensionList(x64emu_t* emu, ptr_t* list) +{ + // need to expand back the list + int n = 0; + //first grab n + while(list[n]) ++n; + // now expand, backward order + void** list_l = (void**)list; + for(int i=n-1; i>=0; --i) + list_l[i] = from_ptrv(list[i]); + return my->XFreeExtensionList(list); +} + +EXPORT int my32_XQueryTree(x64emu_t* emu, void* dpy, XID window, XID_32* root, XID_32* parent, ptr_t* children, uint32_t* n) +{ + XID root_l = 0; + XID parent_l = 0; + XID* children_l = NULL; + int ret = my->XQueryTree(dpy, window, &root_l, &parent_l, &children_l, n); + *root = to_ulong(root_l); + *parent = to_ulong(parent_l); + *children = to_ptrv(children_l); + if(children_l) + for(int i=0; i<*n; ++i) + ((XID_32*)children_l)[i] = to_ulong(children_l[i]); + return ret; +} + #define CUSTOM_INIT \ AddAutomaticBridge(lib->w.bridge, vFp_32, *(void**)dlsym(lib->w.lib, "_XLockMutex_fn"), 0, "_XLockMutex_fn"); \ AddAutomaticBridge(lib->w.bridge, vFp_32, *(void**)dlsym(lib->w.lib, "_XUnlockMutex_fn"), 0, "_XUnlockMutex_fn"); \ diff --git a/src/wrapped32/wrappedlibx11_private.h b/src/wrapped32/wrappedlibx11_private.h index ec5c1c49..f12663d7 100644 --- a/src/wrapped32/wrappedlibx11_private.h +++ b/src/wrapped32/wrappedlibx11_private.h @@ -61,7 +61,7 @@ GOM(XCheckTypedEvent, iFEXip) //GO(XClearWindow, iFpL) //GO(XClipBox, iFpp) GOM(XCloseDisplay, iFEX) -//GO(XCloseIM, iFp) +GO(XCloseIM, iFp) //GO(_XCloseLC, //GO(XCloseOM, iFp) //GO(_XcmsAddCmapRec, @@ -250,7 +250,7 @@ GO(XDefineCursor, iFXLL) //GO(XDeleteProperty, iFpLL) //GO(_XDeq, vFppp) //GOM(_XDeqAsyncHandler, vFEpp) -//GO(XDestroyIC, vFp) +GO(XDestroyIC, vFp) GOM(XDestroyImage, iFEp) //need to unbridge //GO(XDestroyOC, vFp) //GO(XDestroyRegion, iFp) @@ -331,7 +331,7 @@ GO(XEventsQueued, iFXi) //GO(XFillPolygon, iFpLppiii) //GO(XFillRectangle, iFpLpiiuu) //GO(XFillRectangles, iFpLppi) -//GO(XFilterEvent, iFpL) +GOM(XFilterEvent, iFEpL) //GO(XFindContext, iFpLip) //GO(XFindOnExtensionList, pFpi) GO(_XFlush, vFX) @@ -350,7 +350,7 @@ GO(XFreeCursor, iFXL) //GO(_XFreeEventCookies, vFp) //GO(XFreeEventData, vFpp) //GO(_XFreeExtData, iFp) -//GO(XFreeExtensionList, iFp) +GOM(XFreeExtensionList, iFEp) GO(XFreeFont, iFXp) //GO(XFreeFontInfo, iFppi) //GO(XFreeFontNames, iFp) @@ -384,7 +384,7 @@ GO(XGetErrorText, iFXipi) //GO(_XGetHostname, iFpi) //GO(XGetIconName, iFpLp) //GO(XGetIconSizes, iFpLpp) -//GO(XGetICValues, pFpppppppppp) // use varargs... +GO(XGetICValues, pFpppppppppp) // use varargs... GOM(XGetImage, pFEXLiiuuLi) // return an XImage with callbacks that needs wrapping //GO(XGetIMValues, pFppppppp) // use varargs //GO(XGetInputFocus, iFppp) @@ -413,7 +413,7 @@ GOM(XGetSubImage, pFEXLiiuuLipii) //GO(XGetVisualInfo, pFplpp) //GO(_XGetWindowAttributes, iFpLp) GOM(XGetWindowAttributes, iFEXLp) -//GO(XGetWindowProperty, iFpLLlliLppppp) +GO(XGetWindowProperty, iFXLLlliLBL_pBL_BL_Bp_) //GO(XGetWMClientMachine, iFpLp) //GO(XGetWMColormapWindows, iFpLpp) //GO(XGetWMHints, pFpL) @@ -434,7 +434,7 @@ GO(XGrabServer, iFX) //GO(XHeightOfScreen, iFp) //DATAB(_Xi18n_lock, 4) //GO(XIconifyWindow, iFpLi) -//GOM(XIfEvent, iFEpppp) +GOM(XIfEvent, iFEXppp) //GO(XImageByteOrder, iFp) //GO(_XimCbDispatch, //GO(_XimCheckCreateICValues, @@ -727,7 +727,7 @@ GO(XInternAtom, LFXpi) //GO(XkbInitCanonicalKeyTypes, iFpui) //GO(_XkbInitReadBuffer, //DATA(_XkbInternAtomFunc, 4) -//GO(XkbKeycodeToKeysym, LFpCii) +GO(XkbKeycodeToKeysym, LFXCii) //GO(XkbKeysymToModifiers, uFpL) //GO(XkbKeyTypesForCoreSymbols, iFpipupp) //GO(XkbLatchGroup, iFpuu) @@ -769,7 +769,7 @@ GO(XInternAtom, LFXpi) //GO(XkbSetCompatMap, iFpupi) //GO(XkbSetControls, iFpLp) //GO(XkbSetDebuggingFlags, iFpuupuupp) -//GO(XkbSetDetectableAutoRepeat, iFpip) +GO(XkbSetDetectableAutoRepeat, iFXip) //GO(XkbSetDeviceButtonActions, iFppuu) //GO(XkbSetDeviceInfo, iFpup) //GO(XkbSetDeviceLedInfo, iFppuuu) @@ -863,7 +863,7 @@ DATA(_XlcPublicMethods, 4) //GO(_Xlcwcstombs, //GO(_Xlcwctomb, //GO(XListDepths, pFpip) -//GO(XListExtensions, pFpp) +GOM(XListExtensions, pFEXp) //GO(XListFonts, pFppip) //GO(XListFontsWithInfo, pFppipp) //GO(XListHosts, pFppp) @@ -968,13 +968,13 @@ GO(XPutPixel, vFXiiL) //GO(XQueryBestTile, iFpLuupp) //GO(XQueryColor, iFpLp) //GO(XQueryColors, iFpLpi) -//GOM(XQueryExtension, iFEppppp) +GOM(XQueryExtension, iFEXpppp) //GO(XQueryFont, pFpL) //GO(XQueryKeymap, iFpp) //GO(XQueryPointer, iFpLppppppp) //GO(XQueryTextExtents, iFpLpipppp) //GO(XQueryTextExtents16, iFpLpipppp) -//GO(XQueryTree, iFpLpppp) +GOM(XQueryTree, iFEXLpppp) //GO(XRaiseWindow, iFpL) //GO(_XRead, iFppl) //GO(XReadBitmapFile, iFpLpppppp) @@ -1043,7 +1043,7 @@ GO(XPutPixel, vFXiiL) //GO(XScreenOfDisplay, pFpi) //GO(_XScreenOfWindow, pFpL) //GO(XScreenResourceString, pFp) -//GO(XSelectInput, iFpLl) +GO(XSelectInput, iFXLl) //GO(_XSend, vFppl) GOM(XSendEvent, iFEXLilp) //GO(XServerVendor, pFp) @@ -1068,7 +1068,7 @@ GOM(XSetErrorHandler, pFEp) //GO(XSetForeground, iFppL) //GO(XSetFunction, iFppi) //GO(XSetGraphicsExposures, iFppi) -//GO(XSetICFocus, vFp) +GO(XSetICFocus, vFp) //GO(XSetIconName, iFpLp) //GO(XSetIconSizes, iFpLpi) //GOM(XSetICValues, pFEpV) @@ -1079,7 +1079,7 @@ GOM(XSetErrorHandler, pFEp) //GOM(XSetIOErrorHandler, pFEp) //GO(_XSetLastRequestRead, LFpp) //GO(XSetLineAttributes, iFppuiii) -//GO(XSetLocaleModifiers, pFp) +GO(XSetLocaleModifiers, pFp) //GO(XSetModifierMapping, iFpp) //GO(XSetNormalHints, iFpLp) //GO(XSetOCValues, pFpppppppppppppppp) // use vaarg @@ -1140,7 +1140,7 @@ GO(XSync, iFXi) //GO(XTextWidth, iFppi) //GO(XTextWidth16, iFppi) //DATAB(_Xthread_self_fn, 4) -//GO(XTranslateCoordinates, iFpLLiippp) +GO(XTranslateCoordinates, iFXLLiippBL_) //GO(_XTranslateKey, //GO(_XTranslateKeySym, //GO(_XTryShapeBitmapCursor, @@ -1161,7 +1161,7 @@ GO(XUngrabPointer, iFXL) GO(XUnlockDisplay, vFX) DATA(_XUnlockMutex_fn, 4) //GO(XUnmapSubwindows, iFpL) -//GO(XUnmapWindow, iFpL) +GO(XUnmapWindow, iFXL) //GO(_XUnregisterFilter, //GOM(XUnregisterIMInstantiateCallback, iFEpppppp) //GO(_XUnregisterInternalConnection, vFpi) @@ -1184,7 +1184,7 @@ DATA(_XUnlockMutex_fn, 4) //GO(_Xutf8GenericTextPerCharExtents, //GO(Xutf8LookupString, iFpppipp) //GO(Xutf8ResetIC, pFp) -//GO(Xutf8SetWMProperties, vFpLpppippp) +GOM(Xutf8SetWMProperties, vFEXLpppippp) //GO(Xutf8TextEscapement, iFppi) //GO(Xutf8TextExtents, iFppipp) //GO(_Xutf8TextListToTextProperty, diff --git a/src/wrapped32/wrappedlibxrandr.c b/src/wrapped32/wrappedlibxrandr.c index c070dd68..5220524f 100644 --- a/src/wrapped32/wrappedlibxrandr.c +++ b/src/wrapped32/wrappedlibxrandr.c @@ -126,6 +126,50 @@ EXPORT void* my32_XRRGetScreenResources(x64emu_t* emu, void* dpy, XID window) return ret; } +EXPORT int my32_XRRSetCrtcConfig(x64emu_t* emu, void* dpy, void* res, XID crtc, unsigned long timestamp, int x, int y, XID mode, uint16_t rotation, XID_32* outputs, int noutputs) +{ + XID outputs_l[noutputs]; + memset(outputs_l, 0, sizeof(outputs_l)); + inplace_XRRScreenResources_enlarge(res); + int ret = my->XRRSetCrtcConfig(dpy, res, crtc, timestamp, x, y, mode, rotation, &outputs_l, noutputs); + inplace_XRRScreenResources_shrink(res); + for(int i=0; iXRRGetPanning(dpy, res, crtc); + inplace_XRRScreenResources_shrink(res); + if(ret) { + // shrink XRRPanning: L and 12i + *(ulong_t*)res = to_ulong(*(unsigned long*)res); + memmove(res+4, res+8, 12*4); + } + return ret; +} + +EXPORT int my32_XRRSetPanning(x64emu_t* emu, void* dpy, void* res, XID crtc, void* panning) +{ + inplace_XRRScreenResources_enlarge(res); + // enlarge panning + { + unsigned long timestamp = from_ulong(*(ulong_t*)panning); + memmove(panning+8, panning+4, 12*4); + *(unsigned long*)panning = timestamp; + } + int ret = my->XRRSetPanning(dpy, res, crtc, panning); + inplace_XRRScreenResources_shrink(res); + { + // shrink XRRPanning: L and 12i + *(ulong_t*)panning = to_ulong(*(unsigned long*)panning); + memmove(panning+4, panning+8, 12*4); + } + return ret; +} + void inplace_XRRCrtcInfo_shrink(void* s) { if(!s) return; diff --git a/src/wrapped32/wrappedlibxrandr_private.h b/src/wrapped32/wrappedlibxrandr_private.h index 2ff06690..9c6600f1 100644 --- a/src/wrapped32/wrappedlibxrandr_private.h +++ b/src/wrapped32/wrappedlibxrandr_private.h @@ -6,7 +6,7 @@ GO(XRRQueryVersion, iFXpp) GO(XRRFreeScreenConfigInfo, vFp) GOM(XRRGetCrtcInfo, pFEXpL) //GO(XRRListOutputProperties, pFpLp) -//GO(XRRQueryExtension, iFppp) +GO(XRRQueryExtension, iFXpp) //GO(XRRAllocModeInfo, pFpi) //GO(XRRGetProviderProperty, iFpLLlliiLppppp) //GO(XRRListProviderProperties, pFpLp) @@ -26,27 +26,27 @@ GOM(XRRGetScreenResources, pFEXL) //GO(XRRDeleteProviderProperty, vFpLL) //GO(XRRSetScreenConfig, iFppLiWL) //GO(XRRAllocGamma, pFi) -//GO(XRRSetScreenSize, vFpLiiii) +GO(XRRSetScreenSize, vFXLiiii) //GO(XRRSetScreenConfigAndRate, iFppLiWwL) GO(XRRFreeScreenResources, vFp) GO(XRRGetOutputPrimary, LFXL) //GO(XRRCreateMode, LFpLp) //GO(XRRConfigCurrentRate, wFp) //GO(XRRDestroyMode, vFpL) -//GO(XRRSetCrtcConfig, iFppLLiiLWpi) +GOM(XRRSetCrtcConfig, iFEXpLLiiLWpi) //GO(XRRConfigCurrentConfiguration, WFpp) //GO(XRRSizes, pFpip) //GO(XRRAddOutputMode, vFpLL) -//GO(XRRFreePanning, vFp) +GO(XRRFreePanning, vFp) //GO(XRRFreeProviderResources, vFp) //GO(XRRChangeProviderProperty, vFpLLLiipi) -//GO(XRRGetPanning, pFppL) +GOM(XRRGetPanning, pFEXpL) //GO(XRRSetProviderOffloadSink, iFpLL) //GO(XRRGetScreenResourcesCurrent, pFpL) //GO(XRRConfigTimes, LFpp) //GO(XRRSetCrtcGamma, vFpLp) //GO(XRRSetProviderOutputSource, iFpLL) -//GO(XRRGetScreenSizeRange, iFpLpppp) +GO(XRRGetScreenSizeRange, iFXLpppp) //GO(XRRRates, pFpiip) //GO(XRRFreeProviderInfo, vFp) //GO(XRRConfigRates, pFpip) @@ -60,7 +60,7 @@ GO(XRRFreeCrtcInfo, vFp) //GO(XRRFreeModeInfo, vFp) //GO(XRRChangeOutputProperty, vFpLLLiipi) //GO(XRRGetCrtcGamma, pFpL) -//GO(XRRSetPanning, iFppLp) +GOM(XRRSetPanning, iFEXpLp) //GO(XRRSelectInput, vFpLi) //GO(XRRGetCrtcTransform, iFpLp) //GO(XRRTimes, LFpip)