This commit is contained in:
jl777
2019-02-17 06:25:24 -11:00
parent e586505525
commit 9cec68f8c4
5 changed files with 11 additions and 6 deletions

View File

@@ -273,6 +273,7 @@ int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t nu
if ( (fp= fopen("checkfile","wb")) != 0 )
{
save_file(rs,fp,0);
fprintf(stderr,"gold.%d hp.%d strength.%d level.%d exp.%d dungeon.%d data[%d]\n",rs->P.gold,rs->P.hitpoints,rs->P.strength,rs->P.level,rs->P.experience,rs->P.dungeonlevel,rs->playersize);
if ( newdata != 0 && rs->playersize > 0 )
memcpy(newdata,rs->playerdata,rs->playersize);
}

View File

@@ -358,7 +358,7 @@ typedef union _bits256 bits256;
#endif
#ifndef ROGUE_DECLARED_PACK
/*#ifndef ROGUE_DECLARED_PACK
struct rogue_packitem
{
int32_t type,launch,count,which,hplus,dplus,arm,flags,group;
@@ -369,7 +369,7 @@ struct rogue_player
int32_t gold,hitpoints,strength,level,experience,packsize,dungeonlevel,pad;
struct rogue_packitem roguepack[MAXPACK];
};
#define ROGUE_DECLARED_PACK
#define ROGUE_DECLARED_PACK*/
#endif
struct rogue_state

View File

@@ -150,7 +150,6 @@ save_file(struct rogue_state *rs,FILE *savef,int32_t guiflag)
char buf[80],fname[512]; int32_t i,n,nonz,histo[0x100]; FILE *fp;
if ( rs->guiflag != 0 )
{
//memset(&rs->P,0,sizeof(rs->P));
mvcur(0, COLS - 1, LINES - 1, 0);
putchar('\n');
endwin();
@@ -163,7 +162,10 @@ save_file(struct rogue_state *rs,FILE *savef,int32_t guiflag)
encwrite(buf,80,savef);
}
}
rs_save_file(rs,savef);
memset(&rs->P,0,sizeof(rs->P));
rs_save_file(rs,savef); // sets rs->P
fprintf(stderr,"gold.%d hp.%d strength.%d level.%d exp.%d %d\n",rs->P.gold,rs->P.hitpoints,rs->P.strength,rs->P.level,rs->P.experience,rs->P.dungeonlevel);
n = sizeof(rs->P) - sizeof(rs->P.roguepack) + sizeof(rs->P.roguepack[0])*rs->P.packsize;
memset(histo,0,sizeof(histo));
for (i=0; i<n; i++)
@@ -173,7 +175,7 @@ save_file(struct rogue_state *rs,FILE *savef,int32_t guiflag)
rs->playerdata[i] = ((uint8_t *)&rs->P)[i];
}
rs->playersize = n;
//fprintf(stderr," packsize.%d n.%d\n",rs->P.packsize,n);
fprintf(stderr," packsize.%d playersize.%d\n",rs->P.packsize,n);
if ( (fp= fopen(rogue_packfname(rs,fname),"wb")) != 0 )
{
fwrite(&rs->P,1,n,fp);

View File

@@ -1452,7 +1452,7 @@ rs_write_object(struct rogue_state *rs,FILE *savef, THING *o)
rs->P.level = pstats.s_lvl;
rs->P.experience = pstats.s_exp;
rs->P.dungeonlevel = level;
fprintf(stderr,"%ld gold.%d hp.%d strength.%d level.%d exp.%d %d\n",ftell(savef),purse,max_hp,max_stats.s_str,pstats.s_lvl,pstats.s_exp,level);
fprintf(stderr,"%ld gold.%d hp.%d strength.%d level.%d exp.%d %d\n",ftell(savef),purse,max_hp,pstats.s_str,pstats.s_lvl,pstats.s_exp,level);
}
fprintf(stderr,"object (%s) x.%d y.%d type.%d pack.(%c:%d)\n",inv_name(o,FALSE),o->_o._o_pos.x,o->_o._o_pos.y,o->_o._o_type,o->_o._o_packch,o->_o._o_packch);
if ( rs->P.packsize < MAXPACK && o->o_type != AMULET )
@@ -1460,6 +1460,7 @@ rs_write_object(struct rogue_state *rs,FILE *savef, THING *o)
packsave(item,o->_o._o_type,o->_o._o_launch,o->_o._o_damage,sizeof(o->_o._o_damage),o->_o._o_hurldmg,sizeof(o->_o._o_hurldmg),o->_o._o_count,o->_o._o_which,o->_o._o_hplus,o->_o._o_dplus,o->_o._o_arm,o->_o._o_flags,o->_o._o_group);
rs->P.packsize++;
}
fprintf(stderr,"%ld gold.%d hp.%d strength.%d level.%d exp.%d %d\n",ftell(savef),purse,max_hp,pstats.s_str,pstats.s_lvl,pstats.s_exp,level);
}
}
rs_write_marker(savef, RSID_OBJECT);

View File

@@ -23,6 +23,7 @@
#define ROGUE_MAXKEYSTROKESGAP 60
#define ROGUE_MAXITERATIONS 777
#define MAXPACK 23
struct rogue_packitem
{