Kaynağa Gözat

Fallback to app0:

Ivan Epifanov 4 yıl önce
ebeveyn
işleme
d9b2bde2f6
1 değiştirilmiş dosya ile 15 ekleme ve 1 silme
  1. 15 1
      src/file/SDL_rwops.c

+ 15 - 1
src/file/SDL_rwops.c

@@ -589,7 +589,21 @@ SDL_RWFromFile(const char *file, const char *mode)
     rwops->write = windows_file_write;
     rwops->close = windows_file_close;
     rwops->type = SDL_RWOPS_WINFILE;
-
+#elif defined(__VITA__)
+    /* Try to open the file on the filesystem first */
+    FILE *fp = fopen(file, mode);
+    if (fp) {
+        return SDL_RWFromFP(fp, 1);
+    } else {
+        /* Try opening it from app0:/ container if it's a relative path */
+        char path[4096];
+        SDL_snprintf(path, 4096, "app0:/%s", file);
+        fp = fopen(path, mode);
+        if (fp) {
+            return SDL_RWFromFP(fp, 1);
+        }
+    }
+    SDL_SetError("Couldn't open %s", file);
 #elif HAVE_STDIO_H
     {
         #ifdef __APPLE__