about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-05 16:36:31 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-05 16:36:31 +0200
commit2a2f82a745ac389e143a2e187029a7ed919e8a39 (patch)
tree8f91f5657d43e09bfcf438d699f75bc8f2a34b16 /src
parent13a7801421ea8159917594cec60194a6a2805bdb (diff)
downloadbox64-2a2f82a745ac389e143a2e187029a7ed919e8a39.tar.gz
box64-2a2f82a745ac389e143a2e187029a7ed919e8a39.zip
[BOX32] Added many more 32bits wrapped function (some using wrapperhelper)
Diffstat (limited to 'src')
-rw-r--r--src/libtools/my_x11_defs.h13
-rw-r--r--src/libtools/my_x11_defs_32.h13
-rw-r--r--src/libtools/sdl2align32.c93
-rw-r--r--src/wrapped32/generated/functions_list.txt56
-rw-r--r--src/wrapped32/generated/wrappedfontconfigtypes32.h2
-rw-r--r--src/wrapped32/generated/wrappedfreetypetypes32.h2
-rw-r--r--src/wrapped32/generated/wrappedlibx11types32.h6
-rw-r--r--src/wrapped32/generated/wrappedlibxexttypes32.h4
-rw-r--r--src/wrapped32/generated/wrappedsdl2types32.h6
-rw-r--r--src/wrapped32/generated/wrapper32.c72
-rw-r--r--src/wrapped32/generated/wrapper32.h36
-rw-r--r--src/wrapped32/wrappedfontconfig.c21
-rw-r--r--src/wrapped32/wrappedfontconfig_private.h4
-rw-r--r--src/wrapped32/wrappedfreetype.c16
-rw-r--r--src/wrapped32/wrappedfreetype_private.h2
-rw-r--r--src/wrapped32/wrappedlibgl.c17
-rw-r--r--src/wrapped32/wrappedlibx11.c88
-rw-r--r--src/wrapped32/wrappedlibx11_private.h8
-rw-r--r--src/wrapped32/wrappedlibxext.c63
-rw-r--r--src/wrapped32/wrappedlibxext_private.h4
-rw-r--r--src/wrapped32/wrappedlibxfixes_private.h72
-rw-r--r--src/wrapped32/wrappedlibxrender_private.h88
-rw-r--r--src/wrapped32/wrappedsdl2.c28
-rw-r--r--src/wrapped32/wrappedsdl2_private.h26
24 files changed, 554 insertions, 186 deletions
diff --git a/src/libtools/my_x11_defs.h b/src/libtools/my_x11_defs.h
index 28f9cb52..b6fcf1e7 100644
--- a/src/libtools/my_x11_defs.h
+++ b/src/libtools/my_x11_defs.h
@@ -864,4 +864,17 @@ typedef struct my_XModifierKeymap_s {
 } my_XModifierKeymap_t;
 
 
+typedef struct my_XdbeVisualInfo_s
+{
+    XID         visual;
+    int         depth;
+    int         perflevel;
+} my_XdbeVisualInfo_t;
+
+typedef struct my_XdbeScreenVisualInfo_s
+{
+    int                     count;
+    my_XdbeVisualInfo_t*    visinfo;
+} my_XdbeScreenVisualInfo_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 e82f0d7a..d247b8e9 100644
--- a/src/libtools/my_x11_defs_32.h
+++ b/src/libtools/my_x11_defs_32.h
@@ -797,4 +797,17 @@ typedef struct my_XModifierKeymap_32_s {
     ptr_t           modifiermap;    //uint8_t*
 } my_XModifierKeymap_32_t;
 
+typedef struct my_XdbeVisualInfo_32_s
+{
+    XID_32      visual;
+    int         depth;
+    int         perflevel;
+} my_XdbeVisualInfo_32_t;
+
+typedef struct my_XdbeScreenVisualInfo_32_s
+{
+    int         count;
+    ptr_t       visinfo;    //my_XdbeVisualInfo_t*
+} my_XdbeScreenVisualInfo_32_t;
+
 #endif//MY_X11_DEFS_32
\ No newline at end of file
diff --git a/src/libtools/sdl2align32.c b/src/libtools/sdl2align32.c
index 3adfed3d..540d3cc5 100644
--- a/src/libtools/sdl2align32.c
+++ b/src/libtools/sdl2align32.c
@@ -423,32 +423,36 @@ void inplace_SDL2_Palette_to_32(void* a)
     dst->version = src->version;
     dst->refcount = src->refcount;
 }
-
+#define SDL2_PIXELFORMAT_SIGN 0xBADC0FEE
 void inplace_SDL2_PixelFormat_to_32(void* a)
 {
     while (a) {
         my_SDL2_PixelFormat_t* src = a;
         my_SDL2_PixelFormat_32_t* dst = a;
-        dst->format = src->format;
-        inplace_SDL2_Palette_to_32(src->palette);
-        dst->palette = to_ptrv(src->palette);
-        dst->BitsPerPixel = src->BitsPerPixel;
-        dst->BytesPerPixel = src->BytesPerPixel;
-        dst->Rmask = src->Rmask;
-        dst->Gmask = src->Gmask;
-        dst->Bmask = src->Bmask;
-        dst->Amask = src->Amask;
-        dst->Rloss = src->Rloss;
-        dst->Gloss = src->Gloss;
-        dst->Bloss = src->Bloss;
-        dst->Aloss = src->Aloss;
-        dst->Rshift = src->Rshift;
-        dst->Gshift = src->Gshift;
-        dst->Bshift = src->Bshift;
-        dst->Ashift = src->Ashift;
-        dst->refcount = src->refcount;
-        a = (void*)src->next;
-        dst->next = to_ptrv(src->next);
+        if(*(uint32_t*)(dst+1) != SDL2_PIXELFORMAT_SIGN) {
+            dst->format = src->format;
+            inplace_SDL2_Palette_to_32(src->palette);
+            dst->palette = to_ptrv(src->palette);
+            dst->BitsPerPixel = src->BitsPerPixel;
+            dst->BytesPerPixel = src->BytesPerPixel;
+            dst->Rmask = src->Rmask;
+            dst->Gmask = src->Gmask;
+            dst->Bmask = src->Bmask;
+            dst->Amask = src->Amask;
+            dst->Rloss = src->Rloss;
+            dst->Gloss = src->Gloss;
+            dst->Bloss = src->Bloss;
+            dst->Aloss = src->Aloss;
+            dst->Rshift = src->Rshift;
+            dst->Gshift = src->Gshift;
+            dst->Bshift = src->Bshift;
+            dst->Ashift = src->Ashift;
+            dst->refcount = src->refcount;
+            a = (void*)src->next;
+            dst->next = to_ptrv(src->next);
+            // put a signature to avoid muultiple unpack because of the next handling
+            *(uint32_t*)(dst+1) = SDL2_PIXELFORMAT_SIGN;
+        } else a = from_ptrv(dst->next);
     }
 }
 
@@ -492,28 +496,31 @@ void inplace_SDL2_PixelFormat_to_64(void* a)
     while (a) {
         my_SDL2_PixelFormat_32_t* src = a;
         my_SDL2_PixelFormat_t* dst = a;
-        uintptr_t p = (uintptr_t)(src->next);
-        a = (void*)p;
-        dst->next = from_ptrv(src->next);
-        dst->refcount = src->refcount;
-        dst->Ashift = src->Ashift;
-        dst->Bshift = src->Bshift;
-        dst->Gshift = src->Gshift;
-        dst->Rshift = src->Rshift;
-        dst->Aloss = src->Aloss;
-        dst->Bloss = src->Bloss;
-        dst->Gloss = src->Gloss;
-        dst->Rloss = src->Rloss;
-        dst->Amask = src->Amask;
-        dst->Bmask = src->Bmask;
-        dst->Gmask = src->Gmask;
-        dst->Rmask = src->Rmask;
-        dst->BytesPerPixel = src->BytesPerPixel;
-        dst->BitsPerPixel = src->BitsPerPixel;
-        p = (uintptr_t)(src->palette);
-        inplace_SDL2_Palette_to_64((void*)p);
-        dst->palette = from_ptrv(src->palette);
-        dst->format = src->format;
+        // check signatue
+        if(*(uint32_t*)(src+1) == SDL2_PIXELFORMAT_SIGN) {
+            uintptr_t p = (uintptr_t)(src->next);
+            a = (void*)p;
+            dst->next = from_ptrv(src->next);
+            dst->refcount = src->refcount;
+            dst->Ashift = src->Ashift;
+            dst->Bshift = src->Bshift;
+            dst->Gshift = src->Gshift;
+            dst->Rshift = src->Rshift;
+            dst->Aloss = src->Aloss;
+            dst->Bloss = src->Bloss;
+            dst->Gloss = src->Gloss;
+            dst->Rloss = src->Rloss;
+            dst->Amask = src->Amask;
+            dst->Bmask = src->Bmask;
+            dst->Gmask = src->Gmask;
+            dst->Rmask = src->Rmask;
+            dst->BytesPerPixel = src->BytesPerPixel;
+            dst->BitsPerPixel = src->BitsPerPixel;
+            p = (uintptr_t)(src->palette);
+            inplace_SDL2_Palette_to_64((void*)p);
+            dst->palette = from_ptrv(src->palette);
+            dst->format = src->format;
+        } else a = dst->next;   // already 64bits!
     }
 }
 
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index a692acb7..83fb0c61 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -344,6 +344,7 @@
 #() vFppu -> vFppu
 #() vFppp -> vFppp
 #() vFXLL -> vFXLL
+#() vFXLp -> vFXLp
 #() vFXpi -> vFXpi
 #() vFXpu -> vFXpu
 #() vFXpl -> vFXpl
@@ -424,6 +425,7 @@
 #() CFipp -> CFipp
 #() CFuUu -> CFuUu
 #() CFuff -> CFuff
+#() uFEpu -> uFEpu
 #() uFEpL -> uFEpL
 #() uFilp -> uFilp
 #() uFipu -> uFipu
@@ -454,6 +456,7 @@
 #() LFpip -> LFpip
 #() LFppi -> LFppi
 #() LFppL -> LFppL
+#() LFXip -> LFXip
 #() LFXCi -> LFXCi
 #() LFXLi -> LFXLi
 #() LFXLC -> LFXLC
@@ -480,12 +483,14 @@
 #() pFpip -> pFpip
 #() pFpiS -> pFpiS
 #() pFpII -> pFpII
+#() pFpuu -> pFpuu
 #() pFpup -> pFpup
 #() pFppu -> pFppu
 #() pFppL -> pFppL
 #() pFppp -> pFppp
 #() pFpOM -> pFpOM
 #() pFXip -> pFXip
+#() pFXLp -> pFXLp
 #() pFXpi -> pFXpi
 #() pFXpp -> pFXpp
 #() aFipa -> aFipa
@@ -517,6 +522,7 @@
 #() lFpBp_i -> lFpBi
 #() LFpBp_i -> LFpBi
 #() pFppbp_ -> pFppB
+#() pFXLbL_ -> pFXLB
 #() iFXLbpp_ -> iFXLB
 #() iFXbLC_i -> iFXBi
 #() vFLbL_bL_ -> vFLBB
@@ -618,7 +624,11 @@
 #() vFppui -> vFppui
 #() vFpppp -> vFpppp
 #() vFXiiL -> vFXiiL
+#() vFXLii -> vFXLii
+#() vFXLLL -> vFXLLL
 #() vFXLLp -> vFXLLp
+#() vFXLpi -> vFXLpi
+#() vFXLpL -> vFXLpL
 #() vFXpip -> vFXpip
 #() cFpiii -> cFpiii
 #() iFEiip -> iFEiip
@@ -709,12 +719,15 @@
 #() LFppLp -> LFppLp
 #() LFppLa -> LFppLa
 #() LFXCii -> LFXCii
+#() LFXLuu -> LFXLuu
 #() LFXLpi -> LFXLpi
 #() pFEupp -> pFEupp
 #() pFEpip -> pFEpip
 #() pFEppi -> pFEppi
 #() pFEppp -> pFEppp
+#() pFEXip -> pFEXip
 #() pFEXpL -> pFEXpL
+#() pFEXpp -> pFEXpp
 #() pFiiiu -> pFiiiu
 #() pFillu -> pFillu
 #() pFippu -> pFippu
@@ -728,7 +741,8 @@
 #() pFpppp -> pFpppp
 #() pFXiii -> pFXiii
 #() pFXCip -> pFXCip
-#() pFXlpp -> pFXlpp
+#() pFXLpi -> pFXLpi
+#() pFXLpp -> pFXLpp
 #() pFXppi -> pFXppi
 #() pFXppp -> pFXppp
 #() vFbp_ppp -> vFBppp
@@ -858,6 +872,9 @@
 #() vFppppu -> vFppppu
 #() vFppppp -> vFppppp
 #() vFXLiii -> vFXLiii
+#() vFXLiiL -> vFXLiiL
+#() vFXLppi -> vFXLppi
+#() vFXpiiL -> vFXpiiL
 #() iFEiiip -> iFEiiip
 #() iFEipii -> iFEipii
 #() iFEippL -> iFEippL
@@ -908,8 +925,11 @@
 #() LFpLppa -> LFpLppa
 #() LFXLuuu -> LFXLuuu
 #() LFXLpuu -> LFXLpuu
+#() LFXLpLp -> LFXLpLp
+#() LFXpppi -> LFXpppi
 #() pFEppip -> pFEppip
 #() pFEXipp -> pFEXipp
+#() pFEXlpp -> pFEXlpp
 #() pFuiupp -> pFuiupp
 #() pFpiiuu -> pFpiiuu
 #() pFpippp -> pFpippp
@@ -1007,9 +1027,13 @@
 #() vFpdddii -> vFpdddii
 #() vFppupii -> vFppupii
 #() vFpppppp -> vFpppppp
+#() vFXiLppi -> vFXiLppi
 #() vFXLiiii -> vFXLiiii
+#() vFXLiiiL -> vFXLiiiL
+#() vFXLiipi -> vFXLiipi
 #() iFEiippi -> iFEiippi
 #() iFEuppLp -> iFEuppLp
+#() iFEpiuuu -> iFEpiuuu
 #() iFEpiLpp -> iFEpiLpp
 #() iFEpuuup -> iFEpuuup
 #() iFEplluu -> iFEplluu
@@ -1114,6 +1138,8 @@
 #() vFXLiiiLi -> vFXLiiiLi
 #() vFXLiiipi -> vFXLiiipi
 #() vFXLiiuui -> vFXLiiuui
+#() vFXLLuuuu -> vFXLLuuuu
+#() vFXLppipi -> vFXLppipi
 #() vFXpiipii -> vFXpiipii
 #() vFXppiiii -> vFXppiiii
 #() iFEpLiipV -> iFEpLiipV
@@ -1140,7 +1166,6 @@
 #() pFEpLiiii -> pFEpLiiii
 #() pFEpLiiiI -> pFEpLiiiI
 #() pFEpLiiil -> pFEpLiiil
-#() pFppppppp -> pFppppppp
 #() iFEpppibL_p -> iFEpppiBp
 #() iFXLibL_ubL_u -> iFXLiBuBu
 #() vFXLpiibpiip_i -> vFXLpiiBi
@@ -1175,6 +1200,7 @@
 #() vFuuuuuuuu -> vFuuuuuuuu
 #() vFuuufffff -> vFuuufffff
 #() vFffffffff -> vFffffffff
+#() vFXiLpiiuu -> vFXiLpiiuu
 #() vFXLiiiLii -> vFXLiiiLii
 #() vFXLppiipi -> vFXLppiipi
 #() iFEpippppp -> iFEpippppp
@@ -1214,6 +1240,7 @@
 #() vFuffffffff -> vFuffffffff
 #() vFffCCCCfff -> vFffCCCCfff
 #() vFddddddddd -> vFddddddddd
+#() vFXiLLpiipi -> vFXiLLpiipi
 #() vFXLiiipiii -> vFXLiiipiii
 #() iFEXLLLiipi -> iFEXLLLiipi
 #() iFuiiuuiiip -> iFuiiuuiiip
@@ -1226,6 +1253,7 @@
 #() iFXLLiiuuii -> iFXLLiiuuii
 #() iFXLpiiuuii -> iFXLpiiuuii
 #() uFuulpiuiuf -> uFuulpiuiuf
+#() LFXLiiiiiip -> LFXLiiiiiip
 #() LFXLiiuuuLL -> LFXLiiuuuLL
 #() pFEuiiiuuuu -> pFEuiiiuuuu
 #() pFEXLiiuuLi -> pFEXLiiuuLi
@@ -1272,6 +1300,7 @@
 #() vFUufffffffff -> vFUufffffffff
 #() vFpiiiiiiiiuu -> vFpiiiiiiiiuu
 #() vFpipipiipiiu -> vFpipipiipiiu
+#() vFXiLLpiiiipi -> vFXiLLpiiiipi
 #() iFEXLppiiiiuu -> iFEXLppiiiiuu
 #() iFEXpLLiiLWpi -> iFEXpLLiiLWpi
 #() iFuiiiiuuiiip -> iFuiiiiuuiiip
@@ -1285,6 +1314,8 @@
 #() vFuuiiiiiiiuup -> vFuuiiiiiiiuup
 #() vFuuuuuuuuuuuu -> vFuuuuuuuuuuuu
 #() vFffffffffffff -> vFffffffffffff
+#() vFXiLLpiiiipii -> vFXiLLpiiiipii
+#() vFXiLLpLiiiipi -> vFXiLLpLiiiipi
 #() iFEXLppiiiiuui -> iFEXLppiiiiuui
 #() iFXLpppppppppp -> iFXLpppppppppp
 #() pFEXLiiuuLipii -> pFEXLiiuuLipii
@@ -1293,6 +1324,7 @@
 #() vFuuuuuuuuuuuuu -> vFuuuuuuuuuuuuu
 #() vFuUuuuuuuuuuuu -> vFuUuuuuuuuuuuu
 #() vFuffffffffffff -> vFuffffffffffff
+#() vFXiLLLiiiiiiuu -> vFXiLLLiiiiiiuu
 #() iFddddpppddpppp -> iFddddpppddpppp
 #() iFXippuuuiipppp -> iFXippuuuiipppp
 #() uFippuuuulllipp -> uFippuuuulllipp
@@ -1333,6 +1365,8 @@ wrappedexpat:
 - uFpii:
   - XML_ParseBuffer
 wrappedfontconfig:
+- uFpu:
+  - FcFreeTypeCharIndex
 - iFppiUi:
   - FcPatternAdd
 wrappedfreetype:
@@ -1368,6 +1402,8 @@ wrappedfreetype:
   - FT_Get_Sfnt_Table
 - vFpll:
   - FT_Outline_Translate
+- vFppp:
+  - FT_Set_Transform
 - iFpip:
   - FT_Get_Sfnt_Name
 - iFpui:
@@ -1800,6 +1836,7 @@ wrappedlibx11:
   - XCloseDisplay
 - pFp:
   - XSetErrorHandler
+  - XSetIOErrorHandler
 - pFX:
   - XGetModifierMapping
 - vFXp:
@@ -1816,6 +1853,7 @@ wrappedlibx11:
   - XVaCreateNestedList
 - pFpV:
   - XCreateIC
+  - XGetIMValues
   - XSetICValues
   - XSetIMValues
 - pFXi:
@@ -1833,6 +1871,8 @@ wrappedlibx11:
   - XSetWMHints
 - LFXii:
   - XGetPixel
+- pFXip:
+  - XESetCloseDisplay
 - iFpLlp:
   - XWindowEvent
 - iFpppp:
@@ -1845,6 +1885,8 @@ wrappedlibx11:
   - XSetWMProtocols
 - iFXppp:
   - XIfEvent
+- pFXlpp:
+  - XGetVisualInfo
 - iFXbpLiL_pp:
   - XmbTextPropertyToTextList
 - iFppipp:
@@ -1887,6 +1929,10 @@ wrappedlibx11:
   - XCreateWindow
 wrappedlibxcursor:
 wrappedlibxext:
+- vFp:
+  - XdbeFreeVisualInfo
+- pFXpp:
+  - XdbeGetVisualInfo
 - iFXLpiiL:
   - XShmGetImage
 - pFXbpLiLLLii_uipbLipi_uu:
@@ -2016,6 +2062,8 @@ wrappedsdl2:
   - SDL_RWFromFile
 - iFiip:
   - SDL_GetDisplayMode
+- iFpiu:
+  - SDL_SetColorKey
 - iFppu:
   - SDL_FillRect
 - iFppV:
@@ -2026,6 +2074,8 @@ wrappedsdl2:
   - SDL_GetClosestDisplayMode
 - pFpii:
   - SDL_CreateColorCursor
+- pFpuu:
+  - SDL_ConvertSurfaceFormat
 - pFppp:
   - SDL_CreateThread
 - iFpLpp:
@@ -2035,6 +2085,8 @@ wrappedsdl2:
 - LFppLL:
   - SDL_RWread
   - SDL_RWwrite
+- iFpiuuu:
+  - SDL_PeepEvents
 - uFpippi:
   - SDL_OpenAudioDevice
 - pFpiiiiu:
diff --git a/src/wrapped32/generated/wrappedfontconfigtypes32.h b/src/wrapped32/generated/wrappedfontconfigtypes32.h
index 2bc134c0..f147d625 100644
--- a/src/wrapped32/generated/wrappedfontconfigtypes32.h
+++ b/src/wrapped32/generated/wrappedfontconfigtypes32.h
@@ -11,9 +11,11 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef uint32_t (*uFpu_t)(void*, uint32_t);
 typedef int32_t (*iFppiUi_t)(void*, void*, int32_t, uint64_t, int32_t);
 
 #define SUPER() ADDED_FUNCTIONS() \
+	GO(FcFreeTypeCharIndex, uFpu_t) \
 	GO(FcPatternAdd, iFppiUi_t)
 
 #endif // __wrappedfontconfigTYPES32_H_
diff --git a/src/wrapped32/generated/wrappedfreetypetypes32.h b/src/wrapped32/generated/wrappedfreetypetypes32.h
index 749323da..8d177619 100644
--- a/src/wrapped32/generated/wrappedfreetypetypes32.h
+++ b/src/wrapped32/generated/wrappedfreetypetypes32.h
@@ -23,6 +23,7 @@ typedef uint32_t (*uFpL_t)(void*, uintptr_t);
 typedef uintptr_t (*LFpp_t)(void*, void*);
 typedef void* (*pFpi_t)(void*, int32_t);
 typedef void (*vFpll_t)(void*, intptr_t, intptr_t);
+typedef void (*vFppp_t)(void*, void*, void*);
 typedef int32_t (*iFpip_t)(void*, int32_t, void*);
 typedef int32_t (*iFpui_t)(void*, uint32_t, int32_t);
 typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t);
@@ -57,6 +58,7 @@ typedef int32_t (*iFppllp_t)(void*, void*, intptr_t, intptr_t, void*);
 	GO(FT_Get_First_Char, LFpp_t) \
 	GO(FT_Get_Sfnt_Table, pFpi_t) \
 	GO(FT_Outline_Translate, vFpll_t) \
+	GO(FT_Set_Transform, vFppp_t) \
 	GO(FT_Get_Sfnt_Name, iFpip_t) \
 	GO(FT_Load_Glyph, iFpui_t) \
 	GO(FT_Set_Pixel_Sizes, iFpuu_t) \
diff --git a/src/wrapped32/generated/wrappedlibx11types32.h b/src/wrapped32/generated/wrappedlibx11types32.h
index e8416143..31bc4cf1 100644
--- a/src/wrapped32/generated/wrappedlibx11types32.h
+++ b/src/wrapped32/generated/wrappedlibx11types32.h
@@ -29,12 +29,14 @@ 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 void* (*pFXip_t)(void*, int32_t, void*);
 typedef int32_t (*iFpLlp_t)(void*, uintptr_t, intptr_t, void*);
 typedef int32_t (*iFpppp_t)(void*, void*, void*, void*);
 typedef int32_t (*iFXLip_t)(void*, uintptr_t, int32_t, void*);
 typedef int32_t (*iFXLlp_t)(void*, uintptr_t, intptr_t, void*);
 typedef int32_t (*iFXLpi_t)(void*, uintptr_t, void*, int32_t);
 typedef int32_t (*iFXppp_t)(void*, void*, void*, void*);
+typedef void* (*pFXlpp_t)(void*, intptr_t, void*, void*);
 typedef int32_t (*iFXbpLiL_pp_t)(void*, struct_pLiL_t*, void*, void*);
 typedef int32_t (*iFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef int32_t (*iFXLilp_t)(void*, uintptr_t, int32_t, intptr_t, void*);
@@ -65,6 +67,7 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32
 	GO(_XInitImageFuncPtrs, iFp_t) \
 	GO(XCloseDisplay, iFX_t) \
 	GO(XSetErrorHandler, pFp_t) \
+	GO(XSetIOErrorHandler, pFp_t) \
 	GO(XGetModifierMapping, pFX_t) \
 	GO(XFreeEventData, vFXp_t) \
 	GO(XFilterEvent, iFpL_t) \
@@ -74,6 +77,7 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32
 	GO(XLookupKeysym, LFpi_t) \
 	GO(XVaCreateNestedList, pFiV_t) \
 	GO(XCreateIC, pFpV_t) \
+	GO(XGetIMValues, pFpV_t) \
 	GO(XSetICValues, pFpV_t) \
 	GO(XSetIMValues, pFpV_t) \
 	GO(XSynchronize, pFXi_t) \
@@ -84,12 +88,14 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32
 	GO(XGetWindowAttributes, iFXLp_t) \
 	GO(XSetWMHints, iFXLp_t) \
 	GO(XGetPixel, LFXii_t) \
+	GO(XESetCloseDisplay, pFXip_t) \
 	GO(XWindowEvent, iFpLlp_t) \
 	GO(XCheckIfEvent, iFpppp_t) \
 	GO(XCheckTypedWindowEvent, iFXLip_t) \
 	GO(XCheckWindowEvent, iFXLlp_t) \
 	GO(XSetWMProtocols, iFXLpi_t) \
 	GO(XIfEvent, iFXppp_t) \
+	GO(XGetVisualInfo, pFXlpp_t) \
 	GO(XmbTextPropertyToTextList, iFXbpLiL_pp_t) \
 	GO(XLookupString, iFppipp_t) \
 	GO(XSendEvent, iFXLilp_t) \
diff --git a/src/wrapped32/generated/wrappedlibxexttypes32.h b/src/wrapped32/generated/wrappedlibxexttypes32.h
index da6cb7f6..e82da04b 100644
--- a/src/wrapped32/generated/wrappedlibxexttypes32.h
+++ b/src/wrapped32/generated/wrappedlibxexttypes32.h
@@ -11,11 +11,15 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef void (*vFp_t)(void*);
+typedef void* (*pFXpp_t)(void*, void*, void*);
 typedef int32_t (*iFXLpiiL_t)(void*, uintptr_t, void*, int32_t, int32_t, uintptr_t);
 typedef void* (*pFXbpLiLLLii_uipbLipi_uu_t)(void*, struct_pLiLLLii_t*, uint32_t, int32_t, void*, struct_Lipi_t*, uint32_t, uint32_t);
 typedef int32_t (*iFXLppiiiiuui_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t);
 
 #define SUPER() ADDED_FUNCTIONS() \
+	GO(XdbeFreeVisualInfo, vFp_t) \
+	GO(XdbeGetVisualInfo, pFXpp_t) \
 	GO(XShmGetImage, iFXLpiiL_t) \
 	GO(XShmCreateImage, pFXbpLiLLLii_uipbLipi_uu_t) \
 	GO(XShmPutImage, iFXLppiiiiuui_t)
diff --git a/src/wrapped32/generated/wrappedsdl2types32.h b/src/wrapped32/generated/wrappedsdl2types32.h
index 30d6e4a2..af89dbf0 100644
--- a/src/wrapped32/generated/wrappedsdl2types32.h
+++ b/src/wrapped32/generated/wrappedsdl2types32.h
@@ -25,15 +25,18 @@ typedef int32_t (*iFpp_t)(void*, void*);
 typedef void* (*pFpi_t)(void*, int32_t);
 typedef void* (*pFpp_t)(void*, void*);
 typedef int32_t (*iFiip_t)(int32_t, int32_t, void*);
+typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t);
 typedef int32_t (*iFppu_t)(void*, void*, uint32_t);
 typedef int32_t (*iFppV_t)(void*, void*, ...);
 typedef int64_t (*IFpIi_t)(void*, int64_t, int32_t);
 typedef void* (*pFipp_t)(int32_t, void*, void*);
 typedef void* (*pFpii_t)(void*, int32_t, int32_t);
+typedef void* (*pFpuu_t)(void*, uint32_t, uint32_t);
 typedef void* (*pFppp_t)(void*, void*, void*);
 typedef int32_t (*iFpLpp_t)(void*, uintptr_t, void*, void*);
 typedef int32_t (*iFpLpV_t)(void*, uintptr_t, void*, ...);
 typedef uintptr_t (*LFppLL_t)(void*, void*, uintptr_t, uintptr_t);
+typedef int32_t (*iFpiuuu_t)(void*, int32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFpippi_t)(void*, int32_t, void*, void*, int32_t);
 typedef void* (*pFpiiiiu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t);
 typedef void* (*pFuiiiuuuu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
@@ -65,16 +68,19 @@ typedef void* (*pFuiiiuuuu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uin
 	GO(SDL_CreateTextureFromSurface, pFpp_t) \
 	GO(SDL_RWFromFile, pFpp_t) \
 	GO(SDL_GetDisplayMode, iFiip_t) \
+	GO(SDL_SetColorKey, iFpiu_t) \
 	GO(SDL_FillRect, iFppu_t) \
 	GO(SDL_sscanf, iFppV_t) \
 	GO(SDL_RWseek, IFpIi_t) \
 	GO(SDL_GetClosestDisplayMode, pFipp_t) \
 	GO(SDL_CreateColorCursor, pFpii_t) \
+	GO(SDL_ConvertSurfaceFormat, pFpuu_t) \
 	GO(SDL_CreateThread, pFppp_t) \
 	GO(SDL_vsnprintf, iFpLpp_t) \
 	GO(SDL_snprintf, iFpLpV_t) \
 	GO(SDL_RWread, LFppLL_t) \
 	GO(SDL_RWwrite, LFppLL_t) \
+	GO(SDL_PeepEvents, iFpiuuu_t) \
 	GO(SDL_OpenAudioDevice, uFpippi_t) \
 	GO(SDL_CreateRGBSurfaceWithFormatFrom, pFpiiiiu_t) \
 	GO(SDL_CreateRGBSurface, pFuiiiuuuu_t)
diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c
index ef8ed2d9..d55e670b 100644
--- a/src/wrapped32/generated/wrapper32.c
+++ b/src/wrapped32/generated/wrapper32.c
@@ -434,6 +434,7 @@ 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 (*vFXLL_t)(void*, uintptr_t, uintptr_t);
+typedef void (*vFXLp_t)(void*, uintptr_t, void*);
 typedef void (*vFXpi_t)(void*, void*, int32_t);
 typedef void (*vFXpu_t)(void*, void*, uint32_t);
 typedef void (*vFXpl_t)(void*, void*, intptr_t);
@@ -514,6 +515,7 @@ typedef int64_t (*IFpIi_t)(void*, int64_t, int32_t);
 typedef uint8_t (*CFipp_t)(int32_t, void*, void*);
 typedef uint8_t (*CFuUu_t)(uint32_t, uint64_t, uint32_t);
 typedef uint8_t (*CFuff_t)(uint32_t, float, float);
+typedef uint32_t (*uFEpu_t)(x64emu_t*, void*, uint32_t);
 typedef uint32_t (*uFEpL_t)(x64emu_t*, void*, uintptr_t);
 typedef uint32_t (*uFilp_t)(int32_t, intptr_t, void*);
 typedef uint32_t (*uFipu_t)(int32_t, void*, uint32_t);
@@ -544,6 +546,7 @@ typedef uintptr_t (*LFpii_t)(void*, int32_t, int32_t);
 typedef uintptr_t (*LFpip_t)(void*, int32_t, void*);
 typedef uintptr_t (*LFppi_t)(void*, void*, int32_t);
 typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t);
+typedef uintptr_t (*LFXip_t)(void*, int32_t, void*);
 typedef uintptr_t (*LFXCi_t)(void*, uint8_t, int32_t);
 typedef uintptr_t (*LFXLi_t)(void*, uintptr_t, int32_t);
 typedef uintptr_t (*LFXLC_t)(void*, uintptr_t, uint8_t);
@@ -570,12 +573,14 @@ typedef void* (*pFpiL_t)(void*, int32_t, uintptr_t);
 typedef void* (*pFpip_t)(void*, int32_t, void*);
 typedef void* (*pFpiS_t)(void*, int32_t, void*);
 typedef void* (*pFpII_t)(void*, int64_t, int64_t);
+typedef void* (*pFpuu_t)(void*, uint32_t, uint32_t);
 typedef void* (*pFpup_t)(void*, uint32_t, void*);
 typedef void* (*pFppu_t)(void*, void*, uint32_t);
 typedef void* (*pFppL_t)(void*, void*, uintptr_t);
 typedef void* (*pFppp_t)(void*, void*, void*);
 typedef void* (*pFpOM_t)(void*, int32_t, ...);
 typedef void* (*pFXip_t)(void*, int32_t, void*);
+typedef void* (*pFXLp_t)(void*, uintptr_t, void*);
 typedef void* (*pFXpi_t)(void*, void*, int32_t);
 typedef void* (*pFXpp_t)(void*, void*, void*);
 typedef void* (*aFipa_t)(int32_t, void*, void*);
@@ -607,6 +612,7 @@ typedef double (*dFpBp_a_t)(void*, struct_p_t*, void*);
 typedef intptr_t (*lFpBp_i_t)(void*, struct_p_t*, int32_t);
 typedef uintptr_t (*LFpBp_i_t)(void*, struct_p_t*, int32_t);
 typedef void* (*pFppbp__t)(void*, void*, struct_p_t*);
+typedef void* (*pFXLbL__t)(void*, uintptr_t, struct_L_t*);
 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*);
@@ -708,7 +714,11 @@ 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 (*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*);
+typedef void (*vFXLpi_t)(void*, uintptr_t, void*, int32_t);
+typedef void (*vFXLpL_t)(void*, uintptr_t, void*, uintptr_t);
 typedef void (*vFXpip_t)(void*, void*, int32_t, void*);
 typedef int8_t (*cFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFEiip_t)(x64emu_t*, int32_t, int32_t, void*);
@@ -799,12 +809,15 @@ 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 (*LFXLuu_t)(void*, uintptr_t, uint32_t, uint32_t);
 typedef uintptr_t (*LFXLpi_t)(void*, uintptr_t, void*, int32_t);
 typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*);
 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* (*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);
 typedef void* (*pFillu_t)(int32_t, intptr_t, intptr_t, uint32_t);
 typedef void* (*pFippu_t)(int32_t, void*, void*, uint32_t);
@@ -818,7 +831,8 @@ typedef void* (*pFppLL_t)(void*, void*, uintptr_t, uintptr_t);
 typedef void* (*pFpppp_t)(void*, void*, void*, void*);
 typedef void* (*pFXiii_t)(void*, int32_t, int32_t, int32_t);
 typedef void* (*pFXCip_t)(void*, uint8_t, int32_t, void*);
-typedef void* (*pFXlpp_t)(void*, intptr_t, void*, void*);
+typedef void* (*pFXLpi_t)(void*, uintptr_t, void*, int32_t);
+typedef void* (*pFXLpp_t)(void*, uintptr_t, void*, void*);
 typedef void* (*pFXppi_t)(void*, void*, void*, int32_t);
 typedef void* (*pFXppp_t)(void*, void*, void*, void*);
 typedef void (*vFbp_ppp_t)(struct_p_t*, void*, void*, void*);
@@ -948,6 +962,9 @@ typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t);
 typedef void (*vFppppu_t)(void*, void*, void*, void*, uint32_t);
 typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
 typedef void (*vFXLiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t);
+typedef void (*vFXLiiL_t)(void*, uintptr_t, int32_t, int32_t, uintptr_t);
+typedef void (*vFXLppi_t)(void*, uintptr_t, void*, void*, int32_t);
+typedef void (*vFXpiiL_t)(void*, void*, int32_t, int32_t, uintptr_t);
 typedef int32_t (*iFEiiip_t)(x64emu_t*, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFEipii_t)(x64emu_t*, int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFEippL_t)(x64emu_t*, int32_t, void*, void*, uintptr_t);
@@ -998,8 +1015,11 @@ typedef uintptr_t (*LFEppLL_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t);
 typedef uintptr_t (*LFpLppa_t)(void*, uintptr_t, void*, void*, void*);
 typedef uintptr_t (*LFXLuuu_t)(void*, uintptr_t, uint32_t, uint32_t, uint32_t);
 typedef uintptr_t (*LFXLpuu_t)(void*, uintptr_t, void*, uint32_t, uint32_t);
+typedef uintptr_t (*LFXLpLp_t)(void*, uintptr_t, void*, uintptr_t, void*);
+typedef uintptr_t (*LFXpppi_t)(void*, void*, void*, void*, int32_t);
 typedef void* (*pFEppip_t)(x64emu_t*, void*, void*, int32_t, void*);
 typedef void* (*pFEXipp_t)(x64emu_t*, void*, int32_t, void*, void*);
+typedef void* (*pFEXlpp_t)(x64emu_t*, void*, intptr_t, void*, void*);
 typedef void* (*pFuiupp_t)(uint32_t, int32_t, uint32_t, void*, void*);
 typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
 typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*);
@@ -1097,9 +1117,13 @@ 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 (*vFXiLppi_t)(void*, int32_t, uintptr_t, void*, void*, int32_t);
 typedef void (*vFXLiiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFXLiiiL_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t);
+typedef void (*vFXLiipi_t)(void*, uintptr_t, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFEiippi_t)(x64emu_t*, int32_t, int32_t, void*, void*, int32_t);
 typedef int32_t (*iFEuppLp_t)(x64emu_t*, uint32_t, void*, void*, uintptr_t, void*);
+typedef int32_t (*iFEpiuuu_t)(x64emu_t*, void*, int32_t, uint32_t, uint32_t, uint32_t);
 typedef int32_t (*iFEpiLpp_t)(x64emu_t*, void*, int32_t, uintptr_t, void*, void*);
 typedef int32_t (*iFEpuuup_t)(x64emu_t*, void*, uint32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFEplluu_t)(x64emu_t*, void*, intptr_t, intptr_t, uint32_t, uint32_t);
@@ -1204,6 +1228,8 @@ typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, dou
 typedef void (*vFXLiiiLi_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t, int32_t);
 typedef void (*vFXLiiipi_t)(void*, uintptr_t, int32_t, int32_t, int32_t, void*, int32_t);
 typedef void (*vFXLiiuui_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, int32_t);
+typedef void (*vFXLLuuuu_t)(void*, uintptr_t, uintptr_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFXLppipi_t)(void*, uintptr_t, void*, void*, int32_t, void*, int32_t);
 typedef void (*vFXpiipii_t)(void*, void*, int32_t, int32_t, void*, int32_t, int32_t);
 typedef void (*vFXppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFEpLiipV_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, void*, void*);
@@ -1230,7 +1256,6 @@ typedef void* (*pFEpiiiiu_t)(x64emu_t*, void*, int32_t, int32_t, int32_t, int32_
 typedef void* (*pFEpLiiii_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, int32_t);
 typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, int64_t);
 typedef void* (*pFEpLiiil_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, intptr_t);
-typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFEpppibL_p_t)(x64emu_t*, void*, void*, void*, int32_t, struct_L_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);
@@ -1265,6 +1290,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 (*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 (*vFXLppiipi_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*);
@@ -1304,6 +1330,7 @@ typedef void (*vFuupuuiuuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int
 typedef void (*vFuffffffff_t)(uint32_t, float, float, float, float, float, float, float, float);
 typedef void (*vFffCCCCfff_t)(float, float, uint8_t, uint8_t, uint8_t, uint8_t, float, float, float);
 typedef void (*vFddddddddd_t)(double, double, double, double, double, double, double, double, double);
+typedef void (*vFXiLLpiipi_t)(void*, int32_t, uintptr_t, uintptr_t, void*, int32_t, int32_t, void*, int32_t);
 typedef void (*vFXLiiipiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFEXLLLiipi_t)(x64emu_t*, void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFuiiuuiiip_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*);
@@ -1316,6 +1343,7 @@ typedef int32_t (*iFXLiuiiLLL_t)(void*, uintptr_t, int32_t, uint32_t, int32_t, i
 typedef int32_t (*iFXLLiiuuii_t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
 typedef int32_t (*iFXLpiiuuii_t)(void*, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
 typedef uint32_t (*uFuulpiuiuf_t)(uint32_t, uint32_t, intptr_t, void*, int32_t, uint32_t, int32_t, uint32_t, float);
+typedef uintptr_t (*LFXLiiiiiip_t)(void*, uintptr_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef uintptr_t (*LFXLiiuuuLL_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uintptr_t, uintptr_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);
@@ -1362,6 +1390,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 (*vFpiiiiiiiiuu_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
 typedef void (*vFpipipiipiiu_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t, void*, int32_t, int32_t, uint32_t);
+typedef void (*vFXiLLpiiiipi_t)(void*, int32_t, uintptr_t, uintptr_t, void*, int32_t, int32_t, int32_t, int32_t, void*, int32_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*);
@@ -1375,6 +1404,8 @@ typedef void (*vFuuiiiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t,
 typedef void (*vFuuiiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
 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 (*vFXiLLpiiiipii_t)(void*, int32_t, uintptr_t, uintptr_t, void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t);
+typedef void (*vFXiLLpLiiiipi_t)(void*, int32_t, uintptr_t, uintptr_t, void*, uintptr_t, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFEXLppiiiiuui_t)(x64emu_t*, void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFXLpppppppppp_t)(void*, uintptr_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 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);
@@ -1383,6 +1414,7 @@ typedef void (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t,
 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);
 typedef void (*vFuffffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFXiLLLiiiiiiuu_t)(void*, int32_t, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFddddpppddpppp_t)(double, double, double, double, void*, void*, void*, double, double, void*, void*, void*, void*);
 typedef int32_t (*iFXippuuuiipppp_t)(void*, int32_t, void*, void*, uint32_t, uint32_t, uint32_t, int32_t, int32_t, void*, void*, void*, void*);
 typedef uint32_t (*uFippuuuulllipp_t)(int32_t, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, intptr_t, intptr_t, intptr_t, int32_t, void*, void*);
@@ -1756,6 +1788,7 @@ void vFppi_32(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn(from
 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 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)); }
 void vFXpi_32(x64emu_t *emu, uintptr_t fcn) { vFXpi_t fn = (vFXpi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void vFXpu_32(x64emu_t *emu, uintptr_t fcn) { vFXpu_t fn = (vFXpu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
 void vFXpl_32(x64emu_t *emu, uintptr_t fcn) { vFXpl_t fn = (vFXpl_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12))); }
@@ -1836,6 +1869,7 @@ void IFpIi_32(x64emu_t *emu, uintptr_t fcn) { IFpIi_t fn = (IFpIi_t)fcn; ui64_t
 void CFipp_32(x64emu_t *emu, uintptr_t fcn) { CFipp_t fn = (CFipp_t)fcn; R_EAX = (unsigned char)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void CFuUu_32(x64emu_t *emu, uintptr_t fcn) { CFuUu_t fn = (CFuUu_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16)); }
 void CFuff_32(x64emu_t *emu, uintptr_t fcn) { CFuff_t fn = (CFuff_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
+void uFEpu_32(x64emu_t *emu, uintptr_t fcn) { uFEpu_t fn = (uFEpu_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); }
 void uFEpL_32(x64emu_t *emu, uintptr_t fcn) { uFEpL_t fn = (uFEpL_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8))); }
 void uFilp_32(x64emu_t *emu, uintptr_t fcn) { uFilp_t fn = (uFilp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
 void uFipu_32(x64emu_t *emu, uintptr_t fcn) { uFipu_t fn = (uFipu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
@@ -1866,6 +1900,7 @@ void LFpii_32(x64emu_t *emu, uintptr_t fcn) { LFpii_t fn = (LFpii_t)fcn; R_EAX =
 void LFpip_32(x64emu_t *emu, uintptr_t fcn) { LFpip_t fn = (LFpip_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void LFppi_32(x64emu_t *emu, uintptr_t fcn) { LFppi_t fn = (LFppi_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
 void LFppL_32(x64emu_t *emu, uintptr_t fcn) { LFppL_t fn = (LFppL_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
+void LFXip_32(x64emu_t *emu, uintptr_t fcn) { LFXip_t fn = (LFXip_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void LFXCi_32(x64emu_t *emu, uintptr_t fcn) { LFXCi_t fn = (LFXCi_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))); }
 void LFXLi_32(x64emu_t *emu, uintptr_t fcn) { LFXLi_t fn = (LFXLi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12))); }
 void LFXLC_32(x64emu_t *emu, uintptr_t fcn) { LFXLC_t fn = (LFXLC_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint8_t, R_ESP + 12))); }
@@ -1892,12 +1927,14 @@ void pFpiL_32(x64emu_t *emu, uintptr_t fcn) { pFpiL_t fn = (pFpiL_t)fcn; R_EAX =
 void pFpip_32(x64emu_t *emu, uintptr_t fcn) { pFpip_t fn = (pFpip_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFpiS_32(x64emu_t *emu, uintptr_t fcn) { pFpiS_t fn = (pFpiS_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), io_convert32(from_ptriv(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(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16))); }
+void pFpuu_32(x64emu_t *emu, uintptr_t fcn) { pFpuu_t fn = (pFpuu_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12))); }
 void pFpup_32(x64emu_t *emu, uintptr_t fcn) { pFpup_t fn = (pFpup_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFppu_32(x64emu_t *emu, uintptr_t fcn) { pFppu_t fn = (pFppu_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12))); }
 void pFppL_32(x64emu_t *emu, uintptr_t fcn) { pFppL_t fn = (pFppL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
 void pFppp_32(x64emu_t *emu, uintptr_t fcn) { pFppp_t fn = (pFppp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFpOM_32(x64emu_t *emu, uintptr_t fcn) { pFpOM_t fn = (pFpOM_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), of_convert32(from_ptri(int32_t, R_ESP + 8)), from_ptriv(R_ESP + 12),from_ptriv(R_ESP + 12 + 4))); }
 void pFXip_32(x64emu_t *emu, uintptr_t fcn) { pFXip_t fn = (pFXip_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
+void pFXLp_32(x64emu_t *emu, uintptr_t fcn) { pFXLp_t fn = (pFXLp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12))); }
 void pFXpi_32(x64emu_t *emu, uintptr_t fcn) { pFXpi_t fn = (pFXpi_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))); }
 void pFXpp_32(x64emu_t *emu, uintptr_t fcn) { pFXpp_t fn = (pFXpp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void aFipa_32(x64emu_t *emu, uintptr_t fcn) { aFipa_t fn = (aFipa_t)fcn; R_EAX = to_locale(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_locale(from_ptri(ptr_t, R_ESP + 12)))); }
@@ -1929,6 +1966,7 @@ void dFpBp_a_32(x64emu_t *emu, uintptr_t fcn) { dFpBp_a_t fn = (dFpBp_a_t)fcn; s
 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); }
 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_ulong(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); }
 void pFppbp__32(x64emu_t *emu, uintptr_t fcn) { pFppbp__t fn = (pFppbp__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 = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(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 pFXLbL__32(x64emu_t *emu, uintptr_t fcn) { pFXLbL__t fn = (pFXLbL__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 = to_ptrv(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 iFXLbpp__32(x64emu_t *emu, uintptr_t fcn) { iFXLbpp__t fn = (iFXLbpp__t)fcn; struct_pp_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_pp(&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_pp(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 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); }
@@ -2030,7 +2068,11 @@ 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 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)); }
+void vFXLpi_32(x64emu_t *emu, uintptr_t fcn) { vFXLpi_t fn = (vFXLpi_t)fcn; 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)); }
+void vFXLpL_32(x64emu_t *emu, uintptr_t fcn) { vFXLpL_t fn = (vFXLpL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
 void vFXpip_32(x64emu_t *emu, uintptr_t fcn) { vFXpip_t fn = (vFXpip_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void cFpiii_32(x64emu_t *emu, uintptr_t fcn) { cFpiii_t fn = (cFpiii_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_ptri(int32_t, R_ESP + 16)); }
 void iFEiip_32(x64emu_t *emu, uintptr_t fcn) { iFEiip_t fn = (iFEiip_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
@@ -2121,12 +2163,15 @@ void LFpLLS_32(x64emu_t *emu, uintptr_t fcn) { LFpLLS_t fn = (LFpLLS_t)fcn; R_EA
 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), from_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), from_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 LFXLuu_32(x64emu_t *emu, uintptr_t fcn) { LFXLuu_t fn = (LFXLuu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_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)), from_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 pFEpip_32(x64emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, 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))); }
 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 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))); }
 void pFillu_32(x64emu_t *emu, uintptr_t fcn) { pFillu_t fn = (pFillu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16))); }
 void pFippu_32(x64emu_t *emu, uintptr_t fcn) { pFippu_t fn = (pFippu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16))); }
@@ -2140,7 +2185,8 @@ void pFppLL_32(x64emu_t *emu, uintptr_t fcn) { pFppLL_t fn = (pFppLL_t)fcn; R_EA
 void pFpppp_32(x64emu_t *emu, uintptr_t fcn) { pFpppp_t fn = (pFpppp_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))); }
 void pFXiii_32(x64emu_t *emu, uintptr_t fcn) { pFXiii_t fn = (pFXiii_t)fcn; R_EAX = to_ptrv(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 pFXCip_32(x64emu_t *emu, uintptr_t fcn) { pFXCip_t fn = (pFXCip_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint8_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16))); }
-void pFXlpp_32(x64emu_t *emu, uintptr_t fcn) { pFXlpp_t fn = (pFXlpp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
+void pFXLpi_32(x64emu_t *emu, uintptr_t fcn) { pFXLpi_t fn = (pFXLpi_t)fcn; R_EAX = to_ptrv(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))); }
+void pFXLpp_32(x64emu_t *emu, uintptr_t fcn) { pFXLpp_t fn = (pFXLpp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void pFXppi_32(x64emu_t *emu, uintptr_t fcn) { pFXppi_t fn = (pFXppi_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); }
 void pFXppp_32(x64emu_t *emu, uintptr_t fcn) { pFXppp_t fn = (pFXppp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void vFbp_ppp_32(x64emu_t *emu, uintptr_t fcn) { vFbp_ppp_t fn = (vFbp_ppp_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)))); fn(*(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_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
@@ -2270,6 +2316,9 @@ void vFpppii_32(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; f
 void vFppppu_32(x64emu_t *emu, uintptr_t fcn) { vFppppu_t fn = (vFppppu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
 void vFppppp_32(x64emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_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)); }
 void vFXLiii_32(x64emu_t *emu, uintptr_t fcn) { vFXLiii_t fn = (vFXLiii_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)); }
+void vFXLiiL_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiL_t fn = (vFXLiiL_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_ulong(from_ptri(ulong_t, R_ESP + 20))); }
+void vFXLppi_32(x64emu_t *emu, uintptr_t fcn) { vFXLppi_t fn = (vFXLppi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_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)); }
+void vFXpiiL_32(x64emu_t *emu, uintptr_t fcn) { vFXpiiL_t fn = (vFXpiiL_t)fcn; fn(getDisplay(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_ulong(from_ptri(ulong_t, R_ESP + 20))); }
 void iFEiiip_32(x64emu_t *emu, uintptr_t fcn) { iFEiiip_t fn = (iFEiiip_t)fcn; R_EAX = fn(emu, 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)); }
 void iFEipii_32(x64emu_t *emu, uintptr_t fcn) { iFEipii_t fn = (iFEipii_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void iFEippL_32(x64emu_t *emu, uintptr_t fcn) { iFEippL_t fn = (iFEippL_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
@@ -2320,8 +2369,11 @@ void LFEppLL_32(x64emu_t *emu, uintptr_t fcn) { LFEppLL_t fn = (LFEppLL_t)fcn; R
 void LFpLppa_32(x64emu_t *emu, uintptr_t fcn) { LFpLppa_t fn = (LFpLppa_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_locale(from_ptri(ptr_t, R_ESP + 20)))); }
 void LFXLuuu_32(x64emu_t *emu, uintptr_t fcn) { LFXLuuu_t fn = (LFXLuuu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_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))); }
 void LFXLpuu_32(x64emu_t *emu, uintptr_t fcn) { LFXLpuu_t fn = (LFXLpuu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_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))); }
+void LFXLpLp_32(x64emu_t *emu, uintptr_t fcn) { LFXLpLp_t fn = (LFXLpLp_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); }
+void LFXpppi_32(x64emu_t *emu, uintptr_t fcn) { LFXpppi_t fn = (LFXpppi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20))); }
 void pFEppip_32(x64emu_t *emu, uintptr_t fcn) { pFEppip_t fn = (pFEppip_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), from_ptriv(R_ESP + 16))); }
 void pFEXipp_32(x64emu_t *emu, uintptr_t fcn) { pFEXipp_t fn = (pFEXipp_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), from_ptriv(R_ESP + 16))); }
+void pFEXlpp_32(x64emu_t *emu, uintptr_t fcn) { pFEXlpp_t fn = (pFEXlpp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void pFuiupp_32(x64emu_t *emu, uintptr_t fcn) { pFuiupp_t fn = (pFuiupp_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); }
 void pFpiiuu_32(x64emu_t *emu, uintptr_t fcn) { pFpiiuu_t fn = (pFpiiuu_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), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20))); }
 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))); }
@@ -2419,9 +2471,13 @@ 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 vFXiLppi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLppi_t fn = (vFXiLppi_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_ptriv(R_ESP + 20), from_ptri(int32_t, 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)), 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_ptri(int32_t, R_ESP + 24)); }
+void vFXLiiiL_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiiL_t fn = (vFXLiiiL_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))); }
+void vFXLiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXLiipi_t fn = (vFXLiipi_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_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
 void iFEiippi_32(x64emu_t *emu, uintptr_t fcn) { iFEiippi_t fn = (iFEiippi_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, 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), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); }
+void iFEpiuuu_32(x64emu_t *emu, uintptr_t fcn) { iFEpiuuu_t fn = (iFEpiuuu_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_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)); }
 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), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void iFEpuuup_32(x64emu_t *emu, uintptr_t fcn) { iFEpuuup_t fn = (iFEpuuup_t)fcn; R_EAX = fn(emu, 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_ptriv(R_ESP + 20)); }
 void iFEplluu_32(x64emu_t *emu, uintptr_t fcn) { iFEplluu_t fn = (iFEplluu_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
@@ -2526,6 +2582,8 @@ void vFpddiidd_32(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)
 void vFXLiiiLi_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiiLi_t fn = (vFXLiiiLi_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)); }
 void vFXLiiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiipi_t fn = (vFXLiiipi_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_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
 void vFXLiiuui_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiuui_t fn = (vFXLiiuui_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(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFXLLuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFXLLuuuu_t fn = (vFXLLuuuu_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_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)); }
+void vFXLppipi_32(x64emu_t *emu, uintptr_t fcn) { vFXLppipi_t fn = (vFXLppipi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_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_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
 void vFXpiipii_32(x64emu_t *emu, uintptr_t fcn) { vFXpiipii_t fn = (vFXpiipii_t)fcn; fn(getDisplay(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_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
 void vFXppiiii_32(x64emu_t *emu, uintptr_t fcn) { vFXppiiii_t fn = (vFXppiiii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(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)); }
 void iFEpLiipV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiipV_t fn = (iFEpLiipV_t)fcn; R_EAX = 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_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); }
@@ -2552,7 +2610,6 @@ void pFEpiiiiu_32(x64emu_t *emu, uintptr_t fcn) { pFEpiiiiu_t fn = (pFEpiiiiu_t)
 void pFEpLiiii_32(x64emu_t *emu, uintptr_t fcn) { pFEpLiiii_t fn = (pFEpLiiii_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_ptri(int32_t, R_ESP + 24))); }
 void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fcn) { pFEpLiiiI_t fn = (pFEpLiiiI_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_ptri(int64_t, R_ESP + 24))); }
 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 pFppppppp_32(x64emu_t *emu, uintptr_t fcn) { pFppppppp_t fn = (pFppppppp_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))); }
 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 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); }
@@ -2587,6 +2644,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 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 vFXLppiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXLppiipi_t fn = (vFXLppiipi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_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_ptriv(R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); }
 void iFEpippppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); }
@@ -2626,6 +2684,7 @@ void vFuupuuiuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuupuuiuuf_t fn = (vFuupuui
 void vFuffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffff_t fn = (vFuffffffff_t)fcn; fn(from_ptri(uint32_t, 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)); }
 void vFffCCCCfff_32(x64emu_t *emu, uintptr_t fcn) { vFffCCCCfff_t fn = (vFffCCCCfff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36)); }
 void vFddddddddd_32(x64emu_t *emu, uintptr_t fcn) { vFddddddddd_t fn = (vFddddddddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(double, R_ESP + 36), from_ptri(double, R_ESP + 44), from_ptri(double, R_ESP + 52), from_ptri(double, R_ESP + 60), from_ptri(double, R_ESP + 68)); }
+void vFXiLLpiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLpiipi_t fn = (vFXiLLpiipi_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_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)); }
 void vFXLiiipiii_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiipiii_t fn = (vFXLiiipiii_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_ptriv(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 iFEXLLLiipi_32(x64emu_t *emu, uintptr_t fcn) { iFEXLLLiipi_t fn = (iFEXLLLiipi_t)fcn; R_EAX = fn(emu, 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)); }
 void iFuiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiuuiiip_t fn = (iFuiiuuiiip_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
@@ -2638,6 +2697,7 @@ void iFXLiuiiLLL_32(x64emu_t *emu, uintptr_t fcn) { iFXLiuiiLLL_t fn = (iFXLiuii
 void iFXLLiiuuii_32(x64emu_t *emu, uintptr_t fcn) { iFXLLiiuuii_t fn = (iFXLLiiuuii_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), 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)); }
 void iFXLpiiuuii_32(x64emu_t *emu, uintptr_t fcn) { iFXLpiiuuii_t fn = (iFXLpiiuuii_t)fcn; 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), 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)); }
 void uFuulpiuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuulpiuiuf_t fn = (uFuulpiuiuf_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(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(uint32_t, R_ESP + 32), from_ptri(float, R_ESP + 36)); }
+void LFXLiiiiiip_32(x64emu_t *emu, uintptr_t fcn) { LFXLiiiiiip_t fn = (LFXLiiiiiip_t)fcn; R_EAX = to_ulong(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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36))); }
 void LFXLiiuuuLL_32(x64emu_t *emu, uintptr_t fcn) { LFXLiiuuuLL_t fn = (LFXLiiuuuLL_t)fcn; R_EAX = to_ulong(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(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ulong(from_ptri(ulong_t, R_ESP + 32)), from_ulong(from_ptri(ulong_t, R_ESP + 36)))); }
 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))); }
@@ -2684,6 +2744,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 vFpiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiiiiuu_t fn = (vFpiiiiiiiiuu_t)fcn; fn(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), 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(uint32_t, R_ESP + 44)); }
 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 vFXiLLpiiiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLpiiiipi_t fn = (vFXiLLpiiiipi_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_ptriv(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_ptriv(R_ESP + 40), from_ptri(int32_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)), from_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), 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_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)); }
@@ -2697,6 +2758,8 @@ void vFuuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuip_t fn = (vF
 void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuup_t fn = (vFuuiiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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(uint32_t, R_ESP + 44), from_ptriv(R_ESP + 48)); }
 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 vFXiLLpiiiipii_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLpiiiipii_t fn = (vFXiLLpiiiipii_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_ptriv(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_ptriv(R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48)); }
+void vFXiLLpLiiiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLpLiiiipi_t fn = (vFXiLLpLiiiipi_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_ptriv(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), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44), from_ptri(int32_t, R_ESP + 48)); }
 void iFEXLppiiiiuui_32(x64emu_t *emu, uintptr_t fcn) { iFEXLppiiiiuui_t fn = (iFEXLppiiiiuui_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_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), from_ptri(int32_t, R_ESP + 44)); }
 void iFXLpppppppppp_32(x64emu_t *emu, uintptr_t fcn) { iFXLpppppppppp_t fn = (iFXLpppppppppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_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), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptriv(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)), 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), from_ptriv(R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44))); }
@@ -2705,6 +2768,7 @@ void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (
 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)); }
 void vFuffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffffffff_t fn = (vFuffffffffffff_t)fcn; fn(from_ptri(uint32_t, 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), from_ptri(float, R_ESP + 52)); }
+void vFXiLLLiiiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLLiiiiiiuu_t fn = (vFXiLLLiiiiiiuu_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_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), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52)); }
 void iFddddpppddpppp_32(x64emu_t *emu, uintptr_t fcn) { iFddddpppddpppp_t fn = (iFddddpppddpppp_t)fcn; R_EAX = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptri(double, R_ESP + 48), from_ptri(double, R_ESP + 56), from_ptriv(R_ESP + 64), from_ptriv(R_ESP + 68), from_ptriv(R_ESP + 72), from_ptriv(R_ESP + 76)); }
 void iFXippuuuiipppp_32(x64emu_t *emu, uintptr_t fcn) { iFXippuuuiipppp_t fn = (iFXippuuuiipppp_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), from_ptri(uint32_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_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptriv(R_ESP + 48), from_ptriv(R_ESP + 52)); }
 void uFippuuuulllipp_32(x64emu_t *emu, uintptr_t fcn) { uFippuuuulllipp_t fn = (uFippuuuulllipp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(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_long(from_ptri(long_t, R_ESP + 32)), from_long(from_ptri(long_t, R_ESP + 36)), from_long(from_ptri(long_t, R_ESP + 40)), from_ptri(int32_t, R_ESP + 44), from_ptriv(R_ESP + 48), from_ptriv(R_ESP + 52)); }
diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h
index 703ad4fd..f75389a6 100644
--- a/src/wrapped32/generated/wrapper32.h
+++ b/src/wrapped32/generated/wrapper32.h
@@ -385,6 +385,7 @@ 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 vFXLL_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLp_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpu_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpl_32(x64emu_t *emu, uintptr_t fnc);
@@ -465,6 +466,7 @@ void IFpIi_32(x64emu_t *emu, uintptr_t fnc);
 void CFipp_32(x64emu_t *emu, uintptr_t fnc);
 void CFuUu_32(x64emu_t *emu, uintptr_t fnc);
 void CFuff_32(x64emu_t *emu, uintptr_t fnc);
+void uFEpu_32(x64emu_t *emu, uintptr_t fnc);
 void uFEpL_32(x64emu_t *emu, uintptr_t fnc);
 void uFilp_32(x64emu_t *emu, uintptr_t fnc);
 void uFipu_32(x64emu_t *emu, uintptr_t fnc);
@@ -495,6 +497,7 @@ void LFpii_32(x64emu_t *emu, uintptr_t fnc);
 void LFpip_32(x64emu_t *emu, uintptr_t fnc);
 void LFppi_32(x64emu_t *emu, uintptr_t fnc);
 void LFppL_32(x64emu_t *emu, uintptr_t fnc);
+void LFXip_32(x64emu_t *emu, uintptr_t fnc);
 void LFXCi_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLi_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLC_32(x64emu_t *emu, uintptr_t fnc);
@@ -521,12 +524,14 @@ void pFpiL_32(x64emu_t *emu, uintptr_t fnc);
 void pFpip_32(x64emu_t *emu, uintptr_t fnc);
 void pFpiS_32(x64emu_t *emu, uintptr_t fnc);
 void pFpII_32(x64emu_t *emu, uintptr_t fnc);
+void pFpuu_32(x64emu_t *emu, uintptr_t fnc);
 void pFpup_32(x64emu_t *emu, uintptr_t fnc);
 void pFppu_32(x64emu_t *emu, uintptr_t fnc);
 void pFppL_32(x64emu_t *emu, uintptr_t fnc);
 void pFppp_32(x64emu_t *emu, uintptr_t fnc);
 void pFpOM_32(x64emu_t *emu, uintptr_t fnc);
 void pFXip_32(x64emu_t *emu, uintptr_t fnc);
+void pFXLp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXpi_32(x64emu_t *emu, uintptr_t fnc);
 void pFXpp_32(x64emu_t *emu, uintptr_t fnc);
 void aFipa_32(x64emu_t *emu, uintptr_t fnc);
@@ -558,6 +563,7 @@ void dFpBp_a_32(x64emu_t *emu, uintptr_t fnc);
 void lFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
 void LFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
 void pFppbp__32(x64emu_t *emu, uintptr_t fnc);
+void pFXLbL__32(x64emu_t *emu, uintptr_t fnc);
 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);
@@ -659,7 +665,11 @@ 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 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);
+void vFXLpi_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLpL_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpip_32(x64emu_t *emu, uintptr_t fnc);
 void cFpiii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEiip_32(x64emu_t *emu, uintptr_t fnc);
@@ -750,12 +760,15 @@ 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 LFXLuu_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 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 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);
 void pFillu_32(x64emu_t *emu, uintptr_t fnc);
 void pFippu_32(x64emu_t *emu, uintptr_t fnc);
@@ -769,7 +782,8 @@ void pFppLL_32(x64emu_t *emu, uintptr_t fnc);
 void pFpppp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXiii_32(x64emu_t *emu, uintptr_t fnc);
 void pFXCip_32(x64emu_t *emu, uintptr_t fnc);
-void pFXlpp_32(x64emu_t *emu, uintptr_t fnc);
+void pFXLpi_32(x64emu_t *emu, uintptr_t fnc);
+void pFXLpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXppi_32(x64emu_t *emu, uintptr_t fnc);
 void pFXppp_32(x64emu_t *emu, uintptr_t fnc);
 void vFbp_ppp_32(x64emu_t *emu, uintptr_t fnc);
@@ -899,6 +913,9 @@ void vFpppii_32(x64emu_t *emu, uintptr_t fnc);
 void vFppppu_32(x64emu_t *emu, uintptr_t fnc);
 void vFppppp_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLiiL_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLppi_32(x64emu_t *emu, uintptr_t fnc);
+void vFXpiiL_32(x64emu_t *emu, uintptr_t fnc);
 void iFEiiip_32(x64emu_t *emu, uintptr_t fnc);
 void iFEipii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEippL_32(x64emu_t *emu, uintptr_t fnc);
@@ -949,8 +966,11 @@ void LFEppLL_32(x64emu_t *emu, uintptr_t fnc);
 void LFpLppa_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLuuu_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLpuu_32(x64emu_t *emu, uintptr_t fnc);
+void LFXLpLp_32(x64emu_t *emu, uintptr_t fnc);
+void LFXpppi_32(x64emu_t *emu, uintptr_t fnc);
 void pFEppip_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXipp_32(x64emu_t *emu, uintptr_t fnc);
+void pFEXlpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFuiupp_32(x64emu_t *emu, uintptr_t fnc);
 void pFpiiuu_32(x64emu_t *emu, uintptr_t fnc);
 void pFpippp_32(x64emu_t *emu, uintptr_t fnc);
@@ -1048,9 +1068,13 @@ 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 vFXiLppi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLiiiL_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLiipi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEiippi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEuppLp_32(x64emu_t *emu, uintptr_t fnc);
+void iFEpiuuu_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpiLpp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpuuup_32(x64emu_t *emu, uintptr_t fnc);
 void iFEplluu_32(x64emu_t *emu, uintptr_t fnc);
@@ -1155,6 +1179,8 @@ void vFpddiidd_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiiiLi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiiipi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiiuui_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLLuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLppipi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpiipii_32(x64emu_t *emu, uintptr_t fnc);
 void vFXppiiii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpLiipV_32(x64emu_t *emu, uintptr_t fnc);
@@ -1181,7 +1207,6 @@ void pFEpiiiiu_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiii_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiil_32(x64emu_t *emu, uintptr_t fnc);
-void pFppppppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpppibL_p_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);
@@ -1216,6 +1241,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 vFXiLpiiuu_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiiiLii_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLppiipi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpippppp_32(x64emu_t *emu, uintptr_t fnc);
@@ -1255,6 +1281,7 @@ void vFuupuuiuuf_32(x64emu_t *emu, uintptr_t fnc);
 void vFuffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFffCCCCfff_32(x64emu_t *emu, uintptr_t fnc);
 void vFddddddddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFXiLLpiipi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiiipiii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEXLLLiipi_32(x64emu_t *emu, uintptr_t fnc);
 void iFuiiuuiiip_32(x64emu_t *emu, uintptr_t fnc);
@@ -1267,6 +1294,7 @@ void iFXLiuiiLLL_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLLiiuuii_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLpiiuuii_32(x64emu_t *emu, uintptr_t fnc);
 void uFuulpiuiuf_32(x64emu_t *emu, uintptr_t fnc);
+void LFXLiiiiiip_32(x64emu_t *emu, uintptr_t fnc);
 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);
@@ -1313,6 +1341,7 @@ void vFuffffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFUufffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fnc);
 void vFpipipiipiiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFXiLLpiiiipi_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);
@@ -1326,6 +1355,8 @@ void vFuuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fnc);
 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 vFXiLLpiiiipii_32(x64emu_t *emu, uintptr_t fnc);
+void vFXiLLpLiiiipi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEXLppiiiiuui_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLpppppppppp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXLiiuuLipii_32(x64emu_t *emu, uintptr_t fnc);
@@ -1334,6 +1365,7 @@ 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);
 void vFuffffffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFXiLLLiiiiiiuu_32(x64emu_t *emu, uintptr_t fnc);
 void iFddddpppddpppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFXippuuuiipppp_32(x64emu_t *emu, uintptr_t fnc);
 void uFippuuuulllipp_32(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped32/wrappedfontconfig.c b/src/wrapped32/wrappedfontconfig.c
index 532942f5..69e5c28d 100644
--- a/src/wrapped32/wrappedfontconfig.c
+++ b/src/wrapped32/wrappedfontconfig.c
@@ -150,14 +150,15 @@ typedef struct FcConfig_32_s {
 
 #define LIBNAME fontconfig
 
-//#define ADDED_FUNCTIONS()                   \
+#define ADDED_STRUCT()                          \
+    iFppSi_t FcPatternAdd_;                     \
 
-//#include "generated/wrappedfontconfigtypes32.h"
+#define ADDED_INIT()                            \
+    my->FcPatternAdd_ = (void*)my->FcPatternAdd;\
 
 typedef int (*iFppSi_t)(void*, void*, FcValue_t, int);
 
-#define SUPER() \
-    GO(FcPatternAdd, iFppSi_t)              \
+#include "generated/wrappedfontconfigtypes32.h"
 
 #include "wrappercallback32.h"
 
@@ -221,7 +222,17 @@ EXPORT int my32_FcPatternAdd(void* p, void* object, int type, fcvalue_32_t t, in
             val.u.i = t.i;
             break;
     }
-    return my->FcPatternAdd(p, object, val, append);
+    return my->FcPatternAdd_(p, object, val, append);
+}
+
+void inplace_FT_FaceRec_shrink(void* face);
+void inplace_FT_FaceRec_enlarge(void* face);
+EXPORT uint32_t my32_FcFreeTypeCharIndex(x64emu_t* emu, void* face, uint32_t u)
+{
+    inplace_FT_FaceRec_enlarge(face);
+    uint32_t ret = my->FcFreeTypeCharIndex(face, u);
+    inplace_FT_FaceRec_shrink(face);
+    return ret;
 }
 
 #define NEEDED_LIBS "libexpat.so.1", "libfreetype.so.6"
diff --git a/src/wrapped32/wrappedfontconfig_private.h b/src/wrapped32/wrappedfontconfig_private.h
index 36821094..c18ada7a 100644
--- a/src/wrapped32/wrappedfontconfig_private.h
+++ b/src/wrapped32/wrappedfontconfig_private.h
@@ -91,7 +91,7 @@ GO(FcFontSetDestroy, vFp) //GO(FcFontSetDestroy, vFbiibp__)
 //GO(FcFontSetSort, biibp__Fpbbiibp___ipibp_p)
 //GO(FcFontSetSortDestroy, vFbiibp__)
 //GO(FcFontSort, biibp__Fppibp_p)
-//GO(FcFreeTypeCharIndex, uFpu)
+GOM(FcFreeTypeCharIndex, uFEpu)
 //GO(FcFreeTypeCharSet, 
 //GO(FcFreeTypeCharSetAndSpacing, 
 GO(FcFreeTypeQuery, pFpupp)
@@ -153,7 +153,7 @@ GO(FcPatternEqual, iFpp)
 //GO(FcPatternEqualSubset, iFppbiibp__)
 //GO(FcPatternFilter, pFpbiibp__)
 GO(FcPatternFormat, pFpp)
-//GO(FcPatternGet, uFppip)
+GO(FcPatternGet, uFppip)
 GO(FcPatternGetBool, uFppip)
 GO(FcPatternGetCharSet, uFppibp_)
 GO(FcPatternGetDouble, uFppip)
diff --git a/src/wrapped32/wrappedfreetype.c b/src/wrapped32/wrappedfreetype.c
index a78fafd3..a1e61b46 100644
--- a/src/wrapped32/wrappedfreetype.c
+++ b/src/wrapped32/wrappedfreetype.c
@@ -1696,6 +1696,22 @@ EXPORT int my32_FT_Done_Face(x64emu_t* emu, void* face)
     return my->FT_Done_Face(face);
 }
 
+EXPORT void my32_FT_Set_Transform(x64emu_t* emu, void* face, FT_Matrix_32_t* matrix, FT_Vector_32_t* delta)
+{
+    FT_Matrix_t matrix_l = {0};
+    FT_Vector_t delta_l = {0};
+    inplace_FT_FaceRec_enlarge(face);
+    if(matrix)
+        convert_FT_Matrix_to_64(&delta_l, matrix);
+    if(delta) {
+        delta_l.x = from_long(delta->x);
+        delta_l.y = from_long(delta->y);
+    }
+    my->FT_Set_Transform(face, matrix?(&matrix_l):NULL, delta?(&delta_l):NULL);
+    inplace_FT_FaceRec_shrink(face);
+}
+
+
 EXPORT int my32_FT_Get_Kerning(x64emu_t* emu, void* face, uint32_t left, uint32_t right, uint32_t kern, FT_Vector_32_t* kerning)
 {
     FT_Vector_t kerning_l = {0};
diff --git a/src/wrapped32/wrappedfreetype_private.h b/src/wrapped32/wrappedfreetype_private.h
index 31516899..c42424f0 100644
--- a/src/wrapped32/wrappedfreetype_private.h
+++ b/src/wrapped32/wrappedfreetype_private.h
@@ -161,7 +161,7 @@ GOM(FT_Set_Char_Size, iFEplluu)
 //GO(FT_Set_MM_Design_Coordinates, iFpup)
 GOM(FT_Set_Pixel_Sizes, iFEpuu)
 //GO(FT_Set_Renderer, iFppup)
-//GO(FT_Set_Transform, vFppp)
+GOM(FT_Set_Transform, vFEppp)
 //GO(FT_Set_Var_Blend_Coordinates, 
 //GO(FT_Set_Var_Design_Coordinates, iFpup)
 //GO(FT_Sfnt_Table_Info, iFpupp)
diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c
index af58f497..f47f53ed 100644
--- a/src/wrapped32/wrappedlibgl.c
+++ b/src/wrapped32/wrappedlibgl.c
@@ -28,22 +28,7 @@ extern const char* libglName;
 
 void* getDisplay(void* d); // define in 32bits wrappedx11.c
 
-void convert_XVisualInfo_to_32(void* d, void* s)
-{
-    my_XVisualInfo_t* src = s;
-    my_XVisualInfo_32_t* dst = d;
-    dst->visual = to_ptrv(src->visual);
-    dst->visualid = to_ulong(src->visualid);
-    dst->screen = src->screen;
-    dst->depth = src->depth;
-    dst->c_class = src->c_class;
-    dst->red_mask = to_ulong(src->red_mask);
-    dst->green_mask = to_ulong(src->green_mask);
-    dst->blue_mask = to_ulong(src->blue_mask);
-    dst->colormap_size = src->colormap_size;
-    dst->bits_per_rgb     = src->bits_per_rgb;
-}
-
+void convert_XVisualInfo_to_32(void* d, void* s);
 // FIXME: old wrapped* type of file, cannot use generated/wrappedlibgltypes.h
 void* getGLProcAddress32(x64emu_t* emu, glprocaddress_t procaddr, const char* rname);
 EXPORT void* my32_glXGetProcAddress(x64emu_t* emu, void* name)
diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c
index 52a47e52..8f9ef6e3 100644
--- a/src/wrapped32/wrappedlibx11.c
+++ b/src/wrapped32/wrappedlibx11.c
@@ -34,12 +34,10 @@ 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
 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);
 
@@ -196,7 +194,7 @@ static void* reverse_error_handlerFct(library_t* lib, void* fct)
     #undef GO
     return (void*)AddBridge(lib->w.bridge, iFpp_32, fct, 0, NULL);
 }
-#if 0
+
 // ioerror_handler
 #define GO(A)   \
 static uintptr_t my32_ioerror_handler_fct_##A = 0;                      \
@@ -227,9 +225,9 @@ static void* reverse_ioerror_handlerFct(library_t* lib, void* fct)
     #define GO(A) if(my32_ioerror_handler_##A == fct) return (void*)my32_ioerror_handler_fct_##A;
     SUPER()
     #undef GO
-    return (void*)AddBridge(lib->w.bridge, iFp, fct, 0, NULL);
+    return (void*)AddBridge(lib->w.bridge, iFp_32, fct, 0, NULL);
 }
-
+#if 0
 // exterror_handler
 #define GO(A)   \
 static uintptr_t my32_exterror_handler_fct_##A = 0;                      \
@@ -262,7 +260,7 @@ static void* reverse_exterror_handlerFct(library_t* lib, void* fct)
     #undef GO
     return (void*)AddBridge(lib->w.bridge, iFpppp, fct, 0, NULL);
 }
-
+#endif
 // close_display
 #define GO(A)   \
 static uintptr_t my32_close_display_fct_##A = 0;                      \
@@ -293,9 +291,9 @@ static void* reverse_close_displayFct(library_t* lib, void* fct)
     #define GO(A) if(my32_close_display_##A == fct) return (void*)my32_close_display_fct_##A;
     SUPER()
     #undef GO
-    return (void*)AddBridge(lib->w.bridge, iFpp, fct, 0, NULL);
+    return (void*)AddBridge(lib->w.bridge, iFpp_32, fct, 0, NULL);
 }
-#endif
+
 // register_im
 #define GO(A)   \
 static uintptr_t my32_register_im_fct_##A = 0;                        \
@@ -1235,7 +1233,7 @@ EXPORT void* my32_XCreateIC(x64emu_t* emu, void* xim, ptr_t* va) {
     return res;
 }
 
-EXPORT void* my32_XVaCreateNestedList(x64emu_t* emu, int unused, uintptr_t* va) {
+EXPORT void* my32_XVaCreateNestedList(x64emu_t* emu, int unused, ptr_t* va) {
     int n = 0;
     while (va[n]) n+=2 ;
 
@@ -1288,7 +1286,6 @@ EXPORT void* my32_XSetErrorHandler(x64emu_t* emu, XErrorHandler handler)
     void* ret = my->XSetErrorHandler(finderror_handlerFct(handler));
     return reverse_error_handlerFct(my_lib, ret);
 }
-#if 0
 
 EXPORT void* my32_XSetIOErrorHandler(x64emu_t* emu, XIOErrorHandler handler)
 {
@@ -1296,18 +1293,19 @@ EXPORT void* my32_XSetIOErrorHandler(x64emu_t* emu, XIOErrorHandler handler)
     return reverse_ioerror_handlerFct(my_lib, ret);
 }
 
+#if 0
 EXPORT void* my32_XESetError(x64emu_t* emu, void* display, int32_t extension, void* handler)
 {
     void* ret = my->XESetError(display, extension, findexterror_handlerFct(handler));
     return reverse_exterror_handlerFct(my_lib, ret);
 }
-
+#endif
 EXPORT void* my32_XESetCloseDisplay(x64emu_t* emu, void* display, int32_t extension, void* handler)
 {
     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)
 {
     my_XEvent_t event = {0};
@@ -2665,6 +2663,72 @@ EXPORT int my32_XInternAtoms(x64emu_t* emu, void* dpy, ptr_t* names, int count,
     return ret;
 }
 
+EXPORT void* my32_XGetIMValues(x64emu_t* emu, void* xim, ptr_t* b)
+{
+    int n = 0;
+    void* r;
+    while(b[n]) {
+        void* ret = my->XGetIMValues(xim, from_ptrv(b[n]), &r, NULL, NULL);
+        if(ret)
+            return ret;
+        b[n+1] = to_ptrv(r);
+        n+=2;
+    }
+    return NULL;
+}
+
+void convert_XVisualInfo_to_32(my_XVisualInfo_32_t* dst, my_XVisualInfo_t* src)
+{
+    dst->visual = to_ptrv(src->visual);
+    dst->visualid = to_ulong(src->visualid);
+    dst->screen = src->screen;
+    dst->depth = src->depth;
+    dst->c_class = src->c_class;
+    dst->red_mask = to_ulong(src->red_mask);
+    dst->green_mask = to_ulong(src->green_mask);
+    dst->blue_mask = to_ulong(src->blue_mask);
+    dst->colormap_size = src->colormap_size;
+    dst->bits_per_rgb = src->bits_per_rgb;
+}
+void convert_XVisualInfo_to_64(my_XVisualInfo_t* dst, my_XVisualInfo_32_t* src)
+{
+    dst->bits_per_rgb = src->bits_per_rgb;
+    dst->colormap_size = src->colormap_size;
+    dst->blue_mask = from_ulong(src->blue_mask);
+    dst->green_mask = from_ulong(src->green_mask);
+    dst->red_mask = from_ulong(src->red_mask);
+    dst->c_class = src->c_class;
+    dst->depth = src->depth;
+    dst->screen = src->screen;
+    dst->visualid = from_ulong(src->visualid);
+    dst->visual = from_ptrv(src->visual);
+}
+void inplace_XVisualInfo_shrink(void *a)
+{
+    if(!a) return;
+    my_XVisualInfo_t *src = a;
+    my_XVisualInfo_32_t* dst = a;
+
+    convert_XVisualInfo_to_32(dst, src);
+}
+void inplace_XVisualInfo_enlarge(void *a)
+{
+    if(!a) return;
+    my_XVisualInfo_32_t *src = a;
+    my_XVisualInfo_t* dst = a;
+
+    convert_XVisualInfo_to_64(dst, src);
+}
+
+EXPORT void* my32_XGetVisualInfo(x64emu_t* emu, void* dpy, long mask, my_XVisualInfo_32_t* template, int* n)
+{
+    my_XVisualInfo_t template_l = {0};
+    if(template) convert_XVisualInfo_to_64(&template_l, template);
+    my_XVisualInfo_t* ret = my->XGetVisualInfo(dpy, mask, template?(&template_l):NULL, n);
+    inplace_XVisualInfo_shrink(ret);
+    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 5f71736f..4fe0e8b8 100644
--- a/src/wrapped32/wrappedlibx11_private.h
+++ b/src/wrapped32/wrappedlibx11_private.h
@@ -298,7 +298,7 @@ GO(XEqualRegion, iFpp)
 //GO(_XError, iFpp)
 //DATAM(_XErrorFunction, 4)
 //GOM(XESetBeforeFlush, pFEXip)
-//GOM(XESetCloseDisplay, pFEXip)
+GOM(XESetCloseDisplay, pFEXip)
 //GOM(XESetCopyEventCookie, pFEXip)
 //GOM(XESetCopyGC, pFEXip)
 //GOM(XESetCreateFont, pFEXip)
@@ -386,7 +386,7 @@ GO(XGetIconName, iFXLbp_)
 GO(XGetIconSizes, iFXLbp_p)
 GO(XGetICValues, pFpppppppppp)      // use varargs...
 GOM(XGetImage, pFEXLiiuuLi)     // return an XImage with callbacks that needs wrapping
-GO(XGetIMValues, pFppppppp)     // use varargs
+GOM(XGetIMValues, pFEpV)
 GO(XGetInputFocus, iFXBL_p)
 GO(XGetKeyboardControl, iFXbiiuuLip_)
 GO(XGetKeyboardMapping, pFXCip) // return a KeySym*, so an unsigned long*
@@ -410,7 +410,7 @@ GO(XGetStandardColormap, iFXLbLLLLLLLLLL_L)
 GOM(XGetSubImage, pFEXLiiuuLipii)
 GO(XGetTextProperty, iFXLbpLiL_L)
 GO(XGetTransientForHint, iFXLbL_)
-GO(XGetVisualInfo, pFXlpp)
+GOM(XGetVisualInfo, pFEXlpp)
 //GOM(_XGetWindowAttributes, iFEXLbiiiiiipLiiiiLLiLiilllibpXLiiiiipippLLLiiiil__)
 GOM(XGetWindowAttributes, iFEXLp)
 GO(XGetWindowProperty, iFXLLlliLBL_pBL_BL_Bp_)
@@ -1076,7 +1076,7 @@ GOM(XSetICValues, pFEpV)
 GOM(XSetIMValues, pFEpV)
 GO(XSetInputFocus, iFXLiL)
 //GOM(XSetIOErrorExitHandler, vFEXpp)
-//GOM(XSetIOErrorHandler, pFEp)
+GOM(XSetIOErrorHandler, pFEp)
 //GO(_XSetLastRequestRead, LFpp)
 GO(XSetLineAttributes, iFXpuiii)
 GO(XSetLocaleModifiers, pFp)
diff --git a/src/wrapped32/wrappedlibxext.c b/src/wrapped32/wrappedlibxext.c
index 7e90e429..9d7c913a 100644
--- a/src/wrapped32/wrappedlibxext.c
+++ b/src/wrapped32/wrappedlibxext.c
@@ -26,6 +26,9 @@
 
 #define LIBNAME libxext
 
+#include "libtools/my_x11_defs.h"
+#include "libtools/my_x11_defs_32.h"
+
 typedef struct _XImage XImage;
 void BridgeImageFunc(x64emu_t *emu, XImage *img);
 void UnbridgeImageFunc(x64emu_t *emu, XImage *img);
@@ -390,6 +393,66 @@ EXPORT int32_t my32_XShmGetImage(x64emu_t* emu, void* disp, size_t drawable, voi
 //    void *ret = my->XextAddDisplay(extinfo, dpy, extname, &natives, nevents, data);
 //    return ret;
 //}
+void inplace_XdbeVisualInfo_shrink(void* a)
+{
+    if(!a) return;
+    my_XdbeVisualInfo_t *src = a;
+    my_XdbeVisualInfo_32_t* dst = a;
+
+    dst->visual = to_ulong(src->visual);
+    dst->depth = src->depth;
+    dst->perflevel = src->perflevel;
+}
+void inplace_XdbeScreenVisualInfo_shrink(void* a)
+{
+    if(!a) return;
+    my_XdbeScreenVisualInfo_t *src = a;
+    my_XdbeScreenVisualInfo_32_t* dst = a;
+
+    for(int i=0; i<src->count; ++i)
+        inplace_XdbeVisualInfo_shrink(src->visinfo+i);
+    dst->count = src->count;
+    dst->visinfo = to_ptrv(src->visinfo);
+}
+void inplace_XdbeVisualInfo_enlarge(void* a)
+{
+    if(!a) return;
+    my_XdbeVisualInfo_32_t *src = a;
+    my_XdbeVisualInfo_t* dst = a;
+
+    dst->perflevel = src->perflevel;
+    dst->depth = src->depth;
+    dst->visual = from_ulong(src->visual);
+}
+void inplace_XdbeScreenVisualInfo_enlarge(void* a)
+{
+    if(!a) return;
+    my_XdbeScreenVisualInfo_32_t *src = a;
+    my_XdbeScreenVisualInfo_t* dst = a;
+
+    dst->visinfo = from_ptrv(src->visinfo);
+    dst->count = src->count;
+    for(int i=dst->count-1; i>=0; --i)
+        inplace_XdbeVisualInfo_enlarge(dst->visinfo+i);
+}
+
+EXPORT void* my32_XdbeGetVisualInfo(x64emu_t* emu, void* dpy, XID_32* draws, int* num)
+{
+    XID draws_l[*num];
+    if(*num)
+        for(int i=0; i<*num; ++i)
+            draws_l[i] = from_ulong(draws[i]);
+    my_XdbeScreenVisualInfo_t* ret = my->XdbeGetVisualInfo(dpy, draws_l, num);
+    inplace_XdbeScreenVisualInfo_shrink(ret);
+    return ret;
+}
+
+EXPORT void my32_XdbeFreeVisualInfo(x64emu_t* emu, void* infos)
+{
+    inplace_XdbeScreenVisualInfo_enlarge(infos);
+    my->XdbeFreeVisualInfo(infos);
+}
+
 #if 0
 #ifdef ANDROID
 #define NEEDED_LIBS "libX11.so", "libxcb.so", "libXau.so", "libdl.so", "libXdmcp.so"
diff --git a/src/wrapped32/wrappedlibxext_private.h b/src/wrapped32/wrappedlibxext_private.h
index f3c27c24..ba6f41fe 100644
--- a/src/wrapped32/wrappedlibxext_private.h
+++ b/src/wrapped32/wrappedlibxext_private.h
@@ -26,9 +26,9 @@ GO(XdbeAllocateBackBufferName, LFXLC)
 GO(XdbeBeginIdiom, iFX)
 GO(XdbeDeallocateBackBufferName, iFXL)
 GO(XdbeEndIdiom, iFX)
-//GO(XdbeFreeVisualInfo, vFbibLii__)
+GOM(XdbeFreeVisualInfo, vFEp)
 //GO(XdbeGetBackBufferAttributes, bL_FXL)
-//GO(XdbeGetVisualInfo, bibLii__FXbL_p)
+GOM(XdbeGetVisualInfo, pFEXpp)
 GO(XdbeQueryExtension, iFXpp)
 GO(XdbeSwapBuffers, iFXbLC_i)
 //GO(XeviGetVisualInfo, iFXbL_ibbLiiuuuuubL___p)
diff --git a/src/wrapped32/wrappedlibxfixes_private.h b/src/wrapped32/wrappedlibxfixes_private.h
index 0a16f7ce..9fb4ffb6 100644
--- a/src/wrapped32/wrappedlibxfixes_private.h
+++ b/src/wrapped32/wrappedlibxfixes_private.h
@@ -2,41 +2,41 @@
 #error Meh...
 #endif
 
-//GO(XFixesChangeCursor, vFpLL)
-//GO(XFixesChangeCursorByName, vFpLp)
-//GO(XFixesChangeSaveSet, vFpLiii)
-//GO(XFixesCopyRegion, vFpLL)
-//GO(XFixesCreatePointerBarrier, LFpLiiiiiip)
-//GO(XFixesCreateRegion, LFppi)
-//GO(XFixesCreateRegionFromBitmap, LFpL)
-//GO(XFixesCreateRegionFromGC, LFpp)
-//GO(XFixesCreateRegionFromPicture, LFpL)
-//GO(XFixesCreateRegionFromWindow, LFpLi)
-//GO(XFixesDestroyPointerBarrier, vFpL)
-//GO(XFixesDestroyRegion, vFpL)
-//GO(XFixesExpandRegion, vFpLLuuuu)
+GO(XFixesChangeCursor, vFXLL)
+GO(XFixesChangeCursorByName, vFXLp)
+GO(XFixesChangeSaveSet, vFXLiii)
+GO(XFixesCopyRegion, vFXLL)
+GO(XFixesCreatePointerBarrier, LFXLiiiiiip)
+GO(XFixesCreateRegion, LFXpi)
+GO(XFixesCreateRegionFromBitmap, LFXL)
+GO(XFixesCreateRegionFromGC, LFXp)
+GO(XFixesCreateRegionFromPicture, LFXL)
+GO(XFixesCreateRegionFromWindow, LFXLi)
+GO(XFixesDestroyPointerBarrier, vFXL)
+GO(XFixesDestroyRegion, vFXL)
+GO(XFixesExpandRegion, vFXLLuuuu)
 //DATA(XFixesExtensionInfo, sizeof(ptr_t))    //B
 //DATA(XFixesExtensionName, sizeof(ptr_t))    //D
-//GO(XFixesFetchRegion, pFpLp)
-//GO(XFixesFetchRegionAndBounds, pFpLpp)
-//GO(XFixesFindDisplay, pFp) // Warning: failed to confirm
-//GO(XFixesGetCursorImage, pFp)
-//GO(XFixesGetCursorName, pFpLp)
-//GO(XFixesHideCursor, vFpL)
-//GO(XFixesIntersectRegion, vFpLLL)
-//GO(XFixesInvertRegion, vFpLpL)
-//GO(XFixesQueryExtension, iFppp)
-//GO(XFixesQueryVersion, iFppp)
-//GO(XFixesRegionExtents, vFpLL)
-//GO(XFixesSelectCursorInput, vFpLL)
-//GO(XFixesSelectSelectionInput, vFpLLL)
-//GO(XFixesSetCursorName, vFpLp)
-//GO(XFixesSetGCClipRegion, vFppiiL)
-//GO(XFixesSetPictureClipRegion, vFpLiiL)
-//GO(XFixesSetRegion, vFpLpi)
-//GO(XFixesSetWindowShapeRegion, vFpLiiiL)
-//GO(XFixesShowCursor, vFpL)
-//GO(XFixesSubtractRegion, vFpLLL)
-//GO(XFixesTranslateRegion, vFpLii)
-//GO(XFixesUnionRegion, vFpLLL)
-//GO(XFixesVersion, iFv)
+GO(XFixesFetchRegion, pFXLp)
+GO(XFixesFetchRegionAndBounds, pFXLpp)
+//GO(XFixesFindDisplay, pFp)
+//GO(XFixesGetCursorImage, bwwWWWWLbL_Lp_FX)
+GO(XFixesGetCursorName, pFXLbL_)
+GO(XFixesHideCursor, vFXL)
+GO(XFixesIntersectRegion, vFXLLL)
+GO(XFixesInvertRegion, vFXLpL)
+GO(XFixesQueryExtension, iFXpp)
+GO(XFixesQueryVersion, iFXpp)
+GO(XFixesRegionExtents, vFXLL)
+GO(XFixesSelectCursorInput, vFXLL)
+GO(XFixesSelectSelectionInput, vFXLLL)
+GO(XFixesSetCursorName, vFXLp)
+GO(XFixesSetGCClipRegion, vFXpiiL)
+GO(XFixesSetPictureClipRegion, vFXLiiL)
+GO(XFixesSetRegion, vFXLpi)
+GO(XFixesSetWindowShapeRegion, vFXLiiiL)
+GO(XFixesShowCursor, vFXL)
+GO(XFixesSubtractRegion, vFXLLL)
+GO(XFixesTranslateRegion, vFXLii)
+GO(XFixesUnionRegion, vFXLLL)
+GO(XFixesVersion, iFv)
diff --git a/src/wrapped32/wrappedlibxrender_private.h b/src/wrapped32/wrappedlibxrender_private.h
index a1e8cf05..9be44f6c 100644
--- a/src/wrapped32/wrappedlibxrender_private.h
+++ b/src/wrapped32/wrappedlibxrender_private.h
@@ -2,50 +2,50 @@
 #error Meh...
 #endif
 
-//GO(XRenderAddGlyphs, vFpLppipi)
-//GO(XRenderAddTraps, vFpLiipi)
-//GO(XRenderChangePicture, vFpLLp)
-//GO(XRenderComposite, vFpiLLLiiiiiiuu)
-//GO(XRenderCompositeDoublePoly, vFpiLLpiiiipii)
-//GO(XRenderCompositeString16, vFpiLLpLiiiipi)
-//GO(XRenderCompositeString32, vFpiLLpLiiiipi)
-//GO(XRenderCompositeString8, vFpiLLpLiiiipi)
-//GO(XRenderCompositeText16, vFpiLLpiiiipi)
-//GO(XRenderCompositeText32, vFpiLLpiiiipi)
-//GO(XRenderCompositeText8, vFpiLLpiiiipi)
-//GO(XRenderCompositeTrapezoids, vFpiLLpiipi)
-//GO(XRenderCompositeTriangles, vFpiLLpiipi)
-//GO(XRenderCompositeTriFan, vFpiLLpiipi)
-//GO(XRenderCompositeTriStrip, vFpiLLpiipi)
-//GO(XRenderCreateAnimCursor, LFpip)
-//GO(XRenderCreateConicalGradient, LFppppi)
-//GO(XRenderCreateCursor, LFpLuu)
-//GO(XRenderCreateGlyphSet, LFpp)
-//GO(XRenderCreateLinearGradient, LFppppi)
-//GO(XRenderCreatePicture, LFpLpLp)
-//GO(XRenderCreateRadialGradient, LFppppi)
-//GO(XRenderCreateSolidFill, LFpp)
+GO(XRenderAddGlyphs, vFXLppipi)
+GO(XRenderAddTraps, vFXLiipi)
+GO(XRenderChangePicture, vFXLLp)
+GO(XRenderComposite, vFXiLLLiiiiiiuu)
+GO(XRenderCompositeDoublePoly, vFXiLLpiiiipii)
+GO(XRenderCompositeString16, vFXiLLpLiiiipi)
+GO(XRenderCompositeString32, vFXiLLpLiiiipi)
+GO(XRenderCompositeString8, vFXiLLpLiiiipi)
+GO(XRenderCompositeText16, vFXiLLpiiiipi)
+GO(XRenderCompositeText32, vFXiLLpiiiipi)
+GO(XRenderCompositeText8, vFXiLLpiiiipi)
+GO(XRenderCompositeTrapezoids, vFXiLLpiipi)
+GO(XRenderCompositeTriangles, vFXiLLpiipi)
+GO(XRenderCompositeTriFan, vFXiLLpiipi)
+GO(XRenderCompositeTriStrip, vFXiLLpiipi)
+GO(XRenderCreateAnimCursor, LFXip)
+GO(XRenderCreateConicalGradient, LFXpppi)
+GO(XRenderCreateCursor, LFXLuu)
+GO(XRenderCreateGlyphSet, LFXp)
+GO(XRenderCreateLinearGradient, LFXpppi)
+GO(XRenderCreatePicture, LFXLpLp)
+GO(XRenderCreateRadialGradient, LFXpppi)
+GO(XRenderCreateSolidFill, LFXp)
 //DATAB(XRenderExtensionInfo, sizeof(ptr_t))
 //DATA(XRenderExtensionName, sizeof(ptr_t))   //D
-//GO(XRenderFillRectangle, vFpiLpiiuu)
-//GO(XRenderFillRectangles, vFpiLppi)
+GO(XRenderFillRectangle, vFXiLpiiuu)
+GO(XRenderFillRectangles, vFXiLppi)
 //GO(XRenderFindDisplay, pFp)
-//GO(XRenderFindFormat, pFpLpi)
-//GO(XRenderFindStandardFormat, pFpi)
-//GO(XRenderFindVisualFormat, pFpp)
-//GO(XRenderFreeGlyphs, vFpLpi)
-//GO(XRenderFreeGlyphSet, vFpL)
-//GO(XRenderFreePicture, vFpL)
-//GO(XRenderParseColor, iFppp)
-//GO(XRenderQueryExtension, iFppp)
-//GO(XRenderQueryFilters, pFpL)
-//GO(XRenderQueryFormats, iFp)
-//GO(XRenderQueryPictIndexValues, pFppp)
-//GO(XRenderQuerySubpixelOrder, iFpi)
-//GO(XRenderQueryVersion, iFppp)
-//GO(XRenderReferenceGlyphSet, LFpL)
-//GO(XRenderSetPictureClipRectangles, vFpLiipi)
-//GO(XRenderSetPictureClipRegion, vFpLp)
-//GO(XRenderSetPictureFilter, vFpLppi)
-//GO(XRenderSetPictureTransform, vFpLp)
-//GO(XRenderSetSubpixelOrder, iFpii)
+GO(XRenderFindFormat, pFXLpi)
+GO(XRenderFindStandardFormat, pFXi)
+GO(XRenderFindVisualFormat, pFXp)
+GO(XRenderFreeGlyphs, vFXLpi)
+GO(XRenderFreeGlyphSet, vFXL)
+GO(XRenderFreePicture, vFXL)
+GO(XRenderParseColor, iFXpp)
+GO(XRenderQueryExtension, iFXpp)
+GO(XRenderQueryFilters, pFXL)
+GO(XRenderQueryFormats, iFX)
+GO(XRenderQueryPictIndexValues, pFXpp)
+GO(XRenderQuerySubpixelOrder, iFXi)
+GO(XRenderQueryVersion, iFXpp)
+GO(XRenderReferenceGlyphSet, LFXL)
+GO(XRenderSetPictureClipRectangles, vFXLiipi)
+GO(XRenderSetPictureClipRegion, vFXLp)
+GO(XRenderSetPictureFilter, vFXLppi)
+GO(XRenderSetPictureTransform, vFXLp)
+GO(XRenderSetSubpixelOrder, iFXii)
diff --git a/src/wrapped32/wrappedsdl2.c b/src/wrapped32/wrappedsdl2.c
index f574532a..13fe4652 100644
--- a/src/wrapped32/wrappedsdl2.c
+++ b/src/wrapped32/wrappedsdl2.c
@@ -277,6 +277,17 @@ EXPORT int my32_2_SDL_PollEvent(my_SDL2_Event_32_t* evt)
     return ret;
 }
 
+EXPORT int my32_2_SDL_PeepEvents(x64emu_t* emu, my_SDL2_Event_32_t* evt, int n, uint32_t action, uint32_t minType, uint32_t maxType)
+{
+    my_SDL2_Event_t event[n];
+    int ret = my->SDL_PeepEvents(event, n, action, minType, maxType);
+    if (ret>0) {
+        for(int i=0; i<ret; ++i)
+            convert_SDL2_Event_to_32(evt+i, event+i);
+    }
+    return ret;
+}
+
 EXPORT char* my32_2_SDL_GetBasePath(x64emu_t* emu)
 {
     char* p = strdup(emu->context->fullpath);
@@ -360,6 +371,23 @@ EXPORT void* my32_2_SDL_CreateTextureFromSurface(void* r, void* s)
     return ret;
 }
 
+EXPORT int my32_2_SDL_SetColorKey(void* s, int flag, uint32_t color)
+{
+    inplace_SDL2_Surface_to_64(s);
+    int ret = my->SDL_SetColorKey(s, flag, color);
+    inplace_SDL2_Surface_to_32(s);
+    return ret;
+}
+
+EXPORT void* my32_2_SDL_ConvertSurfaceFormat(void* s, uint32_t fmt, uint32_t flags)
+{
+    inplace_SDL2_Surface_to_64(s);
+    void* ret = my->SDL_ConvertSurfaceFormat(s, fmt, flags);
+    inplace_SDL2_Surface_to_32(s);
+    inplace_SDL2_Surface_to_32(ret);
+    return ret;
+}
+
 EXPORT void my32_2_SDL_FreeSurface(x64emu_t* emu, void* surface)
 {
     inplace_SDL2_Surface_to_64(surface);
diff --git a/src/wrapped32/wrappedsdl2_private.h b/src/wrapped32/wrappedsdl2_private.h
index 99568865..80f29e56 100644
--- a/src/wrapped32/wrappedsdl2_private.h
+++ b/src/wrapped32/wrappedsdl2_private.h
@@ -44,12 +44,12 @@ GO(SDL_AudioStreamPut, iFppi)
 //GO(SDL_BuildAudioCVT, iFpWCiWCi)
 //GO(SDL_CalculateGammaRamp, vFfp)
 GO(SDL_calloc, pFLL)
-//GO(SDL_CaptureMouse, iFu)
-//GO(SDL_ceil, dFd)
-//GO(SDL_ceilf, fFf)
-//GO(SDL_ClearError, vFv)
-//GO(SDL_ClearHints, vFv)
-//GO(SDL_ClearQueuedAudio, vFu)
+GO(SDL_CaptureMouse, iFu)
+GO(SDL_ceil, dFd)
+GO(SDL_ceilf, fFf)
+GO(SDL_ClearError, vFv)
+GO(SDL_ClearHints, vFv)
+GO(SDL_ClearQueuedAudio, vFu)
 GO(SDL_CloseAudio, vFv)
 GO(SDL_CloseAudioDevice, vFu)
 //GO(SDL_ComposeCustomBlendMode, uFuuuuuu)
@@ -60,7 +60,7 @@ GO(SDL_CloseAudioDevice, vFu)
 //GO(SDL_ConvertAudio, iFp)
 //GO(SDL_ConvertPixels, iFiiupiupi)
 //GO(SDL_ConvertSurface, pFppu)
-//GO(SDL_ConvertSurfaceFormat, pFpuu)
+GOM(SDL_ConvertSurfaceFormat, pFpuu)    //%noE
 //GO(SDL_copysign, dFdd)
 //GO(SDL_copysignf, fFff)
 //GO(SDL_cos, dFd)
@@ -158,10 +158,10 @@ GO(SDL_GameControllerGetJoystick, pFp)
 //GO(SDL_GameControllerHasRumble, iFp)
 //GO(SDL_GameControllerHasSensor, iFpi)
 //GO(SDL_GameControllerIsSensorEnabled, uFpi)
-//GO(SDL_GameControllerMapping, pFp)
-//GO(SDL_GameControllerMappingForDeviceIndex, pFi)
+GO(SDL_GameControllerMapping, pFp)
+GO(SDL_GameControllerMappingForDeviceIndex, pFi)
 //GO(SDL_GameControllerMappingForGUID, pFpp)
-//GO(SDL_GameControllerMappingForIndex, pFi)
+GO(SDL_GameControllerMappingForIndex, pFi)
 GO(SDL_GameControllerName, pFp)
 //GO(SDL_GameControllerNameForIndex, pFi)
 GO(SDL_GameControllerNumMappings, iFv)
@@ -237,7 +237,7 @@ GO(SDL_GetNumVideoDrivers, iFv)
 //GO(SDL_GetPointDisplayIndex, iFp)
 //GO(SDL_GetPowerInfo, uFpp)
 //GO(SDL_GetPreferredLocales, pFv)
-//GO(SDL_GetPrefPath, pFpp)
+GO(SDL_GetPrefPath, pFpp)
 //GO(SDL_GetPrimarySelectionText, pFv)
 //GO(SDL_GetQueuedAudioSize, uFu)
 //GO(SDL_GetRectDisplayIndex, iFp)
@@ -486,7 +486,7 @@ GOM(SDL_OpenAudio, iFEpp)
 GOM(SDL_OpenAudioDevice, uFEpippi)
 GO(SDL_PauseAudio, vFi)
 GO(SDL_PauseAudioDevice, vFui)
-//GO(SDL_PeepEvents, iFpiuuu)
+GOM(SDL_PeepEvents, iFEpiuuu)
 //GO(SDL_PixelFormatEnumToMasks, uFuppppp)
 GOM(SDL_PollEvent, iFp) //%noE
 GO(SDL_pow, dFdd)
@@ -586,7 +586,7 @@ GO(SDL_scalbnf, fFfi)
 // SDL_SetAssertionHandler
 GO(SDL_SetClipboardText, iFp)
 //GO(SDL_SetClipRect, uFpp)
-//GO(SDL_SetColorKey, iFpiu)
+GOM(SDL_SetColorKey, iFpiu) //%noE
 GO(SDL_SetCursor, vFp)
 GO(SDL_setenv, iFppi)
 GO(SDL_SetError, iFppppp)    // it use ..., so putarbitrary  4 args