Savegame breaks in Blade of Agony
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
- drfrag
- Vintage GZDoom Developer
- Posts: 3141
- Joined: Fri Apr 23, 2004 3:51 am
- Location: Spain
- Contact:
Re: Savegame breaks in Blade of Agony
Thanks as i understand those errors are random and rare until now that the problem has been exposed, may be merging them before the next release could make things even worse.
- drfrag
- Vintage GZDoom Developer
- Posts: 3141
- Joined: Fri Apr 23, 2004 3:51 am
- Location: Spain
- Contact:
Re: Savegame breaks in Blade of Agony
Actually why don't you test the PR now with an inhouse build?Nash wrote:if your changes get merged, I can easily test (with my project) save/load and level-travel.
-
-
- Posts: 374
- Joined: Mon Jun 27, 2016 7:26 pm
- Preferred Pronouns: He/Him
- Graphics Processor: nVidia with Vulkan support
- Contact:
Re: Savegame breaks in Blade of Agony
I built my own build of GZDoom from the code in mental's fork, and I noticed something interesting.
I have a savegame on INTERMAP before C1M2, and if I load that save from the main menu, the game will fail to save once I enter C1M2 due to an out-of-bounds array value, which is apparently "blockingline" (I modified the code to print the name of the variable being serialized).
However, if I start a new game from chapter 1, skip to INTERMAP, and THEN load the aforementioned saved game, the out-of-bounds array value issue will not occur.
I have a savegame on INTERMAP before C1M2, and if I load that save from the main menu, the game will fail to save once I enter C1M2 due to an out-of-bounds array value, which is apparently "blockingline" (I modified the code to print the name of the variable being serialized).
However, if I start a new game from chapter 1, skip to INTERMAP, and THEN load the aforementioned saved game, the out-of-bounds array value issue will not occur.
Re: Savegame breaks in Blade of Agony
Please post this saved game along with the actual BoA commit hash.
-
-
- Posts: 374
- Joined: Mon Jun 27, 2016 7:26 pm
- Preferred Pronouns: He/Him
- Graphics Processor: nVidia with Vulkan support
- Contact:
Re: Savegame breaks in Blade of Agony
Here's the WolfenDoom commit, and the savegame, which requires Freedoom: Phase 2 to be used as the IWAD in order for it to show up on the savegame list. However, I can't seem to reproduce the non-breakage after starting a new game and loading that saved game.
Re: Savegame breaks in Blade of Agony
Hi _mental_, I'd just like to say THANK YOU for this commit which finally brought me directly to the source of my problem with dangling pointers and apply a solution for it. This has been plaguing our project for almost a year, maybe even more. :D
Re: Savegame breaks in Blade of Agony
There is a chance that some pointer serialization issues are still present in the engine itself. So, the corresponding errors may occur even with valid scripts.
Unfortunately, it's impossible to find them without very extensive testing. This, in turn, is impossible without committing my changes to master.
Unfortunately, it's impossible to find them without very extensive testing. This, in turn, is impossible without committing my changes to master.
-
- Posts: 805
- Joined: Thu Apr 25, 2013 12:21 pm
- Preferred Pronouns: They/Them
- Operating System Version (Optional): Windows 11 for the Motorola Powerstack II
- Graphics Processor: nVidia with Vulkan support
- Location: The Corn Fields
- Contact:
Re: Savegame breaks in Blade of Agony
I just encountered this in my own project. The same blockingline. I've never encountered this before.
My main thing is I have genuinely no idea how to fix this now.
My main thing is I have genuinely no idea how to fix this now.
Re: Savegame breaks in Blade of Agony
While I was lucky in that I knew where the problem came from (I knew which actor to look for from the start); I think one improvement that can be added to the help text is print some more detailed information, like which actor class is trying to serialize the dangling pointer? What do you think, _mental_?
(This is relevant only for actors obviously, for the other sources of dangling pointers, I have no new ideas, plus I've never encountered them yet so far...)
(This is relevant only for actors obviously, for the other sources of dangling pointers, I have no new ideas, plus I've never encountered them yet so far...)
Re: Savegame breaks in Blade of Agony
It's not that simple. There is no such information available at the place of added checks.