diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-10-06 16:44:33 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-10-06 16:44:33 +0200 |
| commit | 6e0b5358fbe20cd14b2728d3d0a688d1c84fd8a6 (patch) | |
| tree | cc8b37ee6aeb9a5affbc830c5c42dcebbf3190ef /src | |
| parent | e783e3c794ac60aa662985c079b3148ae8c41a2b (diff) | |
| download | box64-6e0b5358fbe20cd14b2728d3d0a688d1c84fd8a6.tar.gz box64-6e0b5358fbe20cd14b2728d3d0a688d1c84fd8a6.zip | |
[BOX32][WRAPPING] Added 32bits wrapped libXi (with new wrapperhelper)
Diffstat (limited to 'src')
| -rw-r--r-- | src/library_list_32.h | 2 | ||||
| -rw-r--r-- | src/libtools/my_x11_defs.h | 36 | ||||
| -rw-r--r-- | src/libtools/my_x11_defs_32.h | 34 | ||||
| -rw-r--r-- | src/wrapped32/generated/converter32.c | 13 | ||||
| -rw-r--r-- | src/wrapped32/generated/converter32.h | 7 | ||||
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 35 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxidefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxitypes32.h | 31 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxiundefs32.h | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 40 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 20 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxi.c | 168 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxi_private.h | 88 |
13 files changed, 489 insertions, 1 deletions
diff --git a/src/library_list_32.h b/src/library_list_32.h index c12061d5..031125e6 100644 --- a/src/library_list_32.h +++ b/src/library_list_32.h @@ -35,6 +35,7 @@ GO("libXfixes.so", libxfixes) GO("libXrender.so", libxrender) GO("libXcursor.so", libxcursor) GO("libXcomposite.so", libxcomposite) +GO("libXi.so", libxi) GO("libXrandr.so", libxrandr) GO("libxrandr.so", libxrandr) GO("libXxf86vm.so", libxxf86vm) @@ -46,6 +47,7 @@ GO("libXfixes.so.3", libxfixes) GO("libXrender.so.1", libxrender) GO("libXcomposite.so.1", libxcomposite) GO("libXcursor.so.1", libxcursor) +GO("libXi.so.6", libxi) GO("libXrandr.so.2", libxrandr) GO("libxrandr.so.2", libxrandr) GO("libXxf86vm.so.1", libxxf86vm) diff --git a/src/libtools/my_x11_defs.h b/src/libtools/my_x11_defs.h index bb1f719e..2e8ede07 100644 --- a/src/libtools/my_x11_defs.h +++ b/src/libtools/my_x11_defs.h @@ -626,7 +626,7 @@ typedef struct my_XErrorEvent_s { int type; my_XDisplay_t *display; - XID resourceid; + XID resourceid; unsigned long serial; unsigned char error_code; unsigned char request_code; @@ -920,4 +920,38 @@ typedef struct my_XRRProviderResources_t { XID* providers; } my_XRRProviderResources_t; +typedef struct my_XIAnyClassInfo_s +{ + int type; + int sourceid; +} my_XIAnyClassInfo_t; + +typedef struct my_XIDeviceInfo_s +{ + int deviceid; + char* name; + int use; + int attachment; + int enabled; + int num_classes; + my_XIAnyClassInfo_t** classes; +} my_XIDeviceInfo_t; + +typedef struct my_XIEventMask_s { + int deviceid; + int mask_len; + unsigned char* mask; +} my_XIEventMask_t; + +typedef struct my_XInputClassInfo_s { + unsigned char input_class; + unsigned char event_type_base; +} my_XInputClassInfo_t; + +typedef struct my_XDevice_s { + XID device_id; + int num_classes; + my_XInputClassInfo_t* classes; +} my_XDevice_t; + #endif//MY_X11_DEFS \ No newline at end of file diff --git a/src/libtools/my_x11_defs_32.h b/src/libtools/my_x11_defs_32.h index 115648ce..322ebd2d 100644 --- a/src/libtools/my_x11_defs_32.h +++ b/src/libtools/my_x11_defs_32.h @@ -853,4 +853,38 @@ typedef struct __attribute__((packed, aligned(4))) my_XRRProviderResources_32_t ptr_t providers; //XID* } my_XRRProviderResources_32_t; +typedef struct __attribute__((packed, aligned(4))) my_XIAnyClassInfo_32_s +{ + int type; + int sourceid; +} my_XIAnyClassInfo_32_t; + +typedef struct __attribute__((packed, aligned(4))) my_XIDeviceInfo_32_s +{ + int deviceid; + ptr_t name; //char* + int use; + int attachment; + int enabled; + int num_classes; + ptr_t classes; //my_XIAnyClassInfo_t** +} my_XIDeviceInfo_32_t; + +typedef struct __attribute__((packed, aligned(4))) my_XIEventMask_32_s { + int deviceid; + int mask_len; + ptr_t mask; //unsigned char* +} my_XIEventMask_32_t; + +typedef struct __attribute__((packed, aligned(4))) my_XInputClassInfo_32_s { + unsigned char input_class; + unsigned char event_type_base; +} my_XInputClassInfo_32_t; + +typedef struct __attribute__((packed, aligned(4))) my_XDevice_32_s { + XID_32 device_id; + int num_classes; + ptr_t classes; //my_XInputClassInfo_t* +} my_XDevice_32_t; + #endif//MY_X11_DEFS_32 \ No newline at end of file diff --git a/src/wrapped32/generated/converter32.c b/src/wrapped32/generated/converter32.c index 06b322e9..b69f3be8 100644 --- a/src/wrapped32/generated/converter32.c +++ b/src/wrapped32/generated/converter32.c @@ -306,6 +306,19 @@ void to_struct_pLiL(ptr_t d, const struct_pLiL_t *src) { *(int*)dest = src->i2; dest += 4; *(ulong_t*)dest = to_ulong(src->L3); dest += 4; } +void from_struct_Lip(struct_Lip_t *dest, ptr_t s) { + uint8_t* src = (uint8_t*)from_ptrv(s); + dest->L0 = from_ulong(*(ulong_t*)src); src += 4; + dest->i1 = *(int*)src; src += 4; + dest->p2 = from_ptrv(*(ptr_t*)src); src += 4; +} +void to_struct_Lip(ptr_t d, const struct_Lip_t *src) { + if (!src) return; + uint8_t* dest = (uint8_t*)from_ptrv(d); + *(ulong_t*)dest = to_ulong(src->L0); dest += 4; + *(int*)dest = src->i1; dest += 4; + *(ptr_t*)dest = to_ptrv(src->p2); dest += 4; +} void from_struct_Lipi(struct_Lipi_t *dest, ptr_t s) { uint8_t* src = (uint8_t*)from_ptrv(s); dest->L0 = from_ulong(*(ulong_t*)src); src += 4; diff --git a/src/wrapped32/generated/converter32.h b/src/wrapped32/generated/converter32.h index ce7aa46d..f5d62d39 100644 --- a/src/wrapped32/generated/converter32.h +++ b/src/wrapped32/generated/converter32.h @@ -154,6 +154,13 @@ typedef struct struct_pLiL_s { } struct_pLiL_t; void from_struct_pLiL(struct_pLiL_t *dest, ptr_t src); void to_struct_pLiL(ptr_t dest, const struct_pLiL_t *src); +typedef struct struct_Lip_s { + unsigned long L0; + int i1; + void* p2; +} struct_Lip_t; +void from_struct_Lip(struct_Lip_t *dest, ptr_t src); +void to_struct_Lip(ptr_t dest, const struct_Lip_t *src); typedef struct struct_Lipi_s { unsigned long L0; int i1; diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 137da121..1a870e15 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -347,6 +347,7 @@ #() vFppi -> vFppi #() vFppu -> vFppu #() vFppp -> vFppp +#() vFXiL -> vFXiL #() vFXLi -> vFXLi #() vFXLL -> vFXLL #() vFXLp -> vFXLp @@ -512,6 +513,7 @@ #() iFpbL_p -> iFpBp #() iFBp_LL -> iFBLL #() iFBp_pi -> iFBpi +#() iFXibL_ -> iFXiB #() iFXLbp_ -> iFXLB #() iFXLbL_ -> iFXLB #() iFXbL_i -> iFXBi @@ -534,6 +536,7 @@ #() iFXbLC_i -> iFXBi #() vFLbL_bL_ -> vFLBB #() iFXbiip_i -> iFXBi +#() iFXbLip_L -> iFXBL #() vFXLbpLiL_ -> vFXLB #() iFXLbpLiL_ -> iFXLB #() iFXLbLLii_ -> iFXLB @@ -632,6 +635,7 @@ #() vFppui -> vFppui #() vFpppp -> vFpppp #() vFXiiL -> vFXiiL +#() vFXiLu -> vFXiLu #() vFXLii -> vFXLii #() vFXLLL -> vFXLLL #() vFXLLp -> vFXLLp @@ -688,8 +692,10 @@ #() iFpppp -> iFpppp #() iFSpiL -> iFSpiL #() iFXiii -> iFXiii +#() iFXiiL -> iFXiiL #() iFXiip -> iFXiip #() iFXiuL -> iFXiuL +#() iFXiLL -> iFXiLL #() iFXipi -> iFXipi #() iFXipp -> iFXipp #() iFXWWW -> iFXWWW @@ -735,6 +741,7 @@ #() pFEppi -> pFEppi #() pFEppp -> pFEppp #() pFEXip -> pFEXip +#() pFEXLp -> pFEXLp #() pFEXpL -> pFEXpL #() pFEXpp -> pFEXpp #() pFiiiu -> pFiiiu @@ -900,6 +907,7 @@ #() iFEXLlp -> iFEXLlp #() iFEXLpi -> iFEXLpi #() iFEXpLp -> iFEXpLp +#() iFEXppu -> iFEXppu #() iFEXppp -> iFEXppp #() iFiiipu -> iFiiipu #() iFiiipp -> iFiiipp @@ -919,6 +927,8 @@ #() iFppppp -> iFppppp #() iFXiiii -> iFXiiii #() iFXiiip -> iFXiiip +#() iFXiuLi -> iFXiuLi +#() iFXiLip -> iFXiLip #() iFXiLuu -> iFXiLuu #() iFXuuLL -> iFXuuLL #() iFXLLii -> iFXLLii @@ -1063,6 +1073,7 @@ #() iFpiippp -> iFpiippp #() iFppiiii -> iFppiiii #() iFXiiiii -> iFXiiiii +#() iFXiiLip -> iFXiiLip #() iFXiippp -> iFXiippp #() iFXuuuuu -> iFXuuuuu #() iFXLiiiL -> iFXLiiiL @@ -1096,6 +1107,7 @@ #() iFXLLLLbL_ -> iFXLLLLB #() iFXLbL_ipi -> iFXLBipi #() iFXbL_upip -> iFXBupip +#() iFXbLip_uubLip_L -> iFXBuuBL #() vFbp_bppup_ippbp_ -> vFBBippB #() vFiiiiiip -> vFiiiiiip #() vFiiiiuup -> vFiiiiuup @@ -1183,6 +1195,7 @@ #() pFEpLiiil -> pFEpLiiil #() vFXLLiiibl_ -> vFXLLiiiB #() iFEpppibL_p -> iFEpppiBp +#() iFXiLibiip_ip -> iFXiLiBip #() iFXLibL_ubL_u -> iFXLiBuBu #() vFXLpiibpiip_i -> vFXLpiiBi #() iFXLpiibpiiL_i -> iFXLpiiBi @@ -1216,6 +1229,7 @@ #() vFuuuuuuuu -> vFuuuuuuuu #() vFuuufffff -> vFuuufffff #() vFffffffff -> vFffffffff +#() vFXiLLiipi -> vFXiLLiipi #() vFXiLpiiuu -> vFXiLpiiuu #() vFXLiiiLii -> vFXLiiiLii #() vFXLLLiipi -> vFXLLLiipi @@ -1276,6 +1290,8 @@ #() pFEuiiiuuuu -> pFEuiiiuuuu #() pFEXLiiuuLi -> pFEXLiiuuLi #() iFXLbL_pppppp -> iFXLBpppppp +#() iFXiLiiibiip_ip -> iFXiLiiiBip +#() iFXiLLLiiibiip_ -> iFXiLLLiiiB #() iFXLbL_bL_ppppp -> iFXLBBppppp #() vFXiLLrLiiuL_iipi -> vFXiLLBiipi #() pFEXbpLiLLLii_uipbLipi_uu -> pFEXBuipBuu @@ -1299,10 +1315,13 @@ #() vFuddiiddiip -> vFuddiiddiip #() vFffffffffff -> vFffffffffff #() iFuiiiuuiiip -> iFuiiiuuiiip +#() iFXiLLdduudd -> iFXiLLdduudd #() iFXuuLiuiiLL -> iFXuuLiuiiLL #() iFXLLpiiuuii -> iFXLLpiiuuii #() pFpppppppppp -> pFpppppppppp #() pFXpuiipuuii -> pFXpuiipuuii +#() iFXiiLiiibiip_ip -> iFXiiLiiiBip +#() iFXiLLiiibiip_ip -> iFXiLLiiiBip #() vFiiiiillliip -> vFiiiiillliip #() vFiiiiilllilp -> vFiiiiilllilp #() vFuiiiiiiiuip -> vFuiiiiiiiuip @@ -1324,6 +1343,7 @@ #() iFuiiiiuuiiip -> iFuiiiiuuiiip #() iFXLLpiiuuiiL -> iFXLLpiiuuiiL #() pFEXpuiipuuii -> pFEXpuiipuuii +#() iFXiiLLiiibiip_ip -> iFXiiLLiiiBip #() vFXiLLrLiiuL_iiiipi -> vFXiLLBiiiipi #() iFXLibL_iiiibL_bL_bL_ -> iFXLiBiiiiBBB #() vFuiiiiiiiiuUC -> vFuiiiiiiiiuUC @@ -1969,6 +1989,21 @@ wrappedlibxext: - iFXLppiiiiuui: - XShmPutImage wrappedlibxfixes: +wrappedlibxi: +- vFp: + - XIFreeDeviceInfo +- iFXp: + - XCloseDevice +- pFXL: + - XOpenDevice +- pFXip: + - XIQueryDevice +- pFXLp: + - XIGetSelectedEvents +- iFXLpi: + - XISelectEvents +- iFXppu: + - XGetDeviceButtonMapping wrappedlibxrandr: - vFp: - XRRFreeProviderInfo diff --git a/src/wrapped32/generated/wrappedlibxidefs32.h b/src/wrapped32/generated/wrappedlibxidefs32.h new file mode 100644 index 00000000..de50f737 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibxidefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibxiDEFS32_H_ +#define __wrappedlibxiDEFS32_H_ + + +#endif // __wrappedlibxiDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedlibxitypes32.h b/src/wrapped32/generated/wrappedlibxitypes32.h new file mode 100644 index 00000000..0e74b840 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibxitypes32.h @@ -0,0 +1,31 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibxiTYPES32_H_ +#define __wrappedlibxiTYPES32_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + +typedef void (*vFp_t)(void*); +typedef int32_t (*iFXp_t)(void*, void*); +typedef void* (*pFXL_t)(void*, uintptr_t); +typedef void* (*pFXip_t)(void*, int32_t, void*); +typedef void* (*pFXLp_t)(void*, uintptr_t, void*); +typedef int32_t (*iFXLpi_t)(void*, uintptr_t, void*, int32_t); +typedef int32_t (*iFXppu_t)(void*, void*, void*, uint32_t); + +#define SUPER() ADDED_FUNCTIONS() \ + GO(XIFreeDeviceInfo, vFp_t) \ + GO(XCloseDevice, iFXp_t) \ + GO(XOpenDevice, pFXL_t) \ + GO(XIQueryDevice, pFXip_t) \ + GO(XIGetSelectedEvents, pFXLp_t) \ + GO(XISelectEvents, iFXLpi_t) \ + GO(XGetDeviceButtonMapping, iFXppu_t) + +#endif // __wrappedlibxiTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedlibxiundefs32.h b/src/wrapped32/generated/wrappedlibxiundefs32.h new file mode 100644 index 00000000..6ae08459 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibxiundefs32.h @@ -0,0 +1,8 @@ +/********************************************************************* + * File automatically generated by rebuild_wrappers_32.py (v0.0.2.2) * + *********************************************************************/ +#ifndef __wrappedlibxiUNDEFS32_H_ +#define __wrappedlibxiUNDEFS32_H_ + + +#endif // __wrappedlibxiUNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 59746725..593ffc65 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -437,6 +437,7 @@ typedef void (*vFplp_t)(void*, intptr_t, void*); typedef void (*vFppi_t)(void*, void*, int32_t); typedef void (*vFppu_t)(void*, void*, uint32_t); typedef void (*vFppp_t)(void*, void*, void*); +typedef void (*vFXiL_t)(void*, int32_t, uintptr_t); typedef void (*vFXLi_t)(void*, uintptr_t, int32_t); typedef void (*vFXLL_t)(void*, uintptr_t, uintptr_t); typedef void (*vFXLp_t)(void*, uintptr_t, void*); @@ -602,6 +603,7 @@ typedef int32_t (*iFpbp_i_t)(void*, struct_p_t*, int32_t); typedef int32_t (*iFpbL_p_t)(void*, struct_L_t*, void*); 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 int32_t (*iFXibL__t)(void*, int32_t, struct_L_t*); typedef int32_t (*iFXLbp__t)(void*, uintptr_t, struct_p_t*); typedef int32_t (*iFXLbL__t)(void*, uintptr_t, struct_L_t*); typedef int32_t (*iFXbL_i_t)(void*, struct_L_t*, int32_t); @@ -624,6 +626,7 @@ typedef int32_t (*iFXLbpp__t)(void*, uintptr_t, struct_pp_t*); typedef int32_t (*iFXbLC_i_t)(void*, struct_LC_t*, int32_t); typedef void (*vFLbL_bL__t)(uintptr_t, struct_L_t*, struct_L_t*); typedef int32_t (*iFXbiip_i_t)(void*, struct_iip_t*, int32_t); +typedef int32_t (*iFXbLip_L_t)(void*, struct_Lip_t*, uintptr_t); typedef void (*vFXLbpLiL__t)(void*, uintptr_t, struct_pLiL_t*); typedef int32_t (*iFXLbpLiL__t)(void*, uintptr_t, struct_pLiL_t*); typedef int32_t (*iFXLbLLii__t)(void*, uintptr_t, struct_LLii_t*); @@ -722,6 +725,7 @@ typedef void (*vFppip_t)(void*, void*, int32_t, void*); typedef void (*vFppui_t)(void*, void*, uint32_t, int32_t); typedef void (*vFpppp_t)(void*, void*, void*, void*); typedef void (*vFXiiL_t)(void*, int32_t, int32_t, uintptr_t); +typedef void (*vFXiLu_t)(void*, int32_t, uintptr_t, uint32_t); typedef void (*vFXLii_t)(void*, uintptr_t, int32_t, int32_t); typedef void (*vFXLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t); typedef void (*vFXLLp_t)(void*, uintptr_t, uintptr_t, void*); @@ -778,8 +782,10 @@ typedef int32_t (*iFpppL_t)(void*, void*, void*, uintptr_t); typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); typedef int32_t (*iFSpiL_t)(void*, void*, int32_t, uintptr_t); typedef int32_t (*iFXiii_t)(void*, int32_t, int32_t, int32_t); +typedef int32_t (*iFXiiL_t)(void*, int32_t, int32_t, uintptr_t); typedef int32_t (*iFXiip_t)(void*, int32_t, int32_t, void*); typedef int32_t (*iFXiuL_t)(void*, int32_t, uint32_t, uintptr_t); +typedef int32_t (*iFXiLL_t)(void*, int32_t, uintptr_t, uintptr_t); typedef int32_t (*iFXipi_t)(void*, int32_t, void*, int32_t); typedef int32_t (*iFXipp_t)(void*, int32_t, void*, void*); typedef int32_t (*iFXWWW_t)(void*, uint16_t, uint16_t, uint16_t); @@ -825,6 +831,7 @@ typedef void* (*pFEpip_t)(x64emu_t*, void*, int32_t, void*); typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t); typedef void* (*pFEppp_t)(x64emu_t*, void*, void*, void*); typedef void* (*pFEXip_t)(x64emu_t*, void*, int32_t, void*); +typedef void* (*pFEXLp_t)(x64emu_t*, void*, uintptr_t, void*); typedef void* (*pFEXpL_t)(x64emu_t*, void*, void*, uintptr_t); typedef void* (*pFEXpp_t)(x64emu_t*, void*, void*, void*); typedef void* (*pFiiiu_t)(int32_t, int32_t, int32_t, uint32_t); @@ -990,6 +997,7 @@ typedef int32_t (*iFEXLip_t)(x64emu_t*, void*, uintptr_t, int32_t, void*); typedef int32_t (*iFEXLlp_t)(x64emu_t*, void*, uintptr_t, intptr_t, 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 (*iFEXppu_t)(x64emu_t*, void*, void*, void*, uint32_t); 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*); @@ -1009,6 +1017,8 @@ typedef int32_t (*iFpppLp_t)(void*, void*, void*, uintptr_t, void*); typedef int32_t (*iFppppp_t)(void*, void*, void*, void*, void*); typedef int32_t (*iFXiiii_t)(void*, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFXiiip_t)(void*, int32_t, int32_t, int32_t, void*); +typedef int32_t (*iFXiuLi_t)(void*, int32_t, uint32_t, uintptr_t, int32_t); +typedef int32_t (*iFXiLip_t)(void*, int32_t, uintptr_t, int32_t, void*); typedef int32_t (*iFXiLuu_t)(void*, int32_t, uintptr_t, uint32_t, uint32_t); typedef int32_t (*iFXuuLL_t)(void*, uint32_t, uint32_t, uintptr_t, uintptr_t); typedef int32_t (*iFXLLii_t)(void*, uintptr_t, uintptr_t, int32_t, int32_t); @@ -1153,6 +1163,7 @@ typedef int32_t (*iFuiiuup_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, vo 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 (*iFXiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef int32_t (*iFXiiLip_t)(void*, int32_t, int32_t, uintptr_t, int32_t, void*); typedef int32_t (*iFXiippp_t)(void*, int32_t, int32_t, void*, void*, void*); typedef int32_t (*iFXuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef int32_t (*iFXLiiiL_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t); @@ -1186,6 +1197,7 @@ typedef int32_t (*iFXLiiibL__t)(void*, uintptr_t, int32_t, int32_t, int32_t, str typedef int32_t (*iFXLLLLbL__t)(void*, uintptr_t, uintptr_t, uintptr_t, uintptr_t, struct_L_t*); typedef int32_t (*iFXLbL_ipi_t)(void*, uintptr_t, struct_L_t*, int32_t, void*, int32_t); typedef int32_t (*iFXbL_upip_t)(void*, struct_L_t*, uint32_t, void*, int32_t, void*); +typedef int32_t (*iFXbLip_uubLip_L_t)(void*, struct_Lip_t*, uint32_t, uint32_t, struct_Lip_t*, uintptr_t); typedef void (*vFbp_bppup_ippbp__t)(struct_p_t*, struct_ppup_t*, int32_t, void*, void*, struct_p_t*); typedef void (*vFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); typedef void (*vFiiiiuup_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); @@ -1273,6 +1285,7 @@ typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int3 typedef void* (*pFEpLiiil_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, intptr_t); typedef void (*vFXLLiiibl__t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, int32_t, struct_l_t*); typedef int32_t (*iFEpppibL_p_t)(x64emu_t*, void*, void*, void*, int32_t, struct_L_t*, void*); +typedef int32_t (*iFXiLibiip_ip_t)(void*, int32_t, uintptr_t, int32_t, struct_iip_t*, int32_t, void*); typedef int32_t (*iFXLibL_ubL_u_t)(void*, uintptr_t, int32_t, struct_L_t*, uint32_t, struct_L_t*, uint32_t); typedef void (*vFXLpiibpiip_i_t)(void*, uintptr_t, void*, int32_t, int32_t, struct_piip_t*, int32_t); typedef int32_t (*iFXLpiibpiiL_i_t)(void*, uintptr_t, void*, int32_t, int32_t, struct_piiL_t*, int32_t); @@ -1306,6 +1319,7 @@ typedef void (*vFuuuipipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32 typedef void (*vFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void (*vFuuufffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float, float); typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float); +typedef void (*vFXiLLiipi_t)(void*, int32_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t); typedef void (*vFXiLpiiuu_t)(void*, int32_t, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t); typedef void (*vFXLiiiLii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t, int32_t, int32_t); typedef void (*vFXLLLiipi_t)(void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t); @@ -1366,6 +1380,8 @@ typedef uintptr_t (*LFXLiiuuuLL_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, typedef void* (*pFEuiiiuuuu_t)(x64emu_t*, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef void* (*pFEXLiiuuLi_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t); typedef int32_t (*iFXLbL_pppppp_t)(void*, uintptr_t, struct_L_t*, void*, void*, void*, void*, void*, void*); +typedef int32_t (*iFXiLiiibiip_ip_t)(void*, int32_t, uintptr_t, int32_t, int32_t, int32_t, struct_iip_t*, int32_t, void*); +typedef int32_t (*iFXiLLLiiibiip__t)(void*, int32_t, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, int32_t, struct_iip_t*); typedef int32_t (*iFXLbL_bL_ppppp_t)(void*, uintptr_t, struct_L_t*, struct_L_t*, void*, void*, void*, void*, void*); typedef void (*vFXiLLrLiiuL_iipi_t)(void*, int32_t, uintptr_t, uintptr_t, struct_LiiuL_t*, int32_t, int32_t, void*, int32_t); typedef void* (*pFEXbpLiLLLii_uipbLipi_uu_t)(x64emu_t*, void*, struct_pLiLLLii_t*, uint32_t, int32_t, void*, struct_Lipi_t*, uint32_t, uint32_t); @@ -1389,10 +1405,13 @@ typedef void (*vFuffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); 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 (*iFXiLLdduudd_t)(void*, int32_t, uintptr_t, uintptr_t, double, double, uint32_t, uint32_t, double, double); 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 int32_t (*iFXLLpiiuuii_t)(void*, uintptr_t, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_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 int32_t (*iFXiiLiiibiip_ip_t)(void*, int32_t, int32_t, uintptr_t, int32_t, int32_t, int32_t, struct_iip_t*, int32_t, void*); +typedef int32_t (*iFXiLLiiibiip_ip_t)(void*, int32_t, uintptr_t, uintptr_t, int32_t, int32_t, int32_t, struct_iip_t*, int32_t, void*); 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*); typedef void (*vFuiiiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); @@ -1414,6 +1433,7 @@ typedef int32_t (*iFEXpLLiiLWpi_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_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 int32_t (*iFXLLpiiuuiiL_t)(void*, uintptr_t, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, uintptr_t); typedef void* (*pFEXpuiipuuii_t)(x64emu_t*, void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t); +typedef int32_t (*iFXiiLLiiibiip_ip_t)(void*, int32_t, int32_t, uintptr_t, uintptr_t, int32_t, int32_t, int32_t, struct_iip_t*, int32_t, void*); typedef void (*vFXiLLrLiiuL_iiiipi_t)(void*, int32_t, uintptr_t, uintptr_t, struct_LiiuL_t*, int32_t, int32_t, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFXLibL_iiiibL_bL_bL__t)(void*, uintptr_t, int32_t, struct_L_t*, int32_t, int32_t, int32_t, int32_t, struct_L_t*, struct_L_t*, struct_L_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); @@ -1811,6 +1831,7 @@ void vFplp_32(x64emu_t *emu, uintptr_t fcn) { vFplp_t fn = (vFplp_t)fcn; fn(from void vFppi_32(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void vFppu_32(x64emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } void vFppp_32(x64emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFXiL_32(x64emu_t *emu, uintptr_t fcn) { vFXiL_t fn = (vFXiL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12))); } void vFXLi_32(x64emu_t *emu, uintptr_t fcn) { vFXLi_t fn = (vFXLi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); } void vFXLL_32(x64emu_t *emu, uintptr_t fcn) { vFXLL_t fn = (vFXLL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12))); } void vFXLp_32(x64emu_t *emu, uintptr_t fcn) { vFXLp_t fn = (vFXLp_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } @@ -1976,6 +1997,7 @@ void iFpbp_i_32(x64emu_t *emu, uintptr_t fcn) { iFpbp_i_t fn = (iFpbp_i_t)fcn; s void iFpbL_p_32(x64emu_t *emu, uintptr_t fcn) { iFpbL_p_t fn = (iFpbL_p_t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptriv(R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFBp_LL_32(x64emu_t *emu, uintptr_t fcn) { iFBp_LL_t fn = (iFBp_LL_t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_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 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 iFXibL__32(x64emu_t *emu, uintptr_t fcn) { iFXibL__t fn = (iFXibL__t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXLbp__32(x64emu_t *emu, uintptr_t fcn) { iFXLbp__t fn = (iFXLbp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXLbL__32(x64emu_t *emu, uintptr_t fcn) { iFXLbL__t fn = (iFXLbL__t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXbL_i_32(x64emu_t *emu, uintptr_t fcn) { iFXbL_i_t fn = (iFXbL_i_t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(getDisplay(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_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } @@ -1998,6 +2020,7 @@ void iFXLbpp__32(x64emu_t *emu, uintptr_t fcn) { iFXLbpp__t fn = (iFXLbpp__t)fcn void iFXbLC_i_32(x64emu_t *emu, uintptr_t fcn) { iFXbLC_i_t fn = (iFXbLC_i_t)fcn; struct_LC_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_LC(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(getDisplay(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_LC(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void vFLbL_bL__32(x64emu_t *emu, uintptr_t fcn) { vFLbL_bL__t fn = (vFLbL_bL__t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(from_ulong(from_ptri(ulong_t, R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXbiip_i_32(x64emu_t *emu, uintptr_t fcn) { iFXbiip_i_t fn = (iFXbiip_i_t)fcn; struct_iip_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_iip(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(getDisplay(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_iip(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void iFXbLip_L_32(x64emu_t *emu, uintptr_t fcn) { iFXbLip_L_t fn = (iFXbLip_L_t)fcn; struct_Lip_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_Lip(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_Lip(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void vFXLbpLiL__32(x64emu_t *emu, uintptr_t fcn) { vFXLbpLiL__t fn = (vFXLbpLiL__t)fcn; struct_pLiL_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pLiL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_pLiL(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXLbpLiL__32(x64emu_t *emu, uintptr_t fcn) { iFXLbpLiL__t fn = (iFXLbpLiL__t)fcn; struct_pLiL_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pLiL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_pLiL(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXLbLLii__32(x64emu_t *emu, uintptr_t fcn) { iFXLbLLii__t fn = (iFXLbLLii__t)fcn; struct_LLii_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_LLii(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_LLii(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } @@ -2096,6 +2119,7 @@ void vFppip_32(x64emu_t *emu, uintptr_t fcn) { vFppip_t fn = (vFppip_t)fcn; fn(f void vFppui_32(x64emu_t *emu, uintptr_t fcn) { vFppui_t fn = (vFppui_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void vFpppp_32(x64emu_t *emu, uintptr_t fcn) { vFpppp_t fn = (vFpppp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void vFXiiL_32(x64emu_t *emu, uintptr_t fcn) { vFXiiL_t fn = (vFXiiL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } +void vFXiLu_32(x64emu_t *emu, uintptr_t fcn) { vFXiLu_t fn = (vFXiLu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16)); } void vFXLii_32(x64emu_t *emu, uintptr_t fcn) { vFXLii_t fn = (vFXLii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void vFXLLL_32(x64emu_t *emu, uintptr_t fcn) { vFXLLL_t fn = (vFXLLL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } void vFXLLp_32(x64emu_t *emu, uintptr_t fcn) { vFXLLp_t fn = (vFXLLp_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } @@ -2152,8 +2176,10 @@ void iFpppL_32(x64emu_t *emu, uintptr_t fcn) { iFpppL_t fn = (iFpppL_t)fcn; R_EA void iFpppp_32(x64emu_t *emu, uintptr_t fcn) { iFpppp_t fn = (iFpppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFSpiL_32(x64emu_t *emu, uintptr_t fcn) { iFSpiL_t fn = (iFSpiL_t)fcn; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } void iFXiii_32(x64emu_t *emu, uintptr_t fcn) { iFXiii_t fn = (iFXiii_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iFXiiL_32(x64emu_t *emu, uintptr_t fcn) { iFXiiL_t fn = (iFXiiL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } void iFXiip_32(x64emu_t *emu, uintptr_t fcn) { iFXiip_t fn = (iFXiip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFXiuL_32(x64emu_t *emu, uintptr_t fcn) { iFXiuL_t fn = (iFXiuL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } +void iFXiLL_32(x64emu_t *emu, uintptr_t fcn) { iFXiLL_t fn = (iFXiLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } void iFXipi_32(x64emu_t *emu, uintptr_t fcn) { iFXipi_t fn = (iFXipi_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void iFXipp_32(x64emu_t *emu, uintptr_t fcn) { iFXipp_t fn = (iFXipp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFXWWW_32(x64emu_t *emu, uintptr_t fcn) { iFXWWW_t fn = (iFXWWW_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16)); } @@ -2199,6 +2225,7 @@ void pFEpip_32(x64emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_EA 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))); } void pFEppp_32(x64emu_t *emu, uintptr_t fcn) { pFEppp_t fn = (pFEppp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); } void pFEXip_32(x64emu_t *emu, uintptr_t fcn) { pFEXip_t fn = (pFEXip_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); } +void pFEXLp_32(x64emu_t *emu, uintptr_t fcn) { pFEXLp_t fn = (pFEXLp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12))); } void pFEXpL_32(x64emu_t *emu, uintptr_t fcn) { pFEXpL_t fn = (pFEXpL_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); } void pFEXpp_32(x64emu_t *emu, uintptr_t fcn) { pFEXpp_t fn = (pFEXpp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); } void pFiiiu_32(x64emu_t *emu, uintptr_t fcn) { pFiiiu_t fn = (pFiiiu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_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))); } @@ -2364,6 +2391,7 @@ void iFEXLip_32(x64emu_t *emu, uintptr_t fcn) { iFEXLip_t fn = (iFEXLip_t)fcn; R void iFEXLlp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLlp_t fn = (iFEXLlp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_long(from_ptri(long_t, 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)), from_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), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } +void iFEXppu_32(x64emu_t *emu, uintptr_t fcn) { iFEXppu_t fn = (iFEXppu_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, 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)); } @@ -2383,6 +2411,8 @@ void iFpppLp_32(x64emu_t *emu, uintptr_t fcn) { iFpppLp_t fn = (iFpppLp_t)fcn; R void iFppppp_32(x64emu_t *emu, uintptr_t fcn) { iFppppp_t fn = (iFppppp_t)fcn; R_EAX = 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)); } void iFXiiii_32(x64emu_t *emu, uintptr_t fcn) { iFXiiii_t fn = (iFXiiii_t)fcn; R_EAX = fn(getDisplay(from_ptriv(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)); } void iFXiiip_32(x64emu_t *emu, uintptr_t fcn) { iFXiiip_t fn = (iFXiiip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(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_ptriv(R_ESP + 20)); } +void iFXiuLi_32(x64emu_t *emu, uintptr_t fcn) { iFXiuLi_t fn = (iFXiuLi_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); } +void iFXiLip_32(x64emu_t *emu, uintptr_t fcn) { iFXiLip_t fn = (iFXiLip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFXiLuu_32(x64emu_t *emu, uintptr_t fcn) { iFXiLuu_t fn = (iFXiLuu_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } void iFXuuLL_32(x64emu_t *emu, uintptr_t fcn) { iFXuuLL_t fn = (iFXuuLL_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), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ulong(from_ptri(ulong_t, R_ESP + 20))); } void iFXLLii_32(x64emu_t *emu, uintptr_t fcn) { iFXLLii_t fn = (iFXLLii_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } @@ -2527,6 +2557,7 @@ void iFuiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiuup_t fn = (iFuiiuup_t)fcn 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 iFXiiiii_32(x64emu_t *emu, uintptr_t fcn) { iFXiiiii_t fn = (iFXiiiii_t)fcn; R_EAX = fn(getDisplay(from_ptriv(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)); } +void iFXiiLip_32(x64emu_t *emu, uintptr_t fcn) { iFXiiLip_t fn = (iFXiiLip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } void iFXiippp_32(x64emu_t *emu, uintptr_t fcn) { iFXiippp_t fn = (iFXiippp_t)fcn; R_EAX = fn(getDisplay(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 iFXuuuuu_32(x64emu_t *emu, uintptr_t fcn) { iFXuuuuu_t fn = (iFXuuuuu_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), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_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)), from_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_ulong(from_ptri(ulong_t, R_ESP + 24))); } @@ -2560,6 +2591,7 @@ void iFXLiiibL__32(x64emu_t *emu, uintptr_t fcn) { iFXLiiibL__t fn = (iFXLiiibL_ void iFXLLLLbL__32(x64emu_t *emu, uintptr_t fcn) { iFXLLLLbL__t fn = (iFXLLLLbL__t)fcn; struct_L_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_L(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ulong(from_ptri(ulong_t, R_ESP + 20)), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } void iFXLbL_ipi_32(x64emu_t *emu, uintptr_t fcn) { iFXLbL_ipi_t fn = (iFXLbL_ipi_t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFXbL_upip_32(x64emu_t *emu, uintptr_t fcn) { iFXbL_upip_t fn = (iFXbL_upip_t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } +void iFXbLip_uubLip_L_32(x64emu_t *emu, uintptr_t fcn) { iFXbLip_uubLip_L_t fn = (iFXbLip_uubLip_L_t)fcn; struct_Lip_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_Lip(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_Lip_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_Lip(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 24))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_Lip(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_Lip(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } void vFbp_bppup_ippbp__32(x64emu_t *emu, uintptr_t fcn) { vFbp_bppup_ippbp__t fn = (vFbp_bppup_ippbp__t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_ppup_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_ppup(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_p_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_p(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_ppup(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } void vFiiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_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_ptriv(R_ESP + 28)); } void vFiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_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(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } @@ -2647,6 +2679,7 @@ void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fcn) { pFEpLiiiI_t fn = (pFEpLiiiI_t) void pFEpLiiil_32(x64emu_t *emu, uintptr_t fcn) { pFEpLiiil_t fn = (pFEpLiiil_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_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_long(from_ptri(long_t, R_ESP + 24)))); } void vFXLLiiibl__32(x64emu_t *emu, uintptr_t fcn) { vFXLLiiibl__t fn = (vFXLLiiibl__t)fcn; struct_l_t arg_28={0}; if (*(ptr_t*)(from_ptr((R_ESP + 28)))) from_struct_l(&arg_28, *(ptr_t*)(from_ptr((R_ESP + 28)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_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), *(ptr_t*)(from_ptr((R_ESP + 28))) ? &arg_28 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 28)))) to_struct_l(*(ptr_t*)(from_ptr((R_ESP + 28))), &arg_28); } void iFEpppibL_p_32(x64emu_t *emu, uintptr_t fcn) { iFEpppibL_p_t fn = (iFEpppibL_p_t)fcn; struct_L_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_L(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); 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), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, from_ptriv(R_ESP + 24)); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } +void iFXiLibiip_ip_32(x64emu_t *emu, uintptr_t fcn) { iFXiLibiip_ip_t fn = (iFXiLibiip_ip_t)fcn; struct_iip_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_iip(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } void iFXLibL_ubL_u_32(x64emu_t *emu, uintptr_t fcn) { iFXLibL_ubL_u_t fn = (iFXLibL_ubL_u_t)fcn; struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); struct_L_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_L(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_ptri(uint32_t, R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptri(uint32_t, R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } void vFXLpiibpiip_i_32(x64emu_t *emu, uintptr_t fcn) { vFXLpiibpiip_i_t fn = (vFXLpiibpiip_i_t)fcn; struct_piip_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_piip(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptri(int32_t, R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_piip(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } void iFXLpiibpiiL_i_32(x64emu_t *emu, uintptr_t fcn) { iFXLpiibpiiL_i_t fn = (iFXLpiibpiiL_i_t)fcn; struct_piiL_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_piiL(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptri(int32_t, R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_piiL(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } @@ -2680,6 +2713,7 @@ void vFuuuipipp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuipipp_t fn = (vFuuuipipp void vFuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu_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)); } void vFuuufffff_32(x64emu_t *emu, uintptr_t fcn) { vFuuufffff_t fn = (vFuuufffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); } void vFffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); } +void vFXiLLiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLiipi_t fn = (vFXiLLiipi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } void vFXiLpiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFXiLpiiuu_t fn = (vFXiLpiiuu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32)); } void vFXLiiiLii_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiiLii_t fn = (vFXLiiiLii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_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_ulong(from_ptri(ulong_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } void vFXLLLiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXLLLiipi_t fn = (vFXLLLiipi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } @@ -2740,6 +2774,8 @@ void LFXLiiuuuLL_32(x64emu_t *emu, uintptr_t fcn) { LFXLiiuuuLL_t fn = (LFXLiiuu void pFEuiiiuuuu_32(x64emu_t *emu, uintptr_t fcn) { pFEuiiiuuuu_t fn = (pFEuiiiuuuu_t)fcn; R_EAX = to_ptrv(fn(emu, 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(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32))); } void pFEXLiiuuLi_32(x64emu_t *emu, uintptr_t fcn) { pFEXLiiuuLi_t fn = (pFEXLiiuuLi_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_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), from_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(int32_t, R_ESP + 32))); } void iFXLbL_pppppp_32(x64emu_t *emu, uintptr_t fcn) { iFXLbL_pppppp_t fn = (iFXLbL_pppppp_t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, 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)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } +void iFXiLiiibiip_ip_32(x64emu_t *emu, uintptr_t fcn) { iFXiLiiibiip_ip_t fn = (iFXiLiiibiip_ip_t)fcn; struct_iip_t arg_28={0}; if (*(ptr_t*)(from_ptr((R_ESP + 28)))) from_struct_iip(&arg_28, *(ptr_t*)(from_ptr((R_ESP + 28)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_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), *(ptr_t*)(from_ptr((R_ESP + 28))) ? &arg_28 : NULL, from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); if (*(ptr_t*)(from_ptr((R_ESP + 28)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 28))), &arg_28); } +void iFXiLLLiiibiip__32(x64emu_t *emu, uintptr_t fcn) { iFXiLLLiiibiip__t fn = (iFXiLLLiiibiip__t)fcn; struct_iip_t arg_36={0}; if (*(ptr_t*)(from_ptr((R_ESP + 36)))) from_struct_iip(&arg_36, *(ptr_t*)(from_ptr((R_ESP + 36)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ulong(from_ptri(ulong_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), *(ptr_t*)(from_ptr((R_ESP + 36))) ? &arg_36 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 36)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 36))), &arg_36); } void iFXLbL_bL_ppppp_32(x64emu_t *emu, uintptr_t fcn) { iFXLbL_bL_ppppp_t fn = (iFXLbL_bL_ppppp_t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, 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)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } void vFXiLLrLiiuL_iipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLrLiiuL_iipi_t fn = (vFXiLLrLiiuL_iipi_t)fcn; struct_LiiuL_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_LiiuL(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, 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)); } void pFEXbpLiLLLii_uipbLipi_uu_32(x64emu_t *emu, uintptr_t fcn) { pFEXbpLiLLLii_uipbLipi_uu_t fn = (pFEXbpLiLLLii_uipbLipi_uu_t)fcn; struct_pLiLLLii_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_pLiLLLii(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_Lipi_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_Lipi(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_pLiLLLii(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_Lipi(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } @@ -2763,10 +2799,13 @@ void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiip_t fn = (vFuffi void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddiiddiip_t)fcn; fn(from_ptri(uint32_t, 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), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptriv(R_ESP + 56)); } 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 iFXiLLdduudd_32(x64emu_t *emu, uintptr_t fcn) { iFXiLLdduudd_t fn = (iFXiLLdduudd_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(double, R_ESP + 44), from_ptri(double, R_ESP + 52)); } 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), from_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), from_ulong(from_ptri(ulong_t, R_ESP + 36)), from_ulong(from_ptri(ulong_t, R_ESP + 40))); } void iFXLLpiiuuii_32(x64emu_t *emu, uintptr_t fcn) { iFXLLpiiuuii_t fn = (iFXLLpiiuuii_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, 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 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 iFXiiLiiibiip_ip_32(x64emu_t *emu, uintptr_t fcn) { iFXiiLiiibiip_ip_t fn = (iFXiiLiiibiip_ip_t)fcn; struct_iip_t arg_32={0}; if (*(ptr_t*)(from_ptr((R_ESP + 32)))) from_struct_iip(&arg_32, *(ptr_t*)(from_ptr((R_ESP + 32)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_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), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL, from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); } +void iFXiLLiiibiip_ip_32(x64emu_t *emu, uintptr_t fcn) { iFXiLLiiibiip_ip_t fn = (iFXiLLiiibiip_ip_t)fcn; struct_iip_t arg_32={0}; if (*(ptr_t*)(from_ptr((R_ESP + 32)))) from_struct_iip(&arg_32, *(ptr_t*)(from_ptr((R_ESP + 32)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_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), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL, from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); } 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), from_long(from_ptri(long_t, R_ESP + 24)), from_long(from_ptri(long_t, R_ESP + 28)), from_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), from_long(from_ptri(long_t, R_ESP + 24)), from_long(from_ptri(long_t, R_ESP + 28)), from_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), from_long(from_ptri(long_t, R_ESP + 40)), from_ptriv(R_ESP + 44)); } void vFuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuip_t fn = (vFuiiiiiiiuip_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(uint32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } @@ -2788,6 +2827,7 @@ void iFEXpLLiiLWpi_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLLiiLWpi_t fn = (iFEX 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 iFXLLpiiuuiiL_32(x64emu_t *emu, uintptr_t fcn) { iFXLLpiiuuiiL_t fn = (iFXLLpiiuuiiL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, 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), from_ulong(from_ptri(ulong_t, 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 iFXiiLLiiibiip_ip_32(x64emu_t *emu, uintptr_t fcn) { iFXiiLLiiibiip_ip_t fn = (iFXiiLLiiibiip_ip_t)fcn; struct_iip_t arg_36={0}; if (*(ptr_t*)(from_ptr((R_ESP + 36)))) from_struct_iip(&arg_36, *(ptr_t*)(from_ptr((R_ESP + 36)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ulong(from_ptri(ulong_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), *(ptr_t*)(from_ptr((R_ESP + 36))) ? &arg_36 : NULL, from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); if (*(ptr_t*)(from_ptr((R_ESP + 36)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 36))), &arg_36); } void vFXiLLrLiiuL_iiiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLrLiiuL_iiiipi_t fn = (vFXiLLrLiiuL_iiiipi_t)fcn; struct_LiiuL_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_LiiuL(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, 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_ptriv(R_ESP + 40), from_ptri(int32_t, R_ESP + 44)); } void iFXLibL_iiiibL_bL_bL__32(x64emu_t *emu, uintptr_t fcn) { iFXLibL_iiiibL_bL_bL__t fn = (iFXLibL_iiiibL_bL_bL__t)fcn; struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); struct_L_t arg_36={0}; if (*(ptr_t*)(from_ptr((R_ESP + 36)))) from_struct_L(&arg_36, *(ptr_t*)(from_ptr((R_ESP + 36)))); struct_L_t arg_40={0}; if (*(ptr_t*)(from_ptr((R_ESP + 40)))) from_struct_L(&arg_40, *(ptr_t*)(from_ptr((R_ESP + 40)))); struct_L_t arg_44={0}; if (*(ptr_t*)(from_ptr((R_ESP + 44)))) from_struct_L(&arg_44, *(ptr_t*)(from_ptr((R_ESP + 44)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, 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), *(ptr_t*)(from_ptr((R_ESP + 36))) ? &arg_36 : NULL, *(ptr_t*)(from_ptr((R_ESP + 40))) ? &arg_40 : NULL, *(ptr_t*)(from_ptr((R_ESP + 44))) ? &arg_44 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 36)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 36))), &arg_36); 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); } 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)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 782c8ace..49078aac 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -388,6 +388,7 @@ void vFplp_32(x64emu_t *emu, uintptr_t fnc); void vFppi_32(x64emu_t *emu, uintptr_t fnc); void vFppu_32(x64emu_t *emu, uintptr_t fnc); void vFppp_32(x64emu_t *emu, uintptr_t fnc); +void vFXiL_32(x64emu_t *emu, uintptr_t fnc); void vFXLi_32(x64emu_t *emu, uintptr_t fnc); void vFXLL_32(x64emu_t *emu, uintptr_t fnc); void vFXLp_32(x64emu_t *emu, uintptr_t fnc); @@ -553,6 +554,7 @@ void iFpbp_i_32(x64emu_t *emu, uintptr_t fnc); void iFpbL_p_32(x64emu_t *emu, uintptr_t fnc); void iFBp_LL_32(x64emu_t *emu, uintptr_t fnc); void iFBp_pi_32(x64emu_t *emu, uintptr_t fnc); +void iFXibL__32(x64emu_t *emu, uintptr_t fnc); void iFXLbp__32(x64emu_t *emu, uintptr_t fnc); void iFXLbL__32(x64emu_t *emu, uintptr_t fnc); void iFXbL_i_32(x64emu_t *emu, uintptr_t fnc); @@ -575,6 +577,7 @@ void iFXLbpp__32(x64emu_t *emu, uintptr_t fnc); void iFXbLC_i_32(x64emu_t *emu, uintptr_t fnc); void vFLbL_bL__32(x64emu_t *emu, uintptr_t fnc); void iFXbiip_i_32(x64emu_t *emu, uintptr_t fnc); +void iFXbLip_L_32(x64emu_t *emu, uintptr_t fnc); void vFXLbpLiL__32(x64emu_t *emu, uintptr_t fnc); void iFXLbpLiL__32(x64emu_t *emu, uintptr_t fnc); void iFXLbLLii__32(x64emu_t *emu, uintptr_t fnc); @@ -673,6 +676,7 @@ void vFppip_32(x64emu_t *emu, uintptr_t fnc); void vFppui_32(x64emu_t *emu, uintptr_t fnc); void vFpppp_32(x64emu_t *emu, uintptr_t fnc); void vFXiiL_32(x64emu_t *emu, uintptr_t fnc); +void vFXiLu_32(x64emu_t *emu, uintptr_t fnc); void vFXLii_32(x64emu_t *emu, uintptr_t fnc); void vFXLLL_32(x64emu_t *emu, uintptr_t fnc); void vFXLLp_32(x64emu_t *emu, uintptr_t fnc); @@ -729,8 +733,10 @@ void iFpppL_32(x64emu_t *emu, uintptr_t fnc); void iFpppp_32(x64emu_t *emu, uintptr_t fnc); void iFSpiL_32(x64emu_t *emu, uintptr_t fnc); void iFXiii_32(x64emu_t *emu, uintptr_t fnc); +void iFXiiL_32(x64emu_t *emu, uintptr_t fnc); void iFXiip_32(x64emu_t *emu, uintptr_t fnc); void iFXiuL_32(x64emu_t *emu, uintptr_t fnc); +void iFXiLL_32(x64emu_t *emu, uintptr_t fnc); void iFXipi_32(x64emu_t *emu, uintptr_t fnc); void iFXipp_32(x64emu_t *emu, uintptr_t fnc); void iFXWWW_32(x64emu_t *emu, uintptr_t fnc); @@ -776,6 +782,7 @@ void pFEpip_32(x64emu_t *emu, uintptr_t fnc); void pFEppi_32(x64emu_t *emu, uintptr_t fnc); void pFEppp_32(x64emu_t *emu, uintptr_t fnc); void pFEXip_32(x64emu_t *emu, uintptr_t fnc); +void pFEXLp_32(x64emu_t *emu, uintptr_t fnc); void pFEXpL_32(x64emu_t *emu, uintptr_t fnc); void pFEXpp_32(x64emu_t *emu, uintptr_t fnc); void pFiiiu_32(x64emu_t *emu, uintptr_t fnc); @@ -941,6 +948,7 @@ void iFEXLip_32(x64emu_t *emu, uintptr_t fnc); void iFEXLlp_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 iFEXppu_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); @@ -960,6 +968,8 @@ void iFpppLp_32(x64emu_t *emu, uintptr_t fnc); void iFppppp_32(x64emu_t *emu, uintptr_t fnc); void iFXiiii_32(x64emu_t *emu, uintptr_t fnc); void iFXiiip_32(x64emu_t *emu, uintptr_t fnc); +void iFXiuLi_32(x64emu_t *emu, uintptr_t fnc); +void iFXiLip_32(x64emu_t *emu, uintptr_t fnc); void iFXiLuu_32(x64emu_t *emu, uintptr_t fnc); void iFXuuLL_32(x64emu_t *emu, uintptr_t fnc); void iFXLLii_32(x64emu_t *emu, uintptr_t fnc); @@ -1104,6 +1114,7 @@ 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 iFXiiiii_32(x64emu_t *emu, uintptr_t fnc); +void iFXiiLip_32(x64emu_t *emu, uintptr_t fnc); void iFXiippp_32(x64emu_t *emu, uintptr_t fnc); void iFXuuuuu_32(x64emu_t *emu, uintptr_t fnc); void iFXLiiiL_32(x64emu_t *emu, uintptr_t fnc); @@ -1137,6 +1148,7 @@ void iFXLiiibL__32(x64emu_t *emu, uintptr_t fnc); void iFXLLLLbL__32(x64emu_t *emu, uintptr_t fnc); void iFXLbL_ipi_32(x64emu_t *emu, uintptr_t fnc); void iFXbL_upip_32(x64emu_t *emu, uintptr_t fnc); +void iFXbLip_uubLip_L_32(x64emu_t *emu, uintptr_t fnc); void vFbp_bppup_ippbp__32(x64emu_t *emu, uintptr_t fnc); void vFiiiiiip_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiuup_32(x64emu_t *emu, uintptr_t fnc); @@ -1224,6 +1236,7 @@ void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fnc); void pFEpLiiil_32(x64emu_t *emu, uintptr_t fnc); void vFXLLiiibl__32(x64emu_t *emu, uintptr_t fnc); void iFEpppibL_p_32(x64emu_t *emu, uintptr_t fnc); +void iFXiLibiip_ip_32(x64emu_t *emu, uintptr_t fnc); void iFXLibL_ubL_u_32(x64emu_t *emu, uintptr_t fnc); void vFXLpiibpiip_i_32(x64emu_t *emu, uintptr_t fnc); void iFXLpiibpiiL_i_32(x64emu_t *emu, uintptr_t fnc); @@ -1257,6 +1270,7 @@ void vFuuuipipp_32(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); void vFuuufffff_32(x64emu_t *emu, uintptr_t fnc); void vFffffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFXiLLiipi_32(x64emu_t *emu, uintptr_t fnc); void vFXiLpiiuu_32(x64emu_t *emu, uintptr_t fnc); void vFXLiiiLii_32(x64emu_t *emu, uintptr_t fnc); void vFXLLLiipi_32(x64emu_t *emu, uintptr_t fnc); @@ -1317,6 +1331,8 @@ void LFXLiiuuuLL_32(x64emu_t *emu, uintptr_t fnc); void pFEuiiiuuuu_32(x64emu_t *emu, uintptr_t fnc); void pFEXLiiuuLi_32(x64emu_t *emu, uintptr_t fnc); void iFXLbL_pppppp_32(x64emu_t *emu, uintptr_t fnc); +void iFXiLiiibiip_ip_32(x64emu_t *emu, uintptr_t fnc); +void iFXiLLLiiibiip__32(x64emu_t *emu, uintptr_t fnc); void iFXLbL_bL_ppppp_32(x64emu_t *emu, uintptr_t fnc); void vFXiLLrLiiuL_iipi_32(x64emu_t *emu, uintptr_t fnc); void pFEXbpLiLLLii_uipbLipi_uu_32(x64emu_t *emu, uintptr_t fnc); @@ -1340,10 +1356,13 @@ void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fnc); 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 iFXiLLdduudd_32(x64emu_t *emu, uintptr_t fnc); void iFXuuLiuiiLL_32(x64emu_t *emu, uintptr_t fnc); void iFXLLpiiuuii_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 iFXiiLiiibiip_ip_32(x64emu_t *emu, uintptr_t fnc); +void iFXiLLiiibiip_ip_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); void vFuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fnc); @@ -1365,6 +1384,7 @@ void iFEXpLLiiLWpi_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiiuuiiip_32(x64emu_t *emu, uintptr_t fnc); void iFXLLpiiuuiiL_32(x64emu_t *emu, uintptr_t fnc); void pFEXpuiipuuii_32(x64emu_t *emu, uintptr_t fnc); +void iFXiiLLiiibiip_ip_32(x64emu_t *emu, uintptr_t fnc); void vFXiLLrLiiuL_iiiipi_32(x64emu_t *emu, uintptr_t fnc); void iFXLibL_iiiibL_bL_bL__32(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibxi.c b/src/wrapped32/wrappedlibxi.c new file mode 100644 index 00000000..16bfab07 --- /dev/null +++ b/src/wrapped32/wrappedlibxi.c @@ -0,0 +1,168 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper32.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box32context.h" +#include "emu/x64emu_private.h" +#include "converter32.h" + +#ifdef ANDROID + static const char* libxiName = "libXi.so"; +#else + static const char* libxiName = "libXi.so.6"; +#endif + +#define LIBNAME libxi + +#ifdef ANDROID +#define NEEDED_LIBS "libX11.so", "libXext.so" +#else +#define NEEDED_LIBS "libX11.so.6", "libXext.so.6" +#endif + +#include "libtools/my_x11_defs.h" +#include "libtools/my_x11_defs_32.h" + +#include "generated/wrappedlibxitypes32.h" + +#include "wrappercallback32.h" + +void inplace_XIDeviceInfo_shrink(void* a, int n) +{ + if(!a || !n) return; + my_XIDeviceInfo_32_t* dst = a; + my_XIDeviceInfo_t* src = a; + + for(int i=0; i<n; ++i, ++src, ++dst) { + dst->deviceid = src->deviceid; + dst->name = to_ptrv(src->name); + dst->use = src->use; + dst->attachment = src->attachment; + dst->enabled = src->enabled; + for(int j=0; j<src->num_classes; ++j) + ((ptr_t*)src->classes)[j] = to_ptrv(src->classes[j]); + dst->num_classes = src->num_classes; + dst->classes = to_ptrv(src->classes); + } + // mark last record, even on only 1 record, thos last 2 uint32_t are free + dst->deviceid = 0; + dst->name = 0; +} + +int inplace_XIDeviceInfo_enlarge(void* a) +{ + if(!a) return 0; + my_XIDeviceInfo_t* dst = a; + my_XIDeviceInfo_32_t* src = a; + int n = 0; + while(src[n].deviceid && src[n].name) ++n; + src+=n-1; + dst+=n-1; + for(int i=n-1; i>=0; --i, --src, --dst) { + dst->classes = from_ptrv(src->classes); + dst->num_classes = src->num_classes; + dst->enabled = src->enabled; + dst->attachment = src->attachment; + dst->use = src->use; + dst->name = from_ptrv(src->name); + dst->deviceid = src->deviceid; + for(int j=dst->num_classes-1; j>=0; --j) + dst->classes[j] = from_ptrv(((ptr_t*)dst->classes)[j]); + } + return n; +} + +EXPORT void* my32_XIQueryDevice(x64emu_t* emu, void* dpy, int deviceid, int* ndevices) +{ + void* ret = my->XIQueryDevice(dpy, deviceid, ndevices); + inplace_XIDeviceInfo_shrink(ret, *ndevices); + return ret; +} + +EXPORT void my32_XIFreeDeviceInfo(x64emu_t* emu, void* d) +{ + inplace_XIDeviceInfo_enlarge(d); + my->XIFreeDeviceInfo(d); +} + +EXPORT int my32_XISelectEvents(x64emu_t* emu, void* dpy, XID window, my_XIEventMask_32_t* masks, int num) +{ + my_XIEventMask_t masks_l[num]; + for(int i=0; i<num; ++i) { + masks_l[i].deviceid = masks[i].deviceid; + masks_l[i].mask_len = masks[i].mask_len; + masks_l[i].mask = from_ptrv(masks[i].mask); + } + return my->XISelectEvents(dpy, window, masks_l, num); +} + +EXPORT void* my32_XIGetSelectedEvents(x64emu_t* emu, void* dpy, XID window, int* num) +{ + void* ret = my->XIGetSelectedEvents(dpy, window, num); + if(!ret) return NULL; + //inplace shrink + my_XIEventMask_t* src = ret; + my_XIEventMask_32_t* dst = ret; + for(int i=0; i<*num; ++i, ++src, ++dst) { + dst->deviceid = src->deviceid; + dst->mask_len = src->mask_len; + dst->mask = to_ptrv(src->mask); + } + return ret; +} + +void inplace_XDevice_shrink(void* a) +{ + if(!a) return; + my_XDevice_t* src = a; + my_XDevice_32_t* dst = a; + + dst->device_id = src->device_id; + dst->num_classes = src->num_classes; + dst->classes = to_ptrv(src->classes); +} +void inplace_XDevice_enlarge(void* a) +{ + if(!a) return; + my_XDevice_32_t* src = a; + my_XDevice_t* dst = a; + + dst->classes = from_ptrv(src->classes); + dst->num_classes = src->num_classes; + dst->device_id = src->device_id; +} + +EXPORT void* my32_XOpenDevice(x64emu_t* emu, void* dpy, XID id) +{ + void* ret = my->XOpenDevice(dpy, id); + inplace_XDevice_shrink(ret); + return ret; +} + +EXPORT int my32_XCloseDevice(x64emu_t* emu, void* dpy, void* d) +{ + inplace_XDevice_enlarge(d); + return my->XCloseDevice(dpy, d); +} + +EXPORT int my32_XGetDeviceButtonMapping(x64emu_t* emu, void* dpy, void* d, void* map, int nmap) +{ + inplace_XDevice_enlarge(d); + return my->XGetDeviceButtonMapping(dpy, d, map, nmap); + inplace_XDevice_shrink(d); +} + + +#include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibxi_private.h b/src/wrapped32/wrappedlibxi_private.h new file mode 100644 index 00000000..bf3614ce --- /dev/null +++ b/src/wrapped32/wrappedlibxi_private.h @@ -0,0 +1,88 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh... +#endif + +//GO(XAllowDeviceEvents, iFXbLip_iL) +//GO(XChangeDeviceControl, iFXbLip_ibLi_) +//GO(XChangeDeviceDontPropagateList, iFXLibL_i) +//GO(XChangeDeviceKeyMapping, iFXbLip_iibL_i) +//GO(XChangeDeviceProperty, vFXbLip_LLiipi) +//GO(XChangeFeedbackControl, iFXbLip_LbLiL_) +//GO(XChangeKeyboardDevice, iFXbLip_) +//GO(XChangePointerDevice, iFXbLip_ii) +GOM(XCloseDevice, iFEXp) +//GO(XDeleteDeviceProperty, vFXbLip_L) +//GO(XDeviceBell, iFXbLip_LLi) +//GO(XFreeDeviceControl, vFbLi_) +//GO(XFreeDeviceList, vFbLLpiibLi__) +//GO(XFreeDeviceMotionEvents, vFbLp_) +//GO(XFreeDeviceState, vFbLip_) +//GO(XFreeFeedbackList, vFbLiL_) +GOM(XGetDeviceButtonMapping, iFEXppu) +//GO(XGetDeviceControl, bLi_FXbLip_i) +//GO(XGetDeviceDontPropagateList, bL_FXLp) +//GO(XGetDeviceFocus, iFXbLip_bL_pbL_) +//GO(XGetDeviceKeyMapping, bL_FXbLip_Cip) +//GO(XGetDeviceModifierMapping, bip_FXbLip_) +//GO(XGetDeviceMotionEvents, bLp_FXbLip_LLppp) +//GO(XGetDeviceProperty, iFXbLip_LlliLbL_pbL_bL_bp_) +GO(XGetExtensionVersion, pFXp) +//GO(XGetFeedbackControl, bLiL_FXbLip_p) +//GO(XGetSelectedExtensionEvents, iFXLpbbL__pbbL__) +//GO(XGrabDevice, iFXbLip_LiibL_iiL) +//GO(XGrabDeviceButton, iFXbLip_uubLip_LiubL_ii) +//GO(XGrabDeviceKey, iFXbLip_uubLip_LiubL_ii) +GO(XIAllowEvents, iFXiiL) +GO(XIAllowTouchEvents, iFXiuLi) +GO(XIBarrierReleasePointer, vFXiLu) +//GO(XIBarrierReleasePointers, vFXbiLu_i) +//GO(XIChangeHierarchy, iFppi) +GO(XIChangeProperty, vFXiLLiipi) +GO(XIDefineCursor, iFXiLL) +GO(XIDeleteProperty, vFXiL) +GOM(XIFreeDeviceInfo, vFEp) +GO(XIGetClientPointer, iFXLp) +GO(XIGetFocus, iFXibL_) +//GO(XIGetProperty, iFXiLlliLbL_pbL_bL_bp_) +GOM(XIGetSelectedEvents, pFEXLp) +GO(XIGrabButton, iFXiiLLiiibiip_ip) +GO(XIGrabDevice, iFXiLLLiiibiip_) +GO(XIGrabEnter, iFXiLLiiibiip_ip) +GO(XIGrabFocusIn, iFXiLiiibiip_ip) +GO(XIGrabKeycode, iFXiiLiiibiip_ip) +GO(XIGrabTouchBegin, iFXiLibiip_ip) +//GO(XIListProperties, bL_FXip) +GOM(XIQueryDevice, pFEXip) +//GO(XIQueryPointer, iFXiLbL_bL_ppppbip_pp) +GO(XIQueryVersion, iFXpp) +GOM(XISelectEvents, iFEXLpi) +GO(XISetClientPointer, iFXLi) +GO(XISetFocus, iFXiLL) +GO(XIUndefineCursor, iFXiL) +GO(XIUngrabButton, iFXiiLip) +GO(XIUngrabDevice, iFXiL) +GO(XIUngrabEnter, iFXiLip) +GO(XIUngrabFocusIn, iFXiLip) +GO(XIUngrabKeycode, iFXiiLip) +GO(XIUngrabTouchBegin, iFXiLip) +GO(XIWarpPointer, iFXiLLdduudd) +//GO(XListDeviceProperties, bL_FXbLip_p) +//GO(XListInputDevices, bLLpiibLi__FXp) +GOM(XOpenDevice, pFEXL) +//GO(XQueryDeviceState, bLip_FXbLip_) +//GO(XSelectExtensionEvent, iFXLbL_i) +//GO(XSendExtensionEvent, iFppLiipp) +//GO(XSetDeviceButtonMapping, iFXbLip_pi) +//GO(XSetDeviceFocus, iFXbLip_LiL) +//GO(XSetDeviceMode, iFXbLip_i) +//GO(XSetDeviceModifierMapping, iFXbLip_bip_) +//GO(XSetDeviceValuators, iFXbLip_pii) +GO(XUngrabDevice, iFXbLip_L) +GO(XUngrabDeviceButton, iFXbLip_uubLip_L) +GO(XUngrabDeviceKey, iFXbLip_uubLip_L) +GO(_XiGetDevicePresenceNotifyEvent, iFX) +GO(_xibadclass, vFXp) +GO(_xibaddevice, vFXp) +GO(_xibadevent, vFXp) +GO(_xibadmode, vFXp) +GO(_xidevicebusy, vFXp) |