Opened 15 months ago
Closed 15 months ago
#13176 closed defect (fixed)
ULTIMA 8: Inventory gone after leaving Central Tenebrae
|Reported by:||ducksys||Owned by:||mduggan|
|Cc:||Game:||Ultima VIII: Pagan|
Release 2.5.0 or
2.6.0git2103-g27fefddd8f (Dec 22 2021 21:53:36)
How to reproduce:
- open the attached savegame
- open the backpack and then close it (just to make sure it still works)
- leave Central Tenebrae by foot or the recall item
- open backpack
Expected: the backpack opens and you still have your armor and weapon
Actual: the backpack doesn't open and your armor and weapon are gone
- After step 3 dragging any item onto the avatar crashes scummvm
- If you leave the area by foot, and then return, you will find your backpack and every item dropped on the floor, except the Scimitar of Khumash-Gor which always disappears
- The bug started happening after dropping and arranging a lot of items on the floor in Central Tenebrae around the teleport pad, and then saving the game while still in Central Tenebrae
- The only way to get a new backpack is to ask Mythran for a potion, but saving the game and leaving the area re-triggers the bug
Change History (9)
by , 15 months ago
comment:1 by , 15 months ago
comment:2 by , 15 months ago
I worked out what is wrong with this save. Unfortunately I still don't understand how the game got into this state.
I'll keep looking for the root cause, but for now I put in a workaround in commit
by , 15 months ago
comment:3 by , 15 months ago
Thanks for looking into this, I found another savegame where you can still freely teleport back and forth to Central Tenebrae, but then after saving and loading the game the bug starts happening again so:
1 load ultima8.034
2 verify that you can teleport between the plateau and Central Tenebrae without losing your inventory
3 create a new savegame while in Central Tenebrae, near the teleporter pad
4 load the newly created savegame
5 teleport to the plateau
6 open your inventory, the inventory is now broken again
Perhaps this will help in figuring out what's happening.
comment:4 by , 15 months ago
Thanks, there is an extra strange thing happening here that I still don't know how it gets in that state.
The engine code is trying to pop some things into containers that don't exist, and that can corrupt the ethereal list.
I'll put in another workaround to avoid this corruption and keep the list consistent at least. I also noticed some small behaviour differences from the original game that might trigger the issue in the first place, so I'll fix those.
comment:5 by , 15 months ago
Implemented some improvements in
3b3b953. I think these probably also fix the situation that led to the original bug, but the first workaround should also be harmless so I'll leave it in place too for people with corrupted saves. Please give it a spin and let me know if you see any issues.
comment:6 by , 15 months ago
Using build 2.6.0git2211-g142f1d0c81d (Dec 29 2021 04:51:25)
I managed to recover my savegame and the bug seems gone.
Thank you very much for fixing this!
comment:7 by , 15 months ago
|Status:||new → closed|
Thanks for confirming! I'll mark this as fixed.
I had seen this bug once before and someone else reported it happening, but I had never been able to make a reliable repro case for it - going back to my last save didn't repro the problem. Having this save helps a lot. I'll take a look at it.