ref: 0b50fbde6a49250d4372a3255b1e1fd451326abe
parent: 0fe9bbcffeb7f7fdb032642127cca54b7d965227
author: Mike Swanson <[email protected]>
date: Wed Feb 14 15:58:27 EST 2018
Print a more useful error about which savegame failed to load Amends the prior commit, also fixes the formatting for the I_Error() function call to represent the preferred format outlined in HACKING. Hexen now has two locations that can fail out with an error. One in CopySaveSlot that should fail when a hex?.hxs file does not exist, as specified via the -loadgame parameter. A second in the SV_OpenRead function that should probably never get triggered after the first; it would mean the hex6.hxs file wasn't created or somehow deleted in the middle of the function. (Chocolate Hexen race condition exploits, anyone?)
--- a/src/doom/g_game.c
+++ b/src/doom/g_game.c
@@ -1553,7 +1553,7 @@
if (save_stream == NULL)
{
- I_Error ("Could not load savegame");
+ I_Error("Could not load savegame %s", savename);
}
savegame_error = false;
--- a/src/heretic/p_saveg.c
+++ b/src/heretic/p_saveg.c
@@ -69,7 +69,7 @@
if (SaveGameFP == NULL)
{
- I_Error ("Could not load savegame");
+ I_Error("Could not load savegame %s", filename);
}
}
--- a/src/hexen/sv_save.c
+++ b/src/hexen/sv_save.c
@@ -3238,6 +3238,10 @@
"%shex%d.hxs", SavePath, destSlot);
CopyFile(sourceName, destName);
}
+ else
+ {
+ I_Error("Could not load savegame %s", sourceName);
+ }
}
//==========================================================================
@@ -3344,9 +3348,10 @@
{
SavingFP = fopen(fileName, "rb");
+ // Should never happen, only if hex6.hxs cannot ever be created.
if (SavingFP == NULL)
{
- I_Error ("Could not load savegame");
+ I_Error("Could not load savegame %s", fileName);
}
}