diff --git a/src/cc/rogue/rogue.c b/src/cc/rogue/rogue.c index f28d0df29..2fd50607a 100644 --- a/src/cc/rogue/rogue.c +++ b/src/cc/rogue/rogue.c @@ -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); } diff --git a/src/cc/rogue/rogue.h b/src/cc/rogue/rogue.h index a5ddf943f..20f32c6f2 100644 --- a/src/cc/rogue/rogue.h +++ b/src/cc/rogue/rogue.h @@ -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 diff --git a/src/cc/rogue/save.c b/src/cc/rogue/save.c index af0ed37b6..0496eaa73 100644 --- a/src/cc/rogue/save.c +++ b/src/cc/rogue/save.c @@ -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; iplayerdata[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); diff --git a/src/cc/rogue/state.c b/src/cc/rogue/state.c index 8b312ae5f..d1ceaaa2f 100644 --- a/src/cc/rogue/state.c +++ b/src/cc/rogue/state.c @@ -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); diff --git a/src/cc/rogue_rpc.cpp b/src/cc/rogue_rpc.cpp index 44d42dff8..7b26ff572 100644 --- a/src/cc/rogue_rpc.cpp +++ b/src/cc/rogue_rpc.cpp @@ -23,6 +23,7 @@ #define ROGUE_MAXKEYSTROKESGAP 60 #define ROGUE_MAXITERATIONS 777 + #define MAXPACK 23 struct rogue_packitem {