diff --git a/src/cc/rogue/command.c b/src/cc/rogue/command.c index 0b7618df6..a6cf50724 100644 --- a/src/cc/rogue/command.c +++ b/src/cc/rogue/command.c @@ -270,6 +270,7 @@ over: if ( rs->guiflag != 0 && rs->needflush == 0 ) rs->needflush = (uint32_t)time(NULL); q_comm = FALSE; + rogue_bailout(); return; when 'i': after = FALSE; inventory(rs,pack, 0); when 'I': after = FALSE; picky_inven(rs); diff --git a/src/cc/rogue/extern.h b/src/cc/rogue/extern.h index 486d85ff1..0791702d6 100644 --- a/src/cc/rogue/extern.h +++ b/src/cc/rogue/extern.h @@ -184,6 +184,7 @@ void md_onsignal_default(void); int md_issymlink(char *sp); int32_t decode_hex(uint8_t *bytes,int32_t n,char *hex); +void rogue_bailout(void); #endif diff --git a/src/cc/rogue/rip.c b/src/cc/rogue/rip.c index 4e3a349a8..56f2453a4 100644 --- a/src/cc/rogue/rip.c +++ b/src/cc/rogue/rip.c @@ -275,6 +275,7 @@ death(struct rogue_state *rs,char monst) move(LINES - 1, 0); refresh(); score(purse, amulet ? 3 : 0, monst); + rogue_bailout(); printf("[Press return to continue]"); fflush(stdout); if ( fgets(prbuf,10,stdin) != 0 ) diff --git a/src/cc/rogue/rogue.c b/src/cc/rogue/rogue.c index 57b63eb25..2d89cbc67 100644 --- a/src/cc/rogue/rogue.c +++ b/src/cc/rogue/rogue.c @@ -185,7 +185,18 @@ int32_t rogue_setplayerdata(struct rogue_state *rs,char *gametxidstr) return(retval); } -void rogue_progress(uint64_t seed,char *keystrokes,int32_t num) // use seed to lookup gametxid +void rogue_bailout() +{ + char cmd[32768],hexstr[32768]; int32_t i; + for (i=0; i> keystrokes.log",Gametxidstr); + if ( system(cmd) != 0 ) + fprintf(stderr,"error issuing (%s)\n",cmd); +} + +void rogue_progress(uint64_t seed,char *keystrokes,int32_t num) { char cmd[32768],hexstr[32768]; int32_t i; for (i=0; i