From 75d3dc9e5ef3d6b41a91a2de84cc14b5888ba6df Mon Sep 17 00:00:00 2001 From: Varun Ramesh Date: Fri, 25 Nov 2022 19:08:12 -0700 Subject: [PATCH 01/42] emscripten --- Makefile | 49 ++++++- build-data/web/preview-image.png | Bin 0 -> 152960 bytes build-scripts/build-emscripten.sh | 4 + build-scripts/prepare-web-data.sh | 44 ++++++ build-scripts/prepare-web.sh | 7 + index.html | 219 ++++++++++++++++++++++++++++++ pre.js | 2 + src/debug.cpp | 2 +- src/emscripten_exception.cpp | 9 ++ src/filesystem.cpp | 6 + src/game.cpp | 2 +- src/main.cpp | 47 ++++++- src/main_menu.cpp | 6 + src/mapsharing.cpp | 4 + src/options.cpp | 2 +- src/sdltiles.cpp | 13 +- src/ui_manager.cpp | 5 + src/version.cpp | 2 +- src/worldfactory.cpp | 2 +- 19 files changed, 413 insertions(+), 12 deletions(-) create mode 100644 build-data/web/preview-image.png create mode 100755 build-scripts/build-emscripten.sh create mode 100755 build-scripts/prepare-web-data.sh create mode 100755 build-scripts/prepare-web.sh create mode 100644 index.html create mode 100644 pre.js create mode 100644 src/emscripten_exception.cpp diff --git a/Makefile b/Makefile index f8c5d288c5c5a..f30a7256097dc 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,8 @@ # Run: make NATIVE=win32 # OS X # Run: make NATIVE=osx +# Emscripten +# Run: make NATIVE=emscripten # Build types: # Debug (no optimizations) @@ -113,7 +115,7 @@ WARNINGS = \ -Wno-dangling-reference \ -Wno-c++20-compat # Uncomment below to disable warnings -#WARNINGS = -w +WARNINGS = -w DEBUGSYMS = -g #PROFILE = -pg #OTHERS = -O3 @@ -389,6 +391,8 @@ ifeq ($(RELEASE), 1) else OPTLEVEL = -O3 endif + else ifeq ($(NATIVE), emscripten) + OPTLEVEL = -Os else # MXE ICE Workaround # known bad on 4.9.3 and 4.9.4, if it gets fixed this could include a version test too @@ -457,7 +461,9 @@ else # way to turn off optimization (make NOOPT=1) entirely. OPTLEVEL = -O0 else - ifeq ($(shell $(CXX) -E -Og - < /dev/null > /dev/null 2>&1 && echo fog),fog) + ifeq ($(NATIVE),emscripten) + OPTLEVEL = -O3 + else ifeq ($(shell $(CXX) -E -Og - < /dev/null > /dev/null 2>&1 && echo fog),fog) OPTLEVEL = -Og else OPTLEVEL = -O0 @@ -618,6 +624,40 @@ ifeq ($(NATIVE), cygwin) TARGETSYSTEM=CYGWIN endif +# Cygwin +ifeq ($(NATIVE), emscripten) + CXX=emcc + LD=emcc + + # Flags that are common across compile and link phases. + EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sASYNCIFY -sSDL2_IMAGE_FORMATS=['png'] + + ifneq ($(RELEASE), 1) + EMCC_COMMON_FLAGS += -g + endif + + CXXFLAGS += $(EMCC_COMMON_FLAGS) + LDFLAGS += $(EMCC_COMMON_FLAGS) + + LDFLAGS += --preload-file web_bundle@/ + LDFLAGS += --bind -sALLOW_MEMORY_GROWTH -sEXPORTED_RUNTIME_METHODS=['FS','stackTrace','jsStackTrace'] + LDFLAGS += -sASYNCIFY_STACK_SIZE=16384 + LDFLAGS += -sENVIRONMENT=web + LDFLAGS += -lidbfs.js + LDFLAGS += --pre-js pre.js + LDFLAGS += -sWASM_BIGINT # Browser will require BigInt support. + + ifeq ($(RELEASE), 1) + # Release-mode Linker flags. + LDFLAGS += -Os + LDFLAGS += -sLZ4 + else + # Debug mode linker flags. + LDFLAGS += -O1 # Emscripten link time is slow, so use low optimization level. + LDFLAGS += -sFS_DEBUG + endif +endif + # MXE cross-compile to win32 ifneq (,$(findstring mingw32,$(CROSS))) DEFINES += -DCROSS_LINUX @@ -716,7 +756,7 @@ ifeq ($(TILES), 1) LDFLAGS += -lSDL2_mixer endif endif - else # not osx + else ifneq ($(NATIVE),emscripten) CXXFLAGS += $(shell $(PKG_CONFIG) --cflags sdl2 SDL2_image SDL2_ttf) ifeq ($(STATIC), 1) @@ -966,6 +1006,9 @@ ifeq ($(RELEASE), 1) endif endif +cataclysm-tiles.js: $(OBJS) + +$(LD) $(W32FLAGS) -o cataclysm-tiles.html $(OBJS) $(LDFLAGS) + $(PCH_P): $(PCH_H) -$(CXX) $(CPPFLAGS) $(DEFINES) $(CXXFLAGS) -MMD -MP -Wno-error -c $(PCH_H) -o $(PCH_P) diff --git a/build-data/web/preview-image.png b/build-data/web/preview-image.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3b35e70641d16a0e77cb90957f4799a7b30d4a GIT binary patch literal 152960 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 literal 0 HcmV?d00001 diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh new file mode 100755 index 0000000000000..efa18cbce51c8 --- /dev/null +++ b/build-scripts/build-emscripten.sh @@ -0,0 +1,4 @@ +emsdk install 3.1.26 +emsdk activate 3.1.26 + +make -j8 NATIVE=emscripten BACKTRACE=0 TILES=1 RUNTESTS=0 RELEASE=1 cataclysm-tiles.js \ No newline at end of file diff --git a/build-scripts/prepare-web-data.sh b/build-scripts/prepare-web-data.sh new file mode 100755 index 0000000000000..ae9f2b3d1de86 --- /dev/null +++ b/build-scripts/prepare-web-data.sh @@ -0,0 +1,44 @@ +rm -rf web_bundle + +DATA_DIR=web_bundle/data/ +mkdir -p $DATA_DIR + +cp data/fontdata.json $DATA_DIR +cp -R data/core $DATA_DIR +cp -R data/font $DATA_DIR +cp -R data/json $DATA_DIR +cp -R data/mods $DATA_DIR +cp -R data/names $DATA_DIR +cp -R data/raw $DATA_DIR +cp -R data/motd $DATA_DIR +cp -R data/credits $DATA_DIR +cp -R data/title $DATA_DIR +cp -R data/help $DATA_DIR + +cp -R gfx web_bundle/ + +# Remove .DS_Store files. +find web_bundle -name ".DS_Store" -type f -exec rm {} \; + +# Remove old non-ttf font +rm web_bundle/data/font/terminus.fon + +# Remove many non-default tilesets. +echo "Removing non-default tilesets..." +rm -rf web_bundle/gfx/MshockXotto+ +rm -rf web_bundle/gfx/ChestHole16Tileset +rm -rf web_bundle/gfx/ChibiUltica +rm -rf web_bundle/gfx/Cuteclysm +rm -rf web_bundle/gfx/BrownLikeBears +rm -rf web_bundle/gfx/HoderTileset +rm -rf web_bundle/gfx/NeoDaysTileset +rm -rf web_bundle/gfx/RetroDaysTileset + +# Remove obsolete mods. +echo "Removing obsolete mods..." +for MOD_DIR in web_bundle/data/mods/*/ ; do + if cat "$MOD_DIR/modinfo.json" | jq '.[] | select(.type == "MOD_INFO") | .obsolete == true' | grep -q 'true'; then + echo "$MOD_DIR is obsolete... Removing..." + rm -rf $MOD_DIR + fi +done \ No newline at end of file diff --git a/build-scripts/prepare-web.sh b/build-scripts/prepare-web.sh new file mode 100755 index 0000000000000..33f278dcabbe5 --- /dev/null +++ b/build-scripts/prepare-web.sh @@ -0,0 +1,7 @@ +mkdir -p build/ +cp index.html build/ +cp cataclysm-tiles.data build/ +cp cataclysm-tiles.js build/ +cp cataclysm-tiles.wasm build/ +cp data/cataicon.ico build/favicon.ico +cp data/font/Terminus.ttf build/Terminus.ttf \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000000000..3440c2206370b --- /dev/null +++ b/index.html @@ -0,0 +1,219 @@ + + + + + + + Cataclysm: Dark Days Ahead + + + + + + + + + + + + + + + +
+ + + +
Loading...
+ + + + + + + diff --git a/pre.js b/pre.js new file mode 100644 index 0000000000000..18b075a24824e --- /dev/null +++ b/pre.js @@ -0,0 +1,2 @@ +window.devicePixelRatio = 1; +Error.stackTraceLimit = Infinity; \ No newline at end of file diff --git a/src/debug.cpp b/src/debug.cpp index d9e3995d5bacc..ff29c4cda6707 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -1499,7 +1499,7 @@ std::string game_info::operating_system() #endif } -#if !defined(__CYGWIN__) && !defined (__ANDROID__) && ( defined (__linux__) || defined(unix) || defined(__unix__) || defined(__unix) || ( defined(__APPLE__) && defined(__MACH__) ) || defined(CATA_IS_ON_BSD) ) // linux; unix; MacOs; BSD +#if !defined(EMSCRIPTEN) && !defined(__CYGWIN__) && !defined (__ANDROID__) && ( defined (__linux__) || defined(unix) || defined(__unix__) || defined(__unix) || ( defined(__APPLE__) && defined(__MACH__) ) || defined(CATA_IS_ON_BSD) ) // linux; unix; MacOs; BSD /** Execute a command with the shell by using `popen()`. * @param command The full command to execute. * @note The output buffer is limited to 512 characters. diff --git a/src/emscripten_exception.cpp b/src/emscripten_exception.cpp new file mode 100644 index 0000000000000..746eacda905d5 --- /dev/null +++ b/src/emscripten_exception.cpp @@ -0,0 +1,9 @@ +#include + +std::string getExceptionMessage(intptr_t exceptionPtr) { + return std::string(reinterpret_cast(exceptionPtr)->what()); +} + +EMSCRIPTEN_BINDINGS(Bindings) { + emscripten::function("getExceptionMessage", &getExceptionMessage); +}; \ No newline at end of file diff --git a/src/filesystem.cpp b/src/filesystem.cpp index a6dfb25d88fb4..873ceecd958c3 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -19,6 +19,8 @@ # include "platform_win.h" #endif +#include + bool assure_dir_exist( const std::string &path ) { return assure_dir_exist( fs::u8path( path ) ); @@ -31,6 +33,7 @@ bool assure_dir_exist( const cata_path &path ) bool assure_dir_exist( const fs::path &path ) { + EM_ASM(window.idb_needs_sync = true;); std::error_code ec; bool exists{false}; bool created{false}; @@ -101,6 +104,7 @@ bool remove_file( const std::string &path ) bool remove_file( const fs::path &path ) { + EM_ASM(window.idb_needs_sync = true;); std::error_code ec; return fs::remove( path, ec ); } @@ -112,6 +116,7 @@ bool rename_file( const std::string &old_path, const std::string &new_path ) bool rename_file( const fs::path &old_path, const fs::path &new_path ) { + EM_ASM(window.idb_needs_sync = true;); std::error_code ec; fs::rename( old_path, new_path, ec ); return !ec; @@ -135,6 +140,7 @@ bool remove_directory( const std::string &path ) bool remove_directory( const fs::path &path ) { std::error_code ec; + EM_ASM(window.idb_needs_sync = true;); return fs::remove( path, ec ); } diff --git a/src/game.cpp b/src/game.cpp index 195a4d99371a1..8439b06589fc6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2554,7 +2554,7 @@ input_context get_default_mode_input_context() ctxt.register_action( "debug_mode" ); ctxt.register_action( "zoom_out" ); ctxt.register_action( "zoom_in" ); -#if !defined(__ANDROID__) +#if !defined(__ANDROID__) && !defined(EMSCRIPTEN) ctxt.register_action( "toggle_fullscreen" ); #endif ctxt.register_action( "toggle_pixel_minimap" ); diff --git a/src/main.cpp b/src/main.cpp index 38795ff7e5425..785ec13383742 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -566,6 +566,47 @@ bool assure_essential_dirs_exist() } // namespace +#include + +EM_ASYNC_JS(void, mount_idbfs, (), { + console.log("Mounting IDBFS for persistance..."); + FS.mkdir('/home/web_user/.cataclysm-dda'); + FS.mount(IDBFS, {}, '/home/web_user/.cataclysm-dda'); + await new Promise(function (resolve, reject) { + FS.syncfs(true, function (err) { + if (err) reject(err); + else { + console.log("Succesfully mounted IDBFS."); + resolve(); + } + }); + }); + + window.idb_is_syncing = false; + function syncIDB() { + console.log("Persisting to IDBFS..."); + window.idb_is_syncing = true; + FS.syncfs(false, function (err) { + window.idb_is_syncing = false; + if (err) { + console.error(err); + } else { + console.log("Succesfully persisted to IDBFS..."); + } + }); + } + + window.idb_needs_sync = false; + function checkIDB() { + if (window.idb_needs_sync && !window.idb_is_syncing) { + window.idb_needs_sync = false; + syncIDB(); + } + window.requestAnimationFrame(checkIDB); + } + window.requestAnimationFrame(checkIDB); +}); + #if defined(USE_WINMAIN) int APIENTRY WinMain( _In_ HINSTANCE /* hInstance */, _In_opt_ HINSTANCE /* hPrevInstance */, _In_ LPSTR /* lpCmdLine */, _In_ int /* nCmdShow */ ) @@ -584,6 +625,8 @@ int main( int argc, const char *argv[] ) #if defined(FLATBUFFERS_LOCALE_INDEPENDENT) && (FLATBUFFERS_LOCALE_INDEPENDENT > 0) flatbuffers::ClassicLocale::Get(); #endif + + mount_idbfs(); on_out_of_scope json_member_reporting_guard{ [] { // Disable reporting unvisited members if stack unwinding leaves main early. @@ -624,7 +667,7 @@ int main( int argc, const char *argv[] ) #if defined(__ANDROID__) PATH_INFO::init_user_dir( external_storage_path ); #else -# if defined(USE_HOME_DIR) || defined(USE_XDG_DIR) +# if defined(USE_HOME_DIR) || defined(USE_XDG_DIR) || defined(EMSCRIPTEN) PATH_INFO::init_user_dir( "" ); # else PATH_INFO::init_user_dir( "." ); @@ -648,7 +691,7 @@ int main( int argc, const char *argv[] ) exit( 1 ); } - setupDebug( DebugOutput::file ); + setupDebug( DebugOutput::std_err ); // NOLINTNEXTLINE(cata-tests-must-restore-global-state) json_error_output_colors = json_error_output_colors_t::color_tags; diff --git a/src/main_menu.cpp b/src/main_menu.cpp index dfa0a37a9965f..c9ec93891c6c8 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -13,6 +13,8 @@ #include #include +#include + #include "auto_pickup.h" #include "avatar.h" #include "cata_scope_helpers.h" @@ -452,7 +454,9 @@ void main_menu::init_strings() vMenuItems.emplace_back( pgettext( "Main Menu", "Setings" ) ); vMenuItems.emplace_back( pgettext( "Main Menu", "Hlp" ) ); vMenuItems.emplace_back( pgettext( "Main Menu", "redits" ) ); +#if !defined(EMSCRIPTEN) vMenuItems.emplace_back( pgettext( "Main Menu", "uit" ) ); +#endif // new game menu items vNewGameSubItems.clear(); @@ -635,6 +639,8 @@ bool main_menu::opening_screen() } } + EM_ASM(window.dispatchEvent(new Event('menuready'));); + while( !start ) { ui_manager::redraw(); std::string action = ctxt.handle_input(); diff --git a/src/mapsharing.cpp b/src/mapsharing.cpp index 63550c5a8cb24..5f301dd098297 100644 --- a/src/mapsharing.cpp +++ b/src/mapsharing.cpp @@ -16,6 +16,8 @@ #include "platform_win.h" #endif +#include + bool MAP_SHARING::sharing; bool MAP_SHARING::competitive; bool MAP_SHARING::worldmenu; @@ -157,4 +159,6 @@ void ofstream_wrapper::close() // Leave the temp path, so the user can move it if possible. throw std::runtime_error( "moving temporary file \"" + temp_path.u8string() + "\" failed" ); } + + EM_ASM(window.idb_needs_sync = true;); } diff --git a/src/options.cpp b/src/options.cpp index 23e80a030c5ab..d15e61f10659f 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -3930,7 +3930,7 @@ std::string options_manager::show( bool ingame, const bool world_options_only, b calendar::set_eternal_night( ::get_option( "ETERNAL_TIME_OF_DAY" ) == "night" ); calendar::set_eternal_day( ::get_option( "ETERNAL_TIME_OF_DAY" ) == "day" ); -#if !defined(__ANDROID__) && (defined(TILES) || defined(_WIN32)) +#if !defined(EMSCRIPTEN) && !defined(__ANDROID__) && (defined(TILES) || defined(_WIN32)) if( terminal_size_changed ) { int scaling_factor = get_scaling_factor(); point TERM( ::get_option( "TERMINAL_X" ), ::get_option( "TERMINAL_Y" ) ); diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 629328a28c3a9..c624e4d9e47f6 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -95,6 +95,10 @@ #include "worldfactory.h" #endif +#if defined(EMSCRIPTEN) +#include +#endif + #define dbg(x) DebugLog((x),D_SDL) << __FILE__ << ":" << __LINE__ << ": " static const oter_type_str_id oter_type_forest_trail( "forest_trail" ); @@ -249,7 +253,7 @@ static void WinCreate() SDL_SetHint( SDL_HINT_RENDER_SCALE_QUALITY, get_option( "SCALING_MODE" ).c_str() ); } -#if !defined(__ANDROID__) +#if !defined(__ANDROID__) && !defined(EMSCRIPTEN) if( get_option( "FULLSCREEN" ) == "fullscreen" ) { window_flags |= SDL_WINDOW_FULLSCREEN; fullscreen = true; @@ -302,7 +306,7 @@ static void WinCreate() ) ); throwErrorIf( !::window, "SDL_CreateWindow failed" ); -#if !defined(__ANDROID__) +#if !defined(__ANDROID__) && !defined(EMSCRIPTEN) // On Android SDL seems janky in windowed mode so we're fullscreen all the time. // Fullscreen mode is now modified so it obeys terminal width/height, rather than // overwriting it with this calculation. @@ -1909,6 +1913,11 @@ void resize_term( const int cell_w, const int cell_h ) void toggle_fullscreen_window() { + // Can't enter fullscreen on Emscripten. +#if defined(EMSCRIPTEN) + return; +#endif + static int restore_win_w = get_option( "TERMINAL_X" ) * fontwidth * scaling_factor; static int restore_win_h = get_option( "TERMINAL_Y" ) * fontheight * scaling_factor; diff --git a/src/ui_manager.cpp b/src/ui_manager.cpp index 2a253d7870e6a..0c6f75963f0e1 100644 --- a/src/ui_manager.cpp +++ b/src/ui_manager.cpp @@ -14,6 +14,10 @@ #include "point.h" #include "sdltiles.h" // IWYU pragma: keep +#if defined(EMSCRIPTEN) +#include +#endif + using ui_stack_t = std::vector>; static bool redraw_in_progress = false; @@ -427,6 +431,7 @@ void ui_adaptor::redraw_invalidated() } } } while( restart_redrawing ); + emscripten_sleep(1); } void ui_adaptor::screen_resized() diff --git a/src/version.cpp b/src/version.cpp index 065b0f86cb62c..c3f30bfe5a514 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -14,5 +14,5 @@ const char *getVersionString() { - return VERSION; + return "0.F-3-web-1"; } diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index d96b5af4c5d73..ae4ca7b2460a2 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -407,7 +407,7 @@ void worldfactory::init() for( auto &origin_file : get_files_from_path( ".", origin_path, false ) ) { std::string filename = origin_file.substr( origin_file.find_last_of( "/\\" ) ); - if( rename( origin_file.c_str(), ( newworld->folder_path() + filename ).c_str() ) ) { + if( rename_file( origin_file.c_str(), ( newworld->folder_path() + filename ).c_str() ) ) { debugmsg( "Error while moving world files: %s. World may have been corrupted", strerror( errno ) ); } From c9b80c484948fbeeb33d510ce2ffc8668872aaf0 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 05:35:03 +0000 Subject: [PATCH 02/42] fix build --- Makefile | 8 ++++++-- build-scripts/build-emscripten.sh | 6 +++--- build-scripts/prepare-web-data.sh | 4 ++-- src/worldfactory.cpp | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index f30a7256097dc..8eabdea0e369e 100644 --- a/Makefile +++ b/Makefile @@ -624,7 +624,7 @@ ifeq ($(NATIVE), cygwin) TARGETSYSTEM=CYGWIN endif -# Cygwin +# Emscripten ifeq ($(NATIVE), emscripten) CXX=emcc LD=emcc @@ -634,6 +634,7 @@ ifeq ($(NATIVE), emscripten) ifneq ($(RELEASE), 1) EMCC_COMMON_FLAGS += -g + EMCC_COMMON_FLAGS += -sASSERTIONS endif CXXFLAGS += $(EMCC_COMMON_FLAGS) @@ -641,7 +642,10 @@ ifeq ($(NATIVE), emscripten) LDFLAGS += --preload-file web_bundle@/ LDFLAGS += --bind -sALLOW_MEMORY_GROWTH -sEXPORTED_RUNTIME_METHODS=['FS','stackTrace','jsStackTrace'] - LDFLAGS += -sASYNCIFY_STACK_SIZE=16384 + LDFLAGS += -sASYNCIFY_STACK_SIZE=32768 + LDFLAGS += -sSTACK_SIZE=262144 + LDFLAGS += -sINITIAL_MEMORY=536870912 + LDFLAGS += -sMAXIMUM_MEMORY=4GB LDFLAGS += -sENVIRONMENT=web LDFLAGS += -lidbfs.js LDFLAGS += --pre-js pre.js diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh index efa18cbce51c8..b61554c3dedc4 100755 --- a/build-scripts/build-emscripten.sh +++ b/build-scripts/build-emscripten.sh @@ -1,4 +1,4 @@ -emsdk install 3.1.26 -emsdk activate 3.1.26 +emsdk install 3.1.51 +emsdk activate 3.1.51 -make -j8 NATIVE=emscripten BACKTRACE=0 TILES=1 RUNTESTS=0 RELEASE=1 cataclysm-tiles.js \ No newline at end of file +make -j24 NATIVE=emscripten BACKTRACE=0 TILES=1 TESTS=0 RUNTESTS=0 RELEASE=1 cataclysm-tiles.js diff --git a/build-scripts/prepare-web-data.sh b/build-scripts/prepare-web-data.sh index ae9f2b3d1de86..aecd9acdd7ef6 100755 --- a/build-scripts/prepare-web-data.sh +++ b/build-scripts/prepare-web-data.sh @@ -31,7 +31,7 @@ rm -rf web_bundle/gfx/ChibiUltica rm -rf web_bundle/gfx/Cuteclysm rm -rf web_bundle/gfx/BrownLikeBears rm -rf web_bundle/gfx/HoderTileset -rm -rf web_bundle/gfx/NeoDaysTileset +#rm -rf web_bundle/gfx/NeoDaysTileset rm -rf web_bundle/gfx/RetroDaysTileset # Remove obsolete mods. @@ -41,4 +41,4 @@ for MOD_DIR in web_bundle/data/mods/*/ ; do echo "$MOD_DIR is obsolete... Removing..." rm -rf $MOD_DIR fi -done \ No newline at end of file +done diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index ae4ca7b2460a2..bba07ae4492ff 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -407,7 +407,7 @@ void worldfactory::init() for( auto &origin_file : get_files_from_path( ".", origin_path, false ) ) { std::string filename = origin_file.substr( origin_file.find_last_of( "/\\" ) ); - if( rename_file( origin_file.c_str(), ( newworld->folder_path() + filename ).c_str() ) ) { + if( rename_file( origin_file, ( newworld->folder_path() + filename ) ) ) { debugmsg( "Error while moving world files: %s. World may have been corrupted", strerror( errno ) ); } From 41741abc25c9948ac2dbd1b2bef3c577bde07a3d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 05:37:41 +0000 Subject: [PATCH 03/42] restore version --- Makefile | 2 +- src/version.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 8eabdea0e369e..fec0ef4efded8 100644 --- a/Makefile +++ b/Makefile @@ -142,7 +142,7 @@ export CCACHE_COMMENTS=1 # Explicitly let 'char' to be 'signed char' to fix #18776 OTHERS += -fsigned-char -VERSION = 0.F +VERSION = 0.G TARGET_NAME = cataclysm TILES_TARGET_NAME = $(TARGET_NAME)-tiles diff --git a/src/version.cpp b/src/version.cpp index c3f30bfe5a514..065b0f86cb62c 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -14,5 +14,5 @@ const char *getVersionString() { - return "0.F-3-web-1"; + return VERSION; } From 2d9d48b93cf6dcdc2765ac516932181ad28a5b34 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 13:51:15 -0800 Subject: [PATCH 04/42] html updates --- index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 3440c2206370b..6454ee68fb751 100644 --- a/index.html +++ b/index.html @@ -37,6 +37,7 @@ position: absolute; left: 0px; top: 0px; + outline: none; image-rendering: pixelated; z-index: 1; @@ -120,7 +121,7 @@
From bcaf6cebb09a7e6aa1633b08adeb5b587f564c9f Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 13:59:52 -0800 Subject: [PATCH 05/42] permit webgl 2 --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index fec0ef4efded8..0f9645a555499 100644 --- a/Makefile +++ b/Makefile @@ -650,6 +650,7 @@ ifeq ($(NATIVE), emscripten) LDFLAGS += -lidbfs.js LDFLAGS += --pre-js pre.js LDFLAGS += -sWASM_BIGINT # Browser will require BigInt support. + LDFLAGS += -sMAX_WEBGL_VERSION=2 ifeq ($(RELEASE), 1) # Release-mode Linker flags. From 2cedbbf2ba48a6a5308b2cb3492a9f73567e9dbc Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 14:02:59 -0800 Subject: [PATCH 06/42] -gseparate-dwarf --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0f9645a555499..864092acb2203 100644 --- a/Makefile +++ b/Makefile @@ -634,7 +634,8 @@ ifeq ($(NATIVE), emscripten) ifneq ($(RELEASE), 1) EMCC_COMMON_FLAGS += -g - EMCC_COMMON_FLAGS += -sASSERTIONS + else + EMCC_COMMON_FLAGS += -gseparate_dwarf endif CXXFLAGS += $(EMCC_COMMON_FLAGS) From fe2deb192bd3bb0a6263159abe8d3d8488f568e7 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 14:57:19 -0800 Subject: [PATCH 07/42] github action --- .github/workflows/build_emscripten.yml | 35 ++++++++++++++++++++++++++ build-scripts/prepare-web.sh | 3 ++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build_emscripten.yml diff --git a/.github/workflows/build_emscripten.yml b/.github/workflows/build_emscripten.yml new file mode 100644 index 0000000000000..9ba5cd984fa4d --- /dev/null +++ b/.github/workflows/build_emscripten.yml @@ -0,0 +1,35 @@ +name: JSON Formatter in HTML + +on: + workflow_dispatch: + push: + branches: + - master + +jobs: + build: + name: Build + if: github.repository == 'CleverRaven/Cataclysm-DDA' + runs-on: ubuntu-latest + steps: + - name: checkout repository + uses: actions/checkout@v3 + + - uses: mymindstorm/setup-emsdk@v13 + + - name: Prepare web data + run: ./build-scripts/prepare-web-data.sh + + - name: Build with emcc (emscripten) + run: ./build-scripts/build-emscripten.sh + + - name: Assemble web bundle + run: | + ./build-scripts/prepare-web.sh + (cd build && tar cvfz ../play-cdda.tar.gz .) + + - name: Upload bundle + uses: actions/upload-artifact@v3 + with: + name: formatter + path: play-cdda.tar.gz diff --git a/build-scripts/prepare-web.sh b/build-scripts/prepare-web.sh index 33f278dcabbe5..d47607a9ff2cf 100755 --- a/build-scripts/prepare-web.sh +++ b/build-scripts/prepare-web.sh @@ -3,5 +3,6 @@ cp index.html build/ cp cataclysm-tiles.data build/ cp cataclysm-tiles.js build/ cp cataclysm-tiles.wasm build/ +cp cataclysm-tiles.wasm.debug.wasm build/ cp data/cataicon.ico build/favicon.ico -cp data/font/Terminus.ttf build/Terminus.ttf \ No newline at end of file +cp data/font/Terminus.ttf build/Terminus.ttf From e0ac13522579716c30ee9fb22b568471605b9a95 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 14:58:15 -0800 Subject: [PATCH 08/42] fix action branches --- .github/workflows/build_emscripten.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_emscripten.yml b/.github/workflows/build_emscripten.yml index 9ba5cd984fa4d..29f50088a958e 100644 --- a/.github/workflows/build_emscripten.yml +++ b/.github/workflows/build_emscripten.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: push: branches: - - master + - emscripten-new jobs: build: From fcdf2eee1d497c8c24c51acf1b6e3330ff5b0a1c Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 15:02:09 -0800 Subject: [PATCH 09/42] fix action more --- .github/workflows/build_emscripten.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build_emscripten.yml b/.github/workflows/build_emscripten.yml index 29f50088a958e..a19d31a24b107 100644 --- a/.github/workflows/build_emscripten.yml +++ b/.github/workflows/build_emscripten.yml @@ -1,4 +1,4 @@ -name: JSON Formatter in HTML +name: Build Emscripten on: workflow_dispatch: @@ -9,7 +9,6 @@ on: jobs: build: name: Build - if: github.repository == 'CleverRaven/Cataclysm-DDA' runs-on: ubuntu-latest steps: - name: checkout repository From a14e5650d41cac29a1af39276019b4075398d12f Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 15:05:10 -0800 Subject: [PATCH 10/42] automatically detect parallelism --- build-scripts/build-emscripten.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh index b61554c3dedc4..c29587397b1b3 100755 --- a/build-scripts/build-emscripten.sh +++ b/build-scripts/build-emscripten.sh @@ -1,4 +1,5 @@ +#!/bin/sh emsdk install 3.1.51 emsdk activate 3.1.51 -make -j24 NATIVE=emscripten BACKTRACE=0 TILES=1 TESTS=0 RUNTESTS=0 RELEASE=1 cataclysm-tiles.js +make -j`nproc` NATIVE=emscripten BACKTRACE=0 TILES=1 TESTS=0 RUNTESTS=0 RELEASE=1 cataclysm-tiles.js From 010d88762262f9aa44e92bce8ac9e6ad2e69b813 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 15:06:07 -0800 Subject: [PATCH 11/42] fix separate-dwarf to only be on ldflags --- Makefile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 864092acb2203..d2884f1dd323a 100644 --- a/Makefile +++ b/Makefile @@ -632,11 +632,7 @@ ifeq ($(NATIVE), emscripten) # Flags that are common across compile and link phases. EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sASYNCIFY -sSDL2_IMAGE_FORMATS=['png'] - ifneq ($(RELEASE), 1) - EMCC_COMMON_FLAGS += -g - else - EMCC_COMMON_FLAGS += -gseparate_dwarf - endif + EMCC_COMMON_FLAGS += -g CXXFLAGS += $(EMCC_COMMON_FLAGS) LDFLAGS += $(EMCC_COMMON_FLAGS) @@ -657,6 +653,7 @@ ifeq ($(NATIVE), emscripten) # Release-mode Linker flags. LDFLAGS += -Os LDFLAGS += -sLZ4 + LDFLAGS += -gseparate-dwarf else # Debug mode linker flags. LDFLAGS += -O1 # Emscripten link time is slow, so use low optimization level. From 273fa84d89d64d8db0d8b4825f9359f68ede651d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 15:46:56 -0800 Subject: [PATCH 12/42] fix artifact name --- .github/workflows/build_emscripten.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_emscripten.yml b/.github/workflows/build_emscripten.yml index a19d31a24b107..e97e2d89dd701 100644 --- a/.github/workflows/build_emscripten.yml +++ b/.github/workflows/build_emscripten.yml @@ -25,10 +25,9 @@ jobs: - name: Assemble web bundle run: | ./build-scripts/prepare-web.sh - (cd build && tar cvfz ../play-cdda.tar.gz .) - name: Upload bundle - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: formatter - path: play-cdda.tar.gz + name: play-cdda + path: build/* From eae59335c4180cbd814c8bc621c7a3ab3c25e67c Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 16:23:52 -0800 Subject: [PATCH 13/42] un-disable warnings? --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d2884f1dd323a..26ec4c229bfac 100644 --- a/Makefile +++ b/Makefile @@ -115,7 +115,7 @@ WARNINGS = \ -Wno-dangling-reference \ -Wno-c++20-compat # Uncomment below to disable warnings -WARNINGS = -w +# WARNINGS = -w DEBUGSYMS = -g #PROFILE = -pg #OTHERS = -O3 From 0eba2511409d1575b747915cf0908afb31de1f47 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 16:36:08 -0800 Subject: [PATCH 14/42] move ASYNCIFY to ldflags --- Makefile | 13 +++++++------ build-scripts/build-emscripten.sh | 3 ++- build-scripts/prepare-web-data.sh | 2 ++ build-scripts/prepare-web.sh | 2 ++ 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 26ec4c229bfac..d2f2916248acb 100644 --- a/Makefile +++ b/Makefile @@ -115,7 +115,7 @@ WARNINGS = \ -Wno-dangling-reference \ -Wno-c++20-compat # Uncomment below to disable warnings -# WARNINGS = -w +#WARNINGS = -w DEBUGSYMS = -g #PROFILE = -pg #OTHERS = -O3 @@ -142,7 +142,7 @@ export CCACHE_COMMENTS=1 # Explicitly let 'char' to be 'signed char' to fix #18776 OTHERS += -fsigned-char -VERSION = 0.G +VERSION = 0.F TARGET_NAME = cataclysm TILES_TARGET_NAME = $(TARGET_NAME)-tiles @@ -630,16 +630,17 @@ ifeq ($(NATIVE), emscripten) LD=emcc # Flags that are common across compile and link phases. - EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sASYNCIFY -sSDL2_IMAGE_FORMATS=['png'] - + EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sSDL2_IMAGE_FORMATS=['png'] + EMCC_COMMON_FLAGS += -g - + CXXFLAGS += $(EMCC_COMMON_FLAGS) LDFLAGS += $(EMCC_COMMON_FLAGS) LDFLAGS += --preload-file web_bundle@/ LDFLAGS += --bind -sALLOW_MEMORY_GROWTH -sEXPORTED_RUNTIME_METHODS=['FS','stackTrace','jsStackTrace'] - LDFLAGS += -sASYNCIFY_STACK_SIZE=32768 + LDFLAGS += -sASYNCIFY + LDFLAGS += -sASYNCIFY_STACK_SIZE=16384 LDFLAGS += -sSTACK_SIZE=262144 LDFLAGS += -sINITIAL_MEMORY=536870912 LDFLAGS += -sMAXIMUM_MEMORY=4GB diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh index c29587397b1b3..03428f4b62461 100755 --- a/build-scripts/build-emscripten.sh +++ b/build-scripts/build-emscripten.sh @@ -1,4 +1,5 @@ -#!/bin/sh +#!/bin/bash -eo pipefail -x + emsdk install 3.1.51 emsdk activate 3.1.51 diff --git a/build-scripts/prepare-web-data.sh b/build-scripts/prepare-web-data.sh index aecd9acdd7ef6..cbf617ae40f8b 100755 --- a/build-scripts/prepare-web-data.sh +++ b/build-scripts/prepare-web-data.sh @@ -1,3 +1,5 @@ +#!/bin/bash -eo pipefail -x + rm -rf web_bundle DATA_DIR=web_bundle/data/ diff --git a/build-scripts/prepare-web.sh b/build-scripts/prepare-web.sh index d47607a9ff2cf..15dc8eae0a979 100755 --- a/build-scripts/prepare-web.sh +++ b/build-scripts/prepare-web.sh @@ -1,3 +1,5 @@ +#!/bin/bash -eo pipefail -x + mkdir -p build/ cp index.html build/ cp cataclysm-tiles.data build/ From 0fc790d703a484926364be8051aef049821b3e2d Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 16:40:09 -0800 Subject: [PATCH 15/42] fix scripts --- build-scripts/build-emscripten.sh | 3 ++- build-scripts/prepare-web-data.sh | 3 ++- build-scripts/prepare-web.sh | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/build-scripts/build-emscripten.sh b/build-scripts/build-emscripten.sh index 03428f4b62461..c7ec1738a8717 100755 --- a/build-scripts/build-emscripten.sh +++ b/build-scripts/build-emscripten.sh @@ -1,4 +1,5 @@ -#!/bin/bash -eo pipefail -x +#!/bin/bash +set -exo pipefail emsdk install 3.1.51 emsdk activate 3.1.51 diff --git a/build-scripts/prepare-web-data.sh b/build-scripts/prepare-web-data.sh index cbf617ae40f8b..779df8606e693 100755 --- a/build-scripts/prepare-web-data.sh +++ b/build-scripts/prepare-web-data.sh @@ -1,4 +1,5 @@ -#!/bin/bash -eo pipefail -x +#!/bin/bash +set -exo pipefail rm -rf web_bundle diff --git a/build-scripts/prepare-web.sh b/build-scripts/prepare-web.sh index 15dc8eae0a979..07f15655931ec 100755 --- a/build-scripts/prepare-web.sh +++ b/build-scripts/prepare-web.sh @@ -1,4 +1,5 @@ -#!/bin/bash -eo pipefail -x +#!/bin/bash +set -exo pipefail mkdir -p build/ cp index.html build/ From dca809339dd201b2b27f62544cb20bfd43b864c2 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 16:43:27 -0800 Subject: [PATCH 16/42] fix scripts --- build-data/web/preview-image.png | Bin 152960 -> 0 bytes build-scripts/prepare-web-data.sh | 3 --- build-scripts/prepare-web.sh | 11 +++++------ 3 files changed, 5 insertions(+), 9 deletions(-) delete mode 100644 build-data/web/preview-image.png diff --git a/build-data/web/preview-image.png b/build-data/web/preview-image.png deleted file mode 100644 index fd3b35e70641d16a0e77cb90957f4799a7b30d4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152960 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 diff --git a/build-scripts/prepare-web-data.sh b/build-scripts/prepare-web-data.sh index 779df8606e693..06c0e957866df 100755 --- a/build-scripts/prepare-web-data.sh +++ b/build-scripts/prepare-web-data.sh @@ -23,9 +23,6 @@ cp -R gfx web_bundle/ # Remove .DS_Store files. find web_bundle -name ".DS_Store" -type f -exec rm {} \; -# Remove old non-ttf font -rm web_bundle/data/font/terminus.fon - # Remove many non-default tilesets. echo "Removing non-default tilesets..." rm -rf web_bundle/gfx/MshockXotto+ diff --git a/build-scripts/prepare-web.sh b/build-scripts/prepare-web.sh index 07f15655931ec..eb8d27a9be1d5 100755 --- a/build-scripts/prepare-web.sh +++ b/build-scripts/prepare-web.sh @@ -2,10 +2,9 @@ set -exo pipefail mkdir -p build/ -cp index.html build/ -cp cataclysm-tiles.data build/ -cp cataclysm-tiles.js build/ -cp cataclysm-tiles.wasm build/ -cp cataclysm-tiles.wasm.debug.wasm build/ +cp \ + index.html \ + cataclysm-tiles.{data,js,wasm,wasm.debug.wasm} \ + data/font/Terminus.ttf \ + build cp data/cataicon.ico build/favicon.ico -cp data/font/Terminus.ttf build/Terminus.ttf From 6f928a2731df167d0c86c7f60842e07056fa770c Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 16:50:46 -0800 Subject: [PATCH 17/42] allow all tilesets, simplify obsolete mod removal --- build-scripts/prepare-web-data.sh | 36 ++++++------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) diff --git a/build-scripts/prepare-web-data.sh b/build-scripts/prepare-web-data.sh index 06c0e957866df..e9e636a17ed61 100755 --- a/build-scripts/prepare-web-data.sh +++ b/build-scripts/prepare-web-data.sh @@ -3,42 +3,20 @@ set -exo pipefail rm -rf web_bundle -DATA_DIR=web_bundle/data/ +BUNDLE_DIR=web_bundle +DATA_DIR=$BUNDLE_DIR/data mkdir -p $DATA_DIR - -cp data/fontdata.json $DATA_DIR -cp -R data/core $DATA_DIR -cp -R data/font $DATA_DIR -cp -R data/json $DATA_DIR -cp -R data/mods $DATA_DIR -cp -R data/names $DATA_DIR -cp -R data/raw $DATA_DIR -cp -R data/motd $DATA_DIR -cp -R data/credits $DATA_DIR -cp -R data/title $DATA_DIR -cp -R data/help $DATA_DIR - -cp -R gfx web_bundle/ +cp -R data/{core,font,fontdata.json,json,mods,names,raw,motd,credits,title,help} $DATA_DIR/ +cp -R gfx $BUNDLE_DIR/ # Remove .DS_Store files. find web_bundle -name ".DS_Store" -type f -exec rm {} \; -# Remove many non-default tilesets. -echo "Removing non-default tilesets..." -rm -rf web_bundle/gfx/MshockXotto+ -rm -rf web_bundle/gfx/ChestHole16Tileset -rm -rf web_bundle/gfx/ChibiUltica -rm -rf web_bundle/gfx/Cuteclysm -rm -rf web_bundle/gfx/BrownLikeBears -rm -rf web_bundle/gfx/HoderTileset -#rm -rf web_bundle/gfx/NeoDaysTileset -rm -rf web_bundle/gfx/RetroDaysTileset - # Remove obsolete mods. echo "Removing obsolete mods..." -for MOD_DIR in web_bundle/data/mods/*/ ; do - if cat "$MOD_DIR/modinfo.json" | jq '.[] | select(.type == "MOD_INFO") | .obsolete == true' | grep -q 'true'; then - echo "$MOD_DIR is obsolete... Removing..." +for MOD_DIR in $DATA_DIR/mods/*/ ; do + if jq -e '.[] | select(.type == "MOD_INFO") | .obsolete' "$MOD_DIR/modinfo.json" >/dev/null; then + echo "$MOD_DIR is obsolete, excluding from web_bundle..." rm -rf $MOD_DIR fi done From d9b1a39fd422dfef2c16a8b115a2cc4cde7bb6fe Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 16:59:58 -0800 Subject: [PATCH 18/42] build with std=gnu++17 --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index d2f2916248acb..b637cc56a94f6 100644 --- a/Makefile +++ b/Makefile @@ -474,6 +474,9 @@ endif ifeq ($(shell sh -c 'uname -o 2>/dev/null || echo not'),Cygwin) OTHERS += -std=gnu++17 +else ifeq ($(NATIVE), emscripten) + # The EM_ASM() macro requires gnu extensions + OTHERS += -std=gnu++17 else OTHERS += -std=c++17 endif From 06bed36e4a7db3162eef65b119ad8eb356cbff08 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 17:04:28 -0800 Subject: [PATCH 19/42] remove pre.js --- Makefile | 1 - pre.js | 2 -- 2 files changed, 3 deletions(-) delete mode 100644 pre.js diff --git a/Makefile b/Makefile index b637cc56a94f6..6770ce6fa9621 100644 --- a/Makefile +++ b/Makefile @@ -649,7 +649,6 @@ ifeq ($(NATIVE), emscripten) LDFLAGS += -sMAXIMUM_MEMORY=4GB LDFLAGS += -sENVIRONMENT=web LDFLAGS += -lidbfs.js - LDFLAGS += --pre-js pre.js LDFLAGS += -sWASM_BIGINT # Browser will require BigInt support. LDFLAGS += -sMAX_WEBGL_VERSION=2 diff --git a/pre.js b/pre.js deleted file mode 100644 index 18b075a24824e..0000000000000 --- a/pre.js +++ /dev/null @@ -1,2 +0,0 @@ -window.devicePixelRatio = 1; -Error.stackTraceLimit = Infinity; \ No newline at end of file From 18cbdd7bcabb317cbe4cfbbb6e1ab8cd53b1c9ba Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 17:07:54 -0800 Subject: [PATCH 20/42] remove emscripten_exception.cpp --- src/emscripten_exception.cpp | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 src/emscripten_exception.cpp diff --git a/src/emscripten_exception.cpp b/src/emscripten_exception.cpp deleted file mode 100644 index 746eacda905d5..0000000000000 --- a/src/emscripten_exception.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -std::string getExceptionMessage(intptr_t exceptionPtr) { - return std::string(reinterpret_cast(exceptionPtr)->what()); -} - -EMSCRIPTEN_BINDINGS(Bindings) { - emscripten::function("getExceptionMessage", &getExceptionMessage); -}; \ No newline at end of file From 4778a2c175dfbb9f2aff32e4a5549ddc65893530 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 17:15:27 -0800 Subject: [PATCH 21/42] instead of gnu++17, turn off the warning --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6770ce6fa9621..a37ffe1a9c7ff 100644 --- a/Makefile +++ b/Makefile @@ -114,6 +114,9 @@ WARNINGS = \ -Wno-unknown-warning-option \ -Wno-dangling-reference \ -Wno-c++20-compat +ifeq ($(NATIVE), emscripten) + WARNINGS += -Wno-gnu-zero-variadic-macro-arguments +endif # Uncomment below to disable warnings #WARNINGS = -w DEBUGSYMS = -g @@ -474,9 +477,6 @@ endif ifeq ($(shell sh -c 'uname -o 2>/dev/null || echo not'),Cygwin) OTHERS += -std=gnu++17 -else ifeq ($(NATIVE), emscripten) - # The EM_ASM() macro requires gnu extensions - OTHERS += -std=gnu++17 else OTHERS += -std=c++17 endif From 33dff59b94e434a13ff401c4e5282ae12ba3e607 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 17:15:42 -0800 Subject: [PATCH 22/42] wrap more things in #if defined(EMSCRIPTEN) --- src/main.cpp | 16 +++++++++++++--- src/main_menu.cpp | 4 ++++ src/mapsharing.cpp | 4 ++++ src/ui_manager.cpp | 2 ++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 785ec13383742..05d3f0b970d83 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -59,6 +59,10 @@ # include // getpid() #endif +#if defined(EMSCRIPTEN) +#include +#endif + #if defined(PREFIX) # undef PREFIX # include "prefix.h" @@ -566,10 +570,9 @@ bool assure_essential_dirs_exist() } // namespace -#include - +#if defined(EMSCRIPTEN) EM_ASYNC_JS(void, mount_idbfs, (), { - console.log("Mounting IDBFS for persistance..."); + console.log("Mounting IDBFS for persistence..."); FS.mkdir('/home/web_user/.cataclysm-dda'); FS.mount(IDBFS, {}, '/home/web_user/.cataclysm-dda'); await new Promise(function (resolve, reject) { @@ -606,6 +609,7 @@ EM_ASYNC_JS(void, mount_idbfs, (), { } window.requestAnimationFrame(checkIDB); }); +#endif #if defined(USE_WINMAIN) int APIENTRY WinMain( _In_ HINSTANCE /* hInstance */, _In_opt_ HINSTANCE /* hPrevInstance */, @@ -626,7 +630,9 @@ int main( int argc, const char *argv[] ) flatbuffers::ClassicLocale::Get(); #endif +#if defined(EMSCRIPTEN) mount_idbfs(); +#endif on_out_of_scope json_member_reporting_guard{ [] { // Disable reporting unvisited members if stack unwinding leaves main early. @@ -691,7 +697,11 @@ int main( int argc, const char *argv[] ) exit( 1 ); } +#if defined(EMSCRIPTEN) setupDebug( DebugOutput::std_err ); +#else + setupDebug( DebugOutput::file ); +#endif // NOLINTNEXTLINE(cata-tests-must-restore-global-state) json_error_output_colors = json_error_output_colors_t::color_tags; diff --git a/src/main_menu.cpp b/src/main_menu.cpp index c9ec93891c6c8..44ab1e8acd80b 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -13,7 +13,9 @@ #include #include +#if defined(EMSCRIPTEN) #include +#endif #include "auto_pickup.h" #include "avatar.h" @@ -639,7 +641,9 @@ bool main_menu::opening_screen() } } +#if defined(EMSCRIPTEN) EM_ASM(window.dispatchEvent(new Event('menuready'));); +#endif while( !start ) { ui_manager::redraw(); diff --git a/src/mapsharing.cpp b/src/mapsharing.cpp index 5f301dd098297..ae6dcfc517c93 100644 --- a/src/mapsharing.cpp +++ b/src/mapsharing.cpp @@ -16,7 +16,9 @@ #include "platform_win.h" #endif +#if defined(EMSCRIPTEN) #include +#endif bool MAP_SHARING::sharing; bool MAP_SHARING::competitive; @@ -160,5 +162,7 @@ void ofstream_wrapper::close() throw std::runtime_error( "moving temporary file \"" + temp_path.u8string() + "\" failed" ); } +#if defined(EMSCRIPTEN) EM_ASM(window.idb_needs_sync = true;); +#endif } diff --git a/src/ui_manager.cpp b/src/ui_manager.cpp index 0c6f75963f0e1..6de924e0cf8cf 100644 --- a/src/ui_manager.cpp +++ b/src/ui_manager.cpp @@ -431,7 +431,9 @@ void ui_adaptor::redraw_invalidated() } } } while( restart_redrawing ); +#if defined(EMSCRIPTEN) emscripten_sleep(1); +#endif } void ui_adaptor::screen_resized() From 884d52717eb76d30d4df7a28f4750da7daf61e50 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 19:48:52 -0800 Subject: [PATCH 23/42] cleanups --- Makefile | 17 ++++++++++------- index.html | 22 ++++++++++------------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index a37ffe1a9c7ff..f3351c80e9bcd 100644 --- a/Makefile +++ b/Makefile @@ -115,6 +115,7 @@ WARNINGS = \ -Wno-dangling-reference \ -Wno-c++20-compat ifeq ($(NATIVE), emscripten) + # The EM_ASM macro triggers this warning. WARNINGS += -Wno-gnu-zero-variadic-macro-arguments endif # Uncomment below to disable warnings @@ -149,6 +150,9 @@ VERSION = 0.F TARGET_NAME = cataclysm TILES_TARGET_NAME = $(TARGET_NAME)-tiles +ifeq ($(NATIVE), emscripten) + TILES_TARGET_NAME = $(TARGET_NAME)-tiles.js +endif TARGET = $(BUILD_PREFIX)$(TARGET_NAME) TILESTARGET = $(BUILD_PREFIX)$(TILES_TARGET_NAME) @@ -641,14 +645,16 @@ ifeq ($(NATIVE), emscripten) LDFLAGS += $(EMCC_COMMON_FLAGS) LDFLAGS += --preload-file web_bundle@/ - LDFLAGS += --bind -sALLOW_MEMORY_GROWTH -sEXPORTED_RUNTIME_METHODS=['FS','stackTrace','jsStackTrace'] + LDFLAGS += -sEXPORTED_RUNTIME_METHODS=['FS','stackTrace','jsStackTrace'] + LDFLAGS += -sINITIAL_MEMORY=512MB + LDFLAGS += -sMAXIMUM_MEMORY=4GB + LDFLAGS += -sALLOW_MEMORY_GROWTH + LDFLAGS += -sSTACK_SIZE=262144 LDFLAGS += -sASYNCIFY LDFLAGS += -sASYNCIFY_STACK_SIZE=16384 - LDFLAGS += -sSTACK_SIZE=262144 - LDFLAGS += -sINITIAL_MEMORY=536870912 - LDFLAGS += -sMAXIMUM_MEMORY=4GB LDFLAGS += -sENVIRONMENT=web LDFLAGS += -lidbfs.js + LDFLAGS += -lembind LDFLAGS += -sWASM_BIGINT # Browser will require BigInt support. LDFLAGS += -sMAX_WEBGL_VERSION=2 @@ -1012,9 +1018,6 @@ ifeq ($(RELEASE), 1) endif endif -cataclysm-tiles.js: $(OBJS) - +$(LD) $(W32FLAGS) -o cataclysm-tiles.html $(OBJS) $(LDFLAGS) - $(PCH_P): $(PCH_H) -$(CXX) $(CPPFLAGS) $(DEFINES) $(CXXFLAGS) -MMD -MP -Wno-error -c $(PCH_H) -o $(PCH_P) diff --git a/index.html b/index.html index 6454ee68fb751..932f664c92a00 100644 --- a/index.html +++ b/index.html @@ -108,7 +108,7 @@ - + @@ -125,14 +125,14 @@ - +
Loading...
- - + + + + + - + -
- - +
Loading...
- - - From f01a30983492889caa5acd20608a9912feca4b59 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 20:00:39 -0800 Subject: [PATCH 27/42] astyle --- src/filesystem.cpp | 2 +- src/main.cpp | 52 +++++++++++++++++++++++++--------------------- src/main_menu.cpp | 2 +- src/mapsharing.cpp | 2 +- src/ui_manager.cpp | 2 +- 5 files changed, 32 insertions(+), 28 deletions(-) diff --git a/src/filesystem.cpp b/src/filesystem.cpp index f0a5a8b406e36..9810d2f78780f 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -24,7 +24,7 @@ void setFsNeedsSync() { - EM_ASM(window.idb_needs_sync = true;); + EM_ASM( window.idb_needs_sync = true; ); } #else void setFsNeedsSync() diff --git a/src/main.cpp b/src/main.cpp index 05d3f0b970d83..3de31673a666d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -571,44 +571,48 @@ bool assure_essential_dirs_exist() } // namespace #if defined(EMSCRIPTEN) -EM_ASYNC_JS(void, mount_idbfs, (), { - console.log("Mounting IDBFS for persistence..."); - FS.mkdir('/home/web_user/.cataclysm-dda'); - FS.mount(IDBFS, {}, '/home/web_user/.cataclysm-dda'); - await new Promise(function (resolve, reject) { - FS.syncfs(true, function (err) { - if (err) reject(err); - else { - console.log("Succesfully mounted IDBFS."); +EM_ASYNC_JS( void, mount_idbfs, (), { + console.log( "Mounting IDBFS for persistence..." ); + FS.mkdir( '/home/web_user/.cataclysm-dda' ); + FS.mount( IDBFS, {}, '/home/web_user/.cataclysm-dda' ); + await new Promise( function( resolve, reject ) + { + FS.syncfs( true, function( err ) { + if( err ) { + reject( err ); + } else { + console.log( "Succesfully mounted IDBFS." ); resolve(); } - }); - }); + } ); + } ); window.idb_is_syncing = false; - function syncIDB() { - console.log("Persisting to IDBFS..."); + function syncIDB() + { + console.log( "Persisting to IDBFS..." ); window.idb_is_syncing = true; - FS.syncfs(false, function (err) { + FS.syncfs( false, function( err ) { window.idb_is_syncing = false; - if (err) { - console.error(err); + if( err ) { + console.error( err ); } else { - console.log("Succesfully persisted to IDBFS..."); + console.log( "Succesfully persisted to IDBFS..." ); } - }); + } ); } window.idb_needs_sync = false; - function checkIDB() { - if (window.idb_needs_sync && !window.idb_is_syncing) { + function checkIDB() + { + if( window.idb_needs_sync && !window.idb_is_syncing ) { window.idb_needs_sync = false; syncIDB(); } - window.requestAnimationFrame(checkIDB); + window.requestAnimationFrame( checkIDB ); } - window.requestAnimationFrame(checkIDB); -}); + window.requestAnimationFrame( checkIDB ); +} ); #endif #if defined(USE_WINMAIN) @@ -629,7 +633,7 @@ int main( int argc, const char *argv[] ) #if defined(FLATBUFFERS_LOCALE_INDEPENDENT) && (FLATBUFFERS_LOCALE_INDEPENDENT > 0) flatbuffers::ClassicLocale::Get(); #endif - + #if defined(EMSCRIPTEN) mount_idbfs(); #endif diff --git a/src/main_menu.cpp b/src/main_menu.cpp index 44ab1e8acd80b..c75996d4330d1 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -642,7 +642,7 @@ bool main_menu::opening_screen() } #if defined(EMSCRIPTEN) - EM_ASM(window.dispatchEvent(new Event('menuready'));); + EM_ASM( window.dispatchEvent( new Event( 'menuready' ) ); ); #endif while( !start ) { diff --git a/src/mapsharing.cpp b/src/mapsharing.cpp index ae6dcfc517c93..d1fb103a32968 100644 --- a/src/mapsharing.cpp +++ b/src/mapsharing.cpp @@ -163,6 +163,6 @@ void ofstream_wrapper::close() } #if defined(EMSCRIPTEN) - EM_ASM(window.idb_needs_sync = true;); + EM_ASM( window.idb_needs_sync = true; ); #endif } diff --git a/src/ui_manager.cpp b/src/ui_manager.cpp index 6de924e0cf8cf..f20302ad4e775 100644 --- a/src/ui_manager.cpp +++ b/src/ui_manager.cpp @@ -432,7 +432,7 @@ void ui_adaptor::redraw_invalidated() } } while( restart_redrawing ); #if defined(EMSCRIPTEN) - emscripten_sleep(1); + emscripten_sleep( 1 ); #endif } From 942c101142b254b2d91c45c16f8d99e4e5be2040 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 21:26:33 -0800 Subject: [PATCH 28/42] update workflow --- .github/workflows/build_emscripten.yml | 33 ------------- .github/workflows/emscripten.yml | 68 ++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 33 deletions(-) delete mode 100644 .github/workflows/build_emscripten.yml create mode 100644 .github/workflows/emscripten.yml diff --git a/.github/workflows/build_emscripten.yml b/.github/workflows/build_emscripten.yml deleted file mode 100644 index e97e2d89dd701..0000000000000 --- a/.github/workflows/build_emscripten.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Build Emscripten - -on: - workflow_dispatch: - push: - branches: - - emscripten-new - -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - name: checkout repository - uses: actions/checkout@v3 - - - uses: mymindstorm/setup-emsdk@v13 - - - name: Prepare web data - run: ./build-scripts/prepare-web-data.sh - - - name: Build with emcc (emscripten) - run: ./build-scripts/build-emscripten.sh - - - name: Assemble web bundle - run: | - ./build-scripts/prepare-web.sh - - - name: Upload bundle - uses: actions/upload-artifact@v4 - with: - name: play-cdda - path: build/* diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml new file mode 100644 index 0000000000000..aa60ea5d66bae --- /dev/null +++ b/.github/workflows/emscripten.yml @@ -0,0 +1,68 @@ +name: Emscripten build + +on: + push: + branches: + - master + paths-ignore: + - 'android/**' + - 'build-data/osx/**' + - 'doc/**' + - 'doxygen_doc/**' + - 'lang/**' + - 'lgtm/**' + - 'tools/**' + - '!tools/format/**' + - 'utilities/**' + pull_request: + branches: + - master + paths-ignore: + - 'android/**' + - 'build-data/osx/**' + - 'doc/**' + - 'doxygen_doc/**' + - 'lang/**' + - 'lgtm/**' + - 'tools/**' + - '!tools/format/**' + - 'utilities/**' + +# We only care about the latest revision of a PR, so cancel previous instances. +concurrency: + group: emscripten-build-${{ github.event.pull_request.number || github.ref_name }} + cancel-in-progress: true + +env: + BACKTRACE: 0 + +jobs: + build_catatclysm: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Use GNU tar to enable zstd for actions/cache + run: | + echo "Adding GNU tar to PATH" + echo C:\Program Files\Git\usr\bin>>"%GITHUB_PATH%" + shell: cmd + + - uses: mymindstorm/setup-emsdk@v13 + + - name: Prepare web data + run: ./build-scripts/prepare-web-data.sh + + - name: Build with emcc (emscripten) + run: ./build-scripts/build-emscripten.sh + + - name: Assemble web bundle + run: ./build-scripts/prepare-web.sh + + - name: Create artifact + uses: actions/upload-artifact@v4 + with: + name: play-cdda + path: build/* From ae13f674458e4da93d2185d1d969b6f93793f0f7 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 21:32:48 -0800 Subject: [PATCH 29/42] remove unused env in workflow --- .github/workflows/emscripten.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index aa60ea5d66bae..1843471255ac7 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -33,9 +33,6 @@ concurrency: group: emscripten-build-${{ github.event.pull_request.number || github.ref_name }} cancel-in-progress: true -env: - BACKTRACE: 0 - jobs: build_catatclysm: name: Build From bf9d67f67c0d338ec65afda2ee06ac3641379ff7 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 21:33:17 -0800 Subject: [PATCH 30/42] remove nonsense --- .github/workflows/emscripten.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index 1843471255ac7..41e62cb626c17 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -41,12 +41,6 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Use GNU tar to enable zstd for actions/cache - run: | - echo "Adding GNU tar to PATH" - echo C:\Program Files\Git\usr\bin>>"%GITHUB_PATH%" - shell: cmd - - uses: mymindstorm/setup-emsdk@v13 - name: Prepare web data From b761397d8b8efeee98a38b84369eeb0c50c5a186 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 21:35:45 -0800 Subject: [PATCH 31/42] ignore ESC in main menu --- src/main_menu.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main_menu.cpp b/src/main_menu.cpp index c75996d4330d1..e6eff491d20d3 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -734,9 +734,11 @@ bool main_menu::opening_screen() // also check special keys if( action == "QUIT" ) { +#if !defined(EMSCRIPTEN) if( query_yn( _( "Really quit?" ) ) ) { return false; } +#endif } else if( action == "LEFT" || action == "PREV_TAB" || action == "RIGHT" || action == "NEXT_TAB" ) { sel_line = 0; sel1 = inc_clamp_wrap( sel1, action == "RIGHT" || action == "NEXT_TAB", From d3bafce2594f14c0867cfe06e6d998b05e76efce Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 21:46:56 -0800 Subject: [PATCH 32/42] speedbump when closing page if game is unsaved --- index.html | 4 ++++ src/do_turn.cpp | 6 ++++++ src/game.cpp | 9 +++++++++ 3 files changed, 19 insertions(+) diff --git a/index.html b/index.html index c6916a944e4c8..78d5bd7422dd4 100644 --- a/index.html +++ b/index.html @@ -290,6 +290,10 @@ window.onerror = function (event) { alert("Exception thrown, see JavaScript console."); }; + window.onbeforeunload = (e) => { + if (window.game_unsaved) + e.preventDefault(); + } diff --git a/src/do_turn.cpp b/src/do_turn.cpp index 5a6ad12af3b02..0c0200c3dbd80 100644 --- a/src/do_turn.cpp +++ b/src/do_turn.cpp @@ -714,5 +714,11 @@ bool do_turn() u.power_balance = u.get_power_level() - u.power_prev_turn; u.power_prev_turn = u.get_power_level(); +#if defined(EMSCRIPTEN) + // This will cause a prompt to be shown if the window is closed, until the + // game is saved. + EM_ASM(window.game_unsaved = true;) +#endif + return false; } diff --git a/src/game.cpp b/src/game.cpp index 8439b06589fc6..bd9e27214933e 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -33,6 +33,10 @@ #include #include +#if defined(EMSCRIPTEN) +#include +#endif + #include "achievement.h" #include "action.h" #include "activity_actor_definitions.h" @@ -3430,6 +3434,11 @@ bool game::save() popup( _( "Failed to save game data" ) ); return false; } +#if defined(EMSCRIPTEN) + // This will allow the window to be closed without a prompt, until do_turn() + // is called. + EM_ASM(window.game_unsaved = false;) +#endif } std::vector game::list_active_saves() From b61cff36855a2130e535137756b493daaba9bd82 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Fri, 5 Jan 2024 22:04:24 -0800 Subject: [PATCH 33/42] fs sync polling => precise --- src/filesystem.cpp | 2 +- src/main.cpp | 23 ++++++++--------------- src/mapsharing.cpp | 2 +- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 9810d2f78780f..f7489a74047b7 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -24,7 +24,7 @@ void setFsNeedsSync() { - EM_ASM( window.idb_needs_sync = true; ); + EM_ASM( window.setFsNeedsSync(); ); } #else void setFsNeedsSync() diff --git a/src/main.cpp b/src/main.cpp index 3de31673a666d..2f2a9e656d93a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -587,13 +587,17 @@ EM_ASYNC_JS( void, mount_idbfs, (), { } ); } ); - window.idb_is_syncing = false; - function syncIDB() + let fsNeedsSync = false; + function setFsNeedsSync() { + if (!fsNeedsSync) requestAnimationFrame( syncFs ); + fsNeedsSync = true; + } + + function syncFs() { console.log( "Persisting to IDBFS..." ); - window.idb_is_syncing = true; FS.syncfs( false, function( err ) { - window.idb_is_syncing = false; + fsNeedsSync = false; if( err ) { console.error( err ); } else { @@ -601,17 +605,6 @@ EM_ASYNC_JS( void, mount_idbfs, (), { } } ); } - - window.idb_needs_sync = false; - function checkIDB() - { - if( window.idb_needs_sync && !window.idb_is_syncing ) { - window.idb_needs_sync = false; - syncIDB(); - } - window.requestAnimationFrame( checkIDB ); - } - window.requestAnimationFrame( checkIDB ); } ); #endif diff --git a/src/mapsharing.cpp b/src/mapsharing.cpp index d1fb103a32968..31b44c40f58bd 100644 --- a/src/mapsharing.cpp +++ b/src/mapsharing.cpp @@ -163,6 +163,6 @@ void ofstream_wrapper::close() } #if defined(EMSCRIPTEN) - EM_ASM( window.idb_needs_sync = true; ); + EM_ASM( window.setFsNeedsSync(); ); #endif } From e64dd6034064993461cf074170a239548d20994c Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sat, 6 Jan 2024 10:08:28 -0800 Subject: [PATCH 34/42] forgot to include emscripten.h --- src/do_turn.cpp | 6 +++++- src/game.cpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/do_turn.cpp b/src/do_turn.cpp index 0c0200c3dbd80..10680e0222dcf 100644 --- a/src/do_turn.cpp +++ b/src/do_turn.cpp @@ -1,5 +1,9 @@ #include "do_turn.h" +#if defined(EMSCRIPTEN) +#include +#endif + #include "action.h" #include "avatar.h" #include "bionics.h" @@ -717,7 +721,7 @@ bool do_turn() #if defined(EMSCRIPTEN) // This will cause a prompt to be shown if the window is closed, until the // game is saved. - EM_ASM(window.game_unsaved = true;) + EM_ASM( window.game_unsaved = true; ); #endif return false; diff --git a/src/game.cpp b/src/game.cpp index bd9e27214933e..c40a2341c8620 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -3437,7 +3437,7 @@ bool game::save() #if defined(EMSCRIPTEN) // This will allow the window to be closed without a prompt, until do_turn() // is called. - EM_ASM(window.game_unsaved = false;) + EM_ASM( window.game_unsaved = false; ); #endif } From 0e8d6fa4587d5d431a3d1bbc2cb3d05a527ef926 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sat, 6 Jan 2024 10:42:23 -0800 Subject: [PATCH 35/42] don't strip emscripten --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index f3351c80e9bcd..a0622ab408d1a 100644 --- a/Makefile +++ b/Makefile @@ -1013,7 +1013,9 @@ $(TARGET): $(OBJS) ifeq ($(RELEASE), 1) ifndef DEBUG_SYMBOLS ifneq ($(BACKTRACE),1) + ifneq ($(NATIVE), emscripten) $(STRIP) $(TARGET) + endif endif endif endif From 0a9a09a6e954fe23985b8ac01ddc73d2e6e288c9 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sat, 6 Jan 2024 10:42:56 -0800 Subject: [PATCH 36/42] astyle --- src/main.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 2f2a9e656d93a..8c414444f612d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -588,8 +588,11 @@ EM_ASYNC_JS( void, mount_idbfs, (), { } ); let fsNeedsSync = false; - function setFsNeedsSync() { - if (!fsNeedsSync) requestAnimationFrame( syncFs ); + function setFsNeedsSync() + { + if( !fsNeedsSync ) { + requestAnimationFrame( syncFs ); + } fsNeedsSync = true; } From c6ff81d6427c70697fcee898f9ce3d04ed2c68f2 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sat, 6 Jan 2024 15:50:27 -0800 Subject: [PATCH 37/42] expose setFsNeedsSync on window --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 8c414444f612d..872db387d7783 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -588,7 +588,7 @@ EM_ASYNC_JS( void, mount_idbfs, (), { } ); let fsNeedsSync = false; - function setFsNeedsSync() + window.setFsNeedsSync = function setFsNeedsSync() { if( !fsNeedsSync ) { requestAnimationFrame( syncFs ); From b484fdfe198b7067812318bedb8a6efbfdbd26ce Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sat, 6 Jan 2024 16:50:20 -0800 Subject: [PATCH 38/42] acorn bug...? --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 872db387d7783..a7f5705009fc2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -594,7 +594,7 @@ EM_ASYNC_JS( void, mount_idbfs, (), { requestAnimationFrame( syncFs ); } fsNeedsSync = true; - } + }; function syncFs() { From 60ef5cf04f0f5c1ddc3c1edb546e6e9897afcc08 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sat, 6 Jan 2024 16:51:18 -0800 Subject: [PATCH 39/42] looks like -gseparate-dwarf prevents some binaryen opts --- Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a0622ab408d1a..a3e9668035079 100644 --- a/Makefile +++ b/Makefile @@ -639,7 +639,9 @@ ifeq ($(NATIVE), emscripten) # Flags that are common across compile and link phases. EMCC_COMMON_FLAGS = -sUSE_SDL=2 -sUSE_SDL_IMAGE=2 -sUSE_SDL_TTF=2 -sSDL2_IMAGE_FORMATS=['png'] - EMCC_COMMON_FLAGS += -g + ifneq ($(RELEASE), 1) + EMCC_COMMON_FLAGS += -g + endif CXXFLAGS += $(EMCC_COMMON_FLAGS) LDFLAGS += $(EMCC_COMMON_FLAGS) @@ -662,11 +664,11 @@ ifeq ($(NATIVE), emscripten) # Release-mode Linker flags. LDFLAGS += -Os LDFLAGS += -sLZ4 - LDFLAGS += -gseparate-dwarf else # Debug mode linker flags. LDFLAGS += -O1 # Emscripten link time is slow, so use low optimization level. LDFLAGS += -sFS_DEBUG + LDFLAGS += -gseparate-dwarf endif endif From 99eb8b6ef4b272914a56e32dc854226dde51f1e7 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sun, 7 Jan 2024 12:02:43 -0800 Subject: [PATCH 40/42] we don't generate the debug.wasm any more --- build-scripts/prepare-web.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-scripts/prepare-web.sh b/build-scripts/prepare-web.sh index eb8d27a9be1d5..914e88bfdbd1d 100755 --- a/build-scripts/prepare-web.sh +++ b/build-scripts/prepare-web.sh @@ -4,7 +4,7 @@ set -exo pipefail mkdir -p build/ cp \ index.html \ - cataclysm-tiles.{data,js,wasm,wasm.debug.wasm} \ + cataclysm-tiles.{data,js,wasm} \ data/font/Terminus.ttf \ build cp data/cataicon.ico build/favicon.ico From 45f3573a8fe23f3ad88a323fba1ffcc0311dede0 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sun, 7 Jan 2024 15:38:15 -0800 Subject: [PATCH 41/42] move game_unsaved = false to before return in game::save --- src/game.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/game.cpp b/src/game.cpp index b2740f51ba49d..9ffe59dc58598 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -3421,17 +3421,17 @@ bool game::save() fout.imbue( std::locale::classic() ); fout << total_time_played.count(); } ); +#if defined(EMSCRIPTEN) + // This will allow the window to be closed without a prompt, until do_turn() + // is called. + EM_ASM( window.game_unsaved = false; ); +#endif return true; } } catch( std::ios::failure & ) { popup( _( "Failed to save game data" ) ); return false; } -#if defined(EMSCRIPTEN) - // This will allow the window to be closed without a prompt, until do_turn() - // is called. - EM_ASM( window.game_unsaved = false; ); -#endif } std::vector game::list_active_saves() From a225a5c3aec724d8448c84c007a917f166219120 Mon Sep 17 00:00:00 2001 From: Jeremy Rose Date: Sun, 7 Jan 2024 18:18:29 -0800 Subject: [PATCH 42/42] make setFsNeedsSync static to suppress -Wmissing-declarations error --- src/filesystem.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 3b3171ad28669..624daed19fdf6 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -12,6 +12,10 @@ #include #include +#if defined(EMSCRIPTEN) +#include +#endif + #include "cata_utility.h" #include "debug.h" @@ -52,18 +56,12 @@ static const std::array invalid_names = { }; #endif -#if defined(EMSCRIPTEN) -#include - -void setFsNeedsSync() +static void setFsNeedsSync() { +#if defined(EMSCRIPTEN) EM_ASM( window.setFsNeedsSync(); ); -} -#else -void setFsNeedsSync() -{ -} #endif +} static const std::string invalid_chars = "\\/:?\"<>|";