@@ -259,7 +259,7 @@ bool AssetsValidate(struct CCcontract_info *cpAssets,Eval* eval,const CTransacti
|
|||||||
return eval->Invalid("invalid refund for cancelbuy");
|
return eval->Invalid("invalid refund for cancelbuy");
|
||||||
preventCCvins = 3;
|
preventCCvins = 3;
|
||||||
preventCCvouts = 0;
|
preventCCvouts = 0;
|
||||||
fprintf(stderr,"cancelbuy validated to origaddr.(%s)\n",origNormalAddr);
|
//fprintf(stderr,"cancelbuy validated to origaddr.(%s)\n",origNormalAddr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'B': // fillbuy:
|
case 'B': // fillbuy:
|
||||||
@@ -305,7 +305,7 @@ bool AssetsValidate(struct CCcontract_info *cpAssets,Eval* eval,const CTransacti
|
|||||||
return eval->Invalid("mismatched vout0 AssetsCCaddr for fillbuy");
|
return eval->Invalid("mismatched vout0 AssetsCCaddr for fillbuy");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fprintf(stderr,"fillbuy validated\n");
|
//fprintf(stderr,"fillbuy validated\n");
|
||||||
break;
|
break;
|
||||||
//case 'e': // selloffer
|
//case 'e': // selloffer
|
||||||
// break; // disable swaps
|
// break; // disable swaps
|
||||||
|
|||||||
@@ -422,3 +422,9 @@ int32_t md_readchar(void)
|
|||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *unctrl(char c)
|
||||||
|
{
|
||||||
|
static char ctrlstr[5];
|
||||||
|
sprintf(ctrlstr,"^%%%02x",c);
|
||||||
|
return(ctrlstr);
|
||||||
|
}
|
||||||
|
|||||||
@@ -123,9 +123,10 @@ int32_t wprintw(WINDOW *win,char *fmt,...);
|
|||||||
int32_t mvprintw(int32_t y,int32_t x,char *fmt,...);
|
int32_t mvprintw(int32_t y,int32_t x,char *fmt,...);
|
||||||
int32_t mvwprintw(WINDOW *win,int32_t y,int32_t x,char *fmt,...);
|
int32_t mvwprintw(WINDOW *win,int32_t y,int32_t x,char *fmt,...);
|
||||||
|
|
||||||
|
char *unctrl(char c);
|
||||||
|
|
||||||
#define A_CHARTEXT 0xff
|
#define A_CHARTEXT 0xff
|
||||||
#define baudrate() 9600
|
#define baudrate() 9600
|
||||||
#define unctrl(a) "^x"
|
|
||||||
#define getmaxx(a) COLS
|
#define getmaxx(a) COLS
|
||||||
#define getmaxy(a) LINES
|
#define getmaxy(a) LINES
|
||||||
#define getyx(win,_argfory,_argforx) _argfory = win->y, _argforx = win->x
|
#define getyx(win,_argfory,_argforx) _argfory = win->y, _argforx = win->x
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ void rogue_restoreobject(THING *o,struct rogue_packitem *item);
|
|||||||
|
|
||||||
void restore_player(struct rogue_state *rs)
|
void restore_player(struct rogue_state *rs)
|
||||||
{
|
{
|
||||||
int32_t i; THING *obj;
|
int32_t i,total = 0; THING *obj;
|
||||||
//rs->P.gold = purse;
|
//rs->P.gold = purse;
|
||||||
max_hp = rs->P.hitpoints;
|
max_hp = rs->P.hitpoints;
|
||||||
pstats.s_str = rs->P.strength & 0xffff;
|
pstats.s_str = rs->P.strength & 0xffff;
|
||||||
@@ -34,10 +34,13 @@ void restore_player(struct rogue_state *rs)
|
|||||||
pstats.s_str = max_stats.s_str;
|
pstats.s_str = max_stats.s_str;
|
||||||
pstats.s_lvl = rs->P.level;
|
pstats.s_lvl = rs->P.level;
|
||||||
pstats.s_exp = rs->P.experience;
|
pstats.s_exp = rs->P.experience;
|
||||||
for (i=0; i<rs->P.packsize; i++)
|
for (i=0; i<rs->P.packsize&&i<MAXPACK; i++)
|
||||||
{
|
{
|
||||||
obj = new_item();
|
obj = new_item();
|
||||||
rogue_restoreobject(obj,&rs->P.roguepack[i]);
|
rogue_restoreobject(obj,&rs->P.roguepack[i]);
|
||||||
|
total += obj->o_count;
|
||||||
|
if ( total > pstats.s_str*3 )
|
||||||
|
break;
|
||||||
add_pack(rs,obj,TRUE);
|
add_pack(rs,obj,TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ int32_t num_packitems(struct rogue_state *rs)
|
|||||||
total += list->o_count;
|
total += list->o_count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( 0 )
|
if ( rs->guiflag != 0 )
|
||||||
{
|
{
|
||||||
char str[MAXSTR];
|
char str[MAXSTR];
|
||||||
sprintf(str,"strength*3 %d vs total.%d vs %d inventory letters\n",pstats.s_str*3,total,n);
|
sprintf(str,"strength*3 %d vs total.%d vs %d inventory letters\n",pstats.s_str*3,total,n);
|
||||||
@@ -410,59 +410,63 @@ get_item(struct rogue_state *rs,char *purpose, int type)
|
|||||||
{
|
{
|
||||||
THING *obj;
|
THING *obj;
|
||||||
char ch;
|
char ch;
|
||||||
|
|
||||||
if (pack == NULL)
|
if (pack == NULL)
|
||||||
msg(rs,"you aren't carrying anything");
|
msg(rs,"you aren't carrying anything");
|
||||||
else if (again)
|
else if (again)
|
||||||
if (last_pick)
|
if (last_pick)
|
||||||
return last_pick;
|
return last_pick;
|
||||||
else
|
else
|
||||||
msg(rs,"you ran out");
|
msg(rs,"you ran out");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
if (!terse)
|
if (!terse)
|
||||||
addmsg(rs,"which object do you want to ");
|
addmsg(rs,"which object do you want to ");
|
||||||
addmsg(rs,purpose);
|
addmsg(rs,purpose);
|
||||||
if (terse)
|
if (terse)
|
||||||
addmsg(rs," what");
|
addmsg(rs," what");
|
||||||
msg(rs,"? (* for list): ");
|
msg(rs,"? (* for list): ");
|
||||||
ch = readchar(rs);
|
ch = readchar(rs);
|
||||||
mpos = 0;
|
mpos = 0;
|
||||||
/*
|
/*
|
||||||
* Give the poor player a chance to abort the command
|
* Give the poor player a chance to abort the command
|
||||||
*/
|
*/
|
||||||
if (ch == ESCAPE)
|
if (ch == ESCAPE)
|
||||||
{
|
{
|
||||||
reset_last();
|
reset_last();
|
||||||
after = FALSE;
|
after = FALSE;
|
||||||
msg(rs,"");
|
msg(rs,"");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
n_objs = 1; /* normal case: person types one char */
|
n_objs = 1; /* normal case: person types one char */
|
||||||
if (ch == '*')
|
if (ch == '*')
|
||||||
{
|
{
|
||||||
mpos = 0;
|
mpos = 0;
|
||||||
if (inventory(rs,pack, type) == 0)
|
if (inventory(rs,pack, type) == 0)
|
||||||
{
|
{
|
||||||
after = FALSE;
|
after = FALSE;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
for (obj = pack; obj != NULL; obj = next(obj))
|
for (obj = pack; obj != NULL; obj = next(obj))
|
||||||
if (obj->o_packch == ch)
|
if (obj->o_packch == ch)
|
||||||
break;
|
break;
|
||||||
if (obj == NULL)
|
if (obj == NULL)
|
||||||
{
|
{
|
||||||
msg(rs,"'%s' is not a valid item",unctrl(ch));
|
//msg(rs,"'%s' is not a valid item",unctrl(ch));
|
||||||
continue;
|
//continue;
|
||||||
}
|
reset_last();
|
||||||
else
|
after = FALSE;
|
||||||
return obj;
|
msg(rs,"'%s' is not a valid item",unctrl(ch));
|
||||||
}
|
return NULL;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ void rogue_bailout(struct rogue_state *rs)
|
|||||||
|
|
||||||
int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t num,struct rogue_player *player,int32_t sleepmillis)
|
int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t num,struct rogue_player *player,int32_t sleepmillis)
|
||||||
{
|
{
|
||||||
struct rogue_state *rs; FILE *fp; int32_t i;
|
struct rogue_state *rs; FILE *fp; int32_t i,n;
|
||||||
rs = (struct rogue_state *)calloc(1,sizeof(*rs));
|
rs = (struct rogue_state *)calloc(1,sizeof(*rs));
|
||||||
rs->seed = seed;
|
rs->seed = seed;
|
||||||
rs->keystrokes = keystrokes;
|
rs->keystrokes = keystrokes;
|
||||||
@@ -249,6 +249,8 @@ int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t nu
|
|||||||
rs->P = *player;
|
rs->P = *player;
|
||||||
rs->restoring = 1;
|
rs->restoring = 1;
|
||||||
//fprintf(stderr,"restore player packsize.%d HP.%d\n",rs->P.packsize,rs->P.hitpoints);
|
//fprintf(stderr,"restore player packsize.%d HP.%d\n",rs->P.packsize,rs->P.hitpoints);
|
||||||
|
if ( rs->P.packsize > MAXPACK )
|
||||||
|
rs->P.packsize = MAXPACK;
|
||||||
}
|
}
|
||||||
globalR = *rs;
|
globalR = *rs;
|
||||||
uint32_t starttime = (uint32_t)time(NULL);
|
uint32_t starttime = (uint32_t)time(NULL);
|
||||||
@@ -278,8 +280,9 @@ int32_t rogue_replay2(uint8_t *newdata,uint64_t seed,char *keystrokes,int32_t nu
|
|||||||
if ( newdata != 0 && rs->playersize > 0 )
|
if ( newdata != 0 && rs->playersize > 0 )
|
||||||
memcpy(newdata,rs->playerdata,rs->playersize);
|
memcpy(newdata,rs->playerdata,rs->playersize);
|
||||||
}
|
}
|
||||||
|
n = rs->playersize;
|
||||||
free(rs);
|
free(rs);
|
||||||
return(rs->playersize);
|
return(n);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -647,7 +650,7 @@ int32_t _quit()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(stderr,"'Q' answer (%c)\n",c);
|
//fprintf(stderr,"'Q' answer (%c)\n",c);
|
||||||
move(0, 0);
|
move(0, 0);
|
||||||
clrtoeol();
|
clrtoeol();
|
||||||
status(rs);
|
status(rs);
|
||||||
|
|||||||
@@ -1127,10 +1127,10 @@ uint64_t komodo_accrued_interest(int32_t *txheightp,uint32_t *locktimep,uint256
|
|||||||
|
|
||||||
int32_t komodo_nextheight()
|
int32_t komodo_nextheight()
|
||||||
{
|
{
|
||||||
CBlockIndex *pindex; int32_t ht,longest = komodo_longestchain();
|
CBlockIndex *pindex; int32_t ht;
|
||||||
if ( (pindex= chainActive.LastTip()) != 0 && (ht= pindex->GetHeight()) >= longest )
|
if ( (pindex= chainActive.LastTip()) != 0 && (ht= pindex->GetHeight()) > 0 )
|
||||||
return(ht+1);
|
return(ht+1);
|
||||||
else return(longest + 1);
|
else return(komodo_longestchain() + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t komodo_isrealtime(int32_t *kmdheightp)
|
int32_t komodo_isrealtime(int32_t *kmdheightp)
|
||||||
|
|||||||
@@ -5308,13 +5308,18 @@ UniValue setpubkey(const UniValue& params, bool fHelp)
|
|||||||
|
|
||||||
char Raddress[64];
|
char Raddress[64];
|
||||||
uint8_t pubkey33[33];
|
uint8_t pubkey33[33];
|
||||||
if ( NOTARY_PUBKEY33[0] == 0 ) {
|
if ( NOTARY_PUBKEY33[0] == 0 )
|
||||||
if (strlen(params[0].get_str().c_str()) == 66) {
|
{
|
||||||
|
if (strlen(params[0].get_str().c_str()) == 66)
|
||||||
|
{
|
||||||
decode_hex(pubkey33,33,(char *)params[0].get_str().c_str());
|
decode_hex(pubkey33,33,(char *)params[0].get_str().c_str());
|
||||||
pubkey2addr((char *)Raddress,(uint8_t *)pubkey33);
|
pubkey2addr((char *)Raddress,(uint8_t *)pubkey33);
|
||||||
if (strcmp("RRmWExvapDM9YbLT9X9xAyzDgxomYf63ng",Raddress) == 0) {
|
if ( 0 && strcmp("RRmWExvapDM9YbLT9X9xAyzDgxomYf63ng",Raddress) == 0) // no idea what this addr is
|
||||||
|
{
|
||||||
result.push_back(Pair("error", "pubkey entered is invalid."));
|
result.push_back(Pair("error", "pubkey entered is invalid."));
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
CBitcoinAddress address(Raddress);
|
CBitcoinAddress address(Raddress);
|
||||||
bool isValid = address.IsValid();
|
bool isValid = address.IsValid();
|
||||||
if (isValid)
|
if (isValid)
|
||||||
@@ -5331,10 +5336,10 @@ UniValue setpubkey(const UniValue& params, bool fHelp)
|
|||||||
decode_hex(NOTARY_PUBKEY33,33,(char *)NOTARY_PUBKEY.c_str());
|
decode_hex(NOTARY_PUBKEY33,33,(char *)NOTARY_PUBKEY.c_str());
|
||||||
USE_EXTERNAL_PUBKEY = 1;
|
USE_EXTERNAL_PUBKEY = 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else result.push_back(Pair("error", "pubkey is wrong length, must be 66 char hex string."));
|
||||||
result.push_back(Pair("error", "pubkey is wrong length, must be 66 char hex string."));
|
}
|
||||||
}
|
else
|
||||||
} else {
|
{
|
||||||
result.push_back(Pair("error", "Can only set pubkey once, to change it you need to restart your daemon, pubkey in use is below."));
|
result.push_back(Pair("error", "Can only set pubkey once, to change it you need to restart your daemon, pubkey in use is below."));
|
||||||
pubkey2addr((char *)Raddress,(uint8_t *)NOTARY_PUBKEY33);
|
pubkey2addr((char *)Raddress,(uint8_t *)NOTARY_PUBKEY33);
|
||||||
std::string address_ret; address_ret.assign(Raddress);
|
std::string address_ret; address_ret.assign(Raddress);
|
||||||
|
|||||||
Reference in New Issue
Block a user