diff options
Diffstat (limited to 'patches')
-rw-r--r-- | patches/sdl2-2.0.12.local.patch (renamed from patches/sdl2-2.0.8.local.patch) | 0 | ||||
-rw-r--r-- | patches/sdl2-2.0.12_pre.local.patch (renamed from patches/sdl2-2.0.8_pre.local.patch) | 79 | ||||
-rw-r--r-- | patches/sdl2/alignment.patch | 18 | ||||
-rw-r--r-- | patches/sdl2/dynapi.patch | 85 | ||||
-rw-r--r-- | patches/sdl2/iconv.patch | 10 | ||||
-rw-r--r-- | patches/sdl2/u16.patch | 112 | ||||
-rw-r--r-- | patches/sdl2/wchar.patch | 40 | ||||
-rw-r--r-- | patches/sdl2/win32.patch | 15 |
8 files changed, 227 insertions, 132 deletions
diff --git a/patches/sdl2-2.0.8.local.patch b/patches/sdl2-2.0.12.local.patch index cb64946a..cb64946a 100644 --- a/patches/sdl2-2.0.8.local.patch +++ b/patches/sdl2-2.0.12.local.patch diff --git a/patches/sdl2-2.0.8_pre.local.patch b/patches/sdl2-2.0.12_pre.local.patch index 5e870924..47caeaf3 100644 --- a/patches/sdl2-2.0.8_pre.local.patch +++ b/patches/sdl2-2.0.12_pre.local.patch @@ -1,14 +1,50 @@ +diff -ru SDL2-2.0.12.orig/configure.ac SDL2-2.0.12/configure.ac +--- SDL2-2.0.12.orig/configure.ac 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/configure.ac 2020-10-07 12:42:16.906014070 +0200 +@@ -1332,7 +1332,7 @@ + CFLAGS="$save_CFLAGS" + + if test x$have_arm_simd = xyes; then +- AC_DEFINE(SDL_ARM_SIMD_BLITTERS) ++ AC_DEFINE([SDL_ARM_SIMD_BLITTERS], [1], [ ]) + dnl SOURCES="$SOURCES $srcdir/src/video/arm/pixman-arm-simd*.c" + SOURCES="$SOURCES $srcdir/src/video/arm/pixman-arm-simd*.S" + WARN_ABOUT_ARM_SIMD_ASM_MIT="yes" +@@ -1371,7 +1371,7 @@ + CFLAGS="$save_CFLAGS" + + if test x$have_arm_neon = xyes; then +- AC_DEFINE(SDL_ARM_NEON_BLITTERS) ++ AC_DEFINE([SDL_ARM_NEON_BLITTERS], [1], [ ]) + dnl SOURCES="$SOURCES $srcdir/src/video/arm/pixman-arm-neon*.c" + SOURCES="$SOURCES $srcdir/src/video/arm/pixman-arm-neon*.S" + WARN_ABOUT_ARM_NEON_ASM_MIT="yes" +@@ -1927,7 +1927,7 @@ + XITouchClassInfo *t; + ],[ + have_xinput2_multitouch=yes +- AC_DEFINE([SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH], 1, []) ++ AC_DEFINE([SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH], [1], [ ]) + SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch" + ]) + AC_MSG_RESULT($have_xinput2_multitouch) +@@ -3094,11 +3094,11 @@ + + AC_CHECK_HEADER(mmdeviceapi.h, have_wasapi=yes) + if test x$have_wasapi = xyes; then +- AC_DEFINE(HAVE_MMDEVICEAPI_H,1,[]) ++ AC_DEFINE([HAVE_MMDEVICEAPI_H], [1], [ ]) + fi + AC_CHECK_HEADER(audioclient.h,,have_wasapi=no) + if test x$have_wasapi = xyes; then +- AC_DEFINE(HAVE_AUDIOCLIENT_H,1,[]) ++ AC_DEFINE([HAVE_AUDIOCLIENT_H], [1], [ ]) + fi + + AC_ARG_ENABLE(wasapi, diff -ru SDL2-2.0.8.orig/configure.in SDL2-2.0.8/configure.in --- SDL2-2.0.8.orig/configure.in 2018-03-01 17:34:41.000000000 +0100 -+++ SDL2-2.0.8/configure.in 2020-09-27 15:02:24.837099348 +0200 -@@ -1868,7 +1868,6 @@ - XITouchClassInfo *t; - ],[ - have_xinput2_multitouch=yes -- AC_DEFINE([SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH], 1, []) - SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch" - ]) - AC_MSG_RESULT($have_xinput2_multitouch) ++++ SDL2-2.0.8/configure.ac 2020-09-27 15:02:24.837099348 +0200 @@ -2770,6 +2769,10 @@ pthread_cflags="-D_REENTRANT" pthread_lib="-lpthread" @@ -88,31 +124,6 @@ diff -ru SDL2-2.0.8.orig/configure.in SDL2-2.0.8/configure.in *-*-cygwin* | *-*-mingw32*) ARCH=win32 if test "$build" != "$host"; then # cross-compiling -diff -ru SDL2-2.0.8.orig/Makefile.in SDL2-2.0.8/Makefile.in ---- SDL2-2.0.8.orig/Makefile.in 2018-03-01 17:34:41.000000000 +0100 -+++ SDL2-2.0.8/Makefile.in 2020-09-27 14:14:34.616542401 +0200 -@@ -124,7 +124,7 @@ - LT_REVISION = @LT_REVISION@ - LT_LDFLAGS = -no-undefined -rpath $(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) - --all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET) -+all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) - - $(srcdir)/configure: $(srcdir)/configure.in - @echo "Warning, configure is out of date, please re-run autogen.sh" -@@ -167,11 +167,10 @@ - $(INSTALL) -m 644 $(srcdir)/include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \ - fi - --install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET) -+install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir) - $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET) - $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) -- $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLTEST_TARGET) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET) - install-data: - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal - $(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4 diff -ru SDL2-2.0.8.orig/src/dynapi/SDL_dynapi.c SDL2-2.0.8/src/dynapi/SDL_dynapi.c --- SDL2-2.0.8.orig/src/dynapi/SDL_dynapi.c 2018-03-01 17:34:42.000000000 +0100 +++ SDL2-2.0.8/src/dynapi/SDL_dynapi.c 2020-09-27 14:14:34.616542401 +0200 diff --git a/patches/sdl2/alignment.patch b/patches/sdl2/alignment.patch new file mode 100644 index 00000000..091928d1 --- /dev/null +++ b/patches/sdl2/alignment.patch @@ -0,0 +1,18 @@ +diff -ru SDL2-2.0.12.orig/src/video/windows/SDL_windowstaskdialog.h SDL2-2.0.12/src/video/windows/SDL_windowstaskdialog.h +--- SDL2-2.0.12.orig/src/video/windows/SDL_windowstaskdialog.h 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/src/video/windows/SDL_windowstaskdialog.h 2020-10-07 13:45:15.231259024 +0200 +@@ -18,7 +18,7 @@ + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + */ +-#include <pshpack1.h> ++#pragma pack(push,1) + + typedef HRESULT(CALLBACK *PFTASKDIALOGCALLBACK)(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, LONG_PTR lpRefData); + +@@ -153,4 +153,4 @@ + UINT cxWidth; // width of the Task Dialog's client area in DLU's. If 0, Task Dialog will calculate the ideal width. + } TASKDIALOGCONFIG; + +-#include <poppack.h> ++#pragma pack(pop) diff --git a/patches/sdl2/dynapi.patch b/patches/sdl2/dynapi.patch new file mode 100644 index 00000000..b2f175b8 --- /dev/null +++ b/patches/sdl2/dynapi.patch @@ -0,0 +1,85 @@ +diff -ru SDL2-2.0.12.orig/include/SDL_stdinc.h SDL2-2.0.12/include/SDL_stdinc.h +--- SDL2-2.0.12.orig/include/SDL_stdinc.h 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/include/SDL_stdinc.h 2020-10-07 12:59:08.970629028 +0200 +@@ -455,6 +455,16 @@ + extern DECLSPEC void *SDLCALL SDL_memmove(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void *src, size_t len); + extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, size_t len); + ++#ifdef __midipix__ ++extern DECLSPEC size_t SDLCALL SDL_wcslen(const uint16_t *wstr); ++extern DECLSPEC size_t SDLCALL SDL_wcslcpy(SDL_OUT_Z_CAP(maxlen) uint16_t *dst, const uint16_t *src, size_t maxlen); ++extern DECLSPEC size_t SDLCALL SDL_wcslcat(SDL_INOUT_Z_CAP(maxlen) uint16_t *dst, const uint16_t *src, size_t maxlen); ++extern DECLSPEC uint16_t *SDLCALL SDL_wcsdup(const uint16_t *wstr); ++extern DECLSPEC uint16_t *SDLCALL SDL_wcsstr(const uint16_t *haystack, const uint16_t *needle); ++ ++extern DECLSPEC int SDLCALL SDL_wcscmp(const uint16_t *str1, const uint16_t *str2); ++extern DECLSPEC int SDLCALL SDL_wcsncmp(const uint16_t *str1, const uint16_t *str2, size_t maxlen); ++#else + extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t *wstr); + extern DECLSPEC size_t SDLCALL SDL_wcslcpy(SDL_OUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen); + extern DECLSPEC size_t SDLCALL SDL_wcslcat(SDL_INOUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen); +@@ -463,6 +473,7 @@ + + extern DECLSPEC int SDLCALL SDL_wcscmp(const wchar_t *str1, const wchar_t *str2); + extern DECLSPEC int SDLCALL SDL_wcsncmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen); ++#endif + + extern DECLSPEC size_t SDLCALL SDL_strlen(const char *str); + extern DECLSPEC size_t SDLCALL SDL_strlcpy(SDL_OUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen); +diff -ru SDL2-2.0.12.orig/src/dynapi/SDL_dynapi_procs.h SDL2-2.0.12/src/dynapi/SDL_dynapi_procs.h +--- SDL2-2.0.12.orig/src/dynapi/SDL_dynapi_procs.h 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/src/dynapi/SDL_dynapi_procs.h 2020-10-07 13:19:40.863706330 +0200 +@@ -418,9 +418,15 @@ + SDL_DYNAPI_PROC(void*,SDL_memcpy,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return) + SDL_DYNAPI_PROC(void*,SDL_memmove,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return) + SDL_DYNAPI_PROC(int,SDL_memcmp,(const void *a, const void *b, size_t c),(a,b,c),return) ++#ifdef __midipix__ ++SDL_DYNAPI_PROC(size_t,SDL_wcslen,(const uint16_t *a),(a),return) ++SDL_DYNAPI_PROC(size_t,SDL_wcslcpy,(SDL_OUT_Z_CAP(c) uint16_t *a, const uint16_t *b, size_t c),(a,b,c),return) ++SDL_DYNAPI_PROC(size_t,SDL_wcslcat,(SDL_INOUT_Z_CAP(c) uint16_t *a, const uint16_t *b, size_t c),(a,b,c),return) ++#else + SDL_DYNAPI_PROC(size_t,SDL_wcslen,(const wchar_t *a),(a),return) + SDL_DYNAPI_PROC(size_t,SDL_wcslcpy,(SDL_OUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return) + SDL_DYNAPI_PROC(size_t,SDL_wcslcat,(SDL_INOUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return) ++#endif + SDL_DYNAPI_PROC(size_t,SDL_strlen,(const char *a),(a),return) + SDL_DYNAPI_PROC(size_t,SDL_strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return) + SDL_DYNAPI_PROC(size_t,SDL_utf8strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return) +@@ -660,7 +666,11 @@ + SDL_DYNAPI_PROC(SDL_JoystickID,SDL_JoystickGetDeviceInstanceID,(int a),(a),return) + SDL_DYNAPI_PROC(size_t,SDL_utf8strlen,(const char *a),(a),return) + SDL_DYNAPI_PROC(void*,SDL_LoadFile_RW,(SDL_RWops *a, size_t *b, int c),(a,b,c),return) ++#ifdef __midipix__ ++SDL_DYNAPI_PROC(int,SDL_wcscmp,(const uint16_t *a, const uint16_t *b),(a,b),return) ++#else + SDL_DYNAPI_PROC(int,SDL_wcscmp,(const wchar_t *a, const wchar_t *b),(a,b),return) ++#endif + SDL_DYNAPI_PROC(SDL_BlendMode,SDL_ComposeCustomBlendMode,(SDL_BlendFactor a, SDL_BlendFactor b, SDL_BlendOperation c, SDL_BlendFactor d, SDL_BlendFactor e, SDL_BlendOperation f),(a,b,c,d,e,f),return) + SDL_DYNAPI_PROC(SDL_Surface*,SDL_DuplicateSurface,(SDL_Surface *a),(a),return) + SDL_DYNAPI_PROC(int,SDL_Vulkan_LoadLibrary,(const char *a),(a),return) +@@ -719,7 +729,11 @@ + #endif + SDL_DYNAPI_PROC(double,SDL_exp,(double a),(a),return) + SDL_DYNAPI_PROC(float,SDL_expf,(float a),(a),return) ++#ifdef __midipix__ ++SDL_DYNAPI_PROC(uint16_t*,SDL_wcsdup,(const uint16_t *a),(a),return) ++#else + SDL_DYNAPI_PROC(wchar_t*,SDL_wcsdup,(const wchar_t *a),(a),return) ++#endif + SDL_DYNAPI_PROC(int,SDL_GameControllerRumble,(SDL_GameController *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return) + SDL_DYNAPI_PROC(int,SDL_JoystickRumble,(SDL_Joystick *a, Uint16 b, Uint16 c, Uint32 d),(a,b,c,d),return) + SDL_DYNAPI_PROC(int,SDL_NumSensors,(void),(),return) +@@ -785,8 +799,13 @@ + SDL_DYNAPI_PROC(int,SDL_LockTextureToSurface,(SDL_Texture *a, const SDL_Rect *b, SDL_Surface **c),(a,b,c),return) + SDL_DYNAPI_PROC(SDL_bool,SDL_HasARMSIMD,(void),(),return) + SDL_DYNAPI_PROC(char*,SDL_strtokr,(char *a, const char *b, char **c),(a,b,c),return) ++#ifdef __midipix__ ++SDL_DYNAPI_PROC(uint16_t*,SDL_wcsstr,(const uint16_t *a, const uint16_t *b),(a,b),return) ++SDL_DYNAPI_PROC(int,SDL_wcsncmp,(const uint16_t *a, const uint16_t *b, size_t c),(a,b,c),return) ++#else + SDL_DYNAPI_PROC(wchar_t*,SDL_wcsstr,(const wchar_t *a, const wchar_t *b),(a,b),return) + SDL_DYNAPI_PROC(int,SDL_wcsncmp,(const wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return) ++#endif + SDL_DYNAPI_PROC(SDL_GameControllerType,SDL_GameControllerTypeForIndex,(int a),(a),return) + SDL_DYNAPI_PROC(SDL_GameControllerType,SDL_GameControllerGetType,(SDL_GameController *a),(a),return) + SDL_DYNAPI_PROC(SDL_GameController*,SDL_GameControllerFromPlayerIndex,(int a),(a),return) diff --git a/patches/sdl2/iconv.patch b/patches/sdl2/iconv.patch index 64008c8a..3163ed38 100644 --- a/patches/sdl2/iconv.patch +++ b/patches/sdl2/iconv.patch @@ -1,12 +1,12 @@ -diff -ru SDL2-2.0.8.orig/src/stdlib/SDL_iconv.c SDL2-2.0.8/src/stdlib/SDL_iconv.c ---- SDL2-2.0.8.orig/src/stdlib/SDL_iconv.c 2018-03-01 17:34:42.000000000 +0100 -+++ SDL2-2.0.8/src/stdlib/SDL_iconv.c 2020-10-05 12:56:24.565427760 +0200 +diff -ru SDL2-2.0.12.orig/src/stdlib/SDL_iconv.c SDL2-2.0.12/src/stdlib/SDL_iconv.c +--- SDL2-2.0.12.orig/src/stdlib/SDL_iconv.c 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/src/stdlib/SDL_iconv.c 2020-10-07 12:52:35.217963940 +0200 @@ -37,7 +37,7 @@ iconv() may or may not use const char ** for the inbuf param. If we get this wrong, it's just a warning, so no big deal. */ --#if defined(_XGP6) || defined(__APPLE__) || \ -+#if defined(_XGP6) || defined(__APPLE__) || defined(__midipix__) || \ +-#if defined(_XGP6) || defined(__APPLE__) || defined(__RISCOS__) || \ ++#if defined(_XGP6) || defined(__APPLE__) || defined(__RISCOS__) || defined(__midipix__) || \ defined(__EMSCRIPTEN__) || \ (defined(__GLIBC__) && ((__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) || \ (defined(_NEWLIB_VERSION))) diff --git a/patches/sdl2/u16.patch b/patches/sdl2/u16.patch index d282e5e7..0a8966b4 100644 --- a/patches/sdl2/u16.patch +++ b/patches/sdl2/u16.patch @@ -1,59 +1,23 @@ -diff -ru SDL2-2.0.8.orig/include/SDL_stdinc.h SDL2-2.0.8/include/SDL_stdinc.h ---- SDL2-2.0.8.orig/include/SDL_stdinc.h 2018-03-01 17:34:41.000000000 +0100 -+++ SDL2-2.0.8/include/SDL_stdinc.h 2020-10-05 12:29:51.927442178 +0200 -@@ -451,10 +451,17 @@ - extern DECLSPEC void *SDLCALL SDL_memmove(SDL_OUT_BYTECAP(len) void *dst, SDL_IN_BYTECAP(len) const void *src, size_t len); - extern DECLSPEC int SDLCALL SDL_memcmp(const void *s1, const void *s2, size_t len); - -+#ifdef __midipix__ -+extern DECLSPEC size_t SDLCALL SDL_wcslen(const uint16_t *wstr); -+extern DECLSPEC size_t SDLCALL SDL_wcslcpy(SDL_OUT_Z_CAP(maxlen) uint16_t *dst, const uint16_t *src, size_t maxlen); -+extern DECLSPEC size_t SDLCALL SDL_wcslcat(SDL_INOUT_Z_CAP(maxlen) uint16_t *dst, const uint16_t *src, size_t maxlen); -+extern DECLSPEC int SDLCALL SDL_wcscmp(const uint16_t *str, const uint16_t *str2); -+#else - extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t *wstr); - extern DECLSPEC size_t SDLCALL SDL_wcslcpy(SDL_OUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen); - extern DECLSPEC size_t SDLCALL SDL_wcslcat(SDL_INOUT_Z_CAP(maxlen) wchar_t *dst, const wchar_t *src, size_t maxlen); - extern DECLSPEC int SDLCALL SDL_wcscmp(const wchar_t *str1, const wchar_t *str2); -+#endif /* !__midipix__ */ - - extern DECLSPEC size_t SDLCALL SDL_strlen(const char *str); - extern DECLSPEC size_t SDLCALL SDL_strlcpy(SDL_OUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen); -diff -ru SDL2-2.0.8.orig/src/dynapi/SDL_dynapi_procs.h SDL2-2.0.8/src/dynapi/SDL_dynapi_procs.h ---- SDL2-2.0.8.orig/src/dynapi/SDL_dynapi_procs.h 2018-03-01 17:34:42.000000000 +0100 -+++ SDL2-2.0.8/src/dynapi/SDL_dynapi_procs.h 2020-10-05 12:41:07.154180772 +0200 -@@ -418,9 +418,15 @@ - SDL_DYNAPI_PROC(void*,SDL_memcpy,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return) - SDL_DYNAPI_PROC(void*,SDL_memmove,(SDL_OUT_BYTECAP(c) void *a, SDL_IN_BYTECAP(c) const void *b, size_t c),(a,b,c),return) - SDL_DYNAPI_PROC(int,SDL_memcmp,(const void *a, const void *b, size_t c),(a,b,c),return) -+#ifdef __midipix__ -+SDL_DYNAPI_PROC(size_t,SDL_wcslen,(const uint16_t *a),(a),return) -+SDL_DYNAPI_PROC(size_t,SDL_wcslcpy,(SDL_OUT_Z_CAP(c) uint16_t *a, const uint16_t *b, size_t c),(a,b,c),return) -+SDL_DYNAPI_PROC(size_t,SDL_wcslcat,(SDL_INOUT_Z_CAP(c) uint16_t *a, const uint16_t *b, size_t c),(a,b,c),return) -+#else - SDL_DYNAPI_PROC(size_t,SDL_wcslen,(const wchar_t *a),(a),return) - SDL_DYNAPI_PROC(size_t,SDL_wcslcpy,(SDL_OUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return) - SDL_DYNAPI_PROC(size_t,SDL_wcslcat,(SDL_INOUT_Z_CAP(c) wchar_t *a, const wchar_t *b, size_t c),(a,b,c),return) -+#endif - SDL_DYNAPI_PROC(size_t,SDL_strlen,(const char *a),(a),return) - SDL_DYNAPI_PROC(size_t,SDL_strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return) - SDL_DYNAPI_PROC(size_t,SDL_utf8strlcpy,(SDL_OUT_Z_CAP(c) char *a, const char *b, size_t c),(a,b,c),return) -@@ -660,7 +666,11 @@ - SDL_DYNAPI_PROC(SDL_JoystickID,SDL_JoystickGetDeviceInstanceID,(int a),(a),return) - SDL_DYNAPI_PROC(size_t,SDL_utf8strlen,(const char *a),(a),return) - SDL_DYNAPI_PROC(void*,SDL_LoadFile_RW,(SDL_RWops *a, size_t *b, int c),(a,b,c),return) +diff -ru SDL2-2.0.8.orig/src/video/windows/SDL_windowsmessagebox.c SDL2-2.0.8/src/video/windows/SDL_windowsmessagebox.c +--- SDL2-2.0.8.orig/src/video/windows/SDL_windowsmessagebox.c 2018-03-01 17:34:42.000000000 +0100 ++++ SDL2-2.0.8/src/video/windows/SDL_windowsmessagebox.c 2020-10-05 12:51:31.389436939 +0200 +@@ -350,7 +350,11 @@ + HFONT DialogFont; + SIZE Size; + RECT TextSize; +#ifdef __midipix__ -+SDL_DYNAPI_PROC(int,SDL_wcscmp,(const uint16_t *a, const uint16_t *b),(a,b),return) ++ uint16_t *wmessage; +#else - SDL_DYNAPI_PROC(int,SDL_wcscmp,(const wchar_t *a, const wchar_t *b),(a,b),return) + wchar_t* wmessage; +#endif - SDL_DYNAPI_PROC(SDL_BlendMode,SDL_ComposeCustomBlendMode,(SDL_BlendFactor a, SDL_BlendFactor b, SDL_BlendOperation c, SDL_BlendFactor d, SDL_BlendFactor e, SDL_BlendOperation f),(a,b,c,d,e,f),return) - SDL_DYNAPI_PROC(SDL_Surface*,SDL_DuplicateSurface,(SDL_Surface *a),(a),return) - SDL_DYNAPI_PROC(int,SDL_Vulkan_LoadLibrary,(const char *a),(a),return) -diff -ru SDL2-2.0.8.orig/src/stdlib/SDL_string.c SDL2-2.0.8/src/stdlib/SDL_string.c ---- SDL2-2.0.8.orig/src/stdlib/SDL_string.c 2018-03-01 17:34:42.000000000 +0100 -+++ SDL2-2.0.8/src/stdlib/SDL_string.c 2020-10-05 12:29:39.691442561 +0200 -@@ -416,6 +416,44 @@ + TEXTMETRIC TM; + + HWND ParentWindow = NULL; + +diff -ru SDL2-2.0.12.orig/src/stdlib/SDL_string.c SDL2-2.0.12/src/stdlib/SDL_string.c +--- SDL2-2.0.12.orig/src/stdlib/SDL_string.c 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/src/stdlib/SDL_string.c 2020-10-07 13:40:28.237747292 +0200 +@@ -421,6 +421,63 @@ #endif /* HAVE_STRLEN */ } @@ -89,35 +53,39 @@ diff -ru SDL2-2.0.8.orig/src/stdlib/SDL_string.c SDL2-2.0.8/src/stdlib/SDL_strin + return dstlen + srclen; +} + ++uint16_t * ++SDL_wcsdup(const uint16_t *string) ++{ ++ return u16_wcsdup(string); ++} ++ ++uint16_t * ++SDL_wcsstr(const uint16_t *haystack, const uint16_t *needle) ++{ ++ return SDL_const_cast(uint16_t*,u16_wcsstr(haystack, needle)); ++} ++ +int +SDL_wcscmp(const uint16_t *str1, const uint16_t *str2) +{ + return u16_wcscmp(str1, str2); +} -+#else ++ ++int ++SDL_wcsncmp(const uint16_t *str1, const uint16_t *str2, size_t maxlen) ++{ ++ return u16_wcsncmp(str1, str2, maxlen); ++} ++ ++#else /* !__MIDIPIX__ */ size_t SDL_wcslen(const wchar_t * string) { -@@ -476,6 +514,7 @@ +@@ -525,6 +582,7 @@ return (int)(*str1 - *str2); - #endif /* HAVE_WCSCMP */ + #endif /* HAVE_WCSNCMP */ } -+#endif /* !__midipix__ */ ++#endif /* !__MIDIPIX__ */ size_t SDL_strlcpy(SDL_OUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen) -diff -ru SDL2-2.0.8.orig/src/video/windows/SDL_windowsmessagebox.c SDL2-2.0.8/src/video/windows/SDL_windowsmessagebox.c ---- SDL2-2.0.8.orig/src/video/windows/SDL_windowsmessagebox.c 2018-03-01 17:34:42.000000000 +0100 -+++ SDL2-2.0.8/src/video/windows/SDL_windowsmessagebox.c 2020-10-05 12:51:31.389436939 +0200 -@@ -350,7 +350,11 @@ - HFONT DialogFont; - SIZE Size; - RECT TextSize; -+#ifdef __midipix__ -+ uint16_t *wmessage; -+#else - wchar_t* wmessage; -+#endif - TEXTMETRIC TM; - - HWND ParentWindow = NULL; diff --git a/patches/sdl2/wchar.patch b/patches/sdl2/wchar.patch index ea5a7dfb..8513c88e 100644 --- a/patches/sdl2/wchar.patch +++ b/patches/sdl2/wchar.patch @@ -1,26 +1,24 @@ -diff -ru SDL2-2.0.8.orig/src/video/windows/SDL_windowsevents.c SDL2-2.0.8/src/video/windows/SDL_windowsevents.c ---- SDL2-2.0.8.orig/src/video/windows/SDL_windowsevents.c 2018-03-01 17:34:42.000000000 +0100 -+++ SDL2-2.0.8/src/video/windows/SDL_windowsevents.c 2020-10-05 13:11:43.595494306 +0200 -@@ -47,6 +47,10 @@ - #include "wmmsg.h" - #endif - -+#ifdef __midipix__ -+#define sdl_window_data (uint16_t[]){'S','D','L','_','W','i','n','d','o','w','D','a','t','a',0} -+#endif -+ - /* For processing mouse WM_*BUTTON* and WM_MOUSEMOVE message-data from GetMessageExtraInfo() */ - #define MOUSEEVENTF_FROMTOUCH 0xFF515700 - -@@ -384,7 +388,11 @@ +diff -ru SDL2-2.0.12.orig/src/video/windows/SDL_windowsmessagebox.c SDL2-2.0.12/src/video/windows/SDL_windowsmessagebox.c +--- SDL2-2.0.12.orig/src/video/windows/SDL_windowsmessagebox.c 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/src/video/windows/SDL_windowsmessagebox.c 2020-10-07 14:04:09.877146877 +0200 +@@ -803,7 +803,7 @@ } - + + /* If we cannot load comctl32.dll use the old messagebox! */ +- hComctl32 = LoadLibrary(TEXT("Comctl32.dll")); ++ hComctl32 = LoadLibrary((uint16_t[]){'C','o','m','c','t','l','3','2','.','d','l','l',0}); + if (hComctl32 == NULL) { + return WIN_ShowOldMessageBox(messageboxdata, buttonid); + } +diff -ru SDL2-2.0.12.orig/src/video/windows/SDL_windowsevents.c SDL2-2.0.12/src/video/windows/SDL_windowsevents.c +--- SDL2-2.0.12.orig/src/video/windows/SDL_windowsevents.c 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/src/video/windows/SDL_windowsevents.c 2020-10-07 14:00:09.021392356 +0200 +@@ -416,7 +416,7 @@ + } + /* Get the window data for the window */ -+#ifdef __midipix__ -+ data = (SDL_WindowData *) GetProp(hwnd, sdl_window_data); -+#else - data = (SDL_WindowData *) GetProp(hwnd, TEXT("SDL_WindowData")); -+#endif +- data = (SDL_WindowData *) GetProp(hwnd, TEXT("SDL_WindowData")); ++ data = (SDL_WindowData *) GetProp(hwnd, (uint16_t[]){'S','D','L','_','W','i','n','d','o','w','D','a','t','a',0}); if (!data) { return CallWindowProc(DefWindowProc, hwnd, msg, wParam, lParam); } diff --git a/patches/sdl2/win32.patch b/patches/sdl2/win32.patch index 0cc8167a..fc99beb4 100644 --- a/patches/sdl2/win32.patch +++ b/patches/sdl2/win32.patch @@ -1,3 +1,18 @@ +diff -ru SDL2-2.0.12.orig/src/video/windows/SDL_windowsvideo.c SDL2-2.0.12/src/video/windows/SDL_windowsvideo.c +--- SDL2-2.0.12.orig/src/video/windows/SDL_windowsvideo.c 2020-03-11 02:36:18.000000000 +0100 ++++ SDL2-2.0.12/src/video/windows/SDL_windowsvideo.c 2020-10-07 13:49:51.592298088 +0200 +@@ -43,6 +43,10 @@ + SDL_bool g_WindowsEnableMessageLoop = SDL_TRUE; + SDL_bool g_WindowFrameUsableWhileCursorHidden = SDL_TRUE; + ++#ifndef ES_CONTINUOUS ++#define ES_CONTINUOUS ((DWORD)0x80000000) ++#endif ++ + static void SDLCALL + UpdateWindowsEnableMessageLoop(void *userdata, const char *name, const char *oldValue, const char *newValue) + { + --- SDL2-2.0.8.orig/src/video/windows/SDL_windowsvideo.c 2018-03-01 17:34:42.000000000 +0100 +++ SDL2-2.0.8/src/video/windows/SDL_windowsvideo.c 2020-10-05 01:07:51.101894646 +0200 @@ -240,13 +240,17 @@ |