Extract zombies for comparison
This commit is contained in:
@@ -235,6 +235,7 @@ int32_t safecopy(char *dest,char *src,long len)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int32_t rogue_replay(uint64_t seed,int32_t sleeptime);
|
int32_t rogue_replay(uint64_t seed,int32_t sleeptime);
|
||||||
|
char *rogue_keystrokesload(int32_t *numkeysp,uint64_t seed,int32_t counter);
|
||||||
int rogue(int argc, char **argv, char **envp);
|
int rogue(int argc, char **argv, char **envp);
|
||||||
|
|
||||||
void *OS_loadfile(char *fname,uint8_t **bufp,long *lenp,long *allocsizep)
|
void *OS_loadfile(char *fname,uint8_t **bufp,long *lenp,long *allocsizep)
|
||||||
@@ -762,6 +763,11 @@ void rogue_progress(struct rogue_state *rs,int32_t waitflag,uint64_t seed,char *
|
|||||||
}
|
}
|
||||||
free(rs->keystrokeshex), rs->keystrokeshex = 0;
|
free(rs->keystrokeshex), rs->keystrokeshex = 0;
|
||||||
}
|
}
|
||||||
|
if ( (pastkeys= rogue_keystrokesload(&numpastkeys,seed,1)) != 0 )
|
||||||
|
{
|
||||||
|
free(pastkeys);
|
||||||
|
}
|
||||||
|
|
||||||
for (i=0; i<num; i++)
|
for (i=0; i<num; i++)
|
||||||
sprintf(&hexstr[i<<1],"%02x",keystrokes[i]&0xff);
|
sprintf(&hexstr[i<<1],"%02x",keystrokes[i]&0xff);
|
||||||
hexstr[i<<1] = 0;
|
hexstr[i<<1] = 0;
|
||||||
|
|||||||
@@ -254,11 +254,10 @@ long get_filesize(FILE *fp)
|
|||||||
return(fsize);
|
return(fsize);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t rogue_replay(uint64_t seed,int32_t sleeptime)
|
char *rogue_keystrokesload(int32_t *numkeysp,uint64_t seed,int32_t counter)
|
||||||
{
|
{
|
||||||
FILE *fp; char fname[1024]; char *keystrokes = 0; long num=0,fsize; int32_t i,counter = 0; struct rogue_state *rs; struct rogue_player P,*player = 0;
|
char fname[1024],*keystrokes = 0; FILE *fp; long fsize; int32_t num = 0;
|
||||||
if ( seed == 0 )
|
*numkeysp = 0;
|
||||||
seed = 777;
|
|
||||||
while ( 1 )
|
while ( 1 )
|
||||||
{
|
{
|
||||||
roguefname(fname,seed,counter);
|
roguefname(fname,seed,counter);
|
||||||
@@ -288,6 +287,16 @@ int32_t rogue_replay(uint64_t seed,int32_t sleeptime)
|
|||||||
counter++;
|
counter++;
|
||||||
fprintf(stderr,"loaded %ld from (%s) total %ld\n",fsize,fname,num);
|
fprintf(stderr,"loaded %ld from (%s) total %ld\n",fsize,fname,num);
|
||||||
}
|
}
|
||||||
|
*numkeysp = num;
|
||||||
|
return(keystrokes);
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t rogue_replay(uint64_t seed,int32_t sleeptime)
|
||||||
|
{
|
||||||
|
FILE *fp; char fname[1024]; char *keystrokes = 0; long num=0,fsize; int32_t i,counter = 0; struct rogue_state *rs; struct rogue_player P,*player = 0;
|
||||||
|
if ( seed == 0 )
|
||||||
|
seed = 777;
|
||||||
|
keystrokes = rogue_keystrokesload(&num,seed,counter);
|
||||||
if ( num > 0 )
|
if ( num > 0 )
|
||||||
{
|
{
|
||||||
sprintf(fname,"rogue.%llu.player",(long long)seed);
|
sprintf(fname,"rogue.%llu.player",(long long)seed);
|
||||||
@@ -301,7 +310,6 @@ int32_t rogue_replay(uint64_t seed,int32_t sleeptime)
|
|||||||
fclose(fp);
|
fclose(fp);
|
||||||
}
|
}
|
||||||
rogue_replay2(0,seed,keystrokes,num,player,sleeptime);
|
rogue_replay2(0,seed,keystrokes,num,player,sleeptime);
|
||||||
|
|
||||||
mvaddstr(LINES - 2, 0, (char *)"replay completed");
|
mvaddstr(LINES - 2, 0, (char *)"replay completed");
|
||||||
endwin();
|
endwin();
|
||||||
my_exit(0);
|
my_exit(0);
|
||||||
|
|||||||
@@ -978,16 +978,18 @@ char *rogue_extractgame(int32_t makefiles,char *str,int32_t *numkeysp,std::vecto
|
|||||||
}
|
}
|
||||||
if ( endP.gold <= 0 || endP.hitpoints <= 0 || (endP.strength&0xffff) <= 0 || endP.level <= 0 || endP.experience <= 0 || endP.dungeonlevel <= 0 )
|
if ( endP.gold <= 0 || endP.hitpoints <= 0 || (endP.strength&0xffff) <= 0 || endP.level <= 0 || endP.experience <= 0 || endP.dungeonlevel <= 0 )
|
||||||
{
|
{
|
||||||
fprintf(stderr,"zero value character was killed -> no playerdata\n");
|
sprintf(str,"zero value character was killed -> no playerdata\n");
|
||||||
newdata.resize(0);
|
newdata.resize(0);
|
||||||
//P.gold = (P.gold * 8) / 10;
|
*numkeysp = numkeys;
|
||||||
|
return(keystrokes);
|
||||||
|
/* P.gold = (P.gold * 8) / 10;
|
||||||
if ( keystrokes != 0 )
|
if ( keystrokes != 0 )
|
||||||
{
|
{
|
||||||
free(keystrokes);
|
free(keystrokes);
|
||||||
keystrokes = 0;
|
keystrokes = 0;
|
||||||
*numkeysp = 0;
|
*numkeysp = 0;
|
||||||
return(keystrokes);
|
return(keystrokes);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user