Skip to content

Commit

Permalink
always save the map WAD in a savegame's metadata, even if it is from …
Browse files Browse the repository at this point in the history
…the IWAD

Otherwise the savegame loader will not be able to validate an IWAD savegame while the actual level comes from a different file.
  • Loading branch information
prof-hastig authored and madame-rachelle committed Oct 26, 2023
1 parent 1e8b3ea commit a8c1f7a
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions src/g_game.cpp
Expand Up @@ -1890,12 +1890,12 @@ static bool CheckSingleWad (const char *name, bool &printRequires, bool printwar
bool G_CheckSaveGameWads (FSerializer &arc, bool printwarn)
{
bool printRequires = false;
const char* text;

text = arc.GetString("Game WAD");
const char *text = arc.GetString("Game WAD");
CheckSingleWad (text, printRequires, printwarn);
text = arc.GetString("Map WAD");
if (text != nullptr) CheckSingleWad (text, printRequires, printwarn);
const char *text2 = arc.GetString("Map WAD");
// do not validate the same file twice.
if (text != nullptr && text2 != nullptr && stricmp(text, text2) != 0) CheckSingleWad (text2, printRequires, printwarn);

if (printRequires)
{
Expand Down Expand Up @@ -2268,11 +2268,8 @@ static void PutSaveWads (FSerializer &arc)
arc.AddString("Game WAD", name);

// Name of wad the map resides in
if (fileSystem.GetFileContainer (primaryLevel->lumpnum) > fileSystem.GetIwadNum())
{
name = fileSystem.GetResourceFileName (fileSystem.GetFileContainer (primaryLevel->lumpnum));
arc.AddString("Map WAD", name);
}
name = fileSystem.GetResourceFileName (fileSystem.GetFileContainer (primaryLevel->lumpnum));
arc.AddString("Map WAD", name);
}

static void PutSaveComment (FSerializer &arc)
Expand Down

0 comments on commit a8c1f7a

Please sign in to comment.