From fb82257d03d8ad01b2353513f11981308ee47126 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau <jeffrey@endrift.com> Date: Mon, 24 Aug 2015 19:18:32 -0700 Subject: [PATCH] 3DS: Use newlib fs functions unless told otherwise --- CMakeLists.txt | 6 ++++++ src/platform/3ds/3ds-vfs.c | 2 ++ src/platform/3ds/main.c | 2 ++ src/util/vfs.c | 2 +- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 482a8ce09..9b23d8327 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -176,6 +176,12 @@ elseif(3DS) include_directories(${CMAKE_BINARY_DIR}) list(APPEND OS_LIB sf2d ctru) file(GLOB OS_SRC ${CMAKE_SOURCE_DIR}/src/platform/3ds/*.c ${CMAKE_BINARY_DIR}/font.c) + if(USE_VFS_3DS) + add_definitions(-DUSE_VFS_3DS) + else() + add_definitions(-DUSE_VFS_FILE) + list(APPEND VFS_SRC ${CMAKE_SOURCE_DIR}/src/util/vfs/vfs-file.c ${CMAKE_SOURCE_DIR}/src/util/vfs/vfs-dirent.c) + endif() source_group("3DS-specific code" FILES ${OS_SRC}) endif() diff --git a/src/platform/3ds/3ds-vfs.c b/src/platform/3ds/3ds-vfs.c index 9875f681b..0538b846a 100644 --- a/src/platform/3ds/3ds-vfs.c +++ b/src/platform/3ds/3ds-vfs.c @@ -5,6 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "3ds-vfs.h" +#ifdef USE_VFS_3DS #include "util/memory.h" #include "util/string.h" @@ -244,3 +245,4 @@ static const char* _vd3deName(struct VDirEntry* vde) { } return vd3de->utf8Name; } +#endif diff --git a/src/platform/3ds/main.c b/src/platform/3ds/main.c index 9eff4ac47..994bff8af 100644 --- a/src/platform/3ds/main.c +++ b/src/platform/3ds/main.c @@ -64,6 +64,7 @@ int main() { aptInit(); hidInit(0); fsInit(); + sdmcInit(); sf2d_init(); sf2d_set_clear_color(0); @@ -139,6 +140,7 @@ cleanup: sf2d_free_texture(tex); sf2d_fini(); + sdmcExit(); fsExit(); gfxExit(); hidExit(); diff --git a/src/util/vfs.c b/src/util/vfs.c index ac282ec23..0ceea78e9 100644 --- a/src/util/vfs.c +++ b/src/util/vfs.c @@ -34,7 +34,7 @@ struct VFile* VFileOpen(const char* path, int flags) { break; } return VFileFOpen(path, chflags); -#elif defined(_3DS) +#elif defined(USE_VFS_3DS) int ctrFlags = FS_OPEN_READ; switch (flags & O_ACCMODE) { case O_WRONLY: