Dont advance keystrokes unless keystrokes tx worked
This commit is contained in:
@@ -784,9 +784,9 @@ int32_t rogue_sendrawtransaction(char *rawtx)
|
|||||||
return(retval);
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *keystrokes,int32_t num)
|
int32_t rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *keystrokes,int32_t num)
|
||||||
{
|
{
|
||||||
char cmd[16384],hexstr[16384],params[32768],*retstr,*rawtx,*pastkeys,*pastcmp,*keys; int32_t i,len,numpastkeys; cJSON *retjson,*resobj;
|
char cmd[16384],hexstr[16384],params[32768],*retstr,*rawtx,*pastkeys,*pastcmp,*keys; int32_t i,len,numpastkeys,retflag = -1; cJSON *retjson,*resobj;
|
||||||
//fprintf(stderr,"rogue_progress num.%d\n",num);
|
//fprintf(stderr,"rogue_progress num.%d\n",num);
|
||||||
if ( rs->guiflag != 0 && Gametxidstr[0] != 0 )
|
if ( rs->guiflag != 0 && Gametxidstr[0] != 0 )
|
||||||
{
|
{
|
||||||
@@ -795,7 +795,7 @@ void rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *
|
|||||||
if ( rogue_sendrawtransaction(rs->keystrokeshex) == 0 )
|
if ( rogue_sendrawtransaction(rs->keystrokeshex) == 0 )
|
||||||
{
|
{
|
||||||
if ( waitflag == 0 )
|
if ( waitflag == 0 )
|
||||||
return;
|
return(0);
|
||||||
else if ( 0 )
|
else if ( 0 )
|
||||||
{
|
{
|
||||||
while ( rogue_sendrawtransaction(rs->keystrokeshex) == 0 )
|
while ( rogue_sendrawtransaction(rs->keystrokeshex) == 0 )
|
||||||
@@ -866,8 +866,12 @@ void rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *
|
|||||||
{
|
{
|
||||||
if ( rs->keystrokeshex != 0 )
|
if ( rs->keystrokeshex != 0 )
|
||||||
free(rs->keystrokeshex);
|
free(rs->keystrokeshex);
|
||||||
rs->keystrokeshex = (char *)malloc(strlen(rawtx)+1);
|
if ( (errstr= jstr(resobj,"error")) == 0 )
|
||||||
strcpy(rs->keystrokeshex,rawtx);
|
{
|
||||||
|
rs->keystrokeshex = (char *)malloc(strlen(rawtx)+1);
|
||||||
|
strcpy(rs->keystrokeshex,rawtx);
|
||||||
|
retflag = 1;
|
||||||
|
} else fprintf(stderr,"error sending keystrokes tx\n"), sleep(1);
|
||||||
//fprintf(stderr,"set keystrokestx <- %s\n",rs->keystrokeshex);
|
//fprintf(stderr,"set keystrokestx <- %s\n",rs->keystrokeshex);
|
||||||
}
|
}
|
||||||
free_json(retjson);
|
free_json(retjson);
|
||||||
@@ -885,6 +889,7 @@ void rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return(retflag);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t rogue_setplayerdata(struct rogue_state *rs,char *gametxidstr)
|
int32_t rogue_setplayerdata(struct rogue_state *rs,char *gametxidstr)
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ int32_t flushkeystrokes_local(struct rogue_state *rs,int32_t waitflag)
|
|||||||
#ifdef BUILD_ROGUE
|
#ifdef BUILD_ROGUE
|
||||||
// stubs for inside daemon
|
// stubs for inside daemon
|
||||||
|
|
||||||
void rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *keystrokes,int32_t num)
|
int32_t rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *keystrokes,int32_t num)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,15 +172,11 @@ int32_t flushkeystrokes(struct rogue_state *rs,int32_t waitflag)
|
|||||||
{
|
{
|
||||||
if ( rs->num > 0 )
|
if ( rs->num > 0 )
|
||||||
{
|
{
|
||||||
// need to get existing keystrokes including mempool
|
if ( rogue_progress(rs,waitflag,rs->seed,rs->buffered,rs->num) > 0 )
|
||||||
// create keystrokes that are not saved
|
{
|
||||||
//rs->keytxid = rogue_progress(rs,waitflag,rs->seed,&rs->buffered[rs->lastnum],rs->num - rs->lastnum);
|
flushkeystrokes_local(rs,waitflag);
|
||||||
//rs->lastnum = rs->num;
|
memset(rs->buffered,0,sizeof(rs->buffered));
|
||||||
rogue_progress(rs,waitflag,rs->seed,rs->buffered,rs->num);
|
}
|
||||||
flushkeystrokes_local(rs,waitflag);
|
|
||||||
memset(rs->buffered,0,sizeof(rs->buffered));
|
|
||||||
//rs->num = 0;
|
|
||||||
//rs->counter++;
|
|
||||||
}
|
}
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -380,7 +380,7 @@ int32_t rogue_restorepack(struct rogue_state *rs);
|
|||||||
void restore_player(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,int32_t sleepmillis);
|
int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t num,struct rogue_player *player,int32_t sleepmillis);
|
||||||
void rogue_bailout(struct rogue_state *rs);
|
void rogue_bailout(struct rogue_state *rs);
|
||||||
void rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *keystrokes,int32_t num);
|
int32_t rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *keystrokes,int32_t num);
|
||||||
int32_t rogue_setplayerdata(struct rogue_state *rs,char *gametxidstr);
|
int32_t rogue_setplayerdata(struct rogue_state *rs,char *gametxidstr);
|
||||||
|
|
||||||
#define ROGUE_MAXTOTAL (pstats.s_str*2)
|
#define ROGUE_MAXTOTAL (pstats.s_str*2)
|
||||||
|
|||||||
Reference in New Issue
Block a user