Shared chest, menu after a game, dialogs over 16:9 screens

- Shared chest: emptied and not saved from the moment a save game is read
  until it reloads; a hero saved inside a load wrote the new world's
  objects (stale ids) as the chest's items.
- Main menu after a game: shown 16:9 screens are tracked on the menu thread
  only and expire after 2 frames; a destroyed in-game window kept the menu
  unframed (old pictures, frame at the left).
- Dialogs over a 16:9 screen in the main menu are centred, their dimming
  covers the screen.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
khallaandClaude Opus 5.5 committed 2026-10-21 00:41:12 +02:00
1 parent c4aacbcdd2
commit 0ef3cf4bbd
6 files changed
+68 -25

No files matched your search

+15
View File
@@ -70,3 +70,18 @@ was empty after loading another character (in-game saves don't call saveHero).
- loadHero's extra fix-up for some item classes (`0x5beaa0` / `0x5d3a20`,
item classes 5, 6, 8, 0xd, 0x11..0x19, 0x1b, 0x1d) is not repeated.
- Multiplayer: not supported.
## Items replaced by a world's (fixed 2026-10-21)
Reported: the shared chest's items were gone, other items (potions, gear) in
their cells. The grid holds object ids. A save game loaded into the running
engine (Esc "Laden", cEngine::Load from the render loop 0x60e68d) replaces
all objects, so until the chest reloads on the next tick its ids name the new
world's objects. A hero saved inside that load (characters.cpp Engine_Load: a
migrated character's first load makes its world hero the shared hero with
SaveHero) wrote the shared chest, i.e. those objects, into
shared_chest.json; the next tick loaded them as the chest. Now the chest is
emptied and marked unloaded as soon as a save game is read or a game starts
(RequestLoad), so no save writes it before it is loaded again. The user's
chest was restored from the 2026-10-19 backup (the broken file kept as
backup/shared_chest.broken-2026-10-21.json).