fixed packaging data files for Emscripten platform
authorHolger Schemel <info@artsoft.org>
Tue, 8 Feb 2022 08:20:19 +0000 (09:20 +0100)
committerHolger Schemel <info@artsoft.org>
Thu, 10 Feb 2022 22:36:29 +0000 (23:36 +0100)
build-projects/emscripten/index.html
src/Makefile

index cdf397f514aa16e298301131597ff4bd4a2c0948..03c910cb0f4ffe65368bcdb1e2b9cd9af1390f21 100644 (file)
@@ -51,6 +51,7 @@
         document.title = "Rocks'n'Diamonds (aborted)";
       };
     </script>
+<script async type="text/javascript" src="rocksndiamonds.data.js"></script>
 <script async type="text/javascript" src="rocksndiamonds.js"></script>
 </body>
 </html>
index f9fb4581ca5b7947ab0f1b588b1df918e3338286..2acbd109cae9ddde05ecd8d101e316584717ee0f 100644 (file)
@@ -62,10 +62,12 @@ endif
 
 ifeq ($(PLATFORM),emscripten)          # compiling with Emscripten
 PROGNAME = ../$(PROGBASE).js
+DATA_FILE = $(PROGBASE).data
 CC = emcc
 AR = emar
 RANLIB = emranlib
 STRIP = true
+FILE_PACKAGER = file_packager
 endif
 
 ifeq ($(shell uname -s),Darwin)                # compiling on Mac OS X
@@ -100,7 +102,9 @@ ifeq ($(PLATFORM),emscripten)
 SDL_LIBS = -s USE_SDL_IMAGE=2 -s USE_SDL_MIXER=2 -s USE_SDL_NET=2 -s USE_ZLIB=1
 SDL_FMTS = -s SDL2_IMAGE_FORMATS='["bmp","png","pcx","xpm"]'
 EXTRA_CFLAGS = $(SDL_LIBS)
-EXTRA_LDFLAGS = $(SDL_FMTS) -s INITIAL_MEMORY=81920000 -s ALLOW_MEMORY_GROWTH=1 --preload-file ../conf/ --preload-file ../docs/ --preload-file ../levels/ --preload-file ../graphics/ --preload-file ../sounds/ --preload-file ../music/ -s NO_EXIT_RUNTIME=0 -s ASYNCIFY -O2 -lidbfs.js
+EXTRA_LDFLAGS = $(SDL_FMTS) -s INITIAL_MEMORY=81920000 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM -s NO_EXIT_RUNTIME=0 -s ASYNCIFY -O2 -lidbfs.js
+DATA_DIRS = conf docs levels graphics sounds music
+FILE_PACKAGER_ARGS = --preload $(DATA_DIRS) --js-output=$(DATA_FILE).js
 else
 SDL_LIBS = -lSDL2_image -lSDL2_mixer -lSDL2_net
 endif
@@ -257,6 +261,9 @@ $(PROGNAME): $(RNDLIBS) $(TIMESTAMP_FILE) $(COMMIT_HASH_FILE) $(OBJS) $(ICON)
 ifdef BUILD_DIST
        $(STRIP) $(PROGNAME)
 endif
+ifeq ($(PLATFORM),emscripten)
+       (cd .. ; $(FILE_PACKAGER) $(DATA_FILE) $(FILE_PACKAGER_ARGS))
+endif
 
 libgame_dir:
        @$(MAKE) -C $(LIBGAME_DIR)