diff options
author | Autechre | 2021-09-17 18:06:12 +0200 |
---|---|---|
committer | GitHub | 2021-09-17 18:06:12 +0200 |
commit | 5a0ef7339e5eb875fc486c7459ee26b506eaf087 (patch) | |
tree | 8b6932a6eb0f786ea8e922701a0182396a80a7cc /libretro.c | |
parent | f53deef14f98c659fe9bbd7684656ee88977acbd (diff) | |
parent | 7d871ab87d45e535d1512a5834b627cbbce2e66c (diff) | |
download | snes9x2005-5a0ef7339e5eb875fc486c7459ee26b506eaf087.tar.gz snes9x2005-5a0ef7339e5eb875fc486c7459ee26b506eaf087.tar.bz2 snes9x2005-5a0ef7339e5eb875fc486c7459ee26b506eaf087.zip |
Merge pull request #89 from jdgleaver/vfs-support
Replace direct direct file access with VFS routines
Diffstat (limited to 'libretro.c')
-rw-r--r-- | libretro.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -22,6 +22,10 @@ #include <libretro.h> #include <retro_miscellaneous.h> +#ifndef LOAD_FROM_MEMORY +#include <streams/file_stream.h> +#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) |