New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autosave bug in 0.53 #487

Open
fejoa opened this Issue Oct 2, 2018 · 1 comment

Comments

Projects
None yet
2 participants
@fejoa
Member

fejoa commented Oct 2, 2018

@AquariusPower, here's one from the forum: https://attnam.com/topics/Autosaves

Any ideas?

@AquariusPower

This comment has been minimized.

Contributor

AquariusPower commented Oct 3, 2018

interesting!

The presence of .bkp files is 100% related to the "windows blue screens", it means he was not able to save and return to the main menu successfully (btw, if there were .tmp files means something wrong happened during the game being saved and would be more problematic).

"Player not found" means:

  • the game backups the (possibly outdated) current dungeon level with player still present on it
  • the game removes the player from current dungeon level and saves the dungeon level on a normal file (w/o .bkp)
  • the game loaded/generated the dungeon level chosen to travel into it by the user
  • blue screen/crash happened
  • player can only be found on the backup file

TODO the flow above could be improved: the current dungeon level, with player at the dungeon exit square should be saved with the player STILL present on the dungeon level, and a .bkp file be created AFTER that, because between the last .bkp and trying to exit the dungeon level, happened things that would be lost if the AutoSave functionality didnt happen in between, but I think this may be just a minor improvement (not sure tho).

ok, if he manage to upload the compressed savegame it will help but I guess it will still be a big upload.
( The ".sav" files isolated would help already to determine what is the current dungeon file.
After that, uploading only such dungeon files, including the bkp one, would be enough to analyze the missing player problem.
all compressed .7z.zip preferably xD )

I think ivan 0.53 is quite old code related to fixing such problem.
Apparently providing "restore backup" option didnt kick-in automatically at that time.
So I guess, it may be on the config menu, not sure tho, I dont remember well how it was activated...

Also, if he wants to try manually fixing it, he can (backup all savegame files first, and then...) rename all .bkp files removing ".bkp" from them, and try to load the game again, the player will probably still exist in one of them! Unfortunalely this is not so simple to recover the savegame correctly, see below :/

now, thinking better, the game should NOT keep so many backup files...
when a dungeon is saved, just before doing it a backup is created to the current dungeon level.
But the moment the player moves to another dungeon level, the previous dungeon level .bkp file will still be there and will be outdated relatively to the normal file (the non .bkp one) that was already correctly saved, therefore such dungeon level .bkp outdated file is not needed anymore.
When recovering automatically (now at v0.54) there is no problem, outdated .bkp files will be discarded/ignored (TODO confirming this is 100% correct would be good).
But manually, this means that "rename all .bkp files removing '.bkp' from them" will just provide a messed outdated game to all dungeon levels other then the current one :(
The only way to properly manually recover the game would be to know what is the current dungeon file from the .sav file.
A screenshot of the savegame list showing what is the current dungeon could hint me on providing a proper manual recovering instruction (probably discarding all .bkp files but the current dungeon one that would overwrite the normal one), but I dont remember if v0.53 has such feature (to show the current dungeon on the list)!

There are many files saved at 10:32 PM (the newest save time), the seconds (even miliseconds) would help more tho...
So, the current dungeon stored at .sav file is or id=11 or id=12. Sorting that file list on windows explorer by time could hint the correct one if windows explorer considers seconds/milis on the sorting, if not it may still be wrong...

When you discover the correct one do this:

  • backup all savegame files first manually!
  • remove all .bkp files but the chosen ones (for 11 or 12) and keep also all .sav ones
  • remove the normal files for the chosen one (for 11 or 12) and all normal .sav ones
  • rename the chosen .bkp ones (simple and autosave ones) removing ".bkp" from it, do it also to all .sav.bkp ones
  • try to load again! the player will probably be there!

But.. it will be even better if he install v0.54 and manage to successfully import the old save (because of all new features and fixes including about recovering from lost/dup player), but that is not granted at all, so initially putting effort on trying to manually recover still at v0.53 is more granted to work.

PS.: anyone feel free to post a shorter reply summarizing this bloated comment I did if it helps :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment