]> skyeroc.xyz Git - dgamelaunch/commitdiff
Add a "gameend" hook. Patch from jorgenpt.
authorPasi Kallinen <paxed@alt.org>
Fri, 2 Oct 2009 17:41:12 +0000 (17:41 +0000)
committerPasi Kallinen <paxed@alt.org>
Fri, 2 Oct 2009 17:41:12 +0000 (17:41 +0000)
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@464 db0b04b0-f4d1-0310-9a6d-de3e77497b0e

config.l
dgamelaunch.h
dgl-common.c

index 8054d82a2d74e0a9b950fc9947098ac83b4b7d8f..8ffd76bfc5968e083ffeda61d0d3f2851b4627ea 100644 (file)
--- 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; }
index f1313fb37cb05cd01fe76870cc2bd999835634f0..3c382701327e4a14041a8f5d6bc80d49943117fb 100644 (file)
@@ -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;
 
index 09c2fbc1dd56f8eaa774c886f23dca1e4dd13a6e..e841a7cba070a98f49adeb6a2ee06c2c5894af18 100644 (file)
@@ -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;