Remove broken Windows HDPI support
Fix submodule?
try to fix CI
Add some missing files
Update to SDL2 2.30.12
Include khronos headers
Enable EGL on macOS
Enable GLES on Mac
Overriding headers has always been risky, and finally we see why.
Apparently on iOS, files may be compiled in such a way that the original
SDL_config.h file is included, not Lime's custom one. It's hard to do
anything more than we've already done to manage include order, so we
need to find another option.
One such option is to make the two files as similar as possible, such
that it usually doesn't matter which one ends up being included. Then we
only set `USING_GENERATED_CONFIG_H` when it really matters.
SDL_cocoavideo.m now enforces this, as of this commit:
ec8fa57750
That commit also removed the destructors from SDL_render_metal.m, which
implies it's required on iOS too.
And before anyone asks, SDL seems to have no plans to back down on this.
Problem one: it requires its own binary, which we haven't built. There
are instructions in sdl/src/hidapi/README.txt, if we ever want to try.
Problem two: the Android app segfaults when `hid_init()` calls
`g_JVM->AttachCurrentThread()`. This might be a bug in NDK 21's jni.h,
but that seems unlikely. Perhaps a version mismatch?
In any case, we aren't using the code at the moment, so the easy answer
is to leave it out.
On Android, `SDL_RWops` no longer stores a plain file descriptor,
so the `AAsset` API must be used instead:
https://developer.android.com/ndk/reference/group/asset
`HAVE_INOTIFY` is required on Linux at the moment, but the bug will be
fixed in the next SDL release.
alfstream.cpp doesn't look like a Windows-specific file, so I'd rather
compile it everywhere until proven Windows-specific. Even though Mac and
Linux have been doing ok without it so far.