I was trying to make a low-tech copy of my QuickSave game by loading it, pressing Escape key while it's loading so that the options menu shows up immediately, and save the game again.
To my surprise, in the copy, the door that was in front of me slowly spins 360°, going thru the wall whereas it is just staying open in the QuickSave.
The diff between the two states shows some other oddities, like many corpses disappearing, and insideOpenShop being switched on. Looks like a technique to uncover state saving bugs...
SerializableEnemy state for dead enemies is removed after loading game [NOT A BUG]
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
SerializableEnemy state for dead enemies is removed after loading game [NOT A BUG]
- Attachments
-
- SAVE93.zip
- Copy with revolving door
- (181.52 KiB) Downloaded 70 times
-
- SAVE1.zip
- QuickSave
- (289.05 KiB) Downloaded 72 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Interkarma
- Posts: 7247
- Joined: Sun Mar 22, 2015 1:51 am
Re: Dev build/Linux: revolving door
Interesting!
Saves are restored via coroutine. Priority stuff like player state is loaded first and world state applied shortly after that. It sounds like you're able to capture state in the middle of being restored, so the new save is basically incomplete state and outcome will be undefined.
I'll play with this later and work in some protections so people can't inadvertently break their saves this way. Thanks for the report.
Saves are restored via coroutine. Priority stuff like player state is loaded first and world state applied shortly after that. It sounds like you're able to capture state in the middle of being restored, so the new save is basically incomplete state and outcome will be undefined.
I'll play with this later and work in some protections so people can't inadvertently break their saves this way. Thanks for the report.
- Interkarma
- Posts: 7247
- Joined: Sun Mar 22, 2015 1:51 am
Re: Possible to save game while a load is in progress
I've added some handling to prevent new saves being created while a load is in progress. This should fix partial state being written back out to save file as game must be fully restored before new saves can be created.
Let me know if you're still able to reproduce problem now in current code.
Let me know if you're still able to reproduce problem now in current code.
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Possible to save game while a load is in progress [FIX IN TESTING]
I can still trigger it.
It's a bit harder because the first time I open the options menu it doesn't get the "focus" (I can still move around with mouse and keyboard, etc.), but if I press the Escape key twice in rapid succession I get an option menu that works as usual and the same issue happens again (savegame with revolving door, missing corpses, not sure about insideOpenShop flag)
It's a bit harder because the first time I open the options menu it doesn't get the "focus" (I can still move around with mouse and keyboard, etc.), but if I press the Escape key twice in rapid succession I get an option menu that works as usual and the same issue happens again (savegame with revolving door, missing corpses, not sure about insideOpenShop flag)
- Attachments
-
- SAVE110.zip
- (274.09 KiB) Downloaded 75 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Interkarma
- Posts: 7247
- Joined: Sun Mar 22, 2015 1:51 am
Re: Possible to save game while a load is in progress [FIX IN TESTING]
When pause menu is open and game is not paused (can still move around, etc.), are any errors ejected into the log? Rapid-fire save/load issues aside, this indicates a more general problem with pause UI. I might lock that out during load also.
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Possible to save game while a load is in progress [FIX IN TESTING]
Nothing in the log...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Interkarma
- Posts: 7247
- Joined: Sun Mar 22, 2015 1:51 am
Re: Possible to save game while a load is in progress [FIX IN TESTING]
Thank you.
Just FYI, I'm not able to trigger these issues myself. Steps I'm using to reproduce:
I'll move on to testing building interiors soon. I'll use a quest like "guard the mage's guild" to ensure there's a good number of bodies in the save.
Just FYI, I'm not able to trigger these issues myself. Steps I'm using to reproduce:
- Create a baseline interior save. Currently using PH with everything dead so there's loads of bodies around.
- Load this save from a fresh open and press Escape immediately after clicking "Load" on baseline save.
- Create a test save when pause menu opens.
- Load test save from fresh open and evaluate bodies, door state, etc.
I'll move on to testing building interiors soon. I'll use a quest like "guard the mage's guild" to ensure there's a good number of bodies in the save.
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Possible to save game while a load is in progress [FIX IN TESTING]
(PH?)
I've only seen corpses disappearing from SaveData.txt myself, using gamesave above, I'm not sure where they are located so it's harder to check if it has a visual impact in game; I assumed it did, but I should check if I can find some proof in one way or the other.
I've only seen corpses disappearing from SaveData.txt myself, using gamesave above, I'm not sure where they are located so it's harder to check if it has a visual impact in game; I assumed it did, but I should check if I can find some proof in one way or the other.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Interkarma
- Posts: 7247
- Joined: Sun Mar 22, 2015 1:51 am
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Possible to save game while a load is in progress [FIX IN TESTING]
Okay, so what disappears is not corpses, it's dead enemies. In other words, enemies with "isDead":true, but corpses markers are kept. I didn't make the difference before, now I see it matters.
So at least visually everything is fine... But why do we keep dead enemies around in the first place if they can safely be "garbage collected" by a save/reload cycle?
So at least visually everything is fine... But why do we keep dead enemies around in the first place if they can safely be "garbage collected" by a save/reload cycle?
- Attachments
-
- SAVE113.zip
- (84.78 KiB) Downloaded 67 times
-
- SAVE112.zip
- (135.35 KiB) Downloaded 70 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart