Add a "gameend" hook. Patch from jorgenpt.

git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@464 db0b04b0-f4d1-0310-9a6d-de3e77497b0e
This commit is contained in:
Pasi Kallinen 2009-10-02 17:41:12 +00:00
parent 70dcf4486d
commit 24a8f3a448
3 changed files with 5 additions and 2 deletions

View File

@ -92,6 +92,7 @@ dglstart { yylval.i = DGLTIME_DGLSTART; return TYPE_CMDQUEUENAME; }
login { yylval.i = DGLTIME_LOGIN; return TYPE_CMDQUEUENAME; } login { yylval.i = DGLTIME_LOGIN; return TYPE_CMDQUEUENAME; }
register { yylval.i = DGLTIME_REGISTER; return TYPE_CMDQUEUENAME; } register { yylval.i = DGLTIME_REGISTER; return TYPE_CMDQUEUENAME; }
gamestart { yylval.i = DGLTIME_GAMESTART; 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; } mkdir { yylval.i = DGLCMD_MKDIR; return TYPE_DGLCMD1; }
chdir { yylval.i = DGLCMD_CHDIR; return TYPE_DGLCMD1; } chdir { yylval.i = DGLCMD_CHDIR; return TYPE_DGLCMD1; }
cp { yylval.i = DGLCMD_CP; return TYPE_DGLCMD2; } cp { yylval.i = DGLCMD_CP; return TYPE_DGLCMD2; }

View File

@ -20,6 +20,7 @@ typedef enum
DGLTIME_LOGIN, /* right after user login */ DGLTIME_LOGIN, /* right after user login */
DGLTIME_REGISTER, /* right after new nick is registered */ DGLTIME_REGISTER, /* right after new nick is registered */
DGLTIME_GAMESTART, /* right before a game is started */ DGLTIME_GAMESTART, /* right before a game is started */
DGLTIME_GAMEEND, /* right after a game is ended */
NUM_DGLTIMES NUM_DGLTIMES
} dglcmd_times; } dglcmd_times;

View File

@ -305,10 +305,11 @@ dgl_exec_cmdqueue(struct dg_cmdpart *queue, int game, struct dg_user *me)
/* launch program */ /* launch program */
ttyrec_main (userchoice, me->username, gen_ttyrec_filename()); ttyrec_main (userchoice, me->username, gen_ttyrec_filename());
/* 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); setproctitle ("%s", me->username);
initcurses (); initcurses ();
check_retard(1); /* reset retard counter */ check_retard(1); /* reset retard counter */
} }
break; break;