summaryrefslogtreecommitdiff
path: root/src/heretic/d_main.c
diff options
context:
space:
mode:
authorSimon Howard2011-09-05 22:18:16 +0000
committerSimon Howard2011-09-05 22:18:16 +0000
commit5d82119ccad9476d5db479f81952e56cef0e1751 (patch)
treed72ccd12d3618bb111cc637aea684d6984767a85 /src/heretic/d_main.c
parent9ff63977237ba7d7edb7f863c9a6ad4dd5b07cbe (diff)
downloadchocolate-doom-5d82119ccad9476d5db479f81952e56cef0e1751.tar.gz
chocolate-doom-5d82119ccad9476d5db479f81952e56cef0e1751.tar.bz2
chocolate-doom-5d82119ccad9476d5db479f81952e56cef0e1751.zip
Store Heretic savegames in the configuration directory, as with Doom
savegames. Subversion-branch: /branches/raven-branch Subversion-revision: 2361
Diffstat (limited to 'src/heretic/d_main.c')
-rw-r--r--src/heretic/d_main.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/src/heretic/d_main.c b/src/heretic/d_main.c
index 5c2d5cf2..97eb37ed 100644
--- a/src/heretic/d_main.c
+++ b/src/heretic/d_main.c
@@ -421,25 +421,19 @@ void D_StartTitle(void)
void D_CheckRecordFrom(void)
{
int p;
- char file[256];
+ char *filename;
p = M_CheckParm("-recordfrom");
if (!p || p > myargc - 2)
return;
- if (cdrom)
- {
- sprintf(file, SAVEGAMENAMECD "%c.hsg", myargv[p + 1][0]);
- }
- else
- {
- sprintf(file, SAVEGAMENAME "%c.hsg", myargv[p + 1][0]);
- }
- G_LoadGame(file);
+ filename = SV_Filename(myargv[p + 1][0] - '0');
+ G_LoadGame(filename);
G_DoLoadGame(); // load the gameskill etc info from savegame
G_RecordDemo(gameskill, 1, gameepisode, gamemap, myargv[p + 2]);
D_DoomLoop(); // never returns
+ free(filename);
}
/*
@@ -940,6 +934,8 @@ void D_DoomMain(void)
gamedescription = "Heretic (registered)";
}
+ savegamedir = M_GetSaveGameDir("heretic.wad");
+
I_PrintStartupBanner(gamedescription);
// haleyjd: removed WATCOMC
@@ -1033,15 +1029,11 @@ void D_DoomMain(void)
p = M_CheckParm("-loadgame");
if (p && p < myargc - 1)
{
- if (cdrom)
- {
- sprintf(file, SAVEGAMENAMECD "%c.hsg", myargv[p + 1][0]);
- }
- else
- {
- sprintf(file, SAVEGAMENAME "%c.hsg", myargv[p + 1][0]);
- }
- G_LoadGame(file);
+ char *filename;
+
+ filename = SV_Filename(myargv[p + 1][0] - '0');
+ G_LoadGame(filename);
+ free(filename);
}
// Check valid episode and map