Auto bailout on quit or death

This commit is contained in:
jl777
2019-02-10 07:42:52 -11:00
parent 82b8ae689a
commit 8919dd6523
5 changed files with 15 additions and 17 deletions

View File

@@ -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);

View File

@@ -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

View File

@@ -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 )

View File

@@ -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<num; i++)
sprintf(&hexstr[i<<1],"%02x",keystrokes[i]);
hexstr[i<<1] = 0;
sprintf(cmd,"./komodo-cli -ac_name=ROGUE cclib bailout 17 \\\"[%%22%s%%22]\\\" >> 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<num; i++)