From 7d871ab87d45e535d1512a5834b627cbbce2e66c Mon Sep 17 00:00:00 2001 From: jdgleaver Date: Fri, 17 Sep 2021 10:37:49 +0100 Subject: Replace direct direct file access with VFS routines --- libretro.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libretro.c') diff --git a/libretro.c b/libretro.c index 9b4599e..8b05b44 100644 --- a/libretro.c +++ b/libretro.c @@ -22,6 +22,10 @@ #include #include +#ifndef LOAD_FROM_MEMORY +#include +#endif + #include "libretro_core_options.h" #ifdef _3DS @@ -92,6 +96,9 @@ static bool update_audio_latency = false; void retro_set_environment(retro_environment_t cb) { struct retro_log_callback log; +#ifndef LOAD_FROM_MEMORY + struct retro_vfs_interface_info vfs_iface_info; +#endif environ_cb = cb; if (environ_cb(RETRO_ENVIRONMENT_GET_LOG_INTERFACE, &log)) @@ -103,6 +110,13 @@ void retro_set_environment(retro_environment_t cb) libretro_set_core_options(environ_cb, &libretro_supports_option_categories); environ_cb(RETRO_ENVIRONMENT_GET_PERF_INTERFACE, &perf_cb); + +#ifndef LOAD_FROM_MEMORY + vfs_iface_info.required_interface_version = 1; + vfs_iface_info.iface = NULL; + if (environ_cb(RETRO_ENVIRONMENT_GET_VFS_INTERFACE, &vfs_iface_info)) + filestream_vfs_init(&vfs_iface_info); +#endif } void retro_set_video_refresh(retro_video_refresh_t cb) -- cgit v1.2.3