mkxp-z/subprojects/packagefiles
刘皓 c85e9554ec
Implement writing to filesystem (i.e. game saving) in libretro builds
Files are written to the libretro save directory, which is mounted at
/save in PhysFS. All filesystem calls made from Ruby in libretro builds
are routed through PhysFS, so the game can just use any ordinary
filesystem function provided by Ruby to interact with /save.

It's also union mounted on top of the game directory (located at /game
in PhysFS) so that games that write their save files to the current
working directory will have their save files saved to the libretro save
directory instead of the game directory.

For security and portability reasons, nothing outside of the libretro
save directory can be written to, and nothing outside of the libretro
save directory, the libretro game directory and the various embedded
files used by the runtime can be read from.
2025-05-07 16:01:41 -04:00
..
egl-registry Use Khronos OpenGL headers in libretro builds instead of SDL OpenGL headers 2025-03-10 17:31:39 -04:00
libiconv Fix some compiler warnings in libretro builds 2025-05-01 11:58:43 -04:00
libretro-common Move libretro headers and SDL headers to meson.build 2025-02-27 20:39:17 -05:00
mpg123 Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
opengl-registry Add Theora as a dependency in libretro builds 2025-05-03 13:46:17 -04:00
stb Add stb_image and PortableGL to libretro builds 2025-02-24 23:22:00 -05:00
theora Add Theora as a dependency in libretro builds 2025-05-03 13:46:17 -04:00
theoraplay Add single-threaded Graphics.play_movie for platforms without multithreading 2025-05-05 11:00:27 -04:00
boost_asio-counter.patch Fix many, many compilation errors in libretro PlayStation 3 builds 2025-02-21 14:06:28 -05:00
boost_assert-snprintf.patch Use libretro's PlayStation 3 Docker image instead of ScummVM's 2025-02-22 16:04:51 -05:00
flac-buildtype.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
flac-deps.patch Add Theora as a dependency in libretro builds 2025-05-03 13:46:17 -04:00
flac-emscripten-endian.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
flac-int32.patch Fix some libretro build errors for game consoles 2025-02-12 12:49:25 -05:00
fluidsynth-cmake-policy.patch Fix several FluidSynth compilation errors in libretro builds 2025-04-07 22:16:00 -04:00
fluidsynth-emscripten-endian.patch Use fluidsynth-sans-glib instead of fluidlite in libretro builds 2025-04-07 21:24:27 -04:00
fluidsynth-executable.patch Disable building the FluidSynth executable in libretro builds 2025-04-08 01:15:33 -04:00
fluidsynth-linker-flags.patch Fix several FluidSynth compilation errors in libretro builds 2025-04-07 22:16:00 -04:00
fluidsynth-mkxp-polyfill.patch Allow FluidSynth to build for libretro targets with no threading support 2025-04-08 00:27:32 -04:00
fluidsynth-pic.patch Fix several FluidSynth compilation errors in libretro builds 2025-04-07 22:16:00 -04:00
fluidsynth-pthreads.patch Fix several FluidSynth compilation errors in libretro builds 2025-04-07 22:16:00 -04:00
fluidsynth-test-doc.patch Fix several FluidSynth compilation errors in libretro builds 2025-04-07 22:16:00 -04:00
freetype-flags.patch Fix some compiler warnings in libretro builds 2025-05-01 11:58:43 -04:00
libsndfile-deps.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
libsndfile-emscripten-endian.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
libsndfile-int32.patch Fix some libretro build errors for game consoles 2025-02-12 12:49:25 -05:00
libsndfile-ssize.patch Use libretro's PlayStation 3 Docker image instead of ScummVM's 2025-02-22 16:04:51 -05:00
mpg123-emscripten-endian.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
mpg123-intrinsics.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
mpg123-libsyn123.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
mpg123-offset.patch Fix mpg123-related libsndfile linking error in libretro Vita SDK builds 2025-02-20 18:36:02 -05:00
mpg123-pic.patch Convert all CMake subprojects' object libraries into static libraries 2025-03-06 22:55:26 -05:00
mpg123-signal.patch Fix linker errors in libretro Nintendo Switch build 2025-02-12 21:30:18 -05:00
ogg-deps.patch Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
openal-soft-android-log.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-atomic.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-buildtype.patch Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
openal-soft-c11.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-constexpr.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-emscripten-pthread.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-emscripten-setschedparam.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-emscripten-symbol-conflict.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-event-thread.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-filesystem.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-flockfile.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-int32.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-mkxp-polyfill.patch Re-add polyfill for pthread_self() 2025-05-05 16:45:22 -04:00
openal-soft-null.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-pic.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
openal-soft-ps3.patch Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
opus-buildtype.patch Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
physfs-allow-duplicates.patch Implement writing to filesystem (i.e. game saving) in libretro builds 2025-05-07 16:01:41 -04:00
physfs-darwin.patch Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
physfs-dir.patch Fix missing symbol errors in libretro PlayStation Vita build 2025-03-06 20:07:58 -05:00
physfs-lstat.patch Prevent PhysFS from using lstat() on platforms where it's not supported 2025-03-07 12:10:26 -05:00
physfs-mkxp-polyfill.patch Re-add polyfill for pthread_self() 2025-05-05 16:45:22 -04:00
physfs-unknown-platform.patch Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
stb-uintptr.patch Fix libretro compilation errors caused by the previous commit 2025-04-08 15:20:13 -04:00
theora-deps.patch Add Theora as a dependency in libretro builds 2025-05-03 13:46:17 -04:00
theoraplay-deps.patch Update TheoraPlay in the Xcode build system as well 2025-05-04 21:39:52 -04:00
theoraplay-mkxp-polyfill.patch Prevent usage of mkxp_thread_t on single-threaded platforms 2025-05-05 11:47:17 -04:00
vorbis-deps.patch Add Theora as a dependency in libretro builds 2025-05-03 13:46:17 -04:00
zlib-disable-shared.patch Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
zlib-unistd.patch Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
zlib-zconf.patch Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00