Jeck - Fix signed/unsigned in AllAbilities (please review), bug fixes for trophy room (new status now saves).
This commit is contained in:
@@ -1706,7 +1706,7 @@ class AAsLongAs:public ListMaintainerAbility{
|
||||
int resolve(){
|
||||
//TODO check if ability is oneShot ?
|
||||
updateTargets();
|
||||
size_t size = cards.size();
|
||||
int size = (int) cards.size();
|
||||
if (maxi && size < maxi && (!mini || size > mini)) addAbilityToGame(); //special case for 0
|
||||
cards.clear();
|
||||
players.clear();
|
||||
@@ -1733,7 +1733,7 @@ class AAsLongAs:public ListMaintainerAbility{
|
||||
}
|
||||
|
||||
int _added(Damageable * d){
|
||||
size_t size = cards.size();
|
||||
int size = (int) cards.size();
|
||||
if (maxi && size >= maxi) return removeAbilityFromGame();
|
||||
if (maxi) return 0;
|
||||
if (size <= mini) return 0;
|
||||
|
||||
@@ -113,11 +113,12 @@ public:
|
||||
|
||||
class GameOptionAward: public GameOption {
|
||||
public:
|
||||
GameOptionAward();
|
||||
virtual string menuStr();
|
||||
virtual bool write(std::ofstream * file, string name);
|
||||
virtual bool read(string input);
|
||||
virtual bool giveAward(); //Returns false if already awarded
|
||||
virtual bool isViewed() {return viewed;};
|
||||
virtual bool isViewed();
|
||||
virtual void setViewed(bool v = true) {viewed = v;};
|
||||
private:
|
||||
time_t achieved; //When was it awarded?
|
||||
|
||||
@@ -20,6 +20,7 @@ class GameStateAwards: public GameState, public JGuiListener
|
||||
SimpleMenu * menu;
|
||||
bool showMenu;
|
||||
bool showAlt;
|
||||
bool saveMe;
|
||||
int mState;
|
||||
int mDetailItem;
|
||||
|
||||
|
||||
@@ -717,6 +717,11 @@ OptionDifficulty::OptionDifficulty(){
|
||||
};
|
||||
|
||||
//GameOptionAward
|
||||
GameOptionAward::GameOptionAward(){
|
||||
achieved = time(NULL);
|
||||
number = 0;
|
||||
viewed = false;
|
||||
}
|
||||
bool GameOptionAward::read(string input){
|
||||
//This is quick and dirty.
|
||||
bool bNumeric = true;
|
||||
@@ -806,6 +811,12 @@ bool GameOptionAward::giveAward(){
|
||||
number = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GameOptionAward::isViewed(){
|
||||
if(!number)
|
||||
return true;
|
||||
return viewed;
|
||||
};
|
||||
string GameOptionAward::menuStr(){
|
||||
if(!number)
|
||||
return _("Not unlocked.");
|
||||
@@ -815,6 +826,9 @@ string GameOptionAward::menuStr(){
|
||||
|
||||
char buf[256];
|
||||
Translator * t = Translator::GetInstance();
|
||||
strftime(buf,255,_("%B %d, %I:%M%p %Y").c_str(),localtime(&achieved));
|
||||
tm * lt = localtime(&achieved);
|
||||
if(!lt)
|
||||
return "Error";
|
||||
strftime(buf,255,_("%B %d, %I:%M%p %Y").c_str(),lt);
|
||||
return buf;
|
||||
}
|
||||
@@ -30,7 +30,8 @@ void GameStateAwards::End()
|
||||
SAFE_DELETE(listview);
|
||||
SAFE_DELETE(setSrc);
|
||||
|
||||
//TODO Memoize viewed status here.
|
||||
if(saveMe)
|
||||
options.save();
|
||||
}
|
||||
void GameStateAwards::Start()
|
||||
{
|
||||
@@ -38,6 +39,7 @@ void GameStateAwards::Start()
|
||||
mState = STATE_LISTVIEW;
|
||||
|
||||
menu = NULL;
|
||||
saveMe = options.newAward();
|
||||
|
||||
listview = NEW WGuiList("Listview");
|
||||
listview->setX(210);
|
||||
|
||||
Reference in New Issue
Block a user