From: Pasi Kallinen Date: Fri, 2 Oct 2009 17:41:12 +0000 (+0000) Subject: Add a "gameend" hook. Patch from jorgenpt. X-Git-Tag: v1.6.1-roc-dev~244 X-Git-Url: https://skyeroc.xyz/gitweb/?a=commitdiff_plain;h=24a8f3a448d24133bb869b9c7f6f0a01ebbbb761;p=dgamelaunch Add a "gameend" hook. Patch from jorgenpt. git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@464 db0b04b0-f4d1-0310-9a6d-de3e77497b0e --- diff --git a/config.l b/config.l index 8054d82..8ffd76b 100644 --- a/config.l +++ b/config.l @@ -92,6 +92,7 @@ dglstart { yylval.i = DGLTIME_DGLSTART; return TYPE_CMDQUEUENAME; } login { yylval.i = DGLTIME_LOGIN; return TYPE_CMDQUEUENAME; } register { yylval.i = DGLTIME_REGISTER; return TYPE_CMDQUEUENAME; } gamestart { yylval.i = DGLTIME_GAMESTART; return TYPE_CMDQUEUENAME; } +gameend { yylval.i = DGLTIME_GAMEEND; return TYPE_CMDQUEUENAME; } mkdir { yylval.i = DGLCMD_MKDIR; return TYPE_DGLCMD1; } chdir { yylval.i = DGLCMD_CHDIR; return TYPE_DGLCMD1; } cp { yylval.i = DGLCMD_CP; return TYPE_DGLCMD2; } diff --git a/dgamelaunch.h b/dgamelaunch.h index f1313fb..3c38270 100644 --- a/dgamelaunch.h +++ b/dgamelaunch.h @@ -20,6 +20,7 @@ typedef enum DGLTIME_LOGIN, /* right after user login */ DGLTIME_REGISTER, /* right after new nick is registered */ DGLTIME_GAMESTART, /* right before a game is started */ + DGLTIME_GAMEEND, /* right after a game is ended */ NUM_DGLTIMES } dglcmd_times; diff --git a/dgl-common.c b/dgl-common.c index 09c2fbc..e841a7c 100644 --- a/dgl-common.c +++ b/dgl-common.c @@ -305,10 +305,11 @@ dgl_exec_cmdqueue(struct dg_cmdpart *queue, int game, struct dg_user *me) /* launch program */ ttyrec_main (userchoice, me->username, gen_ttyrec_filename()); - setproctitle ("%s", me->username); + /* lastly, run the generic "do these when a game is left" commands */ + dgl_exec_cmdqueue(globalconfig.cmdqueue[DGLTIME_GAMEEND], userchoice, me); + setproctitle ("%s", me->username); initcurses (); - check_retard(1); /* reset retard counter */ } break;