Overwriting saved games with older saves

I am moving this post from the hexen board here because it appears to happen with other games (heretic) as well.

I am using: Doomsday Engine 1.15.2 (Stable 64-bit #1673) Aug 1 2015 17:52:09
on Kubuntu-15.04

When I start doomsday and select Hexen, then try to load a saved game, I find that doomsday has overwritten some of my saved games with old saves. I have a backup, and if I copy the old saves into ~/.doomsday/runtime/savegames/hexen and restart doomsday, the games I put there show up, but upon exiting, it overwrites the games I put there with old ones from somewhere else. I have not been able to find where it is storing those old game saves. This is very frustrating as it means I can no longer save any games. This seems to be a new thing in the last week or so, but I cannot figure out what happened to cause this. And I am seriously baffled as to where those old saves are being pulled in from. I have deleted the persist.pack file, so it isn't coming from there.

I took a look at doomsday.out, and it appears to be doing something with "~/.doomsday/runtime/cache/internal.save" but when I look in there I see no files.

(sorry, the "upload attachment" button doesn't seem to work, so I have to paste doomsday.out here.)

greenman@Crynfyd:~/.doomsday/runtime$ cat doomsday.out
^ : Starting conversion of "/legacysavegames/hexen-v10/hex0.hxs" using Savegame Tool
^ : Starting conversion of "/legacysavegames/hexen-v10/hex6.hxs" using Savegame Tool
Locating "HACX - Twitch 'n Kill"...
 ! hacx.wad: missing 
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Chex(R) Quest"...
 ! chex.wad: missing 
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Final DOOM: TNT: Evilution"...
 ! tnt.wad: missing 
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Final DOOM: The Plutonia Experiment"...
 ! plutonia.wad: missing 
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Not playable (incomplete resources)
Locating "DOOM 2: Hell on Earth"...
 - doom2.wad or doom2f.wad: "(basedir)/data/jdoom/doom2.wad"
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Playable
Locating "Ultimate DOOM"...
 - doom.wad or doomu.wad: "(basedir)/data/jdoom/doom.wad"
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Playable
Locating "DOOM Registered"...
 - doom.wad: "(basedir)/data/jdoom/doom.wad"
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Playable
Locating "DOOM Shareware"...
 - doom1.wad: "/usr/share/games/doom/doom1.wad"
 - libdoom.pk3: "(basedir)/data/jdoom/libdoom.pk3"
 ⇒ Playable
Locating "Doom 64: Absolution"...
 ! doom64.wad: missing 
 - libdoom64.pk3: "(basedir)/data/jdoom64/libdoom64.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Heretic: Shadow of the Serpent Riders"...
 - heretic.wad: "(basedir)/data/jheretic/HERETIC.WAD"
 - libheretic.pk3: "(basedir)/data/jheretic/libheretic.pk3"
 ⇒ Playable
Locating "Heretic Registered"...
 - heretic.wad: "(basedir)/data/jheretic/HERETIC.WAD"
 - libheretic.pk3: "(basedir)/data/jheretic/libheretic.pk3"
 ⇒ Playable
Locating "Heretic Shareware"...
 ! heretic1.wad: missing 
 - libheretic.pk3: "(basedir)/data/jheretic/libheretic.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Hexen: Deathkings of the Dark Citadel"...
 - hexen.wad: "(basedir)/data/jhexen/hexen.wad"
 ! hexdd.wad: missing 
 - libhexen.pk3: "(basedir)/data/jhexen/libhexen.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Hexen"...
 - libhexen.pk3: "(basedir)/data/jhexen/libhexen.pk3"
 - hexen.wad: "(basedir)/data/jhexen/hexen.wad"
 ⇒ Playable
Locating "Hexen v1.0"...
 ! hexen.wad: missing 
 - libhexen.pk3: "(basedir)/data/jhexen/libhexen.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Hexen 4-map Demo"...
 ! hexen.wad or machexendemo.wad or hexendemo.wad: missing 
 - libhexen.pk3: "(basedir)/data/jhexen/libhexen.pk3"
 ⇒ Not playable (incomplete resources)
Locating "Hexen 4-map Beta Demo"...
 ! hexen.wad or hexenbeta.wad or machexendemo.wad or hexendemo.wad: missing 
 - libhexen.pk3: "(basedir)/data/jhexen/libhexen.pk3"
 ⇒ Not playable (incomplete resources)
Def_Read: Parsing definition files...
^ : Definitions:
^ :   7 materials
ResourceSystem: Model init completed in 0.00 seconds
Game could not be selected automatically
MasterWorker: Received 0 servers from master
Selecting game 'hexen'...
Path "auto" now mapped to "data/jhexen/auto"
Path "auto" now mapped to "defs/jhexen/auto"
Loading game resources...
IWAD identification: 0x166c805
ResourceSystem > loadCompositeTextureDefs:
    Loaded all 359 texture definitions from "(basedir)/data/jhexen/hexen.wad:(basedir)/
    TEXTURE1.lmp"
^ : Loaded all 1 texture definitions from "(basedir)/data/jhexen/hexen.wad:(basedir)/
    TEXTURE2.lmp"
ResourceSystem: Ignoring invalid sprite name 'ARTIPTN2'
^ : Ignoring invalid sprite name 'ARTISOAR'
^ : Ignoring invalid sprite name 'ARTIINVU'
^ : Ignoring invalid sprite name 'ARTIPORK'
^ : Ignoring invalid sprite name 'ARTISPHL'
^ : Ignoring invalid sprite name 'ARTITRCH'
^ : Ignoring invalid sprite name 'ARTIATLP'
^ : Ignoring invalid sprite name 'ARTISUMN'
^ : Ignoring invalid sprite name 'ARTIPSBG'
^ : Ignoring invalid sprite name 'ARTISPED'
^ : Ignoring invalid sprite name 'ARTIBMAN'
^ : Ignoring invalid sprite name 'ARTIBRAC'
^ : Ignoring invalid sprite name 'ARTITELO'
^ : Ignoring invalid sprite name 'ARTIBLST'
^ : Ignoring invalid sprite name 'ARTISKLL'
^ : Ignoring invalid sprite name 'ARTIBGEM'
^ : Ignoring invalid sprite name 'ARTIGEMR'
^ : Ignoring invalid sprite name 'ARTIGMG2'
^ : Ignoring invalid sprite name 'ARTIGMB2'
^ : Ignoring invalid sprite name 'ARTIBOK1'
^ : Ignoring invalid sprite name 'ARTIBOK2'
^ : Ignoring invalid sprite name 'ARTISKL2'
^ : Ignoring invalid sprite name 'ARTIFWEP'
^ : Ignoring invalid sprite name 'ARTICWEP'
^ : Ignoring invalid sprite name 'ARTIMWEP'
^ : Ignoring invalid sprite name 'ARTIGEAR'
^ : Ignoring invalid sprite name 'ARTIHRAD'
Parsing primary config "configs/hexen/game.cfg"...
Def_Read: Parsing definition files...
^ : Definitions:
^ :   1    episodes
      16   animation groups
      5    composite fonts
      7    finales
      62   lights
      49   map infos
      7    materials
      87   songs
      245  sound effects
      300  sprite names
      2848 states
      14   surface decorations
      162  text strings
      4    texture environments
      400  things
ResourceSystem: Model init completed in 0.00 seconds
Known maps:
    0: MAP01          "(basedir)/data/jhexen/hexen.wad"
    1: MAP02          "(basedir)/data/jhexen/hexen.wad"
    2: MAP03          "(basedir)/data/jhexen/hexen.wad"
    3: MAP04          "(basedir)/data/jhexen/hexen.wad"
    4: MAP05          "(basedir)/data/jhexen/hexen.wad"
    5: MAP06          "(basedir)/data/jhexen/hexen.wad"
    6: MAP08          "(basedir)/data/jhexen/hexen.wad"
    7: MAP09          "(basedir)/data/jhexen/hexen.wad"
    8: MAP10          "(basedir)/data/jhexen/hexen.wad"
    9: MAP11          "(basedir)/data/jhexen/hexen.wad"
   10: MAP12          "(basedir)/data/jhexen/hexen.wad"
   11: MAP13          "(basedir)/data/jhexen/hexen.wad"
   12: MAP21          "(basedir)/data/jhexen/hexen.wad"
   13: MAP22          "(basedir)/data/jhexen/hexen.wad"
   14: MAP23          "(basedir)/data/jhexen/hexen.wad"
   15: MAP24          "(basedir)/data/jhexen/hexen.wad"
   16: MAP25          "(basedir)/data/jhexen/hexen.wad"
   17: MAP26          "(basedir)/data/jhexen/hexen.wad"
   18: MAP27          "(basedir)/data/jhexen/hexen.wad"
   19: MAP28          "(basedir)/data/jhexen/hexen.wad"
   20: MAP30          "(basedir)/data/jhexen/hexen.wad"
   21: MAP31          "(basedir)/data/jhexen/hexen.wad"
   22: MAP32          "(basedir)/data/jhexen/hexen.wad"
   23: MAP33          "(basedir)/data/jhexen/hexen.wad"
   24: MAP34          "(basedir)/data/jhexen/hexen.wad"
   25: MAP35          "(basedir)/data/jhexen/hexen.wad"
   26: MAP36          "(basedir)/data/jhexen/hexen.wad"
   27: MAP37          "(basedir)/data/jhexen/hexen.wad"
   28: MAP38          "(basedir)/data/jhexen/hexen.wad"
   29: MAP39          "(basedir)/data/jhexen/hexen.wad"
   30: MAP40          "(basedir)/data/jhexen/hexen.wad"

Found 31 maps in total.


Hexen


InFineSystem > FinaleInterpreter > S_StartMusic:
    Starting music 'hexen'
Loading game from "/home/savegames/hexen/hex1.save"...
S_StartMusic: Starting music 'MAP25_music'
Loading map "MAP25"...
Current map elements:
  1002 Lines
  181  Sectors
  1148 Vertexes
  2    Polyobjs
Forced pause for 7 tics

Map: DUNGEONS (Uri: Maps:map25, warp: 24)
 - Author: Raven Software

Saving game to "/home/savegames/hexen/hex1.save"...
GameSession: Updating archive in "~/.doomsday/runtime/cache/internal.save" from directory
             "~/.doomsday/runtime/cache"
~ArchiveFeed: Updating archive in "~/.doomsday/runtime/cache/internal.save" from
              directory "~/.doomsday/runtime/cache"
Game ended
Unloaded game
Z_Shutdown: Used 1 volumes, total 33554432 bytes.
Restoring original display mode due to shutdown

Comments

  • According to your log, Doomsday has detected a savegame from an earlier version of Doomsday in the old save data folder and is automatically converting it. However, this should only happen once and not repeatedly.

    Have the file/folder write permissions for Doomsday changed recently?
  • Thanks for your reply.

    This is an upgrade from the 14.?? that is in the ubuntu repository. That did happen last week, so it may have precipitated the problem. However, there is nothing in ~/.doomsday/runtime/cache for it to copy from; there are no files in that directory. I notice that it is trying to save to "/home/savegames/hexen", which does not exist -- there is no "savegames" user, it shouldn't be trying to write there, should it? Is this in a config file somewhere I can edit?

    Is there someplace else that old save files might have been saved?

    The entire directory ~/.doomsday is set to my user name, and I don't think any permissions have been changed there.

    FYI - I installed the 15.2 from the downloaded deb file doomsday_1.15.2-build1673_amd64.deb , after removing the 14.?? version. Is there something else that needs cleaning out?
  • Ah, I'm not familiar with kbuntu but it sounds to me like something has gone wrong when trying to compose an absolute path to your user home directory. Does this user name contain any unusual characters, perhaps?
  • No, just greenman
  • Seems I misinterpreted those log messages first time around, my apologies. I'll try to clarify the situation:

    /home/savegames/hexen/ - this path (as shown in the log) is actually a "virtual" folder within Doomsday's own internal virtual file system and should be interpreted as the native path: greenman@Crynfyd:~/.doomsday/savegames/hexen/ (if my understanding is correct).

    ~/.doomsday/runtime/cache/internal.save - this is Doomsday's internal savegame, which it uses as a backing store for recording your progress regardless of whether you save the game or not. Doomsday will automatically keep this up to date as your game session progresses and will delete it when the game session ends. However, it is not an "auto save" feature (that will come later). Generally speaking you don't need to worry about it.

    In older versions of Doomsday savegames were managed by the game and each stored them in a slightly different location. For Hexen, old savegames were stored in runtime/hexndata/, which could be in various places depending on how you launched and/or configured Doomsday (e.g., the -savedir command line option allowed for mapping this elsewhere. Also, the -userdir command line option allows for mapping the whole runtime folder elsewhere).

    /legacysavegames/hexen-v10/ - this is also a virtual path and maps to wherever your old runtime/hexndata/ folder is. This is where Doomsday is finding the old save games which need to be converted and saved in ~/.doomsday/savegames/hexen-v10/
  • What is interesting about your log is that the savegames being converted are for Hexen version 1.0, yet you seemingly don't have that version of the Hexen IWAD installed. Doomsday is detecting your Hexen IWAD as version 1.1 and consequently those converted savegames should not affect the version you seem to be using now.
  • We have made some progress here.

    Yes, I have the registered hexen.wad patched from 1.0 to 1.1

    I deleted the ~/.doomsday/runtime/hexndata directory, copied my backup saves into ~/.doomsday/runtime/savegames/hexen , and now all seems to be working as expected. It was evidently the old saves in hexndata that were causing the problem.

    Thanks for the assistance. I will report back if there are any further problems with it.
  • I'm glad to hear its working for you now :)

    However, this does suggest there is something peculiar happening with conversion of old Hexen 1.0 savegames specifically. I'll do some digging and see if I can replicate the problem in a debug environment...
Sign In or Register to comment.