Commit graph

2477 commits

Author SHA1 Message Date
刘皓
6eb3e9fe9b
Remove extra #include "wasm-types.h" from audio.cpp and soundemitter.cpp 2025-06-03 18:26:50 -04:00
刘皓
ba8964c97c
Fix edge case in libretro save state deserialization of SE state 2025-06-03 17:55:41 -04:00
刘皓
e19ee7f60a
Implement libretro save state serialization/deserialization for audio state 2025-06-03 17:41:51 -04:00
刘皓
1c83c69f7f
Remove references to dupeFrame in standalone builds 2025-06-03 16:11:56 -04:00
刘皓
784e62d1c5
Cast struct sandbox_str_guard to const char * before passing to variadic functions 2025-06-03 14:26:48 -04:00
刘皓
f97fbe7e0e
Implement frame duping properly for Graphics.play_movie in libretro builds 2025-06-03 14:18:28 -04:00
刘皓
75b3108321
Fix some edge cases in handling animated bitmaps in libretro builds 2025-06-03 14:03:02 -04:00
刘皓
a71746bca0
Revert "Remove WASI_DEBUG macro"
This reverts commit d62d6aef3e.

Now that `sandbox_str()` is safe to use, I should put this macro back
in.
2025-06-03 13:30:22 -04:00
刘皓
6bddd82618
Change sandbox_str() to return a guard object instead of a pointer to a static string in big-endian libretro builds 2025-06-03 13:14:51 -04:00
刘皓
addf927922
Merge branch 'misc-fixes' into libretro 2025-06-03 11:36:20 -04:00
刘皓
f1cb1fc533
Change Input::getClipboardText() to return std::string instead of const char * 2025-06-03 11:35:27 -04:00
刘皓
afb0748ffa
Use a priority deque to allocate object keys/WASI file descriptors 2025-06-03 10:59:30 -04:00
刘皓
f84ad5b781
Implement libretro save state serialization/deserialization for graphics state 2025-06-02 22:14:34 -04:00
刘皓
175a210532
Implement deserializing libretro save states of the opposite endianness 2025-06-02 17:39:30 -04:00
刘皓
47ed9730ed
Fix some remaining issues with bitmap serialization/deserialization for libretro save states 2025-06-02 13:19:31 -04:00
刘皓
c679d27017
Optimize handling of empty diff tiles during bitmap libretro save state deserialization 2025-06-01 22:58:21 -04:00
刘皓
cfc8eb93ba
Fix libretro save state serialization of Bitmap.fill_rect 2025-06-01 22:48:13 -04:00
刘皓
4887ac62ad
Implement serializing/deserializing bitmap pixels for libretro save states 2025-06-01 21:35:27 -04:00
刘皓
595ff58746
Fix Window controls element not being added to scene after libretro save state deserialization 2025-05-31 23:59:57 -04:00
刘皓
717072c0a4
Fix WindowVX base quad sometimes not being updated after libretro save state deserialization 2025-05-31 23:52:43 -04:00
刘皓
bfc96f2e11
Call updateInternal() after deserializing Color/Tone from libretro save state 2025-05-31 23:23:01 -04:00
刘皓
9db5a2e1da
Fix crash in libretro builds when the game throws an error or exits 2025-05-31 21:06:18 -04:00
刘皓
3c244cc7ea
Refactor libretro save state serialization to not require extra objects 2025-05-31 19:06:57 -04:00
刘皓
adc9cdd96d
Implement reloading bitmaps during libretro save state deserialization 2025-05-31 18:33:47 -04:00
刘皓
83eeb18b3b
Fix disposed objects in libretro save states sometimes being undisposed after deserialization 2025-05-31 18:09:51 -04:00
刘皓
bb4dd64d8d
Add some safety checks to libretro save state deserialization 2025-05-31 16:34:15 -04:00
刘皓
ef07a974ec
Free shared state when sandbox is destroyed in libretro builds 2025-05-31 16:06:07 -04:00
刘皓
6f6efb4ef0
Fix fonts and autotiles/bitmap arrays being leaked when serializing libretro save states 2025-05-31 12:26:26 -04:00
刘皓
4ea31f4761
Fix disposed objects being added to scenes during libretro save state deserialization 2025-05-31 11:11:08 -04:00
刘皓
2ee1b61670
Fix some more bugs in libretro save state serialization/deserialization 2025-05-31 10:47:47 -04:00
刘皓
7f3e02ceec
Fix bugs in tilemap serialization/deserialization in libretro builds 2025-05-30 23:46:01 -04:00
刘皓
da2fe19f44
Fix bugs in viewport element/scene element deserialization in libretro builds 2025-05-30 22:57:58 -04:00
刘皓
755565d3d6
Handle viewport changes when deserializing save states in libretro builds 2025-05-30 18:44:21 -04:00
刘皓
4202d94b79
Read in std::ios::binary mode in indexer.cpp
Not using `std::ios::binary` when reading binary files leads to problems
on certain operating systems, such as Windows.
2025-05-30 17:54:06 -04:00
刘皓
a84d85cf1f
Update some more dirty flags when deserializing save states in libretro builds 2025-05-30 14:57:24 -04:00
刘皓
6ddc8c6ce4
Update plane/window dirty flags when deserializing save states in libretro builds 2025-05-29 21:54:11 -04:00
刘皓
56c711f1c1
Move some serialization-related code from binding-util to sandbox-serial-util 2025-05-29 21:06:29 -04:00
刘皓
28b81ca95d
Update tilemap dirty flags during libretro save state deserialization 2025-05-29 14:57:02 -04:00
刘皓
7980cd440a
Handle change watches when deserializing save states in libretro builds 2025-05-29 10:41:19 -04:00
刘皓
0a578b4544
Merge branch 'misc-fixes' into libretro 2025-05-28 18:55:11 -04:00
刘皓
38c122a08c
Merge branch 'dev' into misc-fixes 2025-05-28 18:51:05 -04:00
刘皓
79e732d032
Fix dispose watches sometimes not being disconnected when deserializing libretro save states 2025-05-28 17:37:00 -04:00
刘皓
c802e24f1b
Fix WASI file descriptor deserialization bugs in libretro builds 2025-05-28 17:07:22 -04:00
刘皓
b664b3c8c7
Disconnect dispose watches before deserializing save states in libretro builds 2025-05-28 16:01:32 -04:00
刘皓
6f472fb732
Handle disposal when deserializing save states in libretro builds 2025-05-28 15:32:43 -04:00
刘皓
1f5d90822c
Remove designated initializers
Apparently these are not valid until C++20.
2025-05-27 21:28:29 -04:00
刘皓
ede42dbb1b
Fix serialization of Tilemap::Autotiles and TilemapVX::BitmapArray in libretro builds, for real this time 2025-05-27 19:11:58 -04:00
刘皓
002b66d167
Fix serialization of Tilemap::Autotiles and TilemapVX::BitmapArray in libretro builds 2025-05-27 17:22:31 -04:00
刘皓
8ca753d85d
Continue implementing save state deserialization in libretro builds 2025-05-27 16:59:41 -04:00
刘皓
290ce15875
Fix typos in binding-sandbox/sandbox-serial-util.h 2025-05-26 21:29:10 -04:00