Duke3D: Loading outdated savegames and resulting problems with loadmapstate
In recent commits there was an update to the savegame system that allows old saves to be loaded, even when CON code has changed since.
It turns out that this does not mesh well with the
In the following video recorded in the mod WGRealms 2 Demon Throne, there is a Town hub that can be accessed from almost any level in the game, and which has its state saved throughout the game. Prior to what is seen in the video, I had accessed said Town map from E1L1, continued to E1L2, saved there and updated the CON files to a newer version from the development SVN. Afterwards, I access the Town again from E1L2:
Many of the sprites in the map started rapidly shooting all over the place, actors that were supposed to be dead came back to life, and several scripts stopped working entirely. From what I can gather,
loadmapstate works similarly to the save system itself. Perhaps whatever data has to be corrected when loading an outdated save is not being corrected for loading a mapstate.
Also here are some errors that were output into the console while this was going on. The console was being spammed so this is just a small sample:
Sprite 7590 tile 2329: invalid action at offset 137225 Sprite 7531 tile 2329: invalid action at offset 137225 Sprite 13198 tile 2329: invalid action at offset 137225