Extract zombies for comparison
This commit is contained in:
@@ -235,6 +235,7 @@ int32_t safecopy(char *dest,char *src,long len)
|
||||
#endif
|
||||
|
||||
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);
|
||||
|
||||
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;
|
||||
}
|
||||
if ( (pastkeys= rogue_keystrokesload(&numpastkeys,seed,1)) != 0 )
|
||||
{
|
||||
free(pastkeys);
|
||||
}
|
||||
|
||||
for (i=0; i<num; i++)
|
||||
sprintf(&hexstr[i<<1],"%02x",keystrokes[i]&0xff);
|
||||
hexstr[i<<1] = 0;
|
||||
|
||||
@@ -254,11 +254,10 @@ long get_filesize(FILE *fp)
|
||||
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;
|
||||
if ( seed == 0 )
|
||||
seed = 777;
|
||||
char fname[1024],*keystrokes = 0; FILE *fp; long fsize; int32_t num = 0;
|
||||
*numkeysp = 0;
|
||||
while ( 1 )
|
||||
{
|
||||
roguefname(fname,seed,counter);
|
||||
@@ -288,6 +287,16 @@ int32_t rogue_replay(uint64_t seed,int32_t sleeptime)
|
||||
counter++;
|
||||
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 )
|
||||
{
|
||||
sprintf(fname,"rogue.%llu.player",(long long)seed);
|
||||
@@ -301,7 +310,6 @@ int32_t rogue_replay(uint64_t seed,int32_t sleeptime)
|
||||
fclose(fp);
|
||||
}
|
||||
rogue_replay2(0,seed,keystrokes,num,player,sleeptime);
|
||||
|
||||
mvaddstr(LINES - 2, 0, (char *)"replay completed");
|
||||
endwin();
|
||||
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 )
|
||||
{
|
||||
fprintf(stderr,"zero value character was killed -> no playerdata\n");
|
||||
sprintf(str,"zero value character was killed -> no playerdata\n");
|
||||
newdata.resize(0);
|
||||
//P.gold = (P.gold * 8) / 10;
|
||||
*numkeysp = numkeys;
|
||||
return(keystrokes);
|
||||
/* P.gold = (P.gold * 8) / 10;
|
||||
if ( keystrokes != 0 )
|
||||
{
|
||||
free(keystrokes);
|
||||
keystrokes = 0;
|
||||
*numkeysp = 0;
|
||||
return(keystrokes);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user