From 01ff2ec75ac010c2de98561fe9047db96cc349db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=9A=93?= Date: Thu, 22 May 2025 19:20:28 -0400 Subject: [PATCH] Apply some small fixes to save state serialization in libretro builds --- binding-sandbox/sandbox-serial-util.h | 6 +++--- src/display/bitmap.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/binding-sandbox/sandbox-serial-util.h b/binding-sandbox/sandbox-serial-util.h index d7ceffc3..fe018807 100644 --- a/binding-sandbox/sandbox-serial-util.h +++ b/binding-sandbox/sandbox-serial-util.h @@ -79,14 +79,14 @@ namespace mkxp_sandbox { using namespace mkxp_sandbox; if (ptr == nullptr) { - if (!mkxp_sandbox::sandbox_serialize((uint32_t)2, data, max_size)) return false; + if (!mkxp_sandbox::sandbox_serialize((uint8_t)2, data, max_size)) return false; } else { const auto &it = map.find(ptr); if (it != map.end()) { - if (!mkxp_sandbox::sandbox_serialize((uint32_t)(it->second.is_extra ? 1 : 0), data, max_size)) return false; + if (!mkxp_sandbox::sandbox_serialize((uint8_t)(it->second.is_extra ? 1 : 0), data, max_size)) return false; if (!mkxp_sandbox::sandbox_serialize(it->second.key, data, max_size)) return false; } else { - if (!mkxp_sandbox::sandbox_serialize((uint32_t)1, data, max_size)) return false; + if (!mkxp_sandbox::sandbox_serialize((uint8_t)1, data, max_size)) return false; constexpr wasm_size_t typenum = get_typenum::value; extra_objects.emplace_back((const void *)ptr, typenum); diff --git a/src/display/bitmap.cpp b/src/display/bitmap.cpp index 7e6e10c0..c5d27a37 100644 --- a/src/display/bitmap.cpp +++ b/src/display/bitmap.cpp @@ -3392,6 +3392,9 @@ void Bitmap::loresDisposal() #ifdef MKXPZ_RETRO bool Bitmap::_sandbox_serialize_inner(void *&data, mkxp_sandbox::wasm_size_t &max_size) const { + if (isDisposed()) return mkxp_sandbox::sandbox_serialize(false, data, max_size); + if (!mkxp_sandbox::sandbox_serialize(true, data, max_size)) return false; + if (!mkxp_sandbox::sandbox_serialize((int32_t)width(), data, max_size)) return false; if (!mkxp_sandbox::sandbox_serialize((int32_t)height(), data, max_size)) return false; if (!mkxp_sandbox::sandbox_serialize(p->animation.enabled, data, max_size)) return false; @@ -3416,9 +3419,6 @@ bool Bitmap::_sandbox_serialize_inner(void *&data, mkxp_sandbox::wasm_size_t &ma bool Bitmap::sandbox_serialize(void *&data, mkxp_sandbox::wasm_size_t &max_size) const { - if (isDisposed()) return mkxp_sandbox::sandbox_serialize(false, data, max_size); - if (!mkxp_sandbox::sandbox_serialize(true, data, max_size)) return false; - if (!mkxp_sandbox::sandbox_serialize(p->selfHires != nullptr, data, max_size)) return false; if (p->selfHires != nullptr) {