diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-09-30 21:06:56 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-09-30 21:06:56 +0200 |
| commit | a188f4ebfe0fbf9f46601c683a686c23a1513ee7 (patch) | |
| tree | edc4af063c2c382a08c2c5ab42bd272ca7af5335 /src | |
| parent | e59063a13c10e9c14f892a4b5cc01278565f86b7 (diff) | |
| download | box64-a188f4ebfe0fbf9f46601c683a686c23a1513ee7.tar.gz box64-a188f4ebfe0fbf9f46601c683a686c23a1513ee7.zip | |
[BOX32][WRAPPER] Added a bunch of wrapped 32bits functions, and fixed a few existing ones (Now Witcher 2 Linux boot and can enter tutorial, before crashing)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/sdl2align32.c | 16 | ||||
| -rw-r--r-- | src/wrapped/wrappedsdl2.c | 4 | ||||
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 7 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedsdl2imagetypes32.h | 1 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedsdl2types32.h | 4 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 8 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibasound.c | 27 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibasound_private.h | 12 | ||||
| -rwxr-xr-x | src/wrapped32/wrappedlibc_private.h | 5 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibx11.c | 36 | ||||
| -rw-r--r-- | src/wrapped32/wrappedsdl2.c | 68 | ||||
| -rw-r--r-- | src/wrapped32/wrappedsdl2_private.h | 1008 | ||||
| -rw-r--r-- | src/wrapped32/wrappedsdl2image.c | 9 | ||||
| -rw-r--r-- | src/wrapped32/wrappedsdl2image_private.h | 2 |
15 files changed, 667 insertions, 542 deletions
diff --git a/src/libtools/sdl2align32.c b/src/libtools/sdl2align32.c index 93da8c69..68c0540b 100644 --- a/src/libtools/sdl2align32.c +++ b/src/libtools/sdl2align32.c @@ -194,6 +194,14 @@ void convert_SDL2_Event_to_64(void* dst_, const void* src_) dst->caxis.timestamp = src->caxis.timestamp; dst->caxis.type = src->caxis.type; break; + case SDL2_QUIT: + dst->quit.timestamp = src->quit.timestamp; + dst->quit.type = src->quit.type; + break; + case SDL2_CLIPBOARDUPDATE: + dst->common.timestamp = src->common.timestamp; + dst->common.type = src->common.type; + break; default: printf_log(LOG_INFO, "Warning, unsuported SDL2 event %d\n", src->type); if(dst_!=src_) @@ -339,6 +347,14 @@ void convert_SDL2_Event_to_32(void* dst_, const void* src_) dst->caxis.value = src->caxis.value; dst->caxis.padding4 = src->caxis.padding4; break; + case SDL2_QUIT: + dst->quit.type = src->quit.type; + dst->quit.timestamp = src->quit.timestamp; + break; + case SDL2_CLIPBOARDUPDATE: + dst->common.type = src->common.type; + dst->common.timestamp = src->common.timestamp; + break; default: printf_log(LOG_INFO, "Warning, unsuported SDL2 event %d\n", src->type); if(dst_!=src_) diff --git a/src/wrapped/wrappedsdl2.c b/src/wrapped/wrappedsdl2.c index 9bdeb3c0..5c3a8056 100644 --- a/src/wrapped/wrappedsdl2.c +++ b/src/wrapped/wrappedsdl2.c @@ -284,10 +284,10 @@ EXPORT void *my2_SDL_LoadWAV_RW(x64emu_t* emu, void* a, int b, void* c, void* d, RWNativeEnd2(rw); return r; } -EXPORT int64_t my2_SDL_GameControllerAddMappingsFromRW(x64emu_t* emu, void* a, int b) +EXPORT int my2_SDL_GameControllerAddMappingsFromRW(x64emu_t* emu, void* a, int b) { SDL2_RWops_t *rw = RWNativeStart2(emu, (SDL2_RWops_t*)a); - int64_t r = my->SDL_GameControllerAddMappingsFromRW(rw, b); + int r = my->SDL_GameControllerAddMappingsFromRW(rw, b); if(b==0) RWNativeEnd2(rw); return r; diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 09d29d0a..26eda5fb 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -164,6 +164,7 @@ #() CFpi -> CFpi #() CFpp -> CFpp #() uFEp -> uFEp +#() uFii -> uFii #() uFiS -> uFiS #() uFuu -> uFuu #() uFup -> uFup @@ -430,6 +431,7 @@ #() SFEpp -> SFEpp #() SFppS -> SFppS #() tFipu -> tFipu +#() iFppBp_ -> iFppB #() iFppbL_ -> iFppB #() iFpbL_p -> iFpBp #() iFBp_LL -> iFBLL @@ -1724,9 +1726,11 @@ wrappedsdl2: - SDL_GetCurrentDisplayMode - SDL_GetDesktopDisplayMode - iFpi: + - SDL_GameControllerAddMappingsFromRW - SDL_WaitEventTimeout - iFpp: - SDL_GetWindowDisplayMode + - SDL_GetWindowWMInfo - SDL_OpenAudio - SDL_SetWindowDisplayMode - pFpi: @@ -1734,6 +1738,8 @@ wrappedsdl2: - SDL_notreal - pFpp: - SDL_RWFromFile +- iFiip: + - SDL_GetDisplayMode - iFppu: - SDL_FillRect - iFppV: @@ -1760,6 +1766,7 @@ wrappedsdl2: % JFEi -> pFEpi wrappedsdl2image: - pFp: + - IMG_Load - IMG_LoadBMP_RW - IMG_LoadCUR_RW - IMG_LoadGIF_RW diff --git a/src/wrapped32/generated/wrappedsdl2imagetypes32.h b/src/wrapped32/generated/wrappedsdl2imagetypes32.h index 630a8aee..74fe53d9 100644 --- a/src/wrapped32/generated/wrappedsdl2imagetypes32.h +++ b/src/wrapped32/generated/wrappedsdl2imagetypes32.h @@ -18,6 +18,7 @@ typedef void* (*pFppi_t)(void*, void*, int32_t); typedef void* (*pFppip_t)(void*, void*, int32_t, void*); #define SUPER() ADDED_FUNCTIONS() \ + GO(IMG_Load, pFp_t) \ GO(IMG_LoadBMP_RW, pFp_t) \ GO(IMG_LoadCUR_RW, pFp_t) \ GO(IMG_LoadGIF_RW, pFp_t) \ diff --git a/src/wrapped32/generated/wrappedsdl2types32.h b/src/wrapped32/generated/wrappedsdl2types32.h index 76272d87..6e5e276e 100644 --- a/src/wrapped32/generated/wrappedsdl2types32.h +++ b/src/wrapped32/generated/wrappedsdl2types32.h @@ -24,6 +24,7 @@ typedef int32_t (*iFpi_t)(void*, int32_t); typedef int32_t (*iFpp_t)(void*, void*); typedef void* (*pFpi_t)(void*, int32_t); typedef void* (*pFpp_t)(void*, void*); +typedef int32_t (*iFiip_t)(int32_t, int32_t, void*); typedef int32_t (*iFppu_t)(void*, void*, uint32_t); typedef int32_t (*iFppV_t)(void*, void*, ...); typedef int64_t (*IFpIi_t)(void*, int64_t, int32_t); @@ -52,13 +53,16 @@ typedef void* (*pFuiiiuuuu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uin GO(SDL_Log, vFpV_t) \ GO(SDL_GetCurrentDisplayMode, iFip_t) \ GO(SDL_GetDesktopDisplayMode, iFip_t) \ + GO(SDL_GameControllerAddMappingsFromRW, iFpi_t) \ GO(SDL_WaitEventTimeout, iFpi_t) \ GO(SDL_GetWindowDisplayMode, iFpp_t) \ + GO(SDL_GetWindowWMInfo, iFpp_t) \ GO(SDL_OpenAudio, iFpp_t) \ GO(SDL_SetWindowDisplayMode, iFpp_t) \ GO(SDL_LoadBMP_RW, pFpi_t) \ GO(SDL_notreal, pFpi_t) \ GO(SDL_RWFromFile, pFpp_t) \ + GO(SDL_GetDisplayMode, iFiip_t) \ GO(SDL_FillRect, iFppu_t) \ GO(SDL_sscanf, iFppV_t) \ GO(SDL_RWseek, IFpIi_t) \ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 33ed6591..ea72c2d4 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -86,7 +86,7 @@ void VulkanTox86(void* src, void* save); int of_convert32(int); void* getDisplay(void*); -void* FindDisplay(void*); +void* addDisplay(void*); typedef void (*vFv_t)(void); typedef void (*vFc_t)(int8_t); @@ -254,6 +254,7 @@ typedef uint8_t (*CFuU_t)(uint32_t, uint64_t); typedef uint8_t (*CFpi_t)(void*, int32_t); typedef uint8_t (*CFpp_t)(void*, void*); typedef uint32_t (*uFEp_t)(x64emu_t*, void*); +typedef uint32_t (*uFii_t)(int32_t, int32_t); typedef uint32_t (*uFiS_t)(int32_t, void*); typedef uint32_t (*uFuu_t)(uint32_t, uint32_t); typedef uint32_t (*uFup_t)(uint32_t, void*); @@ -520,6 +521,7 @@ typedef void* (*aFipa_t)(int32_t, void*, void*); typedef void* (*SFEpp_t)(x64emu_t*, void*, void*); typedef void* (*SFppS_t)(void*, void*, void*); typedef char* (*tFipu_t)(int32_t, void*, uint32_t); +typedef int32_t (*iFppBp__t)(void*, void*, struct_p_t*); typedef int32_t (*iFppbL__t)(void*, void*, struct_L_t*); typedef int32_t (*iFpbL_p_t)(void*, struct_L_t*, void*); typedef int32_t (*iFBp_LL_t)(struct_p_t*, uintptr_t, uintptr_t); @@ -1266,7 +1268,7 @@ void aFa_32(x64emu_t *emu, uintptr_t fcn) { aFa_t fn = (aFa_t)fcn; R_EAX = to_lo void tFi_32(x64emu_t *emu, uintptr_t fcn) { tFi_t fn = (tFi_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4))); } void tFu_32(x64emu_t *emu, uintptr_t fcn) { tFu_t fn = (tFu_t)fcn; R_EAX = to_cstring(fn(from_ptri(uint32_t, R_ESP + 4))); } void tFp_32(x64emu_t *emu, uintptr_t fcn) { tFp_t fn = (tFp_t)fcn; R_EAX = to_cstring(fn(from_ptriv(R_ESP + 4))); } -void XFv_32(x64emu_t *emu, uintptr_t fcn) { XFv_t fn = (XFv_t)fcn; R_EAX = to_ptrv(FindDisplay(fn())); } +void XFv_32(x64emu_t *emu, uintptr_t fcn) { XFv_t fn = (XFv_t)fcn; R_EAX = to_ptrv(addDisplay(fn())); } void iFBp__32(x64emu_t *emu, uintptr_t fcn) { iFBp__t fn = (iFBp__t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } void LFrl__32(x64emu_t *emu, uintptr_t fcn) { LFrl__t fn = (LFrl__t)fcn; struct_l_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_l(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ulong(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } void pFrl__32(x64emu_t *emu, uintptr_t fcn) { pFrl__t fn = (pFrl__t)fcn; struct_l_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_l(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } @@ -1356,6 +1358,7 @@ void CFuU_32(x64emu_t *emu, uintptr_t fcn) { CFuU_t fn = (CFuU_t)fcn; R_EAX = (u 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 CFpp_32(x64emu_t *emu, uintptr_t fcn) { CFpp_t fn = (CFpp_t)fcn; R_EAX = (unsigned char)fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); } void uFEp_32(x64emu_t *emu, uintptr_t fcn) { uFEp_t fn = (uFEp_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptriv(R_ESP + 4)); } +void uFii_32(x64emu_t *emu, uintptr_t fcn) { uFii_t fn = (uFii_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); } void uFiS_32(x64emu_t *emu, uintptr_t fcn) { uFiS_t fn = (uFiS_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), io_convert32(from_ptriv(R_ESP + 8))); } 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)); } @@ -1622,6 +1625,7 @@ void aFipa_32(x64emu_t *emu, uintptr_t fcn) { aFipa_t fn = (aFipa_t)fcn; R_EAX = 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)))); } void SFppS_32(x64emu_t *emu, uintptr_t fcn) { SFppS_t fn = (SFppS_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), io_convert32(from_ptriv(R_ESP + 12))))); } void tFipu_32(x64emu_t *emu, uintptr_t fcn) { tFipu_t fn = (tFipu_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12))); } +void iFppBp__32(x64emu_t *emu, uintptr_t fcn) { iFppBp__t fn = (iFppBp__t)fcn; struct_p_t arg_12={0}; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFppbL__32(x64emu_t *emu, uintptr_t fcn) { iFppbL__t fn = (iFppbL__t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); } void iFpbL_p_32(x64emu_t *emu, uintptr_t fcn) { iFpbL_p_t fn = (iFpbL_p_t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptriv(R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); } void iFBp_LL_32(x64emu_t *emu, uintptr_t fcn) { iFBp_LL_t fn = (iFBp_LL_t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index b516845a..d9c16ddb 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -205,6 +205,7 @@ void CFuU_32(x64emu_t *emu, uintptr_t fnc); void CFpi_32(x64emu_t *emu, uintptr_t fnc); void CFpp_32(x64emu_t *emu, uintptr_t fnc); void uFEp_32(x64emu_t *emu, uintptr_t fnc); +void uFii_32(x64emu_t *emu, uintptr_t fnc); void uFiS_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); @@ -471,6 +472,7 @@ void aFipa_32(x64emu_t *emu, uintptr_t fnc); void SFEpp_32(x64emu_t *emu, uintptr_t fnc); void SFppS_32(x64emu_t *emu, uintptr_t fnc); void tFipu_32(x64emu_t *emu, uintptr_t fnc); +void iFppBp__32(x64emu_t *emu, uintptr_t fnc); void iFppbL__32(x64emu_t *emu, uintptr_t fnc); void iFpbL_p_32(x64emu_t *emu, uintptr_t fnc); void iFBp_LL_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibasound.c b/src/wrapped32/wrappedlibasound.c index 1f3bf86f..02d1bebc 100644 --- a/src/wrapped32/wrappedlibasound.c +++ b/src/wrapped32/wrappedlibasound.c @@ -23,12 +23,13 @@ #define LIBNAME libasound static const char* libasoundName = "libasound.so.2"; -typedef void (*vFp_t)(void*); -typedef void* (*pFp_t)(void*); +typedef int (*iFpp_t)(void*, void*); +typedef size_t(*LFv_t)(); #define ADDED_FUNCTIONS() \ - GO(snd_pcm_query_chmaps, pFp_t) \ - GO(snd_pcm_free_chmaps, vFp_t) \ + GO(snd_pcm_hw_params_current, iFpp_t) \ + GO(snd_pcm_hw_params_get_channels, iFpp_t) \ + GO(snd_pcm_hw_params_sizeof, LFv_t) \ #include "generated/wrappedlibasoundtypes32.h" @@ -304,13 +305,19 @@ EXPORT int my32_snd_pcm_mmap_begin(x64emu_t* emu, void* pcm, ptr_t* areas, ulong *offset = to_ulong(l_offset); *frames = to_ulong(l_frames); static my_snd_pcm_channel_area_32_t my_areas[15] = {0}; + static void* last_pcm = NULL; + static int last_nch = 0; // get the number of channels - void** chmaps = my->snd_pcm_query_chmaps(pcm); - int nch = 1; - if(chmaps) { - while(chmaps[nch]) nch++; - my->snd_pcm_free_chmaps(chmaps); - } else printf_log(LOG_INFO, "Warning, could not get number of pcm channels in 32bits alsa for pcm_mmap_begin"); + unsigned int nch = 0; + if(pcm==last_pcm) + nch = last_nch; + else { + void* hw=alloca(my->snd_pcm_hw_params_sizeof()); + my->snd_pcm_hw_params_current(pcm, hw); + my->snd_pcm_hw_params_get_channels(hw, &nch); + last_pcm = pcm; + last_nch = nch; + } if(nch>15) {printf_log(LOG_INFO, "Warning, too many channels in pcm of 32bits alsa: %d\n", nch); nch=15; } for(int i=0; i<nch; ++i) { my_areas[i].addr = to_ptrv(l_areas[i].addr); diff --git a/src/wrapped32/wrappedlibasound_private.h b/src/wrapped32/wrappedlibasound_private.h index 58f4198c..b01a919e 100644 --- a/src/wrapped32/wrappedlibasound_private.h +++ b/src/wrapped32/wrappedlibasound_private.h @@ -98,7 +98,7 @@ GO(snd_strerror, pFi) //GO(snd_config_update, iFv) //GO(snd_config_update_r, iFppp) //GO(snd_config_update_free, iFp) -//GO(snd_config_update_free_global, iFv) +GO(snd_config_update_free_global, iFv) //GO(snd_config_search, iFppp) //GOM(snd_config_searchv, iFppV) //GO(snd_config_search_definition, iFpppp) @@ -182,7 +182,7 @@ GO(snd_pcm_chmap_long_name, pFu) GO(snd_pcm_chmap_from_string, uFp) GO(snd_pcm_chmap_parse_string, pFp) GO(snd_pcm_close, iFp) -//GO(snd_pcm_delay, iFpp) +GO(snd_pcm_delay, iFpBL_) GO(snd_pcm_drain, iFp) GO(snd_pcm_drop, iFp) //GO(snd_pcm_dump, iFpp) @@ -234,7 +234,7 @@ GO(snd_pcm_hw_params_any, iFpp) //GO(snd_pcm_hw_params_can_resume, iFp) //GO(snd_pcm_hw_params_can_sync_start, iFp) //GO(snd_pcm_hw_params_copy, vFpp) -//GO(snd_pcm_hw_params_current, iFpp) +GO(snd_pcm_hw_params_current, iFpp) //GO(snd_pcm_hw_params_dump, iFpp) GO(snd_pcm_hw_params_free, vFp) GO(snd_pcm_hw_params_get_access, iFpp) @@ -410,7 +410,7 @@ GO(snd_pcm_prepare, iFp) GO(snd_pcm_readi, lFppL) //GO(snd_pcm_readn, lFppL) GO(snd_pcm_recover, iFpii) -//GO(snd_pcm_reset, iFp) +GO(snd_pcm_reset, iFp) GO(snd_pcm_resume, iFp) //GO(snd_pcm_rewind, lFpL) //GO(snd_pcm_samples_to_bytes, lFpl) @@ -482,7 +482,7 @@ GO(snd_pcm_sw_params_set_avail_min, iFppL) //GO(snd_pcm_sw_params_set_sleep_min, iFppu) //GO(snd_pcm_sw_params_set_start_mode, iFppu) //GO(snd_pcm_sw_params_set_start_threshold, iFppL) -//GO(snd_pcm_sw_params_set_stop_threshold, iFppL) +GO(snd_pcm_sw_params_set_stop_threshold, iFppL) //GO(snd_pcm_sw_params_set_tstamp_mode, iFppu) //GO(snd_pcm_sw_params_set_tstamp_type, iFppu) //GO(snd_pcm_sw_params_set_xfer_align, iFppL) @@ -743,7 +743,7 @@ GO(snd_ctl_card_info_free, vFp) //GO(snd_ctl_card_info_clear, vFp) //GO(snd_ctl_card_info_copy, vFpp) //GO(snd_ctl_card_info_get_card, iFp) -//GO(snd_ctl_card_info_get_id, pFp) +GO(snd_ctl_card_info_get_id, pFp) //GO(snd_ctl_card_info_get_driver, pFp) GO(snd_ctl_card_info_get_name, pFp) GO(snd_ctl_card_info_get_longname, pFp) diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h index cce8f7f7..73054d9d 100755 --- a/src/wrapped32/wrappedlibc_private.h +++ b/src/wrapped32/wrappedlibc_private.h @@ -1349,7 +1349,6 @@ GOM(read, lFipL) //%%,noE //GO(__read_chk, lFipLL) GOWM(readdir, pFEp) //%% GO(readdir64, pFp) // check if alignement is correct -// readdir64_r //GOM(readdir_r, iFEppp) //%% should also be weak GOM(readlink, lFEppL) //%% //GOM(readlinkat, iFEippL) @@ -1410,7 +1409,7 @@ GO(rewind, vFS) // rexecoptions // type B //GOW(rindex, pFpi) GOW(rmdir, iFp) -//GO(readdir64_r, iFppp) // is this present? +GO(readdir64_r, iFppBp_) // rpc_createerr // type B // _rpc_dtablesize // __rpc_thread_createerr @@ -1798,7 +1797,7 @@ GO(tcsetpgrp, iFii) // tdestroy // Weak // tee //GO(telldir, iFp) -//GO(tempnam, pFpp) +GO(tempnam, pFpp) //GOW(textdomain, pFp) // tfind // Weak GO(time, LFrl_) diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c index 7a36df96..b1078903 100644 --- a/src/wrapped32/wrappedlibx11.c +++ b/src/wrapped32/wrappedlibx11.c @@ -1574,7 +1574,7 @@ void* getDisplay(void* d) { if(!d) return d; for(int i=0; i<N_DISPLAY; ++i) - if(&my32_Displays_32[i]==d || my32_Displays_64[i]==d) + if(((&my32_Displays_32[i])==d) || (my32_Displays_64[i]==d)) return my32_Displays_64[i]; printf_log(LOG_INFO, "BOX32: Warning, 32bits Display %p not found\n", d); return d; @@ -1584,7 +1584,7 @@ void* FindDisplay(void* d) { if(!d) return d; for(int i=0; i<N_DISPLAY; ++i) - if(my32_Displays_64[i]==d || &my32_Displays_32[i]==d) + if((my32_Displays_64[i]==d) || ((&my32_Displays_32[i])==d)) return &my32_Displays_32[i]; return d; } @@ -1612,22 +1612,18 @@ void convert_Screen_to_32(void* d, void* s) dst->root_input_mask = to_long(src->root_input_mask); } -EXPORT void* my32_XOpenDisplay(x64emu_t* emu, void* d) +void* addDisplay(void* d) { - void* r = my->XOpenDisplay(d); - // Added automatic bridge because of thos macro from Xlibint.h - //#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d) - //#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d) - if(!r) - return r; - - my_XDisplay_t* dpy = (my_XDisplay_t*)r; + my_XDisplay_t* dpy = (my_XDisplay_t*)d; // look for a free slot, or a display already there my_XDisplay_32_t* ret = NULL; struct my_XFreeFuncs_32 *free_funcs = NULL; struct my_XLockPtrs_32 *lock_fns = NULL; + for(int i=0; i<N_DISPLAY && !ret; ++i) + if(my32_Displays_64[i]==dpy) + return &my32_Displays_32[i]; for(int i=0; i<N_DISPLAY && !ret; ++i) { - if(my32_Displays_64[i]==dpy || !my32_Displays_64[i]) { + if(!my32_Displays_64[i]) { my32_Displays_64[i] = dpy; ret = &my32_Displays_32[i]; free_funcs = &my32_free_funcs_32[i]; @@ -1638,7 +1634,7 @@ EXPORT void* my32_XOpenDisplay(x64emu_t* emu, void* d) } if(!ret) { printf_log(LOG_INFO, "BOX32: No more slot available for libX11 Display!"); - return r; + return d; } bridge_t* system = my_lib->w.bridge; @@ -1709,6 +1705,20 @@ EXPORT void* my32_XOpenDisplay(x64emu_t* emu, void* d) return ret; } +EXPORT void* my32_XOpenDisplay(x64emu_t* emu, void* d) +{ + void* r = my->XOpenDisplay(d); + // Added automatic bridge because of thos macro from Xlibint.h + //#define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d) + //#define UnlockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d) + if(!r) + return r; + + void* ret = addDisplay(r); + + return ret; +} + EXPORT int my32_XCloseDisplay(x64emu_t* emu, void* dpy) { int ret = my->XCloseDisplay(dpy); diff --git a/src/wrapped32/wrappedsdl2.c b/src/wrapped32/wrappedsdl2.c index f34cf732..2510a8ea 100644 --- a/src/wrapped32/wrappedsdl2.c +++ b/src/wrapped32/wrappedsdl2.c @@ -169,6 +169,14 @@ EXPORT int my32_2_SDL_GetWindowDisplayMode(void* window, void* mode) return ret; } +EXPORT int my32_2_SDL_GetDisplayMode(int dispIndex, int modeIndex, void* mode) +{ + my_SDL2_DisplayMode_t mode_l = { 0 }; + int ret = my->SDL_GetDisplayMode(dispIndex, modeIndex, &mode_l); + convert_SDL2_DisplayMode_to_32(mode, &mode_l); + return ret; +} + EXPORT int my32_2_SDL_SetWindowDisplayMode(void* window, void* mode) { my_SDL2_DisplayMode_t mode_l = { 0 }; @@ -391,6 +399,17 @@ EXPORT void *my32_2_SDL_LoadBMP_RW(x64emu_t* emu, void* a, int b) inplace_SDL2_Surface_to_32(r); return r; } +EXPORT int my32_2_SDL_GameControllerAddMappingsFromRW(x64emu_t* emu, void* a, int b) +{ + inplace_SDL2_RWops_to_64(a); + SDL2_RWops_t *rw = RWNativeStart2(emu, (SDL2_RWops_t*)a); + int r = my->SDL_GameControllerAddMappingsFromRW(rw, b); + if(b==0) { + RWNativeEnd2(rw); + inplace_SDL2_RWops_to_32(a); + } + return r; +} EXPORT int64_t my32_2_SDL_RWseek(x64emu_t* emu, void* a, int64_t offset, int whence) { @@ -435,6 +454,55 @@ EXPORT int my32_2_SDL_RWclose(x64emu_t* emu, void* a) return RWNativeClose2(rw); } +typedef struct SDL_version_s +{ + uint8_t major; + uint8_t minor; + uint8_t patch; +} SDL_version_t; + +typedef struct SDL_SysWMinfo_s +{ + SDL_version_t version; + int subsystem; // 1=Windows, 2 =X11, 6=Wayland + union + { + struct + { + void* display; //Display + unsigned long window; //Window + } x11; + uint8_t dummy[64]; + } info; +} SDL_SysWMinfo_t; + +typedef struct SDL_SysWMinfo_32_s +{ + SDL_version_t version; + int subsystem; // 1=Windows, 2 =X11, 6=Wayland + union + { + struct + { + ptr_t display; //Display* + ulong_t window; //Window + } x11; + uint8_t dummy[64]; + } info; +} SDL_SysWMinfo_32_t; +void* FindDisplay(void* d); +EXPORT int my32_2_SDL_GetWindowWMInfo(void* w, SDL_SysWMinfo_32_t* i) +{ + // 32bits and 64bits have the same size... + int ret = my->SDL_GetWindowWMInfo(w, i); + if(i->subsystem==2) { + // inplace conversion + SDL_SysWMinfo_t* i_l = (SDL_SysWMinfo_t*) i; + i->info.x11.display = to_ptrv(FindDisplay(i_l->info.x11.display)); + i->info.x11.window = to_ulong(i_l->info.x11.window); + } + return ret; +} #define ALTMY my32_2_ diff --git a/src/wrapped32/wrappedsdl2_private.h b/src/wrapped32/wrappedsdl2_private.h index 1304d05a..33dd356b 100644 --- a/src/wrapped32/wrappedsdl2_private.h +++ b/src/wrapped32/wrappedsdl2_private.h @@ -7,15 +7,15 @@ // _fini // _init -// GO(SDL_abs, iFi) -// GO(SDL_acos, dFd) -// GO(SDL_acosf, fFf) +//GO(SDL_abs, iFi) +//GO(SDL_acos, dFd) +//GO(SDL_acosf, fFf) GOM(SDL_AddEventWatch, vFEpp) // SDL_AddHintCallback -// GOM(SDL_AddTimer, pFEupp) -// GO(SDL_AllocFormat, pFu) -// GO(SDL_AllocPalette, pFi) -// GO(SDL_AllocRW, pFv) // no need to create a "my_" probably +//GOM(SDL_AddTimer, pFEupp) +//GO(SDL_AllocFormat, pFu) +//GO(SDL_AllocPalette, pFi) +//GO(SDL_AllocRW, pFv) // no need to create a "my_" probably GO(SDL_asin, dFd) GO(SDL_asinf, fFf) GO(SDL_atan, dFd) @@ -24,201 +24,201 @@ GO(SDL_atan2f, fFff) GO(SDL_atanf, fFf) GO(SDL_atof, dFp) GO(SDL_atoi, iFp) -// GO(SDL_AtomicAdd, iFpi) -// GO(SDL_AtomicCAS, uFpii) -// GO(SDL_AtomicCASPtr, uFppp) -// GO(SDL_AtomicGet, iFp) -// GO(SDL_AtomicGetPtr, pFp) -// GO(SDL_AtomicLock, vFp) -// GO(SDL_AtomicSet, iFpi) -// GO(SDL_AtomicSetPtr, pFpp) -// GO(SDL_AtomicTryLock, uFp) -// GO(SDL_AtomicUnlock, vFp) -// GO(SDL_AudioInit, iFp) +//GO(SDL_AtomicAdd, iFpi) +//GO(SDL_AtomicCAS, uFpii) +//GO(SDL_AtomicCASPtr, uFppp) +//GO(SDL_AtomicGet, iFp) +//GO(SDL_AtomicGetPtr, pFp) +//GO(SDL_AtomicLock, vFp) +//GO(SDL_AtomicSet, iFpi) +//GO(SDL_AtomicSetPtr, pFpp) +//GO(SDL_AtomicTryLock, uFp) +//GO(SDL_AtomicUnlock, vFp) +//GO(SDL_AudioInit, iFp) GO(SDL_AudioQuit, vFv) -// GO(SDL_AudioStreamAvailable, iFp) -// GO(SDL_AudioStreamClear, vFp) +//GO(SDL_AudioStreamAvailable, iFp) +//GO(SDL_AudioStreamClear, vFp) GO(SDL_AudioStreamFlush, iFp) GO(SDL_AudioStreamGet, iFppi) GO(SDL_AudioStreamPut, iFppi) -// GO(SDL_BuildAudioCVT, iFpWCiWCi) -// GO(SDL_CalculateGammaRamp, vFfp) +//GO(SDL_BuildAudioCVT, iFpWCiWCi) +//GO(SDL_CalculateGammaRamp, vFfp) GO(SDL_calloc, pFLL) -// GO(SDL_CaptureMouse, iFu) -// GO(SDL_ceil, dFd) -// GO(SDL_ceilf, fFf) -// GO(SDL_ClearError, vFv) -// GO(SDL_ClearHints, vFv) -// GO(SDL_ClearQueuedAudio, vFu) +//GO(SDL_CaptureMouse, iFu) +//GO(SDL_ceil, dFd) +//GO(SDL_ceilf, fFf) +//GO(SDL_ClearError, vFv) +//GO(SDL_ClearHints, vFv) +//GO(SDL_ClearQueuedAudio, vFu) GO(SDL_CloseAudio, vFv) GO(SDL_CloseAudioDevice, vFu) -// GO(SDL_ComposeCustomBlendMode, uFuuuuuu) -// GO(SDL_CondBroadcast, iFp) -// GO(SDL_CondSignal, iFp) -// GO(SDL_CondWait, iFpp) -// GO(SDL_CondWaitTimeout, iFppu) -// GO(SDL_ConvertAudio, iFp) -// GO(SDL_ConvertPixels, iFiiupiupi) -// GO(SDL_ConvertSurface, pFppu) -// GO(SDL_ConvertSurfaceFormat, pFpuu) -// GO(SDL_copysign, dFdd) -// GO(SDL_copysignf, fFff) -// GO(SDL_cos, dFd) -// GO(SDL_cosf, fFf) +//GO(SDL_ComposeCustomBlendMode, uFuuuuuu) +//GO(SDL_CondBroadcast, iFp) +//GO(SDL_CondSignal, iFp) +//GO(SDL_CondWait, iFpp) +//GO(SDL_CondWaitTimeout, iFppu) +//GO(SDL_ConvertAudio, iFp) +//GO(SDL_ConvertPixels, iFiiupiupi) +//GO(SDL_ConvertSurface, pFppu) +//GO(SDL_ConvertSurfaceFormat, pFpuu) +//GO(SDL_copysign, dFdd) +//GO(SDL_copysignf, fFff) +//GO(SDL_cos, dFd) +//GO(SDL_cosf, fFf) GOM(SDL_CreateColorCursor, pFpii) //%noE -// GO(SDL_CreateCond, pFv) -// GO(SDL_CreateCursor, pFppiiii) +//GO(SDL_CreateCond, pFv) +//GO(SDL_CreateCursor, pFppiiii) GO(SDL_CreateMutex, pFv) GO(SDL_CreateRenderer, pFpiu) GOM(SDL_CreateRGBSurface, pFEuiiiuuuu) -// GO(SDL_CreateRGBSurfaceFrom, pFpiiiiuuuu) -// GO(SDL_CreateRGBSurfaceWithFormat, pFuiiiu) +//GO(SDL_CreateRGBSurfaceFrom, pFpiiiiuuuu) +//GO(SDL_CreateRGBSurfaceWithFormat, pFuiiiu) GOM(SDL_CreateRGBSurfaceWithFormatFrom, pFEpiiiiu) -// GO(SDL_CreateSemaphore, pFu) -// GO(SDL_CreateShapedWindow, pFpuuuuu) -// GO(SDL_CreateSoftwareRenderer, pFp) +//GO(SDL_CreateSemaphore, pFu) +//GO(SDL_CreateShapedWindow, pFpuuuuu) +//GO(SDL_CreateSoftwareRenderer, pFp) GO(SDL_CreateSystemCursor, pFu) GO(SDL_CreateTexture, pFpuiii) -// GO(SDL_CreateTextureFromSurface, pFpp) +//GO(SDL_CreateTextureFromSurface, pFpp) GOM(SDL_CreateThread, pFEppp) // SDL_CreateThreadWithStackSize GO(SDL_CreateWindow, pFpiiiiu) -// GO(SDL_CreateWindowAndRenderer, iFiiupp) -// GO(SDL_CreateWindowFrom, pFp) +//GO(SDL_CreateWindowAndRenderer, iFiiupp) +//GO(SDL_CreateWindowFrom, pFp) GO(SDL_Delay, vFu) GOM(SDL_DelEventWatch, vFEpp) // SDL_DelHintCallback -// GO(SDL_DequeueAudio, uFupu) -// GO(SDL_DestroyCond, vFp) -// GO(SDL_DestroyMutex, vFp) -// GO(SDL_DestroyRenderer, vFp) -// GO(SDL_DestroySemaphore, vFp) -// GO(SDL_DestroyTexture, vFp) +//GO(SDL_DequeueAudio, uFupu) +//GO(SDL_DestroyCond, vFp) +//GO(SDL_DestroyMutex, vFp) +//GO(SDL_DestroyRenderer, vFp) +//GO(SDL_DestroySemaphore, vFp) +//GO(SDL_DestroyTexture, vFp) GO(SDL_DestroyWindow, vFp) -// GO(SDL_DestroyWindowSurface, iFp) -// GO(SDL_DetachThread, vFp) +//GO(SDL_DestroyWindowSurface, iFp) +//GO(SDL_DetachThread, vFp) GO(SDL_DisableScreenSaver, vFv) -// GO(SDL_DuplicateSurface, pFp) -// GOM(SDL_DYNAPI_entry, iFEupu) -// GO(SDL_EnableScreenSaver, vFv) -// GO(SDL_EnclosePoints, uFpipp) -// GO(SDL_Error, iFu) -// GO(SDL_EventState, CFui) -// GO(SDL_exp, dFd) -// GO(SDL_expf, fFf) -// GO(SDL_fabs, dFd) -// GO(SDL_fabsf, fFf) +//GO(SDL_DuplicateSurface, pFp) +//GOM(SDL_DYNAPI_entry, iFEupu) +//GO(SDL_EnableScreenSaver, vFv) +//GO(SDL_EnclosePoints, uFpipp) +//GO(SDL_Error, iFu) +//GO(SDL_EventState, CFui) +//GO(SDL_exp, dFd) +//GO(SDL_expf, fFf) +//GO(SDL_fabs, dFd) +//GO(SDL_fabsf, fFf) GOM(SDL_FillRect, iFEppu) -// GO(SDL_FillRects, iFppiu) +//GO(SDL_FillRects, iFppiu) // SDL_FilterEvents -// GO(SDL_floor, dFd) -// GO(SDL_floorf,fFf) -// GO(SDL_FlushEvent, vFu) -// GO(SDL_FlushEvents, vFuu) -// GO(SDL_fmod, dFdd) -// GO(SDL_fmodf, fFff) +//GO(SDL_floor, dFd) +//GO(SDL_floorf,fFf) +//GO(SDL_FlushEvent, vFu) +//GO(SDL_FlushEvents, vFuu) +//GO(SDL_fmod, dFdd) +//GO(SDL_fmodf, fFff) GO(SDL_free, vFp) GO(SDL_FreeAudioStream, vFp) GO(SDL_FreeCursor, vFp) -// GO(SDL_FreeFormat, vFp) -// GO(SDL_FreePalette, vFp) -// GO(SDL_FreeRW, vFp) +//GO(SDL_FreeFormat, vFp) +//GO(SDL_FreePalette, vFp) +//GO(SDL_FreeRW, vFp) GOM(SDL_FreeSurface, vFEp) -// GO(SDL_FreeWAV, vFp) -// GO(SDL_GameControllerAddMapping, iFp) -// GOM(SDL_GameControllerAddMappingsFromRW, iFEpi) +//GO(SDL_FreeWAV, vFp) +//GO(SDL_GameControllerAddMapping, iFp) +GOM(SDL_GameControllerAddMappingsFromRW, iFEpi) GO(SDL_GameControllerClose, vFp) GO(SDL_GameControllerEventState, iFi) -// GO(SDL_GameControllerFromInstanceID, pFi) -// GO(SDL_GameControllerFromPlayerIndex, pFi) -// GO(SDL_GameControllerGetAttached, iFp) -// GO(SDL_GameControllerGetAxis, wFpi) -// GO(SDL_GameControllerGetAxisFromString, iFp) -// GO(SDL_GameControllerGetBindForAxis, HFpi) -// GO(SDL_GameControllerGetBindForButton, HFpi) -// GO(SDL_GameControllerGetButton, CFpi) -// GO(SDL_GameControllerGetButtonFromString, iFp) -// GO(SDL_GameControllerGetFirmwareVersion, WFp) +//GO(SDL_GameControllerFromInstanceID, pFi) +//GO(SDL_GameControllerFromPlayerIndex, pFi) +//GO(SDL_GameControllerGetAttached, iFp) +//GO(SDL_GameControllerGetAxis, wFpi) +//GO(SDL_GameControllerGetAxisFromString, iFp) +//GO(SDL_GameControllerGetBindForAxis, HFpi) +//GO(SDL_GameControllerGetBindForButton, HFpi) +//GO(SDL_GameControllerGetButton, CFpi) +//GO(SDL_GameControllerGetButtonFromString, iFp) +//GO(SDL_GameControllerGetFirmwareVersion, WFp) GO(SDL_GameControllerGetJoystick, pFp) -// GO(SDL_GameControllerGetNumTouchpads, iFp) -// GO(SDL_GameControllerGetNumTouchpadFingers, iFpi) -// GO(SDL_GameControllerGetPlayerIndex, iFp) -// GO(SDL_GameControllerGetProduct, WFp) -// GO(SDL_GameControllerGetProductVersion, WFp) -// GO(SDL_GameControllerGetSensorData, iFpipi) -// GO(SDL_GameControllerGetSensorDataWithTimestamp, iFpippi) -// GO(SDL_GameControllerGetSerial, pFp) -// GO(SDL_GameControllerGetStringForAxis, pFi) -// GO(SDL_GameControllerGetStringForButton, pFi) -// GO(SDL_GameControllerGetTouchpadFinger, iFpiipppp) -// GO(SDL_GameControllerGetType, uFp) -// GO(SDL_GameControllerGetVendor, WFp) -// GO(SDL_GameControllerHasButton, uFpi) -// GO(SDL_GameControllerHasLED, iFp) -// GO(SDL_GameControllerHasRumble, iFp) -// GO(SDL_GameControllerHasSensor, iFpi) -// GO(SDL_GameControllerIsSensorEnabled, uFpi) -// GO(SDL_GameControllerMapping, pFp) -// GO(SDL_GameControllerMappingForDeviceIndex, pFi) -// GO(SDL_GameControllerMappingForGUID, pFpp) -// GO(SDL_GameControllerMappingForIndex, pFi) -// GO(SDL_GameControllerName, pFp) -// GO(SDL_GameControllerNameForIndex, pFi) -// GO(SDL_GameControllerNumMappings, iFv) +//GO(SDL_GameControllerGetNumTouchpads, iFp) +//GO(SDL_GameControllerGetNumTouchpadFingers, iFpi) +//GO(SDL_GameControllerGetPlayerIndex, iFp) +//GO(SDL_GameControllerGetProduct, WFp) +//GO(SDL_GameControllerGetProductVersion, WFp) +//GO(SDL_GameControllerGetSensorData, iFpipi) +//GO(SDL_GameControllerGetSensorDataWithTimestamp, iFpippi) +//GO(SDL_GameControllerGetSerial, pFp) +//GO(SDL_GameControllerGetStringForAxis, pFi) +//GO(SDL_GameControllerGetStringForButton, pFi) +//GO(SDL_GameControllerGetTouchpadFinger, iFpiipppp) +//GO(SDL_GameControllerGetType, uFp) +//GO(SDL_GameControllerGetVendor, WFp) +//GO(SDL_GameControllerHasButton, uFpi) +//GO(SDL_GameControllerHasLED, iFp) +//GO(SDL_GameControllerHasRumble, iFp) +//GO(SDL_GameControllerHasSensor, iFpi) +//GO(SDL_GameControllerIsSensorEnabled, uFpi) +//GO(SDL_GameControllerMapping, pFp) +//GO(SDL_GameControllerMappingForDeviceIndex, pFi) +//GO(SDL_GameControllerMappingForGUID, pFpp) +//GO(SDL_GameControllerMappingForIndex, pFi) +//GO(SDL_GameControllerName, pFp) +//GO(SDL_GameControllerNameForIndex, pFi) +//GO(SDL_GameControllerNumMappings, iFv) GO(SDL_GameControllerOpen, pFi) -// GO(SDL_GameControllerPath, pFp) -// GO(SDL_GameControllerPathForIndex, pFi) -// GO(SDL_GameControllerRumble, iFpWWu) -// GO(SDL_GameControllerRumbleTriggers, iFpWWu) -// GO(SDL_GameControllerSetLED, iFpCCC) -// GO(SDL_GameControllerSetPlayerIndex, vFpi) -// GO(SDL_GameControllerSetSensorEnabled, iFpiu) -// GO(SDL_GameControllerTypeForIndex, uFi) -// GO(SDL_GameControllerUpdate, vFv) +//GO(SDL_GameControllerPath, pFp) +//GO(SDL_GameControllerPathForIndex, pFi) +//GO(SDL_GameControllerRumble, iFpWWu) +//GO(SDL_GameControllerRumbleTriggers, iFpWWu) +//GO(SDL_GameControllerSetLED, iFpCCC) +//GO(SDL_GameControllerSetPlayerIndex, vFpi) +//GO(SDL_GameControllerSetSensorEnabled, iFpiu) +//GO(SDL_GameControllerTypeForIndex, uFi) +//GO(SDL_GameControllerUpdate, vFv) // SDL_GetAssertionHandler -// GO(SDL_GetAssertionReport, pFv) -// GO(SDL_GetAudioDeviceName, pFii) -// GO(SDL_GetAudioDeviceStatus, uFu) -// GO(SDL_GetAudioDriver, pFi) -// GO(SDL_GetAudioDeviceSpec, iFiip) -// GO(SDL_GetAudioStatus, uFv) +//GO(SDL_GetAssertionReport, pFv) +//GO(SDL_GetAudioDeviceName, pFii) +//GO(SDL_GetAudioDeviceStatus, uFu) +//GO(SDL_GetAudioDriver, pFi) +//GO(SDL_GetAudioDeviceSpec, iFiip) +//GO(SDL_GetAudioStatus, uFv) GOM(SDL_GetBasePath, pFEv) GO(SDL_GetClipboardText, pFv) -// GO(SDL_GetClipRect, vFpp) -// GO(SDL_GetClosestDisplayMode, pFipp) -// GO(SDL_GetColorKey, iFpp) -// GO(SDL_GetCPUCacheLineSize, iFv) -// GO(SDL_GetCPUCount, iFv) +//GO(SDL_GetClipRect, vFpp) +//GO(SDL_GetClosestDisplayMode, pFipp) +//GO(SDL_GetColorKey, iFpp) +//GO(SDL_GetCPUCacheLineSize, iFv) +//GO(SDL_GetCPUCount, iFv) GO(SDL_GetCurrentAudioDriver, pFv) GOM(SDL_GetCurrentDisplayMode, iFip) //%noE GO(SDL_GetCurrentVideoDriver, pFv) -// GO(SDL_GetCursor, pFv) +//GO(SDL_GetCursor, pFv) // SDL_GetDefaultAssertionHandler -// GO(SDL_GetDefaultAudioInfo, iFppi) -// GO(SDL_GetDefaultCursor, pFv) +//GO(SDL_GetDefaultAudioInfo, iFppi) +//GO(SDL_GetDefaultCursor, pFv) GOM(SDL_GetDesktopDisplayMode, iFEip) GO(SDL_GetDisplayBounds, iFip) -// GO(SDL_GetDisplayDPI, iFippp) -// GO(SDL_GetDisplayMode, iFiip) -// GO(SDL_GetDisplayName, pFi) -// GO(SDL_GetDisplayOrientation, uFi) +//GO(SDL_GetDisplayDPI, iFippp) +GOM(SDL_GetDisplayMode, iFiip) //%noE +GO(SDL_GetDisplayName, pFi) +//GO(SDL_GetDisplayOrientation, uFi) GO(SDL_GetDisplayUsableBounds, iFip) GO(SDL_getenv, pFp) GO(SDL_GetError, pFv) -// GOM(SDL_GetEventFilter, iFEpp) -// GO(SDL_GetGlobalMouseState, uFpp) -// GO(SDL_GetGrabbedWindow, pFv) -// GO(SDL_GetHint, pFp) +//GOM(SDL_GetEventFilter, iFEpp) +//GO(SDL_GetGlobalMouseState, uFpp) +//GO(SDL_GetGrabbedWindow, pFv) +//GO(SDL_GetHint, pFp) GO(SDL_GetHintBoolean, uFpu) -// GOM(SDL_GetJoystickGUIDInfo, vFGpppp) -// GO(SDL_GetKeyboardFocus, pFv) -// GO(SDL_GetKeyboardState, pFp) -// GO(SDL_GetKeyFromName, iFp) -// GO(SDL_GetKeyFromScancode, iFu) -// GO(SDL_GetKeyName, pFi) -// GO(SDL_GetMemoryFunctions, vFpppp) +//GOM(SDL_GetJoystickGUIDInfo, vFGpppp) +GO(SDL_GetKeyboardFocus, pFv) +//GO(SDL_GetKeyboardState, pFp) +//GO(SDL_GetKeyFromName, iFp) +//GO(SDL_GetKeyFromScancode, iFu) +//GO(SDL_GetKeyName, pFi) +//GO(SDL_GetMemoryFunctions, vFpppp) GO(SDL_GetModState, uFv) -// GO(SDL_GetMouseFocus, pFv) +GO(SDL_GetMouseFocus, pFv) GO(SDL_GetMouseState, uFpp) GO(SDL_GetNumAllocations, iFv) GO(SDL_GetNumAudioDevices, iFi) @@ -229,80 +229,80 @@ GO(SDL_GetNumTouchDevices, iFv) GO(SDL_GetNumTouchFingers, iFu) GO(SDL_GetNumVideoDisplays, iFv) GO(SDL_GetNumVideoDrivers, iFv) -// GOM(SDL_GetOriginalMemoryFunctions, -// GO(SDL_GetPerformanceCounter, UFv) -// GO(SDL_GetPerformanceFrequency, LFv) -// GO(SDL_GetPixelFormatName, pFu) -// GO(SDL_GetPlatform, pFv) -// GO(SDL_GetPointDisplayIndex, iFp) -// GO(SDL_GetPowerInfo, uFpp) -// GO(SDL_GetPreferredLocales, pFv) -// GO(SDL_GetPrefPath, pFpp) -// GO(SDL_GetPrimarySelectionText, pFv) -// GO(SDL_GetQueuedAudioSize, uFu) -// GO(SDL_GetRectDisplayIndex, iFp) +//GOM(SDL_GetOriginalMemoryFunctions, +//GO(SDL_GetPerformanceCounter, UFv) +//GO(SDL_GetPerformanceFrequency, LFv) +//GO(SDL_GetPixelFormatName, pFu) +//GO(SDL_GetPlatform, pFv) +//GO(SDL_GetPointDisplayIndex, iFp) +//GO(SDL_GetPowerInfo, uFpp) +//GO(SDL_GetPreferredLocales, pFv) +//GO(SDL_GetPrefPath, pFpp) +//GO(SDL_GetPrimarySelectionText, pFv) +//GO(SDL_GetQueuedAudioSize, uFu) +//GO(SDL_GetRectDisplayIndex, iFp) GO(SDL_GetRelativeMouseMode, iFv) -// GO(SDL_GetRelativeMouseState, uFpp) -// GO(SDL_GetRenderDrawBlendMode, iFpp) -// GO(SDL_GetRenderDrawColor, iFppppp) -// GO(SDL_GetRenderDriverInfo, iFip) -// GO(SDL_GetRenderer, pFp) -// GO(SDL_GetRendererInfo, iFpp) -// GO(SDL_GetRendererOutputSize, iFppp) -// GO(SDL_GetRenderTarget, pFp) -// GO(SDL_GetRevision, pFv) -// GO(SDL_GetRevisionNumber, iFv) -// GO(SDL_GetRGB, vFupppp) -// GO(SDL_GetRGBA, vFuppppp) -// GO(SDL_GetScancodeFromKey, uFi) -// GO(SDL_GetScancodeFromName, uFp) -// GO(SDL_GetScancodeName, pFu) -// GO(SDL_GetShapedWindowMode, iFpp) -// GO(SDL_GetSurfaceAlphaMod, iFpp) -// GO(SDL_GetSurfaceBlendMode, iFpp) -// GO(SDL_GetSurfaceColorMod, iFpppp) -// GO(SDL_GetSystemRAM, iFv) -// GO(SDL_GetTextureAlphaMod, iFpp) -// GO(SDL_GetTextureBlendMode, iFpp) -// GO(SDL_GetTextureColorMod, iFpppp) -// GOM(SDL_GetThreadID, LFEp) -// GO(SDL_GetThreadName, pFp) +//GO(SDL_GetRelativeMouseState, uFpp) +//GO(SDL_GetRenderDrawBlendMode, iFpp) +//GO(SDL_GetRenderDrawColor, iFppppp) +//GO(SDL_GetRenderDriverInfo, iFip) +//GO(SDL_GetRenderer, pFp) +//GO(SDL_GetRendererInfo, iFpp) +//GO(SDL_GetRendererOutputSize, iFppp) +//GO(SDL_GetRenderTarget, pFp) +//GO(SDL_GetRevision, pFv) +//GO(SDL_GetRevisionNumber, iFv) +//GO(SDL_GetRGB, vFupppp) +//GO(SDL_GetRGBA, vFuppppp) +//GO(SDL_GetScancodeFromKey, uFi) +//GO(SDL_GetScancodeFromName, uFp) +//GO(SDL_GetScancodeName, pFu) +//GO(SDL_GetShapedWindowMode, iFpp) +//GO(SDL_GetSurfaceAlphaMod, iFpp) +//GO(SDL_GetSurfaceBlendMode, iFpp) +//GO(SDL_GetSurfaceColorMod, iFpppp) +//GO(SDL_GetSystemRAM, iFv) +//GO(SDL_GetTextureAlphaMod, iFpp) +//GO(SDL_GetTextureBlendMode, iFpp) +//GO(SDL_GetTextureColorMod, iFpppp) +//GOM(SDL_GetThreadID, LFEp) +//GO(SDL_GetThreadName, pFp) GO(SDL_GetTicks, uFv) -// GO(SDL_GetTicks64, UFv) -// GO(SDL_GetTouchDevice, lFi) -// GO(SDL_GetTouchDeviceType, iFl) -// GO(SDL_GetTouchFinger, pFli) -// GO(SDL_GetVersion, vFp) -// GO(SDL_GetVideoDriver, pFi) -// GO(SDL_GetWindowBordersSize, iFppppp) -// GO(SDL_GetWindowBrightness, fFp) -// GO(SDL_GetWindowData, pFpp) +//GO(SDL_GetTicks64, UFv) +//GO(SDL_GetTouchDevice, lFi) +//GO(SDL_GetTouchDeviceType, iFl) +//GO(SDL_GetTouchFinger, pFli) +//GO(SDL_GetVersion, vFp) +GO(SDL_GetVideoDriver, pFi) +//GO(SDL_GetWindowBordersSize, iFppppp) +//GO(SDL_GetWindowBrightness, fFp) +GO(SDL_GetWindowData, pFpp) GO(SDL_GetWindowDisplayIndex, iFp) GOM(SDL_GetWindowDisplayMode, iFpp) //%noE GO(SDL_GetWindowFlags, uFp) -// GO(SDL_GetWindowFromID, pFu) -// GO(SDL_GetWindowGammaRamp, iFpppp) +GO(SDL_GetWindowFromID, pFu) +//GO(SDL_GetWindowGammaRamp, iFpppp) GO(SDL_GetWindowGrab, iFp) GO(SDL_GetWindowID, uFp) -// GO(SDL_GetWindowMaximumSize, vFppp) -// GO(SDL_GetWindowMinimumSize, vFppp) -// GO(SDL_GetWindowOpacity, iFpp) -// GO(SDL_GetWindowPixelFormat, uFp) -// GO(SDL_GetWindowPosition, vFppp) +GO(SDL_GetWindowMaximumSize, vFppp) +GO(SDL_GetWindowMinimumSize, vFppp) +//GO(SDL_GetWindowOpacity, iFpp) +//GO(SDL_GetWindowPixelFormat, uFp) +GO(SDL_GetWindowPosition, vFppp) GO(SDL_GetWindowSize, vFppp) -// GO(SDL_GetWindowSizeInPixels, vFppp) -// GO(SDL_GetWindowSurface, pFp) -// GO(SDL_GetWindowTitle, pFp) -// GO(SDL_GetWindowWMInfo, iFpp) -// GO(SDL_GetYUVConversionMode, uFv) -// GO(SDL_GetYUVConversionModeForResolution, uFii) -// GO(SDL_GL_BindTexture, iFppp) +//GO(SDL_GetWindowSizeInPixels, vFppp) +//GO(SDL_GetWindowSurface, pFp) +GO(SDL_GetWindowTitle, pFp) +GOM(SDL_GetWindowWMInfo, iFpp) //%noE +GO(SDL_GetYUVConversionMode, uFv) +GO(SDL_GetYUVConversionModeForResolution, uFii) +//GO(SDL_GL_BindTexture, iFppp) GO(SDL_GL_CreateContext, pFp) GO(SDL_GL_DeleteContext, vFp) -// GO(SDL_GL_ExtensionSupported, iFp) -// GO(SDL_GL_GetAttribute, iFup) -// GO(SDL_GL_GetCurrentContext, pFv) -// GO(SDL_GL_GetCurrentWindow, pFv) +//GO(SDL_GL_ExtensionSupported, iFp) +//GO(SDL_GL_GetAttribute, iFup) +GO(SDL_GL_GetCurrentContext, pFv) +GO(SDL_GL_GetCurrentWindow, pFv) GO(SDL_GL_GetDrawableSize, vFppp) GOM(SDL_GL_GetProcAddress, pFEp) GO(SDL_GL_GetSwapInterval, iFv) @@ -314,310 +314,310 @@ GO(SDL_GL_SetSwapInterval, iFi) GO(SDL_GL_SwapWindow, vFp) GO(SDL_GL_UnbindTexture, iFp) GO(SDL_GL_UnloadLibrary, vFv) -// GO(SDL_GUIDToString, vFUUpi) +//GO(SDL_GUIDToString, vFUUpi) GO(SDL_HapticClose, vFp) -// GO(SDL_HapticDestroyEffect, vFpi) -// GO(SDL_HapticEffectSupported, iFpp) -// GO(SDL_HapticGetEffectStatus, iFpi) -// GO(SDL_HapticIndex, iFp) -// GO(SDL_HapticName, pFi) -// GO(SDL_HapticNewEffect, iFpp) -// GO(SDL_HapticNumAxes, iFp) -// GO(SDL_HapticNumEffects, iFp) -// GO(SDL_HapticNumEffectsPlaying, iFp) -// GO(SDL_HapticOpen, pFi) -// GO(SDL_HapticOpened, iFi) +//GO(SDL_HapticDestroyEffect, vFpi) +//GO(SDL_HapticEffectSupported, iFpp) +//GO(SDL_HapticGetEffectStatus, iFpi) +//GO(SDL_HapticIndex, iFp) +//GO(SDL_HapticName, pFi) +//GO(SDL_HapticNewEffect, iFpp) +//GO(SDL_HapticNumAxes, iFp) +//GO(SDL_HapticNumEffects, iFp) +//GO(SDL_HapticNumEffectsPlaying, iFp) +//GO(SDL_HapticOpen, pFi) +//GO(SDL_HapticOpened, iFi) GO(SDL_HapticOpenFromJoystick, pFp) -// GO(SDL_HapticOpenFromMouse, pFv) -// GO(SDL_HapticPause, iFp) -// GO(SDL_HapticQuery, uFp) +//GO(SDL_HapticOpenFromMouse, pFv) +GO(SDL_HapticPause, iFp) +GO(SDL_HapticQuery, uFp) GO(SDL_HapticRumbleInit, iFp) GO(SDL_HapticRumblePlay, iFpfu) -// GO(SDL_HapticRumbleStop, iFp) -// GO(SDL_HapticRumbleSupported, iFp) -// GO(SDL_HapticRunEffect, iFpiu) -// GO(SDL_HapticSetAutocenter, iFpi) -// GO(SDL_HapticSetGain, iFpi) -// GO(SDL_HapticStopAll, iFp) -// GO(SDL_HapticStopEffect, iFpi) -// GO(SDL_HapticUnpause, iFp) -// GO(SDL_HapticUpdateEffect, iFpip) -// GOM(SDL_Has3DNow, iFv) -// GOM(SDL_HasAltiVec, iFv) -// GOM(SDL_HasAVX, iFv) -// GOM(SDL_HasAVX2, iFv) -// GOM(SDL_HasAVX512F, iFv) + GO(SDL_HapticRumbleStop, iFp) + GO(SDL_HapticRumbleSupported, iFp) +//GO(SDL_HapticRunEffect, iFpiu) +//GO(SDL_HapticSetAutocenter, iFpi) +//GO(SDL_HapticSetGain, iFpi) +//GO(SDL_HapticStopAll, iFp) +//GO(SDL_HapticStopEffect, iFpi) +//GO(SDL_HapticUnpause, iFp) +//GO(SDL_HapticUpdateEffect, iFpip) +//GOM(SDL_Has3DNow, iFv) +//GOM(SDL_HasAltiVec, iFv) +//GOM(SDL_HasAVX, iFv) +//GOM(SDL_HasAVX2, iFv) +//GOM(SDL_HasAVX512F, iFv) GO(SDL_HasClipboardText, iFv) -// GO(SDL_HasColorKey, uFp) -// GO(SDL_HasEvent, uFu) -// GO(SDL_HasEvents, uFuu) -// GO(SDL_HasIntersection, uFpp) -// GO(SDL_HasLASX, iFv) -// GO(SDL_HasLSX, iFv) -// GOM(SDL_HasMMX, iFv) -// GOM(SDL_HasNEON, iFv) -// GOM(SDL_HasRDTSC, iFv) -// GO(SDL_HasPrimarySelectionText, iFv) -// GO(SDL_HasScreenKeyboardSupport, iFv) -// GOM(SDL_HasSSE, iFv) -// GOM(SDL_HasSSE2, iFv) -// GOM(SDL_HasSSE3, iFv) -// GOM(SDL_HasSSE41, iFv) -// GOM(SDL_HasSSE42, iFv) +//GO(SDL_HasColorKey, uFp) +GO(SDL_HasEvent, uFu) +GO(SDL_HasEvents, uFuu) +//GO(SDL_HasIntersection, uFpp) +//GO(SDL_HasLASX, iFv) +//GO(SDL_HasLSX, iFv) +//GOM(SDL_HasMMX, iFv) +//GOM(SDL_HasNEON, iFv) +//GOM(SDL_HasRDTSC, iFv) +//GO(SDL_HasPrimarySelectionText, iFv) +//GO(SDL_HasScreenKeyboardSupport, iFv) +//GOM(SDL_HasSSE, iFv) +//GOM(SDL_HasSSE2, iFv) +//GOM(SDL_HasSSE3, iFv) +//GOM(SDL_HasSSE41, iFv) +//GOM(SDL_HasSSE42, iFv) GO(SDL_HideWindow, vFp) -// GO(SDL_HasWindowSurface, iFp) -// GO(SDL_iconv, LFppppp) -// GO(SDL_iconv_close, iFp) -// GO(SDL_iconv_open, pFpp) -// GO(SDL_iconv_string, pFpppL) +//GO(SDL_HasWindowSurface, iFp) +//GO(SDL_iconv, LFppppp) +//GO(SDL_iconv_close, iFp) +//GO(SDL_iconv_open, pFpp) +//GO(SDL_iconv_string, pFpppL) GO(SDL_Init, iFu) GO(SDL_InitSubSystem, iFu) -// GO(SDL_IntersectRect, uFppp) -// GO(SDL_IntersectRectAndLine, uFppppp) -// GO(SDL_isdigit, iFi) +//GO(SDL_IntersectRect, uFppp) +//GO(SDL_IntersectRectAndLine, uFppppp) +//GO(SDL_isdigit, iFi) GO(SDL_IsGameController, uFi) -// GO(SDL_IsScreenKeyboardShown, uFp) -// GO(SDL_IsScreenSaverEnabled, iFv) -// GO(SDL_IsShapedWindow, uFp) -// GO(SDL_isspace, iFi) -// GO(SDL_IsTablet, uFv) +//GO(SDL_IsScreenKeyboardShown, uFp) +//GO(SDL_IsScreenSaverEnabled, iFv) +//GO(SDL_IsShapedWindow, uFp) +//GO(SDL_isspace, iFi) +//GO(SDL_IsTablet, uFv) GO(SDL_IsTextInputActive, iFv) -// GO(SDL_itoa, pFipi) -// GO(SDL_JoystickAttachVirtualEx, iFp) +//GO(SDL_itoa, pFipi) +//GO(SDL_JoystickAttachVirtualEx, iFp) GO(SDL_JoystickClose, vFp) -// GO(SDL_JoystickCurrentPowerLevel, iFp) +//GO(SDL_JoystickCurrentPowerLevel, iFp) GO(SDL_JoystickEventState, iFi) -// GO(SDL_JoystickFromInstanceID, pFi) -// GO(SDL_JoystickGetAttached, iFp) -// GO(SDL_JoystickGetAxis, wFpi) -// GO(SDL_JoystickGetAxisInitialState, uFpip) -// GO(SDL_JoystickGetBall, iFpipp) -// GO(SDL_JoystickGetButton, CFpi) +//GO(SDL_JoystickFromInstanceID, pFi) +//GO(SDL_JoystickGetAttached, iFp) +//GO(SDL_JoystickGetAxis, wFpi) +//GO(SDL_JoystickGetAxisInitialState, uFpip) +//GO(SDL_JoystickGetBall, iFpipp) +//GO(SDL_JoystickGetButton, CFpi) GOS(SDL_JoystickGetDeviceGUID, JFEi) // return a struct that is "uint8_t data[16]" -// GO(SDL_JoystickGetDeviceInstanceID, iFi) -// GO(SDL_JoystickGetDevicePlayerIndex, iFi) -// GO(SDL_JoystickGetDeviceProduct, WFi) -// GO(SDL_JoystickGetDeviceProductVersion, WFi) -// GO(SDL_JoystickGetDeviceType, uFi) -// GO(SDL_JoystickGetDeviceVendor, WFi) -// GO(SDL_JoystickGetFirmwareVersion, WFp) -// GO(SDL_JoystickGetGUID, HFp) -// GO(SDL_JoystickGetGUIDFromString, HFp) +//GO(SDL_JoystickGetDeviceInstanceID, iFi) +//GO(SDL_JoystickGetDevicePlayerIndex, iFi) +//GO(SDL_JoystickGetDeviceProduct, WFi) +//GO(SDL_JoystickGetDeviceProductVersion, WFi) +//GO(SDL_JoystickGetDeviceType, uFi) +//GO(SDL_JoystickGetDeviceVendor, WFi) +//GO(SDL_JoystickGetFirmwareVersion, WFp) +//GO(SDL_JoystickGetGUID, HFp) +//GO(SDL_JoystickGetGUIDFromString, HFp) GO(SDL_JoystickGetGUIDString, vFUUpi) //uint8_t data[16] passed as 1st argument... -// GO(SDL_JoystickGetHat, CFpi) -// GO(SDL_JoystickGetPlayerIndex, iFp) -// GO(SDL_JoystickGetProduct, WFp) -// GO(SDL_JoystickGetProductVersion, WFp) -// GO(SDL_JoystickGetSerial, pFp) -// GO(SDL_JoystickGetType, uFp) -// GO(SDL_JoystickGetVendor, WFp) +//GO(SDL_JoystickGetHat, CFpi) +//GO(SDL_JoystickGetPlayerIndex, iFp) +//GO(SDL_JoystickGetProduct, WFp) +//GO(SDL_JoystickGetProductVersion, WFp) +//GO(SDL_JoystickGetSerial, pFp) +//GO(SDL_JoystickGetType, uFp) +//GO(SDL_JoystickGetVendor, WFp) GO(SDL_JoystickInstanceID, iFp) -// GO(SDL_JoystickIsHaptic, iFp) -// GO(SDL_JoystickName, pFp) +GO(SDL_JoystickIsHaptic, iFp) +GO(SDL_JoystickName, pFp) GO(SDL_JoystickNameForIndex, pFi) -// GO(SDL_JoystickNumAxes, iFp) -// GO(SDL_JoystickNumBalls, iFp) -// GO(SDL_JoystickNumButtons, iFp) -// GO(SDL_JoystickNumHats, iFp) +GO(SDL_JoystickNumAxes, iFp) +GO(SDL_JoystickNumBalls, iFp) +GO(SDL_JoystickNumButtons, iFp) +GO(SDL_JoystickNumHats, iFp) GO(SDL_JoystickOpen, pFi) -// GO(SDL_JoystickPath, pFp) -// GO(SDL_JoystickPathForIndex, pFi) -// GO(SDL_JoystickRumble, iFpWWu) -// GO(SDL_JoystickRumbleTriggers, iFpWWu) -// GO(SDL_JoystickUpdate, vFv) -// GO(SDL_LinuxSetThreadPriority, iFli) -// GO(SDL_lltoa, pFlpi) +//GO(SDL_JoystickPath, pFp) +//GO(SDL_JoystickPathForIndex, pFi) +//GO(SDL_JoystickRumble, iFpWWu) +//GO(SDL_JoystickRumbleTriggers, iFpWWu) +//GO(SDL_JoystickUpdate, vFv) +//GO(SDL_LinuxSetThreadPriority, iFli) +//GO(SDL_lltoa, pFlpi) GOM(SDL_LoadBMP_RW, pFEpi) -// GO(SDL_LoadDollarTemplates, iFip) -// GO(SDL_LoadFile, pFpp) -// GOM(SDL_LoadFile_RW, pFEppi) -// GOM(SDL_LoadFunction, pFEpp) -// GOM(SDL_LoadObject, pFEp) -// GOM(SDL_LoadWAV_RW, pFEpippp) +//GO(SDL_LoadDollarTemplates, iFip) +//GO(SDL_LoadFile, pFpp) +//GOM(SDL_LoadFile_RW, pFEppi) +//GOM(SDL_LoadFunction, pFEpp) +//GOM(SDL_LoadObject, pFEp) +//GOM(SDL_LoadWAV_RW, pFEpippp) GO(SDL_LockAudio, vFv) GO(SDL_LockAudioDevice, vFi) -// GO(SDL_LockJoysticks, vFv) +//GO(SDL_LockJoysticks, vFv) GO(SDL_LockMutex, iFp) -// GO(SDL_LockSensors, vFv) -// GO(SDL_LockSurface, iFp) -// GO(SDL_LockTexture, iFpppp) -// GO(SDL_log, dFd) +//GO(SDL_LockSensors, vFv) +//GO(SDL_LockSurface, iFp) +//GO(SDL_LockTexture, iFpppp) +//GO(SDL_log, dFd) GOM(SDL_Log, vFEpV) -// GO(SDL_log10, dFd) -// GO(SDL_log10f, fFf) -// GOM(SDL_LogCritical, vFEipV) -// GOM(SDL_LogDebug, vFEipV) -// GOM(SDL_LogError, vFEipV) -// GO(SDL_logf, fFf) -// GOM(SDL_LogGetOutputFunction, vFEpp) -// GO(SDL_LogGetPriority, uFi) -// GOM(SDL_LogInfo, vFEipV) -// GO2(SDL_LogMessage, vFiupV, SDL_LogMessageV) +//GO(SDL_log10, dFd) +//GO(SDL_log10f, fFf) +//GOM(SDL_LogCritical, vFEipV) +//GOM(SDL_LogDebug, vFEipV) +//GOM(SDL_LogError, vFEipV) +//GO(SDL_logf, fFf) +//GOM(SDL_LogGetOutputFunction, vFEpp) +//GO(SDL_LogGetPriority, uFi) +//GOM(SDL_LogInfo, vFEipV) +//GO2(SDL_LogMessage, vFiupV, SDL_LogMessageV) GO(SDL_LogMessageV, vFiupV) -// GO(SDL_LogResetPriorities, vFv) -// GO(SDL_LogSetAllPriority, vFu) -// GOM(SDL_LogSetOutputFunction, vFEpp) -// GO(SDL_LogSetPriority, vFiu) -// GOM(SDL_LogVerbose, vFEipV) -// GOM(SDL_LogWarn, vFEipV) -// GO(SDL_LowerBlit, iFpppp) -// GO(SDL_LowerBlitScaled, iFpppp) -// GO(SDL_ltoa, pFlpi) +//GO(SDL_LogResetPriorities, vFv) +//GO(SDL_LogSetAllPriority, vFu) +//GOM(SDL_LogSetOutputFunction, vFEpp) +//GO(SDL_LogSetPriority, vFiu) +//GOM(SDL_LogVerbose, vFEipV) +//GOM(SDL_LogWarn, vFEipV) +//GO(SDL_LowerBlit, iFpppp) +//GO(SDL_LowerBlitScaled, iFpppp) +//GO(SDL_ltoa, pFlpi) GO(SDL_malloc, pFL) -// GO(SDL_MapRGB, uFpCCC) -// GO(SDL_MapRGBA, uFpCCCC) -// GO(SDL_MasksToPixelFormatEnum, uFiuuuu) -// GO(SDL_MaximizeWindow, vFp) +//GO(SDL_MapRGB, uFpCCC) +//GO(SDL_MapRGBA, uFpCCCC) +//GO(SDL_MasksToPixelFormatEnum, uFiuuuu) +//GO(SDL_MaximizeWindow, vFp) GO(SDL_memcmp, iFppL) GO(SDL_memcpy, pFppu) GO(SDL_memmove, pFppu) -// GO(SDL_MemoryBarrierAcquireFunction, vFv) -// GO(SDL_MemoryBarrierReleaseFunction, vFv) +//GO(SDL_MemoryBarrierAcquireFunction, vFv) +//GO(SDL_MemoryBarrierReleaseFunction, vFv) GO(SDL_memset, pFpiL) -// GO(SDL_MinimizeWindow, vFp) -// GO(SDL_MixAudio, vFppui) +//GO(SDL_MinimizeWindow, vFp) +//GO(SDL_MixAudio, vFppui) GO(SDL_MixAudioFormat, vFppWui) -// GO(SDL_MouseIsHaptic, iFv) +GO(SDL_MouseIsHaptic, iFv) GO(SDL_NewAudioStream, pFWCiWCi) -// GO(SDL_NumHaptics, iFv) +GO(SDL_NumHaptics, iFv) GO(SDL_NumJoysticks, iFv) -// GO(SDL_NumSensors, iFv) +GO(SDL_NumSensors, iFv) GOM(SDL_OpenAudio, iFEpp) GOM(SDL_OpenAudioDevice, uFEpippi) GO(SDL_PauseAudio, vFi) GO(SDL_PauseAudioDevice, vFui) -// GO(SDL_PeepEvents, iFpiuuu) -// GO(SDL_PixelFormatEnumToMasks, uFuppppp) +//GO(SDL_PeepEvents, iFpiuuu) +//GO(SDL_PixelFormatEnumToMasks, uFuppppp) GOM(SDL_PollEvent, iFp) //%noE -// GO(SDL_pow, dFdd) -// GO(SDL_powf, fFff) -// GO(SDL_PumpEvents, vFv) +GO(SDL_pow, dFdd) +GO(SDL_powf, fFff) +GO(SDL_PumpEvents, vFv) GOM(SDL_PushEvent, iFp) //%noE -// GO2(SDL_qsort, vFEpuup, my_qsort) -// GO(SDL_QueryTexture, iFppppp) -// GO(SDL_QueueAudio, iFupu) +//GO2(SDL_qsort, vFEpuup, my_qsort) +//GO(SDL_QueryTexture, iFppppp) +//GO(SDL_QueueAudio, iFupu) GO(SDL_Quit, vFv) GO(SDL_QuitSubSystem, vFu) GO(SDL_RaiseWindow, vFp) -// GOM(SDL_ReadBE16, uFEp) -// GOM(SDL_ReadBE32, uFEp) -// GOM(SDL_ReadBE64, UFEp) -// GOM(SDL_ReadLE16, uFEp) -// GOM(SDL_ReadLE32, uFEp) -// GOM(SDL_ReadLE64, UFEp) -// GOM(SDL_ReadU8, uFEp) +//GOM(SDL_ReadBE16, uFEp) +//GOM(SDL_ReadBE32, uFEp) +//GOM(SDL_ReadBE64, UFEp) +//GOM(SDL_ReadLE16, uFEp) +//GOM(SDL_ReadLE32, uFEp) +//GOM(SDL_ReadLE64, UFEp) +//GOM(SDL_ReadU8, uFEp) GO(SDL_realloc, pFpL) -// GO(SDL_RecordGesture, iFl) -// GO(SDL_RegisterEvents, uFi) -// GOM(SDL_RemoveTimer, iFEp) +//GO(SDL_RecordGesture, iFl) +//GO(SDL_RegisterEvents, uFi) +//GOM(SDL_RemoveTimer, iFEp) GO(SDL_RenderClear, iFp) GO(SDL_RenderCopy, iFpppp) -// GO(SDL_RenderCopyEx, iFppppdpu) +//GO(SDL_RenderCopyEx, iFppppdpu) // SDL_RenderCopyExF // SDL_RenderCopyF -// GO(SDL_RenderDrawLine, iFpiiii) +//GO(SDL_RenderDrawLine, iFpiiii) // SDL_RenderDrawLineF -// GO(SDL_RenderDrawLines, iFppi) +//GO(SDL_RenderDrawLines, iFppi) // SDL_RenderDrawLinesF -// GO(SDL_RenderDrawPoint, iFpii) +//GO(SDL_RenderDrawPoint, iFpii) // SDL_RenderDrawPointF -// GO(SDL_RenderDrawPoints, iFppi) +//GO(SDL_RenderDrawPoints, iFppi) // SDL_RenderDrawPointsF -// GO(SDL_RenderDrawRect, iFpp) +//GO(SDL_RenderDrawRect, iFpp) // SDL_RenderDrawRectF -// GO(SDL_RenderDrawRects, iFppi) +//GO(SDL_RenderDrawRects, iFppi) // SDL_RenderDrawRectsF -// GO(SDL_RenderFillRect, iFpp) +//GO(SDL_RenderFillRect, iFpp) // SDL_RenderFillRectF -// GO(SDL_RenderFillRects, iFppi) +//GO(SDL_RenderFillRects, iFppi) // SDL_RenderFillRectsF // SDL_RenderFlush -// GO(SDL_RenderGetClipRect, vFpp) -// GO(SDL_RenderGetIntegerScale, iFp) -// GO(SDL_RenderGetLogicalSize, vFppp) +//GO(SDL_RenderGetClipRect, vFpp) +//GO(SDL_RenderGetIntegerScale, iFp) +//GO(SDL_RenderGetLogicalSize, vFppp) // SDL_RenderGetMetalCommandEncoder // SDL_RenderGetMetalLayer -// GO(SDL_RenderGetScale, vFppp) -// GO(SDL_RenderGetViewport, vFpp) -// GO(SDL_RenderIsClipEnabled, uFp) +//GO(SDL_RenderGetScale, vFppp) +//GO(SDL_RenderGetViewport, vFpp) +//GO(SDL_RenderIsClipEnabled, uFp) GO(SDL_RenderPresent, vFp) -// GO(SDL_RenderReadPixels, iFppupi) -// GO(SDL_RenderSetClipRect, iFpp) -// GO(SDL_RenderSetIntegerScale, iFpu) +//GO(SDL_RenderReadPixels, iFppupi) +//GO(SDL_RenderSetClipRect, iFpp) +//GO(SDL_RenderSetIntegerScale, iFpu) GO(SDL_RenderSetLogicalSize, iFpii) -// GO(SDL_RenderSetScale, iFpff) -// GO(SDL_RenderSetViewport, iFpp) -// GO(SDL_RenderTargetSupported, iFp) -// GO(SDL_RenderSetVSync, iFpi) -// GO(SDL_RenderWindowToLogical, vFpiipp) -// GO(SDL_ReportAssertion, uFpppi) -// GO(SDL_ResetAssertionReport, vFv) -// GO(SDL_ResetHints, vFv) -// GO(SDL_ResetKeyboard, vFv) -// GO(SDL_RestoreWindow, vFp) -// GOM(SDL_RWFromConstMem, pFEpi) -// GOM(SDL_RWFromFP, pFEpi) +//GO(SDL_RenderSetScale, iFpff) +//GO(SDL_RenderSetViewport, iFpp) +//GO(SDL_RenderTargetSupported, iFp) +//GO(SDL_RenderSetVSync, iFpi) +//GO(SDL_RenderWindowToLogical, vFpiipp) +//GO(SDL_ReportAssertion, uFpppi) +//GO(SDL_ResetAssertionReport, vFv) +//GO(SDL_ResetHints, vFv) +//GO(SDL_ResetKeyboard, vFv) +//GO(SDL_RestoreWindow, vFp) +//GOM(SDL_RWFromConstMem, pFEpi) +//GOM(SDL_RWFromFP, pFEpi) GOM(SDL_RWFromFile, pFEpp) -// GOM(SDL_RWFromMem, pFEpi) -// GOM(SDL_SaveAllDollarTemplates, iFEp) -// GOM(SDL_SaveBMP_RW, iFEppi) -// GOM(SDL_SaveDollarTemplate, iFEip) +//GOM(SDL_RWFromMem, pFEpi) +//GOM(SDL_SaveAllDollarTemplates, iFEp) +//GOM(SDL_SaveBMP_RW, iFEppi) +//GOM(SDL_SaveDollarTemplate, iFEip) GO(SDL_scalbn, dFdi) GO(SDL_scalbnf, fFfi) -// GO(SDL_SemPost, iFp) -// GO(SDL_SemTryWait, iFp) -// GO(SDL_SemValue, uFp) -// GO(SDL_SemWait, iFp) -// GO(SDL_SemWaitTimeout, iFpu) -// GO(SDL_SensorClose, vFp) -// GO(SDL_SensorFromInstanceID, pFi) -// GO(SDL_SensorGetData, iFppi) -// GO(SDL_SensorGetDataWithTimestamp, iFpppi) -// GO(SDL_SensorGetDeviceInstanceID, iFi) -// GO(SDL_SensorGetDeviceName, pFi) -// GO(SDL_SensorGetDeviceNonPortableType, iFi) -// GO(SDL_SensorGetDeviceType, iFi) -// GO(SDL_SensorGetInstanceID, iFp) -// GO(SDL_SensorGetName, pFp) -// GO(SDL_SensorGetNonPortableType, iFp) -// GO(SDL_SensorGetType, iFp) -// GO(SDL_SensorOpen, pFi) -// GO(SDL_SensorUpdate, vFv) +//GO(SDL_SemPost, iFp) +//GO(SDL_SemTryWait, iFp) +//GO(SDL_SemValue, uFp) +//GO(SDL_SemWait, iFp) +//GO(SDL_SemWaitTimeout, iFpu) +//GO(SDL_SensorClose, vFp) +//GO(SDL_SensorFromInstanceID, pFi) +//GO(SDL_SensorGetData, iFppi) +//GO(SDL_SensorGetDataWithTimestamp, iFpppi) +//GO(SDL_SensorGetDeviceInstanceID, iFi) +//GO(SDL_SensorGetDeviceName, pFi) +//GO(SDL_SensorGetDeviceNonPortableType, iFi) +//GO(SDL_SensorGetDeviceType, iFi) +//GO(SDL_SensorGetInstanceID, iFp) +//GO(SDL_SensorGetName, pFp) +//GO(SDL_SensorGetNonPortableType, iFp) +//GO(SDL_SensorGetType, iFp) +//GO(SDL_SensorOpen, pFi) +//GO(SDL_SensorUpdate, vFv) // SDL_SetAssertionHandler GO(SDL_SetClipboardText, iFp) -// GO(SDL_SetClipRect, uFpp) -// GO(SDL_SetColorKey, iFpiu) +//GO(SDL_SetClipRect, uFpp) +//GO(SDL_SetColorKey, iFpiu) GO(SDL_SetCursor, vFp) GO(SDL_setenv, iFppi) GO(SDL_SetError, iFppppp) // it use ..., so putarbitrary 4 args -// GOM(SDL_SetEventFilter, vFEpp) +//GOM(SDL_SetEventFilter, vFEpp) GO(SDL_SetHint, uFpp) -// GO(SDL_SetHintWithPriority, uFppu) +//GO(SDL_SetHintWithPriority, uFppu) GO(SDL_SetMainReady, vFv) -// GOM(SDL_SetMemoryFunctions, +//GOM(SDL_SetMemoryFunctions, GO(SDL_SetModState, vFu) -// GO(SDL_SetPaletteColors, iFppii) +//GO(SDL_SetPaletteColors, iFppii) // SDL_SetPixelFormatPalette -// GO(SDL_SetPrimarySelectionText, iFp) +//GO(SDL_SetPrimarySelectionText, iFp) GO(SDL_SetRelativeMouseMode, iFi) -// GO(SDL_SetRenderDrawBlendMode, iFpu) +//GO(SDL_SetRenderDrawBlendMode, iFpu) GO(SDL_SetRenderDrawColor, iFpCCCC) -// GO(SDL_SetRenderTarget, iFpp) -// GO(SDL_SetSurfaceAlphaMod, iFpC) -// GO(SDL_SetSurfaceBlendMode, iFpu) -// GO(SDL_SetSurfaceColorMod, iFpCCC) +//GO(SDL_SetRenderTarget, iFpp) +//GO(SDL_SetSurfaceAlphaMod, iFpC) +//GO(SDL_SetSurfaceBlendMode, iFpu) +//GO(SDL_SetSurfaceColorMod, iFpCCC) // SDL_SetSurfaceColorMod -// GO(SDL_SetSurfacePalette, iFpp) -// GO(SDL_SetSurfaceRLE, iFpi) -// GO(SDL_SetTextInputRect, vFp) -// GO(SDL_SetTextureAlphaMod, iFpC) -// GO(SDL_SetTextureBlendMode, iFpu) -// GO(SDL_SetTextureColorMod, iFpCCC) -// GO(SDL_SetTextureScaleMode, iFpu) +//GO(SDL_SetSurfacePalette, iFpp) +//GO(SDL_SetSurfaceRLE, iFpi) +//GO(SDL_SetTextInputRect, vFp) +//GO(SDL_SetTextureAlphaMod, iFpC) +//GO(SDL_SetTextureBlendMode, iFpu) +//GO(SDL_SetTextureColorMod, iFpCCC) +//GO(SDL_SetTextureScaleMode, iFpu) GO(SDL_SetThreadPriority, iFu) GO(SDL_SetWindowBordered, vFpi) -// GO(SDL_SetWindowBrightness, iFpf) -// GO(SDL_SetWindowData, pFppp) +//GO(SDL_SetWindowBrightness, iFpf) +GO(SDL_SetWindowData, pFppp) GOM(SDL_SetWindowDisplayMode, iFpp) //%noE GO(SDL_SetWindowFullscreen, iFpu) GO(SDL_SetWindowGammaRamp, iFpppp) @@ -625,33 +625,33 @@ GO(SDL_SetWindowGrab, vFpi) // SDL_SetWindowHitTest GOM(SDL_SetWindowIcon, vFEpp) // SDL_SetWindowInputFocus -// GO(SDL_SetWindowMaximumSize, vFpii) +//GO(SDL_SetWindowMaximumSize, vFpii) GO(SDL_SetWindowMinimumSize, vFpii) // SDL_SetWindowModalFor // SDL_SetWindowOpacity GO(SDL_SetWindowPosition, vFpii) GO(SDL_SetWindowResizable, vFpi) -// GO(SDL_SetWindowShape, iFppp) +//GO(SDL_SetWindowShape, iFppp) GO(SDL_SetWindowSize, vFpii) GO(SDL_SetWindowTitle, vFpp) // SDL_SetYUVConversionMode GO(SDL_ShowCursor, iFi) -// GO(SDL_ShowMessageBox, iFpp) -// GO(SDL_ShowSimpleMessageBox, iFuppp) +//GO(SDL_ShowMessageBox, iFpp) +//GO(SDL_ShowSimpleMessageBox, iFuppp) GO(SDL_ShowWindow, vFp) -// GO(SDL_SIMDAlloc, pFL) -// GO(SDL_SIMDGetAlignment, LFv) -// GO(SDL_SIMDRealloc, pFpL) -// GO(SDL_SIMDFree, vFp) +//GO(SDL_SIMDAlloc, pFL) +//GO(SDL_SIMDGetAlignment, LFv) +//GO(SDL_SIMDRealloc, pFpL) +//GO(SDL_SIMDFree, vFp) GO(SDL_sin, dFd) GO(SDL_sinf, fFf) GOM(SDL_snprintf, iFEpLpV) -// GO(SDL_SoftStretch, iFpppp) +//GO(SDL_SoftStretch, iFpppp) GO(SDL_sqrt, dFd) GO(SDL_sqrtf, fFf) GO2(SDL_sscanf, iFEppV, my_sscanf) -// GO(SDL_StartTextInput, vFv) -// GO(SDL_StopTextInput, vFv) +//GO(SDL_StartTextInput, vFv) +//GO(SDL_StopTextInput, vFv) GO(SDL_strcasecmp, iFpp) GO(SDL_strchr, pFpi) GO(SDL_strcmp, iFpp) @@ -673,46 +673,46 @@ GO(SDL_strtoull, LFppi) GO(SDL_strupr, pFp) GO(SDL_tan, dFd) GO(SDL_tanf, fFf) -// GO(SDL_ThreadID, LFv) -// GO(SDL_TLSCreate, uFv) -// GO(SDL_TLSGet, pFu) -// GOM(SDL_TLSSet, iFEupp) +//GO(SDL_ThreadID, LFv) +//GO(SDL_TLSCreate, uFv) +//GO(SDL_TLSGet, pFu) +//GOM(SDL_TLSSet, iFEupp) GO(SDL_tolower, iFi) GO(SDL_toupper, iFi) -// GO(SDL_TryLockMutex, iFp) +//GO(SDL_TryLockMutex, iFp) GO(SDL_uitoa, pFupi) GO(SDL_ulltoa, pFLpi) GO(SDL_ultoa, pFLpi) -// GO(SDL_UnionRect, vFppp) -// GOM(SDL_UnloadObject, vFEp) +//GO(SDL_UnionRect, vFppp) +//GOM(SDL_UnloadObject, vFEp) GO(SDL_UnlockAudio, vFv) GO(SDL_UnlockAudioDevice, vFi) -// GO(SDL_UnlockJoysticks, vFv) +//GO(SDL_UnlockJoysticks, vFv) GO(SDL_UnlockMutex, iFp) -// GO(SDL_UnlockSensors, vFv) -// GO(SDL_UnlockSurface, vFp) -// GO(SDL_UnlockTexture, vFp) +//GO(SDL_UnlockSensors, vFv) +//GO(SDL_UnlockSurface, vFp) +//GO(SDL_UnlockTexture, vFp) GO(SDL_UpdateTexture, iFpppi) -// GO(SDL_UpdateWindowSurface, iFp) -// GO(SDL_UpdateWindowSurfaceRects, iFppi) -// GO(SDL_UpdateYUVTexture, iFpppipipi) -// GO(SDL_UpperBlit, iFpppp) -// GO(SDL_UpperBlitScaled, iFpppp) -// GO(SDL_utf8strlcpy, uFppu) +//GO(SDL_UpdateWindowSurface, iFp) +//GO(SDL_UpdateWindowSurfaceRects, iFppi) +//GO(SDL_UpdateYUVTexture, iFpppipipi) +//GO(SDL_UpperBlit, iFpppp) +//GO(SDL_UpperBlitScaled, iFpppp) +//GO(SDL_utf8strlcpy, uFppu) // SDL_utf8strlen -// GO(SDL_VideoInit, iFp) -// GO(SDL_VideoQuit, vFv) +//GO(SDL_VideoInit, iFp) +//GO(SDL_VideoQuit, vFv) GOM(SDL_vsnprintf, iFEpLpp) // SDL_vsscanf -// GO(SDL_Vulkan_CreateSurface, iFppp) -// GO(SDL_Vulkan_GetDrawableSize, vFppp) -// GO(SDL_Vulkan_GetInstanceExtensions, iFppp) -// GOM(SDL_Vulkan_GetVkGetInstanceProcAddr, pFEv) -// GO(SDL_Vulkan_LoadLibrary, iFp) //TODO: wrap to also call my_dlopen with path? -// GO(SDL_Vulkan_UnloadLibrary, vFv) -// GO(SDL_WaitEvent, iFp) +//GO(SDL_Vulkan_CreateSurface, iFppp) +//GO(SDL_Vulkan_GetDrawableSize, vFppp) +//GO(SDL_Vulkan_GetInstanceExtensions, iFppp) +//GOM(SDL_Vulkan_GetVkGetInstanceProcAddr, pFEv) +//GO(SDL_Vulkan_LoadLibrary, iFp) //TODO: wrap to also call my_dlopen with path? +//GO(SDL_Vulkan_UnloadLibrary, vFv) +//GO(SDL_WaitEvent, iFp) GOM(SDL_WaitEventTimeout, iFpi) //%noE -// GO(SDL_WaitThread, vFpp) +//GO(SDL_WaitThread, vFpp) GO(SDL_WarpMouseGlobal, iFii) GO(SDL_WarpMouseInWindow, vFpii) GO(SDL_WasInit, uFu) @@ -720,14 +720,14 @@ GO(SDL_WasInit, uFu) // SDL_wcsdup // SDL_wcslcat // SDL_wcslcpy -// GO(SDL_wcslen, LFp) -// GOM(SDL_WriteBE16, uFEpW) -// GOM(SDL_WriteBE32, uFEpu) -// GOM(SDL_WriteBE64, uFEpU) -// GOM(SDL_WriteLE16, uFEpW) -// GOM(SDL_WriteLE32, uFEpu) -// GOM(SDL_WriteLE64, uFEpU) -// GOM(SDL_WriteU8, uFEpu) +//GO(SDL_wcslen, LFp) +//GOM(SDL_WriteBE16, uFEpW) +//GOM(SDL_WriteBE32, uFEpu) +//GOM(SDL_WriteBE64, uFEpU) +//GOM(SDL_WriteLE16, uFEpW) +//GOM(SDL_WriteLE32, uFEpu) +//GOM(SDL_WriteLE64, uFEpU) +//GOM(SDL_WriteU8, uFEpu) GOM(SDL_RWseek, IFEpIi) GOM(SDL_RWtell, IFEp) @@ -736,15 +736,15 @@ GOM(SDL_RWread, LFEppLL) GOM(SDL_RWwrite, LFEppLL) GOM(SDL_RWclose, iFEp) -// GO2(SDL_mutexP, iFp, SDL_LockMutex) -// GO2(SDL_mutexV, iFp, SDL_UnlockMutex) +//GO2(SDL_mutexP, iFp, SDL_LockMutex) +//GO2(SDL_mutexV, iFp, SDL_UnlockMutex) GO(SDL_doesntexist, IFpIi) GOM(SDL_notreal, pFEpi) -// GOM(SDL_IsJoystickPS4, iFEWW) -// GOM(SDL_IsJoystickNintendoSwitchPro, iFEWW) -// GOM(SDL_IsJoystickSteamController, iFEWW) -// GOM(SDL_IsJoystickXbox360, iFEWW) -// GOM(SDL_IsJoystickXboxOne, iFEWW) -// GOM(SDL_IsJoystickXInput, iFEUU) -// GOM(SDL_IsJoystickHIDAPI, iFEUU) +//GOM(SDL_IsJoystickPS4, iFEWW) +//GOM(SDL_IsJoystickNintendoSwitchPro, iFEWW) +//GOM(SDL_IsJoystickSteamController, iFEWW) +//GOM(SDL_IsJoystickXbox360, iFEWW) +//GOM(SDL_IsJoystickXboxOne, iFEWW) +//GOM(SDL_IsJoystickXInput, iFEUU) +//GOM(SDL_IsJoystickHIDAPI, iFEUU) diff --git a/src/wrapped32/wrappedsdl2image.c b/src/wrapped32/wrappedsdl2image.c index 29daec70..863618dd 100644 --- a/src/wrapped32/wrappedsdl2image.c +++ b/src/wrapped32/wrappedsdl2image.c @@ -53,7 +53,14 @@ GO(IMG_LoadXPM_RW) GO(IMG_LoadXV_RW) #undef GO - EXPORT void *my32_2_IMG_LoadTyped_RW(x64emu_t* emu, void* a, int32_t b, void* c) +EXPORT void *my32_2_IMG_Load(x64emu_t* emu, void* path) +{ + void* r = my->IMG_Load(path); + inplace_SDL2_Surface_to_32(r); + return r; +} + +EXPORT void *my32_2_IMG_LoadTyped_RW(x64emu_t* emu, void* a, int32_t b, void* c) { inplace_SDL2_RWops_to_64(a); SDL2_RWops_t *rw = RWNativeStart2(emu, (SDL2_RWops_t*)a); diff --git a/src/wrapped32/wrappedsdl2image_private.h b/src/wrapped32/wrappedsdl2image_private.h index 5e7dd7a2..e826c42b 100644 --- a/src/wrapped32/wrappedsdl2image_private.h +++ b/src/wrapped32/wrappedsdl2image_private.h @@ -6,7 +6,7 @@ GO(IMG_Init,iFi) GO(IMG_InvertAlpha,iFi) GO(IMG_Linked_Version,pFv) -//GO(IMG_Load,pFp) +GOM(IMG_Load,pFEp) GOM(IMG_LoadBMP_RW,pFEp) GOM(IMG_LoadCUR_RW,pFEp) GOM(IMG_LoadGIF_RW,pFEp) |