mirror of
https://github.com/libretro/nxengine-libretro.git
synced 2026-10-17 15:15:54 +00:00
master
Closes #110. The core asked for VFS interface version 1, but filestream_vfs_init() ignores anything below FILESTREAM_REQUIRED_VFS_VERSION (2) and returns without storing a single callback, so the whole engine - which already opens everything through rfopen()/filestream_open() - silently stayed on plain stdio. Android SAF URIs and smb:// paths never reached the frontend. It now asks for PATH_REQUIRED_VFS_VERSION (3) and initialises both the file streams and the path helpers, because the engine checks its data files with path_is_valid() before opening them and that check has to go through the same VFS. A frontend that only offers v2 still gets the old behaviour (file streams only) via a second request. Tested with a harness that hands the core a VFS whose paths are not real file paths (the way SAF URIs behave, "saf://..."): before the change retro_load_game() fails, after it Doukutsu.exe, every data/ file, settings.dat and the profiles are opened through the VFS callbacks and the game runs, with no attempt to touch a path outside the VFS. Also verified unchanged on the desktop - RetroArch 1.22.2 reports "Core requested version >= V3, providing V3" and Cave Story boots and runs at 60fps.
nxengine-libretro
Port of NxEngine to the libretro API. NXEngine is a Cave Story game engine clone.
Requires Cave Story 1.0.0.6 and the Aeon Genesis translation.
Cave Story is available from Studio Pixel's website: http://studiopixel.sakura.ne.jp/archives/index.html
The Aeon Genesis translation is available from: http://agtp.romhack.net/project.php?id=cavestory
Languages
C
52.7%
C++
45.6%
Makefile
1.1%
HTML
0.5%
Objective-C
0.1%