OpenAL Soft 1.24 introduces a lot of code that doesn't work well with
the PlayStation 3 homebrew toolchain, and also the old version of the
Wii U homebrew toolchain currently used by the libretro buildbot.
Instead of maintaining a bunch of patches to get 1.24 to work on these
toolchains, I think it'd be easier to just use 1.23.
Reverts commit d6ede8bcc6 and changes the
game path parser in libretro builds to not normalize the game path as it
causes problems on consoles with weird path formats.
I'd already removed the SDL static libraries from libretro builds for
portability, but kept the headers to make it easier to port the codebase
to libretro. Eventually it was time to stop using the SDL headers as a
crutch.
This allows more flexibility when loading games in libretro builds,
since we can now load games either from a directory or from a ZIP or 7Z
archive. Also, the path cache is now active for all filesystem calls
made from inside Ruby.
Without these blocks the strings aren't released until the thread that created them is closed, which means file accesses especially leak memory.
Also refocus the game when closing the keybindings window on macOS.
Path caching and atlas dumping incur a nontrivial performance hit, so it's
useful to log that they're happening so that users are reminded to disable
them if they were enabled accidentally.
Building a Release seems to just break newer versions of ANGLE,
so now let's just use Debug always.
the environment variable `MKXPZ_SELECT_PATH`
can be set to any value to bring up the option to select a path