From d80521f86ce9b2346c6618e742e4fbf88fd16518 Mon Sep 17 00:00:00 2001 From: maru Date: Tue, 27 Feb 2024 02:41:55 -0500 Subject: [PATCH] Add onSaveSlotUploaded to FS.syncFS callback --- src/async_handler.cpp | 5 +++-- src/async_handler.h | 2 +- src/scene_save.cpp | 6 +----- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/async_handler.cpp b/src/async_handler.cpp index 207a1fcc2..f3b32afa9 100644 --- a/src/async_handler.cpp +++ b/src/async_handler.cpp @@ -274,13 +274,14 @@ bool AsyncHandler::IsFilePending(bool important, bool graphic) { return false; } -void AsyncHandler::SaveFilesystem() { +void AsyncHandler::SaveFilesystem(int slotId) { #ifdef EMSCRIPTEN // Save changed file system EM_ASM({ FS.syncfs(function(err) { + onSaveSlotUpdated($0); }); - }); + }, slotId); #endif } diff --git a/src/async_handler.h b/src/async_handler.h index d6013f32a..f30fb1995 100644 --- a/src/async_handler.h +++ b/src/async_handler.h @@ -97,7 +97,7 @@ namespace AsyncHandler { * Saves the state of the Save filesystem. * Only works on emscripten, noop on other platforms. */ - void SaveFilesystem(); + void SaveFilesystem(int slotId); } using FileRequestBinding = std::shared_ptr; diff --git a/src/scene_save.cpp b/src/scene_save.cpp index f9bf75569..ddfbcaa15 100644 --- a/src/scene_save.cpp +++ b/src/scene_save.cpp @@ -157,11 +157,7 @@ bool Scene_Save::Save(std::ostream& os, int slot_id, bool prepare_save) { bool res = lcf::LSD_Reader::Save(os, save, lcf_engine, Player::encoding); DynRpg::Save(slot_id); - AsyncHandler::SaveFilesystem(); - - EM_ASM({ - onSaveSlotUpdated($0); - }, slot_id); + AsyncHandler::SaveFilesystem(slotId); return res; }