diff options
author | Simon Howard | 2014-03-30 00:24:49 -0400 |
---|---|---|
committer | Simon Howard | 2014-03-30 00:24:49 -0400 |
commit | fb00bf8354efee1847cbec3370f7a34eef745d3a (patch) | |
tree | b2ea3af9d5f714baf141dd8fdb0a65973cc0f31c /src/doom | |
parent | 59a80b5a902d51d03fb079b0ec5560d450f92731 (diff) | |
download | chocolate-doom-fb00bf8354efee1847cbec3370f7a34eef745d3a.tar.gz chocolate-doom-fb00bf8354efee1847cbec3370f7a34eef745d3a.tar.bz2 chocolate-doom-fb00bf8354efee1847cbec3370f7a34eef745d3a.zip |
hexen: Make -playdemo cope with paths.
Vanilla Hexen makes you specify the demo name to play by giving
the plain lump name, eg. heretic -playdemo mydemo to load mydemo.lmp.
It doesn't work if you specify the extension or the full file path.
As a convenience and to match the behavior of Chocolate Doom, allow
paths and extensions.
Also rework the code for other games so that they're slightly more
consistent. This fixes #301.
Diffstat (limited to 'src/doom')
-rw-r--r-- | src/doom/d_main.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/doom/d_main.c b/src/doom/d_main.c index 17dbd170..6d37e455 100644 --- a/src/doom/d_main.c +++ b/src/doom/d_main.c @@ -1359,21 +1359,21 @@ void D_DoomMain (void) if (p) { + // With Vanilla you have to specify the file without extension, + // but make that optional. if (M_StringEndsWith(myargv[p + 1], ".lmp")) { M_StringCopy(file, myargv[p + 1], sizeof(file)); } else { - snprintf(file, sizeof(file), "%s.lmp", myargv[p+1]); + DEH_snprintf(file, sizeof(file), "%s.lmp", myargv[p+1]); } if (D_AddFile(file)) { M_StringCopy(demolumpname, lumpinfo[numlumps - 1].name, sizeof(demolumpname)); - - printf("Playing demo %s.\n", file); } else { @@ -1383,6 +1383,8 @@ void D_DoomMain (void) M_StringCopy(demolumpname, myargv[p + 1], sizeof(demolumpname)); } + + printf("Playing demo %s.\n", file); } I_AtExit((atexit_func_t) G_CheckDemoStatus, true); |