added definition for persistent directory name for Emscripten platform
authorHolger Schemel <info@artsoft.org>
Sat, 9 Apr 2022 10:09:07 +0000 (12:09 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 9 Apr 2022 10:54:26 +0000 (12:54 +0200)
src/libgame/setup.c
src/libgame/system.c
src/libgame/system.h

index b78d274ec05730dd4806701df0a8ce50813d68f9..60bb56853b59b6016a0454730a43111b71316fca 100644 (file)
@@ -1756,7 +1756,7 @@ char *getHomeDir(void)
       strcpy(dir, ".");
   }
 #elif defined(PLATFORM_EMSCRIPTEN)
-  dir = "/persistent";
+  dir = PERSISTENT_DIRECTORY;
 #elif defined(PLATFORM_UNIX)
   if (dir == NULL)
   {
index f9cc4fe894708219c0f1af1e383c251c10608fab..196e15dc72d8777dacefdff7d390f4825a071687 100644 (file)
@@ -1908,17 +1908,19 @@ void InitEmscriptenFilesystem(void)
 {
 #if defined(PLATFORM_EMSCRIPTEN)
   EM_ASM
-  (
+  ({
+    dir = UTF8ToString($0);
+
     Module.sync_done = 0;
 
-    FS.mkdir('/persistent');           // create persistent data directory
-    FS.mount(IDBFS, {}, '/persistent');        // mount with IDBFS filesystem type
+    FS.mkdir(dir);                     // create persistent data directory
+    FS.mount(IDBFS, {}, dir);          // mount with IDBFS filesystem type
     FS.syncfs(true, function(err)      // sync persistent data into memory
     {
       assert(!err);
       Module.sync_done = 1;
     });
-  );
+  }, PERSISTENT_DIRECTORY);
 
   // wait for persistent data to be synchronized to memory
   while (emscripten_run_script_int("Module.sync_done") == 0)
index aea0130a32f98a2a17dd7456f4fbf831881a8576..97615e6daf608f3f2a1ba4fd44dd3d2e310e959d 100644 (file)
 #define CONF_DIRECTORY         "conf"
 #define NETWORK_DIRECTORY      "network"
 #define USERS_DIRECTORY                "users"
+#define PERSISTENT_DIRECTORY   "/persistent"
 
 #define GFX_CLASSIC_SUBDIR     "gfx_classic"
 #define SND_CLASSIC_SUBDIR     "snd_classic"