Auto bailout

This commit is contained in:
jl777
2019-02-10 19:28:32 -11:00
parent 7fbf26c93e
commit fdaca7e5e5
7 changed files with 28 additions and 22 deletions

View File

@@ -271,7 +271,7 @@ over:
rs->needflush = (uint32_t)time(NULL);
q_comm = FALSE;
if ( rs->guiflag != 0 )
rogue_bailout();
rogue_bailout(rs);
return;
when 'i': after = FALSE; inventory(rs,pack, 0);
when 'I': after = FALSE; picky_inven(rs);

View File

@@ -184,7 +184,6 @@ 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

@@ -277,7 +277,7 @@ death(struct rogue_state *rs,char monst)
move(LINES - 1, 0);
refresh();
score(rs,purse, amulet ? 3 : 0, monst);
rogue_bailout();
rogue_bailout(rs);
printf("[Press return to continue]");
fflush(stdout);
if ( fgets(prbuf,10,stdin) != 0 )

View File

@@ -185,14 +185,6 @@ int32_t rogue_setplayerdata(struct rogue_state *rs,char *gametxidstr)
return(retval);
}
void rogue_bailout()
{
char cmd[512];
sprintf(cmd,"./komodo-cli -ac_name=ROGUE cclib bailout 17 \\\"[%%22%s%%22]\\\" >> bailout.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;
@@ -206,13 +198,27 @@ void rogue_progress(uint64_t seed,char *keystrokes,int32_t num)
int32_t flushkeystrokes(struct rogue_state *rs)
{
rogue_progress(rs->seed,rs->buffered,rs->num);
memset(rs->buffered,0,sizeof(rs->buffered));
rs->counter++;
rs->num = 0;
if ( rs->num > 0 )
{
rogue_progress(rs->seed,rs->buffered,rs->num);
memset(rs->buffered,0,sizeof(rs->buffered));
rs->counter++;
rs->num = 0;
}
return(0);
}
void rogue_bailout(struct rogue_state *rs)
{
char cmd[512];
flushkeystrokes(rs);
sleep(5);
fprintf(stderr,"bailing out\n");
sprintf(cmd,"./komodo-cli -ac_name=ROGUE cclib bailout 17 \\\"[%%22%s%%22]\\\" >> bailout.log",Gametxidstr);
if ( system(cmd) != 0 )
fprintf(stderr,"error issuing (%s)\n",cmd);
}
int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t num,struct rogue_player *player)
{
struct rogue_state *rs; FILE *fp; int32_t i;

View File

@@ -359,6 +359,7 @@ int32_t flushkeystrokes(struct rogue_state *rs);
int32_t rogue_restorepack(struct rogue_state *rs);
void restore_player(struct rogue_state *rs);
int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t num,struct rogue_player *player);
void rogue_bailout(struct rogue_state *rs);
/*
* Help list