Test
This commit is contained in:
@@ -976,7 +976,7 @@ int32_t games_findbaton(struct CCcontract_info *cp,uint256 &playertxid,gameseven
|
||||
//fprintf(stderr,"n.%d next txid.%s/v%d\n",n,txid.GetHex().c_str(),spentvini);
|
||||
if ( spentvini != 0 ) // game is over?
|
||||
{
|
||||
fprintf(stderr,"gameisover n.%d next txid.%s/v%d\n",n,txid.GetHex().c_str(),spentvini);
|
||||
//fprintf(stderr,"gameisover n.%d next txid.%s/v%d\n",n,txid.GetHex().c_str(),spentvini);
|
||||
return(0);
|
||||
}
|
||||
if ( keystrokesp != 0 && myGetTransaction(spenttxid,spenttx,hashBlock) != 0 && spenttx.vout.size() >= 2 )
|
||||
@@ -984,7 +984,7 @@ int32_t games_findbaton(struct CCcontract_info *cp,uint256 &playertxid,gameseven
|
||||
uint256 g,b; CPubKey p; std::vector<uint8_t> k;
|
||||
if ( games_keystrokesopretdecode(g,b,p,k,spenttx.vout[spenttx.vout.size()-1].scriptPubKey) == 'K' )
|
||||
{
|
||||
fprintf(stderr,"update keystrokes.%p[%d]\n",keystrokes,numkeys);
|
||||
//fprintf(stderr,"update keystrokes.%p[%d]\n",keystrokes,numkeys);
|
||||
keystrokes = (gamesevent *)realloc(keystrokes,(int32_t)(sizeof(*keystrokes)*numkeys + k.size()));
|
||||
for (i=0; i<k.size(); i+=sizeof(gamesevent))
|
||||
{
|
||||
@@ -992,11 +992,11 @@ int32_t games_findbaton(struct CCcontract_info *cp,uint256 &playertxid,gameseven
|
||||
gamesevent val = 0;
|
||||
for (j=0; j<sizeof(gamesevent); j++)
|
||||
val = (val << 8) | k[i + sizeof(gamesevent)-1-j];
|
||||
keystrokes[numkeys+i] = val;
|
||||
keystrokes[numkeys+i/sizeof(gamesevent)] = val;
|
||||
}
|
||||
numkeys += (int32_t)k.size() / sizeof(gamesevent);
|
||||
(*keystrokesp) = keystrokes;
|
||||
fprintf(stderr,"updated keystrokes.%p[%d]\n",keystrokes,numkeys);
|
||||
//fprintf(stderr,"updated keystrokes.%p[%d]\n",keystrokes,numkeys);
|
||||
}
|
||||
}
|
||||
//fprintf(stderr,"n.%d txid.%s\n",n,txid.GetHex().c_str());
|
||||
|
||||
@@ -89,9 +89,9 @@ gamesevent *games_extractgame(int32_t makefiles,char *str,int32_t *numkeysp,std:
|
||||
if ( (retval= games_findbaton(cp,playertxid,&keystrokes,numkeys,regslot,playerdata,batontxid,batonvout,batonvalue,batonht,gametxid,gametx,maxplayers,gamesaddr,numplayers,symbol,pname)) == 0 )
|
||||
{
|
||||
UniValue obj;
|
||||
fprintf(stderr,"got baton\n");
|
||||
//fprintf(stderr,"got baton\n");
|
||||
seed = games_gamefields(obj,maxplayers,buyin,gametxid,gamesaddr);
|
||||
fprintf(stderr,"(%s) found baton %s numkeys.%d seed.%llu playerdata.%d playertxid.%s\n",pname.size()!=0?pname.c_str():Games_pname.c_str(),batontxid.ToString().c_str(),numkeys,(long long)seed,(int32_t)playerdata.size(),playertxid.GetHex().c_str());
|
||||
fprintf(stderr,"(%s) found baton %s numkeys.%d seed.%llu playerdata.%d playertxid.%s\n",pname.size()!=0?pname.c_str():Games_pname.c_str(),batontxid.ToString().c_str(),numkeys,(long long)seed,(int32_t)playerdata.size(),playertxid.GetHex().c_str());
|
||||
memset(&P,0,sizeof(P));
|
||||
if ( playerdata.size() > 0 )
|
||||
{
|
||||
@@ -117,7 +117,7 @@ gamesevent *games_extractgame(int32_t makefiles,char *str,int32_t *numkeysp,std:
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
fprintf(stderr,"call replay2\n");
|
||||
//fprintf(stderr,"call replay2\n");
|
||||
num = games_replay2(newplayer,seed,keystrokes,numkeys,playerdata.size()==0?0:&P,0);
|
||||
newdata.resize(num);
|
||||
for (i=0; i<num; i++)
|
||||
@@ -125,7 +125,7 @@ gamesevent *games_extractgame(int32_t makefiles,char *str,int32_t *numkeysp,std:
|
||||
newdata[i] = newplayer[i];
|
||||
((uint8_t *)&endP)[i] = newplayer[i];
|
||||
}
|
||||
fprintf(stderr,"back replay2 gold.%d\n",endP.gold);
|
||||
//fprintf(stderr,"back replay2 gold.%d\n",endP.gold);
|
||||
if ( endP.gold <= 0 || endP.hitpoints <= 0 || (endP.strength&0xffff) <= 0 || endP.level <= 0 || endP.experience <= 0 || endP.dungeonlevel <= 0 )
|
||||
{
|
||||
sprintf(str,"zero value character was killed -> no playerdata\n");
|
||||
|
||||
Reference in New Issue
Block a user