From de7baa0b410185710411f38d51bb29cbc0ebd92a Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 14 Sep 2024 10:26:38 +0200 Subject: [PATCH] [BOX32] Added (mostly untested) wrapped libGL and minimum SDL1 (SDLgears and zsnes works) --- CMakeLists.txt | 3 + src/include/gltools.h | 4 + src/include/sdl1align32.h | 498 ++ src/library_list_32.h | 4 + src/libtools/sdl1align32.c | 165 + src/libtools/threads32.c | 12 + src/wrapped32/generated/functions_list.txt | 613 ++- src/wrapped32/generated/wrappedlibgldefs32.h | 8 + src/wrapped32/generated/wrappedlibgltypes32.h | 36 + .../generated/wrappedlibglundefs32.h | 8 + .../generated/wrappedlibpthreadtypes32.h | 2 +- src/wrapped32/generated/wrappedsdl1defs32.h | 8 + src/wrapped32/generated/wrappedsdl1types32.h | 45 + src/wrapped32/generated/wrappedsdl1undefs32.h | 8 + src/wrapped32/generated/wrapper32.c | 1125 +++++ src/wrapped32/generated/wrapper32.h | 562 +++ src/wrapped32/wrappedlibgl.c | 562 +++ src/wrapped32/wrappedlibgl_private.h | 4063 +++++++++++++++++ src/wrapped32/wrappedlibpthread_private.h | 4 +- src/wrapped32/wrappedsdl1.c | 538 +++ src/wrapped32/wrappedsdl1_private.h | 238 + src/wrapped32/wrappercallback32.h | 42 + 22 files changed, 8544 insertions(+), 4 deletions(-) create mode 100644 src/include/sdl1align32.h create mode 100644 src/libtools/sdl1align32.c create mode 100644 src/wrapped32/generated/wrappedlibgldefs32.h create mode 100644 src/wrapped32/generated/wrappedlibgltypes32.h create mode 100644 src/wrapped32/generated/wrappedlibglundefs32.h create mode 100644 src/wrapped32/generated/wrappedsdl1defs32.h create mode 100644 src/wrapped32/generated/wrappedsdl1types32.h create mode 100644 src/wrapped32/generated/wrappedsdl1undefs32.h create mode 100644 src/wrapped32/wrappedlibgl.c create mode 100644 src/wrapped32/wrappedlibgl_private.h create mode 100644 src/wrapped32/wrappedsdl1.c create mode 100644 src/wrapped32/wrappedsdl1_private.h create mode 100644 src/wrapped32/wrappercallback32.h diff --git a/CMakeLists.txt b/CMakeLists.txt index aa46ca6e3..0ba0b0f9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -400,6 +400,7 @@ if(BOX32) "${BOX64_ROOT}/src/libtools/signal32.c" "${BOX64_ROOT}/src/libtools/threads32.c" "${BOX64_ROOT}/src/libtools/libc_net32.c" + "${BOX64_ROOT}/src/libtools/sdl1align32.c" "${BOX64_ROOT}/src/emu/x86syscall_32.c" "${BOX64_ROOT}/src/wrapped32/generated/wrapper32.c" "${BOX64_ROOT}/src/wrapped32/generated/converter32.c" @@ -782,6 +783,8 @@ if(BOX32) "${BOX64_ROOT}/src/wrapped32/wrappedlibpthread.c" "${BOX64_ROOT}/src/wrapped32/wrappedlibrt.c" "${BOX64_ROOT}/src/wrapped32/wrappedcrashhandler.c" + "${BOX64_ROOT}/src/wrapped32/wrappedlibgl.c" + "${BOX64_ROOT}/src/wrapped32/wrappedsdl1.c" ) endif() string(REPLACE ".c" "_private.h" MODROOT ${BOX64_ROOT}) diff --git a/src/include/gltools.h b/src/include/gltools.h index 07bd74f78..94a245b09 100644 --- a/src/include/gltools.h +++ b/src/include/gltools.h @@ -9,4 +9,8 @@ void freeGLProcWrapper(box64context_t* context); void* getGLProcAddress(x64emu_t* emu, glprocaddress_t procaddr, const char* rname); +#ifdef BOX32 +void* getGLProcAddress32(x64emu_t* emu, glprocaddress_t procaddr, const char* rname); +#endif + #endif //__GL_TOOLS_H__ \ No newline at end of file diff --git a/src/include/sdl1align32.h b/src/include/sdl1align32.h new file mode 100644 index 000000000..3dd3aa1de --- /dev/null +++ b/src/include/sdl1align32.h @@ -0,0 +1,498 @@ +#ifndef __MY_SDL1ALIGN32_H_ +#define __MY_SDL1ALIGN32_H_ +#include +#include "box32.h" + +typedef struct my_SDL_Rect_s +{ + int16_t x; + int16_t y; + uint16_t w; + uint16_t h; +} my_SDL_Rect_t; + +typedef struct my_SDL_Color_s +{ + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t unused; +} my_SDL_Color_t; + +typedef struct my_SDL_Palette_s +{ + int ncolors; + my_SDL_Color_t *colors; +} my_SDL_Palette_t; + +typedef struct my_SDL_PixelFormat_s +{ + my_SDL_Palette_t *palette; + uint8_t BitsPerPixel; + uint8_t BytesPerPixel; + uint8_t Rloss; + uint8_t Gloss; + uint8_t Bloss; + uint8_t Aloss; + uint8_t Rshift; + uint8_t Gshift; + uint8_t Bshift; + uint8_t Ashift; + uint32_t Rmask; + uint32_t Gmask; + uint32_t Bmask; + uint32_t Amask; + uint32_t colorkey; + uint8_t alpha; +} my_SDL_PixelFormat_t; + +typedef struct my_SDL_Surface_s +{ + uint32_t flags; + my_SDL_PixelFormat_t *format; + int w; + int h; + uint16_t pitch; + void *pixels; + int offset; + void* hwdata; //struct private_hwdata + my_SDL_Rect_t clip_rect; + uint32_t unused1; + uint32_t locked; + void *map; + unsigned int format_version; + int refcount; +} my_SDL_Surface_t; + +// x86 version (packed, 32bits pointers and long) + +typedef struct __attribute__((packed)) my_SDL_Rect_32_s +{ + int16_t x; + int16_t y; + uint16_t w; + uint16_t h; +} my_SDL_Rect_32_t; + +typedef struct __attribute__((packed)) my_SDL_Color_32_s +{ + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t unused; +} my_SDL_Color_32_t; + +typedef struct __attribute__((packed)) my_SDL_Palette_32_s +{ + int ncolors; + ptr_t colors; // my_SDL_Color_t* +} my_SDL_Palette_32_t; + +typedef struct __attribute__((packed)) my_SDL_PixelFormat_32_s +{ + ptr_t palette; // my_SDL_Palette_t * + uint8_t BitsPerPixel; + uint8_t BytesPerPixel; + uint8_t Rloss; + uint8_t Gloss; + uint8_t Bloss; + uint8_t Aloss; + uint8_t Rshift; + uint8_t Gshift; + uint8_t Bshift; + uint8_t Ashift; + uint32_t Rmask; + uint32_t Gmask; + uint32_t Bmask; + uint32_t Amask; + uint32_t colorkey; + uint8_t alpha; +} my_SDL_PixelFormat_32_t; + +typedef struct __attribute__((packed)) my_SDL_Surface_32_s +{ + uint32_t flags; + ptr_t format; // my_SDL_PixelFormat_t * + int w; + int h; + uint16_t pitch; + uint16_t dummy; + ptr_t pixels; // void * + int offset; + ptr_t hwdata; //struct private_hwdata* + my_SDL_Rect_t clip_rect; + uint32_t unused1; + uint32_t locked; + ptr_t map; // void * + unsigned int format_version; + int refcount; +} my_SDL_Surface_32_t; + +void inplace_SDL_Surface_to_64(void* a); +void inplace_SDL_Surface_to_32(void* a); +void inplace_SDL_PixelFormat_to_64(void* a); +void inplace_SDL_PixelFormat_to_32(void* a); +void inplace_SDL_Palette_to_64(void* a); +void inplace_SDL_Palette_to_32(void* a); + +typedef struct my_SDL_keysym_s +{ + uint8_t scancode; + int sym; + int mod; + uint16_t unicode; +} my_SDL_keysym_t; + +typedef struct my_SDL_keysym_32_s +{ + uint8_t scancode; + int sym; + int mod; + uint16_t unicode; +} my_SDL_keysym_32_t; + + +typedef enum my_SDL_EventType_s +{ + SDL_NOEVENT, + SDL_ACTIVEEVENT, + SDL_KEYDOWN, + SDL_KEYUP, + SDL_MOUSEMOTION, + SDL_MOUSEBUTTONDOWN, + SDL_MOUSEBUTTONUP, + SDL_JOYAXISMOTION, + SDL_JOYBALLMOTION, + SDL_JOYHATMOTION, + SDL_JOYBUTTONDOWN, + SDL_JOYBUTTONUP, + SDL_QUIT, + SDL_SYSWMEVENT, + SDL_EVENT_RESERVEDA, + SDL_EVENT_RESERVEDB, + SDL_VIDEORESIZE, + SDL_VIDEOEXPOSE, + SDL_EVENT_RESERVED2, + SDL_EVENT_RESERVED3, + SDL_EVENT_RESERVED4, + SDL_EVENT_RESERVED5, + SDL_EVENT_RESERVED6, + SDL_EVENT_RESERVED7, + SDL_USEREVENT = 24, + SDL_NUMEVENTS = 32 +} my_SDL_EventType_t; + +typedef struct my_SDL_ActiveEvent_s +{ + uint8_t type; + uint8_t gain; + uint8_t state; +} my_SDL_ActiveEvent_t; + +typedef struct my_SDL_KeyboardEvent_s +{ + uint8_t type; + uint8_t which; + uint8_t state; + my_SDL_keysym_t keysym; +} my_SDL_KeyboardEvent_t; + +typedef struct my_SDL_MouseMotionEvent_s +{ + uint8_t type; + uint8_t which; + uint8_t state; + uint16_t x; + uint16_t y; + int16_t xrel; + int16_t yrel; +} my_SDL_MouseMotionEvent_t; + +typedef struct my_SDL_MouseButtonEvent_s +{ + uint8_t type; + uint8_t which; + uint8_t button; + uint8_t state; + uint16_t x; + uint16_t y; +} my_SDL_MouseButtonEvent_t; + +typedef struct my_SDL_JoyAxisEvent_s +{ + uint8_t type; + uint8_t which; + uint8_t axis; + int16_t value; +} my_SDL_JoyAxisEvent_t; + +typedef struct my_SDL_JoyBallEvent_s +{ + uint8_t type; + uint8_t which; + uint8_t ball; + int16_t xrel; + int16_t yrel; +} my_SDL_JoyBallEvent_t; + +typedef struct my_SDL_JoyHatEvent_s +{ + uint8_t type; + uint8_t which; + uint8_t hat; + uint8_t value; +} my_SDL_JoyHatEvent_t; + +typedef struct my_SDL_JoyButtonEvent_s +{ + uint8_t type; + uint8_t which; + uint8_t button; + uint8_t state; +} my_SDL_JoyButtonEvent_t; + +typedef struct my_SDL_ResizeEvent_s +{ + uint8_t type; + int w; + int h; +} my_SDL_ResizeEvent_t; + +typedef struct my_SDL_ExposeEvent_s +{ + uint8_t type; +} my_SDL_ExposeEvent_t; + +typedef struct my_SDL_QuitEvent_s +{ + uint8_t type; +} my_SDL_QuitEvent_t; + +typedef struct my_SDL_UserEvent_s +{ + uint8_t type; + int code; + void *data1; + void *data2; +} my_SDL_UserEvent_t; + +typedef struct my_SDL_version_s { + uint8_t major; + uint8_t minor; + uint8_t patch; +} my_SDL_version_t; + +typedef struct my_SDL_SysWMinfo_s { + my_SDL_version_t version; + int subsystem; + union { + struct { + void* display; + void* window; + void (*lock_func)(void); + void (*unlock_func)(void); + void* fswindow; + void* wmwindow; + void* gfxdisplay; + } x11; + } info; +} my_SDL_SysWMinfo_t; + +typedef union my_XEvent_s { + int Type; + long pad[24]; +} my_XEvent_t; + +typedef struct my_SDL_SysWMmsg_s +{ + my_SDL_version_t version; + int subsystem; + union { + my_XEvent_t xevent; + } event; +} my_SDL_SysWMmsg_t; + + +typedef struct my_SDL_SysWMEvent_s +{ + uint8_t type; + my_SDL_SysWMmsg_t *msg; +} my_SDL_SysWMEvent_t; + +typedef union my_SDL_Event_s +{ + uint8_t type; + my_SDL_ActiveEvent_t active; + my_SDL_KeyboardEvent_t key; + my_SDL_MouseMotionEvent_t motion; + my_SDL_MouseButtonEvent_t button; + my_SDL_JoyAxisEvent_t jaxis; + my_SDL_JoyBallEvent_t jball; + my_SDL_JoyHatEvent_t jhat; + my_SDL_JoyButtonEvent_t jbutton; + my_SDL_ResizeEvent_t resize; + my_SDL_ExposeEvent_t expose; + my_SDL_QuitEvent_t quit; + my_SDL_UserEvent_t user; + my_SDL_SysWMEvent_t syswm; +} my_SDL_Event_t; + +typedef struct my_SDL_ActiveEvent_32_s +{ + uint8_t type; + uint8_t gain; + uint8_t state; +} my_SDL_ActiveEvent_32_t; + +typedef struct my_SDL_KeyboardEvent_32_s +{ + uint8_t type; + uint8_t which; + uint8_t state; + my_SDL_keysym_32_t keysym; +} my_SDL_KeyboardEvent_32_t; + +typedef struct my_SDL_MouseMotionEvent_32_s +{ + uint8_t type; + uint8_t which; + uint8_t state; + uint16_t x; + uint16_t y; + int16_t xrel; + int16_t yrel; +} my_SDL_MouseMotionEvent_32_t; + +typedef struct my_SDL_MouseButtonEvent_32_s +{ + uint8_t type; + uint8_t which; + uint8_t button; + uint8_t state; + uint16_t x; + uint16_t y; +} my_SDL_MouseButtonEvent_32_t; + +typedef struct my_SDL_JoyAxisEvent_32_s +{ + uint8_t type; + uint8_t which; + uint8_t axis; + int16_t value; +} my_SDL_JoyAxisEvent_32_t; + +typedef struct my_SDL_JoyBallEvent_32_s +{ + uint8_t type; + uint8_t which; + uint8_t ball; + int16_t xrel; + int16_t yrel; +} my_SDL_JoyBallEvent_32_t; + +typedef struct my_SDL_JoyHatEvent_32_s +{ + uint8_t type; + uint8_t which; + uint8_t hat; + uint8_t value; +} my_SDL_JoyHatEvent_32_t; + +typedef struct my_SDL_JoyButtonEvent_32_s +{ + uint8_t type; + uint8_t which; + uint8_t button; + uint8_t state; +} my_SDL_JoyButtonEvent_32_t; + +typedef struct my_SDL_ResizeEvent_32_s +{ + uint8_t type; + int w; + int h; +} my_SDL_ResizeEvent_32_t; + +typedef struct my_SDL_ExposeEvent_32_s +{ + uint8_t type; +} my_SDL_ExposeEvent_32_t; + +typedef struct my_SDL_QuitEvent_32_s +{ + uint8_t type; +} my_SDL_QuitEvent_32_t; + +typedef struct my_SDL_UserEvent_32_s +{ + uint8_t type; + int code; + ptr_t data1; //void* + ptr_t data2; //void* +} my_SDL_UserEvent_32_t; + +typedef struct my_SDL_version_32_s { + uint8_t major; + uint8_t minor; + uint8_t patch; +} my_SDL_version_32_t; + +typedef struct my_SDL_SysWMinfo_32_s { + my_SDL_version_32_t version; + int subsystem; + union { + struct { + ptr_t display; //void* + ptr_t window; //void* + ptr_t lock_func;//void (*lock_func)(void); + ptr_t unlock_func;//void (*unlock_func)(void); + ptr_t fswindow; //void* + ptr_t wmwindow; //void* + ptr_t gfxdisplay; //void* + } x11; + } info; +} my_SDL_SysWMinfo_32_t; + +typedef union my_XEvent_32_s { + int Type; + long_t pad[24]; +} my_XEvent_32_t; + +typedef struct my_SDL_SysWMmsg_32_s +{ + my_SDL_version_32_t version; + int subsystem; + union { + my_XEvent_32_t xevent; + } event; +} my_SDL_SysWMmsg_32_t; + + +typedef struct my_SDL_SysWMEvent_32_s +{ + uint8_t type; + ptr_t msg; //my_SDL_SysWMmsg_t* +} my_SDL_SysWMEvent_32_t; + +typedef union my_SDL_Event_32_s +{ + uint8_t type; + my_SDL_ActiveEvent_32_t active; + my_SDL_KeyboardEvent_32_t key; + my_SDL_MouseMotionEvent_32_t motion; + my_SDL_MouseButtonEvent_32_t button; + my_SDL_JoyAxisEvent_32_t jaxis; + my_SDL_JoyBallEvent_32_t jball; + my_SDL_JoyHatEvent_32_t jhat; + my_SDL_JoyButtonEvent_32_t jbutton; + my_SDL_ResizeEvent_32_t resize; + my_SDL_ExposeEvent_32_t expose; + my_SDL_QuitEvent_32_t quit; + my_SDL_UserEvent_32_t user; + my_SDL_SysWMEvent_32_t syswm; +} my_SDL_Event_32_t; + + +void convert_SDL_Event_to_32(void* dst, const void* src); + +#endif//__MY_SDL1ALIGN32_H_ \ No newline at end of file diff --git a/src/library_list_32.h b/src/library_list_32.h index a5a1831c6..f982b84cb 100644 --- a/src/library_list_32.h +++ b/src/library_list_32.h @@ -9,4 +9,8 @@ GO("libm.so.6", libm) GO("libdl.so.2", libdl) GO("ld-linux.so.2", ldlinux) +GO("libGL.so", libgl) +GO("libGL.so.1", libgl) +GO("libSDL-1.2.so.0", sdl1) + GO("crashhandler.so", crashhandler) diff --git a/src/libtools/sdl1align32.c b/src/libtools/sdl1align32.c new file mode 100644 index 000000000..d1d28e28b --- /dev/null +++ b/src/libtools/sdl1align32.c @@ -0,0 +1,165 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "myalign32.h" +#include "debug.h" +#include "box32.h" +#include "sdl1align32.h" + + +void inplace_SDL_Palette_to_64(void* a) { + if(!a) return; + my_SDL_Palette_32_t* src = a; + my_SDL_Palette_t* dst = a; + dst->colors = from_ptrv(src->colors); +} +void inplace_SDL_Palette_to_32(void* a) { + if(!a) return; + my_SDL_Palette_t* src = a; + my_SDL_Palette_32_t* dst = a; + dst->colors = to_ptrv(src->colors); +} +void inplace_SDL_PixelFormat_to_64(void* a) { + if(!a) return; + my_SDL_PixelFormat_32_t* src = a; + my_SDL_PixelFormat_t* dst = a; + memmove(&dst->BitsPerPixel, &src->BitsPerPixel, sizeof(my_SDL_PixelFormat_t)-offsetof(my_SDL_PixelFormat_t, BitsPerPixel)); + dst->palette = from_ptrv(src->palette); + inplace_SDL_Palette_to_64(dst->palette); +} +void inplace_SDL_PixelFormat_to_32(void* a) { + if(!a) return; + my_SDL_PixelFormat_t* src = a; + my_SDL_PixelFormat_32_t* dst = a; + inplace_SDL_Palette_to_32(src->palette); + dst->palette = to_ptrv(src->palette); + memmove(&dst->BitsPerPixel, &src->BitsPerPixel, sizeof(my_SDL_PixelFormat_32_t)-offsetof(my_SDL_PixelFormat_32_t, BitsPerPixel)); +} + +void inplace_SDL_Surface_to_64(void* a) { + if(!a) return; + my_SDL_Surface_32_t* src = a; + my_SDL_Surface_t* dst = a; + dst->refcount = src->refcount; + dst->format_version = src->format_version; + dst->map = from_ptrv(src->map); + dst->locked = src->locked; + dst->unused1 = src->unused1; + memmove(&dst->clip_rect, &src->clip_rect, sizeof(dst->clip_rect)); + dst->hwdata = from_ptrv(src->hwdata); + dst->offset = src->offset; + dst->pixels = from_ptrv(src->pixels); + dst->pitch = src->pitch; + dst->h = src->h; + dst->w = src->w; + dst->format = from_ptrv(src->format); + inplace_SDL_PixelFormat_to_64(dst->format); +} +void inplace_SDL_Surface_to_32(void* a) { + if(!a) return; + my_SDL_Surface_t* src = a; + my_SDL_Surface_32_t* dst = a; + inplace_SDL_PixelFormat_to_32(src->format); + dst->format = to_ptrv(src->format); + dst->w = src->w; + dst->h = src->h; + dst->pitch = src->pitch; + dst->pixels = to_ptrv(src->pixels); + dst->offset = src->offset; + dst->hwdata = to_ptrv(src->hwdata); + memmove(&dst->clip_rect, &src->clip_rect, sizeof(dst->clip_rect)); + dst->unused1 = src->unused1; + dst->locked = src->locked; + dst->map = to_ptrv(src->map); + dst->format_version = src->format_version; + dst->refcount = src->refcount; +} + + +void convert_SDL_Event_to_32(void* dst_, const void* src_) +{ + if(!src_|| !dst_) return; + const my_SDL_Event_t *src = src_; + my_SDL_Event_32_t* dst = dst_; + dst->type = src->type; + switch(src->type) { + case SDL_ACTIVEEVENT: + dst->active.gain = src->active.gain; + dst->active.state = src->active.state; + break; + case SDL_KEYUP: + case SDL_KEYDOWN: + dst->key.keysym.mod = src->key.keysym.mod; + dst->key.keysym.scancode = src->key.keysym.scancode; + dst->key.keysym.sym = src->key.keysym.sym; + dst->key.keysym.unicode = src->key.keysym.unicode; + dst->key.state = src->key.state; + dst->key.which = dst->key.which; + break; + case SDL_MOUSEMOTION: + dst->motion.state = src->motion.state; + dst->motion.which = src->motion.which; + dst->motion.x = src->motion.x; + dst->motion.y = src->motion.y; + dst->motion.xrel = src->motion.xrel; + dst->motion.yrel = src->motion.yrel; + break; + case SDL_MOUSEBUTTONUP: + case SDL_MOUSEBUTTONDOWN: + dst->button.button = src->button.button; + dst->button.state = src->button.state; + dst->button.which = src->button.which; + dst->button.x = src->button.x; + dst->button.y = src->button.y; + break; + case SDL_JOYAXISMOTION: + dst->jaxis.axis = src->jaxis.axis; + dst->jaxis.value = src->jaxis.value; + dst->jaxis.which = src->jaxis.which; + break; + case SDL_JOYBALLMOTION: + dst->jball.ball = src->jball.ball; + dst->jball.which = src->jball.which; + dst->jball.xrel = src->jball.xrel; + dst->jball.yrel = src->jball.yrel; + break; + case SDL_JOYHATMOTION: + dst->jhat.hat = src->jhat.hat; + dst->jhat.value = src->jhat.value; + dst->jhat.which = src->jhat.which; + break; + case SDL_JOYBUTTONUP: + case SDL_JOYBUTTONDOWN: + dst->jbutton.button = src->jbutton.button; + dst->jbutton.state = src->jbutton.state; + dst->jbutton.which = src->jbutton.which; + break; + case SDL_VIDEORESIZE: + dst->resize.h = src->resize.h; + dst->resize.w = src->resize.w; + break; + case SDL_VIDEOEXPOSE: + case SDL_QUIT: + break; + case SDL_USEREVENT: + dst->user.code = src->user.code; + dst->user.data1 = to_ptrv(src->user.data1); + dst->user.data2 = to_ptrv(src->user.data2); + case SDL_SYSWMEVENT: + printf_log(LOG_NONE, "TODO: Convert SDL_SYSWMEVENT\n"); + abort(); + break; + default: + printf_log(LOG_INFO, "Warning, unsuported SDL1.2 event %d\n", src->type); + memcpy(dst, src, sizeof(my_SDL_Event_32_t)); + } +} \ No newline at end of file diff --git a/src/libtools/threads32.c b/src/libtools/threads32.c index e161ff456..5cc808a01 100755 --- a/src/libtools/threads32.c +++ b/src/libtools/threads32.c @@ -311,6 +311,18 @@ EXPORT int my32_pthread_rwlock_init(void* rdlock, void* attr) } EXPORT int my32___pthread_rwlock_init(void*, void*) __attribute__((alias("my32_pthread_rwlock_init"))); +EXPORT int my32_pthread_rwlock_destroy(void* rdlock) +{ + // the structure is bigger, but the "active" part should be the same size, so just save/restoore the padding at init + uint8_t buff[sizeof(pthread_rwlock_t)]; + if(rdlock && sizeof(pthread_rwlock_t)>X86_RWLOCK_SIZE) { + memcpy(buff, rdlock+32, sizeof(pthread_rwlock_t)-X86_RWLOCK_SIZE); + } + int ret = pthread_rwlock_destroy(rdlock); + memcpy(rdlock+32, buff, sizeof(pthread_rwlock_t)-X86_RWLOCK_SIZE); + return ret; +} + EXPORT void my32___pthread_unwind_next(x64emu_t* emu, void* p) { emu->quit = 1; diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 21b091424..aef27d636 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -1,6 +1,14 @@ #() vFv -> vFv +#() vFc -> vFc +#() vFw -> vFw #() vFi -> vFi +#() vFC -> vFC +#() vFW -> vFW #() vFu -> vFu +#() vFU -> vFU +#() vFf -> vFf +#() vFd -> vFd +#() vFl -> vFl #() vFp -> vFp #() vFA -> vFA #() vFS -> vFS @@ -17,16 +25,24 @@ #() IFf -> IFf #() IFd -> IFd #() IFS -> IFS +#() CFu -> CFu +#() CFU -> CFU +#() CFl -> CFl +#() CFp -> CFp +#() WFu -> WFu #() uFv -> uFv +#() uFi -> uFi #() uFu -> uFu #() uFU -> uFU #() uFp -> uFp +#() UFu -> UFu #() UFp -> UFp #() UFs -> UFs #() fFf -> fFf #() dFv -> dFv #() dFd -> dFd #() lFi -> lFi +#() lFu -> lFu #() lFp -> lFp #() lFS -> lFS #() LFv -> LFv @@ -46,6 +62,37 @@ #() LFriiiiiiiiilt_ -> LFB #() vFEv -> vFEv #() vFEp -> vFEp +#() vFcc -> vFcc +#() vFww -> vFww +#() vFii -> vFii +#() vFiI -> vFiI +#() vFiW -> vFiW +#() vFiu -> vFiu +#() vFiU -> vFiU +#() vFif -> vFif +#() vFid -> vFid +#() vFip -> vFip +#() vFWW -> vFWW +#() vFuc -> vFuc +#() vFuw -> vFuw +#() vFui -> vFui +#() vFuI -> vFuI +#() vFuC -> vFuC +#() vFuW -> vFuW +#() vFuu -> vFuu +#() vFuU -> vFuU +#() vFuf -> vFuf +#() vFud -> vFud +#() vFul -> vFul +#() vFup -> vFup +#() vFUu -> vFUu +#() vFfC -> vFfC +#() vFff -> vFff +#() vFdd -> vFdd +#() vFlu -> vFlu +#() vFlp -> vFlp +#() vFpp -> vFpp +#() wFpi -> wFpi #() iFEv -> iFEv #() iFEi -> iFEi #() iFEL -> iFEL @@ -72,10 +119,19 @@ #() iFhp -> iFhp #() iFhh -> iFhh #() IFII -> IFII +#() CFip -> CFip +#() CFuu -> CFuu +#() CFuU -> CFuU +#() CFpi -> CFpi #() uFEu -> uFEu #() uFEV -> uFEV +#() uFuu -> uFuu +#() uFup -> uFup +#() uFpi -> uFpi +#() uFpp -> uFpp #() uFpa -> uFpa #() UFii -> UFii +#() UFuu -> UFuu #() UFUU -> UFUU #() UFss -> UFss #() fFif -> fFif @@ -88,15 +144,19 @@ #() dFdd -> dFdd #() dFdD -> dFdD #() dFdp -> dFdp +#() lFui -> lFui #() LFpL -> LFpL #() LFpp -> LFpp #() pFEv -> pFEv #() pFEu -> pFEu #() pFEp -> pFEp #() pFES -> pFES +#() pFiu -> pFiu #() pFia -> pFia +#() pFuu -> pFuu #() pFLL -> pFLL #() pFpi -> pFpi +#() pFpu -> pFpu #() pFpL -> pFpL #() pFpp -> pFpp #() SFpp -> SFpp @@ -115,9 +175,65 @@ #() vFEip -> vFEip #() vFEpi -> vFEpi #() vFEpu -> vFEpu +#() vFEpp -> vFEpp +#() vFccc -> vFccc +#() vFwww -> vFwww +#() vFiii -> vFiii +#() vFiif -> vFiif +#() vFiip -> vFiip +#() vFiII -> vFiII +#() vFiui -> vFiui +#() vFiuu -> vFiuu +#() vFiup -> vFiup +#() vFiUU -> vFiUU +#() vFiff -> vFiff +#() vFidd -> vFidd +#() vFilu -> vFilu +#() vFill -> vFill +#() vFilp -> vFilp +#() vFipi -> vFipi +#() vFipu -> vFipu +#() vFipp -> vFipp +#() vFCCC -> vFCCC +#() vFWWW -> vFWWW +#() vFucc -> vFucc +#() vFuww -> vFuww +#() vFuii -> vFuii +#() vFuiI -> vFuiI +#() vFuiu -> vFuiu +#() vFuiU -> vFuiU +#() vFuif -> vFuif +#() vFuid -> vFuid +#() vFuip -> vFuip +#() vFuII -> vFuII +#() vFuWW -> vFuWW +#() vFuui -> vFuui +#() vFuuC -> vFuuC +#() vFuuu -> vFuuu +#() vFuuU -> vFuuU +#() vFuuf -> vFuuf +#() vFuud -> vFuud +#() vFuup -> vFuup +#() vFuUU -> vFuUU +#() vFuff -> vFuff +#() vFudd -> vFudd +#() vFull -> vFull +#() vFulp -> vFulp +#() vFupp -> vFupp +#() vFfff -> vFfff #() vFfpp -> vFfpp +#() vFddd -> vFddd #() vFdpp -> vFdpp +#() vFlii -> vFlii +#() vFlip -> vFlip +#() vFllp -> vFllp +#() vFlpp -> vFlpp +#() vFpip -> vFpip +#() vFpuU -> vFpuU +#() vFplp -> vFplp +#() vFppi -> vFppi #() vFppu -> vFppu +#() vFppp -> vFppp #() iFEip -> iFEip #() iFEpi -> iFEpi #() iFEpL -> iFEpL @@ -137,12 +253,18 @@ #() iFipL -> iFipL #() iFipp -> iFipp #() iFuii -> iFuii +#() iFuip -> iFuip #() iFuui -> iFuui #() iFuuu -> iFuuu +#() iFuup -> iFuup #() iFuLp -> iFuLp +#() iFfff -> iFfff #() iFpiu -> iFpiu #() iFpip -> iFpip +#() iFpuC -> iFpuC #() iFpuu -> iFpuu +#() iFpuU -> iFpuU +#() iFpup -> iFpup #() iFpLi -> iFpLi #() iFppi -> iFppi #() iFppu -> iFppu @@ -156,6 +278,17 @@ #() iFSIi -> iFSIi #() iFSli -> iFSli #() IFiIi -> IFiIi +#() CFipp -> CFipp +#() CFuUu -> CFuUu +#() CFuff -> CFuff +#() uFilp -> uFilp +#() uFipu -> uFipu +#() uFuip -> uFuip +#() uFuuu -> uFuuu +#() uFuup -> uFuup +#() uFupp -> uFupp +#() uFpuU -> uFpuU +#() fFuii -> fFuii #() fFfff -> fFfff #() fFffp -> fFffp #() fFppa -> fFppa @@ -169,11 +302,16 @@ #() pFEpi -> pFEpi #() pFEpp -> pFEpp #() pFipi -> pFipi +#() pFulu -> pFulu #() pFpii -> pFpii #() pFpiL -> pFpiL +#() pFpip -> pFpip #() pFpiS -> pFpiS #() pFpuL -> pFpuL +#() pFpup -> pFpup +#() pFppu -> pFppu #() pFppL -> pFppL +#() pFppp -> pFppp #() pFpOM -> pFpOM #() aFipa -> aFipa #() SFEpp -> SFEpp @@ -188,10 +326,87 @@ #() lFpBp_i -> lFpBi #() LFpBp_i -> LFpBi #() pFppriiiiiiiiilt_ -> pFppB +#() vFEipp -> vFEipp #() vFEipV -> vFEipV #() vFEpup -> vFEpup #() vFEppp -> vFEppp +#() vFcccc -> vFcccc +#() vFwwww -> vFwwww +#() vFiiii -> vFiiii +#() vFiiip -> vFiiip +#() vFiiCp -> vFiiCp +#() vFiill -> vFiill +#() vFiIII -> vFiIII +#() vFiuip -> vFiuip +#() vFiuuu -> vFiuuu +#() vFiulp -> vFiulp +#() vFiUUU -> vFiUUU +#() vFifff -> vFifff +#() vFiddd -> vFiddd +#() vFilip -> vFilip +#() vFilpu -> vFilpu +#() vFilpp -> vFilpp +#() vFipup -> vFipup +#() vFipll -> vFipll +#() vFCCCC -> vFCCCC +#() vFWWWW -> vFWWWW +#() vFuccc -> vFuccc +#() vFuwww -> vFuwww +#() vFuiii -> vFuiii +#() vFuiip -> vFuiip +#() vFuiII -> vFuiII +#() vFuiui -> vFuiui +#() vFuiuC -> vFuiuC +#() vFuiuu -> vFuiuu +#() vFuiup -> vFuiup +#() vFuiUU -> vFuiUU +#() vFuifi -> vFuifi +#() vFuiff -> vFuiff +#() vFuidd -> vFuidd +#() vFuilp -> vFuilp +#() vFuipi -> vFuipi +#() vFuipu -> vFuipu +#() vFuipp -> vFuipp +#() vFuIII -> vFuIII +#() vFuWWW -> vFuWWW +#() vFuuii -> vFuuii +#() vFuuiu -> vFuuiu +#() vFuuil -> vFuuil +#() vFuuip -> vFuuip +#() vFuuCu -> vFuuCu +#() vFuuCp -> vFuuCp +#() vFuuui -> vFuuui +#() vFuuuu -> vFuuuu +#() vFuuuf -> vFuuuf +#() vFuuud -> vFuuud +#() vFuuul -> vFuuul +#() vFuuup -> vFuuup +#() vFuuUl -> vFuuUl +#() vFuuff -> vFuuff +#() vFuuli -> vFuuli +#() vFuupi -> vFuupi +#() vFuupp -> vFuupp +#() vFuUui -> vFuUui +#() vFuUup -> vFuUup +#() vFuUUU -> vFuUUU +#() vFufff -> vFufff +#() vFuddd -> vFuddd +#() vFuluU -> vFuluU +#() vFullC -> vFullC +#() vFullp -> vFullp +#() vFulpu -> vFulpu +#() vFulpp -> vFulpp +#() vFupii -> vFupii +#() vFuppi -> vFuppi +#() vFuppu -> vFuppu +#() vFffff -> vFffff +#() vFdddd -> vFdddd +#() vFllii -> vFllii +#() vFpiii -> vFpiii +#() vFpipp -> vFpipp +#() vFplpp -> vFplpp #() vFppip -> vFppip +#() vFpppp -> vFpppp #() iFEiip -> iFEiip #() iFEiiN -> iFEiiN #() iFEipp -> iFEipp @@ -213,18 +428,39 @@ #() iFipii -> iFipii #() iFipup -> iFipup #() iFippi -> iFippi +#() iFuiup -> iFuiup #() iFuupi -> iFuupi +#() iFpiip -> iFpiip +#() iFpipp -> iFpipp +#() iFpuup -> iFpuup +#() iFpupp -> iFpupp +#() iFppii -> iFppii +#() iFppiU -> iFppiU +#() iFppip -> iFppip +#() iFpppi -> iFpppi +#() iFpppp -> iFpppp #() iFhpiL -> iFhpiL +#() CFuuff -> CFuuff +#() uFuuuu -> uFuuuu #() lFEipi -> lFEipi #() lFiipL -> lFiipL #() lFipLi -> lFipLi +#() lFpuip -> lFpuip #() LFpLLS -> LFpLLS #() LFppLp -> LFppLp #() LFppLa -> LFppLa #() pFEppi -> pFEppi #() pFEppp -> pFEppp +#() pFiiiu -> pFiiiu +#() pFillu -> pFillu +#() pFullu -> pFullu +#() pFlfff -> pFlfff +#() pFpiii -> pFpiii #() pFpiLL -> pFpiLL +#() pFpipp -> pFpipp #() pFppLL -> pFppLL +#() pFpppi -> pFpppi +#() pFpppp -> pFpppp #() IFpBp_ii -> IFpBii #() UFpBp_ii -> UFpBii #() lFiibp_L -> lFiiBL @@ -232,6 +468,92 @@ #() iFEpprLL_ -> iFEppB #() LFpLpriiiiiiiiilt_ -> LFpLpB #() vFEpLLp -> vFEpLLp +#() vFiiiii -> vFiiiii +#() vFiiiiu -> vFiiiiu +#() vFiiuii -> vFiiuii +#() vFiiuup -> vFiiuup +#() vFiillu -> vFiillu +#() vFiilll -> vFiilll +#() vFiipll -> vFiipll +#() vFiIIII -> vFiIIII +#() vFiuiip -> vFiuiip +#() vFiuipi -> vFiuipi +#() vFiuuuu -> vFiuuuu +#() vFiulpp -> vFiulpp +#() vFiUUUU -> vFiUUUU +#() vFiffff -> vFiffff +#() vFidddd -> vFidddd +#() vFilill -> vFilill +#() vFilipi -> vFilipi +#() vFilipl -> vFilipl +#() vFipipu -> vFipipu +#() vFipipp -> vFipipp +#() vFipupi -> vFipupi +#() vFucccc -> vFucccc +#() vFuwwww -> vFuwwww +#() vFuiiii -> vFuiiii +#() vFuiiiu -> vFuiiiu +#() vFuiiip -> vFuiiip +#() vFuiiCp -> vFuiiCp +#() vFuiiup -> vFuiiup +#() vFuiill -> vFuiill +#() vFuiIII -> vFuiIII +#() vFuiuii -> vFuiuii +#() vFuiuip -> vFuiuip +#() vFuiuCi -> vFuiuCi +#() vFuiuCu -> vFuiuCu +#() vFuiuuu -> vFuiuuu +#() vFuiuup -> vFuiuup +#() vFuiupi -> vFuiupi +#() vFuiUUU -> vFuiUUU +#() vFuifff -> vFuifff +#() vFuiddd -> vFuiddd +#() vFuipip -> vFuipip +#() vFuipup -> vFuipup +#() vFuippp -> vFuippp +#() vFuIIII -> vFuIIII +#() vFuCCCC -> vFuCCCC +#() vFuCuip -> vFuCuip +#() vFuCuup -> vFuCuup +#() vFuWWWW -> vFuWWWW +#() vFuuiii -> vFuuiii +#() vFuuiip -> vFuuiip +#() vFuuiui -> vFuuiui +#() vFuuiuu -> vFuuiuu +#() vFuuiup -> vFuuiup +#() vFuuifi -> vFuuifi +#() vFuuipC -> vFuuipC +#() vFuuipu -> vFuuipu +#() vFuuipp -> vFuuipp +#() vFuuuii -> vFuuuii +#() vFuuuiu -> vFuuuiu +#() vFuuuil -> vFuuuil +#() vFuuuip -> vFuuuip +#() vFuuuui -> vFuuuui +#() vFuuuuu -> vFuuuuu +#() vFuuuup -> vFuuuup +#() vFuuuli -> vFuuuli +#() vFuuull -> vFuuull +#() vFuulll -> vFuulll +#() vFuullp -> vFuullp +#() vFuupii -> vFuupii +#() vFuuppu -> vFuuppu +#() vFuUUUU -> vFuUUUU +#() vFuffff -> vFuffff +#() vFudddd -> vFudddd +#() vFullpu -> vFullpu +#() vFupiii -> vFupiii +#() vFupupi -> vFupupi +#() vFupupp -> vFupupp +#() vFuplii -> vFuplii +#() vFuppip -> vFuppip +#() vFfffff -> vFfffff +#() vFluipp -> vFluipp +#() vFpilpp -> vFpilpp +#() vFpuipp -> vFpuipp +#() vFpppii -> vFpppii +#() vFppppu -> vFppppu +#() vFppppp -> vFppppp #() iFEiiip -> iFEiiip #() iFEipii -> iFEipii #() iFEpipp -> iFEpipp @@ -245,24 +567,264 @@ #() iFiiipp -> iFiiipp #() iFiLLLL -> iFiLLLL #() iFipLLi -> iFipLLi +#() iFpiiip -> iFpiiip +#() iFpippp -> iFpippp +#() iFppipi -> iFppipi +#() iFpppip -> iFpppip #() iFpppup -> iFpppup +#() iFppppp -> iFppppp +#() IFppIII -> IFppIII #() uFpLLLS -> uFpLLLS +#() UFuiCiu -> UFuiCiu +#() lFpuipC -> lFpuipC #() LFpLppa -> LFpLppa +#() pFuiupp -> pFuiupp +#() pFpippp -> pFpippp +#() pFppipi -> pFppipi +#() pFppuup -> pFppuup +#() pFppupp -> pFppupp +#() pFpppip -> pFpppip #() iFEBh_ppp -> iFEBppp #() LFpbp_LLp -> LFpBLLp #() LFpBp_LLp -> LFpBLLp #() iFippprLL_ -> iFipppB #() LFLbp_bL_Bp_BL_ -> LFLBBBB #() LFpLpriiiiiiiiilt_a -> LFpLpBa +#() vFiiiiii -> vFiiiiii +#() vFiiiuil -> vFiiiuil +#() vFiiilpi -> vFiiilpi +#() vFiiuilp -> vFiiuilp +#() vFiffiff -> vFiffiff +#() vFiddidd -> vFiddidd +#() vFilipli -> vFilipli +#() vFiliplu -> vFiliplu +#() vFipiplp -> vFipiplp +#() vFCCCCff -> vFCCCCff +#() vFuiiiii -> vFuiiiii +#() vFuiiuii -> vFuiiuii +#() vFuiiuup -> vFuiiuup +#() vFuiIIII -> vFuiIIII +#() vFuiuiii -> vFuiuiii +#() vFuiuiiC -> vFuiuiiC +#() vFuiuiil -> vFuiuiil +#() vFuiuiuu -> vFuiuiuu +#() vFuiuiuU -> vFuiuiuU +#() vFuiuCip -> vFuiuCip +#() vFuiuuip -> vFuiuuip +#() vFuiuuuu -> vFuiuuuu +#() vFuiupii -> vFuiupii +#() vFuiupiu -> vFuiupiu +#() vFuiUUUU -> vFuiUUUU +#() vFuiffff -> vFuiffff +#() vFuidddd -> vFuidddd +#() vFuipiup -> vFuipiup +#() vFuCuuip -> vFuCuuip +#() vFuuiiii -> vFuuiiii +#() vFuuiuii -> vFuuiuii +#() vFuuiuil -> vFuuiuil +#() vFuuiuip -> vFuuiuip +#() vFuuiuCu -> vFuuiuCu +#() vFuuiuup -> vFuuiuup +#() vFuuippp -> vFuuippp +#() vFuuuiii -> vFuuuiii +#() vFuuuiup -> vFuuuiup +#() vFuuuipC -> vFuuuipC +#() vFuuuipp -> vFuuuipp +#() vFuuuuii -> vFuuuuii +#() vFuuuuip -> vFuuuuip +#() vFuuuuuu -> vFuuuuuu +#() vFuuuull -> vFuuuull +#() vFuuuppi -> vFuuuppi +#() vFuuuppp -> vFuuuppp +#() vFuuffff -> vFuuffff +#() vFuudddd -> vFuudddd +#() vFuupiii -> vFuupiii +#() vFuupupp -> vFuupupp +#() vFuuplii -> vFuuplii +#() vFuffiip -> vFuffiip +#() vFufffff -> vFufffff +#() vFuddiip -> vFuddiip +#() vFulluUC -> vFulluUC +#() vFupiiii -> vFupiiii +#() vFupupip -> vFupupip +#() vFuppppu -> vFuppppu +#() vFffffff -> vFffffff +#() vFdddddd -> vFdddddd +#() vFppiiii -> vFppiiii +#() vFppupii -> vFppupii #() iFEpLppp -> iFEpLppp +#() iFpiiipp -> iFpiiipp +#() iFpiippp -> iFpiippp +#() iFppiiii -> iFppiiii +#() iFppIppp -> iFppIppp +#() uFupuufp -> uFupuufp #() lFipLipu -> lFipLipu #() lFipLipp -> lFipLipp #() pFEpLLiN -> pFEpLLiN +#() pFpippip -> pFpippip +#() vFiiiiiip -> vFiiiiiip +#() vFiiiiuup -> vFiiiiuup +#() vFiiuilil -> vFiiuilil +#() vFiiffffp -> vFiiffffp +#() vFiuulipi -> vFiuulipi +#() vFiupuuup -> vFiupuuup +#() vFilipliu -> vFilipliu +#() vFilulipi -> vFilulipi +#() vFCCCCfff -> vFCCCCfff +#() vFuiiiiii -> vFuiiiiii +#() vFuiiiiiC -> vFuiiiiiC +#() vFuiiiuip -> vFuiiiuip +#() vFuiiiuup -> vFuiiiuup +#() vFuiuiiii -> vFuiuiiii +#() vFuiuiiiC -> vFuiuiiiC +#() vFuiuiiip -> vFuiuiiip +#() vFuiuiiuU -> vFuiuiiuU +#() vFuiuCiuu -> vFuiuCiuu +#() vFuiupiiu -> vFuiupiiu +#() vFuiupuip -> vFuiupuip +#() vFuipiiii -> vFuipiiii +#() vFuipffff -> vFuipffff +#() vFuipdddd -> vFuipdddd +#() vFuuiiiii -> vFuuiiiii +#() vFuuiiiiC -> vFuuiiiiC +#() vFuuiiiiu -> vFuuiiiiu +#() vFuuiiuup -> vFuuiiuup +#() vFuuiCiui -> vFuuiCiui +#() vFuuiCiuu -> vFuuiCiuu +#() vFuuiuiii -> vFuuiuiii +#() vFuuiuiiC -> vFuuiuiiC +#() vFuuipppp -> vFuuipppp +#() vFuuuiiii -> vFuuuiiii +#() vFuuuiiCp -> vFuuuiiCp +#() vFuuuiuil -> vFuuuiuil +#() vFuuuiupi -> vFuuuiupi +#() vFuuuuuuu -> vFuuuuuuu +#() vFuuuulll -> vFuuuulll +#() vFuuuffff -> vFuuuffff +#() vFuuudddd -> vFuuudddd +#() vFuuffiip -> vFuuffiip +#() vFuuddiip -> vFuuddiip +#() vFuulluup -> vFuulluup +#() vFuupiiii -> vFuupiiii +#() vFuuppppu -> vFuuppppu +#() vFuuppppp -> vFuuppppp +#() vFuffffff -> vFuffffff +#() vFudddddd -> vFudddddd +#() vFlliiiip -> vFlliiiip #() iFEpLiipV -> iFEpLiipV #() iFpupLpLi -> iFpupLpLi +#() uFuippppp -> uFuippppp #() pFEpLiiii -> pFEpLiiii #() pFEpLiiiI -> pFEpLiiiI +#() vFiiiiuuip -> vFiiiiuuip +#() vFiilliilp -> vFiilliilp +#() vFiupuiuup -> vFiupuiuup +#() vFiupuuuup -> vFiupuuuup +#() vFuiiiiiii -> vFuiiiiiii +#() vFuiiiiiiC -> vFuiiiiiiC +#() vFuiiiiuup -> vFuiiiiuup +#() vFuiiipiup -> vFuiiipiup +#() vFuiuiiiii -> vFuiuiiiii +#() vFuiuiiiip -> vFuiuiiiip +#() vFuiuiiiuU -> vFuiuiiiuU +#() vFuiuiiCuU -> vFuiuiiCuU +#() vFuiuiuuuu -> vFuiuiuuuu +#() vFuCCCCfff -> vFuCCCCfff +#() vFuuiiiiiC -> vFuuiiiiiC +#() vFuuiiiuip -> vFuuiiiuip +#() vFuuiiiuup -> vFuuiiiuup +#() vFuuiiuupp -> vFuuiiuupp +#() vFuuiuiiii -> vFuuiuiiii +#() vFuuiuiiiC -> vFuuiuiiiC +#() vFuuiuiiip -> vFuuiuiiip +#() vFuuuiiiiu -> vFuuuiiiiu +#() vFuuuiuCil -> vFuuuiuCil +#() vFuuuipipp -> vFuuuipipp +#() vFuuuuuuuu -> vFuuuuuuuu +#() vFuuufffff -> vFuuufffff +#() vFffffffff -> vFffffffff #() iFEpippppp -> iFEpippppp +#() iFppIIIppp -> iFppIIIppp +#() CFuiifpppp -> CFuiifpppp +#() uFuipppppp -> uFuipppppp +#() uFuupuuiuf -> uFuupuuiuf +#() uFulpppppp -> uFulpppppp +#() vFiiiiiiiii -> vFiiiiiiiii +#() vFiiiiiiill -> vFiiiiiiill +#() vFiiiiillli -> vFiiiiillli +#() vFiiilllilp -> vFiiilllilp +#() vFiupuiuuup -> vFiupuiuuup +#() vFiupuuuuup -> vFiupuuuuup +#() vFuiiiiiiii -> vFuiiiiiiii +#() vFuiiiiiiiC -> vFuiiiiiiiC +#() vFuiiiiiuip -> vFuiiiiiuip +#() vFuiiiiiuup -> vFuiiiiiuup +#() vFuiuiiiiip -> vFuiuiiiiip +#() vFuiuiiiCuU -> vFuiuiiiCuU +#() vFuiupuffup -> vFuiupuffup +#() vFuuiiiiiii -> vFuuiiiiiii +#() vFuuiiiiiiC -> vFuuiiiiiiC +#() vFuuiiiiuup -> vFuuiiiiuup +#() vFuuiuiiiii -> vFuuiuiiiii +#() vFuuiuiiiip -> vFuuiuiiiip +#() vFuuuiiiiCp -> vFuuuiiiiCp +#() vFuuuuuuuuu -> vFuuuuuuuuu +#() vFuupuuiuuf -> vFuupuuiuuf +#() vFuffffffff -> vFuffffffff +#() vFffCCCCfff -> vFffCCCCfff +#() uFuulpiuiuf -> uFuulpiuiuf +#() vFiiiiiiiiii -> vFiiiiiiiiii +#() vFiiiiiiiiui -> vFiiiiiiiiui +#() vFiiiiiiiiuu -> vFiiiiiiiiuu +#() vFiiillliiip -> vFiiillliiip +#() vFuiiiiiiiii -> vFuiiiiiiiii +#() vFuiiiiiiiip -> vFuiiiiiiiip +#() vFuiiiiiiuup -> vFuiiiiiiuup +#() vFuiuiiiiuup -> vFuiuiiiiuup +#() vFuuiiiiiiii -> vFuuiiiiiiii +#() vFuuiiiiiuip -> vFuuiiiiiuip +#() vFuuiiiiiuup -> vFuuiiiiiuup +#() vFuuiuiiiiip -> vFuuiuiiiiip +#() vFuuuuuuuCCC -> vFuuuuuuuCCC +#() vFuuuuuuuuuu -> vFuuuuuuuuuu +#() vFuupuiupuuf -> vFuupuiupuuf +#() vFuffiiffiip -> vFuffiiffiip +#() vFuddiiddiip -> vFuddiiddiip +#() vFffffffffff -> vFffffffffff +#() vFiiiiillliip -> vFiiiiillliip +#() vFiiiiilllilp -> vFiiiiilllilp +#() vFuiiiiiiiuip -> vFuiiiiiiiuip +#() vFuiiiiiiiuup -> vFuiiiiiiiuup +#() vFuiiiillliip -> vFuiiiillliip +#() vFuiuiiiiiuup -> vFuiuiiiiiuup +#() vFuuiiiiiiuup -> vFuuiiiiiiuup +#() vFuuupupppppp -> vFuuupupppppp +#() vFuuffiiffiip -> vFuuffiiffiip +#() vFuufffffffff -> vFuufffffffff +#() vFuuddiiddiip -> vFuuddiiddiip +#() vFuUuuuuuuuuu -> vFuUuuuuuuuuu +#() vFuffffffffff -> vFuffffffffff +#() vFUufffffffff -> vFUufffffffff +#() vFuiiiiiiiiuUC -> vFuiiiiiiiiuUC +#() vFuiiiiiiiuuip -> vFuiiiiiiiuuip +#() vFuuiiiiiiiiuu -> vFuuiiiiiiiiuu +#() vFuuiiiiiiiuip -> vFuuiiiiiiiuip +#() vFuuiiiiiiiuup -> vFuuiiiiiiiuup +#() vFuuuuuuuuuuuu -> vFuuuuuuuuuuuu +#() vFffffffffffff -> vFffffffffffff +#() vFuiiiiiiiiiuup -> vFuiiiiiiiiiuup +#() vFuuuuuuuuuuuuu -> vFuuuuuuuuuuuuu +#() vFuUuuuuuuuuuuu -> vFuUuuuuuuuuuuu +#() vFuffffffffffff -> vFuffffffffffff +#() uFippuuuulllipp -> uFippuuuulllipp +#() vFuffiiffiiffiip -> vFuffiiffiiffiip +#() vFuddiiddiiddiip -> vFuddiiddiiddiip +#() vFuiiiiiuiiiiilll -> vFuiiiiiuiiiiilll +#() vFuuiiiiuuiiiiiii -> vFuuiiiiuuiiiiiii +#() vFfffffffffffffff -> vFfffffffffffffff +#() vFuuuuiiiiuuiiiiiii -> vFuuuuiiiiuuiiiiiii +#() vFppuiiiiipuiiiiiiii -> vFppuiiiiipuiiiiiiii +#() uFippuuuuiiiiuuiiiiiiiipp -> uFippuuuuiiiiuuiiiiiiiipp #defined(ANDROID) vFEpppp -> vFEpppp #defined(HAVE_LD80BITS) DFD -> DFD #defined(HAVE_LD80BITS) DFDD -> DFDD @@ -426,6 +988,26 @@ wrappedlibdl: - dlvsym - iFpppi: - dladdr1 +wrappedlibgl: +- iFi: + - glXSwapIntervalMESA +- pFp: + - glGetVkProcAddrNV + - glXGetProcAddress + - glXGetProcAddressARB +- vFpp: + - glDebugMessageCallback + - glDebugMessageCallbackAMD + - glDebugMessageCallbackARB + - glDebugMessageCallbackKHR +- iFpp: + - eglDebugMessageControlKHR +- vFipp: + - glProgramCallbackMESA +- vFppi: + - glXSwapIntervalEXT +- vFppp: + - eglSetBlobCacheFuncsANDROID wrappedlibm: - UFs: - cacosf @@ -526,7 +1108,7 @@ wrappedlibpthread: - pthread_mutex_trylock - pthread_mutex_unlock - pthread_mutexattr_init - - pthread_rwlock_rdlock + - pthread_rwlock_destroy - pthread_rwlock_unlock - pthread_rwlock_wrlock - iFh: @@ -589,3 +1171,32 @@ wrappedlibpthread: - iFhppp: - pthread_create wrappedlibrt: +wrappedsdl1: +- vFv: + - SDL_Quit +- vFp: + - SDL_KillThread + - SDL_UnlockSurface +- iFv: + - SDL_Has3DNow + - SDL_Has3DNowExt + - SDL_HasAltiVec + - SDL_HasMMX + - SDL_HasMMXExt + - SDL_HasRDTSC + - SDL_HasSSE + - SDL_HasSSE2 +- iFp: + - SDL_Flip + - SDL_LockSurface + - SDL_PollEvent +- pFp: + - SDL_GL_GetProcAddress + - SDL_LoadObject +- iFpp: + - SDL_OpenAudio +- pFpp: + - SDL_CreateThread + - SDL_LoadFunction +- pFiiiu: + - SDL_SetVideoMode diff --git a/src/wrapped32/generated/wrappedlibgldefs32.h b/src/wrapped32/generated/wrappedlibgldefs32.h new file mode 100644 index 000000000..2e26ea18e --- /dev/null +++ b/src/wrapped32/generated/wrappedlibgldefs32.h @@ -0,0 +1,8 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedlibglDEFS32_H_ +#define __wrappedlibglDEFS32_H_ + + +#endif // __wrappedlibglDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedlibgltypes32.h b/src/wrapped32/generated/wrappedlibgltypes32.h new file mode 100644 index 000000000..d6aca5eda --- /dev/null +++ b/src/wrapped32/generated/wrappedlibgltypes32.h @@ -0,0 +1,36 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedlibglTYPES32_H_ +#define __wrappedlibglTYPES32_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + +typedef int32_t (*iFi_t)(int32_t); +typedef void* (*pFp_t)(void*); +typedef void (*vFpp_t)(void*, void*); +typedef int32_t (*iFpp_t)(void*, void*); +typedef void (*vFipp_t)(int32_t, void*, void*); +typedef void (*vFppi_t)(void*, void*, int32_t); +typedef void (*vFppp_t)(void*, void*, void*); + +#define SUPER() ADDED_FUNCTIONS() \ + GO(glXSwapIntervalMESA, iFi_t) \ + GO(glGetVkProcAddrNV, pFp_t) \ + GO(glXGetProcAddress, pFp_t) \ + GO(glXGetProcAddressARB, pFp_t) \ + GO(glDebugMessageCallback, vFpp_t) \ + GO(glDebugMessageCallbackAMD, vFpp_t) \ + GO(glDebugMessageCallbackARB, vFpp_t) \ + GO(glDebugMessageCallbackKHR, vFpp_t) \ + GO(eglDebugMessageControlKHR, iFpp_t) \ + GO(glProgramCallbackMESA, vFipp_t) \ + GO(glXSwapIntervalEXT, vFppi_t) \ + GO(eglSetBlobCacheFuncsANDROID, vFppp_t) + +#endif // __wrappedlibglTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedlibglundefs32.h b/src/wrapped32/generated/wrappedlibglundefs32.h new file mode 100644 index 000000000..88cf8b321 --- /dev/null +++ b/src/wrapped32/generated/wrappedlibglundefs32.h @@ -0,0 +1,8 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedlibglUNDEFS32_H_ +#define __wrappedlibglUNDEFS32_H_ + + +#endif // __wrappedlibglUNDEFS32_H_ diff --git a/src/wrapped32/generated/wrappedlibpthreadtypes32.h b/src/wrapped32/generated/wrappedlibpthreadtypes32.h index 200ad68a3..3b845b791 100644 --- a/src/wrapped32/generated/wrappedlibpthreadtypes32.h +++ b/src/wrapped32/generated/wrappedlibpthreadtypes32.h @@ -51,7 +51,7 @@ typedef int32_t (*iFhppp_t)(uintptr_t, void*, void*, void*); GO(pthread_mutex_trylock, iFp_t) \ GO(pthread_mutex_unlock, iFp_t) \ GO(pthread_mutexattr_init, iFp_t) \ - GO(pthread_rwlock_rdlock, iFp_t) \ + GO(pthread_rwlock_destroy, iFp_t) \ GO(pthread_rwlock_unlock, iFp_t) \ GO(pthread_rwlock_wrlock, iFp_t) \ GO(pthread_detach, iFh_t) \ diff --git a/src/wrapped32/generated/wrappedsdl1defs32.h b/src/wrapped32/generated/wrappedsdl1defs32.h new file mode 100644 index 000000000..96f90f65a --- /dev/null +++ b/src/wrapped32/generated/wrappedsdl1defs32.h @@ -0,0 +1,8 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedsdl1DEFS32_H_ +#define __wrappedsdl1DEFS32_H_ + + +#endif // __wrappedsdl1DEFS32_H_ diff --git a/src/wrapped32/generated/wrappedsdl1types32.h b/src/wrapped32/generated/wrappedsdl1types32.h new file mode 100644 index 000000000..411e0fda3 --- /dev/null +++ b/src/wrapped32/generated/wrappedsdl1types32.h @@ -0,0 +1,45 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedsdl1TYPES32_H_ +#define __wrappedsdl1TYPES32_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + +typedef void (*vFv_t)(void); +typedef void (*vFp_t)(void*); +typedef int32_t (*iFv_t)(void); +typedef int32_t (*iFp_t)(void*); +typedef void* (*pFp_t)(void*); +typedef int32_t (*iFpp_t)(void*, void*); +typedef void* (*pFpp_t)(void*, void*); +typedef void* (*pFiiiu_t)(int32_t, int32_t, int32_t, uint32_t); + +#define SUPER() ADDED_FUNCTIONS() \ + GO(SDL_Quit, vFv_t) \ + GO(SDL_KillThread, vFp_t) \ + GO(SDL_UnlockSurface, vFp_t) \ + GO(SDL_Has3DNow, iFv_t) \ + GO(SDL_Has3DNowExt, iFv_t) \ + GO(SDL_HasAltiVec, iFv_t) \ + GO(SDL_HasMMX, iFv_t) \ + GO(SDL_HasMMXExt, iFv_t) \ + GO(SDL_HasRDTSC, iFv_t) \ + GO(SDL_HasSSE, iFv_t) \ + GO(SDL_HasSSE2, iFv_t) \ + GO(SDL_Flip, iFp_t) \ + GO(SDL_LockSurface, iFp_t) \ + GO(SDL_PollEvent, iFp_t) \ + GO(SDL_GL_GetProcAddress, pFp_t) \ + GO(SDL_LoadObject, pFp_t) \ + GO(SDL_OpenAudio, iFpp_t) \ + GO(SDL_CreateThread, pFpp_t) \ + GO(SDL_LoadFunction, pFpp_t) \ + GO(SDL_SetVideoMode, pFiiiu_t) + +#endif // __wrappedsdl1TYPES32_H_ diff --git a/src/wrapped32/generated/wrappedsdl1undefs32.h b/src/wrapped32/generated/wrappedsdl1undefs32.h new file mode 100644 index 000000000..fdf256456 --- /dev/null +++ b/src/wrapped32/generated/wrappedsdl1undefs32.h @@ -0,0 +1,8 @@ +/****************************************************************** + * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) * + ******************************************************************/ +#ifndef __wrappedsdl1UNDEFS32_H_ +#define __wrappedsdl1UNDEFS32_H_ + + +#endif // __wrappedsdl1UNDEFS32_H_ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 95b613e9e..44269eb8f 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -86,8 +86,16 @@ void VulkanTox86(void* src, void* save); int of_convert32(int); typedef void (*vFv_t)(void); +typedef void (*vFc_t)(int8_t); +typedef void (*vFw_t)(int16_t); typedef void (*vFi_t)(int32_t); +typedef void (*vFC_t)(uint8_t); +typedef void (*vFW_t)(uint16_t); typedef void (*vFu_t)(uint32_t); +typedef void (*vFU_t)(uint64_t); +typedef void (*vFf_t)(float); +typedef void (*vFd_t)(double); +typedef void (*vFl_t)(intptr_t); typedef void (*vFp_t)(void*); typedef void (*vFA_t)(void*); typedef void (*vFS_t)(void*); @@ -104,16 +112,24 @@ typedef int32_t (*iFS_t)(void*); typedef int64_t (*IFf_t)(float); typedef int64_t (*IFd_t)(double); typedef int64_t (*IFS_t)(void*); +typedef uint8_t (*CFu_t)(uint32_t); +typedef uint8_t (*CFU_t)(uint64_t); +typedef uint8_t (*CFl_t)(intptr_t); +typedef uint8_t (*CFp_t)(void*); +typedef uint16_t (*WFu_t)(uint32_t); typedef uint32_t (*uFv_t)(void); +typedef uint32_t (*uFi_t)(int32_t); typedef uint32_t (*uFu_t)(uint32_t); typedef uint32_t (*uFU_t)(uint64_t); typedef uint32_t (*uFp_t)(void*); +typedef uint64_t (*UFu_t)(uint32_t); typedef uint64_t (*UFp_t)(void*); typedef uint64_t (*UFs_t)(void*); typedef float (*fFf_t)(float); typedef double (*dFv_t)(void); typedef double (*dFd_t)(double); typedef intptr_t (*lFi_t)(int32_t); +typedef intptr_t (*lFu_t)(uint32_t); typedef intptr_t (*lFp_t)(void*); typedef intptr_t (*lFS_t)(void*); typedef uintptr_t (*LFv_t)(void); @@ -133,6 +149,37 @@ typedef void* (*pFrL__t)(struct_L_t*); typedef uintptr_t (*LFriiiiiiiiilt__t)(struct_iiiiiiiiilt_t*); typedef void (*vFEv_t)(x64emu_t*); typedef void (*vFEp_t)(x64emu_t*, void*); +typedef void (*vFcc_t)(int8_t, int8_t); +typedef void (*vFww_t)(int16_t, int16_t); +typedef void (*vFii_t)(int32_t, int32_t); +typedef void (*vFiI_t)(int32_t, int64_t); +typedef void (*vFiW_t)(int32_t, uint16_t); +typedef void (*vFiu_t)(int32_t, uint32_t); +typedef void (*vFiU_t)(int32_t, uint64_t); +typedef void (*vFif_t)(int32_t, float); +typedef void (*vFid_t)(int32_t, double); +typedef void (*vFip_t)(int32_t, void*); +typedef void (*vFWW_t)(uint16_t, uint16_t); +typedef void (*vFuc_t)(uint32_t, int8_t); +typedef void (*vFuw_t)(uint32_t, int16_t); +typedef void (*vFui_t)(uint32_t, int32_t); +typedef void (*vFuI_t)(uint32_t, int64_t); +typedef void (*vFuC_t)(uint32_t, uint8_t); +typedef void (*vFuW_t)(uint32_t, uint16_t); +typedef void (*vFuu_t)(uint32_t, uint32_t); +typedef void (*vFuU_t)(uint32_t, uint64_t); +typedef void (*vFuf_t)(uint32_t, float); +typedef void (*vFud_t)(uint32_t, double); +typedef void (*vFul_t)(uint32_t, intptr_t); +typedef void (*vFup_t)(uint32_t, void*); +typedef void (*vFUu_t)(uint64_t, uint32_t); +typedef void (*vFfC_t)(float, uint8_t); +typedef void (*vFff_t)(float, float); +typedef void (*vFdd_t)(double, double); +typedef void (*vFlu_t)(intptr_t, uint32_t); +typedef void (*vFlp_t)(intptr_t, void*); +typedef void (*vFpp_t)(void*, void*); +typedef int16_t (*wFpi_t)(void*, int32_t); typedef int32_t (*iFEv_t)(x64emu_t*); typedef int32_t (*iFEi_t)(x64emu_t*, int32_t); typedef int32_t (*iFEL_t)(x64emu_t*, uintptr_t); @@ -159,10 +206,19 @@ typedef int32_t (*iFhi_t)(uintptr_t, int32_t); typedef int32_t (*iFhp_t)(uintptr_t, void*); typedef int32_t (*iFhh_t)(uintptr_t, uintptr_t); typedef int64_t (*IFII_t)(int64_t, int64_t); +typedef uint8_t (*CFip_t)(int32_t, void*); +typedef uint8_t (*CFuu_t)(uint32_t, uint32_t); +typedef uint8_t (*CFuU_t)(uint32_t, uint64_t); +typedef uint8_t (*CFpi_t)(void*, int32_t); typedef uint32_t (*uFEu_t)(x64emu_t*, uint32_t); typedef uint32_t (*uFEV_t)(x64emu_t*, void*); +typedef uint32_t (*uFuu_t)(uint32_t, uint32_t); +typedef uint32_t (*uFup_t)(uint32_t, void*); +typedef uint32_t (*uFpi_t)(void*, int32_t); +typedef uint32_t (*uFpp_t)(void*, void*); typedef uint32_t (*uFpa_t)(void*, void*); typedef uint64_t (*UFii_t)(int32_t, int32_t); +typedef uint64_t (*UFuu_t)(uint32_t, uint32_t); typedef uint64_t (*UFUU_t)(uint64_t, uint64_t); typedef uint64_t (*UFss_t)(void*, void*); typedef float (*fFif_t)(int32_t, float); @@ -175,15 +231,19 @@ typedef double (*dFdi_t)(double, int32_t); typedef double (*dFdd_t)(double, double); typedef double (*dFdD_t)(double, long double); typedef double (*dFdp_t)(double, void*); +typedef intptr_t (*lFui_t)(uint32_t, int32_t); typedef uintptr_t (*LFpL_t)(void*, uintptr_t); typedef uintptr_t (*LFpp_t)(void*, void*); typedef void* (*pFEv_t)(x64emu_t*); typedef void* (*pFEu_t)(x64emu_t*, uint32_t); typedef void* (*pFEp_t)(x64emu_t*, void*); typedef void* (*pFES_t)(x64emu_t*, void*); +typedef void* (*pFiu_t)(int32_t, uint32_t); typedef void* (*pFia_t)(int32_t, void*); +typedef void* (*pFuu_t)(uint32_t, uint32_t); typedef void* (*pFLL_t)(uintptr_t, uintptr_t); typedef void* (*pFpi_t)(void*, int32_t); +typedef void* (*pFpu_t)(void*, uint32_t); typedef void* (*pFpL_t)(void*, uintptr_t); typedef void* (*pFpp_t)(void*, void*); typedef void* (*SFpp_t)(void*, void*); @@ -202,9 +262,65 @@ typedef void* (*pFriiiiiiiiilt_p_t)(struct_iiiiiiiiilt_t*, void*); typedef void (*vFEip_t)(x64emu_t*, int32_t, void*); typedef void (*vFEpi_t)(x64emu_t*, void*, int32_t); typedef void (*vFEpu_t)(x64emu_t*, void*, uint32_t); +typedef void (*vFEpp_t)(x64emu_t*, void*, void*); +typedef void (*vFccc_t)(int8_t, int8_t, int8_t); +typedef void (*vFwww_t)(int16_t, int16_t, int16_t); +typedef void (*vFiii_t)(int32_t, int32_t, int32_t); +typedef void (*vFiif_t)(int32_t, int32_t, float); +typedef void (*vFiip_t)(int32_t, int32_t, void*); +typedef void (*vFiII_t)(int32_t, int64_t, int64_t); +typedef void (*vFiui_t)(int32_t, uint32_t, int32_t); +typedef void (*vFiuu_t)(int32_t, uint32_t, uint32_t); +typedef void (*vFiup_t)(int32_t, uint32_t, void*); +typedef void (*vFiUU_t)(int32_t, uint64_t, uint64_t); +typedef void (*vFiff_t)(int32_t, float, float); +typedef void (*vFidd_t)(int32_t, double, double); +typedef void (*vFilu_t)(int32_t, intptr_t, uint32_t); +typedef void (*vFill_t)(int32_t, intptr_t, intptr_t); +typedef void (*vFilp_t)(int32_t, intptr_t, void*); +typedef void (*vFipi_t)(int32_t, void*, int32_t); +typedef void (*vFipu_t)(int32_t, void*, uint32_t); +typedef void (*vFipp_t)(int32_t, void*, void*); +typedef void (*vFCCC_t)(uint8_t, uint8_t, uint8_t); +typedef void (*vFWWW_t)(uint16_t, uint16_t, uint16_t); +typedef void (*vFucc_t)(uint32_t, int8_t, int8_t); +typedef void (*vFuww_t)(uint32_t, int16_t, int16_t); +typedef void (*vFuii_t)(uint32_t, int32_t, int32_t); +typedef void (*vFuiI_t)(uint32_t, int32_t, int64_t); +typedef void (*vFuiu_t)(uint32_t, int32_t, uint32_t); +typedef void (*vFuiU_t)(uint32_t, int32_t, uint64_t); +typedef void (*vFuif_t)(uint32_t, int32_t, float); +typedef void (*vFuid_t)(uint32_t, int32_t, double); +typedef void (*vFuip_t)(uint32_t, int32_t, void*); +typedef void (*vFuII_t)(uint32_t, int64_t, int64_t); +typedef void (*vFuWW_t)(uint32_t, uint16_t, uint16_t); +typedef void (*vFuui_t)(uint32_t, uint32_t, int32_t); +typedef void (*vFuuC_t)(uint32_t, uint32_t, uint8_t); +typedef void (*vFuuu_t)(uint32_t, uint32_t, uint32_t); +typedef void (*vFuuU_t)(uint32_t, uint32_t, uint64_t); +typedef void (*vFuuf_t)(uint32_t, uint32_t, float); +typedef void (*vFuud_t)(uint32_t, uint32_t, double); +typedef void (*vFuup_t)(uint32_t, uint32_t, void*); +typedef void (*vFuUU_t)(uint32_t, uint64_t, uint64_t); +typedef void (*vFuff_t)(uint32_t, float, float); +typedef void (*vFudd_t)(uint32_t, double, double); +typedef void (*vFull_t)(uint32_t, intptr_t, intptr_t); +typedef void (*vFulp_t)(uint32_t, intptr_t, void*); +typedef void (*vFupp_t)(uint32_t, void*, void*); +typedef void (*vFfff_t)(float, float, float); typedef void (*vFfpp_t)(float, void*, void*); +typedef void (*vFddd_t)(double, double, double); typedef void (*vFdpp_t)(double, void*, void*); +typedef void (*vFlii_t)(intptr_t, int32_t, int32_t); +typedef void (*vFlip_t)(intptr_t, int32_t, void*); +typedef void (*vFllp_t)(intptr_t, intptr_t, void*); +typedef void (*vFlpp_t)(intptr_t, void*, void*); +typedef void (*vFpip_t)(void*, int32_t, void*); +typedef void (*vFpuU_t)(void*, uint32_t, uint64_t); +typedef void (*vFplp_t)(void*, intptr_t, void*); +typedef void (*vFppi_t)(void*, void*, int32_t); typedef void (*vFppu_t)(void*, void*, uint32_t); +typedef void (*vFppp_t)(void*, void*, void*); typedef int32_t (*iFEip_t)(x64emu_t*, int32_t, void*); typedef int32_t (*iFEpi_t)(x64emu_t*, void*, int32_t); typedef int32_t (*iFEpL_t)(x64emu_t*, void*, uintptr_t); @@ -224,12 +340,18 @@ typedef int32_t (*iFipu_t)(int32_t, void*, uint32_t); typedef int32_t (*iFipL_t)(int32_t, void*, uintptr_t); typedef int32_t (*iFipp_t)(int32_t, void*, void*); typedef int32_t (*iFuii_t)(uint32_t, int32_t, int32_t); +typedef int32_t (*iFuip_t)(uint32_t, int32_t, void*); typedef int32_t (*iFuui_t)(uint32_t, uint32_t, int32_t); typedef int32_t (*iFuuu_t)(uint32_t, uint32_t, uint32_t); +typedef int32_t (*iFuup_t)(uint32_t, uint32_t, void*); typedef int32_t (*iFuLp_t)(uint32_t, uintptr_t, void*); +typedef int32_t (*iFfff_t)(float, float, float); typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t); typedef int32_t (*iFpip_t)(void*, int32_t, void*); +typedef int32_t (*iFpuC_t)(void*, uint32_t, uint8_t); typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t); +typedef int32_t (*iFpuU_t)(void*, uint32_t, uint64_t); +typedef int32_t (*iFpup_t)(void*, uint32_t, void*); typedef int32_t (*iFpLi_t)(void*, uintptr_t, int32_t); typedef int32_t (*iFppi_t)(void*, void*, int32_t); typedef int32_t (*iFppu_t)(void*, void*, uint32_t); @@ -243,6 +365,17 @@ typedef int32_t (*iFhpp_t)(uintptr_t, void*, void*); typedef int32_t (*iFSIi_t)(void*, int64_t, int32_t); typedef int32_t (*iFSli_t)(void*, intptr_t, int32_t); typedef int64_t (*IFiIi_t)(int32_t, 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 (*uFilp_t)(int32_t, intptr_t, void*); +typedef uint32_t (*uFipu_t)(int32_t, void*, uint32_t); +typedef uint32_t (*uFuip_t)(uint32_t, int32_t, void*); +typedef uint32_t (*uFuuu_t)(uint32_t, uint32_t, uint32_t); +typedef uint32_t (*uFuup_t)(uint32_t, uint32_t, void*); +typedef uint32_t (*uFupp_t)(uint32_t, void*, void*); +typedef uint32_t (*uFpuU_t)(void*, uint32_t, uint64_t); +typedef float (*fFuii_t)(uint32_t, int32_t, int32_t); typedef float (*fFfff_t)(float, float, float); typedef float (*fFffp_t)(float, float, void*); typedef float (*fFppa_t)(void*, void*, void*); @@ -256,11 +389,16 @@ typedef void* (*pFEip_t)(x64emu_t*, int32_t, void*); typedef void* (*pFEpi_t)(x64emu_t*, void*, int32_t); typedef void* (*pFEpp_t)(x64emu_t*, void*, void*); typedef void* (*pFipi_t)(int32_t, void*, int32_t); +typedef void* (*pFulu_t)(uint32_t, intptr_t, uint32_t); typedef void* (*pFpii_t)(void*, int32_t, int32_t); typedef void* (*pFpiL_t)(void*, int32_t, uintptr_t); +typedef void* (*pFpip_t)(void*, int32_t, void*); typedef void* (*pFpiS_t)(void*, int32_t, void*); typedef void* (*pFpuL_t)(void*, uint32_t, uintptr_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* (*aFipa_t)(int32_t, void*, void*); typedef void* (*SFEpp_t)(x64emu_t*, void*, void*); @@ -275,10 +413,87 @@ 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* (*pFppriiiiiiiiilt__t)(void*, void*, struct_iiiiiiiiilt_t*); +typedef void (*vFEipp_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vFEipV_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vFEpup_t)(x64emu_t*, void*, uint32_t, void*); typedef void (*vFEppp_t)(x64emu_t*, void*, void*, void*); +typedef void (*vFcccc_t)(int8_t, int8_t, int8_t, int8_t); +typedef void (*vFwwww_t)(int16_t, int16_t, int16_t, int16_t); +typedef void (*vFiiii_t)(int32_t, int32_t, int32_t, int32_t); +typedef void (*vFiiip_t)(int32_t, int32_t, int32_t, void*); +typedef void (*vFiiCp_t)(int32_t, int32_t, uint8_t, void*); +typedef void (*vFiill_t)(int32_t, int32_t, intptr_t, intptr_t); +typedef void (*vFiIII_t)(int32_t, int64_t, int64_t, int64_t); +typedef void (*vFiuip_t)(int32_t, uint32_t, int32_t, void*); +typedef void (*vFiuuu_t)(int32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFiulp_t)(int32_t, uint32_t, intptr_t, void*); +typedef void (*vFiUUU_t)(int32_t, uint64_t, uint64_t, uint64_t); +typedef void (*vFifff_t)(int32_t, float, float, float); +typedef void (*vFiddd_t)(int32_t, double, double, double); +typedef void (*vFilip_t)(int32_t, intptr_t, int32_t, void*); +typedef void (*vFilpu_t)(int32_t, intptr_t, void*, uint32_t); +typedef void (*vFilpp_t)(int32_t, intptr_t, void*, void*); +typedef void (*vFipup_t)(int32_t, void*, uint32_t, void*); +typedef void (*vFipll_t)(int32_t, void*, intptr_t, intptr_t); +typedef void (*vFCCCC_t)(uint8_t, uint8_t, uint8_t, uint8_t); +typedef void (*vFWWWW_t)(uint16_t, uint16_t, uint16_t, uint16_t); +typedef void (*vFuccc_t)(uint32_t, int8_t, int8_t, int8_t); +typedef void (*vFuwww_t)(uint32_t, int16_t, int16_t, int16_t); +typedef void (*vFuiii_t)(uint32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiip_t)(uint32_t, int32_t, int32_t, void*); +typedef void (*vFuiII_t)(uint32_t, int32_t, int64_t, int64_t); +typedef void (*vFuiui_t)(uint32_t, int32_t, uint32_t, int32_t); +typedef void (*vFuiuC_t)(uint32_t, int32_t, uint32_t, uint8_t); +typedef void (*vFuiuu_t)(uint32_t, int32_t, uint32_t, uint32_t); +typedef void (*vFuiup_t)(uint32_t, int32_t, uint32_t, void*); +typedef void (*vFuiUU_t)(uint32_t, int32_t, uint64_t, uint64_t); +typedef void (*vFuifi_t)(uint32_t, int32_t, float, int32_t); +typedef void (*vFuiff_t)(uint32_t, int32_t, float, float); +typedef void (*vFuidd_t)(uint32_t, int32_t, double, double); +typedef void (*vFuilp_t)(uint32_t, int32_t, intptr_t, void*); +typedef void (*vFuipi_t)(uint32_t, int32_t, void*, int32_t); +typedef void (*vFuipu_t)(uint32_t, int32_t, void*, uint32_t); +typedef void (*vFuipp_t)(uint32_t, int32_t, void*, void*); +typedef void (*vFuIII_t)(uint32_t, int64_t, int64_t, int64_t); +typedef void (*vFuWWW_t)(uint32_t, uint16_t, uint16_t, uint16_t); +typedef void (*vFuuii_t)(uint32_t, uint32_t, int32_t, int32_t); +typedef void (*vFuuiu_t)(uint32_t, uint32_t, int32_t, uint32_t); +typedef void (*vFuuil_t)(uint32_t, uint32_t, int32_t, intptr_t); +typedef void (*vFuuip_t)(uint32_t, uint32_t, int32_t, void*); +typedef void (*vFuuCu_t)(uint32_t, uint32_t, uint8_t, uint32_t); +typedef void (*vFuuCp_t)(uint32_t, uint32_t, uint8_t, void*); +typedef void (*vFuuui_t)(uint32_t, uint32_t, uint32_t, int32_t); +typedef void (*vFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuuuf_t)(uint32_t, uint32_t, uint32_t, float); +typedef void (*vFuuud_t)(uint32_t, uint32_t, uint32_t, double); +typedef void (*vFuuul_t)(uint32_t, uint32_t, uint32_t, intptr_t); +typedef void (*vFuuup_t)(uint32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuUl_t)(uint32_t, uint32_t, uint64_t, intptr_t); +typedef void (*vFuuff_t)(uint32_t, uint32_t, float, float); +typedef void (*vFuuli_t)(uint32_t, uint32_t, intptr_t, int32_t); +typedef void (*vFuupi_t)(uint32_t, uint32_t, void*, int32_t); +typedef void (*vFuupp_t)(uint32_t, uint32_t, void*, void*); +typedef void (*vFuUui_t)(uint32_t, uint64_t, uint32_t, int32_t); +typedef void (*vFuUup_t)(uint32_t, uint64_t, uint32_t, void*); +typedef void (*vFuUUU_t)(uint32_t, uint64_t, uint64_t, uint64_t); +typedef void (*vFufff_t)(uint32_t, float, float, float); +typedef void (*vFuddd_t)(uint32_t, double, double, double); +typedef void (*vFuluU_t)(uint32_t, intptr_t, uint32_t, uint64_t); +typedef void (*vFullC_t)(uint32_t, intptr_t, intptr_t, uint8_t); +typedef void (*vFullp_t)(uint32_t, intptr_t, intptr_t, void*); +typedef void (*vFulpu_t)(uint32_t, intptr_t, void*, uint32_t); +typedef void (*vFulpp_t)(uint32_t, intptr_t, void*, void*); +typedef void (*vFupii_t)(uint32_t, void*, int32_t, int32_t); +typedef void (*vFuppi_t)(uint32_t, void*, void*, int32_t); +typedef void (*vFuppu_t)(uint32_t, void*, void*, uint32_t); +typedef void (*vFffff_t)(float, float, float, float); +typedef void (*vFdddd_t)(double, double, double, double); +typedef void (*vFllii_t)(intptr_t, intptr_t, int32_t, int32_t); +typedef void (*vFpiii_t)(void*, int32_t, int32_t, int32_t); +typedef void (*vFpipp_t)(void*, int32_t, void*, void*); +typedef void (*vFplpp_t)(void*, intptr_t, void*, void*); typedef void (*vFppip_t)(void*, void*, int32_t, void*); +typedef void (*vFpppp_t)(void*, void*, void*, void*); typedef int32_t (*iFEiip_t)(x64emu_t*, int32_t, int32_t, void*); typedef int32_t (*iFEiiN_t)(x64emu_t*, int32_t, int32_t, ...); typedef int32_t (*iFEipp_t)(x64emu_t*, int32_t, void*, void*); @@ -300,18 +515,39 @@ typedef int32_t (*iFiuui_t)(int32_t, uint32_t, uint32_t, int32_t); typedef int32_t (*iFipii_t)(int32_t, void*, int32_t, int32_t); typedef int32_t (*iFipup_t)(int32_t, void*, uint32_t, void*); typedef int32_t (*iFippi_t)(int32_t, void*, void*, int32_t); +typedef int32_t (*iFuiup_t)(uint32_t, int32_t, uint32_t, void*); typedef int32_t (*iFuupi_t)(uint32_t, uint32_t, void*, int32_t); +typedef int32_t (*iFpiip_t)(void*, int32_t, int32_t, void*); +typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*); +typedef int32_t (*iFpuup_t)(void*, uint32_t, uint32_t, void*); +typedef int32_t (*iFpupp_t)(void*, uint32_t, void*, void*); +typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t); +typedef int32_t (*iFppiU_t)(void*, void*, int32_t, uint64_t); +typedef int32_t (*iFppip_t)(void*, void*, int32_t, void*); +typedef int32_t (*iFpppi_t)(void*, void*, void*, int32_t); +typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); typedef int32_t (*iFhpiL_t)(uintptr_t, void*, int32_t, uintptr_t); +typedef uint8_t (*CFuuff_t)(uint32_t, uint32_t, float, float); +typedef uint32_t (*uFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t); typedef intptr_t (*lFEipi_t)(x64emu_t*, int32_t, void*, int32_t); typedef intptr_t (*lFiipL_t)(int32_t, int32_t, void*, uintptr_t); typedef intptr_t (*lFipLi_t)(int32_t, void*, uintptr_t, int32_t); +typedef intptr_t (*lFpuip_t)(void*, uint32_t, int32_t, void*); 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 void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t); typedef void* (*pFEppp_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* (*pFullu_t)(uint32_t, intptr_t, intptr_t, uint32_t); +typedef void* (*pFlfff_t)(intptr_t, float, float, float); +typedef void* (*pFpiii_t)(void*, int32_t, int32_t, int32_t); typedef void* (*pFpiLL_t)(void*, int32_t, uintptr_t, uintptr_t); +typedef void* (*pFpipp_t)(void*, int32_t, void*, void*); typedef void* (*pFppLL_t)(void*, void*, uintptr_t, uintptr_t); +typedef void* (*pFpppi_t)(void*, void*, void*, int32_t); +typedef void* (*pFpppp_t)(void*, void*, void*, void*); typedef int64_t (*IFpBp_ii_t)(void*, struct_p_t*, int32_t, int32_t); typedef uint64_t (*UFpBp_ii_t)(void*, struct_p_t*, int32_t, int32_t); typedef intptr_t (*lFiibp_L_t)(int32_t, int32_t, struct_p_t*, uintptr_t); @@ -319,6 +555,92 @@ typedef uintptr_t (*LFpbp_Lp_t)(void*, struct_p_t*, uintptr_t, void*); typedef int32_t (*iFEpprLL__t)(x64emu_t*, void*, void*, struct_LL_t*); typedef uintptr_t (*LFpLpriiiiiiiiilt__t)(void*, uintptr_t, void*, struct_iiiiiiiiilt_t*); typedef void (*vFEpLLp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*); +typedef void (*vFiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFiiiiu_t)(int32_t, int32_t, int32_t, int32_t, uint32_t); +typedef void (*vFiiuii_t)(int32_t, int32_t, uint32_t, int32_t, int32_t); +typedef void (*vFiiuup_t)(int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFiillu_t)(int32_t, int32_t, intptr_t, intptr_t, uint32_t); +typedef void (*vFiilll_t)(int32_t, int32_t, intptr_t, intptr_t, intptr_t); +typedef void (*vFiipll_t)(int32_t, int32_t, void*, intptr_t, intptr_t); +typedef void (*vFiIIII_t)(int32_t, int64_t, int64_t, int64_t, int64_t); +typedef void (*vFiuiip_t)(int32_t, uint32_t, int32_t, int32_t, void*); +typedef void (*vFiuipi_t)(int32_t, uint32_t, int32_t, void*, int32_t); +typedef void (*vFiuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFiulpp_t)(int32_t, uint32_t, intptr_t, void*, void*); +typedef void (*vFiUUUU_t)(int32_t, uint64_t, uint64_t, uint64_t, uint64_t); +typedef void (*vFiffff_t)(int32_t, float, float, float, float); +typedef void (*vFidddd_t)(int32_t, double, double, double, double); +typedef void (*vFilill_t)(int32_t, intptr_t, int32_t, intptr_t, intptr_t); +typedef void (*vFilipi_t)(int32_t, intptr_t, int32_t, void*, int32_t); +typedef void (*vFilipl_t)(int32_t, intptr_t, int32_t, void*, intptr_t); +typedef void (*vFipipu_t)(int32_t, void*, int32_t, void*, uint32_t); +typedef void (*vFipipp_t)(int32_t, void*, int32_t, void*, void*); +typedef void (*vFipupi_t)(int32_t, void*, uint32_t, void*, int32_t); +typedef void (*vFucccc_t)(uint32_t, int8_t, int8_t, int8_t, int8_t); +typedef void (*vFuwwww_t)(uint32_t, int16_t, int16_t, int16_t, int16_t); +typedef void (*vFuiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t); +typedef void (*vFuiiip_t)(uint32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuiiCp_t)(uint32_t, int32_t, int32_t, uint8_t, void*); +typedef void (*vFuiiup_t)(uint32_t, int32_t, int32_t, uint32_t, void*); +typedef void (*vFuiill_t)(uint32_t, int32_t, int32_t, intptr_t, intptr_t); +typedef void (*vFuiIII_t)(uint32_t, int32_t, int64_t, int64_t, int64_t); +typedef void (*vFuiuii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t); +typedef void (*vFuiuip_t)(uint32_t, int32_t, uint32_t, int32_t, void*); +typedef void (*vFuiuCi_t)(uint32_t, int32_t, uint32_t, uint8_t, int32_t); +typedef void (*vFuiuCu_t)(uint32_t, int32_t, uint32_t, uint8_t, uint32_t); +typedef void (*vFuiuuu_t)(uint32_t, int32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuiuup_t)(uint32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiupi_t)(uint32_t, int32_t, uint32_t, void*, int32_t); +typedef void (*vFuiUUU_t)(uint32_t, int32_t, uint64_t, uint64_t, uint64_t); +typedef void (*vFuifff_t)(uint32_t, int32_t, float, float, float); +typedef void (*vFuiddd_t)(uint32_t, int32_t, double, double, double); +typedef void (*vFuipip_t)(uint32_t, int32_t, void*, int32_t, void*); +typedef void (*vFuipup_t)(uint32_t, int32_t, void*, uint32_t, void*); +typedef void (*vFuippp_t)(uint32_t, int32_t, void*, void*, void*); +typedef void (*vFuIIII_t)(uint32_t, int64_t, int64_t, int64_t, int64_t); +typedef void (*vFuCCCC_t)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t); +typedef void (*vFuCuip_t)(uint32_t, uint8_t, uint32_t, int32_t, void*); +typedef void (*vFuCuup_t)(uint32_t, uint8_t, uint32_t, uint32_t, void*); +typedef void (*vFuWWWW_t)(uint32_t, uint16_t, uint16_t, uint16_t, uint16_t); +typedef void (*vFuuiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiip_t)(uint32_t, uint32_t, int32_t, int32_t, void*); +typedef void (*vFuuiui_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t); +typedef void (*vFuuiuu_t)(uint32_t, uint32_t, int32_t, uint32_t, uint32_t); +typedef void (*vFuuiup_t)(uint32_t, uint32_t, int32_t, uint32_t, void*); +typedef void (*vFuuifi_t)(uint32_t, uint32_t, int32_t, float, int32_t); +typedef void (*vFuuipC_t)(uint32_t, uint32_t, int32_t, void*, uint8_t); +typedef void (*vFuuipu_t)(uint32_t, uint32_t, int32_t, void*, uint32_t); +typedef void (*vFuuipp_t)(uint32_t, uint32_t, int32_t, void*, void*); +typedef void (*vFuuuii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t); +typedef void (*vFuuuiu_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t); +typedef void (*vFuuuil_t)(uint32_t, uint32_t, uint32_t, int32_t, intptr_t); +typedef void (*vFuuuip_t)(uint32_t, uint32_t, uint32_t, int32_t, void*); +typedef void (*vFuuuui_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t); +typedef void (*vFuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuuuup_t)(uint32_t, uint32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuuli_t)(uint32_t, uint32_t, uint32_t, intptr_t, int32_t); +typedef void (*vFuuull_t)(uint32_t, uint32_t, uint32_t, intptr_t, intptr_t); +typedef void (*vFuulll_t)(uint32_t, uint32_t, intptr_t, intptr_t, intptr_t); +typedef void (*vFuullp_t)(uint32_t, uint32_t, intptr_t, intptr_t, void*); +typedef void (*vFuupii_t)(uint32_t, uint32_t, void*, int32_t, int32_t); +typedef void (*vFuuppu_t)(uint32_t, uint32_t, void*, void*, uint32_t); +typedef void (*vFuUUUU_t)(uint32_t, uint64_t, uint64_t, uint64_t, uint64_t); +typedef void (*vFuffff_t)(uint32_t, float, float, float, float); +typedef void (*vFudddd_t)(uint32_t, double, double, double, double); +typedef void (*vFullpu_t)(uint32_t, intptr_t, intptr_t, void*, uint32_t); +typedef void (*vFupiii_t)(uint32_t, void*, int32_t, int32_t, int32_t); +typedef void (*vFupupi_t)(uint32_t, void*, uint32_t, void*, int32_t); +typedef void (*vFupupp_t)(uint32_t, void*, uint32_t, void*, void*); +typedef void (*vFuplii_t)(uint32_t, void*, intptr_t, int32_t, int32_t); +typedef void (*vFuppip_t)(uint32_t, void*, void*, int32_t, void*); +typedef void (*vFfffff_t)(float, float, float, float, float); +typedef void (*vFluipp_t)(intptr_t, uint32_t, int32_t, void*, void*); +typedef void (*vFpilpp_t)(void*, int32_t, intptr_t, void*, void*); +typedef void (*vFpuipp_t)(void*, uint32_t, int32_t, void*, void*); +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 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 (*iFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*); @@ -332,24 +654,264 @@ typedef int32_t (*iFiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t); typedef int32_t (*iFiiipp_t)(int32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFiLLLL_t)(int32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); typedef int32_t (*iFipLLi_t)(int32_t, void*, uintptr_t, uintptr_t, int32_t); +typedef int32_t (*iFpiiip_t)(void*, int32_t, int32_t, int32_t, void*); +typedef int32_t (*iFpippp_t)(void*, int32_t, void*, void*, void*); +typedef int32_t (*iFppipi_t)(void*, void*, int32_t, void*, int32_t); +typedef int32_t (*iFpppip_t)(void*, void*, void*, int32_t, void*); typedef int32_t (*iFpppup_t)(void*, void*, void*, uint32_t, void*); +typedef int32_t (*iFppppp_t)(void*, void*, void*, void*, void*); +typedef int64_t (*IFppIII_t)(void*, void*, int64_t, int64_t, int64_t); typedef uint32_t (*uFpLLLS_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*); +typedef uint64_t (*UFuiCiu_t)(uint32_t, int32_t, uint8_t, int32_t, uint32_t); +typedef intptr_t (*lFpuipC_t)(void*, uint32_t, int32_t, void*, uint8_t); typedef uintptr_t (*LFpLppa_t)(void*, uintptr_t, void*, void*, void*); +typedef void* (*pFuiupp_t)(uint32_t, int32_t, uint32_t, void*, void*); +typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*); +typedef void* (*pFppipi_t)(void*, void*, int32_t, void*, int32_t); +typedef void* (*pFppuup_t)(void*, void*, uint32_t, uint32_t, void*); +typedef void* (*pFppupp_t)(void*, void*, uint32_t, void*, void*); +typedef void* (*pFpppip_t)(void*, void*, void*, int32_t, void*); typedef int32_t (*iFEBh_ppp_t)(x64emu_t*, struct_h_t*, void*, void*, void*); typedef uintptr_t (*LFpbp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*); typedef uintptr_t (*LFpBp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*); typedef int32_t (*iFippprLL__t)(int32_t, void*, void*, void*, struct_LL_t*); typedef uintptr_t (*LFLbp_bL_Bp_BL__t)(uintptr_t, struct_p_t*, struct_L_t*, struct_p_t*, struct_L_t*); typedef uintptr_t (*LFpLpriiiiiiiiilt_a_t)(void*, uintptr_t, void*, struct_iiiiiiiiilt_t*, void*); +typedef void (*vFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFiiiuil_t)(int32_t, int32_t, int32_t, uint32_t, int32_t, intptr_t); +typedef void (*vFiiilpi_t)(int32_t, int32_t, int32_t, intptr_t, void*, int32_t); +typedef void (*vFiiuilp_t)(int32_t, int32_t, uint32_t, int32_t, intptr_t, void*); +typedef void (*vFiffiff_t)(int32_t, float, float, int32_t, float, float); +typedef void (*vFiddidd_t)(int32_t, double, double, int32_t, double, double); +typedef void (*vFilipli_t)(int32_t, intptr_t, int32_t, void*, intptr_t, int32_t); +typedef void (*vFiliplu_t)(int32_t, intptr_t, int32_t, void*, intptr_t, uint32_t); +typedef void (*vFipiplp_t)(int32_t, void*, int32_t, void*, intptr_t, void*); +typedef void (*vFCCCCff_t)(uint8_t, uint8_t, uint8_t, uint8_t, float, float); +typedef void (*vFuiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiiuii_t)(uint32_t, int32_t, int32_t, uint32_t, int32_t, int32_t); +typedef void (*vFuiiuup_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiIIII_t)(uint32_t, int32_t, int64_t, int64_t, int64_t, int64_t); +typedef void (*vFuiuiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiuiiC_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuiuiil_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, intptr_t); +typedef void (*vFuiuiuu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint32_t); +typedef void (*vFuiuiuU_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint64_t); +typedef void (*vFuiuCip_t)(uint32_t, int32_t, uint32_t, uint8_t, int32_t, void*); +typedef void (*vFuiuuip_t)(uint32_t, int32_t, uint32_t, uint32_t, int32_t, void*); +typedef void (*vFuiuuuu_t)(uint32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuiupii_t)(uint32_t, int32_t, uint32_t, void*, int32_t, int32_t); +typedef void (*vFuiupiu_t)(uint32_t, int32_t, uint32_t, void*, int32_t, uint32_t); +typedef void (*vFuiUUUU_t)(uint32_t, int32_t, uint64_t, uint64_t, uint64_t, uint64_t); +typedef void (*vFuiffff_t)(uint32_t, int32_t, float, float, float, float); +typedef void (*vFuidddd_t)(uint32_t, int32_t, double, double, double, double); +typedef void (*vFuipiup_t)(uint32_t, int32_t, void*, int32_t, uint32_t, void*); +typedef void (*vFuCuuip_t)(uint32_t, uint8_t, uint32_t, uint32_t, int32_t, void*); +typedef void (*vFuuiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiuii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t); +typedef void (*vFuuiuil_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, intptr_t); +typedef void (*vFuuiuip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, void*); +typedef void (*vFuuiuCu_t)(uint32_t, uint32_t, int32_t, uint32_t, uint8_t, uint32_t); +typedef void (*vFuuiuup_t)(uint32_t, uint32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuippp_t)(uint32_t, uint32_t, int32_t, void*, void*, void*); +typedef void (*vFuuuiii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuuiup_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*); +typedef void (*vFuuuipC_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, uint8_t); +typedef void (*vFuuuipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, void*); +typedef void (*vFuuuuii_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t); +typedef void (*vFuuuuip_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, void*); +typedef void (*vFuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuuuull_t)(uint32_t, uint32_t, uint32_t, uint32_t, intptr_t, intptr_t); +typedef void (*vFuuuppi_t)(uint32_t, uint32_t, uint32_t, void*, void*, int32_t); +typedef void (*vFuuuppp_t)(uint32_t, uint32_t, uint32_t, void*, void*, void*); +typedef void (*vFuuffff_t)(uint32_t, uint32_t, float, float, float, float); +typedef void (*vFuudddd_t)(uint32_t, uint32_t, double, double, double, double); +typedef void (*vFuupiii_t)(uint32_t, uint32_t, void*, int32_t, int32_t, int32_t); +typedef void (*vFuupupp_t)(uint32_t, uint32_t, void*, uint32_t, void*, void*); +typedef void (*vFuuplii_t)(uint32_t, uint32_t, void*, intptr_t, int32_t, int32_t); +typedef void (*vFuffiip_t)(uint32_t, float, float, int32_t, int32_t, void*); +typedef void (*vFufffff_t)(uint32_t, float, float, float, float, float); +typedef void (*vFuddiip_t)(uint32_t, double, double, int32_t, int32_t, void*); +typedef void (*vFulluUC_t)(uint32_t, intptr_t, intptr_t, uint32_t, uint64_t, uint8_t); +typedef void (*vFupiiii_t)(uint32_t, void*, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int32_t, void*); +typedef void (*vFuppppu_t)(uint32_t, void*, void*, void*, void*, uint32_t); +typedef void (*vFffffff_t)(float, float, float, float, float, float); +typedef void (*vFdddddd_t)(double, double, double, double, double, double); +typedef void (*vFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t); typedef int32_t (*iFEpLppp_t)(x64emu_t*, void*, uintptr_t, void*, void*, void*); +typedef int32_t (*iFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*); +typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*); +typedef int32_t (*iFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); +typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*); +typedef uint32_t (*uFupuufp_t)(uint32_t, void*, uint32_t, uint32_t, float, void*); typedef intptr_t (*lFipLipu_t)(int32_t, void*, uintptr_t, int32_t, void*, uint32_t); typedef intptr_t (*lFipLipp_t)(int32_t, void*, uintptr_t, int32_t, void*, void*); typedef void* (*pFEpLLiN_t)(x64emu_t*, void*, uintptr_t, uintptr_t, int32_t, ...); +typedef void* (*pFpippip_t)(void*, int32_t, void*, void*, int32_t, void*); +typedef void (*vFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFiiiiuup_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFiiuilil_t)(int32_t, int32_t, uint32_t, int32_t, intptr_t, int32_t, intptr_t); +typedef void (*vFiiffffp_t)(int32_t, int32_t, float, float, float, float, void*); +typedef void (*vFiuulipi_t)(int32_t, uint32_t, uint32_t, intptr_t, int32_t, void*, int32_t); +typedef void (*vFiupuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, void*); +typedef void (*vFilipliu_t)(int32_t, intptr_t, int32_t, void*, intptr_t, int32_t, uint32_t); +typedef void (*vFilulipi_t)(int32_t, intptr_t, uint32_t, intptr_t, int32_t, void*, int32_t); +typedef void (*vFCCCCfff_t)(uint8_t, uint8_t, uint8_t, uint8_t, float, float, float); +typedef void (*vFuiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiiiiiC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); +typedef void (*vFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiuiiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiuiiiC_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuiuiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuiuiiuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, uint32_t, uint64_t); +typedef void (*vFuiuCiuu_t)(uint32_t, int32_t, uint32_t, uint8_t, int32_t, uint32_t, uint32_t); +typedef void (*vFuiupiiu_t)(uint32_t, int32_t, uint32_t, void*, int32_t, int32_t, uint32_t); +typedef void (*vFuiupuip_t)(uint32_t, int32_t, uint32_t, void*, uint32_t, int32_t, void*); +typedef void (*vFuipiiii_t)(uint32_t, int32_t, void*, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuipffff_t)(uint32_t, int32_t, void*, float, float, float, float); +typedef void (*vFuipdddd_t)(uint32_t, int32_t, void*, double, double, double, double); +typedef void (*vFuuiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiiiiC_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuuiiiiu_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t); +typedef void (*vFuuiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuiCiui_t)(uint32_t, uint32_t, int32_t, uint8_t, int32_t, uint32_t, int32_t); +typedef void (*vFuuiCiuu_t)(uint32_t, uint32_t, int32_t, uint8_t, int32_t, uint32_t, uint32_t); +typedef void (*vFuuiuiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiuiiC_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuuipppp_t)(uint32_t, uint32_t, int32_t, void*, void*, void*, void*); +typedef void (*vFuuuiiii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuuiiCp_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, uint8_t, void*); +typedef void (*vFuuuiuil_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, int32_t, intptr_t); +typedef void (*vFuuuiupi_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, int32_t); +typedef void (*vFuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuuuulll_t)(uint32_t, uint32_t, uint32_t, uint32_t, intptr_t, intptr_t, intptr_t); +typedef void (*vFuuuffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float); +typedef void (*vFuuudddd_t)(uint32_t, uint32_t, uint32_t, double, double, double, double); +typedef void (*vFuuffiip_t)(uint32_t, uint32_t, float, float, int32_t, int32_t, void*); +typedef void (*vFuuddiip_t)(uint32_t, uint32_t, double, double, int32_t, int32_t, void*); +typedef void (*vFuulluup_t)(uint32_t, uint32_t, intptr_t, intptr_t, uint32_t, uint32_t, void*); +typedef void (*vFuupiiii_t)(uint32_t, uint32_t, void*, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuppppu_t)(uint32_t, uint32_t, void*, void*, void*, void*, uint32_t); +typedef void (*vFuuppppp_t)(uint32_t, uint32_t, void*, void*, void*, void*, void*); +typedef void (*vFuffffff_t)(uint32_t, float, float, float, float, float, float); +typedef void (*vFudddddd_t)(uint32_t, double, double, double, double, double, double); +typedef void (*vFlliiiip_t)(intptr_t, intptr_t, int32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFEpLiipV_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFpupLpLi_t)(void*, uint32_t, void*, uintptr_t, void*, uintptr_t, int32_t); +typedef uint32_t (*uFuippppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*); 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 (*vFiiiiuuip_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*); +typedef void (*vFiilliilp_t)(int32_t, int32_t, intptr_t, intptr_t, int32_t, int32_t, intptr_t, void*); +typedef void (*vFiupuiuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFiupuuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiiiiiiC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiiipiup_t)(uint32_t, int32_t, int32_t, int32_t, void*, int32_t, uint32_t, void*); +typedef void (*vFuiuiiiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiuiiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuiuiiiuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint64_t); +typedef void (*vFuiuiiCuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, uint8_t, uint32_t, uint64_t); +typedef void (*vFuiuiuuuu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuCCCCfff_t)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t, float, float, float); +typedef void (*vFuuiiiiiC_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuuiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); +typedef void (*vFuuiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuiiuupp_t)(uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*, void*); +typedef void (*vFuuiuiiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiuiiiC_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuuiuiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuuuiiiiu_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t); +typedef void (*vFuuuiuCil_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, uint8_t, int32_t, intptr_t); +typedef void (*vFuuuipipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t, void*, void*); +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 int32_t (*iFEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*); +typedef int32_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*); +typedef uint8_t (*CFuiifpppp_t)(uint32_t, int32_t, int32_t, float, void*, void*, void*, void*); +typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*, void*); +typedef uint32_t (*uFuupuuiuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int32_t, uint32_t, float); +typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*); +typedef void (*vFiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFiiiiiiill_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t); +typedef void (*vFiiiiillli_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t); +typedef void (*vFiiilllilp_t)(int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*); +typedef void (*vFiupuiuuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, uint32_t, void*); +typedef void (*vFiupuuuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiiiiiiiC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); +typedef void (*vFuiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiuiiiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuiuiiiCuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint8_t, uint32_t, uint64_t); +typedef void (*vFuiupuffup_t)(uint32_t, int32_t, uint32_t, void*, uint32_t, float, float, uint32_t, void*); +typedef void (*vFuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiiiiiiC_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t); +typedef void (*vFuuiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuiuiiiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiuiiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuuuiiiiCp_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint8_t, void*); +typedef void (*vFuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuupuuiuuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int32_t, uint32_t, uint32_t, float); +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 uint32_t (*uFuulpiuiuf_t)(uint32_t, uint32_t, intptr_t, void*, int32_t, uint32_t, int32_t, uint32_t, float); +typedef void (*vFiiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFiiiiiiiiui_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t); +typedef void (*vFiiiiiiiiuu_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t); +typedef void (*vFiiillliiip_t)(int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuiiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuiiiiiiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiuiiiiuup_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuiiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFuuiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); +typedef void (*vFuuiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuiuiiiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*); +typedef void (*vFuuuuuuuCCC_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint8_t, uint8_t, uint8_t); +typedef void (*vFuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuupuiupuuf_t)(uint32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, void*, uint32_t, uint32_t, float); +typedef void (*vFuffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*); +typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); +typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float); +typedef void (*vFiiiiillliip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, void*); +typedef void (*vFiiiiilllilp_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*); +typedef void (*vFuiiiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); +typedef void (*vFuiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuiiiillliip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, void*); +typedef void (*vFuiuiiiiiuup_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuupupppppp_t)(uint32_t, uint32_t, uint32_t, void*, uint32_t, void*, void*, void*, void*, void*, void*); +typedef void (*vFuuffiiffiip_t)(uint32_t, uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*); +typedef void (*vFuufffffffff_t)(uint32_t, uint32_t, float, float, float, float, float, float, float, float, float); +typedef void (*vFuuddiiddiip_t)(uint32_t, uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); +typedef void (*vFuUuuuuuuuuu_t)(uint32_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float); +typedef void (*vFUufffffffff_t)(uint64_t, uint32_t, float, float, float, float, float, float, float, float, float); +typedef void (*vFuiiiiiiiiuUC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint64_t, uint8_t); +typedef void (*vFuiiiiiiiuuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*); +typedef void (*vFuuiiiiiiiiuu_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t); +typedef void (*vFuuiiiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*); +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 (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*); +typedef void (*vFuuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuUuuuuuuuuuuu_t)(uint32_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef void (*vFuffffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float, float, float); +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*); +typedef void (*vFuffiiffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*); +typedef void (*vFuddiiddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); +typedef void (*vFuiiiiiuiiiiilll_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t); +typedef void (*vFuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float); +typedef void (*vFuuuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); +typedef uint32_t (*uFippuuuuiiiiuuiiiiiiiipp_t)(int32_t, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, void*); #if defined(ANDROID) typedef void (*vFEpppp_t)(x64emu_t*, void*, void*, void*, void*); @@ -370,8 +932,16 @@ typedef double (*KFpBp_a_t)(void*, struct_p_t*, void*); #endif void vFv_32(x64emu_t *emu, uintptr_t fcn) { vFv_t fn = (vFv_t)fcn; fn(); } +void vFc_32(x64emu_t *emu, uintptr_t fcn) { vFc_t fn = (vFc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4)); } +void vFw_32(x64emu_t *emu, uintptr_t fcn) { vFw_t fn = (vFw_t)fcn; fn(from_ptri(int16_t, R_ESP + 4)); } void vFi_32(x64emu_t *emu, uintptr_t fcn) { vFi_t fn = (vFi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4)); } +void vFC_32(x64emu_t *emu, uintptr_t fcn) { vFC_t fn = (vFC_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4)); } +void vFW_32(x64emu_t *emu, uintptr_t fcn) { vFW_t fn = (vFW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4)); } void vFu_32(x64emu_t *emu, uintptr_t fcn) { vFu_t fn = (vFu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4)); } +void vFU_32(x64emu_t *emu, uintptr_t fcn) { vFU_t fn = (vFU_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4)); } +void vFf_32(x64emu_t *emu, uintptr_t fcn) { vFf_t fn = (vFf_t)fcn; fn(from_ptri(float, R_ESP + 4)); } +void vFd_32(x64emu_t *emu, uintptr_t fcn) { vFd_t fn = (vFd_t)fcn; fn(from_ptri(double, R_ESP + 4)); } +void vFl_32(x64emu_t *emu, uintptr_t fcn) { vFl_t fn = (vFl_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4))); } void vFp_32(x64emu_t *emu, uintptr_t fcn) { vFp_t fn = (vFp_t)fcn; fn(from_ptriv(R_ESP + 4)); } void vFA_32(x64emu_t *emu, uintptr_t fcn) { vFA_t fn = (vFA_t)fcn; fn(from_locale_d(from_ptri(ptr_t, R_ESP + 4))); } void vFS_32(x64emu_t *emu, uintptr_t fcn) { vFS_t fn = (vFS_t)fcn; fn(io_convert32(from_ptriv(R_ESP + 4))); } @@ -388,16 +958,24 @@ void iFS_32(x64emu_t *emu, uintptr_t fcn) { iFS_t fn = (iFS_t)fcn; R_EAX = fn(io void IFf_32(x64emu_t *emu, uintptr_t fcn) { IFf_t fn = (IFf_t)fcn; ui64_t r; r.i = fn(from_ptri(float, R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void IFd_32(x64emu_t *emu, uintptr_t fcn) { IFd_t fn = (IFd_t)fcn; ui64_t r; r.i = fn(from_ptri(double, R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void IFS_32(x64emu_t *emu, uintptr_t fcn) { IFS_t fn = (IFS_t)fcn; ui64_t r; r.i = fn(io_convert32(from_ptriv(R_ESP + 4))); R_EAX = r.d[0]; R_EDX = r.d[1]; } +void CFu_32(x64emu_t *emu, uintptr_t fcn) { CFu_t fn = (CFu_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4)); } +void CFU_32(x64emu_t *emu, uintptr_t fcn) { CFU_t fn = (CFU_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint64_t, R_ESP + 4)); } +void CFl_32(x64emu_t *emu, uintptr_t fcn) { CFl_t fn = (CFl_t)fcn; R_EAX = (unsigned char)fn(to_long(from_ptri(long_t, R_ESP + 4))); } +void CFp_32(x64emu_t *emu, uintptr_t fcn) { CFp_t fn = (CFp_t)fcn; R_EAX = (unsigned char)fn(from_ptriv(R_ESP + 4)); } +void WFu_32(x64emu_t *emu, uintptr_t fcn) { WFu_t fn = (WFu_t)fcn; R_EAX = (unsigned short)fn(from_ptri(uint32_t, R_ESP + 4)); } void uFv_32(x64emu_t *emu, uintptr_t fcn) { uFv_t fn = (uFv_t)fcn; R_EAX = (uint32_t)fn(); } +void uFi_32(x64emu_t *emu, uintptr_t fcn) { uFi_t fn = (uFi_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4)); } void uFu_32(x64emu_t *emu, uintptr_t fcn) { uFu_t fn = (uFu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4)); } void uFU_32(x64emu_t *emu, uintptr_t fcn) { uFU_t fn = (uFU_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint64_t, R_ESP + 4)); } void uFp_32(x64emu_t *emu, uintptr_t fcn) { uFp_t fn = (uFp_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4)); } +void UFu_32(x64emu_t *emu, uintptr_t fcn) { UFu_t fn = (UFu_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint32_t, R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void UFp_32(x64emu_t *emu, uintptr_t fcn) { UFp_t fn = (UFp_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void UFs_32(x64emu_t *emu, uintptr_t fcn) { UFs_t fn = (UFs_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptrv(R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void fFf_32(x64emu_t *emu, uintptr_t fcn) { fFf_t fn = (fFf_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4)); fpu_do_push(emu); ST0val = fl; } void dFv_32(x64emu_t *emu, uintptr_t fcn) { dFv_t fn = (dFv_t)fcn; double db = fn(); fpu_do_push(emu); ST0val = db; } void dFd_32(x64emu_t *emu, uintptr_t fcn) { dFd_t fn = (dFd_t)fcn; double db = fn(from_ptri(double, R_ESP + 4)); fpu_do_push(emu); ST0val = db; } void lFi_32(x64emu_t *emu, uintptr_t fcn) { lFi_t fn = (lFi_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4))); } +void lFu_32(x64emu_t *emu, uintptr_t fcn) { lFu_t fn = (lFu_t)fcn; R_EAX = to_long(fn(from_ptri(uint32_t, R_ESP + 4))); } void lFp_32(x64emu_t *emu, uintptr_t fcn) { lFp_t fn = (lFp_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4))); } void lFS_32(x64emu_t *emu, uintptr_t fcn) { lFS_t fn = (lFS_t)fcn; R_EAX = to_long(fn(io_convert32(from_ptriv(R_ESP + 4)))); } void LFv_32(x64emu_t *emu, uintptr_t fcn) { LFv_t fn = (LFv_t)fcn; R_EAX = to_ulong(fn()); } @@ -417,6 +995,37 @@ void pFrL__32(x64emu_t *emu, uintptr_t fcn) { pFrL__t fn = (pFrL__t)fcn; struct_ void LFriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFriiiiiiiiilt__t fn = (LFriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_4; from_struct_iiiiiiiiilt(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ulong(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } void vFEv_32(x64emu_t *emu, uintptr_t fcn) { vFEv_t fn = (vFEv_t)fcn; fn(emu); } void vFEp_32(x64emu_t *emu, uintptr_t fcn) { vFEp_t fn = (vFEp_t)fcn; fn(emu, from_ptriv(R_ESP + 4)); } +void vFcc_32(x64emu_t *emu, uintptr_t fcn) { vFcc_t fn = (vFcc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8)); } +void vFww_32(x64emu_t *emu, uintptr_t fcn) { vFww_t fn = (vFww_t)fcn; fn(from_ptri(int16_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8)); } +void vFii_32(x64emu_t *emu, uintptr_t fcn) { vFii_t fn = (vFii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } +void vFiI_32(x64emu_t *emu, uintptr_t fcn) { vFiI_t fn = (vFiI_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8)); } +void vFiW_32(x64emu_t *emu, uintptr_t fcn) { vFiW_t fn = (vFiW_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8)); } +void vFiu_32(x64emu_t *emu, uintptr_t fcn) { vFiu_t fn = (vFiu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } +void vFiU_32(x64emu_t *emu, uintptr_t fcn) { vFiU_t fn = (vFiU_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8)); } +void vFif_32(x64emu_t *emu, uintptr_t fcn) { vFif_t fn = (vFif_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8)); } +void vFid_32(x64emu_t *emu, uintptr_t fcn) { vFid_t fn = (vFid_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8)); } +void vFip_32(x64emu_t *emu, uintptr_t fcn) { vFip_t fn = (vFip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } +void vFWW_32(x64emu_t *emu, uintptr_t fcn) { vFWW_t fn = (vFWW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8)); } +void vFuc_32(x64emu_t *emu, uintptr_t fcn) { vFuc_t fn = (vFuc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8)); } +void vFuw_32(x64emu_t *emu, uintptr_t fcn) { vFuw_t fn = (vFuw_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8)); } +void vFui_32(x64emu_t *emu, uintptr_t fcn) { vFui_t fn = (vFui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } +void vFuI_32(x64emu_t *emu, uintptr_t fcn) { vFuI_t fn = (vFuI_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8)); } +void vFuC_32(x64emu_t *emu, uintptr_t fcn) { vFuC_t fn = (vFuC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8)); } +void vFuW_32(x64emu_t *emu, uintptr_t fcn) { vFuW_t fn = (vFuW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8)); } +void vFuu_32(x64emu_t *emu, uintptr_t fcn) { vFuu_t fn = (vFuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } +void vFuU_32(x64emu_t *emu, uintptr_t fcn) { vFuU_t fn = (vFuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8)); } +void vFuf_32(x64emu_t *emu, uintptr_t fcn) { vFuf_t fn = (vFuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8)); } +void vFud_32(x64emu_t *emu, uintptr_t fcn) { vFud_t fn = (vFud_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8)); } +void vFul_32(x64emu_t *emu, uintptr_t fcn) { vFul_t fn = (vFul_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8))); } +void vFup_32(x64emu_t *emu, uintptr_t fcn) { vFup_t fn = (vFup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } +void vFUu_32(x64emu_t *emu, uintptr_t fcn) { vFUu_t fn = (vFUu_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 12)); } +void vFfC_32(x64emu_t *emu, uintptr_t fcn) { vFfC_t fn = (vFfC_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8)); } +void vFff_32(x64emu_t *emu, uintptr_t fcn) { vFff_t fn = (vFff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8)); } +void vFdd_32(x64emu_t *emu, uintptr_t fcn) { vFdd_t fn = (vFdd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12)); } +void vFlu_32(x64emu_t *emu, uintptr_t fcn) { vFlu_t fn = (vFlu_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8)); } +void vFlp_32(x64emu_t *emu, uintptr_t fcn) { vFlp_t fn = (vFlp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8)); } +void vFpp_32(x64emu_t *emu, uintptr_t fcn) { vFpp_t fn = (vFpp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); } +void wFpi_32(x64emu_t *emu, uintptr_t fcn) { wFpi_t fn = (wFpi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } void iFEv_32(x64emu_t *emu, uintptr_t fcn) { iFEv_t fn = (iFEv_t)fcn; R_EAX = fn(emu); } void iFEi_32(x64emu_t *emu, uintptr_t fcn) { iFEi_t fn = (iFEi_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4)); } void iFEL_32(x64emu_t *emu, uintptr_t fcn) { iFEL_t fn = (iFEL_t)fcn; R_EAX = fn(emu, to_ulong(from_ptri(ulong_t, R_ESP + 4))); } @@ -443,10 +1052,19 @@ void iFhi_32(x64emu_t *emu, uintptr_t fcn) { iFhi_t fn = (iFhi_t)fcn; R_EAX = fn void iFhp_32(x64emu_t *emu, uintptr_t fcn) { iFhp_t fn = (iFhp_t)fcn; R_EAX = fn(from_hash(from_ptri(ptr_t, R_ESP + 4)), from_ptriv(R_ESP + 8)); } void iFhh_32(x64emu_t *emu, uintptr_t fcn) { iFhh_t fn = (iFhh_t)fcn; R_EAX = fn(from_hash(from_ptri(ptr_t, R_ESP + 4)), from_hash(from_ptri(ptr_t, R_ESP + 8))); } void IFII_32(x64emu_t *emu, uintptr_t fcn) { IFII_t fn = (IFII_t)fcn; ui64_t r; r.i = fn(from_ptri(int64_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; } +void CFip_32(x64emu_t *emu, uintptr_t fcn) { CFip_t fn = (CFip_t)fcn; R_EAX = (unsigned char)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } +void CFuu_32(x64emu_t *emu, uintptr_t fcn) { CFuu_t fn = (CFuu_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } +void CFuU_32(x64emu_t *emu, uintptr_t fcn) { CFuU_t fn = (CFuU_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8)); } +void CFpi_32(x64emu_t *emu, uintptr_t fcn) { CFpi_t fn = (CFpi_t)fcn; R_EAX = (unsigned char)fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } void uFEu_32(x64emu_t *emu, uintptr_t fcn) { uFEu_t fn = (uFEu_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptri(uint32_t, R_ESP + 4)); } void uFEV_32(x64emu_t *emu, uintptr_t fcn) { uFEV_t fn = (uFEV_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptrv(R_ESP + 4)); } +void uFuu_32(x64emu_t *emu, uintptr_t fcn) { uFuu_t fn = (uFuu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } +void uFup_32(x64emu_t *emu, uintptr_t fcn) { uFup_t fn = (uFup_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } +void uFpi_32(x64emu_t *emu, uintptr_t fcn) { uFpi_t fn = (uFpi_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } +void uFpp_32(x64emu_t *emu, uintptr_t fcn) { uFpp_t fn = (uFpp_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); } void uFpa_32(x64emu_t *emu, uintptr_t fcn) { uFpa_t fn = (uFpa_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8))); } void UFii_32(x64emu_t *emu, uintptr_t fcn) { UFii_t fn = (UFii_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); R_EAX = r.d[0]; R_EDX = r.d[1]; } +void UFuu_32(x64emu_t *emu, uintptr_t fcn) { UFuu_t fn = (UFuu_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void UFUU_32(x64emu_t *emu, uintptr_t fcn) { UFUU_t fn = (UFUU_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void UFss_32(x64emu_t *emu, uintptr_t fcn) { UFss_t fn = (UFss_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptrv(R_ESP + 4), from_ptrv(R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void fFif_32(x64emu_t *emu, uintptr_t fcn) { fFif_t fn = (fFif_t)fcn; float fl = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; } @@ -459,15 +1077,19 @@ void dFdi_32(x64emu_t *emu, uintptr_t fcn) { dFdi_t fn = (dFdi_t)fcn; double db void dFdd_32(x64emu_t *emu, uintptr_t fcn) { dFdd_t fn = (dFdd_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12)); fpu_do_push(emu); ST0val = db; } void dFdD_32(x64emu_t *emu, uintptr_t fcn) { dFdD_t fn = (dFdD_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), LD2localLD(from_ptrv(R_ESP + 12))); fpu_do_push(emu); ST0val = db; } void dFdp_32(x64emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = db; } +void lFui_32(x64emu_t *emu, uintptr_t fcn) { lFui_t fn = (lFui_t)fcn; R_EAX = to_long(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); } void LFpL_32(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); } void LFpp_32(x64emu_t *emu, uintptr_t fcn) { LFpp_t fn = (LFpp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); } void pFEv_32(x64emu_t *emu, uintptr_t fcn) { pFEv_t fn = (pFEv_t)fcn; R_EAX = to_ptrv(fn(emu)); } void pFEu_32(x64emu_t *emu, uintptr_t fcn) { pFEu_t fn = (pFEu_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(uint32_t, R_ESP + 4))); } void pFEp_32(x64emu_t *emu, uintptr_t fcn) { pFEp_t fn = (pFEp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4))); } void pFES_32(x64emu_t *emu, uintptr_t fcn) { pFES_t fn = (pFES_t)fcn; R_EAX = to_ptrv(fn(emu, io_convert32(from_ptriv(R_ESP + 4)))); } +void pFiu_32(x64emu_t *emu, uintptr_t fcn) { pFiu_t fn = (pFiu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pFia_32(x64emu_t *emu, uintptr_t fcn) { pFia_t fn = (pFia_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8)))); } +void pFuu_32(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pFLL_32(x64emu_t *emu, uintptr_t fcn) { pFLL_t fn = (pFLL_t)fcn; R_EAX = to_ptrv(fn(to_ulong(from_ptri(ulong_t, R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); } void pFpi_32(x64emu_t *emu, uintptr_t fcn) { pFpi_t fn = (pFpi_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); } +void pFpu_32(x64emu_t *emu, uintptr_t fcn) { pFpu_t fn = (pFpu_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); } void pFpL_32(x64emu_t *emu, uintptr_t fcn) { pFpL_t fn = (pFpL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); } void pFpp_32(x64emu_t *emu, uintptr_t fcn) { pFpp_t fn = (pFpp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); } void SFpp_32(x64emu_t *emu, uintptr_t fcn) { SFpp_t fn = (SFpp_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)))); } @@ -486,9 +1108,65 @@ void pFriiiiiiiiilt_p_32(x64emu_t *emu, uintptr_t fcn) { pFriiiiiiiiilt_p_t fn = void vFEip_32(x64emu_t *emu, uintptr_t fcn) { vFEip_t fn = (vFEip_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } void vFEpi_32(x64emu_t *emu, uintptr_t fcn) { vFEpi_t fn = (vFEpi_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } void vFEpu_32(x64emu_t *emu, uintptr_t fcn) { vFEpu_t fn = (vFEpu_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); } +void vFEpp_32(x64emu_t *emu, uintptr_t fcn) { vFEpp_t fn = (vFEpp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); } +void vFccc_32(x64emu_t *emu, uintptr_t fcn) { vFccc_t fn = (vFccc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12)); } +void vFwww_32(x64emu_t *emu, uintptr_t fcn) { vFwww_t fn = (vFwww_t)fcn; fn(from_ptri(int16_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12)); } +void vFiii_32(x64emu_t *emu, uintptr_t fcn) { vFiii_t fn = (vFiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } +void vFiif_32(x64emu_t *emu, uintptr_t fcn) { vFiif_t fn = (vFiif_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); } +void vFiip_32(x64emu_t *emu, uintptr_t fcn) { vFiip_t fn = (vFiip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFiII_32(x64emu_t *emu, uintptr_t fcn) { vFiII_t fn = (vFiII_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16)); } +void vFiui_32(x64emu_t *emu, uintptr_t fcn) { vFiui_t fn = (vFiui_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } +void vFiuu_32(x64emu_t *emu, uintptr_t fcn) { vFiuu_t fn = (vFiuu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void vFiup_32(x64emu_t *emu, uintptr_t fcn) { vFiup_t fn = (vFiup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFiUU_32(x64emu_t *emu, uintptr_t fcn) { vFiUU_t fn = (vFiUU_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16)); } +void vFiff_32(x64emu_t *emu, uintptr_t fcn) { vFiff_t fn = (vFiff_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); } +void vFidd_32(x64emu_t *emu, uintptr_t fcn) { vFidd_t fn = (vFidd_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16)); } +void vFilu_32(x64emu_t *emu, uintptr_t fcn) { vFilu_t fn = (vFilu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12)); } +void vFill_32(x64emu_t *emu, uintptr_t fcn) { vFill_t fn = (vFill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12))); } +void vFilp_32(x64emu_t *emu, uintptr_t fcn) { vFilp_t fn = (vFilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } +void vFipi_32(x64emu_t *emu, uintptr_t fcn) { vFipi_t fn = (vFipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } +void vFipu_32(x64emu_t *emu, uintptr_t fcn) { vFipu_t fn = (vFipu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void vFipp_32(x64emu_t *emu, uintptr_t fcn) { vFipp_t fn = (vFipp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFCCC_32(x64emu_t *emu, uintptr_t fcn) { vFCCC_t fn = (vFCCC_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12)); } +void vFWWW_32(x64emu_t *emu, uintptr_t fcn) { vFWWW_t fn = (vFWWW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12)); } +void vFucc_32(x64emu_t *emu, uintptr_t fcn) { vFucc_t fn = (vFucc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12)); } +void vFuww_32(x64emu_t *emu, uintptr_t fcn) { vFuww_t fn = (vFuww_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12)); } +void vFuii_32(x64emu_t *emu, uintptr_t fcn) { vFuii_t fn = (vFuii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } +void vFuiI_32(x64emu_t *emu, uintptr_t fcn) { vFuiI_t fn = (vFuiI_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12)); } +void vFuiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiu_t fn = (vFuiu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void vFuiU_32(x64emu_t *emu, uintptr_t fcn) { vFuiU_t fn = (vFuiU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); } +void vFuif_32(x64emu_t *emu, uintptr_t fcn) { vFuif_t fn = (vFuif_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); } +void vFuid_32(x64emu_t *emu, uintptr_t fcn) { vFuid_t fn = (vFuid_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(double, R_ESP + 12)); } +void vFuip_32(x64emu_t *emu, uintptr_t fcn) { vFuip_t fn = (vFuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFuII_32(x64emu_t *emu, uintptr_t fcn) { vFuII_t fn = (vFuII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16)); } +void vFuWW_32(x64emu_t *emu, uintptr_t fcn) { vFuWW_t fn = (vFuWW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12)); } +void vFuui_32(x64emu_t *emu, uintptr_t fcn) { vFuui_t fn = (vFuui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } +void vFuuC_32(x64emu_t *emu, uintptr_t fcn) { vFuuC_t fn = (vFuuC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12)); } +void vFuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuu_t fn = (vFuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void vFuuU_32(x64emu_t *emu, uintptr_t fcn) { vFuuU_t fn = (vFuuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); } +void vFuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuuf_t fn = (vFuuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); } +void vFuud_32(x64emu_t *emu, uintptr_t fcn) { vFuud_t fn = (vFuud_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(double, R_ESP + 12)); } +void vFuup_32(x64emu_t *emu, uintptr_t fcn) { vFuup_t fn = (vFuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFuUU_32(x64emu_t *emu, uintptr_t fcn) { vFuUU_t fn = (vFuUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16)); } +void vFuff_32(x64emu_t *emu, uintptr_t fcn) { vFuff_t fn = (vFuff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); } +void vFudd_32(x64emu_t *emu, uintptr_t fcn) { vFudd_t fn = (vFudd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16)); } +void vFull_32(x64emu_t *emu, uintptr_t fcn) { vFull_t fn = (vFull_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12))); } +void vFulp_32(x64emu_t *emu, uintptr_t fcn) { vFulp_t fn = (vFulp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } +void vFupp_32(x64emu_t *emu, uintptr_t fcn) { vFupp_t fn = (vFupp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFfff_32(x64emu_t *emu, uintptr_t fcn) { vFfff_t fn = (vFfff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); } void vFfpp_32(x64emu_t *emu, uintptr_t fcn) { vFfpp_t fn = (vFfpp_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFddd_32(x64emu_t *emu, uintptr_t fcn) { vFddd_t fn = (vFddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20)); } void vFdpp_32(x64emu_t *emu, uintptr_t fcn) { vFdpp_t fn = (vFdpp_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFlii_32(x64emu_t *emu, uintptr_t fcn) { vFlii_t fn = (vFlii_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } +void vFlip_32(x64emu_t *emu, uintptr_t fcn) { vFlip_t fn = (vFlip_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFllp_32(x64emu_t *emu, uintptr_t fcn) { vFllp_t fn = (vFllp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } +void vFlpp_32(x64emu_t *emu, uintptr_t fcn) { vFlpp_t fn = (vFlpp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFpip_32(x64emu_t *emu, uintptr_t fcn) { vFpip_t fn = (vFpip_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFpuU_32(x64emu_t *emu, uintptr_t fcn) { vFpuU_t fn = (vFpuU_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); } +void vFplp_32(x64emu_t *emu, uintptr_t fcn) { vFplp_t fn = (vFplp_t)fcn; fn(from_ptriv(R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } +void vFppi_32(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void vFppu_32(x64emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void vFppp_32(x64emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFEip_32(x64emu_t *emu, uintptr_t fcn) { iFEip_t fn = (iFEip_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); } void iFEpi_32(x64emu_t *emu, uintptr_t fcn) { iFEpi_t fn = (iFEpi_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } void iFEpL_32(x64emu_t *emu, uintptr_t fcn) { iFEpL_t fn = (iFEpL_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8))); } @@ -508,12 +1186,18 @@ void iFipu_32(x64emu_t *emu, uintptr_t fcn) { iFipu_t fn = (iFipu_t)fcn; R_EAX = void iFipL_32(x64emu_t *emu, uintptr_t fcn) { iFipL_t fn = (iFipL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12))); } void iFipp_32(x64emu_t *emu, uintptr_t fcn) { iFipp_t fn = (iFipp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFuii_32(x64emu_t *emu, uintptr_t fcn) { iFuii_t fn = (iFuii_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)); } +void iFuip_32(x64emu_t *emu, uintptr_t fcn) { iFuip_t fn = (iFuip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFuui_32(x64emu_t *emu, uintptr_t fcn) { iFuui_t fn = (iFuui_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void iFuuu_32(x64emu_t *emu, uintptr_t fcn) { iFuuu_t fn = (iFuuu_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void iFuup_32(x64emu_t *emu, uintptr_t fcn) { iFuup_t fn = (iFuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFuLp_32(x64emu_t *emu, uintptr_t fcn) { iFuLp_t fn = (iFuLp_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } +void iFfff_32(x64emu_t *emu, uintptr_t fcn) { iFfff_t fn = (iFfff_t)fcn; R_EAX = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); } void iFpiu_32(x64emu_t *emu, uintptr_t fcn) { iFpiu_t fn = (iFpiu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } void iFpip_32(x64emu_t *emu, uintptr_t fcn) { iFpip_t fn = (iFpip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void iFpuC_32(x64emu_t *emu, uintptr_t fcn) { iFpuC_t fn = (iFpuC_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12)); } void iFpuu_32(x64emu_t *emu, uintptr_t fcn) { iFpuu_t fn = (iFpuu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void iFpuU_32(x64emu_t *emu, uintptr_t fcn) { iFpuU_t fn = (iFpuU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); } +void iFpup_32(x64emu_t *emu, uintptr_t fcn) { iFpup_t fn = (iFpup_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpLi_t fn = (iFpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); } void iFppi_32(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void iFppu_32(x64emu_t *emu, uintptr_t fcn) { iFppu_t fn = (iFppu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } @@ -527,6 +1211,17 @@ void iFhpp_32(x64emu_t *emu, uintptr_t fcn) { iFhpp_t fn = (iFhpp_t)fcn; R_EAX = void iFSIi_32(x64emu_t *emu, uintptr_t fcn) { iFSIi_t fn = (iFSIi_t)fcn; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), from_ptri(int64_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 16)); } void iFSli_32(x64emu_t *emu, uintptr_t fcn) { iFSli_t fn = (iFSli_t)fcn; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); } void IFiIi_32(x64emu_t *emu, uintptr_t fcn) { IFiIi_t fn = (IFiIi_t)fcn; ui64_t r; r.i = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; } +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 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), to_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)); } +void uFuip_32(x64emu_t *emu, uintptr_t fcn) { uFuip_t fn = (uFuip_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void uFuuu_32(x64emu_t *emu, uintptr_t fcn) { uFuuu_t fn = (uFuuu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); } +void uFuup_32(x64emu_t *emu, uintptr_t fcn) { uFuup_t fn = (uFuup_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void uFupp_32(x64emu_t *emu, uintptr_t fcn) { uFupp_t fn = (uFupp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void uFpuU_32(x64emu_t *emu, uintptr_t fcn) { uFpuU_t fn = (uFpuU_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); } +void fFuii_32(x64emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; float fl = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; } void fFfff_32(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; } void fFffp_32(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; } void fFppa_32(x64emu_t *emu, uintptr_t fcn) { fFppa_t fn = (fFppa_t)fcn; float fl = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = fl; } @@ -540,11 +1235,16 @@ void pFEip_32(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_EAX = void pFEpi_32(x64emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); } void pFEpp_32(x64emu_t *emu, uintptr_t fcn) { pFEpp_t fn = (pFEpp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); } void pFipi_32(x64emu_t *emu, uintptr_t fcn) { pFipi_t fn = (pFipi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } +void pFulu_32(x64emu_t *emu, uintptr_t fcn) { pFulu_t fn = (pFulu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12))); } void pFpii_32(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } void pFpiL_32(x64emu_t *emu, uintptr_t fcn) { pFpiL_t fn = (pFpiL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); } +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 pFpuL_32(x64emu_t *emu, uintptr_t fcn) { pFpuL_t fn = (pFpuL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_ulong(from_ptri(ulong_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), to_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 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)))); } void SFEpp_32(x64emu_t *emu, uintptr_t fcn) { SFEpp_t fn = (SFEpp_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)))); } @@ -559,10 +1259,87 @@ 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; 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; 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 pFppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { pFppriiiiiiiiilt__t fn = (pFppriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_12; from_struct_iiiiiiiiilt(&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)); } +void vFEipp_32(x64emu_t *emu, uintptr_t fcn) { vFEipp_t fn = (vFEipp_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void vFEipV_32(x64emu_t *emu, uintptr_t fcn) { vFEipV_t fn = (vFEipV_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptrv(R_ESP + 12)); } void vFEpup_32(x64emu_t *emu, uintptr_t fcn) { vFEpup_t fn = (vFEpup_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void vFEppp_32(x64emu_t *emu, uintptr_t fcn) { vFEppp_t fn = (vFEppp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } +void vFcccc_32(x64emu_t *emu, uintptr_t fcn) { vFcccc_t fn = (vFcccc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12), from_ptri(int8_t, R_ESP + 16)); } +void vFwwww_32(x64emu_t *emu, uintptr_t fcn) { vFwwww_t fn = (vFwwww_t)fcn; fn(from_ptri(int16_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12), from_ptri(int16_t, R_ESP + 16)); } +void vFiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiii_t fn = (vFiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFiiip_32(x64emu_t *emu, uintptr_t fcn) { vFiiip_t fn = (vFiiip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFiiCp_t fn = (vFiiCp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFiill_32(x64emu_t *emu, uintptr_t fcn) { vFiill_t fn = (vFiill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16))); } +void vFiIII_32(x64emu_t *emu, uintptr_t fcn) { vFiIII_t fn = (vFiIII_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16), from_ptri(int64_t, R_ESP + 24)); } +void vFiuip_32(x64emu_t *emu, uintptr_t fcn) { vFiuip_t fn = (vFiuip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFiuuu_32(x64emu_t *emu, uintptr_t fcn) { vFiuuu_t fn = (vFiuuu_t)fcn; fn(from_ptri(int32_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)); } +void vFiulp_32(x64emu_t *emu, uintptr_t fcn) { vFiulp_t fn = (vFiulp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } +void vFiUUU_32(x64emu_t *emu, uintptr_t fcn) { vFiUUU_t fn = (vFiUUU_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 24)); } +void vFifff_32(x64emu_t *emu, uintptr_t fcn) { vFifff_t fn = (vFifff_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); } +void vFiddd_32(x64emu_t *emu, uintptr_t fcn) { vFiddd_t fn = (vFiddd_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24)); } +void vFilip_32(x64emu_t *emu, uintptr_t fcn) { vFilip_t fn = (vFilip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFilpu_32(x64emu_t *emu, uintptr_t fcn) { vFilpu_t fn = (vFilpu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void vFilpp_32(x64emu_t *emu, uintptr_t fcn) { vFilpp_t fn = (vFilpp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFipup_32(x64emu_t *emu, uintptr_t fcn) { vFipup_t fn = (vFipup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFipll_32(x64emu_t *emu, uintptr_t fcn) { vFipll_t fn = (vFipll_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16))); } +void vFCCCC_32(x64emu_t *emu, uintptr_t fcn) { vFCCCC_t fn = (vFCCCC_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16)); } +void vFWWWW_32(x64emu_t *emu, uintptr_t fcn) { vFWWWW_t fn = (vFWWWW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16)); } +void vFuccc_32(x64emu_t *emu, uintptr_t fcn) { vFuccc_t fn = (vFuccc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12), from_ptri(int8_t, R_ESP + 16)); } +void vFuwww_32(x64emu_t *emu, uintptr_t fcn) { vFuwww_t fn = (vFuwww_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12), from_ptri(int16_t, R_ESP + 16)); } +void vFuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiii_t fn = (vFuiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFuiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiip_t fn = (vFuiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFuiII_32(x64emu_t *emu, uintptr_t fcn) { vFuiII_t fn = (vFuiII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20)); } +void vFuiui_32(x64emu_t *emu, uintptr_t fcn) { vFuiui_t fn = (vFuiui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFuiuC_32(x64emu_t *emu, uintptr_t fcn) { vFuiuC_t fn = (vFuiuC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16)); } +void vFuiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuu_t fn = (vFuiuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void vFuiup_32(x64emu_t *emu, uintptr_t fcn) { vFuiup_t fn = (vFuiup_t)fcn; 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)); } +void vFuiUU_32(x64emu_t *emu, uintptr_t fcn) { vFuiUU_t fn = (vFuiUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 20)); } +void vFuifi_32(x64emu_t *emu, uintptr_t fcn) { vFuifi_t fn = (vFuifi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFuiff_32(x64emu_t *emu, uintptr_t fcn) { vFuiff_t fn = (vFuiff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); } +void vFuidd_32(x64emu_t *emu, uintptr_t fcn) { vFuidd_t fn = (vFuidd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20)); } +void vFuilp_32(x64emu_t *emu, uintptr_t fcn) { vFuilp_t fn = (vFuilp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } +void vFuipi_32(x64emu_t *emu, uintptr_t fcn) { vFuipi_t fn = (vFuipi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFuipu_32(x64emu_t *emu, uintptr_t fcn) { vFuipu_t fn = (vFuipu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void vFuipp_32(x64emu_t *emu, uintptr_t fcn) { vFuipp_t fn = (vFuipp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFuIII_32(x64emu_t *emu, uintptr_t fcn) { vFuIII_t fn = (vFuIII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16), from_ptri(int64_t, R_ESP + 24)); } +void vFuWWW_32(x64emu_t *emu, uintptr_t fcn) { vFuWWW_t fn = (vFuWWW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16)); } +void vFuuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuii_t fn = (vFuuii_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)); } +void vFuuiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiu_t fn = (vFuuiu_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(uint32_t, R_ESP + 16)); } +void vFuuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuil_t fn = (vFuuil_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16))); } +void vFuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuip_t fn = (vFuuip_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_ptriv(R_ESP + 16)); } +void vFuuCu_32(x64emu_t *emu, uintptr_t fcn) { vFuuCu_t fn = (vFuuCu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void vFuuCp_32(x64emu_t *emu, uintptr_t fcn) { vFuuCp_t fn = (vFuuCp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFuuui_32(x64emu_t *emu, uintptr_t fcn) { vFuuui_t fn = (vFuuui_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(int32_t, R_ESP + 16)); } +void vFuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuu_t fn = (vFuuuu_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)); } +void vFuuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuuuf_t fn = (vFuuuf_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)); } +void vFuuud_32(x64emu_t *emu, uintptr_t fcn) { vFuuud_t fn = (vFuuud_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(double, R_ESP + 16)); } +void vFuuul_32(x64emu_t *emu, uintptr_t fcn) { vFuuul_t fn = (vFuuul_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16))); } +void vFuuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuup_t fn = (vFuuup_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_ptriv(R_ESP + 16)); } +void vFuuUl_32(x64emu_t *emu, uintptr_t fcn) { vFuuUl_t fn = (vFuuUl_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFuuff_32(x64emu_t *emu, uintptr_t fcn) { vFuuff_t fn = (vFuuff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); } +void vFuuli_32(x64emu_t *emu, uintptr_t fcn) { vFuuli_t fn = (vFuuli_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16)); } +void vFuupi_32(x64emu_t *emu, uintptr_t fcn) { vFuupi_t fn = (vFuupi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFuupp_32(x64emu_t *emu, uintptr_t fcn) { vFuupp_t fn = (vFuupp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFuUui_32(x64emu_t *emu, uintptr_t fcn) { vFuUui_t fn = (vFuUui_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(int32_t, R_ESP + 20)); } +void vFuUup_32(x64emu_t *emu, uintptr_t fcn) { vFuUup_t fn = (vFuUup_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_ptriv(R_ESP + 20)); } +void vFuUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuUUU_t fn = (vFuUUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 24)); } +void vFufff_32(x64emu_t *emu, uintptr_t fcn) { vFufff_t fn = (vFufff_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)); } +void vFuddd_32(x64emu_t *emu, uintptr_t fcn) { vFuddd_t fn = (vFuddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24)); } +void vFuluU_32(x64emu_t *emu, uintptr_t fcn) { vFuluU_t fn = (vFuluU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); } +void vFullC_32(x64emu_t *emu, uintptr_t fcn) { vFullC_t fn = (vFullC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint8_t, R_ESP + 16)); } +void vFullp_32(x64emu_t *emu, uintptr_t fcn) { vFullp_t fn = (vFullp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } +void vFulpu_32(x64emu_t *emu, uintptr_t fcn) { vFulpu_t fn = (vFulpu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void vFulpp_32(x64emu_t *emu, uintptr_t fcn) { vFulpp_t fn = (vFulpp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFupii_32(x64emu_t *emu, uintptr_t fcn) { vFupii_t fn = (vFupii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFuppi_32(x64emu_t *emu, uintptr_t fcn) { vFuppi_t fn = (vFuppi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFuppu_32(x64emu_t *emu, uintptr_t fcn) { vFuppu_t fn = (vFuppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } +void vFffff_32(x64emu_t *emu, uintptr_t fcn) { vFffff_t fn = (vFffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); } +void vFdddd_32(x64emu_t *emu, uintptr_t fcn) { vFdddd_t fn = (vFdddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28)); } +void vFllii_32(x64emu_t *emu, uintptr_t fcn) { vFllii_t fn = (vFllii_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void vFpiii_32(x64emu_t *emu, uintptr_t fcn) { vFpiii_t fn = (vFpiii_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)); } +void vFpipp_32(x64emu_t *emu, uintptr_t fcn) { vFpipp_t fn = (vFpipp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFplpp_32(x64emu_t *emu, uintptr_t fcn) { vFplpp_t fn = (vFplpp_t)fcn; fn(from_ptriv(R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void vFppip_32(x64emu_t *emu, uintptr_t fcn) { vFppip_t fn = (vFppip_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(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 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)); } void iFEiiN_32(x64emu_t *emu, uintptr_t fcn) { iFEiiN_t fn = (iFEiiN_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)); } void iFEipp_32(x64emu_t *emu, uintptr_t fcn) { iFEipp_t fn = (iFEipp_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } @@ -584,18 +1361,39 @@ void iFiuui_32(x64emu_t *emu, uintptr_t fcn) { iFiuui_t fn = (iFiuui_t)fcn; R_EA void iFipii_32(x64emu_t *emu, uintptr_t fcn) { iFipii_t fn = (iFipii_t)fcn; R_EAX = fn(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 iFipup_32(x64emu_t *emu, uintptr_t fcn) { iFipup_t fn = (iFipup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFippi_32(x64emu_t *emu, uintptr_t fcn) { iFippi_t fn = (iFippi_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iFuiup_32(x64emu_t *emu, uintptr_t fcn) { iFuiup_t fn = (iFuiup_t)fcn; R_EAX = 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)); } void iFuupi_32(x64emu_t *emu, uintptr_t fcn) { iFuupi_t fn = (iFuupi_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iFpiip_32(x64emu_t *emu, uintptr_t fcn) { iFpiip_t fn = (iFpiip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFpipp_32(x64emu_t *emu, uintptr_t fcn) { iFpipp_t fn = (iFpipp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFpuup_32(x64emu_t *emu, uintptr_t fcn) { iFpuup_t fn = (iFpuup_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFpupp_32(x64emu_t *emu, uintptr_t fcn) { iFpupp_t fn = (iFpupp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFppii_32(x64emu_t *emu, uintptr_t fcn) { iFppii_t fn = (iFppii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iFppiU_32(x64emu_t *emu, uintptr_t fcn) { iFppiU_t fn = (iFppiU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); } +void iFppip_32(x64emu_t *emu, uintptr_t fcn) { iFppip_t fn = (iFppip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void iFpppi_32(x64emu_t *emu, uintptr_t fcn) { iFpppi_t fn = (iFpppi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } +void iFpppp_32(x64emu_t *emu, uintptr_t fcn) { iFpppp_t fn = (iFpppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } void iFhpiL_32(x64emu_t *emu, uintptr_t fcn) { iFhpiL_t fn = (iFhpiL_t)fcn; R_EAX = fn(from_hash(from_ptri(ptr_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16))); } +void CFuuff_32(x64emu_t *emu, uintptr_t fcn) { CFuuff_t fn = (CFuuff_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); } +void uFuuuu_32(x64emu_t *emu, uintptr_t fcn) { uFuuuu_t fn = (uFuuuu_t)fcn; R_EAX = (uint32_t)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)); } void lFEipi_32(x64emu_t *emu, uintptr_t fcn) { lFEipi_t fn = (lFEipi_t)fcn; R_EAX = to_long(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } void lFiipL_32(x64emu_t *emu, uintptr_t fcn) { lFiipL_t fn = (lFiipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); } void lFipLi_32(x64emu_t *emu, uintptr_t fcn) { lFipLi_t fn = (lFipLi_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16))); } +void lFpuip_32(x64emu_t *emu, uintptr_t fcn) { lFpuip_t fn = (lFpuip_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16))); } void LFpLLS_32(x64emu_t *emu, uintptr_t fcn) { LFpLLS_t fn = (LFpLLS_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), io_convert32(from_ptriv(R_ESP + 16)))); } void LFppLp_32(x64emu_t *emu, uintptr_t fcn) { LFppLp_t fn = (LFppLp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16))); } void LFppLa_32(x64emu_t *emu, uintptr_t fcn) { LFppLa_t fn = (LFppLa_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_locale(from_ptri(ptr_t, R_ESP + 16)))); } void 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 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), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16))); } +void pFullu_32(x64emu_t *emu, uintptr_t fcn) { pFullu_t fn = (pFullu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16))); } +void pFlfff_32(x64emu_t *emu, uintptr_t fcn) { pFlfff_t fn = (pFlfff_t)fcn; R_EAX = to_ptrv(fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16))); } +void pFpiii_32(x64emu_t *emu, uintptr_t fcn) { pFpiii_t fn = (pFpiii_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(int32_t, R_ESP + 16))); } void pFpiLL_32(x64emu_t *emu, uintptr_t fcn) { pFpiLL_t fn = (pFpiLL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); } +void pFpipp_32(x64emu_t *emu, uintptr_t fcn) { pFpipp_t fn = (pFpipp_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))); } void pFppLL_32(x64emu_t *emu, uintptr_t fcn) { pFppLL_t fn = (pFppLL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); } +void pFpppi_32(x64emu_t *emu, uintptr_t fcn) { pFpppi_t fn = (pFpppi_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); } +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 IFpBp_ii_32(x64emu_t *emu, uintptr_t fcn) { IFpBp_ii_t fn = (IFpBp_ii_t)fcn; struct_p_t arg_8; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void UFpBp_ii_32(x64emu_t *emu, uintptr_t fcn) { UFpBp_ii_t fn = (UFpBp_ii_t)fcn; struct_p_t arg_8; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void lFiibp_L_32(x64emu_t *emu, uintptr_t fcn) { lFiibp_L_t fn = (lFiibp_L_t)fcn; struct_p_t arg_12; from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 16)))); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } @@ -603,6 +1401,92 @@ void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_Lp_t fn = (LFpbp_Lp_t)fcn void iFEpprLL__32(x64emu_t *emu, uintptr_t fcn) { iFEpprLL__t fn = (iFEpprLL__t)fcn; struct_LL_t arg_12; from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); } void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt__t fn = (LFpLpriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_16; from_struct_iiiiiiiiilt(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL)); } void vFEpLLp_32(x64emu_t *emu, uintptr_t fcn) { vFEpLLp_t fn = (vFEpLLp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } +void vFiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiii_t fn = (vFiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFiiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiu_t fn = (vFiiiiu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFiiuii_32(x64emu_t *emu, uintptr_t fcn) { vFiiuii_t fn = (vFiiuii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiiuup_t fn = (vFiiuup_t)fcn; fn(from_ptri(int32_t, 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_ptriv(R_ESP + 20)); } +void vFiillu_32(x64emu_t *emu, uintptr_t fcn) { vFiillu_t fn = (vFiillu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(uint32_t, R_ESP + 20)); } +void vFiilll_32(x64emu_t *emu, uintptr_t fcn) { vFiilll_t fn = (vFiilll_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFiipll_32(x64emu_t *emu, uintptr_t fcn) { vFiipll_t fn = (vFiipll_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFiIIII_32(x64emu_t *emu, uintptr_t fcn) { vFiIIII_t fn = (vFiIIII_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16), from_ptri(int64_t, R_ESP + 24), from_ptri(int64_t, R_ESP + 32)); } +void vFiuiip_32(x64emu_t *emu, uintptr_t fcn) { vFiuiip_t fn = (vFiuiip_t)fcn; fn(from_ptri(int32_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_ptriv(R_ESP + 20)); } +void vFiuipi_32(x64emu_t *emu, uintptr_t fcn) { vFiuipi_t fn = (vFiuipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFiuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFiuuuu_t fn = (vFiuuuu_t)fcn; fn(from_ptri(int32_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)); } +void vFiulpp_32(x64emu_t *emu, uintptr_t fcn) { vFiulpp_t fn = (vFiulpp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFiUUUU_32(x64emu_t *emu, uintptr_t fcn) { vFiUUUU_t fn = (vFiUUUU_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 24), from_ptri(uint64_t, R_ESP + 32)); } +void vFiffff_32(x64emu_t *emu, uintptr_t fcn) { vFiffff_t fn = (vFiffff_t)fcn; fn(from_ptri(int32_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)); } +void vFidddd_32(x64emu_t *emu, uintptr_t fcn) { vFidddd_t fn = (vFidddd_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32)); } +void vFilill_32(x64emu_t *emu, uintptr_t fcn) { vFilill_t fn = (vFilill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFilipi_32(x64emu_t *emu, uintptr_t fcn) { vFilipi_t fn = (vFilipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFilipl_32(x64emu_t *emu, uintptr_t fcn) { vFilipl_t fn = (vFilipl_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFipipu_32(x64emu_t *emu, uintptr_t fcn) { vFipipu_t fn = (vFipipu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFipipp_32(x64emu_t *emu, uintptr_t fcn) { vFipipp_t fn = (vFipipp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFipupi_32(x64emu_t *emu, uintptr_t fcn) { vFipupi_t fn = (vFipupi_t)fcn; fn(from_ptri(int32_t, 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)); } +void vFucccc_32(x64emu_t *emu, uintptr_t fcn) { vFucccc_t fn = (vFucccc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12), from_ptri(int8_t, R_ESP + 16), from_ptri(int8_t, R_ESP + 20)); } +void vFuwwww_32(x64emu_t *emu, uintptr_t fcn) { vFuwwww_t fn = (vFuwwww_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12), from_ptri(int16_t, R_ESP + 16), from_ptri(int16_t, R_ESP + 20)); } +void vFuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiii_t fn = (vFuiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiu_t fn = (vFuiiiu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFuiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiip_t fn = (vFuiiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFuiiCp_t fn = (vFuiiCp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuiiup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiup_t fn = (vFuiiup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuiill_32(x64emu_t *emu, uintptr_t fcn) { vFuiill_t fn = (vFuiill_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFuiIII_32(x64emu_t *emu, uintptr_t fcn) { vFuiIII_t fn = (vFuiIII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28)); } +void vFuiuii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuii_t fn = (vFuiuii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuip_t fn = (vFuiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuiuCi_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCi_t fn = (vFuiuCi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuiuCu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCu_t fn = (vFuiuCu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFuiuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuuu_t fn = (vFuiuuu_t)fcn; fn(from_ptri(uint32_t, 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 vFuiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiuup_t fn = (vFuiuup_t)fcn; fn(from_ptri(uint32_t, 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_ptriv(R_ESP + 20)); } +void vFuiupi_32(x64emu_t *emu, uintptr_t fcn) { vFuiupi_t fn = (vFuiupi_t)fcn; 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_ptri(int32_t, R_ESP + 20)); } +void vFuiUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuiUUU_t fn = (vFuiUUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 20), from_ptri(uint64_t, R_ESP + 28)); } +void vFuifff_32(x64emu_t *emu, uintptr_t fcn) { vFuifff_t fn = (vFuifff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20)); } +void vFuiddd_32(x64emu_t *emu, uintptr_t fcn) { vFuiddd_t fn = (vFuiddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28)); } +void vFuipip_32(x64emu_t *emu, uintptr_t fcn) { vFuipip_t fn = (vFuipip_t)fcn; fn(from_ptri(uint32_t, 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)); } +void vFuipup_32(x64emu_t *emu, uintptr_t fcn) { vFuipup_t fn = (vFuipup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuippp_32(x64emu_t *emu, uintptr_t fcn) { vFuippp_t fn = (vFuippp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuIIII_32(x64emu_t *emu, uintptr_t fcn) { vFuIIII_t fn = (vFuIIII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16), from_ptri(int64_t, R_ESP + 24), from_ptri(int64_t, R_ESP + 32)); } +void vFuCCCC_32(x64emu_t *emu, uintptr_t fcn) { vFuCCCC_t fn = (vFuCCCC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20)); } +void vFuCuip_32(x64emu_t *emu, uintptr_t fcn) { vFuCuip_t fn = (vFuCuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuCuup_32(x64emu_t *emu, uintptr_t fcn) { vFuCuup_t fn = (vFuCuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuWWWW_32(x64emu_t *emu, uintptr_t fcn) { vFuWWWW_t fn = (vFuWWWW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16), from_ptri(uint16_t, R_ESP + 20)); } +void vFuuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiii_t fn = (vFuuiii_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)); } +void vFuuiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiip_t fn = (vFuuiip_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_ptriv(R_ESP + 20)); } +void vFuuiui_32(x64emu_t *emu, uintptr_t fcn) { vFuuiui_t fn = (vFuuiui_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(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuuiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuu_t fn = (vFuuiuu_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(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFuuiup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiup_t fn = (vFuuiup_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(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuuifi_32(x64emu_t *emu, uintptr_t fcn) { vFuuifi_t fn = (vFuuifi_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(float, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuuipC_32(x64emu_t *emu, uintptr_t fcn) { vFuuipC_t fn = (vFuuipC_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_ptriv(R_ESP + 16), from_ptri(uint8_t, R_ESP + 20)); } +void vFuuipu_32(x64emu_t *emu, uintptr_t fcn) { vFuuipu_t fn = (vFuuipu_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_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFuuipp_32(x64emu_t *emu, uintptr_t fcn) { vFuuipp_t fn = (vFuuipp_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_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuuuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuii_t fn = (vFuuuii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuuuiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiu_t fn = (vFuuuiu_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(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFuuuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuuil_t fn = (vFuuuil_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(int32_t, R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFuuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuuip_t fn = (vFuuuip_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(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuuuui_32(x64emu_t *emu, uintptr_t fcn) { vFuuuui_t fn = (vFuuuui_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(int32_t, R_ESP + 20)); } +void vFuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuu_t fn = (vFuuuuu_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)); } +void vFuuuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuuup_t fn = (vFuuuup_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_ptriv(R_ESP + 20)); } +void vFuuuli_32(x64emu_t *emu, uintptr_t fcn) { vFuuuli_t fn = (vFuuuli_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); } +void vFuuull_32(x64emu_t *emu, uintptr_t fcn) { vFuuull_t fn = (vFuuull_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFuulll_32(x64emu_t *emu, uintptr_t fcn) { vFuulll_t fn = (vFuulll_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); } +void vFuullp_32(x64emu_t *emu, uintptr_t fcn) { vFuullp_t fn = (vFuullp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); } +void vFuupii_32(x64emu_t *emu, uintptr_t fcn) { vFuupii_t fn = (vFuupii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuuppu_32(x64emu_t *emu, uintptr_t fcn) { vFuuppu_t fn = (vFuuppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFuUUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuUUUU_t fn = (vFuUUUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 24), from_ptri(uint64_t, R_ESP + 32)); } +void vFuffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffff_t fn = (vFuffff_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)); } +void vFudddd_32(x64emu_t *emu, uintptr_t fcn) { vFudddd_t fn = (vFudddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32)); } +void vFullpu_32(x64emu_t *emu, uintptr_t fcn) { vFullpu_t fn = (vFullpu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); } +void vFupiii_32(x64emu_t *emu, uintptr_t fcn) { vFupiii_t fn = (vFupiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFupupi_32(x64emu_t *emu, uintptr_t fcn) { vFupupi_t fn = (vFupupi_t)fcn; fn(from_ptri(uint32_t, 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)); } +void vFupupp_32(x64emu_t *emu, uintptr_t fcn) { vFupupp_t fn = (vFupupp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFuplii_32(x64emu_t *emu, uintptr_t fcn) { vFuplii_t fn = (vFuplii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void vFuppip_32(x64emu_t *emu, uintptr_t fcn) { vFuppip_t fn = (vFuppip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFfffff_32(x64emu_t *emu, uintptr_t fcn) { vFfffff_t fn = (vFfffff_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)); } +void vFluipp_32(x64emu_t *emu, uintptr_t fcn) { vFluipp_t fn = (vFluipp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFpilpp_32(x64emu_t *emu, uintptr_t fcn) { vFpilpp_t fn = (vFpilpp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFpuipp_32(x64emu_t *emu, uintptr_t fcn) { vFpuipp_t fn = (vFpuipp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void vFpppii_32(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn(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)); } +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 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 iFEpipp_32(x64emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_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)); } @@ -616,24 +1500,264 @@ void iFiiipu_32(x64emu_t *emu, uintptr_t fcn) { iFiiipu_t fn = (iFiiipu_t)fcn; R void iFiiipp_32(x64emu_t *emu, uintptr_t fcn) { iFiiipp_t fn = (iFiiipp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFiLLLL_32(x64emu_t *emu, uintptr_t fcn) { iFiLLLL_t fn = (iFiLLLL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), to_ulong(from_ptri(ulong_t, R_ESP + 20))); } void iFipLLi_32(x64emu_t *emu, uintptr_t fcn) { iFipLLi_t fn = (iFipLLi_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); } +void iFpiiip_32(x64emu_t *emu, uintptr_t fcn) { iFpiiip_t fn = (iFpiiip_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), from_ptriv(R_ESP + 20)); } +void iFpippp_32(x64emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void iFppipi_32(x64emu_t *emu, uintptr_t fcn) { iFppipi_t fn = (iFppipi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); } +void iFpppip_32(x64emu_t *emu, uintptr_t fcn) { iFpppip_t fn = (iFpppip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFpppup_32(x64emu_t *emu, uintptr_t fcn) { iFpppup_t fn = (iFpppup_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } +void iFppppp_32(x64emu_t *emu, uintptr_t fcn) { iFppppp_t fn = (iFppppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void IFppIII_32(x64emu_t *emu, uintptr_t fcn) { IFppIII_t fn = (IFppIII_t)fcn; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28)); R_EAX = r.d[0]; R_EDX = r.d[1]; } void uFpLLLS_32(x64emu_t *emu, uintptr_t fcn) { uFpLLLS_t fn = (uFpLLLS_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), io_convert32(from_ptriv(R_ESP + 20))); } +void UFuiCiu_32(x64emu_t *emu, uintptr_t fcn) { UFuiCiu_t fn = (UFuiCiu_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); R_EAX = r.d[0]; R_EDX = r.d[1]; } +void lFpuipC_32(x64emu_t *emu, uintptr_t fcn) { lFpuipC_t fn = (lFpuipC_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint8_t, R_ESP + 20))); } 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), to_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 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 pFpippp_32(x64emu_t *emu, uintptr_t fcn) { pFpippp_t fn = (pFpippp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); } +void pFppipi_32(x64emu_t *emu, uintptr_t fcn) { pFppipi_t fn = (pFppipi_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20))); } +void pFppuup_32(x64emu_t *emu, uintptr_t fcn) { pFppuup_t fn = (pFppuup_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); } +void pFppupp_32(x64emu_t *emu, uintptr_t fcn) { pFppupp_t fn = (pFppupp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); } +void pFpppip_32(x64emu_t *emu, uintptr_t fcn) { pFpppip_t fn = (pFpppip_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); } void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fcn) { iFEBh_ppp_t fn = (iFEBh_ppp_t)fcn; struct_h_t arg_4; R_EAX = fn(emu, *(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_h(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_LLp_t fn = (LFpbp_LLp_t)fcn; struct_p_t arg_8; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpBp_LLp_t fn = (LFpBp_LLp_t)fcn; struct_p_t arg_8; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFippprLL__32(x64emu_t *emu, uintptr_t fcn) { iFippprLL__t fn = (iFippprLL__t)fcn; struct_LL_t arg_20; from_struct_LL(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL); } void LFLbp_bL_Bp_BL__32(x64emu_t *emu, uintptr_t fcn) { LFLbp_bL_Bp_BL__t fn = (LFLbp_bL_Bp_BL__t)fcn; struct_p_t arg_8; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_L_t arg_12; from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_p_t arg_16; struct_L_t arg_20; R_EAX = to_ulong(fn(to_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, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(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); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } void LFpLpriiiiiiiiilt_a_32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt_a_t fn = (LFpLpriiiiiiiiilt_a_t)fcn; struct_iiiiiiiiilt_t arg_16; from_struct_iiiiiiiiilt(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_locale(from_ptri(ptr_t, R_ESP + 20)))); } +void vFiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFiiiuil_32(x64emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24))); } +void vFiiilpi_32(x64emu_t *emu, uintptr_t fcn) { vFiiilpi_t fn = (vFiiilpi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFiiuilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiuilp_t fn = (vFiiuilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptriv(R_ESP + 24)); } +void vFiffiff_32(x64emu_t *emu, uintptr_t fcn) { vFiffiff_t fn = (vFiffiff_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24)); } +void vFiddidd_32(x64emu_t *emu, uintptr_t fcn) { vFiddidd_t fn = (vFiddidd_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(int32_t, R_ESP + 24), from_ptri(double, R_ESP + 28), from_ptri(double, R_ESP + 36)); } +void vFilipli_32(x64emu_t *emu, uintptr_t fcn) { vFilipli_t fn = (vFilipli_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24)); } +void vFiliplu_32(x64emu_t *emu, uintptr_t fcn) { vFiliplu_t fn = (vFiliplu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(uint32_t, R_ESP + 24)); } +void vFipiplp_32(x64emu_t *emu, uintptr_t fcn) { vFipiplp_t fn = (vFipiplp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptriv(R_ESP + 24)); } +void vFCCCCff_32(x64emu_t *emu, uintptr_t fcn) { vFCCCCff_t fn = (vFCCCCff_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24)); } +void vFuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiii_t fn = (vFuiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuiiuii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiuii_t fn = (vFuiiuii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiuup_t fn = (vFuiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuiIIII_32(x64emu_t *emu, uintptr_t fcn) { vFuiIIII_t fn = (vFuiIIII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28), from_ptri(int64_t, R_ESP + 36)); } +void vFuiuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiii_t fn = (vFuiuiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuiuiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiC_t fn = (vFuiuiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24)); } +void vFuiuiil_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiil_t fn = (vFuiuiil_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24))); } +void vFuiuiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiuu_t fn = (vFuiuiuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_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)); } +void vFuiuiuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiuU_t fn = (vFuiuiuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint64_t, R_ESP + 24)); } +void vFuiuCip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCip_t fn = (vFuiuCip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuiuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuuip_t fn = (vFuiuuip_t)fcn; fn(from_ptri(uint32_t, 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(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuiuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuuuu_t fn = (vFuiuuuu_t)fcn; fn(from_ptri(uint32_t, 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), from_ptri(uint32_t, R_ESP + 24)); } +void vFuiupii_32(x64emu_t *emu, uintptr_t fcn) { vFuiupii_t fn = (vFuiupii_t)fcn; 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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuiupiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiupiu_t fn = (vFuiupiu_t)fcn; 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_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); } +void vFuiUUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuiUUUU_t fn = (vFuiUUUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 20), from_ptri(uint64_t, R_ESP + 28), from_ptri(uint64_t, R_ESP + 36)); } +void vFuiffff_32(x64emu_t *emu, uintptr_t fcn) { vFuiffff_t fn = (vFuiffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, 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)); } +void vFuidddd_32(x64emu_t *emu, uintptr_t fcn) { vFuidddd_t fn = (vFuidddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(double, R_ESP + 36)); } +void vFuipiup_32(x64emu_t *emu, uintptr_t fcn) { vFuipiup_t fn = (vFuipiup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuCuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuCuuip_t fn = (vFuCuuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiii_t fn = (vFuuiiii_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)); } +void vFuuiuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuii_t fn = (vFuuiuii_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(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuuiuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuil_t fn = (vFuuiuil_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(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24))); } +void vFuuiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuip_t fn = (vFuuiuip_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(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuiuCu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuCu_t fn = (vFuuiuCu_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(uint32_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); } +void vFuuiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuup_t fn = (vFuuiuup_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(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuippp_32(x64emu_t *emu, uintptr_t fcn) { vFuuippp_t fn = (vFuuippp_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_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiii_t fn = (vFuuuiii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuuuiup_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiup_t fn = (vFuuuiup_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(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuuipC_32(x64emu_t *emu, uintptr_t fcn) { vFuuuipC_t fn = (vFuuuipC_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(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint8_t, R_ESP + 24)); } +void vFuuuipp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuipp_t fn = (vFuuuipp_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(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuuuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuii_t fn = (vFuuuuii_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(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuuuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuip_t fn = (vFuuuuip_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(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuu_t fn = (vFuuuuuu_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)); } +void vFuuuull_32(x64emu_t *emu, uintptr_t fcn) { vFuuuull_t fn = (vFuuuull_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), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24))); } +void vFuuuppi_32(x64emu_t *emu, uintptr_t fcn) { vFuuuppi_t fn = (vFuuuppi_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_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuuuppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuppp_t fn = (vFuuuppp_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_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuffff_32(x64emu_t *emu, uintptr_t fcn) { vFuuffff_t fn = (vFuuffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, 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)); } +void vFuudddd_32(x64emu_t *emu, uintptr_t fcn) { vFuudddd_t fn = (vFuudddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(double, R_ESP + 36)); } +void vFuupiii_32(x64emu_t *emu, uintptr_t fcn) { vFuupiii_t fn = (vFuupiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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(int32_t, R_ESP + 24)); } +void vFuupupp_32(x64emu_t *emu, uintptr_t fcn) { vFuupupp_t fn = (vFuupupp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFuuplii_32(x64emu_t *emu, uintptr_t fcn) { vFuuplii_t fn = (vFuuplii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFuffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiip_t fn = (vFuffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); } +void vFufffff_32(x64emu_t *emu, uintptr_t fcn) { vFufffff_t fn = (vFufffff_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)); } +void vFuddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiip_t fn = (vFuddiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFulluUC_32(x64emu_t *emu, uintptr_t fcn) { vFulluUC_t fn = (vFulluUC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 28)); } +void vFupiiii_32(x64emu_t *emu, uintptr_t fcn) { vFupiiii_t fn = (vFupiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void vFupupip_32(x64emu_t *emu, uintptr_t fcn) { vFupupip_t fn = (vFupupip_t)fcn; fn(from_ptri(uint32_t, 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_ptriv(R_ESP + 24)); } +void vFuppppu_32(x64emu_t *emu, uintptr_t fcn) { vFuppppu_t fn = (vFuppppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); } +void vFffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_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)); } +void vFdddddd_32(x64emu_t *emu, uintptr_t fcn) { vFdddddd_t fn = (vFdddddd_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)); } +void vFppiiii_32(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void 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 iFEpLppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLppp_t fn = (iFEpLppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } +void iFpiiipp_32(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_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), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void iFpiippp_32(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); } +void iFppiiii_32(x64emu_t *emu, uintptr_t fcn) { iFppiiii_t fn = (iFppiiii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); } +void iFppIppp_32(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } +void uFupuufp_32(x64emu_t *emu, uintptr_t fcn) { uFupuufp_t fn = (uFupuufp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptriv(R_ESP + 24)); } void lFipLipu_32(x64emu_t *emu, uintptr_t fcn) { lFipLipu_t fn = (lFipLipu_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24))); } void lFipLipp_32(x64emu_t *emu, uintptr_t fcn) { lFipLipp_t fn = (lFipLipp_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24))); } void pFEpLLiN_32(x64emu_t *emu, uintptr_t fcn) { pFEpLLiN_t fn = (pFEpLLiN_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); } +void pFpippip_32(x64emu_t *emu, uintptr_t fcn) { pFpippip_t fn = (pFpippip_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_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24))); } +void vFiiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFiiuilil_32(x64emu_t *emu, uintptr_t fcn) { vFiiuilil_t fn = (vFiiuilil_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), to_long(from_ptri(long_t, R_ESP + 28))); } +void vFiiffffp_32(x64emu_t *emu, uintptr_t fcn) { vFiiffffp_t fn = (vFiiffffp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, 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_ptriv(R_ESP + 28)); } +void vFiuulipi_32(x64emu_t *emu, uintptr_t fcn) { vFiuulipi_t fn = (vFiuulipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFiupuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuuup_t fn = (vFiupuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFilipliu_32(x64emu_t *emu, uintptr_t fcn) { vFilipliu_t fn = (vFilipliu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); } +void vFilulipi_32(x64emu_t *emu, uintptr_t fcn) { vFilulipi_t fn = (vFilulipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFCCCCfff_32(x64emu_t *emu, uintptr_t fcn) { vFCCCCfff_t fn = (vFCCCCfff_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28)); } +void vFuiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiii_t fn = (vFuiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFuiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiC_t fn = (vFuiiiiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28)); } +void vFuiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiuip_t fn = (vFuiiiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiuup_t fn = (vFuiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuiuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiii_t fn = (vFuiuiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFuiuiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiC_t fn = (vFuiuiiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28)); } +void vFuiuiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiip_t fn = (vFuiuiiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuiuiiuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiuU_t fn = (vFuiuiiuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint64_t, R_ESP + 28)); } +void vFuiuCiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCiuu_t fn = (vFuiuCiuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_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)); } +void vFuiupiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiupiiu_t fn = (vFuiupiiu_t)fcn; 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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); } +void vFuiupuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiupuip_t fn = (vFuiupuip_t)fcn; 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_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuipiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuipiiii_t fn = (vFuipiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_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(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFuipffff_32(x64emu_t *emu, uintptr_t fcn) { vFuipffff_t fn = (vFuipffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(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)); } +void vFuipdddd_32(x64emu_t *emu, uintptr_t fcn) { vFuipdddd_t fn = (vFuipdddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40)); } +void vFuuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiii_t fn = (vFuuiiiii_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)); } +void vFuuiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiC_t fn = (vFuuiiiiC_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(uint8_t, R_ESP + 28)); } +void vFuuiiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiu_t fn = (vFuuiiiiu_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(uint32_t, R_ESP + 28)); } +void vFuuiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiuup_t fn = (vFuuiiuup_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(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuuiCiui_32(x64emu_t *emu, uintptr_t fcn) { vFuuiCiui_t fn = (vFuuiCiui_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(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFuuiCiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiCiuu_t fn = (vFuuiCiuu_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(uint8_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)); } +void vFuuiuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiii_t fn = (vFuuiuiii_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(uint32_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 vFuuiuiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiC_t fn = (vFuuiuiiC_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(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28)); } +void vFuuipppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuipppp_t fn = (vFuuipppp_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_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuuuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiii_t fn = (vFuuuiiii_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(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 vFuuuiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiCp_t fn = (vFuuuiiCp_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuuuiuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiuil_t fn = (vFuuuiuil_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(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), to_long(from_ptri(long_t, R_ESP + 28))); } +void vFuuuiupi_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiupi_t fn = (vFuuuiupi_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(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuu_t fn = (vFuuuuuuu_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)); } +void vFuuuulll_32(x64emu_t *emu, uintptr_t fcn) { vFuuuulll_t fn = (vFuuuulll_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), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28))); } +void vFuuuffff_32(x64emu_t *emu, uintptr_t fcn) { vFuuuffff_t fn = (vFuuuffff_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)); } +void vFuuudddd_32(x64emu_t *emu, uintptr_t fcn) { vFuuudddd_t fn = (vFuuudddd_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(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40)); } +void vFuuffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuffiip_t fn = (vFuuffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuuddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuddiip_t fn = (vFuuddiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } +void vFuulluup_32(x64emu_t *emu, uintptr_t fcn) { vFuulluup_t fn = (vFuulluup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuupiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuupiiii_t fn = (vFuupiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } +void vFuuppppu_32(x64emu_t *emu, uintptr_t fcn) { vFuuppppu_t fn = (vFuuppppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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_ptri(uint32_t, R_ESP + 28)); } +void vFuuppppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuppppp_t fn = (vFuuppppp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } +void vFuffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffff_t fn = (vFuffffff_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)); } +void vFudddddd_32(x64emu_t *emu, uintptr_t fcn) { vFudddddd_t fn = (vFudddddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40), from_ptri(double, R_ESP + 48)); } +void vFlliiiip_32(x64emu_t *emu, uintptr_t fcn) { vFlliiiip_t fn = (vFlliiiip_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); } void iFEpLiipV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiipV_t fn = (iFEpLiipV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); } void iFpupLpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpupLpLi_t fn = (iFpupLpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28)); } +void uFuippppp_32(x64emu_t *emu, uintptr_t fcn) { uFuippppp_t fn = (uFuippppp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } void 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), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24))); } void 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), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 24))); } +void vFiiiiuuip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFiilliilp_32(x64emu_t *emu, uintptr_t fcn) { vFiilliilp_t fn = (vFiilliilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), to_long(from_ptri(long_t, R_ESP + 28)), from_ptriv(R_ESP + 32)); } +void vFiupuiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuiuup_t fn = (vFiupuiuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFiupuuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuuuup_t fn = (vFiupuuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiii_t fn = (vFuiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } +void vFuiiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiC_t fn = (vFuiiiiiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint8_t, R_ESP + 32)); } +void vFuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiuup_t fn = (vFuiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFuiiipiup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiipiup_t fn = (vFuiiipiup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFuiuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiii_t fn = (vFuiuiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } +void vFuiuiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiip_t fn = (vFuiuiiiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFuiuiiiuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiuU_t fn = (vFuiuiiiuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint64_t, R_ESP + 32)); } +void vFuiuiiCuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiCuU_t fn = (vFuiuiiCuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint64_t, R_ESP + 32)); } +void vFuiuiuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiuuuu_t fn = (vFuiuiuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_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 vFuCCCCfff_32(x64emu_t *emu, uintptr_t fcn) { vFuCCCCfff_t fn = (vFuCCCCfff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, 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(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); } +void vFuuiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiC_t fn = (vFuuiiiiiC_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(uint8_t, R_ESP + 32)); } +void vFuuiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiuip_t fn = (vFuuiiiuip_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(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFuuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiuup_t fn = (vFuuiiiuup_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(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFuuiiuupp_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiuupp_t fn = (vFuuiiuupp_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(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFuuiuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiii_t fn = (vFuuiuiiii_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(uint32_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)); } +void vFuuiuiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiC_t fn = (vFuuiuiiiC_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(uint32_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(uint8_t, R_ESP + 32)); } +void vFuuiuiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiip_t fn = (vFuuiuiiip_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(uint32_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_ptriv(R_ESP + 32)); } +void vFuuuiiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiiiu_t fn = (vFuuuiiiiu_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(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(uint32_t, R_ESP + 32)); } +void vFuuuiuCil_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiuCil_t fn = (vFuuuiuCil_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(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32))); } +void vFuuuipipp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuipipp_t fn = (vFuuuipipp_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(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } +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 iFEpippppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); } +void iFppIIIppp_32(x64emu_t *emu, uintptr_t fcn) { iFppIIIppp_t fn = (iFppIIIppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44)); } +void CFuiifpppp_32(x64emu_t *emu, uintptr_t fcn) { CFuiifpppp_t fn = (CFuiifpppp_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } +void uFuipppppp_32(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, 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), from_ptriv(R_ESP + 32)); } +void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(float, R_ESP + 32)); } +void uFulpppppp_32(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } +void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); } +void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32)), to_long(from_ptri(long_t, R_ESP + 36))); } +void vFiiiiillli_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36)); } +void vFiiilllilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiilllilp_t fn = (vFiiilllilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32)), from_ptriv(R_ESP + 36)); } +void vFiupuiuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuiuuup_t fn = (vFiupuiuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_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_ptriv(R_ESP + 36)); } +void vFiupuuuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuuuuup_t fn = (vFiupuuuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } +void vFuiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiii_t fn = (vFuiiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); } +void vFuiiiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiC_t fn = (vFuiiiiiiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint8_t, R_ESP + 36)); } +void vFuiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuip_t fn = (vFuiiiiiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } +void vFuiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuup_t fn = (vFuiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } +void vFuiuiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiip_t fn = (vFuiuiiiiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_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 vFuiuiiiCuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiCuU_t fn = (vFuiuiiiCuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint64_t, R_ESP + 36)); } +void vFuiupuffup_32(x64emu_t *emu, uintptr_t fcn) { vFuiupuffup_t fn = (vFuiupuffup_t)fcn; 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_ptri(uint32_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } +void vFuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiii_t fn = (vFuuiiiiiii_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)); } +void vFuuiiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiC_t fn = (vFuuiiiiiiC_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(uint8_t, R_ESP + 36)); } +void vFuuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuup_t fn = (vFuuiiiiuup_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(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } +void vFuuiuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiii_t fn = (vFuuiuiiiii_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(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); } +void vFuuiuiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiip_t fn = (vFuuiuiiiip_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(uint32_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 vFuuuiiiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiiiCp_t fn = (vFuuuiiiiCp_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(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(uint8_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } +void vFuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuu_t fn = (vFuuuuuuuuu_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)); } +void vFuupuuiuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuupuuiuuf_t fn = (vFuupuuiuuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(float, R_ESP + 36)); } +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 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), to_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 vFiiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiii_t fn = (vFiiiiiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); } +void vFiiiiiiiiui_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiui_t fn = (vFiiiiiiiiui_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); } +void vFiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiuu_t fn = (vFiiiiiiiiuu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); } +void vFiiillliiip_32(x64emu_t *emu, uintptr_t fcn) { vFiiillliiip_t fn = (vFiiillliiip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } +void vFuiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiii_t fn = (vFuiiiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); } +void vFuiiiiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiip_t fn = (vFuiiiiiiiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } +void vFuiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiuup_t fn = (vFuiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } +void vFuiuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiuup_t fn = (vFuiuiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } +void vFuuiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiii_t fn = (vFuuiiiiiiii_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(int32_t, R_ESP + 40)); } +void vFuuiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiuip_t fn = (vFuuiiiiiuip_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(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } +void vFuuiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiuup_t fn = (vFuuiiiiiuup_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(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } +void vFuuiuiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiiip_t fn = (vFuuiuiiiiip_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(uint32_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_ptriv(R_ESP + 40)); } +void vFuuuuuuuCCC_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuCCC_t fn = (vFuuuuuuuCCC_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(uint8_t, R_ESP + 32), from_ptri(uint8_t, R_ESP + 36), from_ptri(uint8_t, R_ESP + 40)); } +void vFuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuu_t fn = (vFuuuuuuuuuu_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)); } +void vFuupuiupuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuupuiupuuf_t fn = (vFuupuiupuuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(float, R_ESP + 40)); } +void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiip_t fn = (vFuffiiffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } +void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddiiddiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptriv(R_ESP + 56)); } +void vFffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40)); } +void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillliip_t fn = (vFiiiiillliip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } +void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiilllilp_t fn = (vFiiiiilllilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), to_long(from_ptri(long_t, R_ESP + 40)), from_ptriv(R_ESP + 44)); } +void vFuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuip_t fn = (vFuiiiiiiiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } +void vFuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuup_t fn = (vFuiiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } +void vFuiiiillliip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiillliip_t fn = (vFuiiiillliip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } +void vFuiuiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiiuup_t fn = (vFuiuiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_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_ptriv(R_ESP + 44)); } +void vFuuiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiuup_t fn = (vFuuiiiiiiuup_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(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } +void vFuuupupppppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuupupppppp_t fn = (vFuuupupppppp_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_ptriv(R_ESP + 16), from_ptri(uint32_t, 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)); } +void vFuuffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuffiiffiip_t fn = (vFuuffiiffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); } +void vFuufffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuufffffffff_t fn = (vFuufffffffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, 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)); } +void vFuuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuddiiddiip_t fn = (vFuuddiiddiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(double, R_ESP + 36), from_ptri(double, R_ESP + 44), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptriv(R_ESP + 60)); } +void vFuUuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuUuuuuuuuuu_t fn = (vFuUuuuuuuuuu_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)); } +void vFuffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffffff_t fn = (vFuffffffffff_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)); } +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 vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiuUC_t fn = (vFuiiiiiiiiuUC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint64_t, R_ESP + 44), from_ptri(uint8_t, R_ESP + 52)); } +void vFuiiiiiiiuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuuip_t fn = (vFuiiiiiiiuuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptriv(R_ESP + 48)); } +void vFuuiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiiuu_t fn = (vFuuiiiiiiiiuu_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(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48)); } +void vFuuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuip_t fn = (vFuuiiiiiiiuip_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(int32_t, R_ESP + 44), from_ptriv(R_ESP + 48)); } +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 vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptriv(R_ESP + 52)); } +void vFuuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52)); } +void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuUuuuuuuuuuuu_t fn = (vFuUuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52), from_ptri(uint32_t, R_ESP + 56)); } +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 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), to_long(from_ptri(long_t, R_ESP + 32)), to_long(from_ptri(long_t, R_ESP + 36)), to_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)); } +void vFuffiiffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiiffiip_t fn = (vFuffiiffiiffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptriv(R_ESP + 56)); } +void vFuddiiddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiiddiip_t fn = (vFuddiiddiiddiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(double, R_ESP + 56), from_ptri(double, R_ESP + 64), from_ptri(int32_t, R_ESP + 72), from_ptri(int32_t, R_ESP + 76), from_ptriv(R_ESP + 80)); } +void vFuiiiiiuiiiiilll_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuiiiiilll_t fn = (vFuiiiiiuiiiiilll_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(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_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), to_long(from_ptri(long_t, R_ESP + 52)), to_long(from_ptri(long_t, R_ESP + 56)), to_long(from_ptri(long_t, R_ESP + 60))); } +void vFuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn = (vFuuiiiiuuiiiiiii_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(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60)); } +void vFfffffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_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), from_ptri(float, R_ESP + 52), from_ptri(float, R_ESP + 56), from_ptri(float, R_ESP + 60)); } +void vFuuuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuiiiiuuiiiiiii_t fn = (vFuuuuiiiiuuiiiiiii_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(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), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68)); } +void vFppuiiiiipuiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_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), 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), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68), from_ptri(int32_t, R_ESP + 72)); } +void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fcn) { uFippuuuuiiiiuuiiiiiiiipp_t fn = (uFippuuuuiiiiuuiiiiiiiipp_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_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), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68), from_ptri(int32_t, R_ESP + 72), from_ptri(int32_t, R_ESP + 76), from_ptri(int32_t, R_ESP + 80), from_ptri(int32_t, R_ESP + 84), from_ptriv(R_ESP + 88), from_ptriv(R_ESP + 92)); } #if defined(ANDROID) void vFEpppp_32(x64emu_t *emu, uintptr_t fcn) { vFEpppp_t fn = (vFEpppp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); } @@ -679,6 +1803,7 @@ int isRetX87Wrapper32(wrapper_t fun) { if (fun == &dFdp_32) return 1; if (fun == &fFpBp__32) return 1; if (fun == &dFpBp__32) return 1; + if (fun == &fFuii_32) return 1; if (fun == &fFfff_32) return 1; if (fun == &fFffp_32) return 1; if (fun == &fFppa_32) return 1; diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index 7c87c1d5d..330ff09db 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -39,8 +39,16 @@ typedef void (*wrapper_t)(x64emu_t* emu, uintptr_t fnc); // t = char* as a return value (copies to a lower address if the return address is too high) void vFv_32(x64emu_t *emu, uintptr_t fnc); +void vFc_32(x64emu_t *emu, uintptr_t fnc); +void vFw_32(x64emu_t *emu, uintptr_t fnc); void vFi_32(x64emu_t *emu, uintptr_t fnc); +void vFC_32(x64emu_t *emu, uintptr_t fnc); +void vFW_32(x64emu_t *emu, uintptr_t fnc); void vFu_32(x64emu_t *emu, uintptr_t fnc); +void vFU_32(x64emu_t *emu, uintptr_t fnc); +void vFf_32(x64emu_t *emu, uintptr_t fnc); +void vFd_32(x64emu_t *emu, uintptr_t fnc); +void vFl_32(x64emu_t *emu, uintptr_t fnc); void vFp_32(x64emu_t *emu, uintptr_t fnc); void vFA_32(x64emu_t *emu, uintptr_t fnc); void vFS_32(x64emu_t *emu, uintptr_t fnc); @@ -57,16 +65,24 @@ void iFS_32(x64emu_t *emu, uintptr_t fnc); void IFf_32(x64emu_t *emu, uintptr_t fnc); void IFd_32(x64emu_t *emu, uintptr_t fnc); void IFS_32(x64emu_t *emu, uintptr_t fnc); +void CFu_32(x64emu_t *emu, uintptr_t fnc); +void CFU_32(x64emu_t *emu, uintptr_t fnc); +void CFl_32(x64emu_t *emu, uintptr_t fnc); +void CFp_32(x64emu_t *emu, uintptr_t fnc); +void WFu_32(x64emu_t *emu, uintptr_t fnc); void uFv_32(x64emu_t *emu, uintptr_t fnc); +void uFi_32(x64emu_t *emu, uintptr_t fnc); void uFu_32(x64emu_t *emu, uintptr_t fnc); void uFU_32(x64emu_t *emu, uintptr_t fnc); void uFp_32(x64emu_t *emu, uintptr_t fnc); +void UFu_32(x64emu_t *emu, uintptr_t fnc); void UFp_32(x64emu_t *emu, uintptr_t fnc); void UFs_32(x64emu_t *emu, uintptr_t fnc); void fFf_32(x64emu_t *emu, uintptr_t fnc); void dFv_32(x64emu_t *emu, uintptr_t fnc); void dFd_32(x64emu_t *emu, uintptr_t fnc); void lFi_32(x64emu_t *emu, uintptr_t fnc); +void lFu_32(x64emu_t *emu, uintptr_t fnc); void lFp_32(x64emu_t *emu, uintptr_t fnc); void lFS_32(x64emu_t *emu, uintptr_t fnc); void LFv_32(x64emu_t *emu, uintptr_t fnc); @@ -86,6 +102,37 @@ void pFrL__32(x64emu_t *emu, uintptr_t fnc); void LFriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc); void vFEv_32(x64emu_t *emu, uintptr_t fnc); void vFEp_32(x64emu_t *emu, uintptr_t fnc); +void vFcc_32(x64emu_t *emu, uintptr_t fnc); +void vFww_32(x64emu_t *emu, uintptr_t fnc); +void vFii_32(x64emu_t *emu, uintptr_t fnc); +void vFiI_32(x64emu_t *emu, uintptr_t fnc); +void vFiW_32(x64emu_t *emu, uintptr_t fnc); +void vFiu_32(x64emu_t *emu, uintptr_t fnc); +void vFiU_32(x64emu_t *emu, uintptr_t fnc); +void vFif_32(x64emu_t *emu, uintptr_t fnc); +void vFid_32(x64emu_t *emu, uintptr_t fnc); +void vFip_32(x64emu_t *emu, uintptr_t fnc); +void vFWW_32(x64emu_t *emu, uintptr_t fnc); +void vFuc_32(x64emu_t *emu, uintptr_t fnc); +void vFuw_32(x64emu_t *emu, uintptr_t fnc); +void vFui_32(x64emu_t *emu, uintptr_t fnc); +void vFuI_32(x64emu_t *emu, uintptr_t fnc); +void vFuC_32(x64emu_t *emu, uintptr_t fnc); +void vFuW_32(x64emu_t *emu, uintptr_t fnc); +void vFuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuU_32(x64emu_t *emu, uintptr_t fnc); +void vFuf_32(x64emu_t *emu, uintptr_t fnc); +void vFud_32(x64emu_t *emu, uintptr_t fnc); +void vFul_32(x64emu_t *emu, uintptr_t fnc); +void vFup_32(x64emu_t *emu, uintptr_t fnc); +void vFUu_32(x64emu_t *emu, uintptr_t fnc); +void vFfC_32(x64emu_t *emu, uintptr_t fnc); +void vFff_32(x64emu_t *emu, uintptr_t fnc); +void vFdd_32(x64emu_t *emu, uintptr_t fnc); +void vFlu_32(x64emu_t *emu, uintptr_t fnc); +void vFlp_32(x64emu_t *emu, uintptr_t fnc); +void vFpp_32(x64emu_t *emu, uintptr_t fnc); +void wFpi_32(x64emu_t *emu, uintptr_t fnc); void iFEv_32(x64emu_t *emu, uintptr_t fnc); void iFEi_32(x64emu_t *emu, uintptr_t fnc); void iFEL_32(x64emu_t *emu, uintptr_t fnc); @@ -112,10 +159,19 @@ void iFhi_32(x64emu_t *emu, uintptr_t fnc); void iFhp_32(x64emu_t *emu, uintptr_t fnc); void iFhh_32(x64emu_t *emu, uintptr_t fnc); void IFII_32(x64emu_t *emu, uintptr_t fnc); +void CFip_32(x64emu_t *emu, uintptr_t fnc); +void CFuu_32(x64emu_t *emu, uintptr_t fnc); +void CFuU_32(x64emu_t *emu, uintptr_t fnc); +void CFpi_32(x64emu_t *emu, uintptr_t fnc); void uFEu_32(x64emu_t *emu, uintptr_t fnc); void uFEV_32(x64emu_t *emu, uintptr_t fnc); +void uFuu_32(x64emu_t *emu, uintptr_t fnc); +void uFup_32(x64emu_t *emu, uintptr_t fnc); +void uFpi_32(x64emu_t *emu, uintptr_t fnc); +void uFpp_32(x64emu_t *emu, uintptr_t fnc); void uFpa_32(x64emu_t *emu, uintptr_t fnc); void UFii_32(x64emu_t *emu, uintptr_t fnc); +void UFuu_32(x64emu_t *emu, uintptr_t fnc); void UFUU_32(x64emu_t *emu, uintptr_t fnc); void UFss_32(x64emu_t *emu, uintptr_t fnc); void fFif_32(x64emu_t *emu, uintptr_t fnc); @@ -128,15 +184,19 @@ void dFdi_32(x64emu_t *emu, uintptr_t fnc); void dFdd_32(x64emu_t *emu, uintptr_t fnc); void dFdD_32(x64emu_t *emu, uintptr_t fnc); void dFdp_32(x64emu_t *emu, uintptr_t fnc); +void lFui_32(x64emu_t *emu, uintptr_t fnc); void LFpL_32(x64emu_t *emu, uintptr_t fnc); void LFpp_32(x64emu_t *emu, uintptr_t fnc); void pFEv_32(x64emu_t *emu, uintptr_t fnc); void pFEu_32(x64emu_t *emu, uintptr_t fnc); void pFEp_32(x64emu_t *emu, uintptr_t fnc); void pFES_32(x64emu_t *emu, uintptr_t fnc); +void pFiu_32(x64emu_t *emu, uintptr_t fnc); void pFia_32(x64emu_t *emu, uintptr_t fnc); +void pFuu_32(x64emu_t *emu, uintptr_t fnc); void pFLL_32(x64emu_t *emu, uintptr_t fnc); void pFpi_32(x64emu_t *emu, uintptr_t fnc); +void pFpu_32(x64emu_t *emu, uintptr_t fnc); void pFpL_32(x64emu_t *emu, uintptr_t fnc); void pFpp_32(x64emu_t *emu, uintptr_t fnc); void SFpp_32(x64emu_t *emu, uintptr_t fnc); @@ -155,9 +215,65 @@ void pFriiiiiiiiilt_p_32(x64emu_t *emu, uintptr_t fnc); void vFEip_32(x64emu_t *emu, uintptr_t fnc); void vFEpi_32(x64emu_t *emu, uintptr_t fnc); void vFEpu_32(x64emu_t *emu, uintptr_t fnc); +void vFEpp_32(x64emu_t *emu, uintptr_t fnc); +void vFccc_32(x64emu_t *emu, uintptr_t fnc); +void vFwww_32(x64emu_t *emu, uintptr_t fnc); +void vFiii_32(x64emu_t *emu, uintptr_t fnc); +void vFiif_32(x64emu_t *emu, uintptr_t fnc); +void vFiip_32(x64emu_t *emu, uintptr_t fnc); +void vFiII_32(x64emu_t *emu, uintptr_t fnc); +void vFiui_32(x64emu_t *emu, uintptr_t fnc); +void vFiuu_32(x64emu_t *emu, uintptr_t fnc); +void vFiup_32(x64emu_t *emu, uintptr_t fnc); +void vFiUU_32(x64emu_t *emu, uintptr_t fnc); +void vFiff_32(x64emu_t *emu, uintptr_t fnc); +void vFidd_32(x64emu_t *emu, uintptr_t fnc); +void vFilu_32(x64emu_t *emu, uintptr_t fnc); +void vFill_32(x64emu_t *emu, uintptr_t fnc); +void vFilp_32(x64emu_t *emu, uintptr_t fnc); +void vFipi_32(x64emu_t *emu, uintptr_t fnc); +void vFipu_32(x64emu_t *emu, uintptr_t fnc); +void vFipp_32(x64emu_t *emu, uintptr_t fnc); +void vFCCC_32(x64emu_t *emu, uintptr_t fnc); +void vFWWW_32(x64emu_t *emu, uintptr_t fnc); +void vFucc_32(x64emu_t *emu, uintptr_t fnc); +void vFuww_32(x64emu_t *emu, uintptr_t fnc); +void vFuii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiI_32(x64emu_t *emu, uintptr_t fnc); +void vFuiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiU_32(x64emu_t *emu, uintptr_t fnc); +void vFuif_32(x64emu_t *emu, uintptr_t fnc); +void vFuid_32(x64emu_t *emu, uintptr_t fnc); +void vFuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuII_32(x64emu_t *emu, uintptr_t fnc); +void vFuWW_32(x64emu_t *emu, uintptr_t fnc); +void vFuui_32(x64emu_t *emu, uintptr_t fnc); +void vFuuC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuU_32(x64emu_t *emu, uintptr_t fnc); +void vFuuf_32(x64emu_t *emu, uintptr_t fnc); +void vFuud_32(x64emu_t *emu, uintptr_t fnc); +void vFuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuUU_32(x64emu_t *emu, uintptr_t fnc); +void vFuff_32(x64emu_t *emu, uintptr_t fnc); +void vFudd_32(x64emu_t *emu, uintptr_t fnc); +void vFull_32(x64emu_t *emu, uintptr_t fnc); +void vFulp_32(x64emu_t *emu, uintptr_t fnc); +void vFupp_32(x64emu_t *emu, uintptr_t fnc); +void vFfff_32(x64emu_t *emu, uintptr_t fnc); void vFfpp_32(x64emu_t *emu, uintptr_t fnc); +void vFddd_32(x64emu_t *emu, uintptr_t fnc); void vFdpp_32(x64emu_t *emu, uintptr_t fnc); +void vFlii_32(x64emu_t *emu, uintptr_t fnc); +void vFlip_32(x64emu_t *emu, uintptr_t fnc); +void vFllp_32(x64emu_t *emu, uintptr_t fnc); +void vFlpp_32(x64emu_t *emu, uintptr_t fnc); +void vFpip_32(x64emu_t *emu, uintptr_t fnc); +void vFpuU_32(x64emu_t *emu, uintptr_t fnc); +void vFplp_32(x64emu_t *emu, uintptr_t fnc); +void vFppi_32(x64emu_t *emu, uintptr_t fnc); void vFppu_32(x64emu_t *emu, uintptr_t fnc); +void vFppp_32(x64emu_t *emu, uintptr_t fnc); void iFEip_32(x64emu_t *emu, uintptr_t fnc); void iFEpi_32(x64emu_t *emu, uintptr_t fnc); void iFEpL_32(x64emu_t *emu, uintptr_t fnc); @@ -177,12 +293,18 @@ void iFipu_32(x64emu_t *emu, uintptr_t fnc); void iFipL_32(x64emu_t *emu, uintptr_t fnc); void iFipp_32(x64emu_t *emu, uintptr_t fnc); void iFuii_32(x64emu_t *emu, uintptr_t fnc); +void iFuip_32(x64emu_t *emu, uintptr_t fnc); void iFuui_32(x64emu_t *emu, uintptr_t fnc); void iFuuu_32(x64emu_t *emu, uintptr_t fnc); +void iFuup_32(x64emu_t *emu, uintptr_t fnc); void iFuLp_32(x64emu_t *emu, uintptr_t fnc); +void iFfff_32(x64emu_t *emu, uintptr_t fnc); void iFpiu_32(x64emu_t *emu, uintptr_t fnc); void iFpip_32(x64emu_t *emu, uintptr_t fnc); +void iFpuC_32(x64emu_t *emu, uintptr_t fnc); void iFpuu_32(x64emu_t *emu, uintptr_t fnc); +void iFpuU_32(x64emu_t *emu, uintptr_t fnc); +void iFpup_32(x64emu_t *emu, uintptr_t fnc); void iFpLi_32(x64emu_t *emu, uintptr_t fnc); void iFppi_32(x64emu_t *emu, uintptr_t fnc); void iFppu_32(x64emu_t *emu, uintptr_t fnc); @@ -196,6 +318,17 @@ void iFhpp_32(x64emu_t *emu, uintptr_t fnc); void iFSIi_32(x64emu_t *emu, uintptr_t fnc); void iFSli_32(x64emu_t *emu, uintptr_t fnc); void IFiIi_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 uFilp_32(x64emu_t *emu, uintptr_t fnc); +void uFipu_32(x64emu_t *emu, uintptr_t fnc); +void uFuip_32(x64emu_t *emu, uintptr_t fnc); +void uFuuu_32(x64emu_t *emu, uintptr_t fnc); +void uFuup_32(x64emu_t *emu, uintptr_t fnc); +void uFupp_32(x64emu_t *emu, uintptr_t fnc); +void uFpuU_32(x64emu_t *emu, uintptr_t fnc); +void fFuii_32(x64emu_t *emu, uintptr_t fnc); void fFfff_32(x64emu_t *emu, uintptr_t fnc); void fFffp_32(x64emu_t *emu, uintptr_t fnc); void fFppa_32(x64emu_t *emu, uintptr_t fnc); @@ -209,11 +342,16 @@ void pFEip_32(x64emu_t *emu, uintptr_t fnc); void pFEpi_32(x64emu_t *emu, uintptr_t fnc); void pFEpp_32(x64emu_t *emu, uintptr_t fnc); void pFipi_32(x64emu_t *emu, uintptr_t fnc); +void pFulu_32(x64emu_t *emu, uintptr_t fnc); void pFpii_32(x64emu_t *emu, uintptr_t fnc); void pFpiL_32(x64emu_t *emu, uintptr_t fnc); +void pFpip_32(x64emu_t *emu, uintptr_t fnc); void pFpiS_32(x64emu_t *emu, uintptr_t fnc); void pFpuL_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 aFipa_32(x64emu_t *emu, uintptr_t fnc); void SFEpp_32(x64emu_t *emu, uintptr_t fnc); @@ -228,10 +366,87 @@ 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 pFppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc); +void vFEipp_32(x64emu_t *emu, uintptr_t fnc); void vFEipV_32(x64emu_t *emu, uintptr_t fnc); void vFEpup_32(x64emu_t *emu, uintptr_t fnc); void vFEppp_32(x64emu_t *emu, uintptr_t fnc); +void vFcccc_32(x64emu_t *emu, uintptr_t fnc); +void vFwwww_32(x64emu_t *emu, uintptr_t fnc); +void vFiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFiiCp_32(x64emu_t *emu, uintptr_t fnc); +void vFiill_32(x64emu_t *emu, uintptr_t fnc); +void vFiIII_32(x64emu_t *emu, uintptr_t fnc); +void vFiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFiuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFiulp_32(x64emu_t *emu, uintptr_t fnc); +void vFiUUU_32(x64emu_t *emu, uintptr_t fnc); +void vFifff_32(x64emu_t *emu, uintptr_t fnc); +void vFiddd_32(x64emu_t *emu, uintptr_t fnc); +void vFilip_32(x64emu_t *emu, uintptr_t fnc); +void vFilpu_32(x64emu_t *emu, uintptr_t fnc); +void vFilpp_32(x64emu_t *emu, uintptr_t fnc); +void vFipup_32(x64emu_t *emu, uintptr_t fnc); +void vFipll_32(x64emu_t *emu, uintptr_t fnc); +void vFCCCC_32(x64emu_t *emu, uintptr_t fnc); +void vFWWWW_32(x64emu_t *emu, uintptr_t fnc); +void vFuccc_32(x64emu_t *emu, uintptr_t fnc); +void vFuwww_32(x64emu_t *emu, uintptr_t fnc); +void vFuiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiII_32(x64emu_t *emu, uintptr_t fnc); +void vFuiui_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuC_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiUU_32(x64emu_t *emu, uintptr_t fnc); +void vFuifi_32(x64emu_t *emu, uintptr_t fnc); +void vFuiff_32(x64emu_t *emu, uintptr_t fnc); +void vFuidd_32(x64emu_t *emu, uintptr_t fnc); +void vFuilp_32(x64emu_t *emu, uintptr_t fnc); +void vFuipi_32(x64emu_t *emu, uintptr_t fnc); +void vFuipu_32(x64emu_t *emu, uintptr_t fnc); +void vFuipp_32(x64emu_t *emu, uintptr_t fnc); +void vFuIII_32(x64emu_t *emu, uintptr_t fnc); +void vFuWWW_32(x64emu_t *emu, uintptr_t fnc); +void vFuuii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuil_32(x64emu_t *emu, uintptr_t fnc); +void vFuuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuCu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuCp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuui_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuf_32(x64emu_t *emu, uintptr_t fnc); +void vFuuud_32(x64emu_t *emu, uintptr_t fnc); +void vFuuul_32(x64emu_t *emu, uintptr_t fnc); +void vFuuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuUl_32(x64emu_t *emu, uintptr_t fnc); +void vFuuff_32(x64emu_t *emu, uintptr_t fnc); +void vFuuli_32(x64emu_t *emu, uintptr_t fnc); +void vFuupi_32(x64emu_t *emu, uintptr_t fnc); +void vFuupp_32(x64emu_t *emu, uintptr_t fnc); +void vFuUui_32(x64emu_t *emu, uintptr_t fnc); +void vFuUup_32(x64emu_t *emu, uintptr_t fnc); +void vFuUUU_32(x64emu_t *emu, uintptr_t fnc); +void vFufff_32(x64emu_t *emu, uintptr_t fnc); +void vFuddd_32(x64emu_t *emu, uintptr_t fnc); +void vFuluU_32(x64emu_t *emu, uintptr_t fnc); +void vFullC_32(x64emu_t *emu, uintptr_t fnc); +void vFullp_32(x64emu_t *emu, uintptr_t fnc); +void vFulpu_32(x64emu_t *emu, uintptr_t fnc); +void vFulpp_32(x64emu_t *emu, uintptr_t fnc); +void vFupii_32(x64emu_t *emu, uintptr_t fnc); +void vFuppi_32(x64emu_t *emu, uintptr_t fnc); +void vFuppu_32(x64emu_t *emu, uintptr_t fnc); +void vFffff_32(x64emu_t *emu, uintptr_t fnc); +void vFdddd_32(x64emu_t *emu, uintptr_t fnc); +void vFllii_32(x64emu_t *emu, uintptr_t fnc); +void vFpiii_32(x64emu_t *emu, uintptr_t fnc); +void vFpipp_32(x64emu_t *emu, uintptr_t fnc); +void vFplpp_32(x64emu_t *emu, uintptr_t fnc); void vFppip_32(x64emu_t *emu, uintptr_t fnc); +void vFpppp_32(x64emu_t *emu, uintptr_t fnc); void iFEiip_32(x64emu_t *emu, uintptr_t fnc); void iFEiiN_32(x64emu_t *emu, uintptr_t fnc); void iFEipp_32(x64emu_t *emu, uintptr_t fnc); @@ -253,18 +468,39 @@ void iFiuui_32(x64emu_t *emu, uintptr_t fnc); void iFipii_32(x64emu_t *emu, uintptr_t fnc); void iFipup_32(x64emu_t *emu, uintptr_t fnc); void iFippi_32(x64emu_t *emu, uintptr_t fnc); +void iFuiup_32(x64emu_t *emu, uintptr_t fnc); void iFuupi_32(x64emu_t *emu, uintptr_t fnc); +void iFpiip_32(x64emu_t *emu, uintptr_t fnc); +void iFpipp_32(x64emu_t *emu, uintptr_t fnc); +void iFpuup_32(x64emu_t *emu, uintptr_t fnc); +void iFpupp_32(x64emu_t *emu, uintptr_t fnc); +void iFppii_32(x64emu_t *emu, uintptr_t fnc); +void iFppiU_32(x64emu_t *emu, uintptr_t fnc); +void iFppip_32(x64emu_t *emu, uintptr_t fnc); +void iFpppi_32(x64emu_t *emu, uintptr_t fnc); +void iFpppp_32(x64emu_t *emu, uintptr_t fnc); void iFhpiL_32(x64emu_t *emu, uintptr_t fnc); +void CFuuff_32(x64emu_t *emu, uintptr_t fnc); +void uFuuuu_32(x64emu_t *emu, uintptr_t fnc); void lFEipi_32(x64emu_t *emu, uintptr_t fnc); void lFiipL_32(x64emu_t *emu, uintptr_t fnc); void lFipLi_32(x64emu_t *emu, uintptr_t fnc); +void lFpuip_32(x64emu_t *emu, uintptr_t fnc); void LFpLLS_32(x64emu_t *emu, uintptr_t fnc); void LFppLp_32(x64emu_t *emu, uintptr_t fnc); void LFppLa_32(x64emu_t *emu, uintptr_t fnc); void pFEppi_32(x64emu_t *emu, uintptr_t fnc); void pFEppp_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 pFullu_32(x64emu_t *emu, uintptr_t fnc); +void pFlfff_32(x64emu_t *emu, uintptr_t fnc); +void pFpiii_32(x64emu_t *emu, uintptr_t fnc); void pFpiLL_32(x64emu_t *emu, uintptr_t fnc); +void pFpipp_32(x64emu_t *emu, uintptr_t fnc); void pFppLL_32(x64emu_t *emu, uintptr_t fnc); +void pFpppi_32(x64emu_t *emu, uintptr_t fnc); +void pFpppp_32(x64emu_t *emu, uintptr_t fnc); void IFpBp_ii_32(x64emu_t *emu, uintptr_t fnc); void UFpBp_ii_32(x64emu_t *emu, uintptr_t fnc); void lFiibp_L_32(x64emu_t *emu, uintptr_t fnc); @@ -272,6 +508,92 @@ void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fnc); void iFEpprLL__32(x64emu_t *emu, uintptr_t fnc); void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc); void vFEpLLp_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiu_32(x64emu_t *emu, uintptr_t fnc); +void vFiiuii_32(x64emu_t *emu, uintptr_t fnc); +void vFiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFiillu_32(x64emu_t *emu, uintptr_t fnc); +void vFiilll_32(x64emu_t *emu, uintptr_t fnc); +void vFiipll_32(x64emu_t *emu, uintptr_t fnc); +void vFiIIII_32(x64emu_t *emu, uintptr_t fnc); +void vFiuiip_32(x64emu_t *emu, uintptr_t fnc); +void vFiuipi_32(x64emu_t *emu, uintptr_t fnc); +void vFiuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFiulpp_32(x64emu_t *emu, uintptr_t fnc); +void vFiUUUU_32(x64emu_t *emu, uintptr_t fnc); +void vFiffff_32(x64emu_t *emu, uintptr_t fnc); +void vFidddd_32(x64emu_t *emu, uintptr_t fnc); +void vFilill_32(x64emu_t *emu, uintptr_t fnc); +void vFilipi_32(x64emu_t *emu, uintptr_t fnc); +void vFilipl_32(x64emu_t *emu, uintptr_t fnc); +void vFipipu_32(x64emu_t *emu, uintptr_t fnc); +void vFipipp_32(x64emu_t *emu, uintptr_t fnc); +void vFipupi_32(x64emu_t *emu, uintptr_t fnc); +void vFucccc_32(x64emu_t *emu, uintptr_t fnc); +void vFuwwww_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiCp_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiill_32(x64emu_t *emu, uintptr_t fnc); +void vFuiIII_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuCi_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuCu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiupi_32(x64emu_t *emu, uintptr_t fnc); +void vFuiUUU_32(x64emu_t *emu, uintptr_t fnc); +void vFuifff_32(x64emu_t *emu, uintptr_t fnc); +void vFuiddd_32(x64emu_t *emu, uintptr_t fnc); +void vFuipip_32(x64emu_t *emu, uintptr_t fnc); +void vFuipup_32(x64emu_t *emu, uintptr_t fnc); +void vFuippp_32(x64emu_t *emu, uintptr_t fnc); +void vFuIIII_32(x64emu_t *emu, uintptr_t fnc); +void vFuCCCC_32(x64emu_t *emu, uintptr_t fnc); +void vFuCuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuCuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuWWWW_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiui_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuifi_32(x64emu_t *emu, uintptr_t fnc); +void vFuuipC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuipu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuipp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuil_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuui_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuli_32(x64emu_t *emu, uintptr_t fnc); +void vFuuull_32(x64emu_t *emu, uintptr_t fnc); +void vFuulll_32(x64emu_t *emu, uintptr_t fnc); +void vFuullp_32(x64emu_t *emu, uintptr_t fnc); +void vFuupii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuppu_32(x64emu_t *emu, uintptr_t fnc); +void vFuUUUU_32(x64emu_t *emu, uintptr_t fnc); +void vFuffff_32(x64emu_t *emu, uintptr_t fnc); +void vFudddd_32(x64emu_t *emu, uintptr_t fnc); +void vFullpu_32(x64emu_t *emu, uintptr_t fnc); +void vFupiii_32(x64emu_t *emu, uintptr_t fnc); +void vFupupi_32(x64emu_t *emu, uintptr_t fnc); +void vFupupp_32(x64emu_t *emu, uintptr_t fnc); +void vFuplii_32(x64emu_t *emu, uintptr_t fnc); +void vFuppip_32(x64emu_t *emu, uintptr_t fnc); +void vFfffff_32(x64emu_t *emu, uintptr_t fnc); +void vFluipp_32(x64emu_t *emu, uintptr_t fnc); +void vFpilpp_32(x64emu_t *emu, uintptr_t fnc); +void vFpuipp_32(x64emu_t *emu, uintptr_t fnc); +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 iFEiiip_32(x64emu_t *emu, uintptr_t fnc); void iFEipii_32(x64emu_t *emu, uintptr_t fnc); void iFEpipp_32(x64emu_t *emu, uintptr_t fnc); @@ -285,24 +607,264 @@ void iFiiipu_32(x64emu_t *emu, uintptr_t fnc); void iFiiipp_32(x64emu_t *emu, uintptr_t fnc); void iFiLLLL_32(x64emu_t *emu, uintptr_t fnc); void iFipLLi_32(x64emu_t *emu, uintptr_t fnc); +void iFpiiip_32(x64emu_t *emu, uintptr_t fnc); +void iFpippp_32(x64emu_t *emu, uintptr_t fnc); +void iFppipi_32(x64emu_t *emu, uintptr_t fnc); +void iFpppip_32(x64emu_t *emu, uintptr_t fnc); void iFpppup_32(x64emu_t *emu, uintptr_t fnc); +void iFppppp_32(x64emu_t *emu, uintptr_t fnc); +void IFppIII_32(x64emu_t *emu, uintptr_t fnc); void uFpLLLS_32(x64emu_t *emu, uintptr_t fnc); +void UFuiCiu_32(x64emu_t *emu, uintptr_t fnc); +void lFpuipC_32(x64emu_t *emu, uintptr_t fnc); void LFpLppa_32(x64emu_t *emu, uintptr_t fnc); +void pFuiupp_32(x64emu_t *emu, uintptr_t fnc); +void pFpippp_32(x64emu_t *emu, uintptr_t fnc); +void pFppipi_32(x64emu_t *emu, uintptr_t fnc); +void pFppuup_32(x64emu_t *emu, uintptr_t fnc); +void pFppupp_32(x64emu_t *emu, uintptr_t fnc); +void pFpppip_32(x64emu_t *emu, uintptr_t fnc); void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fnc); void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fnc); void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fnc); void iFippprLL__32(x64emu_t *emu, uintptr_t fnc); void LFLbp_bL_Bp_BL__32(x64emu_t *emu, uintptr_t fnc); void LFpLpriiiiiiiiilt_a_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiuil_32(x64emu_t *emu, uintptr_t fnc); +void vFiiilpi_32(x64emu_t *emu, uintptr_t fnc); +void vFiiuilp_32(x64emu_t *emu, uintptr_t fnc); +void vFiffiff_32(x64emu_t *emu, uintptr_t fnc); +void vFiddidd_32(x64emu_t *emu, uintptr_t fnc); +void vFilipli_32(x64emu_t *emu, uintptr_t fnc); +void vFiliplu_32(x64emu_t *emu, uintptr_t fnc); +void vFipiplp_32(x64emu_t *emu, uintptr_t fnc); +void vFCCCCff_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiuii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiIIII_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiil_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiuU_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuCip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiupii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiupiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiUUUU_32(x64emu_t *emu, uintptr_t fnc); +void vFuiffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuidddd_32(x64emu_t *emu, uintptr_t fnc); +void vFuipiup_32(x64emu_t *emu, uintptr_t fnc); +void vFuCuuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuil_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuCu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuippp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuipC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuipp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuull_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuppi_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuppp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuudddd_32(x64emu_t *emu, uintptr_t fnc); +void vFuupiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuupupp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuplii_32(x64emu_t *emu, uintptr_t fnc); +void vFuffiip_32(x64emu_t *emu, uintptr_t fnc); +void vFufffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuddiip_32(x64emu_t *emu, uintptr_t fnc); +void vFulluUC_32(x64emu_t *emu, uintptr_t fnc); +void vFupiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFupupip_32(x64emu_t *emu, uintptr_t fnc); +void vFuppppu_32(x64emu_t *emu, uintptr_t fnc); +void vFffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFdddddd_32(x64emu_t *emu, uintptr_t fnc); +void vFppiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFppupii_32(x64emu_t *emu, uintptr_t fnc); void iFEpLppp_32(x64emu_t *emu, uintptr_t fnc); +void iFpiiipp_32(x64emu_t *emu, uintptr_t fnc); +void iFpiippp_32(x64emu_t *emu, uintptr_t fnc); +void iFppiiii_32(x64emu_t *emu, uintptr_t fnc); +void iFppIppp_32(x64emu_t *emu, uintptr_t fnc); +void uFupuufp_32(x64emu_t *emu, uintptr_t fnc); void lFipLipu_32(x64emu_t *emu, uintptr_t fnc); void lFipLipp_32(x64emu_t *emu, uintptr_t fnc); void pFEpLLiN_32(x64emu_t *emu, uintptr_t fnc); +void pFpippip_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFiiuilil_32(x64emu_t *emu, uintptr_t fnc); +void vFiiffffp_32(x64emu_t *emu, uintptr_t fnc); +void vFiuulipi_32(x64emu_t *emu, uintptr_t fnc); +void vFiupuuup_32(x64emu_t *emu, uintptr_t fnc); +void vFilipliu_32(x64emu_t *emu, uintptr_t fnc); +void vFilulipi_32(x64emu_t *emu, uintptr_t fnc); +void vFCCCCfff_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiuU_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuCiuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiupiiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuiupuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuipiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuipffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuipdddd_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiCiui_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiCiuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuipppp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiiCp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiuil_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiupi_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuulll_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuuudddd_32(x64emu_t *emu, uintptr_t fnc); +void vFuuffiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuddiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuulluup_32(x64emu_t *emu, uintptr_t fnc); +void vFuupiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuppppu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuppppp_32(x64emu_t *emu, uintptr_t fnc); +void vFuffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFudddddd_32(x64emu_t *emu, uintptr_t fnc); +void vFlliiiip_32(x64emu_t *emu, uintptr_t fnc); void iFEpLiipV_32(x64emu_t *emu, uintptr_t fnc); void iFpupLpLi_32(x64emu_t *emu, uintptr_t fnc); +void uFuippppp_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 vFiiiiuuip_32(x64emu_t *emu, uintptr_t fnc); +void vFiilliilp_32(x64emu_t *emu, uintptr_t fnc); +void vFiupuiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFiupuuuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiipiup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiuU_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiCuU_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuCCCCfff_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiuupp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiiiiu_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiuCil_32(x64emu_t *emu, uintptr_t fnc); +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 iFEpippppp_32(x64emu_t *emu, uintptr_t fnc); +void iFppIIIppp_32(x64emu_t *emu, uintptr_t fnc); +void CFuiifpppp_32(x64emu_t *emu, uintptr_t fnc); +void uFuipppppp_32(x64emu_t *emu, uintptr_t fnc); +void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fnc); +void uFulpppppp_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiillli_32(x64emu_t *emu, uintptr_t fnc); +void vFiiilllilp_32(x64emu_t *emu, uintptr_t fnc); +void vFiupuiuuup_32(x64emu_t *emu, uintptr_t fnc); +void vFiupuuuuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiCuU_32(x64emu_t *emu, uintptr_t fnc); +void vFuiupuffup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiiC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuiiiiCp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); +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 uFuulpiuiuf_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiiiiiui_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fnc); +void vFiiillliiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiuiiiiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuuuuCCC_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuupuiupuuf_32(x64emu_t *emu, uintptr_t fnc); +void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fnc); +void vFffffffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fnc); +void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiillliip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiuiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc); +void vFuuupupppppp_32(x64emu_t *emu, uintptr_t fnc); +void vFuuffiiffiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuufffffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuuddiiddiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuUuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc); +void vFuffffffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFUufffffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiiiuuip_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fnc); +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 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 uFippuuuulllipp_32(x64emu_t *emu, uintptr_t fnc); +void vFuffiiffiiffiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuddiiddiiddiip_32(x64emu_t *emu, uintptr_t fnc); +void vFuiiiiiuiiiiilll_32(x64emu_t *emu, uintptr_t fnc); +void vFuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFfffffffffffffff_32(x64emu_t *emu, uintptr_t fnc); +void vFuuuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void vFppuiiiiipuiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); +void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fnc); #if defined(ANDROID) void vFEpppp_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c new file mode 100644 index 000000000..9d18fe234 --- /dev/null +++ b/src/wrapped32/wrappedlibgl.c @@ -0,0 +1,562 @@ +#include +#include +#include +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper32.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "box32context.h" +#include "librarian.h" +#include "callback.h" +#include "gltools.h" + +extern const char* libglName; +#define LIBNAME libgl +static library_t* my_lib = NULL; + +// 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) +{ + khint_t k; + const char* rname = (const char*)name; + return getGLProcAddress32(emu, my_lib->w.priv, rname); +} +EXPORT void* my32_glXGetProcAddressARB(x64emu_t* emu, void* name) __attribute__((alias("my32_glXGetProcAddress"))); + +typedef int (*iFi_t)(int); +typedef void (*vFpp_t)(void*, void*); +typedef void (*vFppp_t)(void*, void*, void*); +typedef void (*vFppi_t)(void*, void*, int); +typedef void*(*pFp_t)(void*); +typedef void (*debugProc_t)(int32_t, int32_t, uint32_t, int32_t, int32_t, void*, void*); + +typedef struct gl_wrappers_s { + glprocaddress_t procaddress; + kh_symbolmap_t *glwrappers; // the map of wrapper for glProcs (for GLX or SDL1/2) + kh_symbolmap_t *glmymap; // link to the mysymbolmap of libGL +} gl_wrappers_t; + +KHASH_MAP_INIT_INT64(gl_wrappers, gl_wrappers_t*) + +static kh_gl_wrappers_t *gl_wrappers = NULL; + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// debug_callback ... +#define GO(A) \ +static uintptr_t my_debug_callback_fct_##A = 0; \ +static void my_debug_callback_##A(int32_t a, int32_t b, uint32_t c, int32_t d, int32_t e, const char* f, const void* g) \ +{ \ + RunFunctionFmt(my_debug_callback_fct_##A, "iiuiipp", a, b, c, d, e, f, g); \ +} +SUPER() +#undef GO +static void* find_debug_callback_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_debug_callback_fct_##A == (uintptr_t)fct) return my_debug_callback_##A; + SUPER() + #undef GO + #define GO(A) if(my_debug_callback_fct_##A == 0) {my_debug_callback_fct_##A = (uintptr_t)fct; return my_debug_callback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL debug_callback callback\n"); + return NULL; +} +// egl_debug_callback ... +#define GO(A) \ +static uintptr_t my_egl_debug_callback_fct_##A = 0; \ + static void my_egl_debug_callback_##A(int a, void* b, int c, void* d, void* e, const char* f) \ +{ \ + RunFunctionFmt(my_egl_debug_callback_fct_##A, "ipippp", a, b, c, d, e, f); \ +} +SUPER() +#undef GO +static void* find_egl_debug_callback_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_egl_debug_callback_fct_##A == (uintptr_t)fct) return my_egl_debug_callback_##A; + SUPER() + #undef GO + #define GO(A) if(my_egl_debug_callback_fct_##A == 0) {my_egl_debug_callback_fct_##A = (uintptr_t)fct; return my_egl_debug_callback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL egl_debug_callback callback\n"); + return NULL; +} +// program_callback ... +#define GO(A) \ +static uintptr_t my_program_callback_fct_##A = 0; \ +static void my_program_callback_##A(int32_t a, void* b) \ +{ \ + RunFunctionFmt(my_program_callback_fct_##A, "ip", a, b); \ +} +SUPER() +#undef GO +static void* find_program_callback_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_program_callback_fct_##A == (uintptr_t)fct) return my_program_callback_##A; + SUPER() + #undef GO + #define GO(A) if(my_program_callback_fct_##A == 0) {my_program_callback_fct_##A = (uintptr_t)fct; return my_program_callback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL program_callback callback\n"); + return NULL; +} +// set_blob_func ... +#define GO(A) \ +static uintptr_t my_set_blob_func_fct_##A = 0; \ +static void my_set_blob_func_##A(void* a, ssize_t b, void* c, ssize_t d) \ +{ \ + RunFunctionFmt(my_set_blob_func_fct_##A, "plpl", a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_set_blob_func_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_set_blob_func_fct_##A == (uintptr_t)fct) return my_set_blob_func_##A; + SUPER() + #undef GO + #define GO(A) if(my_set_blob_func_fct_##A == 0) {my_set_blob_func_fct_##A = (uintptr_t)fct; return my_set_blob_func_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL set_blob_func callback\n"); + return NULL; +} +// get_blob_func ... +#define GO(A) \ +static uintptr_t my_get_blob_func_fct_##A = 0; \ +static ssize_t my_get_blob_func_##A(void* a, ssize_t b, void* c, ssize_t d) \ +{ \ + return (ssize_t)RunFunctionFmt(my_get_blob_func_fct_##A, "plpl", a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_get_blob_func_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_get_blob_func_fct_##A == (uintptr_t)fct) return my_get_blob_func_##A; + SUPER() + #undef GO + #define GO(A) if(my_get_blob_func_fct_##A == 0) {my_get_blob_func_fct_##A = (uintptr_t)fct; return my_get_blob_func_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL get_blob_func callback\n"); + return NULL; +} + +// glDebugMessageCallback ... +#define GO(A) \ +static vFpp_t my32_glDebugMessageCallback_fct_##A = NULL; \ +static void my32_glDebugMessageCallback_##A(x64emu_t* emu, void* prod, void* param) \ +{ \ + if(!my32_glDebugMessageCallback_fct_##A) \ + return; \ + my32_glDebugMessageCallback_fct_##A(find_debug_callback_Fct(prod), param); \ +} +SUPER() +#undef GO +static void* find_glDebugMessageCallback_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my32_glDebugMessageCallback_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallback_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glDebugMessageCallback_fct_##A == 0) {my32_glDebugMessageCallback_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallback callback\n"); + return NULL; +} +// glDebugMessageCallbackARB ... +#define GO(A) \ +static vFpp_t my32_glDebugMessageCallbackARB_fct_##A = NULL; \ +static void my32_glDebugMessageCallbackARB_##A(x64emu_t* emu, void* prod, void* param) \ +{ \ + if(!my32_glDebugMessageCallbackARB_fct_##A) \ + return; \ + my32_glDebugMessageCallbackARB_fct_##A(find_debug_callback_Fct(prod), param); \ +} +SUPER() +#undef GO +static void* find_glDebugMessageCallbackARB_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my32_glDebugMessageCallbackARB_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallbackARB_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glDebugMessageCallbackARB_fct_##A == 0) {my32_glDebugMessageCallbackARB_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallbackARB_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallbackARB callback\n"); + return NULL; +} +// glDebugMessageCallbackAMD ... +#define GO(A) \ +static vFpp_t my32_glDebugMessageCallbackAMD_fct_##A = NULL; \ +static void my32_glDebugMessageCallbackAMD_##A(x64emu_t* emu, void* prod, void* param) \ +{ \ + if(!my32_glDebugMessageCallbackAMD_fct_##A) \ + return; \ + my32_glDebugMessageCallbackAMD_fct_##A(find_debug_callback_Fct(prod), param); \ +} +SUPER() +#undef GO +static void* find_glDebugMessageCallbackAMD_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my32_glDebugMessageCallbackAMD_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallbackAMD_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glDebugMessageCallbackAMD_fct_##A == 0) {my32_glDebugMessageCallbackAMD_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallbackAMD_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallbackAMD callback\n"); + return NULL; +} +// glDebugMessageCallbackKHR ... +#define GO(A) \ +static vFpp_t my32_glDebugMessageCallbackKHR_fct_##A = NULL; \ +static void my32_glDebugMessageCallbackKHR_##A(x64emu_t* emu, void* prod, void* param) \ +{ \ + if(!my32_glDebugMessageCallbackKHR_fct_##A) \ + return; \ + my32_glDebugMessageCallbackKHR_fct_##A(find_debug_callback_Fct(prod), param); \ +} +SUPER() +#undef GO +static void* find_glDebugMessageCallbackKHR_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my32_glDebugMessageCallbackKHR_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallbackKHR_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glDebugMessageCallbackKHR_fct_##A == 0) {my32_glDebugMessageCallbackKHR_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallbackKHR_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallbackKHR callback\n"); + return NULL; +} +// eglDebugMessageControlKHR ... +#define GO(A) \ +static vFpp_t my_eglDebugMessageControlKHR_fct_##A = NULL; \ +static void my_eglDebugMessageControlKHR_##A(x64emu_t* emu, void* prod, void* param) \ +{ \ + if(!my_eglDebugMessageControlKHR_fct_##A) \ + return; \ + my_eglDebugMessageControlKHR_fct_##A(find_egl_debug_callback_Fct(prod), param); \ +} +SUPER() +#undef GO +static void* find_eglDebugMessageControlKHR_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my_eglDebugMessageControlKHR_fct_##A == (vFpp_t)fct) return my_eglDebugMessageControlKHR_##A; + SUPER() + #undef GO + #define GO(A) if(my_eglDebugMessageControlKHR_fct_##A == 0) {my_eglDebugMessageControlKHR_fct_##A = (vFpp_t)fct; return my_eglDebugMessageControlKHR_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL eglDebugMessageControlKHR callback\n"); + return NULL; +} +// eglSetBlobCacheFuncsANDROID ... +#define GO(A) \ +static vFppp_t my_eglSetBlobCacheFuncsANDROID_fct_##A = NULL; \ +static void my_eglSetBlobCacheFuncsANDROID_##A(x64emu_t* emu, void* dpy, void* set, void* get) \ +{ \ + if(!my_eglSetBlobCacheFuncsANDROID_fct_##A) \ + return; \ + my_eglSetBlobCacheFuncsANDROID_fct_##A(dpy, find_set_blob_func_Fct(set), find_get_blob_func_Fct(get)); \ +} +SUPER() +#undef GO +static void* find_eglSetBlobCacheFuncsANDROID_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my_eglSetBlobCacheFuncsANDROID_fct_##A == (vFppp_t)fct) return my_eglSetBlobCacheFuncsANDROID_##A; + SUPER() + #undef GO + #define GO(A) if(my_eglSetBlobCacheFuncsANDROID_fct_##A == 0) {my_eglSetBlobCacheFuncsANDROID_fct_##A = (vFppp_t)fct; return my_eglSetBlobCacheFuncsANDROID_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL eglSetBlobCacheFuncsANDROID callback\n"); + return NULL; +} +// glXSwapIntervalMESA ... +#define GO(A) \ +static iFi_t my32_glXSwapIntervalMESA_fct_##A = NULL; \ +static int my32_glXSwapIntervalMESA_##A(int interval) \ +{ \ + if(!my32_glXSwapIntervalMESA_fct_##A) \ + return 0; \ + return my32_glXSwapIntervalMESA_fct_##A(interval); \ +} +SUPER() +#undef GO + +static int my_dummy32_glXSwapIntervalMESA(int interval) +{ + return 5; // GLX_BAD_CONTEXT +} + +static void* find_glXSwapIntervalMESA_Fct(void* fct) +{ + if(!fct) return my_dummy32_glXSwapIntervalMESA; + #define GO(A) if(my32_glXSwapIntervalMESA_fct_##A == (iFi_t)fct) return my32_glXSwapIntervalMESA_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glXSwapIntervalMESA_fct_##A == 0) {my32_glXSwapIntervalMESA_fct_##A = (iFi_t)fct; return my32_glXSwapIntervalMESA_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glXSwapIntervalMESA callback\n"); + return NULL; +} + +// glXSwapIntervalEXT ... +#define GO(A) \ +static vFppi_t my32_glXSwapIntervalEXT_fct_##A = NULL; \ +static void my32_glXSwapIntervalEXT_##A(void* dpy, void* drawable, int interval) \ +{ \ + if (!my32_glXSwapIntervalEXT_fct_##A) \ + return; \ + my32_glXSwapIntervalEXT_fct_##A(dpy, drawable, interval); \ +} +SUPER() +#undef GO + +static void my_dummy32_glXSwapIntervalEXT(void* dpy, void* drawable, int interval) {} + +static void* find_glXSwapIntervalEXT_Fct(void* fct) +{ + if(!fct) return my_dummy32_glXSwapIntervalEXT; + #define GO(A) if(my32_glXSwapIntervalEXT_fct_##A == (vFppi_t)fct) return my32_glXSwapIntervalEXT_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glXSwapIntervalEXT_fct_##A == 0) {my32_glXSwapIntervalEXT_fct_##A = (vFppi_t)fct; return my32_glXSwapIntervalEXT_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glXSwapIntervalEXT callback\n"); + return NULL; +} + +// glProgramCallbackMESA ... +#define GO(A) \ +static vFpp_t my32_glProgramCallbackMESA_fct_##A = NULL; \ +static void my32_glProgramCallbackMESA_##A(x64emu_t* emu, void* f, void* data)\ +{ \ + if(!my32_glProgramCallbackMESA_fct_##A) \ + return; \ + my32_glProgramCallbackMESA_fct_##A(find_program_callback_Fct(f), data); \ +} +SUPER() +#undef GO +static void* find_glProgramCallbackMESA_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my32_glProgramCallbackMESA_fct_##A == (vFpp_t)fct) return my32_glProgramCallbackMESA_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glProgramCallbackMESA_fct_##A == 0) {my32_glProgramCallbackMESA_fct_##A = (vFpp_t)fct; return my32_glProgramCallbackMESA_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glProgramCallbackMESA callback\n"); + return NULL; +} +void* my_GetVkProcAddr(x64emu_t* emu, void* name, void*(*getaddr)(void*)); // defined in wrappedvulkan.c +// glGetVkProcAddrNV ... +#define GO(A) \ +static pFp_t my32_glGetVkProcAddrNV_fct_##A = NULL; \ +static void* my32_glGetVkProcAddrNV_##A(x64emu_t* emu, void* name) \ +{ \ + if(!my32_glGetVkProcAddrNV_fct_##A) \ + return NULL; \ + return my_GetVkProcAddr(emu, name, my32_glGetVkProcAddrNV_fct_##A); \ +} +SUPER() +#undef GO +static void* find_glGetVkProcAddrNV_Fct(void* fct) +{ + if(!fct) return fct; + #define GO(A) if(my32_glGetVkProcAddrNV_fct_##A == (pFp_t)fct) return my32_glGetVkProcAddrNV_##A; + SUPER() + #undef GO + #define GO(A) if(my32_glGetVkProcAddrNV_fct_##A == 0) {my32_glGetVkProcAddrNV_fct_##A = (pFp_t)fct; return my32_glGetVkProcAddrNV_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL glGetVkProcAddrNV callback\n"); + return NULL; +} +#undef SUPER + +#define PRE_INIT if(box64_libGL) {lib->w.lib = dlopen(box64_libGL, RTLD_LAZY | RTLD_GLOBAL); lib->path = strdup(box64_libGL);} else +#define CUSTOM_INIT \ + my_lib = lib; \ + lib->w.priv = dlsym(lib->w.lib, "glXGetProcAddress"); \ + void* symb = dlsym(lib->w.lib, "glDebugMessageCallback"); \ + if(symb) { \ + k = kh_get(symbolmap, lib->w.mysymbolmap, "glDebugMessageCallback"); \ + symbol1_t *s = &kh_value(lib->w.mysymbolmap, k); \ + s->resolved = 1; \ + s->addr = AddBridge(lib->w.bridge, s->w, find_glDebugMessageCallback_Fct(symb), 0, "glDebugMessageCallback"); \ + } \ + symb = dlsym(lib->w.lib, "glXSwapIntervalMESA"); \ + if(symb) { \ + k = kh_get(symbolmap, lib->w.mysymbolmap, "glXSwapIntervalMESA"); \ + symbol1_t *s = &kh_value(lib->w.mysymbolmap, k); \ + s->resolved = 1; \ + s->addr = AddBridge(lib->w.bridge, s->w, find_glXSwapIntervalMESA_Fct(symb), 0, "glXSwapIntervalMESA"); \ + } \ + symb = dlsym(lib->w.lib, "glXSwapIntervalEXT"); \ + if(symb) { \ + k = kh_get(symbolmap, lib->w.mysymbolmap, "glXSwapIntervalEXT"); \ + symbol1_t *s = &kh_value(lib->w.mysymbolmap, k); \ + s->resolved = 1; \ + s->addr = AddBridge(lib->w.bridge, s->w, find_glXSwapIntervalEXT_Fct(symb), 0, "glXSwapIntervalEXT"); \ + } \ + +#include "wrappedlib_init32.h" + +#define SUPER() \ + GO(vFpp_t, glDebugMessageCallback) \ + GO(vFpp_t, glDebugMessageCallbackARB) \ + GO(vFpp_t, glDebugMessageCallbackAMD) \ + GO(vFpp_t, glDebugMessageCallbackKHR) \ + GO(vFpp_t, eglDebugMessageControlKHR) \ + GO(iFi_t, glXSwapIntervalMESA) \ + GO(vFppi_t, glXSwapIntervalEXT) \ + GO(vFpp_t, glProgramCallbackMESA) \ + GO(pFp_t, glGetVkProcAddrNV) \ + GO(vFppp_t, eglSetBlobCacheFuncsANDROID) \ + + +gl_wrappers_t* getGLProcWrapper32(box64context_t* context, glprocaddress_t procaddress) +{ + int cnt, ret; + khint_t k; + if(!gl_wrappers) { + gl_wrappers = kh_init(gl_wrappers); + } + k = kh_put(gl_wrappers, gl_wrappers, (uintptr_t)procaddress, &ret); + if(!ret) + return kh_value(gl_wrappers, k); + gl_wrappers_t* wrappers = kh_value(gl_wrappers, k) = (gl_wrappers_t*)calloc(1, sizeof(gl_wrappers_t)); + + wrappers->procaddress = procaddress; + wrappers->glwrappers = kh_init(symbolmap); + // populates maps... + cnt = sizeof(libglsymbolmap)/sizeof(map_onesymbol_t); + for (int i=0; iglwrappers, libglsymbolmap[i].name, &ret); + kh_value(wrappers->glwrappers, k).w = libglsymbolmap[i].w; + kh_value(wrappers->glwrappers, k).resolved = 0; + } + // and the my_ symbols map + cnt = sizeof(MAPNAME(mysymbolmap))/sizeof(map_onesymbol_t); + for (int i=0; iglwrappers, libglmysymbolmap[i].name, &ret); + kh_value(wrappers->glwrappers, k).w = libglmysymbolmap[i].w; + kh_value(wrappers->glwrappers, k).resolved = 0; + } + // my_* map + wrappers->glmymap = kh_init(symbolmap); + cnt = sizeof(MAPNAME(mysymbolmap))/sizeof(map_onesymbol_t); + for (int i=0; iglmymap, libglmysymbolmap[i].name, &ret); + kh_value(wrappers->glmymap, k).w = libglmysymbolmap[i].w; + kh_value(wrappers->glmymap, k).resolved = 0; + } + return wrappers; +} + +void* getGLProcAddress32(x64emu_t* emu, glprocaddress_t procaddr, const char* rname) +{ + khint_t k; + printf_dlsym(LOG_DEBUG, "Calling getGLProcAddress32[%p](\"%s\") => ", procaddr, rname); + gl_wrappers_t* wrappers = getGLProcWrapper32(emu->context, procaddr); + // check if glxprocaddress is filled, and search for lib and fill it if needed + // get proc adress using actual glXGetProcAddress + k = kh_get(symbolmap, wrappers->glmymap, rname); + int is_my = (k==kh_end(wrappers->glmymap))?0:1; + void* symbol; + if(is_my) { + // try again, by using custom "my_" now... + #define GO(A, B) else if(!strcmp(rname, #B)) symbol = find_##B##_Fct(procaddr(rname)); + if(0) {} + SUPER() + else { + if(strcmp(rname, "glXGetProcAddress") && strcmp(rname, "glXGetProcAddressARB")) { + printf_log(LOG_NONE, "Warning, %s defined as GOM, but find_%s_Fct not defined\n", rname, rname); + } + char tmp[200]; + strcpy(tmp, "my_"); + strcat(tmp, rname); + symbol = dlsym(emu->context->box64lib, tmp); + } + #undef GO + #undef SUPER + } else + symbol = procaddr(rname); + if(!symbol) { + printf_dlsym(LOG_DEBUG, "%p\n", NULL); + return NULL; // easy + } + // check if alread bridged + uintptr_t ret = CheckBridged(emu->context->system, symbol); + if(ret) { + printf_dlsym(LOG_DEBUG, "%p\n", (void*)ret); + return (void*)ret; // already bridged + } + // get wrapper + k = kh_get(symbolmap, wrappers->glwrappers, rname); + if(k==kh_end(wrappers->glwrappers) && strstr(rname, "ARB")==NULL) { + // try again, adding ARB at the end if not present + char tmp[200]; + strcpy(tmp, rname); + strcat(tmp, "ARB"); + k = kh_get(symbolmap, wrappers->glwrappers, tmp); + } + if(k==kh_end(wrappers->glwrappers) && strstr(rname, "EXT")==NULL) { + // try again, adding EXT at the end if not present + char tmp[200]; + strcpy(tmp, rname); + strcat(tmp, "EXT"); + k = kh_get(symbolmap, wrappers->glwrappers, tmp); + } + if(k==kh_end(wrappers->glwrappers)) { + printf_dlsym(LOG_DEBUG, "%p\n", NULL); + printf_dlsym(LOG_INFO, "Warning, no wrapper for %s\n", rname); + return NULL; + } + symbol1_t* s = &kh_value(wrappers->glwrappers, k); + if(!s->resolved) { + const char* constname = kh_key(wrappers->glwrappers, k); + AddOffsetSymbol(emu->context->maplib, symbol, rname); + s->addr = AddCheckBridge(emu->context->system, s->w, symbol, 0, constname); + s->resolved = 1; + } + ret = s->addr; + printf_dlsym(LOG_DEBUG, "%p\n", (void*)ret); + return (void*)ret; +} diff --git a/src/wrapped32/wrappedlibgl_private.h b/src/wrapped32/wrappedlibgl_private.h new file mode 100644 index 000000000..d154c602f --- /dev/null +++ b/src/wrapped32/wrappedlibgl_private.h @@ -0,0 +1,4063 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif +//VERSION_1_0 +GO(glAccum, vFuf) +GO(glAlphaFunc, vFuf) +GO(glBegin, vFu) +GO(glBitmap, vFiiffffp) +GO(glBlendFunc, vFuu) +GO(glCallList, vFu) +GO(glCallLists, vFiup) +GO(glClear, vFu) +GO(glClearAccum, vFffff) +GO(glClearColor, vFffff) +GO(glClearDepth, vFd) +GO(glClearIndex, vFf) +GO(glClearStencil, vFi) +GO(glClipPlane, vFup) +GO(glColor3b, vFccc) +GO(glColor3bv, vFp) +GO(glColor3d, vFddd) +GO(glColor3dv, vFp) +GO(glColor3f, vFfff) +GO(glColor3fv, vFp) +GO(glColor3i, vFiii) +GO(glColor3iv, vFp) +GO(glColor3s, vFwww) +GO(glColor3sv, vFp) +GO(glColor3ub, vFCCC) +GO(glColor3ubv, vFp) +GO(glColor3ui, vFuuu) +GO(glColor3uiv, vFp) +GO(glColor3us, vFWWW) +GO(glColor3usv, vFp) +GO(glColor4b, vFcccc) +GO(glColor4bv, vFp) +GO(glColor4d, vFdddd) +GO(glColor4dv, vFp) +GO(glColor4f, vFffff) +GO(glColor4fv, vFp) +GO(glColor4i, vFiiii) +GO(glColor4iv, vFp) +GO(glColor4s, vFwwww) +GO(glColor4sv, vFp) +GO(glColor4ub, vFCCCC) +GO(glColor4ubv, vFp) +GO(glColor4ui, vFuuuu) +GO(glColor4uiv, vFp) +GO(glColor4us, vFWWWW) +GO(glColor4usv, vFp) +GO(glColorMask, vFCCCC) +GO(glColorMaterial, vFuu) +GO(glCopyPixels, vFiiiiu) +GO(glCullFace, vFu) +GO(glDeleteLists, vFui) +GO(glDepthFunc, vFu) +GO(glDepthMask, vFC) +GO(glDepthRange, vFdd) +GO(glDisable, vFu) +GO(glDrawBuffer, vFu) +GO(glDrawPixels, vFiiuup) +GO(glEdgeFlag, vFC) +GO(glEdgeFlagv, vFp) +GO(glEnable, vFu) +GO(glEnd, vFv) +GO(glEndList, vFv) +GO(glEvalCoord1d, vFd) +GO(glEvalCoord1dv, vFp) +GO(glEvalCoord1f, vFf) +GO(glEvalCoord1fv, vFp) +GO(glEvalCoord2d, vFdd) +GO(glEvalCoord2dv, vFp) +GO(glEvalCoord2f, vFff) +GO(glEvalCoord2fv, vFp) +GO(glEvalMesh1, vFuii) +GO(glEvalMesh2, vFuiiii) +GO(glEvalPoint1, vFi) +GO(glEvalPoint2, vFii) +GO(glFeedbackBuffer, vFiup) +GO(glFinish, vFv) +GO(glFlush, vFv) +GO(glFogf, vFuf) +GO(glFogfv, vFup) +GO(glFogi, vFui) +GO(glFogiv, vFup) +GO(glFrontFace, vFu) +GO(glFrustum, vFdddddd) +GO(glGenLists, uFi) +GO(glGetBooleanv, vFup) +GO(glGetClipPlane, vFup) +GO(glGetDoublev, vFup) +GO(glGetError, uFv) +GO(glGetFloatv, vFup) +GO(glGetIntegerv, vFup) +GO(glGetLightfv, vFuup) +GO(glGetLightiv, vFuup) +GO(glGetMapdv, vFuup) +GO(glGetMapfv, vFuup) +GO(glGetMapiv, vFuup) +GO(glGetMaterialfv, vFuup) +GO(glGetMaterialiv, vFuup) +GO(glGetPixelMapfv, vFup) +GO(glGetPixelMapuiv, vFup) +GO(glGetPixelMapusv, vFup) +GO(glGetPolygonStipple, vFp) +GO(glGetString, pFu) +GO(glGetTexEnvfv, vFuup) +GO(glGetTexEnviv, vFuup) +GO(glGetTexGendv, vFuup) +GO(glGetTexGenfv, vFuup) +GO(glGetTexGeniv, vFuup) +GO(glGetTexImage, vFuiuup) +GO(glGetTexLevelParameterfv, vFuiup) +GO(glGetTexLevelParameteriv, vFuiup) +GO(glGetTexParameterfv, vFuup) +GO(glGetTexParameteriv, vFuup) +GO(glHint, vFuu) +GO(glIndexMask, vFu) +GO(glIndexd, vFd) +GO(glIndexdv, vFp) +GO(glIndexf, vFf) +GO(glIndexfv, vFp) +GO(glIndexi, vFi) +GO(glIndexiv, vFp) +GO(glIndexs, vFw) +GO(glIndexsv, vFp) +GO(glInitNames, vFv) +GO(glIsEnabled, CFu) +GO(glIsList, CFu) +GO(glLightModelf, vFuf) +GO(glLightModelfv, vFup) +GO(glLightModeli, vFui) +GO(glLightModeliv, vFup) +GO(glLightf, vFuuf) +GO(glLightfv, vFuup) +GO(glLighti, vFuui) +GO(glLightiv, vFuup) +GO(glLineStipple, vFiW) +GO(glLineWidth, vFf) +GO(glListBase, vFu) +GO(glLoadIdentity, vFv) +GO(glLoadMatrixd, vFp) +GO(glLoadMatrixf, vFp) +GO(glLoadName, vFu) +GO(glLogicOp, vFu) +GO(glMap1d, vFuddiip) +GO(glMap1f, vFuffiip) +GO(glMap2d, vFuddiiddiip) +GO(glMap2f, vFuffiiffiip) +GO(glMapGrid1d, vFidd) +GO(glMapGrid1f, vFiff) +GO(glMapGrid2d, vFiddidd) +GO(glMapGrid2f, vFiffiff) +GO(glMaterialf, vFuuf) +GO(glMaterialfv, vFuup) +GO(glMateriali, vFuui) +GO(glMaterialiv, vFuup) +GO(glMatrixMode, vFu) +GO(glMultMatrixd, vFp) +GO(glMultMatrixf, vFp) +GO(glNewList, vFuu) +GO(glNormal3b, vFccc) +GO(glNormal3bv, vFp) +GO(glNormal3d, vFddd) +GO(glNormal3dv, vFp) +GO(glNormal3f, vFfff) +GO(glNormal3fv, vFp) +GO(glNormal3i, vFiii) +GO(glNormal3iv, vFp) +GO(glNormal3s, vFwww) +GO(glNormal3sv, vFp) +GO(glOrtho, vFdddddd) +GO(glPassThrough, vFf) +GO(glPixelMapfv, vFuip) +GO(glPixelMapuiv, vFuip) +GO(glPixelMapusv, vFuip) +GO(glPixelStoref, vFuf) +GO(glPixelStorei, vFui) +GO(glPixelTransferf, vFuf) +GO(glPixelTransferi, vFui) +GO(glPixelZoom, vFff) +GO(glPointSize, vFf) +GO(glPolygonMode, vFuu) +GO(glPolygonStipple, vFp) +GO(glPopAttrib, vFv) +GO(glPopMatrix, vFv) +GO(glPopName, vFv) +GO(glPushAttrib, vFu) +GO(glPushMatrix, vFv) +GO(glPushName, vFu) +GO(glRasterPos2d, vFdd) +GO(glRasterPos2dv, vFp) +GO(glRasterPos2f, vFff) +GO(glRasterPos2fv, vFp) +GO(glRasterPos2i, vFii) +GO(glRasterPos2iv, vFp) +GO(glRasterPos2s, vFww) +GO(glRasterPos2sv, vFp) +GO(glRasterPos3d, vFddd) +GO(glRasterPos3dv, vFp) +GO(glRasterPos3f, vFfff) +GO(glRasterPos3fv, vFp) +GO(glRasterPos3i, vFiii) +GO(glRasterPos3iv, vFp) +GO(glRasterPos3s, vFwww) +GO(glRasterPos3sv, vFp) +GO(glRasterPos4d, vFdddd) +GO(glRasterPos4dv, vFp) +GO(glRasterPos4f, vFffff) +GO(glRasterPos4fv, vFp) +GO(glRasterPos4i, vFiiii) +GO(glRasterPos4iv, vFp) +GO(glRasterPos4s, vFwwww) +GO(glRasterPos4sv, vFp) +GO(glReadBuffer, vFu) +GO(glReadPixels, vFiiiiuup) +GO(glRectd, vFdddd) +GO(glRectdv, vFpp) +GO(glRectf, vFffff) +GO(glRectfv, vFpp) +GO(glRecti, vFiiii) +GO(glRectiv, vFpp) +GO(glRects, vFwwww) +GO(glRectsv, vFpp) +GO(glRenderMode, iFu) +GO(glRotated, vFdddd) +GO(glRotatef, vFffff) +GO(glScaled, vFddd) +GO(glScalef, vFfff) +GO(glScissor, vFiiii) +GO(glSelectBuffer, vFip) +GO(glShadeModel, vFu) +GO(glStencilFunc, vFuiu) +GO(glStencilMask, vFu) +GO(glStencilOp, vFuuu) +GO(glTexCoord1d, vFd) +GO(glTexCoord1dv, vFp) +GO(glTexCoord1f, vFf) +GO(glTexCoord1fv, vFp) +GO(glTexCoord1i, vFi) +GO(glTexCoord1iv, vFp) +GO(glTexCoord1s, vFw) +GO(glTexCoord1sv, vFp) +GO(glTexCoord2d, vFdd) +GO(glTexCoord2dv, vFp) +GO(glTexCoord2f, vFff) +GO(glTexCoord2fv, vFp) +GO(glTexCoord2i, vFii) +GO(glTexCoord2iv, vFp) +GO(glTexCoord2s, vFww) +GO(glTexCoord2sv, vFp) +GO(glTexCoord3d, vFddd) +GO(glTexCoord3dv, vFp) +GO(glTexCoord3f, vFfff) +GO(glTexCoord3fv, vFp) +GO(glTexCoord3i, vFiii) +GO(glTexCoord3iv, vFp) +GO(glTexCoord3s, vFwww) +GO(glTexCoord3sv, vFp) +GO(glTexCoord4d, vFdddd) +GO(glTexCoord4dv, vFp) +GO(glTexCoord4f, vFffff) +GO(glTexCoord4fv, vFp) +GO(glTexCoord4i, vFiiii) +GO(glTexCoord4iv, vFp) +GO(glTexCoord4s, vFwwww) +GO(glTexCoord4sv, vFp) +GO(glTexEnvf, vFuuf) +GO(glTexEnvfv, vFuup) +GO(glTexEnvi, vFuui) +GO(glTexEnviv, vFuup) +GO(glTexGend, vFuud) +GO(glTexGendv, vFuup) +GO(glTexGenf, vFuuf) +GO(glTexGenfv, vFuup) +GO(glTexGeni, vFuui) +GO(glTexGeniv, vFuup) +GO(glTexImage1D, vFuiiiiuup) +GO(glTexImage2D, vFuiiiiiuup) +GO(glTexParameterf, vFuuf) +GO(glTexParameterfv, vFuup) +GO(glTexParameteri, vFuui) +GO(glTexParameteriv, vFuup) +GO(glTranslated, vFddd) +GO(glTranslatef, vFfff) +GO(glVertex2d, vFdd) +GO(glVertex2dv, vFp) +GO(glVertex2f, vFff) +GO(glVertex2fv, vFp) +GO(glVertex2i, vFii) +GO(glVertex2iv, vFp) +GO(glVertex2s, vFww) +GO(glVertex2sv, vFp) +GO(glVertex3d, vFddd) +GO(glVertex3dv, vFp) +GO(glVertex3f, vFfff) +GO(glVertex3fv, vFp) +GO(glVertex3i, vFiii) +GO(glVertex3iv, vFp) +GO(glVertex3s, vFwww) +GO(glVertex3sv, vFp) +GO(glVertex4d, vFdddd) +GO(glVertex4dv, vFp) +GO(glVertex4f, vFffff) +GO(glVertex4fv, vFp) +GO(glVertex4i, vFiiii) +GO(glVertex4iv, vFp) +GO(glVertex4s, vFwwww) +GO(glVertex4sv, vFp) +GO(glViewport, vFiiii) +//VERSION_1_1 +GO(glAreTexturesResident, CFipp) +GO(glArrayElement, vFi) +GO(glBindTexture, vFuu) +GO(glColorPointer, vFiuip) +GO(glCopyTexImage1D, vFuiuiiii) +GO(glCopyTexImage2D, vFuiuiiiii) +GO(glCopyTexSubImage1D, vFuiiiii) +GO(glCopyTexSubImage2D, vFuiiiiiii) +GO(glDeleteTextures, vFip) +GO(glDisableClientState, vFu) +GO(glDrawArrays, vFuii) +GO(glDrawElements, vFuiup) +GO(glEdgeFlagPointer, vFip) +GO(glEnableClientState, vFu) +GO(glGenTextures, vFip) +GO(glGetPointerv, vFup) +GO(glIndexPointer, vFuip) +GO(glIndexub, vFC) +GO(glIndexubv, vFp) +GO(glInterleavedArrays, vFuip) +GO(glIsTexture, CFu) +GO(glNormalPointer, vFuip) +GO(glPolygonOffset, vFff) +GO(glPopClientAttrib, vFv) +GO(glPrioritizeTextures, vFipp) +GO(glPushClientAttrib, vFu) +GO(glTexCoordPointer, vFiuip) +GO(glTexSubImage1D, vFuiiiuup) +GO(glTexSubImage2D, vFuiiiiiuup) +GO(glVertexPointer, vFiuip) +//VERSION_1_2 +GO(glBlendColor, vFffff) +GO(glBlendEquation, vFu) +GO(glColorSubTable, vFuiiuup) +GO(glColorTable, vFuuiuup) +GO(glColorTableParameterfv, vFuup) +GO(glColorTableParameteriv, vFuup) +GO(glConvolutionFilter1D, vFuuiuup) +GO(glConvolutionFilter2D, vFuuiiuup) +GO(glConvolutionParameterf, vFuuf) +GO(glConvolutionParameterfv, vFuup) +GO(glConvolutionParameteri, vFuui) +GO(glConvolutionParameteriv, vFuup) +GO(glCopyColorSubTable, vFuiiii) +GO(glCopyColorTable, vFuuiii) +GO(glCopyConvolutionFilter1D, vFuuiii) +GO(glCopyConvolutionFilter2D, vFuuiiii) +GO(glCopyTexSubImage3D, vFuiiiiiiii) +GO(glDrawRangeElements, vFuuuiup) +GO(glGetColorTable, vFuuup) +GO(glGetColorTableParameterfv, vFuup) +GO(glGetColorTableParameteriv, vFuup) +GO(glGetConvolutionFilter, vFuuup) +GO(glGetConvolutionParameterfv, vFuup) +GO(glGetConvolutionParameteriv, vFuup) +GO(glGetHistogram, vFuCuup) +GO(glGetHistogramParameterfv, vFuup) +GO(glGetHistogramParameteriv, vFuup) +GO(glGetMinmax, vFuCuup) +GO(glGetMinmaxParameterfv, vFuup) +GO(glGetMinmaxParameteriv, vFuup) +GO(glGetSeparableFilter, vFuuuppp) +GO(glHistogram, vFuiuC) +GO(glMinmax, vFuuC) +GO(glResetHistogram, vFu) +GO(glResetMinmax, vFu) +GO(glSeparableFilter2D, vFuuiiuupp) +GO(glTexImage3D, vFuiiiiiiuup) +GO(glTexSubImage3D, vFuiiiiiiiuup) +//VERSION_1_3 +GO(glActiveTexture, vFu) +GO(glClientActiveTexture, vFu) +GO(glCompressedTexImage1D, vFuiuiiip) +GO(glCompressedTexImage2D, vFuiuiiiip) +GO(glCompressedTexImage3D, vFuiuiiiiip) +GO(glCompressedTexSubImage1D, vFuiiiuip) +GO(glCompressedTexSubImage2D, vFuiiiiiuip) +GO(glCompressedTexSubImage3D, vFuiiiiiiiuip) +GO(glGetCompressedTexImage, vFuip) +GO(glLoadTransposeMatrixd, vFp) +GO(glLoadTransposeMatrixf, vFp) +GO(glMultTransposeMatrixd, vFp) +GO(glMultTransposeMatrixf, vFp) +GO(glMultiTexCoord1d, vFud) +GO(glMultiTexCoord1dv, vFup) +GO(glMultiTexCoord1f, vFuf) +GO(glMultiTexCoord1fv, vFup) +GO(glMultiTexCoord1i, vFui) +GO(glMultiTexCoord1iv, vFup) +GO(glMultiTexCoord1s, vFuw) +GO(glMultiTexCoord1sv, vFup) +GO(glMultiTexCoord2d, vFudd) +GO(glMultiTexCoord2dv, vFup) +GO(glMultiTexCoord2f, vFuff) +GO(glMultiTexCoord2fv, vFup) +GO(glMultiTexCoord2i, vFuii) +GO(glMultiTexCoord2iv, vFup) +GO(glMultiTexCoord2s, vFuww) +GO(glMultiTexCoord2sv, vFup) +GO(glMultiTexCoord3d, vFuddd) +GO(glMultiTexCoord3dv, vFup) +GO(glMultiTexCoord3f, vFufff) +GO(glMultiTexCoord3fv, vFup) +GO(glMultiTexCoord3i, vFuiii) +GO(glMultiTexCoord3iv, vFup) +GO(glMultiTexCoord3s, vFuwww) +GO(glMultiTexCoord3sv, vFup) +GO(glMultiTexCoord4d, vFudddd) +GO(glMultiTexCoord4dv, vFup) +GO(glMultiTexCoord4f, vFuffff) +GO(glMultiTexCoord4fv, vFup) +GO(glMultiTexCoord4i, vFuiiii) +GO(glMultiTexCoord4iv, vFup) +GO(glMultiTexCoord4s, vFuwwww) +GO(glMultiTexCoord4sv, vFup) +GO(glSampleCoverage, vFfC) +//VERSION_1_4 +GO(glBlendFuncSeparate, vFuuuu) +GO(glFogCoordPointer, vFuip) +GO(glFogCoordd, vFd) +GO(glFogCoorddv, vFp) +GO(glFogCoordf, vFf) +GO(glFogCoordfv, vFp) +GO(glMultiDrawArrays, vFuppi) +GO(glMultiDrawElements, vFupupi) +GO(glPointParameterf, vFuf) +GO(glPointParameterfv, vFup) +GO(glPointParameteri, vFui) +GO(glPointParameteriv, vFup) +GO(glSecondaryColor3b, vFccc) +GO(glSecondaryColor3bv, vFp) +GO(glSecondaryColor3d, vFddd) +GO(glSecondaryColor3dv, vFp) +GO(glSecondaryColor3f, vFfff) +GO(glSecondaryColor3fv, vFp) +GO(glSecondaryColor3i, vFiii) +GO(glSecondaryColor3iv, vFp) +GO(glSecondaryColor3s, vFwww) +GO(glSecondaryColor3sv, vFp) +GO(glSecondaryColor3ub, vFCCC) +GO(glSecondaryColor3ubv, vFp) +GO(glSecondaryColor3ui, vFuuu) +GO(glSecondaryColor3uiv, vFp) +GO(glSecondaryColor3us, vFWWW) +GO(glSecondaryColor3usv, vFp) +GO(glSecondaryColorPointer, vFiuip) +GO(glWindowPos2d, vFdd) +GO(glWindowPos2dv, vFp) +GO(glWindowPos2f, vFff) +GO(glWindowPos2fv, vFp) +GO(glWindowPos2i, vFii) +GO(glWindowPos2iv, vFp) +GO(glWindowPos2s, vFww) +GO(glWindowPos2sv, vFp) +GO(glWindowPos3d, vFddd) +GO(glWindowPos3dv, vFp) +GO(glWindowPos3f, vFfff) +GO(glWindowPos3fv, vFp) +GO(glWindowPos3i, vFiii) +GO(glWindowPos3iv, vFp) +GO(glWindowPos3s, vFwww) +GO(glWindowPos3sv, vFp) +//VERSION_1_5 +GO(glBeginQuery, vFuu) +GO(glBindBuffer, vFuu) +GO(glBufferData, vFulpu) +GO(glBufferSubData, vFullp) +GO(glDeleteBuffers, vFip) +GO(glDeleteQueries, vFip) +GO(glEndQuery, vFu) +GO(glGenBuffers, vFip) +GO(glGenQueries, vFip) +GO(glGetBufferParameteriv, vFuup) +GO(glGetBufferPointerv, vFuup) +GO(glGetBufferSubData, vFullp) +GO(glGetQueryObjectiv, vFuup) +GO(glGetQueryObjectuiv, vFuup) +GO(glGetQueryiv, vFuup) +GO(glIsBuffer, CFu) +GO(glIsQuery, CFu) +GO(glMapBuffer, pFuu) +GO(glUnmapBuffer, CFu) +//VERSION_2_0 +GO(glAttachShader, vFuu) +GO(glBindAttribLocation, vFuup) +GO(glBlendEquationSeparate, vFuu) +GO(glCompileShader, vFu) +GO(glCreateProgram, uFv) +GO(glCreateShader, uFu) +GO(glDeleteProgram, vFu) +GO(glDeleteShader, vFu) +GO(glDetachShader, vFuu) +GO(glDisableVertexAttribArray, vFu) +GO(glDrawBuffers, vFip) +GO(glEnableVertexAttribArray, vFu) +GO(glGetActiveAttrib, vFuuipppp) +GO(glGetActiveUniform, vFuuipppp) +GO(glGetAttachedShaders, vFuipp) +GO(glGetAttribLocation, iFup) +GO(glGetProgramInfoLog, vFuipp) +GO(glGetProgramiv, vFuup) +GO(glGetShaderInfoLog, vFuipp) +GO(glGetShaderSource, vFuipp) +GO(glGetShaderiv, vFuup) +GO(glGetUniformLocation, iFup) +GO(glGetUniformfv, vFuip) +GO(glGetUniformiv, vFuip) +GO(glGetVertexAttribPointerv, vFuup) +GO(glGetVertexAttribdv, vFuup) +GO(glGetVertexAttribfv, vFuup) +GO(glGetVertexAttribiv, vFuup) +GO(glIsProgram, CFu) +GO(glIsShader, CFu) +GO(glLinkProgram, vFu) +GO(glShaderSource, vFuipp) +GO(glStencilFuncSeparate, vFuuiu) +GO(glStencilMaskSeparate, vFuu) +GO(glStencilOpSeparate, vFuuuu) +GO(glUniform1f, vFif) +GO(glUniform1fv, vFiip) +GO(glUniform1i, vFii) +GO(glUniform1iv, vFiip) +GO(glUniform2f, vFiff) +GO(glUniform2fv, vFiip) +GO(glUniform2i, vFiii) +GO(glUniform2iv, vFiip) +GO(glUniform3f, vFifff) +GO(glUniform3fv, vFiip) +GO(glUniform3i, vFiiii) +GO(glUniform3iv, vFiip) +GO(glUniform4f, vFiffff) +GO(glUniform4fv, vFiip) +GO(glUniform4i, vFiiiii) +GO(glUniform4iv, vFiip) +GO(glUniformMatrix2fv, vFiiCp) +GO(glUniformMatrix3fv, vFiiCp) +GO(glUniformMatrix4fv, vFiiCp) +GO(glUseProgram, vFu) +GO(glValidateProgram, vFu) +GO(glVertexAttrib1d, vFud) +GO(glVertexAttrib1dv, vFup) +GO(glVertexAttrib1f, vFuf) +GO(glVertexAttrib1fv, vFup) +GO(glVertexAttrib1s, vFuw) +GO(glVertexAttrib1sv, vFup) +GO(glVertexAttrib2d, vFudd) +GO(glVertexAttrib2dv, vFup) +GO(glVertexAttrib2f, vFuff) +GO(glVertexAttrib2fv, vFup) +GO(glVertexAttrib2s, vFuww) +GO(glVertexAttrib2sv, vFup) +GO(glVertexAttrib3d, vFuddd) +GO(glVertexAttrib3dv, vFup) +GO(glVertexAttrib3f, vFufff) +GO(glVertexAttrib3fv, vFup) +GO(glVertexAttrib3s, vFuwww) +GO(glVertexAttrib3sv, vFup) +GO(glVertexAttrib4Nbv, vFup) +GO(glVertexAttrib4Niv, vFup) +GO(glVertexAttrib4Nsv, vFup) +GO(glVertexAttrib4Nub, vFuCCCC) +GO(glVertexAttrib4Nubv, vFup) +GO(glVertexAttrib4Nuiv, vFup) +GO(glVertexAttrib4Nusv, vFup) +GO(glVertexAttrib4bv, vFup) +GO(glVertexAttrib4d, vFudddd) +GO(glVertexAttrib4dv, vFup) +GO(glVertexAttrib4f, vFuffff) +GO(glVertexAttrib4fv, vFup) +GO(glVertexAttrib4iv, vFup) +GO(glVertexAttrib4s, vFuwwww) +GO(glVertexAttrib4sv, vFup) +GO(glVertexAttrib4ubv, vFup) +GO(glVertexAttrib4uiv, vFup) +GO(glVertexAttrib4usv, vFup) +GO(glVertexAttribPointer, vFuiuCip) +//VERSION_2_1 +GO(glUniformMatrix2x3fv, vFiiCp) +GO(glUniformMatrix2x4fv, vFiiCp) +GO(glUniformMatrix3x2fv, vFiiCp) +GO(glUniformMatrix3x4fv, vFiiCp) +GO(glUniformMatrix4x2fv, vFiiCp) +GO(glUniformMatrix4x3fv, vFiiCp) +//VERSION_3_0 +GO(glBeginConditionalRender, vFuu) +GO(glBeginTransformFeedback, vFu) +GO(glBindBufferBase, vFuuu) +GO(glBindBufferRange, vFuuull) +GO(glBindFragDataLocation, vFuup) +GO(glClampColor, vFuu) +GO(glClearBufferfi, vFuifi) +GO(glClearBufferfv, vFuip) +GO(glClearBufferiv, vFuip) +GO(glClearBufferuiv, vFuip) +GO(glColorMaski, vFuCCCC) +GO(glDisablei, vFuu) +GO(glEnablei, vFuu) +GO(glEndConditionalRender, vFv) +GO(glEndTransformFeedback, vFv) +GO(glGetBooleani_v, vFuup) +GO(glGetFragDataLocation, iFup) +GO(glGetIntegeri_v, vFuup) +GO(glGetStringi, pFuu) +GO(glGetTexParameterIiv, vFuup) +GO(glGetTexParameterIuiv, vFuup) +GO(glGetTransformFeedbackVarying, vFuuipppp) +GO(glGetUniformuiv, vFuip) +GO(glGetVertexAttribIiv, vFuup) +GO(glGetVertexAttribIuiv, vFuup) +GO(glIsEnabledi, CFuu) +GO(glTexParameterIiv, vFuup) +GO(glTexParameterIuiv, vFuup) +GO(glTransformFeedbackVaryings, vFuipu) +GO(glUniform1ui, vFiu) +GO(glUniform1uiv, vFiip) +GO(glUniform2ui, vFiuu) +GO(glUniform2uiv, vFiip) +GO(glUniform3ui, vFiuuu) +GO(glUniform3uiv, vFiip) +GO(glUniform4ui, vFiuuuu) +GO(glUniform4uiv, vFiip) +GO(glVertexAttribI1i, vFui) +GO(glVertexAttribI1iv, vFup) +GO(glVertexAttribI1ui, vFuu) +GO(glVertexAttribI1uiv, vFup) +GO(glVertexAttribI2i, vFuii) +GO(glVertexAttribI2iv, vFup) +GO(glVertexAttribI2ui, vFuuu) +GO(glVertexAttribI2uiv, vFup) +GO(glVertexAttribI3i, vFuiii) +GO(glVertexAttribI3iv, vFup) +GO(glVertexAttribI3ui, vFuuuu) +GO(glVertexAttribI3uiv, vFup) +GO(glVertexAttribI4bv, vFup) +GO(glVertexAttribI4i, vFuiiii) +GO(glVertexAttribI4iv, vFup) +GO(glVertexAttribI4sv, vFup) +GO(glVertexAttribI4ubv, vFup) +GO(glVertexAttribI4ui, vFuuuuu) +GO(glVertexAttribI4uiv, vFup) +GO(glVertexAttribI4usv, vFup) +GO(glVertexAttribIPointer, vFuiuip) +//VERSION_3_1 +GO(glDrawArraysInstanced, vFuiii) +GO(glDrawElementsInstanced, vFuiupi) +GO(glPrimitiveRestartIndex, vFu) +GO(glTexBuffer, vFuuu) +//VERSION_3_2 +GO(glFramebufferTexture, vFuuui) +GO(glGetBufferParameteri64v, vFuup) +GO(glGetInteger64i_v, vFuup) +//VERSION_3_3 +GO(glVertexAttribDivisor, vFuu) +//VERSION_4_0 +GO(glBlendEquationSeparatei, vFuuu) +GO(glBlendEquationi, vFuu) +GO(glBlendFuncSeparatei, vFuuuuu) +GO(glBlendFunci, vFuuu) +GO(glMinSampleShading, vFf) +//VERSION_4_3 +GO(glInvalidateNamedFramebuffer, vFiup) +//VERSION_4_4 +GO(glBindBuffersBase, vFuuip) +GO(glBindBuffersRange, vFuuippp) +GO(glBindImageTextures, vFuip) +GO(glBindSamplers, vFuip) +GO(glBindTextures, vFuip) +GO(glBindVertexBuffers, vFuippp) +GO(glBufferStorage, vFulpu) +GO(glClearTexImage, vFuiuup) +GO(glClearTexSubImage, vFuiiiiiiiuup) +//VERSION_4_5 +GO(glClipControl, vFuu) +GO(glCreateTransformFeedbacks, vFip) +GO(glTransformFeedbackBufferBase, vFuuu) +GO(glTransformFeedbackBufferRange, vFuuull) +GO(glGetTransformFeedbackiv, vFuup) +GO(glGetTransformFeedbacki_v, vFuuup) +GO(glGetTransformFeedbacki64_v, vFuuup) +GO(glCreateBuffers, vFip) +GO(glNamedBufferStorage, vFulpu) +GO(glNamedBufferStorageEXT, vFulpu) +GO(glNamedBufferData, vFulpu) +GO(glNamedBufferSubData, vFullp) +GO(glCopyNamedBufferSubData, vFuulll) +GO(glClearNamedBufferData, vFuuuup) +GO(glClearNamedBufferSubData, vFuulluup) +GO(glMapNamedBuffer, pFuu) +GO(glMapNamedBufferRange, pFullu) +GO(glUnmapNamedBuffer, CFu) +GO(glFlushMappedNamedBufferRange, vFull) +GO(glGetNamedBufferParameteriv, vFuup) +GO(glGetNamedBufferParameteri64v, vFuup) +GO(glGetNamedBufferPointerv, vFuup) +GO(glGetNamedBufferSubData, vFullp) +GO(glCreateFramebuffers, vFip) +GO(glNamedFramebufferRenderbuffer, vFuuuu) +GO(glNamedFramebufferParameteri, vFuui) +GO(glNamedFramebufferTexture, vFuuui) +GO(glNamedFramebufferTextureLayer, vFuuuii) +GO(glNamedFramebufferDrawBuffer, vFuu) +GO(glNamedFramebufferDrawBuffers, vFuip) +GO(glNamedFramebufferReadBuffer, vFuu) +GO(glInvalidateNamedFramebufferData, vFuip) +GO(glInvalidateNamedFramebufferSubData, vFuipiiii) +GO(glClearNamedFramebufferiv, vFuuip) +GO(glClearNamedFramebufferuiv, vFuuip) +GO(glClearNamedFramebufferfv, vFuuip) +GO(glClearNamedFramebufferfi, vFuuifi) +GO(glBlitNamedFramebuffer, vFuuiiiiiiiiuu) +GO(glCheckNamedFramebufferStatus, uFuu) +GO(glGetNamedFramebufferParameteriv, vFuup) +GO(glGetNamedFramebufferAttachmentParameteriv, vFuuup) +GO(glCreateRenderbuffers, vFip) +GO(glNamedRenderbufferStorage, vFuuii) +GO(glNamedRenderbufferStorageMultisample, vFuiuii) +GO(glGetNamedRenderbufferParameteriv, vFuup) +GO(glCreateTextures, vFuip) +GO(glTextureBuffer, vFuuu) +GO(glTextureBufferRange, vFuuull) +GO(glTextureStorage1D, vFuiui) +GO(glTextureStorage2D, vFuiuii) +GO(glTextureStorage3D, vFuiuiii) +GO(glTextureStorage2DMultisample, vFuiuiiC) +GO(glTextureStorage3DMultisample, vFuiuiiiC) +GO(glTextureSubImage1D, vFuiiiuup) +GO(glTextureSubImage2D, vFuiiiiiuup) +GO(glTextureSubImage3D, vFuiiiiiiiuup) +GO(glCompressedTextureSubImage1D, vFuiiiuip) +GO(glCompressedTextureSubImage2D, vFuiiiiiuip) +GO(glCompressedTextureSubImage3D, vFuiiiiiiiuip) +GO(glCopyTextureSubImage1D, vFuiiiii) +GO(glCopyTextureSubImage2D, vFuiiiiiii) +GO(glCopyTextureSubImage3D, vFuiiiiiiii) +GO(glTextureParameterf, vFuuf) +GO(glTextureParameterfv, vFuup) +GO(glTextureParameteri, vFuui) +GO(glTextureParameterIiv, vFuup) +GO(glTextureParameterIuiv, vFuup) +GO(glTextureParameteriv, vFuup) +GO(glGenerateTextureMipmap, vFu) +GO(glBindTextureUnit, vFuu) +GO(glGetTextureImage, vFuiuuip) +GO(glGetCompressedTextureImage, vFuiip) +GO(glGetTextureLevelParameterfv, vFuiup) +GO(glGetTextureLevelParameteriv, vFuiup) +GO(glGetTextureParameterfv, vFuup) +GO(glGetTextureParameterIiv, vFuup) +GO(glGetTextureParameterIuiv, vFuup) +GO(glGetTextureParameteriv, vFuup) +GO(glCreateVertexArrays, vFip) +GO(glDisableVertexArrayAttrib, vFuu) +GO(glEnableVertexArrayAttrib, vFuu) +GO(glVertexArrayElementBuffer, vFuu) +GO(glVertexArrayVertexBuffer, vFuuuli) +GO(glVertexArrayVertexBuffers, vFuuippp) +GO(glVertexArrayAttribBinding, vFuuu) +GO(glVertexArrayAttribFormat, vFuuiuCu) +GO(glVertexArrayAttribIFormat, vFuuiuu) +GO(glVertexArrayAttribLFormat, vFuuiuu) +GO(glVertexArrayBindingDivisor, vFuuu) +GO(glGetVertexArrayiv, vFuup) +GO(glGetVertexArrayIndexediv, vFuuup) +GO(glGetVertexArrayIndexed64iv, vFuuup) +GO(glCreateSamplers, vFip) +GO(glCreateProgramPipelines, vFip) +GO(glTextureBarrier, vFv) +GO(glTextureParameteriiv, vFuip) +GO(glTextureParameteriuiv, vFuip) +GO(glCreateQueries, vFuip) +GO(glGetQueryBufferObjecti64v, vFuuul) +GO(glGetQueryBufferObjectiv, vFuuul) +GO(glGetQueryBufferObjectui64v, vFuuul) +GO(glGetQueryBufferObjectuiv, vFuuul) +GO(glMemoryBarrierByRegion, vFu) +GO(glGetTextureSubImage, vFuiiiiiiiuuip) +GO(glGetCompressedTextureSubImage, vFuiiiiiiiip) +GO(glGetGraphicsResetStatus, uFv) +GO(glGetnUniformfv, vFuiip) +GO(glGetnUniformiv, vFuiip) +GO(glGetnUniformuiv, vFuiip) +GO(glReadnPixels, vFiiiiuuip) +//VERSION_4_6 +GO(glSpecializeShader, vFupupp) + +GO(glTexturePageCommitmentEXT, vFuiiiiiiiC) +GO(glVertexArrayVertexAttribDivisorEXT, vFuuu) + +// _fini +//3DFX_tbuffer +GO(glTbufferMask3DFX, vFu) +//AMD_debug_output +GOM(glDebugMessageCallbackAMD, vFEpp) +GO(glDebugMessageEnableAMD, vFuuipC) +GO(glDebugMessageInsertAMD, vFuuuip) +GO(glGetDebugMessageLogAMD, uFuippppp) +//AMD_draw_buffers_blend +GO(glBlendEquationIndexedAMD, vFuu) +GO(glBlendEquationSeparateIndexedAMD, vFuuu) +GO(glBlendFuncIndexedAMD, vFuuu) +GO(glBlendFuncSeparateIndexedAMD, vFuuuuu) +//AMD_multi_draw_indirect +GO(glMultiDrawArraysIndirectAMD, vFupii) +GO(glMultiDrawElementsIndirectAMD, vFuupii) +//AMD_name_gen_delete +GO(glDeleteNamesAMD, vFuup) +GO(glGenNamesAMD, vFuup) +GO(glIsNameAMD, CFuu) +//AMD_performance_monitor +GO(glBeginPerfMonitorAMD, vFu) +GO(glDeletePerfMonitorsAMD, vFip) +GO(glEndPerfMonitorAMD, vFu) +GO(glGenPerfMonitorsAMD, vFip) +GO(glGetPerfMonitorCounterDataAMD, vFuuipp) +GO(glGetPerfMonitorCounterInfoAMD, vFuuup) +GO(glGetPerfMonitorCounterStringAMD, vFuuipp) +GO(glGetPerfMonitorCountersAMD, vFuppip) +GO(glGetPerfMonitorGroupStringAMD, vFuipp) +GO(glGetPerfMonitorGroupsAMD, vFpip) +GO(glSelectPerfMonitorCountersAMD, vFuCuip) +//AMD_sample_positions +GO(glSetMultisamplefvAMD, vFuup) +//AMD_sparse_texture +GO(glTexStorageSparseAMD, vFuuiiiiu) +GO(glTextureStorageSparseAMD, vFuuuiiiiu) +//AMD_stencil_operation_extended +GO(glStencilOpValueAMD, vFuu) +//AMD_vertex_shader_tessellator +GO(glTessellationFactorAMD, vFf) +GO(glTessellationModeAMD, vFu) +//APPLE_element_array +GO(glDrawElementArrayAPPLE, vFuii) +GO(glDrawRangeElementArrayAPPLE, vFuuuii) +GO(glElementPointerAPPLE, vFup) +GO(glMultiDrawElementArrayAPPLE, vFuppi) +GO(glMultiDrawRangeElementArrayAPPLE, vFuuuppi) +//APPLE_fence +GO(glDeleteFencesAPPLE, vFip) +GO(glFinishFenceAPPLE, vFu) +GO(glFinishObjectAPPLE, vFui) +GO(glGenFencesAPPLE, vFip) +GO(glIsFenceAPPLE, CFu) +GO(glSetFenceAPPLE, vFu) +GO(glTestFenceAPPLE, CFu) +GO(glTestObjectAPPLE, CFuu) +//APPLE_flush_buffer_range +GO(glBufferParameteriAPPLE, vFuui) +GO(glFlushMappedBufferRangeAPPLE, vFull) +//APPLE_object_purgeable +GO(glGetObjectParameterivAPPLE, vFuuup) +GO(glObjectPurgeableAPPLE, uFuuu) +GO(glObjectUnpurgeableAPPLE, uFuuu) +//APPLE_texture_range +GO(glGetTexParameterPointervAPPLE, vFuup) +GO(glTextureRangeAPPLE, vFuip) +//APPLE_vertex_array_object +GO(glBindVertexArrayAPPLE, vFu) +GO(glDeleteVertexArraysAPPLE, vFip) +GO(glGenVertexArraysAPPLE, vFip) +GO(glIsVertexArrayAPPLE, CFu) +//APPLE_vertex_array_range +GO(glFlushVertexArrayRangeAPPLE, vFip) +GO(glVertexArrayParameteriAPPLE, vFui) +GO(glVertexArrayRangeAPPLE, vFip) +//APPLE_vertex_program_evaluators +GO(glDisableVertexAttribAPPLE, vFuu) +GO(glEnableVertexAttribAPPLE, vFuu) +GO(glIsVertexAttribEnabledAPPLE, CFuu) +GO(glMapVertexAttrib1dAPPLE, vFuuddiip) +GO(glMapVertexAttrib1fAPPLE, vFuuffiip) +GO(glMapVertexAttrib2dAPPLE, vFuuddiiddiip) +GO(glMapVertexAttrib2fAPPLE, vFuuffiiffiip) +//ARB_ES2_compatibility +GO(glClearDepthf, vFf) +GO(glDepthRangef, vFff) +GO(glGetShaderPrecisionFormat, vFuupp) +GO(glReleaseShaderCompiler, vFv) +GO(glShaderBinary, vFipupi) +//ARB_base_instance +GO(glDrawArraysInstancedBaseInstance, vFuiiiu) +GO(glDrawElementsInstancedBaseInstance, vFuiupiu) +GO(glDrawElementsInstancedBaseVertexBaseInstance, vFuiupiiu) +//ARB_blend_func_extended +GO(glBindFragDataLocationIndexed, vFuuup) +GO(glGetFragDataIndex, iFup) +//ARB_cl_event +GO(glCreateSyncFromCLeventARB, pFppu) +//ARB_clear_buffer_object +GO(glClearBufferData, vFuuuup) +GO(glClearBufferSubData, vFuulluup) +GO(glClearNamedBufferDataEXT, vFuuuup) +GO(glClearNamedBufferSubDataEXT, vFuulluup) +//ARB_color_buffer_float +GO(glClampColorARB, vFuu) +//ARB_compute_shader +GO(glDispatchCompute, vFuuu) +GO(glDispatchComputeIndirect, vFl) +//ARB_copy_buffer +GO(glCopyBufferSubData, vFuulll) +//ARB_copy_image +GO(glCopyImageSubData, vFuuiiiiuuiiiiiii) +//ARB_debug_output +GOM(glDebugMessageCallbackARB, vFEpp) +GO(glDebugMessageControlARB, vFuuuipC) +GO(glDebugMessageInsertARB, vFuuuuip) +GO(glGetDebugMessageLogARB, uFuipppppp) +//ARB_draw_buffers +GO(glDrawBuffersARB, vFip) +//ARB_draw_buffers_blend +GO(glBlendEquationSeparateiARB, vFuuu) +GO(glBlendEquationiARB, vFuu) +GO(glBlendFuncSeparateiARB, vFuuuuu) +GO(glBlendFunciARB, vFuuu) +//ARB_draw_elements_base_vertex +GO(glDrawElementsBaseVertex, vFuiupi) +GO(glDrawElementsInstancedBaseVertex, vFuiupii) +GO(glDrawRangeElementsBaseVertex, vFuuuiupi) +GO(glMultiDrawElementsBaseVertex, vFupupip) +//ARB_draw_indirect +GO(glDrawArraysIndirect, vFup) +GO(glDrawElementsIndirect, vFuup) +//ARB_draw_instanced +GO(glDrawArraysInstancedARB, vFuiii) +GO(glDrawElementsInstancedARB, vFuiupi) +//ARB_framebuffer_no_attachments +GO(glFramebufferParameteri, vFuui) +GO(glGetFramebufferParameteriv, vFuup) +GO(glGetNamedFramebufferParameterivEXT, vFuup) +GO(glNamedFramebufferParameteriEXT, vFuui) +//ARB_framebuffer_object +GO(glBindFramebuffer, vFuu) +GO(glBindRenderbuffer, vFuu) +GO(glBlitFramebuffer, vFiiiiiiiiuu) +GO(glCheckFramebufferStatus, uFu) +GO(glDeleteFramebuffers, vFip) +GO(glDeleteRenderbuffers, vFip) +GO(glFramebufferRenderbuffer, vFuuuu) +GO(glFramebufferTexture1D, vFuuuui) +GO(glFramebufferTexture2D, vFuuuui) +GO(glFramebufferTexture3D, vFuuuuii) +GO(glFramebufferTextureLayer, vFuuuii) +GO(glGenFramebuffers, vFip) +GO(glGenRenderbuffers, vFip) +GO(glGenerateMipmap, vFu) +GO(glGetFramebufferAttachmentParameteriv, vFuuup) +GO(glGetRenderbufferParameteriv, vFuup) +GO(glIsFramebuffer, CFu) +GO(glIsRenderbuffer, CFu) +GO(glRenderbufferStorage, vFuuii) +GO(glRenderbufferStorageMultisample, vFuiuii) +//ARB_geometry_shader4 +GO(glFramebufferTextureARB, vFuuui) +GO(glFramebufferTextureFaceARB, vFuuuiu) +GO(glFramebufferTextureLayerARB, vFuuuii) +GO(glProgramParameteriARB, vFuui) +//ARB_get_program_binary +GO(glGetProgramBinary, vFuippp) +GO(glProgramBinary, vFuupi) +GO(glProgramParameteri, vFuui) +//ARB_gpu_shader_fp64 +GO(glGetUniformdv, vFuip) +GO(glUniform1d, vFid) +GO(glUniform1dv, vFiip) +GO(glUniform2d, vFidd) +GO(glUniform2dv, vFiip) +GO(glUniform3d, vFiddd) +GO(glUniform3dv, vFiip) +GO(glUniform4d, vFidddd) +GO(glUniform4dv, vFiip) +GO(glUniformMatrix2dv, vFiiCp) +GO(glUniformMatrix2x3dv, vFiiCp) +GO(glUniformMatrix2x4dv, vFiiCp) +GO(glUniformMatrix3dv, vFiiCp) +GO(glUniformMatrix3x2dv, vFiiCp) +GO(glUniformMatrix3x4dv, vFiiCp) +GO(glUniformMatrix4dv, vFiiCp) +GO(glUniformMatrix4x2dv, vFiiCp) +GO(glUniformMatrix4x3dv, vFiiCp) +//ARB_instanced_arrays +GO(glVertexAttribDivisorARB, vFuu) +//ARB_internalformat_query +GO(glGetInternalformativ, vFuuuip) +//ARB_internalformat_query2 +GO(glGetInternalformati64v, vFuuuip) +//ARB_invalidate_subdata +GO(glInvalidateBufferData, vFu) +GO(glInvalidateBufferSubData, vFull) +GO(glInvalidateFramebuffer, vFuip) +GO(glInvalidateSubFramebuffer, vFuipiiii) +GO(glInvalidateTexImage, vFui) +GO(glInvalidateTexSubImage, vFuiiiiiii) +//ARB_map_buffer_range +GO(glFlushMappedBufferRange, vFull) +GO(glMapBufferRange, pFullu) +//ARB_matrix_palette +GO(glCurrentPaletteMatrixARB, vFi) +GO(glMatrixIndexPointerARB, vFiuip) +GO(glMatrixIndexubvARB, vFip) +GO(glMatrixIndexuivARB, vFip) +GO(glMatrixIndexusvARB, vFip) +//ARB_multi_draw_indirect +GO(glMultiDrawArraysIndirect, vFupii) +GO(glMultiDrawElementsIndirect, vFuupii) +//ARB_multisample +GO(glSampleCoverageARB, vFfC) +//ARB_multitexture +GO(glActiveTextureARB, vFu) +GO(glClientActiveTextureARB, vFu) +GO(glMultiTexCoord1dARB, vFud) +GO(glMultiTexCoord1dvARB, vFup) +GO(glMultiTexCoord1fARB, vFuf) +GO(glMultiTexCoord1fvARB, vFup) +GO(glMultiTexCoord1iARB, vFui) +GO(glMultiTexCoord1ivARB, vFup) +GO(glMultiTexCoord1sARB, vFuw) +GO(glMultiTexCoord1svARB, vFup) +GO(glMultiTexCoord2dARB, vFudd) +GO(glMultiTexCoord2dvARB, vFup) +GO(glMultiTexCoord2fARB, vFuff) +GO(glMultiTexCoord2fvARB, vFup) +GO(glMultiTexCoord2iARB, vFuii) +GO(glMultiTexCoord2ivARB, vFup) +GO(glMultiTexCoord2sARB, vFuww) +GO(glMultiTexCoord2svARB, vFup) +GO(glMultiTexCoord3dARB, vFuddd) +GO(glMultiTexCoord3dvARB, vFup) +GO(glMultiTexCoord3fARB, vFufff) +GO(glMultiTexCoord3fvARB, vFup) +GO(glMultiTexCoord3iARB, vFuiii) +GO(glMultiTexCoord3ivARB, vFup) +GO(glMultiTexCoord3sARB, vFuwww) +GO(glMultiTexCoord3svARB, vFup) +GO(glMultiTexCoord4dARB, vFudddd) +GO(glMultiTexCoord4dvARB, vFup) +GO(glMultiTexCoord4fARB, vFuffff) +GO(glMultiTexCoord4fvARB, vFup) +GO(glMultiTexCoord4iARB, vFuiiii) +GO(glMultiTexCoord4ivARB, vFup) +GO(glMultiTexCoord4sARB, vFuwwww) +GO(glMultiTexCoord4svARB, vFup) +//ARB_occlusion_query +GO(glBeginQueryARB, vFuu) +GO(glDeleteQueriesARB, vFip) +GO(glEndQueryARB, vFu) +GO(glGenQueriesARB, vFip) +GO(glGetQueryObjectivARB, vFuup) +GO(glGetQueryObjectuivARB, vFuup) +GO(glGetQueryivARB, vFuup) +GO(glIsQueryARB, CFu) +//ARB_point_parameters +GO(glPointParameterfARB, vFuf) +GO(glPointParameterfvARB, vFup) +//ARB_program_interface_query +GO(glGetProgramInterfaceiv, vFuuup) +GO(glGetProgramResourceIndex, uFuup) +GO(glGetProgramResourceLocation, iFuup) +GO(glGetProgramResourceLocationIndex, iFuup) +GO(glGetProgramResourceName, vFuuuipp) +GO(glGetProgramResourceiv, vFuuuipipp) +//ARB_provoking_vertex +GO(glProvokingVertex, vFu) +//ARB_robustness +GO(glGetGraphicsResetStatusARB, uFv) +GO(glGetnColorTableARB, vFuuuip) +GO(glGetnCompressedTexImageARB, vFuiip) +GO(glGetnConvolutionFilterARB, vFuuuip) +GO(glGetnHistogramARB, vFuCuuip) +GO(glGetnMapdvARB, vFuuip) +GO(glGetnMapfvARB, vFuuip) +GO(glGetnMapivARB, vFuuip) +GO(glGetnMinmaxARB, vFuCuuip) +GO(glGetnPixelMapfvARB, vFuip) +GO(glGetnPixelMapuivARB, vFuip) +GO(glGetnPixelMapusvARB, vFuip) +GO(glGetnPolygonStippleARB, vFip) +GO(glGetnSeparableFilterARB, vFuuuipipp) +GO(glGetnTexImageARB, vFuiuuip) +GO(glGetnUniformdvARB, vFuiip) +GO(glGetnUniformfvARB, vFuiip) +GO(glGetnUniformivARB, vFuiip) +GO(glGetnUniformuivARB, vFuiip) +GO(glReadnPixelsARB, vFiiiiuuip) +//ARB_sample_shading +GO(glMinSampleShadingARB, vFf) +//ARB_sampler_objects +GO(glBindSampler, vFuu) +GO(glDeleteSamplers, vFip) +GO(glGenSamplers, vFip) +GO(glGetSamplerParameterIiv, vFuup) +GO(glGetSamplerParameterIuiv, vFuup) +GO(glGetSamplerParameterfv, vFuup) +GO(glGetSamplerParameteriv, vFuup) +GO(glIsSampler, CFu) +GO(glSamplerParameterIiv, vFuup) +GO(glSamplerParameterIuiv, vFuup) +GO(glSamplerParameterf, vFuuf) +GO(glSamplerParameterfv, vFuup) +GO(glSamplerParameteri, vFuui) +GO(glSamplerParameteriv, vFuup) +//ARB_separate_shader_objects +GO(glActiveShaderProgram, vFuu) +GO(glBindProgramPipeline, vFu) +GO(glCreateShaderProgramv, uFuip) +GO(glDeleteProgramPipelines, vFip) +GO(glGenProgramPipelines, vFip) +GO(glGetProgramPipelineInfoLog, vFuipp) +GO(glGetProgramPipelineiv, vFuup) +GO(glIsProgramPipeline, CFu) +GO(glProgramUniform1d, vFuid) +GO(glProgramUniform1dv, vFuiip) +GO(glProgramUniform1f, vFuif) +GO(glProgramUniform1fv, vFuiip) +GO(glProgramUniform1i, vFuii) +GO(glProgramUniform1iv, vFuiip) +GO(glProgramUniform1ui, vFuiu) +GO(glProgramUniform1uiv, vFuiip) +GO(glProgramUniform2d, vFuidd) +GO(glProgramUniform2dv, vFuiip) +GO(glProgramUniform2f, vFuiff) +GO(glProgramUniform2fv, vFuiip) +GO(glProgramUniform2i, vFuiii) +GO(glProgramUniform2iv, vFuiip) +GO(glProgramUniform2ui, vFuiuu) +GO(glProgramUniform2uiv, vFuiip) +GO(glProgramUniform3d, vFuiddd) +GO(glProgramUniform3dv, vFuiip) +GO(glProgramUniform3f, vFuifff) +GO(glProgramUniform3fv, vFuiip) +GO(glProgramUniform3i, vFuiiii) +GO(glProgramUniform3iv, vFuiip) +GO(glProgramUniform3ui, vFuiuuu) +GO(glProgramUniform3uiv, vFuiip) +GO(glProgramUniform4d, vFuidddd) +GO(glProgramUniform4dv, vFuiip) +GO(glProgramUniform4f, vFuiffff) +GO(glProgramUniform4fv, vFuiip) +GO(glProgramUniform4i, vFuiiiii) +GO(glProgramUniform4iv, vFuiip) +GO(glProgramUniform4ui, vFuiuuuu) +GO(glProgramUniform4uiv, vFuiip) +GO(glProgramUniformMatrix2dv, vFuiiCp) +GO(glProgramUniformMatrix2fv, vFuiiCp) +GO(glProgramUniformMatrix2x3dv, vFuiiCp) +GO(glProgramUniformMatrix2x3fv, vFuiiCp) +GO(glProgramUniformMatrix2x4dv, vFuiiCp) +GO(glProgramUniformMatrix2x4fv, vFuiiCp) +GO(glProgramUniformMatrix3dv, vFuiiCp) +GO(glProgramUniformMatrix3fv, vFuiiCp) +GO(glProgramUniformMatrix3x2dv, vFuiiCp) +GO(glProgramUniformMatrix3x2fv, vFuiiCp) +GO(glProgramUniformMatrix3x4dv, vFuiiCp) +GO(glProgramUniformMatrix3x4fv, vFuiiCp) +GO(glProgramUniformMatrix4dv, vFuiiCp) +GO(glProgramUniformMatrix4fv, vFuiiCp) +GO(glProgramUniformMatrix4x2dv, vFuiiCp) +GO(glProgramUniformMatrix4x2fv, vFuiiCp) +GO(glProgramUniformMatrix4x3dv, vFuiiCp) +GO(glProgramUniformMatrix4x3fv, vFuiiCp) +GO(glUseProgramStages, vFuuu) +GO(glValidateProgramPipeline, vFu) +//ARB_shader_atomic_counters +GO(glGetActiveAtomicCounterBufferiv, vFuuup) +//ARB_shader_image_load_store +GO(glBindImageTexture, vFuuiCiuu) +GO(glMemoryBarrier, vFu) +//ARB_shader_objects +GO(glAttachObjectARB, vFuu) +GO(glCompileShaderARB, vFu) +GO(glCreateProgramObjectARB, uFv) +GO(glCreateShaderObjectARB, uFu) +GO(glDeleteObjectARB, vFu) +GO(glDetachObjectARB, vFuu) +GO(glGetActiveUniformARB, vFuuipppp) +GO(glGetAttachedObjectsARB, vFuipp) +GO(glGetHandleARB, uFu) +GO(glGetInfoLogARB, vFuipp) +GO(glGetObjectParameterfvARB, vFuup) +GO(glGetObjectParameterivARB, vFuup) +GO(glGetShaderSourceARB, vFuipp) +GO(glGetUniformLocationARB, iFup) +GO(glGetUniformfvARB, vFuip) +GO(glGetUniformivARB, vFuip) +GO(glLinkProgramARB, vFu) +GO(glShaderSourceARB, vFuipp) +GO(glUniform1fARB, vFif) +GO(glUniform1fvARB, vFiip) +GO(glUniform1iARB, vFii) +GO(glUniform1ivARB, vFiip) +GO(glUniform2fARB, vFiff) +GO(glUniform2fvARB, vFiip) +GO(glUniform2iARB, vFiii) +GO(glUniform2ivARB, vFiip) +GO(glUniform3fARB, vFifff) +GO(glUniform3fvARB, vFiip) +GO(glUniform3iARB, vFiiii) +GO(glUniform3ivARB, vFiip) +GO(glUniform4fARB, vFiffff) +GO(glUniform4fvARB, vFiip) +GO(glUniform4iARB, vFiiiii) +GO(glUniform4ivARB, vFiip) +GO(glUniformMatrix2fvARB, vFiiCp) +GO(glUniformMatrix3fvARB, vFiiCp) +GO(glUniformMatrix4fvARB, vFiiCp) +GO(glUseProgramObjectARB, vFu) +GO(glValidateProgramARB, vFu) +//ARB_shader_storage_buffer_object +GO(glShaderStorageBlockBinding, vFuuu) +//ARB_shader_subroutine +GO(glGetActiveSubroutineName, vFuuuipp) +GO(glGetActiveSubroutineUniformName, vFuuuipp) +GO(glGetActiveSubroutineUniformiv, vFuuuup) +GO(glGetProgramStageiv, vFuuup) +GO(glGetSubroutineIndex, uFuup) +GO(glGetSubroutineUniformLocation, iFuup) +GO(glGetUniformSubroutineuiv, vFuip) +GO(glUniformSubroutinesuiv, vFuip) +//ARB_shading_language_include +GO(glCompileShaderIncludeARB, vFuipp) +GO(glDeleteNamedStringARB, vFip) +GO(glGetNamedStringARB, vFipipp) +GO(glGetNamedStringivARB, vFipup) +GO(glIsNamedStringARB, CFip) +GO(glNamedStringARB, vFuipip) +//ARB_sync +GO(glClientWaitSync, uFpuU) +GO(glDeleteSync, vFp) +GO(glFenceSync, pFuu) +GO(glGetInteger64v, vFup) +GO(glGetSynciv, vFpuipp) +GO(glIsSync, CFp) +GO(glWaitSync, vFpuU) +//ARB_tessellation_shader +GO(glPatchParameterfv, vFup) +GO(glPatchParameteri, vFui) +//ARB_texture_buffer_object +GO(glTexBufferARB, vFuuu) +//ARB_texture_buffer_range +GO(glTexBufferRange, vFuuull) +GO(glTextureBufferRangeEXT, vFuuuull) +//ARB_texture_compression +GO(glCompressedTexImage1DARB, vFuiuiiip) +GO(glCompressedTexImage2DARB, vFuiuiiiip) +GO(glCompressedTexImage3DARB, vFuiuiiiiip) +GO(glCompressedTexSubImage1DARB, vFuiiiuip) +GO(glCompressedTexSubImage2DARB, vFuiiiiiuip) +GO(glCompressedTexSubImage3DARB, vFuiiiiiiiuip) +GO(glGetCompressedTexImageARB, vFuip) +//ARB_texture_multisample +GO(glGetMultisamplefv, vFuup) +GO(glSampleMaski, vFuu) +GO(glTexImage2DMultisample, vFuiuiiC) +GO(glTexImage3DMultisample, vFuiuiiiC) +//ARB_texture_storage +GO(glTexStorage1D, vFuiui) +GO(glTexStorage2D, vFuiuii) +GO(glTexStorage3D, vFuiuiii) +GO(glTextureStorage1DEXT, vFuuiui) +GO(glTextureStorage2DEXT, vFuuiuii) +GO(glTextureStorage3DEXT, vFuuiuiii) +//ARB_texture_storage_multisample +GO(glTexStorage2DMultisample, vFuiuiiC) +GO(glTexStorage3DMultisample, vFuiuiiiC) +GO(glTextureStorage2DMultisampleEXT, vFuuiuiiC) +GO(glTextureStorage3DMultisampleEXT, vFuuiuiiiC) +//ARB_texture_view +GO(glTextureView, vFuuuuuuuu) +//ARB_timer_query +GO(glGetQueryObjecti64v, vFuup) +GO(glGetQueryObjectui64v, vFuup) +GO(glQueryCounter, vFuu) +//ARB_transform_feedback2 +GO(glBindTransformFeedback, vFuu) +GO(glDeleteTransformFeedbacks, vFip) +GO(glDrawTransformFeedback, vFuu) +GO(glGenTransformFeedbacks, vFip) +GO(glIsTransformFeedback, CFu) +GO(glPauseTransformFeedback, vFv) +GO(glResumeTransformFeedback, vFv) +//ARB_transform_feedback3 +GO(glBeginQueryIndexed, vFuuu) +GO(glDrawTransformFeedbackStream, vFuuu) +GO(glEndQueryIndexed, vFuu) +GO(glGetQueryIndexediv, vFuuup) +//ARB_transform_feedback_instanced +GO(glDrawTransformFeedbackInstanced, vFuui) +GO(glDrawTransformFeedbackStreamInstanced, vFuuui) +//ARB_transpose_matrix +GO(glLoadTransposeMatrixdARB, vFp) +GO(glLoadTransposeMatrixfARB, vFp) +GO(glMultTransposeMatrixdARB, vFp) +GO(glMultTransposeMatrixfARB, vFp) +//ARB_uniform_buffer_object +GO(glGetActiveUniformBlockName, vFuuipp) +GO(glGetActiveUniformBlockiv, vFuuup) +GO(glGetActiveUniformName, vFuuipp) +GO(glGetActiveUniformsiv, vFuipup) +GO(glGetUniformBlockIndex, uFup) +GO(glGetUniformIndices, vFuipp) +GO(glUniformBlockBinding, vFuuu) +//ARB_vertex_array_object +GO(glBindVertexArray, vFu) +GO(glDeleteVertexArrays, vFip) +GO(glGenVertexArrays, vFip) +GO(glIsVertexArray, CFu) +//ARB_vertex_attrib_64bit +GO(glGetVertexAttribLdv, vFuup) +GO(glVertexAttribL1d, vFud) +GO(glVertexAttribL1dv, vFup) +GO(glVertexAttribL2d, vFudd) +GO(glVertexAttribL2dv, vFup) +GO(glVertexAttribL3d, vFuddd) +GO(glVertexAttribL3dv, vFup) +GO(glVertexAttribL4d, vFudddd) +GO(glVertexAttribL4dv, vFup) +GO(glVertexAttribLPointer, vFuiuip) +//ARB_vertex_attrib_binding +GO(glBindVertexBuffer, vFuuli) +GO(glVertexArrayBindVertexBufferEXT, vFuuuli) +GO(glVertexArrayVertexAttribBindingEXT, vFuuu) +GO(glVertexArrayVertexAttribFormatEXT, vFuuiuCu) +GO(glVertexArrayVertexAttribIFormatEXT, vFuuiuu) +GO(glVertexArrayVertexAttribLFormatEXT, vFuuiuu) +GO(glVertexArrayVertexBindingDivisorEXT, vFuuu) +GO(glVertexAttribBinding, vFuu) +GO(glVertexAttribFormat, vFuiuCu) +GO(glVertexAttribIFormat, vFuiuu) +GO(glVertexAttribLFormat, vFuiuu) +GO(glVertexBindingDivisor, vFuu) +//ARB_vertex_blend +GO(glVertexBlendARB, vFi) +GO(glWeightPointerARB, vFiuip) +GO(glWeightbvARB, vFip) +GO(glWeightdvARB, vFip) +GO(glWeightfvARB, vFip) +GO(glWeightivARB, vFip) +GO(glWeightsvARB, vFip) +GO(glWeightubvARB, vFip) +GO(glWeightuivARB, vFip) +GO(glWeightusvARB, vFip) +//ARB_vertex_buffer_object +GO(glBindBufferARB, vFuu) +GO(glBufferDataARB, vFulpu) +GO(glBufferSubDataARB, vFullp) +GO(glDeleteBuffersARB, vFip) +GO(glGenBuffersARB, vFip) +GO(glGetBufferParameterivARB, vFuup) +GO(glGetBufferPointervARB, vFuup) +GO(glGetBufferSubDataARB, vFullp) +GO(glIsBufferARB, CFu) +GO(glMapBufferARB, pFuu) +GO(glUnmapBufferARB, CFu) +//ARB_vertex_program +GO(glBindProgramARB, vFuu) +GO(glDeleteProgramsARB, vFip) +GO(glDisableVertexAttribArrayARB, vFu) +GO(glEnableVertexAttribArrayARB, vFu) +GO(glGenProgramsARB, vFip) +GO(glGetProgramEnvParameterdvARB, vFuup) +GO(glGetProgramEnvParameterfvARB, vFuup) +GO(glGetProgramLocalParameterdvARB, vFuup) +GO(glGetProgramLocalParameterfvARB, vFuup) +GO(glGetProgramStringARB, vFuup) +GO(glGetProgramivARB, vFuup) +GO(glGetVertexAttribPointervARB, vFuup) +GO(glGetVertexAttribdvARB, vFuup) +GO(glGetVertexAttribfvARB, vFuup) +GO(glGetVertexAttribivARB, vFuup) +GO(glIsProgramARB, CFu) +GO(glProgramEnvParameter4dARB, vFuudddd) +GO(glProgramEnvParameter4dvARB, vFuup) +GO(glProgramEnvParameter4fARB, vFuuffff) +GO(glProgramEnvParameter4fvARB, vFuup) +GO(glProgramLocalParameter4dARB, vFuudddd) +GO(glProgramLocalParameter4dvARB, vFuup) +GO(glProgramLocalParameter4fARB, vFuuffff) +GO(glProgramLocalParameter4fvARB, vFuup) +GO(glProgramStringARB, vFuuip) +GO(glVertexAttrib1dARB, vFud) +GO(glVertexAttrib1dvARB, vFup) +GO(glVertexAttrib1fARB, vFuf) +GO(glVertexAttrib1fvARB, vFup) +GO(glVertexAttrib1sARB, vFuw) +GO(glVertexAttrib1svARB, vFup) +GO(glVertexAttrib2dARB, vFudd) +GO(glVertexAttrib2dvARB, vFup) +GO(glVertexAttrib2fARB, vFuff) +GO(glVertexAttrib2fvARB, vFup) +GO(glVertexAttrib2sARB, vFuww) +GO(glVertexAttrib2svARB, vFup) +GO(glVertexAttrib3dARB, vFuddd) +GO(glVertexAttrib3dvARB, vFup) +GO(glVertexAttrib3fARB, vFufff) +GO(glVertexAttrib3fvARB, vFup) +GO(glVertexAttrib3sARB, vFuwww) +GO(glVertexAttrib3svARB, vFup) +GO(glVertexAttrib4NbvARB, vFup) +GO(glVertexAttrib4NivARB, vFup) +GO(glVertexAttrib4NsvARB, vFup) +GO(glVertexAttrib4NubARB, vFuCCCC) +GO(glVertexAttrib4NubvARB, vFup) +GO(glVertexAttrib4NuivARB, vFup) +GO(glVertexAttrib4NusvARB, vFup) +GO(glVertexAttrib4bvARB, vFup) +GO(glVertexAttrib4dARB, vFudddd) +GO(glVertexAttrib4dvARB, vFup) +GO(glVertexAttrib4fARB, vFuffff) +GO(glVertexAttrib4fvARB, vFup) +GO(glVertexAttrib4ivARB, vFup) +GO(glVertexAttrib4sARB, vFuwwww) +GO(glVertexAttrib4svARB, vFup) +GO(glVertexAttrib4ubvARB, vFup) +GO(glVertexAttrib4uivARB, vFup) +GO(glVertexAttrib4usvARB, vFup) +GO(glVertexAttribPointerARB, vFuiuCip) +//ARB_vertex_shader +GO(glBindAttribLocationARB, vFuup) +GO(glGetActiveAttribARB, vFuuipppp) +GO(glGetAttribLocationARB, iFup) +//ARB_vertex_type_2_10_10_10_rev +GO(glColorP3ui, vFuu) +GO(glColorP3uiv, vFup) +GO(glColorP4ui, vFuu) +GO(glColorP4uiv, vFup) +GO(glMultiTexCoordP1ui, vFuuu) +GO(glMultiTexCoordP1uiv, vFuup) +GO(glMultiTexCoordP2ui, vFuuu) +GO(glMultiTexCoordP2uiv, vFuup) +GO(glMultiTexCoordP3ui, vFuuu) +GO(glMultiTexCoordP3uiv, vFuup) +GO(glMultiTexCoordP4ui, vFuuu) +GO(glMultiTexCoordP4uiv, vFuup) +GO(glNormalP3ui, vFuu) +GO(glNormalP3uiv, vFup) +GO(glSecondaryColorP3ui, vFuu) +GO(glSecondaryColorP3uiv, vFup) +GO(glTexCoordP1ui, vFuu) +GO(glTexCoordP1uiv, vFup) +GO(glTexCoordP2ui, vFuu) +GO(glTexCoordP2uiv, vFup) +GO(glTexCoordP3ui, vFuu) +GO(glTexCoordP3uiv, vFup) +GO(glTexCoordP4ui, vFuu) +GO(glTexCoordP4uiv, vFup) +GO(glVertexAttribP1ui, vFuuCu) +GO(glVertexAttribP1uiv, vFuuCp) +GO(glVertexAttribP2ui, vFuuCu) +GO(glVertexAttribP2uiv, vFuuCp) +GO(glVertexAttribP3ui, vFuuCu) +GO(glVertexAttribP3uiv, vFuuCp) +GO(glVertexAttribP4ui, vFuuCu) +GO(glVertexAttribP4uiv, vFuuCp) +GO(glVertexP2ui, vFuu) +GO(glVertexP2uiv, vFup) +GO(glVertexP3ui, vFuu) +GO(glVertexP3uiv, vFup) +GO(glVertexP4ui, vFuu) +GO(glVertexP4uiv, vFup) +//ARB_viewport_array +GO(glDepthRangeArrayv, vFuip) +GO(glDepthRangeIndexed, vFudd) +GO(glGetDoublei_v, vFuup) +GO(glGetFloati_v, vFuup) +GO(glScissorArrayv, vFuip) +GO(glScissorIndexed, vFuiiii) +GO(glScissorIndexedv, vFup) +GO(glViewportArrayv, vFuip) +GO(glViewportIndexedf, vFuffff) +GO(glViewportIndexedfv, vFup) +//ARB_window_pos +GO(glWindowPos2dARB, vFdd) +GO(glWindowPos2dvARB, vFp) +GO(glWindowPos2fARB, vFff) +GO(glWindowPos2fvARB, vFp) +GO(glWindowPos2iARB, vFii) +GO(glWindowPos2ivARB, vFp) +GO(glWindowPos2sARB, vFww) +GO(glWindowPos2svARB, vFp) +GO(glWindowPos3dARB, vFddd) +GO(glWindowPos3dvARB, vFp) +GO(glWindowPos3fARB, vFfff) +GO(glWindowPos3fvARB, vFp) +GO(glWindowPos3iARB, vFiii) +GO(glWindowPos3ivARB, vFp) +GO(glWindowPos3sARB, vFwww) +GO(glWindowPos3svARB, vFp) +//ATI_draw_buffers +GO(glDrawBuffersATI, vFip) +//ATI_element_array +GO(glDrawElementArrayATI, vFui) +GO(glDrawRangeElementArrayATI, vFuuui) +GO(glElementPointerATI, vFup) +//ATI_envmap_bumpmap +GO(glGetTexBumpParameterfvATI, vFup) +GO(glGetTexBumpParameterivATI, vFup) +GO(glTexBumpParameterfvATI, vFup) +GO(glTexBumpParameterivATI, vFup) +//ATI_fragment_shader +GO(glAlphaFragmentOp1ATI, vFuuuuuu) +GO(glAlphaFragmentOp2ATI, vFuuuuuuuuu) +GO(glAlphaFragmentOp3ATI, vFuuuuuuuuuuuu) +GO(glBeginFragmentShaderATI, vFv) +GO(glBindFragmentShaderATI, vFu) +GO(glColorFragmentOp1ATI, vFuuuuuuu) +GO(glColorFragmentOp2ATI, vFuuuuuuuuuu) +GO(glColorFragmentOp3ATI, vFuuuuuuuuuuuuu) +GO(glDeleteFragmentShaderATI, vFu) +GO(glEndFragmentShaderATI, vFv) +GO(glGenFragmentShadersATI, uFu) +GO(glPassTexCoordATI, vFuuu) +GO(glSampleMapATI, vFuuu) +GO(glSetFragmentShaderConstantATI, vFup) +//ATI_map_object_buffer +GO(glMapObjectBufferATI, pFu) +GO(glUnmapObjectBufferATI, vFu) +//ATI_pn_triangles +GO(glPNTrianglesfATI, vFuf) +GO(glPNTrianglesiATI, vFui) +//ATI_separate_stencil +GO(glStencilFuncSeparateATI, vFuuiu) +GO(glStencilOpSeparateATI, vFuuuu) +//ATI_vertex_array_object +GO(glArrayObjectATI, vFuiuiuu) +GO(glFreeObjectBufferATI, vFu) +GO(glGetArrayObjectfvATI, vFuup) +GO(glGetArrayObjectivATI, vFuup) +GO(glGetObjectBufferfvATI, vFuup) +GO(glGetObjectBufferivATI, vFuup) +GO(glGetVariantArrayObjectfvATI, vFuup) +GO(glGetVariantArrayObjectivATI, vFuup) +GO(glIsObjectBufferATI, CFu) +GO(glNewObjectBufferATI, uFipu) +GO(glUpdateObjectBufferATI, vFuuipu) +GO(glVariantArrayObjectATI, vFuuiuu) +//ATI_vertex_attrib_array_object +GO(glGetVertexAttribArrayObjectfvATI, vFuup) +GO(glGetVertexAttribArrayObjectivATI, vFuup) +GO(glVertexAttribArrayObjectATI, vFuiuCiuu) +//ATI_vertex_streams +GO(glClientActiveVertexStreamATI, vFu) +GO(glNormalStream3bATI, vFuccc) +GO(glNormalStream3bvATI, vFup) +GO(glNormalStream3dATI, vFuddd) +GO(glNormalStream3dvATI, vFup) +GO(glNormalStream3fATI, vFufff) +GO(glNormalStream3fvATI, vFup) +GO(glNormalStream3iATI, vFuiii) +GO(glNormalStream3ivATI, vFup) +GO(glNormalStream3sATI, vFuwww) +GO(glNormalStream3svATI, vFup) +GO(glVertexBlendEnvfATI, vFuf) +GO(glVertexBlendEnviATI, vFui) +GO(glVertexStream1dATI, vFud) +GO(glVertexStream1dvATI, vFup) +GO(glVertexStream1fATI, vFuf) +GO(glVertexStream1fvATI, vFup) +GO(glVertexStream1iATI, vFui) +GO(glVertexStream1ivATI, vFup) +GO(glVertexStream1sATI, vFuw) +GO(glVertexStream1svATI, vFup) +GO(glVertexStream2dATI, vFudd) +GO(glVertexStream2dvATI, vFup) +GO(glVertexStream2fATI, vFuff) +GO(glVertexStream2fvATI, vFup) +GO(glVertexStream2iATI, vFuii) +GO(glVertexStream2ivATI, vFup) +GO(glVertexStream2sATI, vFuww) +GO(glVertexStream2svATI, vFup) +GO(glVertexStream3dATI, vFuddd) +GO(glVertexStream3dvATI, vFup) +GO(glVertexStream3fATI, vFufff) +GO(glVertexStream3fvATI, vFup) +GO(glVertexStream3iATI, vFuiii) +GO(glVertexStream3ivATI, vFup) +GO(glVertexStream3sATI, vFuwww) +GO(glVertexStream3svATI, vFup) +GO(glVertexStream4dATI, vFudddd) +GO(glVertexStream4dvATI, vFup) +GO(glVertexStream4fATI, vFuffff) +GO(glVertexStream4fvATI, vFup) +GO(glVertexStream4iATI, vFuiiii) +GO(glVertexStream4ivATI, vFup) +GO(glVertexStream4sATI, vFuwwww) +GO(glVertexStream4svATI, vFup) +//EXT_bindable_uniform +GO(glGetUniformBufferSizeEXT, iFui) +GO(glGetUniformOffsetEXT, lFui) +GO(glUniformBufferEXT, vFuiu) +//EXT_blend_color +GO(glBlendColorEXT, vFffff) +//EXT_blend_equation_separate +GO(glBlendEquationSeparateEXT, vFuu) +//EXT_blend_func_separate +GO(glBlendFuncSeparateEXT, vFuuuu) +//EXT_blend_minmax +GO(glBlendEquationEXT, vFu) +//EXT_color_subtable +GO(glColorSubTableEXT, vFuiiuup) +GO(glCopyColorSubTableEXT, vFuiiii) +//EXT_compiled_vertex_array +GO(glLockArraysEXT, vFii) +GO(glUnlockArraysEXT, vFv) +//EXT_convolution +GO(glConvolutionFilter1DEXT, vFuuiuup) +GO(glConvolutionFilter2DEXT, vFuuiiuup) +GO(glConvolutionParameterfEXT, vFuuf) +GO(glConvolutionParameterfvEXT, vFuup) +GO(glConvolutionParameteriEXT, vFuui) +GO(glConvolutionParameterivEXT, vFuup) +GO(glCopyConvolutionFilter1DEXT, vFuuiii) +GO(glCopyConvolutionFilter2DEXT, vFuuiiii) +GO(glGetConvolutionFilterEXT, vFuuup) +GO(glGetConvolutionParameterfvEXT, vFuup) +GO(glGetConvolutionParameterivEXT, vFuup) +GO(glGetSeparableFilterEXT, vFuuuppp) +GO(glSeparableFilter2DEXT, vFuuiiuupp) +//EXT_coordinate_frame +GO(glBinormal3bEXT, vFccc) +GO(glBinormal3bvEXT, vFp) +GO(glBinormal3dEXT, vFddd) +GO(glBinormal3dvEXT, vFp) +GO(glBinormal3fEXT, vFfff) +GO(glBinormal3fvEXT, vFp) +GO(glBinormal3iEXT, vFiii) +GO(glBinormal3ivEXT, vFp) +GO(glBinormal3sEXT, vFwww) +GO(glBinormal3svEXT, vFp) +GO(glBinormalPointerEXT, vFuip) +GO(glTangent3bEXT, vFccc) +GO(glTangent3bvEXT, vFp) +GO(glTangent3dEXT, vFddd) +GO(glTangent3dvEXT, vFp) +GO(glTangent3fEXT, vFfff) +GO(glTangent3fvEXT, vFp) +GO(glTangent3iEXT, vFiii) +GO(glTangent3ivEXT, vFp) +GO(glTangent3sEXT, vFwww) +GO(glTangent3svEXT, vFp) +GO(glTangentPointerEXT, vFuip) +//EXT_copy_texture +GO(glCopyTexImage1DEXT, vFuiuiiii) +GO(glCopyTexImage2DEXT, vFuiuiiiii) +GO(glCopyTexSubImage1DEXT, vFuiiiii) +GO(glCopyTexSubImage2DEXT, vFuiiiiiii) +GO(glCopyTexSubImage3DEXT, vFuiiiiiiii) +//EXT_cull_vertex +GO(glCullParameterdvEXT, vFup) +GO(glCullParameterfvEXT, vFup) +//EXT_depth_bounds_test +GO(glDepthBoundsEXT, vFdd) +//EXT_direct_state_access +GO(glBindMultiTextureEXT, vFuuu) +GO(glCheckNamedFramebufferStatusEXT, uFuu) +GO(glClientAttribDefaultEXT, vFu) +GO(glCompressedMultiTexImage1DEXT, vFuuiuiiip) +GO(glCompressedMultiTexImage2DEXT, vFuuiuiiiip) +GO(glCompressedMultiTexImage3DEXT, vFuuiuiiiiip) +GO(glCompressedMultiTexSubImage1DEXT, vFuuiiiuip) +GO(glCompressedMultiTexSubImage2DEXT, vFuuiiiiiuip) +GO(glCompressedMultiTexSubImage3DEXT, vFuuiiiiiiiuip) +GO(glCompressedTextureImage1DEXT, vFuuiuiiip) +GO(glCompressedTextureImage2DEXT, vFuuiuiiiip) +GO(glCompressedTextureImage3DEXT, vFuuiuiiiiip) +GO(glCompressedTextureSubImage1DEXT, vFuuiiiuip) +GO(glCompressedTextureSubImage2DEXT, vFuuiiiiiuip) +GO(glCompressedTextureSubImage3DEXT, vFuuiiiiiiiuip) +GO(glCopyMultiTexImage1DEXT, vFuuiuiiii) +GO(glCopyMultiTexImage2DEXT, vFuuiuiiiii) +GO(glCopyMultiTexSubImage1DEXT, vFuuiiiii) +GO(glCopyMultiTexSubImage2DEXT, vFuuiiiiiii) +GO(glCopyMultiTexSubImage3DEXT, vFuuiiiiiiii) +GO(glCopyTextureImage1DEXT, vFuuiuiiii) +GO(glCopyTextureImage2DEXT, vFuuiuiiiii) +GO(glCopyTextureSubImage1DEXT, vFuuiiiii) +GO(glCopyTextureSubImage2DEXT, vFuuiiiiiii) +GO(glCopyTextureSubImage3DEXT, vFuuiiiiiiii) +GO(glDisableClientStateIndexedEXT, vFuu) +GO(glDisableClientStateiEXT, vFuu) +GO(glDisableVertexArrayAttribEXT, vFuu) +GO(glDisableVertexArrayEXT, vFuu) +GO(glEnableClientStateIndexedEXT, vFuu) +GO(glEnableClientStateiEXT, vFuu) +GO(glEnableVertexArrayAttribEXT, vFuu) +GO(glEnableVertexArrayEXT, vFuu) +GO(glFlushMappedNamedBufferRangeEXT, vFull) +GO(glFramebufferDrawBufferEXT, vFuu) +GO(glFramebufferDrawBuffersEXT, vFuip) +GO(glFramebufferReadBufferEXT, vFuu) +GO(glGenerateMultiTexMipmapEXT, vFuu) +GO(glGenerateTextureMipmapEXT, vFuu) +GO(glGetCompressedMultiTexImageEXT, vFuuip) +GO(glGetCompressedTextureImageEXT, vFuuip) +GO(glGetDoubleIndexedvEXT, vFuup) +GO(glGetDoublei_vEXT, vFuup) +GO(glGetFloatIndexedvEXT, vFuup) +GO(glGetFloati_vEXT, vFuup) +GO(glGetFramebufferParameterivEXT, vFuup) +GO(glGetMultiTexEnvfvEXT, vFuuup) +GO(glGetMultiTexEnvivEXT, vFuuup) +GO(glGetMultiTexGendvEXT, vFuuup) +GO(glGetMultiTexGenfvEXT, vFuuup) +GO(glGetMultiTexGenivEXT, vFuuup) +GO(glGetMultiTexImageEXT, vFuuiuup) +GO(glGetMultiTexLevelParameterfvEXT, vFuuiup) +GO(glGetMultiTexLevelParameterivEXT, vFuuiup) +GO(glGetMultiTexParameterIivEXT, vFuuup) +GO(glGetMultiTexParameterIuivEXT, vFuuup) +GO(glGetMultiTexParameterfvEXT, vFuuup) +GO(glGetMultiTexParameterivEXT, vFuuup) +GO(glGetNamedBufferParameterivEXT, vFuup) +GO(glGetNamedBufferPointervEXT, vFuup) +GO(glGetNamedBufferSubDataEXT, vFullp) +GO(glGetNamedFramebufferAttachmentParameterivEXT, vFuuup) +GO(glGetNamedProgramLocalParameterIivEXT, vFuuup) +GO(glGetNamedProgramLocalParameterIuivEXT, vFuuup) +GO(glGetNamedProgramLocalParameterdvEXT, vFuuup) +GO(glGetNamedProgramLocalParameterfvEXT, vFuuup) +GO(glGetNamedProgramStringEXT, vFuuup) +GO(glGetNamedProgramivEXT, vFuuup) +GO(glGetNamedRenderbufferParameterivEXT, vFuup) +GO(glGetPointerIndexedvEXT, vFuup) +GO(glGetPointeri_vEXT, vFuup) +GO(glGetTextureImageEXT, vFuuiuup) +GO(glGetTextureLevelParameterfvEXT, vFuuiup) +GO(glGetTextureLevelParameterivEXT, vFuuiup) +GO(glGetTextureParameterIivEXT, vFuuup) +GO(glGetTextureParameterIuivEXT, vFuuup) +GO(glGetTextureParameterfvEXT, vFuuup) +GO(glGetTextureParameterivEXT, vFuuup) +GO(glGetVertexArrayIntegeri_vEXT, vFuuup) +GO(glGetVertexArrayIntegervEXT, vFuup) +GO(glGetVertexArrayPointeri_vEXT, vFuuup) +GO(glGetVertexArrayPointervEXT, vFuup) +GO(glMapNamedBufferEXT, pFuu) +GO(glMapNamedBufferRangeEXT, pFullu) +GO(glMatrixFrustumEXT, vFudddddd) +GO(glMatrixLoadIdentityEXT, vFu) +GO(glMatrixLoadTransposedEXT, vFup) +GO(glMatrixLoadTransposefEXT, vFup) +GO(glMatrixLoaddEXT, vFup) +GO(glMatrixLoadfEXT, vFup) +GO(glMatrixMultTransposedEXT, vFup) +GO(glMatrixMultTransposefEXT, vFup) +GO(glMatrixMultdEXT, vFup) +GO(glMatrixMultfEXT, vFup) +GO(glMatrixOrthoEXT, vFudddddd) +GO(glMatrixPopEXT, vFu) +GO(glMatrixPushEXT, vFu) +GO(glMatrixRotatedEXT, vFudddd) +GO(glMatrixRotatefEXT, vFuffff) +GO(glMatrixScaledEXT, vFuddd) +GO(glMatrixScalefEXT, vFufff) +GO(glMatrixTranslatedEXT, vFuddd) +GO(glMatrixTranslatefEXT, vFufff) +GO(glMultiTexBufferEXT, vFuuuu) +GO(glMultiTexCoordPointerEXT, vFuiuip) +GO(glMultiTexEnvfEXT, vFuuuf) +GO(glMultiTexEnvfvEXT, vFuuup) +GO(glMultiTexEnviEXT, vFuuui) +GO(glMultiTexEnvivEXT, vFuuup) +GO(glMultiTexGendEXT, vFuuud) +GO(glMultiTexGendvEXT, vFuuup) +GO(glMultiTexGenfEXT, vFuuuf) +GO(glMultiTexGenfvEXT, vFuuup) +GO(glMultiTexGeniEXT, vFuuui) +GO(glMultiTexGenivEXT, vFuuup) +GO(glMultiTexImage1DEXT, vFuuiiiiuup) +GO(glMultiTexImage2DEXT, vFuuiiiiiuup) +GO(glMultiTexImage3DEXT, vFuuiiiiiiuup) +GO(glMultiTexParameterIivEXT, vFuuup) +GO(glMultiTexParameterIuivEXT, vFuuup) +GO(glMultiTexParameterfEXT, vFuuuf) +GO(glMultiTexParameterfvEXT, vFuuup) +GO(glMultiTexParameteriEXT, vFuuui) +GO(glMultiTexParameterivEXT, vFuuup) +GO(glMultiTexRenderbufferEXT, vFuuu) +GO(glMultiTexSubImage1DEXT, vFuuiiiuup) +GO(glMultiTexSubImage2DEXT, vFuuiiiiiuup) +GO(glMultiTexSubImage3DEXT, vFuuiiiiiiiuup) +GO(glNamedBufferDataEXT, vFulpu) +GO(glNamedBufferSubDataEXT, vFullp) +GO(glNamedCopyBufferSubDataEXT, vFuulll) +GO(glNamedFramebufferRenderbufferEXT, vFuuuu) +GO(glNamedFramebufferTexture1DEXT, vFuuuui) +GO(glNamedFramebufferTexture2DEXT, vFuuuui) +GO(glNamedFramebufferTexture3DEXT, vFuuuuii) +GO(glNamedFramebufferTextureEXT, vFuuui) +GO(glNamedFramebufferTextureFaceEXT, vFuuuiu) +GO(glNamedFramebufferTextureLayerEXT, vFuuuii) +GO(glNamedProgramLocalParameter4dEXT, vFuuudddd) +GO(glNamedProgramLocalParameter4dvEXT, vFuuup) +GO(glNamedProgramLocalParameter4fEXT, vFuuuffff) +GO(glNamedProgramLocalParameter4fvEXT, vFuuup) +GO(glNamedProgramLocalParameterI4iEXT, vFuuuiiii) +GO(glNamedProgramLocalParameterI4ivEXT, vFuuup) +GO(glNamedProgramLocalParameterI4uiEXT, vFuuuuuuu) +GO(glNamedProgramLocalParameterI4uivEXT, vFuuup) +GO(glNamedProgramLocalParameters4fvEXT, vFuuuip) +GO(glNamedProgramLocalParametersI4ivEXT, vFuuuip) +GO(glNamedProgramLocalParametersI4uivEXT, vFuuuip) +GO(glNamedProgramStringEXT, vFuuuip) +GO(glNamedRenderbufferStorageEXT, vFuuii) +GO(glNamedRenderbufferStorageMultisampleCoverageEXT, vFuiiuii) +GO(glNamedRenderbufferStorageMultisampleEXT, vFuiuii) +GO(glProgramUniform1dEXT, vFuid) +GO(glProgramUniform1dvEXT, vFuiip) +GO(glProgramUniform1fEXT, vFuif) +GO(glProgramUniform1fvEXT, vFuiip) +GO(glProgramUniform1iEXT, vFuii) +GO(glProgramUniform1ivEXT, vFuiip) +GO(glProgramUniform1uiEXT, vFuiu) +GO(glProgramUniform1uivEXT, vFuiip) +GO(glProgramUniform2dEXT, vFuidd) +GO(glProgramUniform2dvEXT, vFuiip) +GO(glProgramUniform2fEXT, vFuiff) +GO(glProgramUniform2fvEXT, vFuiip) +GO(glProgramUniform2iEXT, vFuiii) +GO(glProgramUniform2ivEXT, vFuiip) +GO(glProgramUniform2uiEXT, vFuiuu) +GO(glProgramUniform2uivEXT, vFuiip) +GO(glProgramUniform3dEXT, vFuiddd) +GO(glProgramUniform3dvEXT, vFuiip) +GO(glProgramUniform3fEXT, vFuifff) +GO(glProgramUniform3fvEXT, vFuiip) +GO(glProgramUniform3iEXT, vFuiiii) +GO(glProgramUniform3ivEXT, vFuiip) +GO(glProgramUniform3uiEXT, vFuiuuu) +GO(glProgramUniform3uivEXT, vFuiip) +GO(glProgramUniform4dEXT, vFuidddd) +GO(glProgramUniform4dvEXT, vFuiip) +GO(glProgramUniform4fEXT, vFuiffff) +GO(glProgramUniform4fvEXT, vFuiip) +GO(glProgramUniform4iEXT, vFuiiiii) +GO(glProgramUniform4ivEXT, vFuiip) +GO(glProgramUniform4uiEXT, vFuiuuuu) +GO(glProgramUniform4uivEXT, vFuiip) +GO(glProgramUniformMatrix2dvEXT, vFuiiCp) +GO(glProgramUniformMatrix2fvEXT, vFuiiCp) +GO(glProgramUniformMatrix2x3dvEXT, vFuiiCp) +GO(glProgramUniformMatrix2x3fvEXT, vFuiiCp) +GO(glProgramUniformMatrix2x4dvEXT, vFuiiCp) +GO(glProgramUniformMatrix2x4fvEXT, vFuiiCp) +GO(glProgramUniformMatrix3dvEXT, vFuiiCp) +GO(glProgramUniformMatrix3fvEXT, vFuiiCp) +GO(glProgramUniformMatrix3x2dvEXT, vFuiiCp) +GO(glProgramUniformMatrix3x2fvEXT, vFuiiCp) +GO(glProgramUniformMatrix3x4dvEXT, vFuiiCp) +GO(glProgramUniformMatrix3x4fvEXT, vFuiiCp) +GO(glProgramUniformMatrix4dvEXT, vFuiiCp) +GO(glProgramUniformMatrix4fvEXT, vFuiiCp) +GO(glProgramUniformMatrix4x2dvEXT, vFuiiCp) +GO(glProgramUniformMatrix4x2fvEXT, vFuiiCp) +GO(glProgramUniformMatrix4x3dvEXT, vFuiiCp) +GO(glProgramUniformMatrix4x3fvEXT, vFuiiCp) +GO(glPushClientAttribDefaultEXT, vFu) +GO(glTextureBufferEXT, vFuuuu) +GO(glTextureImage1DEXT, vFuuiiiiuup) +GO(glTextureImage2DEXT, vFuuiiiiiuup) +GO(glTextureImage3DEXT, vFuuiiiiiiuup) +GO(glTextureParameterIivEXT, vFuuup) +GO(glTextureParameterIuivEXT, vFuuup) +GO(glTextureParameterfEXT, vFuuuf) +GO(glTextureParameterfvEXT, vFuuup) +GO(glTextureParameteriEXT, vFuuui) +GO(glTextureParameterivEXT, vFuuup) +GO(glTextureRenderbufferEXT, vFuuu) +GO(glTextureSubImage1DEXT, vFuuiiiuup) +GO(glTextureSubImage2DEXT, vFuuiiiiiuup) +GO(glTextureSubImage3DEXT, vFuuiiiiiiiuup) +GO(glUnmapNamedBufferEXT, CFu) +GO(glVertexArrayColorOffsetEXT, vFuuiuil) +GO(glVertexArrayEdgeFlagOffsetEXT, vFuuil) +GO(glVertexArrayFogCoordOffsetEXT, vFuuuil) +GO(glVertexArrayIndexOffsetEXT, vFuuuil) +GO(glVertexArrayMultiTexCoordOffsetEXT, vFuuuiuil) +GO(glVertexArrayNormalOffsetEXT, vFuuuil) +GO(glVertexArraySecondaryColorOffsetEXT, vFuuiuil) +GO(glVertexArrayTexCoordOffsetEXT, vFuuiuil) +GO(glVertexArrayVertexAttribIOffsetEXT, vFuuuiuil) +GO(glVertexArrayVertexAttribOffsetEXT, vFuuuiuCil) +GO(glVertexArrayVertexOffsetEXT, vFuuiuil) +//EXT_draw_buffers2 +GO(glColorMaskIndexedEXT, vFuCCCC) +GO(glDisableIndexedEXT, vFuu) +GO(glEnableIndexedEXT, vFuu) +GO(glGetBooleanIndexedvEXT, vFuup) +GO(glGetIntegerIndexedvEXT, vFuup) +GO(glIsEnabledIndexedEXT, CFuu) +//EXT_draw_instanced +GO(glDrawArraysInstancedEXT, vFuiii) +GO(glDrawElementsInstancedEXT, vFuiupi) +//EXT_draw_range_elements +GO(glDrawRangeElementsEXT, vFuuuiup) +//EXT_fog_coord +GO(glFogCoordPointerEXT, vFuip) +GO(glFogCoorddEXT, vFd) +GO(glFogCoorddvEXT, vFp) +GO(glFogCoordfEXT, vFf) +GO(glFogCoordfvEXT, vFp) +//EXT_framebuffer_blit +GO(glBlitFramebufferEXT, vFiiiiiiiiuu) +//EXT_framebuffer_object +GO(glBindFramebufferEXT, vFuu) +GO(glBindRenderbufferEXT, vFuu) +GO(glCheckFramebufferStatusEXT, uFu) +GO(glDeleteFramebuffersEXT, vFip) +GO(glDeleteRenderbuffersEXT, vFip) +GO(glFramebufferRenderbufferEXT, vFuuuu) +GO(glFramebufferTexture1DEXT, vFuuuui) +GO(glFramebufferTexture2DEXT, vFuuuui) +GO(glFramebufferTexture3DEXT, vFuuuuii) +GO(glGenFramebuffersEXT, vFip) +GO(glGenRenderbuffersEXT, vFip) +GO(glGenerateMipmapEXT, vFu) +GO(glGetFramebufferAttachmentParameterivEXT, vFuuup) +GO(glGetRenderbufferParameterivEXT, vFuup) +GO(glIsFramebufferEXT, CFu) +GO(glIsRenderbufferEXT, CFu) +GO(glRenderbufferStorageEXT, vFuuii) +//EXT_geometry_shader4 +GO(glProgramParameteriEXT, vFuui) +//EXT_gpu_program_parameters +GO(glProgramEnvParameters4fvEXT, vFuuip) +GO(glProgramLocalParameters4fvEXT, vFuuip) +//EXT_gpu_shader4 +GO(glBindFragDataLocationEXT, vFuup) +GO(glGetFragDataLocationEXT, iFup) +GO(glGetUniformuivEXT, vFuip) +GO(glUniform1uiEXT, vFiu) +GO(glUniform1uivEXT, vFiip) +GO(glUniform2uiEXT, vFiuu) +GO(glUniform2uivEXT, vFiip) +GO(glUniform3uiEXT, vFiuuu) +GO(glUniform3uivEXT, vFiip) +GO(glUniform4uiEXT, vFiuuuu) +GO(glUniform4uivEXT, vFiip) +//EXT_histogram +GO(glGetHistogramEXT, vFuCuup) +GO(glGetHistogramParameterfvEXT, vFuup) +GO(glGetHistogramParameterivEXT, vFuup) +GO(glGetMinmaxEXT, vFuCuup) +GO(glGetMinmaxParameterfvEXT, vFuup) +GO(glGetMinmaxParameterivEXT, vFuup) +GO(glHistogramEXT, vFuiuC) +GO(glMinmaxEXT, vFuuC) +GO(glResetHistogramEXT, vFu) +GO(glResetMinmaxEXT, vFu) +//EXT_index_func +GO(glIndexFuncEXT, vFuf) +//EXT_index_material +GO(glIndexMaterialEXT, vFuu) +//EXT_light_texture +GO(glApplyTextureEXT, vFu) +GO(glTextureLightEXT, vFu) +GO(glTextureMaterialEXT, vFuu) +//EXT_multi_draw_arrays +GO(glMultiDrawArraysEXT, vFuppi) +GO(glMultiDrawElementsEXT, vFupupi) +//EXT_multisample +GO(glSampleMaskEXT, vFfC) +GO(glSamplePatternEXT, vFu) +//EXT_paletted_texture +GO(glColorTableEXT, vFuuiuup) +GO(glGetColorTableEXT, vFuuup) +GO(glGetColorTableParameterfvEXT, vFuup) +GO(glGetColorTableParameterivEXT, vFuup) +//EXT_pixel_transform +GO(glGetPixelTransformParameterfvEXT, vFuup) +GO(glGetPixelTransformParameterivEXT, vFuup) +GO(glPixelTransformParameterfEXT, vFuuf) +GO(glPixelTransformParameterfvEXT, vFuup) +GO(glPixelTransformParameteriEXT, vFuui) +GO(glPixelTransformParameterivEXT, vFuup) +//EXT_point_parameters +GO(glPointParameterfEXT, vFuf) +GO(glPointParameterfvEXT, vFup) +//EXT_polygon_offset +GO(glPolygonOffsetEXT, vFff) +//EXT_provoking_vertex +GO(glProvokingVertexEXT, vFu) +//EXT_secondary_color +GO(glSecondaryColor3bEXT, vFccc) +GO(glSecondaryColor3bvEXT, vFp) +GO(glSecondaryColor3dEXT, vFddd) +GO(glSecondaryColor3dvEXT, vFp) +GO(glSecondaryColor3fEXT, vFfff) +GO(glSecondaryColor3fvEXT, vFp) +GO(glSecondaryColor3iEXT, vFiii) +GO(glSecondaryColor3ivEXT, vFp) +GO(glSecondaryColor3sEXT, vFwww) +GO(glSecondaryColor3svEXT, vFp) +GO(glSecondaryColor3ubEXT, vFCCC) +GO(glSecondaryColor3ubvEXT, vFp) +GO(glSecondaryColor3uiEXT, vFuuu) +GO(glSecondaryColor3uivEXT, vFp) +GO(glSecondaryColor3usEXT, vFWWW) +GO(glSecondaryColor3usvEXT, vFp) +GO(glSecondaryColorPointerEXT, vFiuip) +//EXT_separate_shader_objects +GO(glActiveProgramEXT, vFu) +GO(glCreateShaderProgramEXT, uFup) +GO(glUseShaderProgramEXT, vFuu) +//EXT_shader_image_load_store +GO(glBindImageTextureEXT, vFuuiCiui) +GO(glMemoryBarrierEXT, vFu) +//EXT_stencil_clear_tag +GO(glStencilClearTagEXT, vFiu) +//EXT_stencil_two_side +GO(glActiveStencilFaceEXT, vFu) +//EXT_subtexture +GO(glTexSubImage1DEXT, vFuiiiuup) +GO(glTexSubImage2DEXT, vFuiiiiiuup) +//EXT_texture3D +GO(glTexImage3DEXT, vFuiuiiiiuup) +GO(glTexSubImage3DEXT, vFuiiiiiiiuup) +//EXT_texture_buffer_object +GO(glTexBufferEXT, vFuuu) +//EXT_texture_integer +GO(glClearColorIiEXT, vFiiii) +GO(glClearColorIuiEXT, vFuuuu) +GO(glGetTexParameterIivEXT, vFuup) +GO(glGetTexParameterIuivEXT, vFuup) +GO(glTexParameterIivEXT, vFuup) +GO(glTexParameterIuivEXT, vFuup) +//EXT_texture_object +GO(glAreTexturesResidentEXT, CFipp) +GO(glBindTextureEXT, vFuu) +GO(glDeleteTexturesEXT, vFip) +GO(glGenTexturesEXT, vFip) +GO(glIsTextureEXT, CFu) +GO(glPrioritizeTexturesEXT, vFipp) +//EXT_texture_perturb_normal +GO(glTextureNormalEXT, vFu) +//EXT_transform_feedback +GO(glBeginTransformFeedbackEXT, vFu) +GO(glBindBufferBaseEXT, vFuuu) +GO(glBindBufferOffsetEXT, vFuuul) +GO(glBindBufferRangeEXT, vFuuull) +GO(glEndTransformFeedbackEXT, vFv) +GO(glGetTransformFeedbackVaryingEXT, vFuuipppp) +GO(glTransformFeedbackVaryingsEXT, vFuipu) +//EXT_vertex_array +GO(glArrayElementEXT, vFi) +GO(glColorPointerEXT, vFiuiip) +GO(glDrawArraysEXT, vFuii) +GO(glEdgeFlagPointerEXT, vFiip) +GO(glGetPointervEXT, vFup) +GO(glIndexPointerEXT, vFuiip) +GO(glNormalPointerEXT, vFuiip) +GO(glTexCoordPointerEXT, vFiuiip) +GO(glVertexPointerEXT, vFiuiip) +//EXT_vertex_attrib_64bit +GO(glGetVertexAttribLdvEXT, vFuup) +GO(glVertexArrayVertexAttribLOffsetEXT, vFuuuiuil) +GO(glVertexAttribL1dEXT, vFud) +GO(glVertexAttribL1dvEXT, vFup) +GO(glVertexAttribL2dEXT, vFudd) +GO(glVertexAttribL2dvEXT, vFup) +GO(glVertexAttribL3dEXT, vFuddd) +GO(glVertexAttribL3dvEXT, vFup) +GO(glVertexAttribL4dEXT, vFudddd) +GO(glVertexAttribL4dvEXT, vFup) +GO(glVertexAttribLPointerEXT, vFuiuip) +//EXT_vertex_shader +GO(glBeginVertexShaderEXT, vFv) +GO(glBindLightParameterEXT, uFuu) +GO(glBindMaterialParameterEXT, uFuu) +GO(glBindParameterEXT, uFu) +GO(glBindTexGenParameterEXT, uFuuu) +GO(glBindTextureUnitParameterEXT, uFuu) +GO(glBindVertexShaderEXT, vFu) +GO(glDeleteVertexShaderEXT, vFu) +GO(glDisableVariantClientStateEXT, vFu) +GO(glEnableVariantClientStateEXT, vFu) +GO(glEndVertexShaderEXT, vFv) +GO(glExtractComponentEXT, vFuuu) +GO(glGenSymbolsEXT, uFuuuu) +GO(glGenVertexShadersEXT, uFu) +GO(glGetInvariantBooleanvEXT, vFuup) +GO(glGetInvariantFloatvEXT, vFuup) +GO(glGetInvariantIntegervEXT, vFuup) +GO(glGetLocalConstantBooleanvEXT, vFuup) +GO(glGetLocalConstantFloatvEXT, vFuup) +GO(glGetLocalConstantIntegervEXT, vFuup) +GO(glGetVariantBooleanvEXT, vFuup) +GO(glGetVariantFloatvEXT, vFuup) +GO(glGetVariantIntegervEXT, vFuup) +GO(glGetVariantPointervEXT, vFuup) +GO(glInsertComponentEXT, vFuuu) +GO(glIsVariantEnabledEXT, CFuu) +GO(glSetInvariantEXT, vFuup) +GO(glSetLocalConstantEXT, vFuup) +GO(glShaderOp1EXT, vFuuu) +GO(glShaderOp2EXT, vFuuuu) +GO(glShaderOp3EXT, vFuuuuu) +GO(glSwizzleEXT, vFuuuuuu) +GO(glVariantPointerEXT, vFuuup) +GO(glVariantbvEXT, vFup) +GO(glVariantdvEXT, vFup) +GO(glVariantfvEXT, vFup) +GO(glVariantivEXT, vFup) +GO(glVariantsvEXT, vFup) +GO(glVariantubvEXT, vFup) +GO(glVariantuivEXT, vFup) +GO(glVariantusvEXT, vFup) +GO(glWriteMaskEXT, vFuuuuuu) +//EXT_vertex_weighting +GO(glVertexWeightPointerEXT, vFiuip) +GO(glVertexWeightfEXT, vFf) +GO(glVertexWeightfvEXT, vFp) +//EXT_x11_sync_object +GO(glImportSyncEXT, pFulu) +//GREMEDY_frame_terminator +GO(glFrameTerminatorGREMEDY, vFv) +//GREMEDY_string_marker +GO(glStringMarkerGREMEDY, vFip) +//HP_image_transform +GO(glGetImageTransformParameterfvHP, vFuup) +GO(glGetImageTransformParameterivHP, vFuup) +GO(glImageTransformParameterfHP, vFuuf) +GO(glImageTransformParameterfvHP, vFuup) +GO(glImageTransformParameteriHP, vFuui) +GO(glImageTransformParameterivHP, vFuup) +//IBM_multimode_draw_arrays +GO(glMultiModeDrawArraysIBM, vFpppii) +GO(glMultiModeDrawElementsIBM, vFppupii) +//IBM_static_data +GO(glFlushStaticDataIBM, vFu) +//IBM_vertex_array_lists +GO(glColorPointerListIBM, vFiuipi) +GO(glEdgeFlagPointerListIBM, vFipi) +GO(glFogCoordPointerListIBM, vFuipi) +GO(glIndexPointerListIBM, vFuipi) +GO(glNormalPointerListIBM, vFuipi) +GO(glSecondaryColorPointerListIBM, vFiuipi) +GO(glTexCoordPointerListIBM, vFiuipi) +GO(glVertexPointerListIBM, vFiuipi) +//INGR_blend_func_separate +GO(glBlendFuncSeparateINGR, vFuuuu) +//INTEL_map_texture +GO(glMapTexture2DINTEL, pFuiupp) +GO(glSyncTextureINTEL, vFu) +GO(glUnmapTexture2DINTEL, vFui) +//INTEL_parallel_arrays +GO(glColorPointervINTEL, vFiup) +GO(glNormalPointervINTEL, vFup) +GO(glTexCoordPointervINTEL, vFiup) +GO(glVertexPointervINTEL, vFiup) +//KHR_debug +GOM(glDebugMessageCallback, vFEpp) // not ideal, because the my_ version will always exist, even if glDebugMessageCallback doesn't +GO(glDebugMessageControl, vFuuuipC) +GO(glDebugMessageInsert, vFuuuuip) +GO(glGetDebugMessageLog, uFuipppppp) +GO(glGetObjectLabel, vFuuipp) +GO(glGetObjectPtrLabel, vFpipp) +GO(glObjectLabel, vFuuip) +GO(glObjectPtrLabel, vFpip) +GO(glPopDebugGroup, vFv) +GO(glPushDebugGroup, vFuuip) +//MESA_resize_buffers +GO(glResizeBuffersMESA, vFv) +//MESA_window_pos +GO(glWindowPos2dMESA, vFdd) +GO(glWindowPos2dvMESA, vFp) +GO(glWindowPos2fMESA, vFff) +GO(glWindowPos2fvMESA, vFp) +GO(glWindowPos2iMESA, vFii) +GO(glWindowPos2ivMESA, vFp) +GO(glWindowPos2sMESA, vFww) +GO(glWindowPos2svMESA, vFp) +GO(glWindowPos3dMESA, vFddd) +GO(glWindowPos3dvMESA, vFp) +GO(glWindowPos3fMESA, vFfff) +GO(glWindowPos3fvMESA, vFp) +GO(glWindowPos3iMESA, vFiii) +GO(glWindowPos3ivMESA, vFp) +GO(glWindowPos3sMESA, vFwww) +GO(glWindowPos3svMESA, vFp) +GO(glWindowPos4dMESA, vFdddd) +GO(glWindowPos4dvMESA, vFp) +GO(glWindowPos4fMESA, vFffff) +GO(glWindowPos4fvMESA, vFp) +GO(glWindowPos4iMESA, vFiiii) +GO(glWindowPos4ivMESA, vFp) +GO(glWindowPos4sMESA, vFwwww) +GO(glWindowPos4svMESA, vFp) +//NVX_conditional_render +GO(glBeginConditionalRenderNVX, vFu) +GO(glEndConditionalRenderNVX, vFv) +//NV_bindless_texture +GO(glGetImageHandleNV, UFuiCiu) +GO(glGetTextureHandleNV, UFu) +GO(glGetTextureSamplerHandleNV, UFuu) +GO(glIsImageHandleResidentNV, CFU) +GO(glIsTextureHandleResidentNV, CFU) +GO(glMakeImageHandleNonResidentNV, vFU) +GO(glMakeImageHandleResidentNV, vFUu) +GO(glMakeTextureHandleNonResidentNV, vFU) +GO(glMakeTextureHandleResidentNV, vFU) +GO(glProgramUniformHandleui64NV, vFuiU) +GO(glProgramUniformHandleui64vNV, vFuiip) +GO(glUniformHandleui64NV, vFiU) +GO(glUniformHandleui64vNV, vFiip) +//NV_conditional_render +GO(glBeginConditionalRenderNV, vFuu) +GO(glEndConditionalRenderNV, vFv) +//NV_copy_image +GO(glCopyImageSubDataNV, vFuuiiiiuuiiiiiii) +//NV_depth_buffer_float +GO(glClearDepthdNV, vFd) +GO(glDepthBoundsdNV, vFdd) +GO(glDepthRangedNV, vFdd) +//NV_draw_texture +GO(glDrawTextureNV, vFuufffffffff) +//NV_evaluators +GO(glEvalMapsNV, vFuu) +GO(glGetMapAttribParameterfvNV, vFuuup) +GO(glGetMapAttribParameterivNV, vFuuup) +GO(glGetMapControlPointsNV, vFuuuiiCp) +GO(glGetMapParameterfvNV, vFuup) +GO(glGetMapParameterivNV, vFuup) +GO(glMapControlPointsNV, vFuuuiiiiCp) +GO(glMapParameterfvNV, vFuup) +GO(glMapParameterivNV, vFuup) +//NV_explicit_multisample +GO(glGetMultisamplefvNV, vFuup) +GO(glSampleMaskIndexedNV, vFuu) +GO(glTexRenderbufferNV, vFuu) +//NV_fence +GO(glDeleteFencesNV, vFip) +GO(glFinishFenceNV, vFu) +GO(glGenFencesNV, vFip) +GO(glGetFenceivNV, vFuup) +GO(glIsFenceNV, CFu) +GO(glSetFenceNV, vFuu) +GO(glTestFenceNV, CFu) +//NV_fragment_program +GO(glGetProgramNamedParameterdvNV, vFuipp) +GO(glGetProgramNamedParameterfvNV, vFuipp) +GO(glProgramNamedParameter4dNV, vFuipdddd) +GO(glProgramNamedParameter4dvNV, vFuipp) +GO(glProgramNamedParameter4fNV, vFuipffff) +GO(glProgramNamedParameter4fvNV, vFuipp) +//NV_framebuffer_multisample_coverage +GO(glRenderbufferStorageMultisampleCoverageNV, vFuiiuii) +//NV_geometry_program4 +GO(glFramebufferTextureEXT, vFuuui) +GO(glFramebufferTextureFaceEXT, vFuuuiu) +GO(glFramebufferTextureLayerEXT, vFuuuii) +GO(glProgramVertexLimitNV, vFui) +//NV_gpu_program4 +GO(glGetProgramEnvParameterIivNV, vFuup) +GO(glGetProgramEnvParameterIuivNV, vFuup) +GO(glGetProgramLocalParameterIivNV, vFuup) +GO(glGetProgramLocalParameterIuivNV, vFuup) +GO(glProgramEnvParameterI4iNV, vFuuiiii) +GO(glProgramEnvParameterI4ivNV, vFuup) +GO(glProgramEnvParameterI4uiNV, vFuuuuuu) +GO(glProgramEnvParameterI4uivNV, vFuup) +GO(glProgramEnvParametersI4ivNV, vFuuip) +GO(glProgramEnvParametersI4uivNV, vFuuip) +GO(glProgramLocalParameterI4iNV, vFuuiiii) +GO(glProgramLocalParameterI4ivNV, vFuup) +GO(glProgramLocalParameterI4uiNV, vFuuuuuu) +GO(glProgramLocalParameterI4uivNV, vFuup) +GO(glProgramLocalParametersI4ivNV, vFuuip) +GO(glProgramLocalParametersI4uivNV, vFuuip) +//NV_gpu_program5 +GO(glGetProgramSubroutineParameteruivNV, vFuup) +GO(glProgramSubroutineParametersuivNV, vFuip) +//NV_gpu_shader5 +GO(glGetUniformi64vNV, vFuip) +GO(glProgramUniform1i64NV, vFuiI) +GO(glProgramUniform1i64vNV, vFuiip) +GO(glProgramUniform1ui64NV, vFuiU) +GO(glProgramUniform1ui64vNV, vFuiip) +GO(glProgramUniform2i64NV, vFuiII) +GO(glProgramUniform2i64vNV, vFuiip) +GO(glProgramUniform2ui64NV, vFuiUU) +GO(glProgramUniform2ui64vNV, vFuiip) +GO(glProgramUniform3i64NV, vFuiIII) +GO(glProgramUniform3i64vNV, vFuiip) +GO(glProgramUniform3ui64NV, vFuiUUU) +GO(glProgramUniform3ui64vNV, vFuiip) +GO(glProgramUniform4i64NV, vFuiIIII) +GO(glProgramUniform4i64vNV, vFuiip) +GO(glProgramUniform4ui64NV, vFuiUUUU) +GO(glProgramUniform4ui64vNV, vFuiip) +GO(glUniform1i64NV, vFiI) +GO(glUniform1i64vNV, vFiip) +GO(glUniform1ui64NV, vFiU) +GO(glUniform1ui64vNV, vFiip) +GO(glUniform2i64NV, vFiII) +GO(glUniform2i64vNV, vFiip) +GO(glUniform2ui64NV, vFiUU) +GO(glUniform2ui64vNV, vFiip) +GO(glUniform3i64NV, vFiIII) +GO(glUniform3i64vNV, vFiip) +GO(glUniform3ui64NV, vFiUUU) +GO(glUniform3ui64vNV, vFiip) +GO(glUniform4i64NV, vFiIIII) +GO(glUniform4i64vNV, vFiip) +GO(glUniform4ui64NV, vFiUUUU) +GO(glUniform4ui64vNV, vFiip) +//NV_half_float +GO(glColor3hNV, vFWWW) +GO(glColor3hvNV, vFp) +GO(glColor4hNV, vFWWWW) +GO(glColor4hvNV, vFp) +GO(glFogCoordhNV, vFW) +GO(glFogCoordhvNV, vFp) +GO(glMultiTexCoord1hNV, vFuW) +GO(glMultiTexCoord1hvNV, vFup) +GO(glMultiTexCoord2hNV, vFuWW) +GO(glMultiTexCoord2hvNV, vFup) +GO(glMultiTexCoord3hNV, vFuWWW) +GO(glMultiTexCoord3hvNV, vFup) +GO(glMultiTexCoord4hNV, vFuWWWW) +GO(glMultiTexCoord4hvNV, vFup) +GO(glNormal3hNV, vFWWW) +GO(glNormal3hvNV, vFp) +GO(glSecondaryColor3hNV, vFWWW) +GO(glSecondaryColor3hvNV, vFp) +GO(glTexCoord1hNV, vFW) +GO(glTexCoord1hvNV, vFp) +GO(glTexCoord2hNV, vFWW) +GO(glTexCoord2hvNV, vFp) +GO(glTexCoord3hNV, vFWWW) +GO(glTexCoord3hvNV, vFp) +GO(glTexCoord4hNV, vFWWWW) +GO(glTexCoord4hvNV, vFp) +GO(glVertex2hNV, vFWW) +GO(glVertex2hvNV, vFp) +GO(glVertex3hNV, vFWWW) +GO(glVertex3hvNV, vFp) +GO(glVertex4hNV, vFWWWW) +GO(glVertex4hvNV, vFp) +GO(glVertexAttrib1hNV, vFuW) +GO(glVertexAttrib1hvNV, vFup) +GO(glVertexAttrib2hNV, vFuWW) +GO(glVertexAttrib2hvNV, vFup) +GO(glVertexAttrib3hNV, vFuWWW) +GO(glVertexAttrib3hvNV, vFup) +GO(glVertexAttrib4hNV, vFuWWWW) +GO(glVertexAttrib4hvNV, vFup) +GO(glVertexAttribs1hvNV, vFuip) +GO(glVertexAttribs2hvNV, vFuip) +GO(glVertexAttribs3hvNV, vFuip) +GO(glVertexAttribs4hvNV, vFuip) +GO(glVertexWeighthNV, vFW) +GO(glVertexWeighthvNV, vFp) +//NV_occlusion_query +GO(glBeginOcclusionQueryNV, vFu) +GO(glDeleteOcclusionQueriesNV, vFip) +GO(glEndOcclusionQueryNV, vFv) +GO(glGenOcclusionQueriesNV, vFip) +GO(glGetOcclusionQueryivNV, vFuup) +GO(glGetOcclusionQueryuivNV, vFuup) +GO(glIsOcclusionQueryNV, CFu) +//NV_parameter_buffer_object +GO(glProgramBufferParametersIivNV, vFuuuip) +GO(glProgramBufferParametersIuivNV, vFuuuip) +GO(glProgramBufferParametersfvNV, vFuuuip) +//NV_pixel_data_range +GO(glFlushPixelDataRangeNV, vFu) +GO(glPixelDataRangeNV, vFuip) +//NV_point_sprite +GO(glPointParameteriNV, vFui) +GO(glPointParameterivNV, vFup) +//NV_present_video +GO(glGetVideoi64vNV, vFuup) +GO(glGetVideoivNV, vFuup) +GO(glGetVideoui64vNV, vFuup) +GO(glGetVideouivNV, vFuup) +GO(glPresentFrameDualFillNV, vFuUuuuuuuuuuuu) +GO(glPresentFrameKeyedNV, vFuUuuuuuuuuu) +//NV_primitive_restart +GO(glPrimitiveRestartIndexNV, vFu) +GO(glPrimitiveRestartNV, vFv) +//NV_register_combiners +GO(glCombinerInputNV, vFuuuuuu) +GO(glCombinerOutputNV, vFuuuuuuuCCC) +GO(glCombinerParameterfNV, vFuf) +GO(glCombinerParameterfvNV, vFup) +GO(glCombinerParameteriNV, vFui) +GO(glCombinerParameterivNV, vFup) +GO(glFinalCombinerInputNV, vFuuuu) +GO(glGetCombinerInputParameterfvNV, vFuuuup) +GO(glGetCombinerInputParameterivNV, vFuuuup) +GO(glGetCombinerOutputParameterfvNV, vFuuup) +GO(glGetCombinerOutputParameterivNV, vFuuup) +GO(glGetFinalCombinerInputParameterfvNV, vFuup) +GO(glGetFinalCombinerInputParameterivNV, vFuup) +//NV_register_combiners2 +GO(glCombinerStageParameterfvNV, vFuup) +GO(glGetCombinerStageParameterfvNV, vFuup) +//NV_shader_buffer_load +GO(glGetBufferParameterui64vNV, vFuup) +GO(glGetIntegerui64vNV, vFup) +GO(glGetNamedBufferParameterui64vNV, vFuup) +GO(glGetUniformui64vNV, vFuip) +GO(glIsBufferResidentNV, CFu) +GO(glIsNamedBufferResidentNV, CFu) +GO(glMakeBufferNonResidentNV, vFu) +GO(glMakeBufferResidentNV, vFuu) +GO(glMakeNamedBufferNonResidentNV, vFu) +GO(glMakeNamedBufferResidentNV, vFuu) +GO(glProgramUniformui64NV, vFuiU) +GO(glProgramUniformui64vNV, vFuiip) +GO(glUniformui64NV, vFiU) +GO(glUniformui64vNV, vFiip) +//NV_texture_barrier +GO(glTextureBarrierNV, vFv) +//NV_texture_multisample +GO(glTexImage2DMultisampleCoverageNV, vFuiiiiiC) +GO(glTexImage3DMultisampleCoverageNV, vFuiiiiiiC) +GO(glTextureImage2DMultisampleCoverageNV, vFuuiiiiiC) +GO(glTextureImage2DMultisampleNV, vFuuiiiiC) +GO(glTextureImage3DMultisampleCoverageNV, vFuuiiiiiiC) +GO(glTextureImage3DMultisampleNV, vFuuiiiiiC) +//NV_transform_feedback +GO(glActiveVaryingNV, vFup) +GO(glBeginTransformFeedbackNV, vFu) +GO(glBindBufferBaseNV, vFuuu) +GO(glBindBufferOffsetNV, vFuuul) +GO(glBindBufferRangeNV, vFuuull) +GO(glEndTransformFeedbackNV, vFv) +GO(glGetActiveVaryingNV, vFuuipppp) +GO(glGetTransformFeedbackVaryingNV, vFuup) +GO(glGetVaryingLocationNV, iFup) +GO(glTransformFeedbackAttribsNV, vFipu) +GO(glTransformFeedbackStreamAttribsNV, vFipipu) +GO(glTransformFeedbackVaryingsNV, vFuipu) +//NV_transform_feedback2 +GO(glBindTransformFeedbackNV, vFuu) +GO(glDeleteTransformFeedbacksNV, vFip) +GO(glDrawTransformFeedbackNV, vFuu) +GO(glGenTransformFeedbacksNV, vFip) +GO(glIsTransformFeedbackNV, CFu) +GO(glPauseTransformFeedbackNV, vFv) +GO(glResumeTransformFeedbackNV, vFv) +//NV_vdpau_interop +GO(glVDPAUFiniNV, vFv) +GO(glVDPAUGetSurfaceivNV, vFluipp) +GO(glVDPAUInitNV, vFpp) +GO(glVDPAUIsSurfaceNV, CFl) +GO(glVDPAUMapSurfacesNV, vFip) +GO(glVDPAURegisterOutputSurfaceNV, lFpuip) +GO(glVDPAURegisterVideoSurfaceNV, lFpuip) +GO(glVDPAUSurfaceAccessNV, vFlu) +GO(glVDPAUUnmapSurfacesNV, vFip) +GO(glVDPAUUnregisterSurfaceNV, vFl) +//NV_vertex_array_range +GO(glFlushVertexArrayRangeNV, vFv) +GO(glVertexArrayRangeNV, vFip) +//NV_vertex_attrib_integer_64bit +GO(glGetVertexAttribLi64vNV, vFuup) +GO(glGetVertexAttribLui64vNV, vFuup) +GO(glVertexAttribL1i64NV, vFuI) +GO(glVertexAttribL1i64vNV, vFup) +GO(glVertexAttribL1ui64NV, vFuU) +GO(glVertexAttribL1ui64vNV, vFup) +GO(glVertexAttribL2i64NV, vFuII) +GO(glVertexAttribL2i64vNV, vFup) +GO(glVertexAttribL2ui64NV, vFuUU) +GO(glVertexAttribL2ui64vNV, vFup) +GO(glVertexAttribL3i64NV, vFuIII) +GO(glVertexAttribL3i64vNV, vFup) +GO(glVertexAttribL3ui64NV, vFuUUU) +GO(glVertexAttribL3ui64vNV, vFup) +GO(glVertexAttribL4i64NV, vFuIIII) +GO(glVertexAttribL4i64vNV, vFup) +GO(glVertexAttribL4ui64NV, vFuUUUU) +GO(glVertexAttribL4ui64vNV, vFup) +GO(glVertexAttribLFormatNV, vFuiui) +//NV_vertex_buffer_unified_memory +GO(glBufferAddressRangeNV, vFuuUl) +GO(glColorFormatNV, vFiui) +GO(glEdgeFlagFormatNV, vFi) +GO(glFogCoordFormatNV, vFui) +GO(glGetIntegerui64i_vNV, vFuup) +GO(glIndexFormatNV, vFui) +GO(glNormalFormatNV, vFui) +GO(glSecondaryColorFormatNV, vFiui) +GO(glTexCoordFormatNV, vFiui) +GO(glVertexAttribFormatNV, vFuiuCi) +GO(glVertexAttribIFormatNV, vFuiui) +GO(glVertexFormatNV, vFiui) +//NV_vertex_program +GO(glAreProgramsResidentNV, CFipp) +GO(glBindProgramNV, vFuu) +GO(glDeleteProgramsNV, vFip) +GO(glExecuteProgramNV, vFuup) +GO(glGenProgramsNV, vFip) +GO(glGetProgramParameterdvNV, vFuuup) +GO(glGetProgramParameterfvNV, vFuuup) +GO(glGetProgramStringNV, vFuup) +GO(glGetProgramivNV, vFuup) +GO(glGetTrackMatrixivNV, vFuuup) +GO(glGetVertexAttribPointervNV, vFuup) +GO(glGetVertexAttribdvNV, vFuup) +GO(glGetVertexAttribfvNV, vFuup) +GO(glGetVertexAttribivNV, vFuup) +GO(glIsProgramNV, CFu) +GO(glLoadProgramNV, vFuuip) +GO(glProgramParameter4dNV, vFuudddd) +GO(glProgramParameter4dvNV, vFuup) +GO(glProgramParameter4fNV, vFuuffff) +GO(glProgramParameter4fvNV, vFuup) +GO(glProgramParameters4dvNV, vFuuip) +GO(glProgramParameters4fvNV, vFuuip) +GO(glRequestResidentProgramsNV, vFip) +GO(glTrackMatrixNV, vFuuuu) +GO(glVertexAttrib1dNV, vFud) +GO(glVertexAttrib1dvNV, vFup) +GO(glVertexAttrib1fNV, vFuf) +GO(glVertexAttrib1fvNV, vFup) +GO(glVertexAttrib1sNV, vFuw) +GO(glVertexAttrib1svNV, vFup) +GO(glVertexAttrib2dNV, vFudd) +GO(glVertexAttrib2dvNV, vFup) +GO(glVertexAttrib2fNV, vFuff) +GO(glVertexAttrib2fvNV, vFup) +GO(glVertexAttrib2sNV, vFuww) +GO(glVertexAttrib2svNV, vFup) +GO(glVertexAttrib3dNV, vFuddd) +GO(glVertexAttrib3dvNV, vFup) +GO(glVertexAttrib3fNV, vFufff) +GO(glVertexAttrib3fvNV, vFup) +GO(glVertexAttrib3sNV, vFuwww) +GO(glVertexAttrib3svNV, vFup) +GO(glVertexAttrib4dNV, vFudddd) +GO(glVertexAttrib4dvNV, vFup) +GO(glVertexAttrib4fNV, vFuffff) +GO(glVertexAttrib4fvNV, vFup) +GO(glVertexAttrib4sNV, vFuwwww) +GO(glVertexAttrib4svNV, vFup) +GO(glVertexAttrib4ubNV, vFuCCCC) +GO(glVertexAttrib4ubvNV, vFup) +GO(glVertexAttribPointerNV, vFuiuip) +GO(glVertexAttribs1dvNV, vFuip) +GO(glVertexAttribs1fvNV, vFuip) +GO(glVertexAttribs1svNV, vFuip) +GO(glVertexAttribs2dvNV, vFuip) +GO(glVertexAttribs2fvNV, vFuip) +GO(glVertexAttribs2svNV, vFuip) +GO(glVertexAttribs3dvNV, vFuip) +GO(glVertexAttribs3fvNV, vFuip) +GO(glVertexAttribs3svNV, vFuip) +GO(glVertexAttribs4dvNV, vFuip) +GO(glVertexAttribs4fvNV, vFuip) +GO(glVertexAttribs4svNV, vFuip) +GO(glVertexAttribs4ubvNV, vFuip) +//NV_vertex_program4 +GO(glGetVertexAttribIivEXT, vFuup) +GO(glGetVertexAttribIuivEXT, vFuup) +GO(glVertexAttribI1iEXT, vFui) +GO(glVertexAttribI1ivEXT, vFup) +GO(glVertexAttribI1uiEXT, vFuu) +GO(glVertexAttribI1uivEXT, vFup) +GO(glVertexAttribI2iEXT, vFuii) +GO(glVertexAttribI2ivEXT, vFup) +GO(glVertexAttribI2uiEXT, vFuuu) +GO(glVertexAttribI2uivEXT, vFup) +GO(glVertexAttribI3iEXT, vFuiii) +GO(glVertexAttribI3ivEXT, vFup) +GO(glVertexAttribI3uiEXT, vFuuuu) +GO(glVertexAttribI3uivEXT, vFup) +GO(glVertexAttribI4bvEXT, vFup) +GO(glVertexAttribI4iEXT, vFuiiii) +GO(glVertexAttribI4ivEXT, vFup) +GO(glVertexAttribI4svEXT, vFup) +GO(glVertexAttribI4ubvEXT, vFup) +GO(glVertexAttribI4uiEXT, vFuuuuu) +GO(glVertexAttribI4uivEXT, vFup) +GO(glVertexAttribI4usvEXT, vFup) +GO(glVertexAttribIPointerEXT, vFuiuip) +//NV_video_capture +GO(glBeginVideoCaptureNV, vFu) +GO(glBindVideoCaptureStreamBufferNV, vFuuul) +GO(glBindVideoCaptureStreamTextureNV, vFuuuuu) +GO(glEndVideoCaptureNV, vFu) +GO(glGetVideoCaptureStreamdvNV, vFuuup) +GO(glGetVideoCaptureStreamfvNV, vFuuup) +GO(glGetVideoCaptureStreamivNV, vFuuup) +GO(glGetVideoCaptureivNV, vFuup) +GO(glVideoCaptureNV, uFupp) +GO(glVideoCaptureStreamParameterdvNV, vFuuup) +GO(glVideoCaptureStreamParameterfvNV, vFuuup) +GO(glVideoCaptureStreamParameterivNV, vFuuup) +//OES_byte_coordinates +GO(glMultiTexCoord1bOES, vFuc) +GO(glMultiTexCoord1bvOES, vFup) +GO(glMultiTexCoord2bOES, vFucc) +GO(glMultiTexCoord2bvOES, vFup) +GO(glMultiTexCoord3bOES, vFuccc) +GO(glMultiTexCoord3bvOES, vFup) +GO(glMultiTexCoord4bOES, vFucccc) +GO(glMultiTexCoord4bvOES, vFup) +GO(glTexCoord1bOES, vFc) +GO(glTexCoord1bvOES, vFp) +GO(glTexCoord2bOES, vFcc) +GO(glTexCoord2bvOES, vFp) +GO(glTexCoord3bOES, vFccc) +GO(glTexCoord3bvOES, vFp) +GO(glTexCoord4bOES, vFcccc) +GO(glTexCoord4bvOES, vFp) +GO(glVertex2bOES, vFcc) +GO(glVertex2bvOES, vFp) +GO(glVertex3bOES, vFccc) +GO(glVertex3bvOES, vFp) +GO(glVertex4bOES, vFcccc) +GO(glVertex4bvOES, vFp) +//OES_fixed_point +GO(glAccumxOES, vFui) +GO(glAlphaFuncxOES, vFui) +GO(glBitmapxOES, vFiiiiiip) +GO(glBlendColorxOES, vFiiii) +GO(glClearAccumxOES, vFiiii) +GO(glClearColorxOES, vFiiii) +GO(glClearDepthxOES, vFi) +GO(glClipPlanexOES, vFup) +GO(glColor3xOES, vFiii) +GO(glColor3xvOES, vFp) +GO(glColor4xOES, vFiiii) +GO(glColor4xvOES, vFp) +GO(glConvolutionParameterxOES, vFuui) +GO(glConvolutionParameterxvOES, vFuup) +GO(glDepthRangexOES, vFii) +GO(glEvalCoord1xOES, vFi) +GO(glEvalCoord1xvOES, vFp) +GO(glEvalCoord2xOES, vFii) +GO(glEvalCoord2xvOES, vFp) +GO(glFeedbackBufferxOES, vFiup) +GO(glFogxOES, vFui) +GO(glFogxvOES, vFup) +GO(glFrustumxOES, vFiiiiii) +GO(glGetClipPlanexOES, vFup) +GO(glGetConvolutionParameterxvOES, vFuup) +GO(glGetFixedvOES, vFup) +GO(glGetHistogramParameterxvOES, vFuup) +GO(glGetLightxOES, vFuup) +GO(glGetMapxvOES, vFuup) +GO(glGetMaterialxOES, vFuui) +GO(glGetPixelMapxv, vFuip) +GO(glGetTexEnvxvOES, vFuup) +GO(glGetTexGenxvOES, vFuup) +GO(glGetTexLevelParameterxvOES, vFuiup) +GO(glGetTexParameterxvOES, vFuup) +GO(glIndexxOES, vFi) +GO(glIndexxvOES, vFp) +GO(glLightModelxOES, vFui) +GO(glLightModelxvOES, vFup) +GO(glLightxOES, vFuui) +GO(glLightxvOES, vFuup) +GO(glLineWidthxOES, vFi) +GO(glLoadMatrixxOES, vFp) +GO(glLoadTransposeMatrixxOES, vFp) +GO(glMap1xOES, vFuiiiii) +GO(glMap2xOES, vFuiiiiiiiii) +GO(glMapGrid1xOES, vFiii) +GO(glMapGrid2xOES, vFiiiii) +GO(glMaterialxOES, vFuui) +GO(glMaterialxvOES, vFuup) +GO(glMultMatrixxOES, vFp) +GO(glMultTransposeMatrixxOES, vFp) +GO(glMultiTexCoord1xOES, vFui) +GO(glMultiTexCoord1xvOES, vFup) +GO(glMultiTexCoord2xOES, vFuii) +GO(glMultiTexCoord2xvOES, vFup) +GO(glMultiTexCoord3xOES, vFuiii) +GO(glMultiTexCoord3xvOES, vFup) +GO(glMultiTexCoord4xOES, vFuiiii) +GO(glMultiTexCoord4xvOES, vFup) +GO(glNormal3xOES, vFiii) +GO(glNormal3xvOES, vFp) +GO(glOrthoxOES, vFiiiiii) +GO(glPassThroughxOES, vFi) +GO(glPixelMapx, vFuip) +GO(glPixelStorex, vFui) +GO(glPixelTransferxOES, vFui) +GO(glPixelZoomxOES, vFii) +GO(glPointParameterxvOES, vFup) +GO(glPointSizexOES, vFi) +GO(glPolygonOffsetxOES, vFii) +GO(glPrioritizeTexturesxOES, vFipp) +GO(glRasterPos2xOES, vFii) +GO(glRasterPos2xvOES, vFp) +GO(glRasterPos3xOES, vFiii) +GO(glRasterPos3xvOES, vFp) +GO(glRasterPos4xOES, vFiiii) +GO(glRasterPos4xvOES, vFp) +GO(glRectxOES, vFiiii) +GO(glRectxvOES, vFpp) +GO(glRotatexOES, vFiiii) +GO(glSampleCoverageOES, vFii) +GO(glScalexOES, vFiii) +GO(glTexCoord1xOES, vFi) +GO(glTexCoord1xvOES, vFp) +GO(glTexCoord2xOES, vFii) +GO(glTexCoord2xvOES, vFp) +GO(glTexCoord3xOES, vFiii) +GO(glTexCoord3xvOES, vFp) +GO(glTexCoord4xOES, vFiiii) +GO(glTexCoord4xvOES, vFp) +GO(glTexEnvxOES, vFuui) +GO(glTexEnvxvOES, vFuup) +GO(glTexGenxOES, vFuui) +GO(glTexGenxvOES, vFuup) +GO(glTexParameterxOES, vFuui) +GO(glTexParameterxvOES, vFuup) +GO(glTranslatexOES, vFiii) +GO(glVertex2xOES, vFi) +GO(glVertex2xvOES, vFp) +GO(glVertex3xOES, vFii) +GO(glVertex3xvOES, vFp) +GO(glVertex4xOES, vFiii) +GO(glVertex4xvOES, vFp) +//OES_query_matrix +GO(glQueryMatrixxOES, uFpp) +//OES_single_precision +GO(glClearDepthfOES, vFf) +GO(glClipPlanefOES, vFup) +GO(glDepthRangefOES, vFff) +GO(glFrustumfOES, vFffffff) +GO(glGetClipPlanefOES, vFup) +GO(glOrthofOES, vFffffff) +//PGI_misc_hints +GO(glHintPGI, vFui) +//SGIS_detail_texture +GO(glDetailTexFuncSGIS, vFuip) +GO(glGetDetailTexFuncSGIS, vFup) +//SGIS_fog_function +GO(glFogFuncSGIS, vFip) +GO(glGetFogFuncSGIS, vFp) +//SGIS_multisample +GO(glSampleMaskSGIS, vFfC) +GO(glSamplePatternSGIS, vFu) +//SGIS_pixel_texture +GO(glGetPixelTexGenParameterfvSGIS, vFup) +GO(glGetPixelTexGenParameterivSGIS, vFup) +GO(glPixelTexGenParameterfSGIS, vFuf) +GO(glPixelTexGenParameterfvSGIS, vFup) +GO(glPixelTexGenParameteriSGIS, vFui) +GO(glPixelTexGenParameterivSGIS, vFup) +//SGIS_point_parameters +GO(glPointParameterfSGIS, vFuf) +GO(glPointParameterfvSGIS, vFup) +//SGIS_sharpen_texture +GO(glGetSharpenTexFuncSGIS, vFup) +GO(glSharpenTexFuncSGIS, vFuip) +//SGIS_texture4D +GO(glTexImage4DSGIS, vFuiuiiiiiuup) +GO(glTexSubImage4DSGIS, vFuiiiiiiiiiuup) +//SGIS_texture_color_mask +GO(glTextureColorMaskSGIS, vFCCCC) +//SGIS_texture_filter4 +GO(glGetTexFilterFuncSGIS, vFuup) +GO(glTexFilterFuncSGIS, vFuuip) +//SGIX_async +GO(glAsyncMarkerSGIX, vFu) +GO(glDeleteAsyncMarkersSGIX, vFui) +GO(glFinishAsyncSGIX, iFp) +GO(glGenAsyncMarkersSGIX, uFi) +GO(glIsAsyncMarkerSGIX, CFu) +GO(glPollAsyncSGIX, iFp) +//SGIX_flush_raster +GO(glFlushRasterSGIX, vFv) +//SGIX_fragment_lighting +GO(glFragmentColorMaterialSGIX, vFuu) +GO(glFragmentLightModelfSGIX, vFuf) +GO(glFragmentLightModelfvSGIX, vFup) +GO(glFragmentLightModeliSGIX, vFui) +GO(glFragmentLightModelivSGIX, vFup) +GO(glFragmentLightfSGIX, vFuuf) +GO(glFragmentLightfvSGIX, vFuup) +GO(glFragmentLightiSGIX, vFuui) +GO(glFragmentLightivSGIX, vFuup) +GO(glFragmentMaterialfSGIX, vFuuf) +GO(glFragmentMaterialfvSGIX, vFuup) +GO(glFragmentMaterialiSGIX, vFuui) +GO(glFragmentMaterialivSGIX, vFuup) +GO(glGetFragmentLightfvSGIX, vFuup) +GO(glGetFragmentLightivSGIX, vFuup) +GO(glGetFragmentMaterialfvSGIX, vFuup) +GO(glGetFragmentMaterialivSGIX, vFuup) +GO(glLightEnviSGIX, vFui) +//SGIX_framezoom +GO(glFrameZoomSGIX, vFi) +//SGIX_igloo_interface +GO(glIglooInterfaceSGIX, vFup) +//SGIX_instruments +GO(glGetInstrumentsSGIX, iFv) +GO(glInstrumentsBufferSGIX, vFip) +GO(glPollInstrumentsSGIX, iFp) +GO(glReadInstrumentsSGIX, vFi) +GO(glStartInstrumentsSGIX, vFv) +GO(glStopInstrumentsSGIX, vFi) +//SGIX_list_priority +GO(glGetListParameterfvSGIX, vFuup) +GO(glGetListParameterivSGIX, vFuup) +GO(glListParameterfSGIX, vFuuf) +GO(glListParameterfvSGIX, vFuup) +GO(glListParameteriSGIX, vFuui) +GO(glListParameterivSGIX, vFuup) +//SGIX_pixel_texture +GO(glPixelTexGenSGIX, vFu) +//SGIX_polynomial_ffd +GO(glDeformSGIX, vFu) +GO(glDeformationMap3dSGIX, vFuddiiddiiddiip) +GO(glDeformationMap3fSGIX, vFuffiiffiiffiip) +GO(glLoadIdentityDeformationMapSGIX, vFu) +//SGIX_reference_plane +GO(glReferencePlaneSGIX, vFp) +//SGIX_sprite +GO(glSpriteParameterfSGIX, vFuf) +GO(glSpriteParameterfvSGIX, vFup) +GO(glSpriteParameteriSGIX, vFui) +GO(glSpriteParameterivSGIX, vFup) +//SGIX_tag_sample_buffer +GO(glTagSampleBufferSGIX, vFv) +//SGI_color_table +GO(glColorTableParameterfvSGI, vFuup) +GO(glColorTableParameterivSGI, vFuup) +GO(glColorTableSGI, vFuuiuup) +GO(glCopyColorTableSGI, vFuuiii) +GO(glGetColorTableParameterfvSGI, vFuup) +GO(glGetColorTableParameterivSGI, vFuup) +GO(glGetColorTableSGI, vFuuup) +//SUNX_constant_data +GO(glFinishTextureSUNX, vFv) +//SUN_global_alpha +GO(glGlobalAlphaFactorbSUN, vFc) +GO(glGlobalAlphaFactordSUN, vFd) +GO(glGlobalAlphaFactorfSUN, vFf) +GO(glGlobalAlphaFactoriSUN, vFi) +GO(glGlobalAlphaFactorsSUN, vFw) +GO(glGlobalAlphaFactorubSUN, vFC) +GO(glGlobalAlphaFactoruiSUN, vFu) +GO(glGlobalAlphaFactorusSUN, vFW) +//SUN_mesh_array +GO(glDrawMeshArraysSUN, vFuiii) +//SUN_triangle_list +GO(glReplacementCodePointerSUN, vFuip) +GO(glReplacementCodeubSUN, vFC) +GO(glReplacementCodeubvSUN, vFp) +GO(glReplacementCodeuiSUN, vFu) +GO(glReplacementCodeuivSUN, vFp) +GO(glReplacementCodeusSUN, vFW) +GO(glReplacementCodeusvSUN, vFp) +//SUN_vertex +GO(glColor3fVertex3fSUN, vFffffff) +GO(glColor3fVertex3fvSUN, vFpp) +GO(glColor4fNormal3fVertex3fSUN, vFffffffffff) +GO(glColor4fNormal3fVertex3fvSUN, vFppp) +GO(glColor4ubVertex2fSUN, vFCCCCff) +GO(glColor4ubVertex2fvSUN, vFpp) +GO(glColor4ubVertex3fSUN, vFCCCCfff) +GO(glColor4ubVertex3fvSUN, vFpp) +GO(glNormal3fVertex3fSUN, vFffffff) +GO(glNormal3fVertex3fvSUN, vFpp) +GO(glReplacementCodeuiColor3fVertex3fSUN, vFuffffff) +GO(glReplacementCodeuiColor3fVertex3fvSUN, vFppp) +GO(glReplacementCodeuiColor4fNormal3fVertex3fSUN, vFuffffffffff) +GO(glReplacementCodeuiColor4fNormal3fVertex3fvSUN, vFpppp) +GO(glReplacementCodeuiColor4ubVertex3fSUN, vFuCCCCfff) +GO(glReplacementCodeuiColor4ubVertex3fvSUN, vFppp) +GO(glReplacementCodeuiNormal3fVertex3fSUN, vFuffffff) +GO(glReplacementCodeuiNormal3fVertex3fvSUN, vFppp) +GO(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, vFuffffffffffff) +GO(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, vFppppp) +GO(glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, vFuffffffff) +GO(glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, vFpppp) +GO(glReplacementCodeuiTexCoord2fVertex3fSUN, vFufffff) +GO(glReplacementCodeuiTexCoord2fVertex3fvSUN, vFppp) +GO(glReplacementCodeuiVertex3fSUN, vFufff) +GO(glReplacementCodeuiVertex3fvSUN, vFpp) +GO(glTexCoord2fColor3fVertex3fSUN, vFffffffff) +GO(glTexCoord2fColor3fVertex3fvSUN, vFppp) +GO(glTexCoord2fColor4fNormal3fVertex3fSUN, vFffffffffffff) +GO(glTexCoord2fColor4fNormal3fVertex3fvSUN, vFpppp) +GO(glTexCoord2fColor4ubVertex3fSUN, vFffCCCCfff) +GO(glTexCoord2fColor4ubVertex3fvSUN, vFppp) +GO(glTexCoord2fNormal3fVertex3fSUN, vFffffffff) +GO(glTexCoord2fNormal3fVertex3fvSUN, vFppp) +GO(glTexCoord2fVertex3fSUN, vFfffff) +GO(glTexCoord2fVertex3fvSUN, vFpp) +GO(glTexCoord4fColor4fNormal3fVertex4fSUN, vFfffffffffffffff) +GO(glTexCoord4fColor4fNormal3fVertex4fvSUN, vFpppp) +GO(glTexCoord4fVertex4fSUN, vFffffffff) +GO(glTexCoord4fVertex4fvSUN, vFpp) + +//GL_ARB_polygon_offset_clamp +GO(glPolygonOffsetClamp, vFfff) + +//GL_EXT_polygon_offset_clamp +GO(glPolygonOffsetClampEXT, vFfff) + +//GL_EXT_multisampled_render_to_texture +GO(glRenderbufferStorageMultisampleEXT, vFuiuii) +GO(glFramebufferTexture2DMultisampleEXT, vFiiiuil) + +//GL_KTX_buffer_region +GO(glBufferRegionEnabled, uFv) +GO(glNewBufferRegion, uFi) +GO(glDeleteBufferRegion, vFi) +GO(glReadBufferRegion, vFuiiii) +GO(glDrawBufferRegion, vFuiiiiii) + +//GL_ARB_sparse_buffer +GO(glBufferPageCommitmentARB, vFullC) +GO(glNamedBufferPageCommitmentARB, vFullC) +GO(glNamedBufferPageCommitmentEXT, vFullC) + +//GL_ARB_sparse_texture +GO(TexPageCommitmentARB, vFiiiiiiiii) + +//glx +GO(glXBindHyperpipeSGIX, iFpi) +GO(glXBindTexImageEXT, vFppip) +GO(glXBindSwapBarrierNV, iFpuu) +GO(glXBindSwapBarrierSGIX,vFii) +GO(glXBindVideoCaptureDeviceNV, iFpup) +GO(glXBindVideoDeviceNV, iFpuup) +GO(glXBindVideoImageNV, iFpppi) +GO(glXChangeDrawableAttributes, vFp) +GO(glXChangeDrawableAttributesSGIX, vFp) +GO(glXClientInfo, vFv) +GO(glXCopyContext, vFppp) +GO(glXChooseFBConfig, pFpipp) +GO(glXChooseFBConfigSGIX, pFpipp) +GO(glXCreateContext,pFpppi) +GO(glXCreateContextAttribsARB, pFpppip) +GO(glXCreateContextWithConfigSGIX, pFppipi) +GO(glXCreateGLXPbufferSGIX, pFppuup) +GO(glXCreateGLXPixmap, pFppp) +GO(glXCreateGLXPixmapWithConfigSGIX, pFppp) +GO(glXCreateGLXVideoSourceSGIX, pFpippip) +GO(glXCreateNewContext, pFppipi) +GO(glXCreatePbuffer, pFppp) +GO(glXCreatePixmap, pFppp) +GO(glXCreateWindow, pFpppp) +GO(glXChooseVisual, pFpip) +GO(glXCopyImageSubDataNV, vFppuiiiiipuiiiiiiii) +GO(glXCopySubBufferMESA, vFppiiii) +GO(glXDestroyContext,vFpp) +GO(glXDestroyGLXPbufferSGIX,vFpp) +GO(glXDestroyGLXPixmap,vFpp) +GO(glXDestroyGLXVideoSourceSGIX,vFpp) +GO(glXDestroyHyperpipeConfigSGIX,iFpi) +GO(glXDestroyPbuffer,vFpp) +GO(glXDestroyPixmap,vFpp) +GO(glXDestroyWindow,vFpp) +GO(glXEnumerateVideoCaptureDevicesNV, pFpip) +GO(glXEnumerateVideoDevicesNV, pFpip) +GO(glXFreeContextEXT, vFpp) +GO(glXGetClientString, pFpi) +GO(glXGetConfig, iFppip) +GO(glXGetContextIDEXT, uFp) +GO(glXGetCurrentContext, pFv) +GO(glXGetCurrentDisplay, pFv) +GO(glXGetCurrentDrawable, pFv) +GO(glXGetCurrentReadDrawable, pFv) +GO(glXGetDrawableAttributes,vFi) +GO(glXGetDrawableAttributesSGIX,vFi) +GO(glXGetFBConfigs,pFpip) +GO(glXGetFBConfigAttrib, iFppip) +GO(glXGetFBConfigAttribSGIX, iFppip) +GO(glXGetFBConfigFromVisualSGIX, pFpp) +GO(glXGetFBConfigsSGIX,pFpip) +GO(glXGetSelectedEvent, vFppp) +GO(glXGetSelectedEventSGIX, vFppp) +GO(glXGetVideoDeviceNV, iFpiip) +GO(glXGetVideoInfoNV, iFpippp) +GO(glXGetVideoSyncSGI, iFp) +GO(glXGetVisualConfigs,pFpp) +GO(glXGetVisualFromFBConfig, pFpp) +GO(glXGetVisualFromFBConfigSGIX, pFpp) +GO(glXHyperpipeAttribSGIX,iFpiiip) +//GO(glXHyperpipeConfigSGIX, iFpiipp) +GO(glXImportContextEXT, pFpu) +GO(glXIsDirect,iFpp) +GO(glXJoinSwapGroupNV, iFppu) +GO(glXJoinSwapGroupSGIX,vFpp) +GO(glXLockVideoCaptureDeviceNV, vFpp) +GO(glXMakeContextCurrent,iFpppp) +GO(glXMakeCurrent,iFppp) +GO(glXQueryContext,iFppip) +GO(glXQueryContextInfoEXT,iFppip) +GO(glXQueryDrawable, iFppip) +GO(glXQueryExtension, iFppp) +GO(glXQueryExtensionsString,pFpi) +GO(glXQueryFrameCountNV, iFpip) +GO(glXQueryGLXPbufferSGIX, vFppip) +GO(glXQueryHyperpipeAttribSGIX,iFpiiip) +GO(glXQueryHyperpipeBestAttribSGIX,iFpiiipp) +GO(glXQueryHyperpipeConfigSGIX,pFpip) +GO(glXQueryHyperpipeNetworkSGIX,pFpp) +GO(glXQueryMaxSwapBarriersSGIX,pFpp) //? +GO(glXQueryMaxSwapGroupsNV, iFpipp) +GO(glXQueryServerString,pFpii) +GO(glXQuerySwapGroupNV, iFpipp) +GO(glXQueryVersion,iFppp) +GO(glXQueryVideoCaptureDeviceNV, iFppip) +GO(glXReleaseTexImageEXT, vFppi) +GO(glXReleaseVideoCaptureDeviceNV, vFpp) +GO(glXReleaseVideoDeviceNV, iFpip) +GO(glXReleaseVideoImageNV, iFpp) +//GO(glXRender, vFv) +//GO(glXRenderLarge, vFv) +GO(glXResetFrameCountNV, iFpi) +GO(glXSelectEvent, vFppu) +GO(glXSelectEventSGIX, vFppu) +GO(glXSendPbufferToVideoNV, iFppipi) +GO(glXSwapBuffers,vFpp) +GO(glXUseXFont,vFpiii) +//GO(glXVendorPrivate, vFv) +//GO(glXVendorPrivateWithReply, vFv) +GO(glXWaitGL,vFv) +GO(glXWaitVideoSyncSGI, iFiip) +GO(glXWaitX,vFv) + +GOM(glXGetProcAddress, pFEp) +GOM(glXGetProcAddressARB, pFEp) + +//GLX_MESA_query_renderer +GO(glXQueryRendererIntegerMESA, iFpiiip) +GO(glXQueryCurrentRendererIntegerMESA, iFip) +GO(glXQueryRendererStringMESA, pFpiii) +GO(glXQueryCurrentRendererStringMESA, pFi) + +//GLX_OML_sync_control +GO(glXGetSyncValuesOML, iFppppp) +GO(glXGetMscRateOML, iFpppp) +GO(glXSwapBuffersMscOML, IFppIII) +GO(glXWaitForMscOML, iFppIIIppp) +GO(glXWaitForSbcOML, iFppIppp) + +//GLX_EXT_swap_control +GOM(glXSwapIntervalEXT, vFppi) //%noE +//GLX_EXT_swap_control_tear +//nothing + +//GLX_MESA_swap_control +GOM(glXSwapIntervalMESA, iFi) //%noE +GO(glXGetSwapIntervalMESA, iFv) + +//GLX_SGI_swap_control +GO(glXSwapIntervalSGI,iFi) + +//GLX_NV_vertex_array_range +GO(glXAllocateMemoryNV, pFlfff) +GO(glXFreeMemoryNV, vFp) + +//GLX_ARB_???? +GO(glSpecializeShaderARB, vFupupp) + +//GL_EXT_debug_label +GO(glGetObjectLabelEXT, vFuuipp) +GO(glLabelObjectEXT, vFuuip) + +//GL_EXT_debug_marker +GO(glInsertEventMarkerEXT, vFip) +GO(glPushGroupMarkerEXT, vFip) +GO(glPopGroupMarkerEXT, vFv) + +//GL_KHR_blend_equation_advanced +GO(glBlendBarrierKHR, vFv) + +//Some various other extension +GO(glResolveMultisampleFramebufferAPPLE, vFv) +GO(glTexPageCommitmentARB, vFuiiiiiiiC) + +//GL_ARB_sample_locations +GO(glFramebufferSampleLocationsfvARB, vFuuip) +GO(glNamedFramebufferSampleLocationsfvARB, vFuuip) +GO(glEvaluateDepthValuesARB, vFv) + +//GL_ARB_parallel_shader_compile +GO(glMaxShaderCompilerThreadsARB, vFu) + +//GL_ARB_indirect_parameters +GO(glMultiDrawArraysIndirectCountARB, vFuplii) +GO(glMultiDrawElementsIndirectCountARB, vFuuplii) + +//GL_ARB_gpu_shader_int64 +GO(glUniform1i64ARB, vFiI) +GO(glUniform2i64ARB, vFiII) +GO(glUniform3i64ARB, vFiIII) +GO(glUniform4i64ARB, vFiIIII) +GO(glUniform1i64vARB, vFiip) +GO(glUniform2i64vARB, vFiip) +GO(glUniform3i64vARB, vFiip) +GO(glUniform4i64vARB, vFiip) +GO(glUniform1ui64ARB, vFiU) +GO(glUniform2ui64ARB, vFiUU) +GO(glUniform3ui64ARB, vFiUUU) +GO(glUniform4ui64ARB, vFiUUUU) +GO(glUniform1ui64vARB, vFiip) +GO(glUniform2ui64vARB, vFiip) +GO(glUniform3ui64vARB, vFiip) +GO(glUniform4ui64vARB, vFiip) +GO(glGetUniformi64vARB, vFuip) +GO(glGetUniformui64vARB, vFuip) +GO(glGetnUniformi64vARB, vFuiip) +GO(glGetnUniformui64vARB, vFuiip) +GO(glProgramUniform1i64ARB, vFuiI) +GO(glProgramUniform2i64ARB, vFuiII) +GO(glProgramUniform3i64ARB, vFuiIII) +GO(glProgramUniform4i64ARB, vFuiIIII) +GO(glProgramUniform1i64vARB, vFuiip) +GO(glProgramUniform2i64vARB, vFuiip) +GO(glProgramUniform3i64vARB, vFuiip) +GO(glProgramUniform4i64vARB, vFuiip) +GO(glProgramUniform1ui64ARB, vFuiU) +GO(glProgramUniform2ui64ARB, vFuiUU) +GO(glProgramUniform3ui64ARB, vFuiUUU) +GO(glProgramUniform4ui64ARB, vFuiUUUU) +GO(glProgramUniform1ui64vARB, vFuiip) +GO(glProgramUniform2ui64vARB, vFuiip) +GO(glProgramUniform3ui64vARB, vFuiip) +GO(glProgramUniform4ui64vARB, vFuiip) + +//GL_ARB_compute_variable_group_size +GO(glDispatchComputeGroupSizeARB, vFuuuuuu) + +//GL_ARB_ES3_2_compatibility +GO(glPrimitiveBoundingBoxARB, vFffffffff) + +//GL_ARB_bindless_texture +GO(glGetTextureHandleARB, UFu) +GO(glGetTextureSamplerHandleARB, UFuu) +GO(glMakeTextureHandleResidentARB, vFU) +GO(glMakeTextureHandleNonResidentARB, vFU) +GO(glGetImageHandleARB, UFuiCiu) +GO(glMakeImageHandleResidentARB, vFUu) +GO(glMakeImageHandleNonResidentARB, vFU) +GO(glUniformHandleui64ARB, vFiU) +GO(glUniformHandleui64vARB, vFiip) +GO(glProgramUniformHandleui64ARB, vFuiU) +GO(glProgramUniformHandleui64vARB, vFuiip) +GO(glIsTextureHandleResidentARB, CFU) +GO(glIsImageHandleResidentARB, CFU) +GO(glVertexAttribL1ui64ARB, vFuU) +GO(glVertexAttribL1ui64vARB, vFup) +GO(glGetVertexAttribLui64vARB, vFuup) + +//GL_OES_EGL_image +GO(glEGLImageTargetTexture2DOES, vFup) +GO(glEGLImageTargetRenderbufferStorageOES, vFup) + +//GL_MESA_program_debug +GOM(glProgramCallbackMESA, vFEipp) +GO(glGetProgramRegisterfvMESA, vFilpp) + +//GL_????_ATI +GO(glBlendEquationSeparateATI, vFuu) + +//GL_AMD_interleaved_elements +GO(glVertexAttribParameteriAMD, vFuui) + +//GL_AMD_occlusion_query_event +GO(glQueryObjectParameteruiAMD, vFuuuu) + +//GL_EXT_raster_multisample +GO(glRasterSamplesEXT, vFuC) + +//GL_INTEL_performance_query +GO(glBeginPerfQueryINTEL, vFu) +GO(glCreatePerfQueryINTEL, vFup) +GO(glDeletePerfQueryINTEL, vFu) +GO(glEndPerfQueryINTEL, vFu) +GO(glGetFirstPerfQueryIdINTEL, vFp) +GO(glGetNextPerfQueryIdINTEL, vFup) +GO(glGetPerfCounterInfoINTEL, vFuuupupppppp) +GO(glGetPerfQueryDataINTEL, vFuuipp) +GO(glGetPerfQueryIdByNameINTEL, vFpp) +GO(glGetPerfQueryInfoINTEL, vFuuppppp) + +//GL_NV_bindless_multi_draw_indirect +GO(glMultiDrawArraysIndirectBindlessNV, vFupiii) +GO(glMultiDrawElementsIndirectBindlessNV, vFuupiii) + +//GL_NV_bindless_multi_draw_indirect_count +GO(glMultiDrawArraysIndirectBindlessCountNV, vFupiiii) +GO(glMultiDrawElementsIndirectBindlessCountNV, vFuupiiii) + +//GL_NV_blend_equation_advanced +GO(glBlendParameteriNV, vFui) +GO(glBlendBarrierNV, vFv) + +//GL_NV_command_list +GO(glCreateStatesNV, vFip) +GO(glDeleteStatesNV, vFip) +GO(glIsStateNV, CFu) +GO(glStateCaptureNV, vFuu) +GO(glGetCommandHeaderNV, uFuu) +GO(glGetStageIndexNV, WFu) +GO(glDrawCommandsNV, vFuuppu) +GO(glDrawCommandsAddressNV, vFuppu) +GO(glDrawCommandsStatesNV, vFuppppu) +GO(glDrawCommandsStatesAddressNV, vFppppu) +GO(glCreateCommandListsNV, vFip) +GO(glDeleteCommandListsNV, vFip) +GO(glIsCommandListNV, CFu) +GO(glListDrawCommandsStatesClientNV, vFuuppppu) +GO(glCommandListSegmentsNV, vFuu) +GO(glCompileCommandListNV, vFu) +GO(glCallCommandListNV, vFu) + +//GL_NV_conservative_raster +GO(glSubpixelPrecisionBiasNV, vFuu) + +//GL_NV_fragment_coverage_to_color +GO(glFragmentCoverageColorNV, vFu) + +//GL_NV_framebuffer_mixed_samples +GO(glCoverageModulationTableNV, vFip) +GO(glGetCoverageModulationTableNV, vFip) +GO(glCoverageModulationNV, vFu) + +//GL_NV_internalformat_sample_query +GO(glGetInternalformatSampleivNV, vFuuiuip) + +//GL_NV_path_rendering +GO(glGenPathsNV, uFi) +GO(glDeletePathsNV, vFui) +GO(glIsPathNV, CFu) +GO(glPathCommandsNV, vFuipiup) +GO(glPathCoordsNV, vFuiup) +GO(glPathSubCommandsNV, vFuiiipiup) +GO(glPathSubCoordsNV, vFuiiup) +GO(glPathStringNV, vFuuip) +GO(glPathGlyphsNV, vFuupuiupuuf) +GO(glPathGlyphRangeNV, vFuupuuiuuf) +GO(glWeightPathsNV, vFuipp) +GO(glCopyPathNV, vFuu) +GO(glInterpolatePathsNV, vFuuuf) +GO(glTransformPathNV, vFuuup) +GO(glPathParameterivNV, vFuup) +GO(glPathParameteriNV, vFuui) +GO(glPathParameterfvNV, vFuup) +GO(glPathParameterfNV, vFuuf) +GO(glPathDashArrayNV, vFuip) +GO(glPathStencilFuncNV, vFuiu) +GO(glPathStencilDepthOffsetNV, vFff) +GO(glStencilFillPathNV, vFuuu) +GO(glStencilStrokePathNV, vFuiu) +GO(glStencilFillPathInstancedNV, vFiupuuuup) +GO(glStencilStrokePathInstancedNV, vFiupuiuup) +GO(glPathCoverDepthFuncNV, vFu) +GO(glCoverFillPathNV, vFuu) +GO(glCoverStrokePathNV, vFuu) +GO(glCoverFillPathInstancedNV, vFiupuuup) +GO(glCoverStrokePathInstancedNV, vFiupuuup) +GO(glGetPathParameterivNV, vFuup) +GO(glGetPathParameterfvNV, vFuup) +GO(glGetPathCommandsNV, vFup) +GO(glGetPathCoordsNV, vFup) +GO(glGetPathDashArrayNV, vFup) +GO(glGetPathMetricsNV, vFuiupuip) +GO(glGetPathMetricRangeNV, vFuuiip) +GO(glGetPathSpacingNV, vFuiupuffup) +GO(glIsPointInFillPathNV, CFuuff) +GO(glIsPointInStrokePathNV, CFuff) +GO(glGetPathLengthNV, fFuii) +GO(glPointAlongPathNV, CFuiifpppp) +GO(glMatrixLoad3x2fNV, vFup) +GO(glMatrixLoad3x3fNV, vFup) +GO(glMatrixLoadTranspose3x3fNV, vFup) +GO(glMatrixMult3x2fNV, vFup) +GO(glMatrixMult3x3fNV, vFup) +GO(glMatrixMultTranspose3x3fNV, vFup) +GO(glStencilThenCoverFillPathNV, vFuuuu) +GO(glStencilThenCoverStrokePathNV, vFuiuu) +GO(glStencilThenCoverFillPathInstancedNV, vFiupuuuuup) +GO(glStencilThenCoverStrokePathInstancedNV, vFiupuiuuup) +GO(glPathGlyphIndexRangeNV, uFupuufp) +GO(glPathGlyphIndexArrayNV, uFuupuuiuf) +GO(glPathMemoryGlyphIndexArrayNV, uFuulpiuiuf) +GO(glProgramPathFragmentInputGenNV, vFuiuip) +GO(glGetProgramResourcefvNV, vFuuuipipp) +GO(glPathColorGenNV, vFuuup) +GO(glPathTexGenNV, vFuuip) +GO(glPathFogGenNV, vFu) +GO(glGetPathColorGenivNV, vFuup) +GO(glGetPathColorGenfvNV, vFuup) +GO(glGetPathTexGenivNV, vFuup) +GO(glGetPathTexGenfvNV, vFuup) + + +//GL_NV_sample_locations +GO(glFramebufferSampleLocationsfvNV, vFuuip) +GO(glNamedFramebufferSampleLocationsfvNV, vFuuip) +GO(glResolveDepthValuesNV, vFv) + +//GL_KHR_robustness +GO(glGetGraphicsResetStatusKHR, iFv) +GO(glReadnPixelsKHR, vFiilliilp) +GO(glGetnUniformfvKHR, vFuilp) +GO(glGetnUniformivKHR, vFuilp) +GO(glGetnUniformuivKHR, vFuilp) + +// GLES stuff +GO(glDiscardFramebuffer, vFilp) +GO(glDiscardFramebufferARB, vFilp) +GO(glDiscardFramebufferEXT, vFilp) +GO(glDiscardFramebufferOES, vFilp) +GO(glDiscardFramebufferANGLE, vFilp) +GO(glDiscardFramebufferNV, vFilp) +GO(glBlendBarrier, vFv) +GO(glBlendBarrierARB, vFv) +GO(glBlendBarrierEXT, vFv) +GO(glBlendBarrierOES, vFv) +GO(glBlendBarrierANGLE, vFv) +GO(glClearDepthfARB,vFf) +GO(glClipPlanefARB,vFup) +GO(glDepthRangefARB,vFff) +GO(glFrustumfARB,vFffffff) +GO(glGetClipPlanefARB,vFup) +GO(glOrthofARB,vFffffff) +GO(glClipPlanef,vFup) +GO(glFrustumf,vFffffff) +GO(glGetClipPlanef,vFup) +GO(glOrthof,vFffffff) +GO(glActiveShaderProgramEXT, vFuu) +GO(glBindProgramPipelineEXT, vFu) +GO(glCreateShaderProgramvEXT, uFilp) +GO(glDeleteProgramPipelinesEXT, vFilu) +GO(glGenProgramPipelinesEXT, vFlp) +GO(glGetProgramPipelineInfoLogEXT, vFulpp) +GO(glGetProgramPipelineivEXT, vFuip) +GO(glIsProgramPipelineEXT, iFu) +GO(glUseProgramStagesEXT, vFuuu) +GO(glValidateProgramPipelineEXT, vFu) +GO(glPrimitiveBoundingBox, vFffffffff) + +// GL_EXT_window_rectangles +GO(glWindowRectanglesEXT, vFuip) + +// GL_EXT_memory_object +GO(glGetUnsignedBytevEXT, vFup) +GO(glGetUnsignedBytei_vEXT, vFuup) +GO(glDeleteMemoryObjectsEXT, vFip) +GO(glIsMemoryObjectEXT, CFu) +GO(glCreateMemoryObjectsEXT, vFip) +GO(glMemoryObjectParameterivEXT, vFuup) +GO(glGetMemoryObjectParameterivEXT, vFuup) +GO(glTexStorageMem2DEXT, vFuiuiiuU) +GO(glTexStorageMem2DMultisampleEXT, vFuiuiiCuU) +GO(glTexStorageMem3DEXT, vFuiuiiiuU) +GO(glTexStorageMem3DMultisampleEXT, vFuiuiiiCuU) +GO(glBufferStorageMemEXT, vFuluU) +GO(glTextureStorageMem2DEXT, vFuiuiiuU) +GO(glTextureStorageMem2DMultisampleEXT, vFuiuiiCuU) +GO(glTextureStorageMem3DEXT, vFuiuiiiuU) +GO(glTextureStorageMem3DMultisampleEXT, vFuiuiiiCuU) +GO(glNamedBufferStorageMemEXT, vFuluU) +GO(glTexStorageMem1DEXT, vFuiuiuU) +GO(glTextureStorageMem1DEXT, vFuiuiuU) + +// GL_EXT_semaphore +GO(glGenSemaphoresEXT, vFip) +GO(glDeleteSemaphoresEXT, vFip) +GO(glIsSemaphoreEXT, CFu) +GO(glSemaphoreParameterui64vEXT, vFuup) +GO(glGetSemaphoreParameterui64vEXT, vFuup) +GO(glWaitSemaphoreEXT, vFuupupp) +GO(glSignalSemaphoreEXT, vFuupupp) + +// GL_EXT_memory_object_fd +GO(glImportMemoryFdEXT, vFuUui) + +// GL_KHR_parallel_shader_compile +GO(glMaxShaderCompilerThreadsKHR, vFu) + +// GL_AMD_framebuffer_multisample_advanced +GO(glRenderbufferStorageMultisampleAdvancedAMD, vFuiiuii) +GO(glNamedRenderbufferStorageMultisampleAdvancedAMD, vFuiiuii) + +// GL_EXT_semaphore_fd +GO(glImportSemaphoreFdEXT, vFuui) + +// GLX_SGI_make_current_read +GO(glXMakeCurrentReadSGI, iFpppp) +GO(glXGetCurrentReadDrawableSGI, pFv) + +// GL_IMG_multisampled_render_to_texture +GO(glFramebufferTexture2DMultisampleIMG, vFiiiuil) +GO(glRenderbufferStorageMultisampleIMG, vFilill) + +// GL_ANGLE_translated_shader_source +GO(glGetTranslatedShaderSourceANGLE, vFulpp) + +// GL_EXT_EGL_image_storage +GO(glEGLImageTargetTexStorageEXT, vFupp) +GO(glEGLImageTargetTextureStorageEXT, vFupp) + +// GL_EXT_external_buffer +GO(glBufferStorageExternalEXT, vFullpu) +GO(glNamedBufferStorageExternalEXT, vFullpu) + +// GL_EXT_memory_object_win32 +GO(glImportMemoryWin32HandleEXT, vFuUup) +GO(glImportMemoryWin32NameEXT, vFuUup) + +// GL_EXT_semaphore_win32 +GO(glImportSemaphoreWin32HandleEXT, vFuup) +GO(glImportSemaphoreWin32NameEXT, vFuup) + +// GL_EXT_shader_framebuffer_fetch_non_coherent +GO(glFramebufferFetchBarrierEXT, vFv) + +// GL_EXT_win32_keyed_mutex +GO(glAcquireKeyedMutexWin32EXT, CFuUu) +GO(glReleaseKeyedMutexWin32EXT, CFuU) + +// GL_INTEL_framebuffer_CMAA +GO(glApplyFramebufferAttachmentCMAAINTEL, vFv) + +// GL_NV_alpha_to_coverage_dither_control +GO(glAlphaToCoverageDitherControlNV, vFu) + +// GL_NV_clip_space_w_scaling +GO(glViewportPositionWScaleNV, vFuff) + +// GL_NV_conservative_raster_dilate +GO(glConservativeRasterParameterfNV, vFuf) + +// GL_NV_conservative_raster_pre_snap_triangles +GO(glConservativeRasterParameteriNV, vFui) + +// GL_NV_draw_vulkan_image +GO(glDrawVkImageNV, vFUufffffffff) +GOM(glGetVkProcAddrNV, pFEp) +GO(glWaitVkSemaphoreNV, vFU) +GO(glSignalVkSemaphoreNV, vFU) +GO(glSignalVkFenceNV, vFU) + +// GL_NV_gpu_multicast +GO(glRenderGpuMaskNV, vFu) +GO(glMulticastBufferSubDataNV, vFuullp) +GO(glMulticastCopyBufferSubDataNV, vFuuuulll) +GO(glMulticastCopyImageSubDataNV, vFuuuuiiiiuuiiiiiii) +GO(glMulticastBlitFramebufferNV, vFuuiiiiiiiiuu) +GO(glMulticastFramebufferSampleLocationsfvNV, vFuuuip) +GO(glMulticastBarrierNV, vFv) +GO(glMulticastWaitSyncNV, vFuu) +GO(glMulticastGetQueryObjectivNV, vFuuup) +GO(glMulticastGetQueryObjectuivNV, vFuuup) +GO(glMulticastGetQueryObjecti64vNV, vFuuup) +GO(glMulticastGetQueryObjectui64vNV, vFuuup) + +// GL_NV_memory_attachment +GO(glGetMemoryObjectDetachedResourcesuivNV, vFuuiip) +GO(glResetMemoryObjectParameterNV, vFuu) +GO(glTexAttachMemoryNV, vFuuU) +GO(glBufferAttachMemoryNV, vFuuU) +GO(glTextureAttachMemoryNV, vFuuU) +GO(glNamedBufferAttachMemoryNV, vFuuU) + +// GL_NV_mesh_shader +GO(glDrawMeshTasksNV, vFuu) +GO(glDrawMeshTasksIndirectNV, vFl) +GO(glMultiDrawMeshTasksIndirectNV, vFlii) +GO(glMultiDrawMeshTasksIndirectCountNV, vFllii) + +// GL_NV_query_resource +GO(glQueryResourceNV, iFuiup) + +// GL_NV_query_resource_tag +GO(glGenQueryResourceTagNV, vFip) +GO(glDeleteQueryResourceTagNV, vFip) +GO(glQueryResourceTagNV, vFip) + +// GL_NV_scissor_exclusive +GO(glScissorExclusiveArrayvNV, vFuip) +GO(glScissorExclusiveNV, vFiiii) + +// GL_NV_shading_rate_image +GO(glBindShadingRateImageNV, vFu) +GO(glShadingRateImagePaletteNV, vFuuip) +GO(glGetShadingRateImagePaletteNV, vFuup) +GO(glShadingRateImageBarrierNV, vFC) +GO(glShadingRateSampleOrderNV, vFu) +GO(glShadingRateSampleOrderCustomNV, vFuup) +GO(glGetShadingRateSampleLocationivNV, vFuuup) + +// GL_NV_viewport_swizzle +GO(glViewportSwizzleNV, vFuuuuu) + +// GL_OVR_multiview +GO(glFramebufferTextureMultiviewOVR, vFuuuiii) +GO(glNamedFramebufferTextureMultiviewOVR, vFuiuiil) + +// GL_AMD_framebuffer_sample_positions +GO(glFramebufferSamplePositionsfvAMD, vFuuup) +GO(glNamedFramebufferSamplePositionsfvAMD, vFuuup) +GO(glGetFramebufferParameterfvAMD, vFuuuuip) +GO(glGetNamedFramebufferParameterfvAMD, vFuuuuip) + +// GL_ANGLE_framebuffer_blit +GO(glBlitFramebufferANGLE, vFiiiiiiiiui) + +// GL_ANGLE_framebuffer_multisample +GO(glRenderbufferStorageMultisampleANGLE, vFilill) + +// GL_ANGLE_instanced_arrays +GO(glDrawArraysInstancedANGLE, vFiill) +GO(glDrawElementsInstancedANGLE, vFilipl) +GO(glVertexAttribDivisorANGLE, vFuu) + +// GL_ANGLE_timer_query +GO(glBeginQueryANGLE, vFiu) +GO(glDeleteQueriesANGLE, vFlp) +GO(glEndQueryANGLE, vFi) +GO(glGenQueriesANGLE, vFlp) +GO(glGetQueryObjecti64vANGLE, vFuip) +GO(glGetQueryObjectivANGLE, vFuip) +GO(glGetQueryObjectui64vANGLE, vFuip) +GO(glGetQueryObjectuivANGLE, vFuip) +GO(glGetQueryivANGLE, vFiip) +GO(glIsQueryANGLE, iFu) +GO(glQueryCounterANGLE, vFui) + +// GL_APPLE_copy_texture_levels +GO(glCopyTextureLevelsAPPLE, vFuuil) + +// GL_APPLE_framebuffer_multisample +GO(glRenderbufferStorageMultisampleAPPLE, vFilill) + +// GL_APPLE_sync +GO(glFenceSyncAPPLE, pFiu) +GO(glIsSyncAPPLE, iFp) +GO(glDeleteSyncAPPLE, vFp) +GO(glClientWaitSyncAPPLE, iFpuU) +GO(glWaitSyncAPPLE, vFpuU) +GO(glGetInteger64vAPPLE, vFip) +GO(glGetSyncivAPPLE, vFpilpp) + +// GL_EXT_base_instance +GO(glDrawArraysInstancedBaseInstanceEXT, vFiillu) +GO(glDrawElementsInstancedBaseInstanceEXT, vFiliplu) +GO(glDrawElementsInstancedBaseVertexBaseInstanceEXT, vFilipliu) + +// GL_EXT_blend_func_extended +GO(glBindFragDataLocationIndexedEXT, vFuuup) +GO(glGetProgramResourceLocationIndexEXT, iFuip) +GO(glGetFragDataIndexEXT, iFup) + +// GL_EXT_buffer_storage +GO(glBufferStorageEXT, vFilpu) + +// GL_EXT_clear_texture +GO(glClearTexImageEXT, vFuiiip) +GO(glClearTexSubImageEXT, vFuiiiillliip) + +// GL_EXT_copy_image +GO(glCopyImageSubDataEXT, vFuiiiiiuiiiiilll) + +// GL_EXT_draw_buffers +GO(glDrawBuffersEXT, vFlp) + +// GL_EXT_draw_buffers_indexed +GO(glEnableiEXT, vFiu) +GO(glDisableiEXT, vFiu) +GO(glBlendEquationiEXT, vFui) +GO(glBlendEquationSeparateiEXT, vFuii) +GO(glBlendFunciEXT, vFuii) +GO(glBlendFuncSeparateiEXT, vFuiiii) +GO(glColorMaskiEXT, vFuiiii) +GO(glIsEnablediEXT, iFui) + +// GL_EXT_draw_elements_base_vertex +GO(glDrawElementsBaseVertexEXT, vFilipi) +GO(glDrawRangeElementsBaseVertexEXT, vFilulipi) +GO(glDrawElementsInstancedBaseVertexEXT, vFilipli) + +// GL_OES_draw_elements_base_vertex +GO(glDrawElementsBaseVertexOES, vFilipi) +GO(glDrawRangeElementsBaseVertexOES, vFiuulipi) +GO(glDrawElementsInstancedBaseVertexOES, vFilipli) +GO(glMultiDrawElementsBaseVertexEXT, vFipiplp) + +// GL_EXT_fragment_lighting +GO(glFragmentLightModeliEXT, vFii) +GO(glFragmentLightModelfEXT, vFif) +GO(glFragmentLightModelivEXT, vFip) +GO(glFragmentLightModelfvEXT, vFip) +GO(glFragmentLightiEXT, vFiii) +GO(glFragmentLightfEXT, vFiif) +GO(glFragmentLightivEXT, vFiip) +GO(glFragmentLightfvEXT, vFiip) +GO(glGetFragmentLightivEXT, vFiip) +GO(glGetFragmentLightfvEXT, vFiip) +GO(glFragmentMaterialfEXT, vFiif) +GO(glFragmentMaterialiEXT, vFiii) +GO(glFragmentMaterialfvEXT, vFiip) +GO(glFragmentMaterialivEXT, vFiip) +GO(glFragmentColorMaterialEXT, vFii) +GO(glGetFragmentMaterialfvEXT, vFiip) +GO(glGetFragmentMaterialivEXT, vFiip) +GO(glLightEnviEXT, vFii) + +// GL_EXT_instanced_arrays +GO(glVertexAttribDivisorEXT, vFuu) + +// GL_EXT_map_buffer_range +GO(glMapBufferRangeEXT, pFillu) +GO(glFlushMappedBufferRangeEXT, vFill) + +// GL_EXT_multi_draw_indirect +GO(glMultiDrawArraysIndirectEXT, vFipll) +GO(glMultiDrawElementsIndirectEXT, vFiipll) + +// GL_EXT_multiview_draw_buffers +GO(glReadBufferIndexedEXT, vFii) +GO(glDrawBuffersIndexedEXT, vFipp) +GO(glGetIntegeri_vEXT, vFiup) + +// GL_EXT_scene_marker +GO(glBeginSceneEXT, vFv) +GO(glEndSceneEXT, vFv) + +// GL_EXT_shader_pixel_local_storage2 +GO(glFramebufferPixelLocalStorageSizeEXT, vFul) +GO(glGetFramebufferPixelLocalStorageSizeEXT, lFu) +GO(glClearPixelLocalStorageuiEXT, vFllp) + +// GL_EXT_sparse_texture +GO(glTexPageCommitmentEXT, vFiiiiillli) + +// GL_EXT_texture_storage +GO(glTexStorage1DEXT, vFuiui) +GO(glTexStorage2DEXT, vFuiuii) +GO(glTexStorage3DEXT, vFuiuiii) + +// GL_EXT_texture_view +GO(glTextureViewEXT, vFuiuiuuuu) + +// GL_EXT_vertex_array_setXXX +GO(glCreateArraySetExt, pFv) +GO(glBindArraySetEXT, vFp) +GO(glDeleteArraySetsEXT, vFlp) + +// GL_INTEL_texture_scissor +GO(glTexScissorINTEL, vFiff) +GO(glTexScissorFuncINTEL, vFiii) + +// GL_NVX_linked_gpu_multicast +GO(glLGPUNamedBufferSubDataNVX, vFuullp) +GO(glLGPUCopyImageSubDataNVX, vFuuuuiiiiuuiiiiiii) +GO(glLGPUInterlockNVX, vFv) + +// GL_NV_3dvision_settings +GO(glStereoParameteriNV, vFii) +GO(glStereoParameterfNV, vFif) + +// GL_NV_copy_buffer +GO(glCopyBufferSubDataNV, vFiilll) + +// GL_NV_draw_buffers +GO(glDrawBuffersNV, vFlp) + +// GL_NV_draw_instanced +GO(glDrawArraysInstancedNV, vFiill) +GO(glDrawElementsInstancedNV, vFilipl) + +// GL_NV_framebuffer_blit +GO(glBlitFramebufferNV, vFiiiiiiiiui) + +// GL_NV_framebuffer_multisample +GO(glRenderbufferStorageMultisampleNV, vFilill) + +// GL_NV_instanced_arrays +GO(glVertexAttribDivisorNV, vFuu) + +// GL_NV_non_square_matrices +GO(glUniformMatrix2x3fvNV, vFilip) +GO(glUniformMatrix3x2fvNV, vFilip) +GO(glUniformMatrix2x4fvNV, vFilip) +GO(glUniformMatrix4x2fvNV, vFilip) +GO(glUniformMatrix3x4fvNV, vFilip) +GO(glUniformMatrix4x3fvNV, vFilip) + +// GL_NV_polygon_mode +GO(glPolygonModeNV, vFii) + +// GL_NV_texture_array +GO(glTexImage3DNV, vFiiillliiip) +GO(glTexSubImage3DNV, vFiiiiillliip) +GO(glCopyTexSubImage3DNV, vFiiiiiiill) +GO(glCompressedTexImage3DNV, vFiiilllilp) +GO(glCompressedTexSubImage3DNV, vFiiiiilllilp) +GO(glFramebufferTextureLayerNV, vFiiuii) + +// GL_NV_viewport_array +GO(glViewportArrayvNV, vFulp) +GO(glViewportIndexedfNV, vFuffff) +GO(glViewportIndexedfvNV, vFup) +GO(glScissorArrayvNV, vFulp) +GO(glScissorIndexedNV, vFuiill) +GO(glScissorIndexedvNV, vFup) +GO(glDepthRangeArrayfvNV, vFulp) +GO(glDepthRangeIndexedfNV, vFuff) +GO(glGetFloati_vNV, vFiup) +GO(glEnableiNV, vFiu) +GO(glDisableiNV, vFiu) +GO(glIsEnablediNV, iFiu) + +// GL_OVR_multiview_multisampled_render_to_texture +GO(glFramebufferTextureMultisampleMultiviewOVR, vFiiuilil) + +// GL_QCOM_alpha_test +GO(glAlphaFuncQCOM, vFif) + +// GL_QCOM_driver_control +GO(glGetDriverControlsQCOM, vFplp) +GO(glGetDriverControlStringQCOM, vFulpp) +GO(glEnableDriverControlQCOM, vFu) +GO(glDisableDriverControlQCOM, vFu) + +// GL_QCOM_extended_get +GO(glExtGetTexturesQCOM, vFpip) +GO(glExtGetBuffersQCOM, vFpip) +GO(glExtGetRenderbuffersQCOM, vFpip) +GO(glExtGetFramebuffersQCOM, vFpip) +GO(glExtGetTexLevelParameterivQCOM, vFuiiip) +GO(glExtTexObjectStateOverrideiQCOM, vFiii) +GO(glExtGetTexSubImageQCOM, vFiiiiillliip) +GO(glExtGetBufferPointervQCOM, vFip) + +// GL_QCOM_extended_get2 +GO(glExtGetShadersQCOM, vFpip) +GO(glExtGetProgramsQCOM, vFpip) +GO(glExtIsProgramBinaryQCOM, iFu) +GO(glExtGetProgramBinarySourceQCOM, vFuipp) + +// GL_QCOM_framebuffer_foveated +GO(glFramebufferFoveationConfigQCOM, vFuuuup) +GO(glFramebufferFoveationParametersQCOM, vFuuufffff) + +// GL_QCOM_shader_framebuffer_fetch_noncoherent +GO(glFramebufferFetchBarrierQCOM, vFv) + +// GL_QCOM_tiled_rendering +GO(glStartTilingQCOM, vFuuuuu) +GO(glEndTilingQCOM, vFu) + +// GLES fixed point +GO(glAlphaFuncx, vFii) +GO(glClearColorx, vFiiii) +GO(glClearDepthx, vFi) +GO(glClipPlanex, vFip) +GO(glColor4x, vFiiii) +GO(glDepthRangex, vFii) +GO(glFogx, vFii) +GO(glFogxv, vFip) +GO(glFrustumx, vFiiiiii) +GO(glGetClipPlanex, vFip) +GO(glGetFixedv, vFip) +GO(glGetTexEnvxv, vFiip) +GO(glGetTexParameterxv, vFiip) +GO(glLightModelx, vFii) +GO(glLightModelxv, vFip) +GO(glLightx, vFiii) +GO(glLightxv, vFiip) +GO(glLineWidthx, vFi) +GO(glLoadMatrixx, vFp) +GO(glMaterialx, vFiii) +GO(glMaterialxv, vFiip) +GO(glMultMatrixx, vFp) +GO(glMultiTexCoord4x, vFiiiii) +GO(glNormal3x, vFiiii) +GO(glOrthox, vFiiiiii) +GO(glPointParameterxv, vFip) +GO(glPointSizex, vFi) +GO(glPolygonOffsetx, vFii) +GO(glRotatex, vFiiii) +GO(glScalex, vFiii) +GO(glTexEnvx, vFiii) +GO(glTexEnvxv, vFiip) +GO(glTexParameterx, vFiii) +GO(glTexParameterxv, vFiip) +GO(glTranslatex, vFiii) +GO(glAccumx, vFii) +GO(glBitmapx, vFlliiiip) +GO(glBlendColorx, vFiiii) +GO(glClearAccumx, vFiiii) +GO(glColor3x, vFiii) +GO(glColor3xv, vFp) +GO(glColor4xv, vFp) +GO(glConvolutionParameterx, vFiii) +GO(glConvolutionParameterxv, vFiip) +GO(glEvalCoord1x, vFi) +GO(glEvalCoord1xv, vFp) +GO(glEvalCoord2x, vFii) +GO(glEvalCoord2xv, vFp) +GO(glFeedbackBufferx, vFlip) +GO(glGetConvolutionParameterxv, vFiip) +GO(glGetHistogramParameterxv, vFiip) +GO(glGetLightx, vFiip) +GO(glGetMapxv, vFiip) +GO(glGetMaterialx, vFiii) +GO(glGetTexGenxv, vFiip) +GO(glGetTexLevelParameterxv, vFiiip) +GO(glIndexx, vFi) +GO(glIndexxv, vFp) +GO(glLoadTransposeMatrixx, vFp) +GO(glMap1x, vFiiiiii) +GO(glMap2x, vFiiiiiiiiii) +GO(glMapGrid1x, vFiii) +GO(glMapGrid2x, vFiiiii) +GO(glMultTransposeMatrixx, vFp) +GO(glMultiTexCoord1x, vFii) +GO(glMultiTexCoord1xv, vFip) +GO(glMultiTexCoord2x, vFiii) +GO(glMultiTexCoord2xv, vFip) +GO(glMultiTexCoord3x, vFiiii) +GO(glMultiTexCoord3xv, vFip) +GO(glMultiTexCoord4xv, vFip) +GO(glNormal3xv, vFp) +GO(glPassThroughx, vFi) +GO(glPixelM, vFiip) +GO(glPixelSto, vFii) +GO(glPixelTransferx, vFii) +GO(glPixelZoomx, vFii) +GO(glPrioritizeTexturesx, vFlpp) +GO(glRasterPos2x, vFii) +GO(glRasterPos2xv, vFp) +GO(glRasterPos3x, vFiii) +GO(glRasterPos3xv, vFp) +GO(glRasterPos4x, vFiiii) +GO(glRasterPos4xv, vFp) +GO(glRectx, vFiiii) +GO(glRectxv, vFpp) +GO(glTexCoord1x, vFi) +GO(glTexCoord1xv, vFp) +GO(glTexCoord2x, vFii) +GO(glTexCoord2xv, vFp) +GO(glTexCoord3x, vFiii) +GO(glTexCoord3xv, vFp) +GO(glTexCoord4x, vFiiii) +GO(glTexCoord4xv, vFp) +GO(glTexGenx, vFiii) +GO(glTexGenxv, vFiip) +GO(glVertex2x, vFi) +GO(glVertex2xv, vFp) +GO(glVertex3x, vFii) +GO(glVertex3xv, vFp) +GO(glVertex4x, vFiii) +GO(glVertex4xv, vFp) + +// GL_OES_point_size +GO(glPointSizePointerOES, vFilp) + +// GL_REGAL_error_string +GO(glErrorStringREGAL, pFi) + +// GL_REGAL_extension_query +GO(glGetExtensionREGAL, iFp) +GO(glIsSupportedREGAL, iFp) + +//glLogMessageCallbackREGAL +//glGetProcAddressREGAL + +// GL_SGIS_multitexture +GO(glInterleavedTextureCoordSetsSGIS, vFi) +GO(glSelectTextureCoordSetSGIS, vFi) +GO(glSelectTextureSGIS, vFi) +GO(glSelectTextureTransformSGIS, vFi) + +// GL_SGIS_shared_multisample +GO(glMultisampleSubRectPosSGIS, vFii) + +// GL_SGIX_datapipe +GO(glAddressSpace, vFiu) +GO(glDataPipe, iFi) + +// GL_SGIX_fog_layers +GO(glFogLayersSGIX, vFlp) +GO(glGetFogLayersSGIX, vFp) + +// GL_SGIX_fog_texture +GO(glTextureFogSGIX, vFu) + +// GL_ANGLE_request_extension +GO(glDisableExtensionANGLE, vFp) +GO(glRequestExtensionANGLE, vFp) + +// GL_KHR_debug +GO(glDebugMessageControlKHR, vFiiilpi) +GO(glDebugMessageInsertKHR, vFiiuilp) +GOM(glDebugMessageCallbackKHR, vFEpp) +GO(glGetDebugMessageLogKHR, uFulpppppp) +GO(glPushDebugGroupKHR, vFiulp) +GO(glPopDebugGroupKHR, vFv) +GO(glObjectLabelKHR, vFiulp) +GO(glGetObjectLabelKHR, vFiulpp) +GO(glObjectPtrLabelKHR, vFplp) +GO(glGetObjectPtrLabelKHR, vFplpp) +GO(glGetPointervKHR, vFip) + +// WGL_EXT_swap_control +GO(wglSwapIntervalEXT, iFi) +GO(wglGetSwapIntervalEXT, iFv) + +// GL_MESA_framebuffer_flip_y +GO(glFramebufferParameteriMESA, vFuui) +GO(glGetFramebufferParameterivMESA, vFuup) + +// GL_NVX_gpu_multicast2 +GO(glUploadGpuMaskNVX, vFu) +GO(glMulticastViewportArrayvNVX, vFuuip) +GO(glMulticastViewportPositionWScaleNVX, vFuuff) +GO(glMulticastScissorArrayvNVX, vFuuip) +GO(glAsyncCopyBufferSubDataNVX, uFippuuuulllipp) +GO(glAsyncCopyImageSubDataNVX, uFippuuuuiiiiuuiiiiiiiipp) + +// GL_NVX_progress_fence +GO(glCreateProgressFenceNVX, uFv) +GO(glSignalSemaphoreui64NVX, vFuipp) +GO(glWaitSemaphoreui64NVX, vFuipp) +GO(glClientWaitSemaphoreui64NVX, vFipp) + +// GL_NV_memory_object_sparse +GO(glBufferPageCommitmentMemNV, vFulluUC) +GO(glTexPageCommitmentMemNV, vFuiiiiiiiiuUC) +GO(glNamedBufferPageCommitmentMemNV, vFulluUC) +GO(glTexturePageCommitmentMemNV, vFuiiiiiiiiuUC) + +// GL_NV_vdpau_interop2 +GO(glVDPAURegisterVideoSurfaceWithPictureStructureNV, lFpuipC) + +// Base EGL +GO(eglBindAPI, iFi) +GO(eglBindTexImage, iFppi) +GO(eglChooseConfig, iFpppip) +GO(eglClientWaitSync, iFppiU) +GO(eglCopyBuffers, iFppp) +GO(eglCreateContext, pFpppp) +GO(eglCreateImage, pFppuup) +GO(eglCreatePbufferFromClientBuffer, pFpippp) +GO(eglCreatePbufferSurface, pFppp) +GO(eglCreatePixmapSurface, pFpppp) +GO(eglCreatePlatformPixmapSurface, pFpppp) +GO(eglCreatePlatformWindowSurface, pFpppp) +GO(eglCreateSync, pFpup) +GO(eglCreateWindowSurface, pFpppp) +GO(eglDestroyContext, iFpp) +GO(eglDestroyImage, iFpp) +GO(eglDestroySurface, iFpp) +GO(eglDestroySync, iFpp) +GO(eglGetConfigAttrib, iFppip) +GO(eglGetConfigs, iFppip) +GO(eglGetCurrentContext, pFv) +GO(eglGetCurrentDisplay, pFv) +GO(eglGetCurrentSurface, pFi) +GO(eglGetDisplay, pFp) +GO(eglGetError, iFv) +GO(eglGetPlatformDisplay, pFppp) +//GOM(eglGetProcAddress, pFEp) +GO(eglGetSyncAttrib, iFppip) +GO(eglInitialize, iFppp) +GO(eglMakeCurrent, iFpppp) +GO(eglQueryAPI, iFv) +GO(eglQueryContext, iFppip) +GO(eglQueryString, pFpi) +GO(eglQuerySurface, iFppip) +GO(eglReleaseTexImage, iFppi) +GO(eglReleaseThread, iFv) +GO(eglSurfaceAttrib, iFppii) +GO(eglSwapBuffers, iFpp) +GO(eglSwapInterval, iFpi) +GO(eglTerminate, iFp) +GO(eglWaitClient, iFv) +GO(eglWaitGL, iFv) +GO(eglWaitNative, iFi) +GO(eglWaitSync, iFppi) + +// EGL_KHR_debug +GOM(eglDebugMessageControlKHR, iFEpp) +GO(eglQueryDebugKHR, iFip) +GO(eglLabelObjectKHR, iFpupp) + +// EGL_MESA_image_dma_buf_export +GO(eglExportDMABUFImageQueryMESA, iFppppp) +GO(eglExportDMABUFImageMESA, iFppppp) + +// EGL_ANGLE_sync_control_rate +GO(eglGetMscRateANGLE, iFpppp) + +// EGL_CHROMIUM_sync_control +GO(eglGetSyncValuesCHROMIUM, iFppppp) + +// EGL_EXT_device_query +GO(eglQueryDeviceAttribEXT, iFpip) +GO(eglQueryDeviceStringEXT, pFpi) +GO(eglQueryDisplayAttribEXT, iFpip) + +// EGL_EXT_device_enumeration +GO(eglQueryDevicesEXT, iFipp) + +// EGL_EXT_image_dma_buf_import_modifiers +GO(eglQueryDmaBufFormatsEXT, iFpipp) +GO(eglQueryDmaBufModifiersEXT, iFpiippp) + +// EGL_ANDROID_blob_cache +GOM(eglSetBlobCacheFuncsANDROID, vFEppp) + +// EGL_KHR_swap_buffers_with_damage +GO(eglSwapBuffersWithDamageKHR, iFpppi) + +// EGL_KHR_wait_sync +GO(eglWaitSyncKHR, iFppi) + +// EGL_KHR_image_base +GO(eglCreateImageKHR, pFppupp) +GO(eglDestroyImageKHR, iFpp) + +// EGL_KHR_fence_sync +GO(eglCreateSyncKHR, pFpup) +GO(eglDestroySyncKHR, iFpp) +GO(eglClientWaitSyncKHR, iFppiU) +GO(eglGetSyncAttribKHR, iFppip) + +// EGL_ANDROID_native_fence_sync +GO(eglDupNativeFenceFDANDROID, iFpp) + +// EGL_NV_post_sub_buffer +GO(eglPostSubBufferNV, iFppiiii) + +// GL_EXT_clip_control +GO(glClipControlEXT, vFuu) + +// GL_EXT_disjoint_timer_query +GO(glGenQueriesEXT, vFlp) +GO(glDeleteQueriesEXT, vFlp) +GO(glIsQueryEXT, iFu) +GO(glBeginQueryEXT, vFuu) +GO(glEndQueryEXT, vFu) +GO(glQueryCounterEXT, vFuu) +GO(glGetQueryivEXT, vFuup) +GO(glGetQueryObjectivEXT, vFuup) +GO(glGetQueryObjectuivEXT, vFuup) +GO(glGetQueryObjecti64vEXT, vFuup) +GO(glGetQueryObjectui64vEXT, vFuup) +GO(glGetInteger64vEXT, vFup) + +// GL_OES_mapbuffer +GO(glGetBufferPointervOES, vFuup) +GO(glMapBufferOES, pFuu) +GO(glUnmapBufferOES, iFu) diff --git a/src/wrapped32/wrappedlibpthread_private.h b/src/wrapped32/wrappedlibpthread_private.h index fea570ab8..73a283437 100755 --- a/src/wrapped32/wrappedlibpthread_private.h +++ b/src/wrapped32/wrappedlibpthread_private.h @@ -131,11 +131,11 @@ GO(pthread_rwlockattr_init, iFp) GO(pthread_rwlockattr_setkind_np, iFpi) // pthread_rwlockattr_setpshared // __pthread_rwlock_destroy -GO(pthread_rwlock_destroy, iFp) +GOM(pthread_rwlock_destroy, iFp) //%noE GOM(__pthread_rwlock_init, iFpp) //%noE GOM(pthread_rwlock_init, iFpp) //%noE GO(__pthread_rwlock_rdlock, iFp) -GOM(pthread_rwlock_rdlock, iFp) //%noE +GO(pthread_rwlock_rdlock, iFp) // pthread_rwlock_timedrdlock // pthread_rwlock_timedwrlock // __pthread_rwlock_tryrdlock diff --git a/src/wrapped32/wrappedsdl1.c b/src/wrapped32/wrappedsdl1.c new file mode 100644 index 000000000..f7fe2c800 --- /dev/null +++ b/src/wrapped32/wrappedsdl1.c @@ -0,0 +1,538 @@ +#include +#include +#include +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include + +#include "wrappedlibs.h" + +#include "wrapper32.h" +#include "debug.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "callback.h" +#include "librarian.h" +#include "emu/x64emu_private.h" +#include "box32context.h" +#include "sdl1rwops.h" +#include "gltools.h" + +#include "x64trace.h" +#include "threads.h" + +#include "sdl1align32.h" + +extern const char* sdl1Name; +#define LIBNAME sdl1 + +static int sdl_Yes() {return 1;} +static int sdl_No() {return 0;} +EXPORT int my32_SDL_Has3DNow() __attribute__((alias("sdl_No"))); +EXPORT int my32_SDL_Has3DNowExt() __attribute__((alias("sdl_No"))); +EXPORT int my32_SDL_HasAltiVec() __attribute__((alias("sdl_No"))); +EXPORT int my32_SDL_HasMMX() __attribute__((alias("sdl_Yes"))); +EXPORT int my32_SDL_HasMMXExt() __attribute__((alias("sdl_Yes"))); +EXPORT int my32_SDL_HasRDTSC() __attribute__((alias("sdl_Yes"))); +EXPORT int my32_SDL_HasSSE() __attribute__((alias("sdl_Yes"))); +EXPORT int my32_SDL_HasSSE2() __attribute__((alias("sdl_Yes"))); + +typedef struct { + int32_t freq; + uint16_t format; + uint8_t channels; + uint8_t silence; + uint16_t samples; + uint32_t size; + void (*callback)(void *userdata, uint8_t *stream, int32_t len); + void *userdata; +} SDL_AudioSpec; + +typedef struct { + int32_t freq; + uint16_t format; + uint8_t channels; + uint8_t silence; + uint16_t samples; + uint32_t size; + ptr_t callback; //void (*callback)(void *userdata, uint8_t *stream, int32_t len); + ptr_t userdata; //void *userdata; +} SDL_AudioSpec32; + +EXPORT void my32_SDL_Quit(); + +#define ADDED_FUNCTIONS() \ + GO(SDL_AllocRW, sdl1_allocrw) \ + GO(SDL_FreeRW, sdl1_freerw) + +#define ADDED_FINI() \ + my32_SDL_Quit(); + +#include "generated/wrappedsdl1types32.h" + +#include "wrappercallback32.h" + +// event filter. Needs to be global, but there is only one, so that's should be fine +static x64emu_t *sdl1_evtfilter = NULL; +static void* sdl1_evtfnc = NULL; +static int sdl1_evtautofree = 0; +static int sdl1_evtinside = 0; + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// AudioCallback ... +#define GO(A) \ +static uintptr_t my32_AudioCallback_fct_##A = 0; \ +static void my32_AudioCallback_##A(void *userdata, uint8_t *stream, int32_t len) \ +{ \ + RunFunctionFmt(my32_AudioCallback_fct_##A, "ppi", userdata, stream, len); \ +} +SUPER() +#undef GO +static void* find_AudioCallback_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_AudioCallback_fct_##A == (uintptr_t)fct) return my32_AudioCallback_##A; + SUPER() + #undef GO + #define GO(A) if(my32_AudioCallback_fct_##A == 0) {my32_AudioCallback_fct_##A = (uintptr_t)fct; return my32_AudioCallback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for SDL1 AudioCallback callback\n"); + return NULL; +} +// TimerCallback ... +#define GO(A) \ +static uintptr_t my32_TimerCallback_fct_##A = 0; \ +static uint32_t my32_TimerCallback_##A(uint32_t interval, void *userdata) \ +{ \ + return (uint32_t)RunFunctionFmt(my32_TimerCallback_fct_##A, "up", interval, userdata); \ +} +SUPER() +#undef GO +static void* find_TimerCallback_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_TimerCallback_fct_##A == (uintptr_t)fct) return my32_TimerCallback_##A; + SUPER() + #undef GO + #define GO(A) if(my32_TimerCallback_fct_##A == 0) {my32_TimerCallback_fct_##A = (uintptr_t)fct; return my32_TimerCallback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for SDL1 TimerCallback callback\n"); + return NULL; +} +// EvtFilter ... +#define GO(A) \ +static uintptr_t my32_EvtFilter_fct_##A = 0; \ +static int my32_EvtFilter_##A(void* p) \ +{ \ + return RunFunctionFmt(my32_EvtFilter_fct_##A, "p", p); \ +} +SUPER() +#undef GO +static void* find_EvtFilter_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my32_EvtFilter_fct_##A == (uintptr_t)fct) return my32_EvtFilter_##A; + SUPER() + #undef GO + #define GO(A) if(my32_EvtFilter_fct_##A == 0) {my32_EvtFilter_fct_##A = (uintptr_t)fct; return my32_EvtFilter_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for SDL1 EvtFilter callback\n"); + return NULL; +} +static void* reverse_EvtFilterFct(void* fct) +{ + if(!fct) return fct; + if(CheckBridged(my_lib->w.bridge, fct)) + return (void*)CheckBridged(my_lib->w.bridge, fct); + #define GO(A) if(my32_EvtFilter_##A == fct) return (void*)my32_EvtFilter_fct_##A; + SUPER() + #undef GO + return (void*)AddBridge(my_lib->w.bridge, iFp_32, fct, 0, NULL); +} +#undef SUPER + +// TODO: track the memory for those callback +EXPORT int my32_SDL_OpenAudio(x64emu_t* emu, void* d, void* o) +{ + SDL_AudioSpec desired = {0}; + SDL_AudioSpec output = {0}; + SDL_AudioSpec32 *d_ = d; + desired.channels = d_->channels; + desired.format = d_->format; + desired.freq = d_->freq; + desired.samples = d_->samples; + desired.silence = d_->silence; + desired.size = d_->size; + desired.userdata = from_ptrv(d_->userdata); + desired.callback = find_AudioCallback_Fct(from_ptrv(d_->callback)); + int ret = my->SDL_OpenAudio(&desired, &output); + if (ret!=0) { + return ret; + } + // put back stuff in place? + SDL_AudioSpec32* o_ = o; + o_->channels = output.channels; + o_->format = output.format; + o_->freq = output.freq; + o_->samples = output.samples; + o_->silence = output.silence; + o_->size = output.size; + o_->userdata = o_->callback = 0; + + return ret; +} + +//EXPORT void *my32_SDL_LoadBMP_RW(x64emu_t* emu, void* a, int b) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// void* r = my->SDL_LoadBMP_RW(rw, b); +// if(b==0) +// RWNativeEnd(rw); +// return r; +//} +//EXPORT int32_t my32_SDL_SaveBMP_RW(x64emu_t* emu, void* a, void* b, int c) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// int32_t r = my->SDL_SaveBMP_RW(rw, b, c); +// if(c==0) +// RWNativeEnd(rw); +// return r; +//} +//EXPORT void *my32_SDL_LoadWAV_RW(x64emu_t* emu, void* a, int b, void* c, void* d, void* e) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// void* r = my->SDL_LoadWAV_RW(rw, b, c, d, e); +// if(b==0) +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_ReadBE16(x64emu_t* emu, void* a) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_ReadBE16(rw); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_ReadBE32(x64emu_t* emu, void* a) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_ReadBE32(rw); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint64_t my32_SDL_ReadBE64(x64emu_t* emu, void* a) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint64_t r = my->SDL_ReadBE64(rw); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_ReadLE16(x64emu_t* emu, void* a) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_ReadLE16(rw); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_ReadLE32(x64emu_t* emu, void* a) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_ReadLE32(rw); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint64_t my32_SDL_ReadLE64(x64emu_t* emu, void* a) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint64_t r = my->SDL_ReadLE64(rw); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_WriteBE16(x64emu_t* emu, void* a, uint16_t v) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_WriteBE16(rw, v); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_WriteBE32(x64emu_t* emu, void* a, uint32_t v) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_WriteBE32(rw, v); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_WriteBE64(x64emu_t* emu, void* a, uint64_t v) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_WriteBE64(rw, v); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_WriteLE16(x64emu_t* emu, void* a, uint16_t v) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_WriteLE16(rw, v); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_WriteLE32(x64emu_t* emu, void* a, uint32_t v) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_WriteLE32(rw, v); +// RWNativeEnd(rw); +// return r; +//} +//EXPORT uint32_t my32_SDL_WriteLE64(x64emu_t* emu, void* a, uint64_t v) +//{ +// SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a); +// uint32_t r = my->SDL_WriteLE64(rw, v); +// RWNativeEnd(rw); +// return r; +//} + +// SDL1 doesn't really used rw_ops->type, but box64 does, so set sensible value (from SDL2).... +//EXPORT void *my32_SDL_RWFromConstMem(x64emu_t* emu, void* a, int b) +//{ +// SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromConstMem(a, b); +// RWSetType(r, 5); +// return AddNativeRW(emu, r); +//} +//EXPORT void *my32_SDL_RWFromFP(x64emu_t* emu, void* a, int b) +//{ +// SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromFP(a, b); +// RWSetType(r, 2); +// return AddNativeRW(emu, r); +//} +//EXPORT void *my32_SDL_RWFromFile(x64emu_t* emu, void* a, void* b) +//{ +// SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromFile(a, b); +// RWSetType(r, 2); +// return AddNativeRW(emu, r); +//} +//EXPORT void *my32_SDL_RWFromMem(x64emu_t* emu, void* a, int b) +//{ +// SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromMem(a, b); +// RWSetType(r, 4); +// return AddNativeRW(emu, r); +//} +// +//EXPORT void *my32_SDL_AddTimer(x64emu_t* emu, uint32_t a, void* cb, void* p) +//{ +// return my->SDL_AddTimer(a, find_TimerCallback_Fct(cb), p); +//} +// +//EXPORT int my32_SDL_RemoveTimer(x64emu_t* emu, void *t) +//{ +// return my->SDL_RemoveTimer(t); +//} + +//EXPORT int32_t my32_SDL_SetTimer(x64emu_t* emu, uint32_t t, void* p) +//{ +// return my->SDL_SetTimer(t, find_TimerCallback_Fct(p)); +//} +#if 0 +EXPORT int32_t my32_SDL_BuildAudioCVT(x64emu_t* emu, void* a, uint32_t b, uint32_t c, int32_t d, uint32_t e, uint32_t f, int32_t g) +{ + printf_log(LOG_NONE, "Error, using Unimplemented SDL1 SDL_BuildAudioCVT\n"); + emu->quit = 1; + return 0; +} + +EXPORT int32_t my32_SDL_ConvertAudio(x64emu_t* emu, void* a) +{ + printf_log(LOG_NONE, "Error, using Unimplemented SDL1 SDL_ConvertAudio\n"); + emu->quit = 1; + return 0; +} +#endif +//EXPORT void my32_SDL_SetEventFilter(x64emu_t* emu, void* a) +//{ +// my->SDL_SetEventFilter(find_EvtFilter_Fct(a)); +//} +//EXPORT void *my32_SDL_GetEventFilter(x64emu_t* emu) +//{ +// return reverse_EvtFilterFct(my->SDL_GetEventFilter()); +//} +void* my32_prepare_thread(x64emu_t *emu, void* f, void* arg, int ssize, void** pet); +EXPORT void *my32_SDL_CreateThread(x64emu_t* emu, void* cb, void* p) +{ + void* et = NULL; + void* fnc = my32_prepare_thread(emu, cb, p, 0, &et); + return my->SDL_CreateThread(fnc, et); +} + +EXPORT void my32_SDL_KillThread(x64emu_t* emu, void* p) +{ + my->SDL_KillThread(p); +} + +EXPORT void* my32_SDL_GL_GetProcAddress(x64emu_t* emu, void* name) +{ + khint_t k; + const char* rname = (const char*)name; + return getGLProcAddress(emu, (glprocaddress_t)my->SDL_GL_GetProcAddress, rname); +} + +// DL functions from wrappedlibdl.c +void* my_dlopen(x64emu_t* emu, void *filename, int flag); +int my_dlclose(x64emu_t* emu, void *handle); +void* my_dlsym(x64emu_t* emu, void *handle, void *symbol); +EXPORT void* my32_SDL_LoadObject(x64emu_t* emu, void* sofile) +{ + return my_dlopen(emu, sofile, 0); // TODO: check correct flag value... +} +EXPORT void my32_SDL_UnloadObject(x64emu_t* emu, void* handle) +{ + my_dlclose(emu, handle); +} +EXPORT void* my32_SDL_LoadFunction(x64emu_t* emu, void* handle, void* name) +{ + return my_dlsym(emu, handle, name); +} + +static my_SDL_Surface_t* sdl1_videomode_org = NULL; +static my_SDL_Palette_t sdl_vm_palette; +static my_SDL_PixelFormat_t sdl_vm_pixelformal; +static my_SDL_Surface_t sdl_vm_surface; +static void* wrapSurface(void* s) +{ + if(!s) return s; + if(s==&sdl_vm_surface) { + my_SDL_Surface_32_t* src = s; + // refressh surface... + sdl1_videomode_org->h = src->h; + sdl1_videomode_org->w = src->w; + sdl1_videomode_org->pitch = src->pitch; + sdl1_videomode_org->flags = src->flags; + sdl1_videomode_org->locked = src->locked; + sdl1_videomode_org->refcount = src->refcount; + sdl1_videomode_org->offset = src->offset; + sdl1_videomode_org->unused1 = src->unused1; + sdl1_videomode_org->format_version = src->format_version; + sdl1_videomode_org->pixels = from_ptrv(src->pixels); + sdl1_videomode_org->map = from_ptrv(src->map); + sdl1_videomode_org->clip_rect.x = src->clip_rect.x; + sdl1_videomode_org->clip_rect.y = src->clip_rect.y; + sdl1_videomode_org->clip_rect.h = src->clip_rect.h; + sdl1_videomode_org->clip_rect.w = src->clip_rect.w; + return sdl1_videomode_org; + } + inplace_SDL_Surface_to_64(s); + return s; +} +static void* unwrapSurface(void* s) +{ + if(!s) return s; + if(s==&sdl_vm_surface) { + my_SDL_Surface_32_t* dst = s; + // refressh surface... + dst->h = sdl1_videomode_org->h; + dst->w = sdl1_videomode_org->w; + dst->pitch = sdl1_videomode_org->pitch; + dst->flags = sdl1_videomode_org->flags; + dst->locked = sdl1_videomode_org->locked; + dst->refcount = sdl1_videomode_org->refcount; + dst->offset = sdl1_videomode_org->offset; + dst->unused1 = sdl1_videomode_org->unused1; + dst->format_version = sdl1_videomode_org->format_version; + dst->pixels = to_ptrv(sdl1_videomode_org->pixels); + dst->map = to_ptrv(sdl1_videomode_org->map); + dst->clip_rect.x = sdl1_videomode_org->clip_rect.x; + dst->clip_rect.y = sdl1_videomode_org->clip_rect.y; + dst->clip_rect.h = sdl1_videomode_org->clip_rect.h; + dst->clip_rect.w = sdl1_videomode_org->clip_rect.w; + return s; + } + inplace_SDL_Surface_to_32(s); + return s; +} + +EXPORT void my32_SDL_Quit() +{ + sdl1_videomode_org = NULL; + my->SDL_Quit(); +} + +EXPORT void* my32_SDL_SetVideoMode(int width, int height, int bpp, uint32_t flags) +{ + my_SDL_Surface_t* ret = my->SDL_SetVideoMode(width, height, bpp, flags); + sdl1_videomode_org = ret; + memcpy(&sdl_vm_surface, ret, sizeof(sdl_vm_surface)); + if(ret->format) { + memcpy(&sdl_vm_pixelformal, ret->format, sizeof(sdl_vm_pixelformal)); + if(ret->format->palette) { + memcpy(&sdl_vm_palette, ret->format->palette, sizeof(sdl_vm_palette)); + sdl_vm_pixelformal.palette = &sdl_vm_palette; + } + sdl_vm_surface.format = &sdl_vm_pixelformal; + } + inplace_SDL_Surface_to_32(&sdl_vm_surface); + return &sdl_vm_surface; +} + +EXPORT int my32_SDL_LockSurface(void* s) +{ + int ret = my->SDL_LockSurface(wrapSurface(s)); + unwrapSurface(s); + return ret; +} + +EXPORT void my32_SDL_UnlockSurface(void* s) +{ + my->SDL_UnlockSurface(wrapSurface(s)); + unwrapSurface(s); +} + +EXPORT int my32_SDL_Flip(void* s) +{ + int ret = my->SDL_Flip(wrapSurface(s)); + unwrapSurface(s); + return ret; +} + +EXPORT int my32_SDL_PollEvent(my_SDL_Event_32_t* evt) +{ + my_SDL_Event_t event; + int ret = my->SDL_PollEvent(evt?(&event):NULL); + if(ret && evt) { + convert_SDL_Event_to_32(evt, &event); + } + return ret; +} + +//EXPORT int32_t my32_SDL_GetWMInfo(x64emu_t* emu, void* p) +//{ +// // does SDL_SysWMinfo needs alignment? +// int ret = my->SDL_GetWMInfo(p); +// my32_SDL_SysWMinfo *info = (my32_SDL_SysWMinfo*)p; +// if(info->info.x11.lock_func) +// info->info.x11.lock_func = (void*)AddCheckBridge(emu->context->system, vFv_32, info->info.x11.lock_func, 0, NULL); +// if(info->info.x11.unlock_func) +// info->info.x11.unlock_func = (void*)AddCheckBridge(emu->context->system, vFv_32, info->info.x11.unlock_func, 0, NULL); +// return ret; +//} + +//#define CUSTOM_INIT \ +// box64->sdl1allocrw = my->SDL_AllocRW; \ +// box64->sdl1freerw = my->SDL_FreeRW; + +#define NEEDED_LIBS "libm.so.6", "libdl.so.2", "librt.so.1" + +//#define CUSTOM_FINI \ +// my32_context->sdl1allocrw = NULL; \ +// my32_context->sdl1freerw = NULL; + +#include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedsdl1_private.h b/src/wrapped32/wrappedsdl1_private.h new file mode 100644 index 000000000..c29315822 --- /dev/null +++ b/src/wrapped32/wrappedsdl1_private.h @@ -0,0 +1,238 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error Meh... +#endif + +// _fini +// _init +//GOM(SDL_AddTimer, pFEupp) +//GO(SDL_AllocRW, pFv) // no need to use a my_ version here +//GO(SDL_CDClose, vFp) +//GO(SDL_CDEject, iFp) +//GO(SDL_CDName, pFi) +//GO(SDL_CDNumDrives, iFv) +//GO(SDL_CDOpen, pFi) +//GO(SDL_CDPause, iFp) +//GO(SDL_CDPlay, iFpii) +//GO(SDL_CDPlayTracks, iFpiiii) +//GO(SDL_CDResume, iFp) +//GO(SDL_CDStatus, iFp) +//GO(SDL_CDStop, iFp) +//GO(SDL_ClearError, vFv) +//GO(SDL_CondBroadcast, iFp) +//GO(SDL_CondSignal, iFp) +//GO(SDL_CondWait, iFpp) +//GO(SDL_CondWaitTimeout, iFppu) +//GO(SDL_ConvertSurface, pFppu) +//GO(SDL_CreateCond, pFv) +//GO(SDL_CreateCursor, pFppiiii) +//GO(SDL_CreateMutex, pFv) +//GO(SDL_CreateRGBSurface, pFuiiiuuuu) +//GO(SDL_CreateRGBSurfaceFrom, pFpiiiiuuuu) +GO(SDL_CreateSemaphore, pFu) +GOM(SDL_CreateThread, pFEpp) +//GO(SDL_CreateYUVOverlay, pFiiup) +//GO(SDL_Delay, vFu) +//GO(SDL_DestroyCond, vFp) +//GO(SDL_DestroyMutex, vFp) +//GO(SDL_DestroySemaphore, vFp) +//GO(SDL_DisplayFormat, pFp) +//GO(SDL_DisplayFormatAlpha, pFp) +//GO(SDL_DisplayYUVOverlay, iFpp) +//GO(SDL_EnableKeyRepeat, iFii) +//GO(SDL_EnableUNICODE, iFi) +//GO(SDL_Error, vFu) +//GO(SDL_EventState, CFCi) +//GO(SDL_FillRect, iFppu) +GOM(SDL_Flip, iFp) //%noE +//GO(SDL_FreeCursor, vFp) +//GO(SDL_FreeRW, vFp) +//GO(SDL_FreeSurface, vFp) +//GO(SDL_FreeYUVOverlay, vFp) +GO(SDL_GL_GetAttribute, iFup) +GOM(SDL_GL_GetProcAddress, pFEp) +GO(SDL_GL_LoadLibrary, iFp) +GO(SDL_GL_Lock, vFv) +GO(SDL_GL_SetAttribute, iFui) +GO(SDL_GL_SwapBuffers, vFv) +//GO(SDL_GL_Unlock, vFv) +//GO(SDL_GL_UpdateRects, vFip) +//GO(SDL_GetAppState, CFv) +//GO(SDL_GetClipRect, vFpp) +//GO(SDL_GetCursor, pFv) +//GO(SDL_GetError, pFv) +//GOM(SDL_GetEventFilter, pFEv) +//GO(SDL_GetGammaRamp, iFppp) +//GO(SDL_GetKeyName, pFu) +//GO(SDL_GetKeyRepeat, vFpp) +GO(SDL_GetKeyState, pFp) +//GO(SDL_GetModState, uFv) +//GO(SDL_GetMouseState, uFpp) +//GO(SDL_GetRGB, vFupppp) +//GO(SDL_GetRGBA, vFuppppp) +//GO(SDL_GetRelativeMouseState, CFpp) +//GO(SDL_GetThreadID, uFp) +GO(SDL_GetTicks, uFv) +//GO(SDL_GetVideoInfo, pFv) +//GO(SDL_GetVideoSurface, pFv) +//GOM(SDL_GetWMInfo, iFEp) +GOM(SDL_Has3DNow, iFv) //%noE +GOM(SDL_Has3DNowExt, iFv) //%noE +GOM(SDL_HasAltiVec, iFv) //%noE +GOM(SDL_HasMMX, iFv) //%noE +GOM(SDL_HasMMXExt, iFv) //%noE +GOM(SDL_HasRDTSC, iFv) //%noE +GOM(SDL_HasSSE, iFv) //%noE +GOM(SDL_HasSSE2, iFv) //%noE +GO(SDL_Init, iFu) +//GO(SDL_InitQuickDraw, vFp) +GO(SDL_InitSubSystem, iFu) +GO(SDL_JoystickClose, vFp) +GO(SDL_JoystickEventState, iFi) +GO(SDL_JoystickGetAxis, wFpi) +GO(SDL_JoystickGetBall, iFpipp) +GO(SDL_JoystickGetButton, CFpi) +GO(SDL_JoystickGetHat, uFpi) +GO(SDL_JoystickIndex, iFp) +GO(SDL_JoystickName, pFi) +GO(SDL_JoystickNumAxes, iFp) +GO(SDL_JoystickNumBalls, iFp) +GO(SDL_JoystickNumButtons, iFp) +GO(SDL_JoystickNumHats, iFp) +GO(SDL_JoystickOpen, pFi) +GO(SDL_JoystickOpened, iFi) +GO(SDL_JoystickUpdate, vFv) +GOM(SDL_KillThread, vFEp) +//GO(SDL_Linked_Version, pFv) +//GO(SDL_ListModes, pFpu) +//GOM(SDL_LoadBMP_RW, pFEpi) +GOM(SDL_LoadFunction, pFEpp) +GOM(SDL_LoadObject, pFEp) +GOM(SDL_LockSurface, iFp) //%noE +//GO(SDL_LockYUVOverlay, iFp) +//GO(SDL_LowerBlit, iFpppp) +//GO(SDL_MapRGB, uFpCCC) +//GO(SDL_MapRGBA, uFpCCCC) +GO(SDL_NumJoysticks, iFv) +//GO(SDL_PeepEvents, iFpiuu) +GOM(SDL_PollEvent, iFp) //%noE +//GO(SDL_PumpEvents, vFv) +//GO(SDL_PushEvent, iFp) +GOM(SDL_Quit, vFv) //%noE +GO(SDL_QuitSubSystem, vFu) +//GOM(SDL_RWFromConstMem, pFEpi) +//GOM(SDL_RWFromFP, pFEpi) +//GOM(SDL_RWFromFile, pFEpp) +//GOM(SDL_RWFromMem, pFEpi) +//GOM(SDL_ReadBE16, uFEp) +//GOM(SDL_ReadBE32, uFEp) +//GOM(SDL_ReadBE64, UFEp) +//GOM(SDL_ReadLE16, uFEp) +//GOM(SDL_ReadLE32, uFEp) +//GOM(SDL_ReadLE64, UFEp) +//GO(SDL_RegisterApp, iFpup) +//GOM(SDL_RemoveTimer, iFEp) +//GOM(SDL_SaveBMP_RW, iFEppi) +GO(SDL_SemPost, iFp) +GO(SDL_SemTryWait, iFp) +GO(SDL_SemValue, uFp) +GO(SDL_SemWait, iFp) +GO(SDL_SemWaitTimeout, iFpu) +GO(SDL_SetAlpha, iFpuC) +//GO(SDL_SetClipRect, uFpp) +//GO(SDL_SetColorKey, iFpuu) +//GO(SDL_SetColors, iFppii) +//GO(SDL_SetCursor, vFp) +//GO(SDL_SetError, vFpppppp) // use ..., so putting arbitrary number of arguments... +//GOM(SDL_SetEventFilter, vFEp) +GO(SDL_SetGamma, iFfff) +//GO(SDL_SetGammaRamp, iFppp) +GO(SDL_SetModState, vFu) +//GO(SDL_SetModuleHandle, vFp) +//GO(SDL_SetPalette, iFpipii) +//GOM(SDL_SetTimer, iFEup) +GOM(SDL_SetVideoMode, pFiiiu) //%noE +GO(SDL_ShowCursor, iFi) +//GO(SDL_SoftStretch, iFpppp) +//GO(SDL_ThreadID, uFv) +//GOM(SDL_UnloadObject, vFEp) +GOM(SDL_UnlockSurface, vFp) //%noE +//GO(SDL_UnlockYUVOverlay, vFp) +//GO(SDL_UnregisterApp, vFv) +//GO(SDL_UpdateRect, vFpiiuu) +//GO(SDL_UpdateRects, vFpip) +//GO(SDL_UpperBlit, iFpppp) +//GO(SDL_VideoDriverName, pFpi) +//GO(SDL_VideoInit, iFpu) +//GO(SDL_VideoModeOK, iFiiiu) +GO(SDL_VideoQuit, vFv) +//GO(SDL_WM_GetCaption, vFpp) +GO(SDL_WM_GrabInput, iFi) +GO(SDL_WM_IconifyWindow, iFv) +GO(SDL_WM_SetCaption, vFpp) +//GO(SDL_WM_SetIcon, vFpp) +//GO(SDL_WM_ToggleFullScreen, iFp) +//GO(SDL_WaitEvent, iFp) +//GO(SDL_WaitThread, vFpp) +GO(SDL_WarpMouse, vFWW) +GO(SDL_WasInit, uFu) +//GOM(SDL_WriteBE16, uFEpW) +//GOM(SDL_WriteBE32, uFEpu) +//GOM(SDL_WriteBE64, uFEpU) +//GOM(SDL_WriteLE16, uFEpW) +//GOM(SDL_WriteLE32, uFEpu) +//GOM(SDL_WriteLE64, uFEpU) +//GO(SDL_framerateDelay, uFp) +//GO(SDL_getFramecount, iFp) +//GO(SDL_getFramerate, iFp) +//GO(SDL_iconv, LFppppp) +//GO(SDL_iconv_close, iFp) +//GO(SDL_iconv_open, pFpp) +//GO(SDL_iconv_string, pFpppL) +//GO(SDL_initFramerate, vFp) +//GO(SDL_lltoa, pFlpi) +//GO(SDL_ltoa, pFlpi) +//GO(SDL_main, iFip) +//GO(SDL_memcmp, iFppu) +//GO(SDL_mutexP, iFp) +//GO(SDL_mutexV, iFp) +//GO(SDL_revcpy, pFppL) +//GO(SDL_setFramerate, iFpu) +//GO(SDL_snprintf, iFpupppppp) // use ... +//GO(SDL_sscanf, iFppppppp) // use ... +//GO(SDL_strcasecmp, iFpp) +//GO(SDL_strchr, pFpi) +//GO(SDL_strcmp, iFpp) +//GO(SDL_strdup, pFp) +//GO(SDL_strlcat, LFppL) +//GO(SDL_strlcpy, uFppu) +//GO(SDL_strlen, uFp) +//GO(SDL_strlwr, pFp) +//GO(SDL_strncasecmp, iFppu) +//GO(SDL_strncmp, iFppu) +//GO(SDL_strrchr, pFpi) +//GO(SDL_strrev, pFp) +//GO(SDL_strstr, pFpp) +//GO(SDL_strtod, dFpp) +//GO(SDL_strtol, iFppi) +//GO(SDL_strtoll, IFppi) +//GO(SDL_strtoul, uFppi) +//GO(SDL_strtoull, UFppi) +//GO(SDL_strupr, pFp) +//GO(SDL_ulltoa, pFLpi) +//GO(SDL_ultoa, pFLpi) +//GOM(SDL_vsnprintf, iFpupV) +GOM(SDL_OpenAudio, iFEpp) +GO(SDL_LockAudio, vFv) +GO(SDL_UnlockAudio, vFv) +GO(SDL_PauseAudio, vFi) +GO(SDL_GetAudioStatus, uFv) +//GO(SDL_LoadWAV, pFpppp) +//GO(SDL_FreeWAV, vFp) +//GOM(SDL_LoadWAV_RW, pFEpippp) +//GO(SDL_BuildAudioCVT, iFpWCiWCi) +//GO(SDL_ConvertAudio, iFp) +//GO(SDL_AudioInit, iFp) +GO(SDL_AudioQuit, vFv) +//GO(SDL_MixAudio, vFppui) +GO(SDL_CloseAudio, vFv) +//GO(SDL_AudioDriverName, pFpi) diff --git a/src/wrapped32/wrappercallback32.h b/src/wrapped32/wrappercallback32.h new file mode 100644 index 000000000..74c2670d0 --- /dev/null +++ b/src/wrapped32/wrappercallback32.h @@ -0,0 +1,42 @@ +#define TYPENAME3(N,M) N##M +#define TYPENAME2(N,M) TYPENAME3(N,M) +#define TYPENAME(N) TYPENAME2(LIBNAME, _my_t) + +typedef struct TYPENAME2(LIBNAME, _my_s) { + // functions + #define GO(A, B) B A; + SUPER() + #undef GO + #ifdef ADDED_STRUCT + ADDED_STRUCT() + #endif +} TYPENAME(LIBNAME); + +static library_t* my_lib = NULL; +static TYPENAME(LIBNAME) TYPENAME2(my_, LIBNAME) = {0}; +static TYPENAME(LIBNAME) * const my = &TYPENAME2(my_, LIBNAME); + +static void getMy(library_t* lib) +{ + #define GO(A, W) my->A = (W)dlsym(lib->w.lib, #A); + SUPER() + #undef GO + my_lib = lib; + #ifdef ADDED_INIT + ADDED_INIT() + #endif +} + +static void freeMy() +{ + #ifdef ADDED_FINI + ADDED_FINI() + #endif + my_lib = NULL; +} + +#define HAS_MY + +#ifndef ADDED_SUPER +#undef SUPER +#endif