summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2013-01-22 20:37:36 +0400
committerAndrey Nazarov <skuller@skuller.net>2013-01-22 20:37:36 +0400
commit2493f0a4adc62fd761010ec58e913a6f73c70f82 (patch)
tree142f64bc50e4b790849adfe5b284719318813633
parenta7025dc63a1dd341b475e6a99eaa30130335ebcb (diff)
Use compatible command names for savegames.
Also add savedir argument autocompletion.
-rw-r--r--src/client/ui/script.c4
-rw-r--r--src/server/save.c16
2 files changed, 16 insertions, 4 deletions
diff --git a/src/client/ui/script.c b/src/client/ui/script.c
index 657e57f..7e30df9 100644
--- a/src/client/ui/script.c
+++ b/src/client/ui/script.c
@@ -29,10 +29,10 @@ static menuSound_t Activate(menuCommon_t *self)
Cbuf_AddText(&cmd_buffer, ((menuBitmap_t *)self)->cmd);
break;
case MTYPE_SAVEGAME:
- Cbuf_AddText(&cmd_buffer, va("savegame \"%s\"; forcemenuoff\n", ((menuAction_t *)self)->cmd));
+ Cbuf_AddText(&cmd_buffer, va("save \"%s\"; forcemenuoff\n", ((menuAction_t *)self)->cmd));
break;
case MTYPE_LOADGAME:
- Cbuf_AddText(&cmd_buffer, va("loadgame \"%s\"\n", ((menuAction_t *)self)->cmd));
+ Cbuf_AddText(&cmd_buffer, va("load \"%s\"\n", ((menuAction_t *)self)->cmd));
break;
default:
break;
diff --git a/src/server/save.c b/src/server/save.c
index aa10176..a825b5c 100644
--- a/src/server/save.c
+++ b/src/server/save.c
@@ -548,6 +548,13 @@ void SV_CheckForSavegame(mapcmd_t *cmd)
}
}
+static void SV_Savegame_c(genctx_t *ctx, int argnum)
+{
+ if (argnum == 1) {
+ FS_File_g("save", NULL, FS_SEARCH_DIRSONLY, ctx);
+ }
+}
+
static void SV_Loadgame_f(void)
{
char *dir;
@@ -651,8 +658,13 @@ static void SV_Savegame_f(void)
Com_Printf("Game saved.\n");
}
+static const cmdreg_t c_savegames[] = {
+ { "save", SV_Savegame_f, SV_Savegame_c },
+ { "load", SV_Loadgame_f, SV_Savegame_c },
+ { NULL }
+};
+
void SV_RegisterSavegames(void)
{
- Cmd_AddCommand("savegame", SV_Savegame_f);
- Cmd_AddCommand("loadgame", SV_Loadgame_f);
+ Cmd_Register(c_savegames);
}