mkxp-z/subprojects
刘皓 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
..
packagefiles Implement writing to filesystem (i.e. game saving) in libretro builds 2025-05-07 16:01:41 -04:00
.gitignore Update TheoraPlay in the Xcode build system as well 2025-05-04 21:39:52 -04:00
boost_asio.wrap Fix many, many compilation errors in libretro PlayStation 3 builds 2025-02-21 14:06:28 -05:00
boost_assert.wrap Use libretro's PlayStation 3 Docker image instead of ScummVM's 2025-02-22 16:04:51 -05:00
boost_config.wrap Implement stackful coroutine-based executor for libretro builds 2025-01-08 19:39:48 -05:00
boost_container_hash.wrap Implement stackful coroutine-based executor for libretro builds 2025-01-08 19:39:48 -05:00
boost_core.wrap Implement stackful coroutine-based executor for libretro builds 2025-01-08 19:39:48 -05:00
boost_describe.wrap Implement stackful coroutine-based executor for libretro builds 2025-01-08 19:39:48 -05:00
boost_mp11.wrap Implement stackful coroutine-based executor for libretro builds 2025-01-08 19:39:48 -05:00
boost_optional.wrap Implement even more of binding-sandbox 2025-01-22 21:52:55 -05:00
boost_static_assert.wrap Implement stackful coroutine-based executor for libretro builds 2025-01-08 19:39:48 -05:00
boost_throw_exception.wrap Implement stackful coroutine-based executor for libretro builds 2025-01-08 19:39:48 -05:00
boost_type_traits.wrap Implement even more of binding-sandbox 2025-01-22 21:52:55 -05:00
egl-registry.wrap Use Khronos OpenGL headers in libretro builds instead of SDL OpenGL headers 2025-03-10 17:31:39 -04:00
flac.wrap Move the FLAC fix for Vita SDK into meson.build 2025-02-20 19:20:01 -05:00
fluidsynth.wrap Disable building the FluidSynth executable in libretro builds 2025-04-08 01:15:33 -04:00
freetype.wrap Add FreeType to libretro builds 2025-03-03 23:26:57 -05:00
libiconv.wrap Add a mirror URL for libiconv 2025-04-23 10:31:14 -04:00
libretro-common.wrap Move libretro headers and SDL headers to meson.build 2025-02-27 20:39:17 -05:00
libsndfile.wrap Use libretro's PlayStation 3 Docker image instead of ScummVM's 2025-02-22 16:04:51 -05:00
mpg123.wrap Disable PIC in static libretro builds 2025-02-21 00:17:01 -05:00
ogg.wrap Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
openal-soft.wrap Upgrade OpenAL Soft from 1.23.1 to 1.24.2 again in libretro builds 2025-04-09 17:22:13 -04:00
opengl-registry.wrap Remove PortableGL support 2025-03-16 22:15:24 -04:00
opus.wrap Enable libsndfile's support for FLAC, MP3, Opus and Vorbis in libretro builds 2025-02-09 18:37:32 -05:00
physfs.wrap Implement writing to filesystem (i.e. game saving) in libretro builds 2025-05-07 16:01:41 -04:00
pixman-region.wrap Replace pixman with pixman-region in libretro builds 2025-02-24 17:13:25 -05:00
stb.wrap Fix libretro compilation errors caused by the previous commit 2025-04-08 15:20:13 -04:00
theora.wrap Add Theora as a dependency in libretro builds 2025-05-03 13:46:17 -04:00
theoraplay.wrap Add single-threaded Graphics.play_movie for platforms without multithreading 2025-05-05 11:00:27 -04:00
uchardet.wrap Download uchardet tarball instead of Git repository in libretro builds 2025-04-20 23:04:40 -04:00
vorbis.wrap Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00
zlib-darwin.wrap Add Alpine Linux and Android to libretro CI 2025-01-13 23:09:39 -05:00
zlib.wrap Split patch files for libretro builds into smaller files 2025-02-03 23:55:44 -05:00