summaryrefslogtreecommitdiff
path: root/StormLib/src/SFilePatchArchives.cpp
diff options
context:
space:
mode:
authorDavid Racine <bass_dr@hotmail.com>2026-08-03 09:36:29 -0400
committerGitHub <noreply@github.com>2026-08-03 13:36:29 +0000
commit44f680a0b96412929638c7dd0bdfff639b689588 (patch)
treeed0f25cfb9d3701b857e1cc09c75ff95cf5e5264 /StormLib/src/SFilePatchArchives.cpp
parent985590246fbd1926cd53b9f8a8acf35fcf880276 (diff)
Fix Save Editor inventory edits leaving C/D-pad buttons desynced (#7008)
The Save Editor's Inventory tab writes gSaveContext.inventory.items[] directly, but a C/D-pad item button mirrors the slot it points at (buttonItems[i] == items[cButtonSlots[i-1]]). That derived value was never refreshed, so e.g. emptying a bottle assigned to a button left the button showing its old contents -- a desync the game's equip/inventory consistency then trips on at the next age swap or bottle update. Re-sync any button pointing at an edited slot after the write. Equipment assigned to a button stores an equipment-page index in cButtonSlots (>= inventory size), so it never matches an inventory slot and is left untouched. Includes a default-on "Keep C/D-pad buttons in sync" checkbox (mirroring "Restrict to valid items") so inventory edits can intentionally leave a slot desynced from its button for RBA practice/debugging. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'StormLib/src/SFilePatchArchives.cpp')
0 files changed, 0 insertions, 0 deletions