J :
* Fix a number of warnings.
This commit is contained in:
@@ -1,46 +1,46 @@
|
||||
#include "../include/Credits.h"
|
||||
#include "../include/GameApp.h"
|
||||
#include "../include/GameOptions.h"
|
||||
#include "../include/config.h"
|
||||
#include "../include/PlayerData.h"
|
||||
#include "../include/DeckStats.h"
|
||||
|
||||
CreditBonus::CreditBonus(int _value, string _text){
|
||||
value = _value;
|
||||
text = _text;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void CreditBonus::Render(float x, float y, JLBFont * font){
|
||||
char buffer[512];
|
||||
sprintf(buffer, "%s: %i", text.c_str(), value);
|
||||
font->DrawString(buffer,x,y);
|
||||
}
|
||||
|
||||
Credits::Credits(){
|
||||
unlockedTex = NULL;
|
||||
unlockedQuad = NULL;
|
||||
unlocked = -1;
|
||||
}
|
||||
|
||||
Credits::~Credits(){
|
||||
SAFE_DELETE(unlockedTex);
|
||||
SAFE_DELETE(unlockedQuad);
|
||||
for (int i=0;i<bonus.size();i++)
|
||||
#include "../include/Credits.h"
|
||||
#include "../include/GameApp.h"
|
||||
#include "../include/GameOptions.h"
|
||||
#include "../include/config.h"
|
||||
#include "../include/PlayerData.h"
|
||||
#include "../include/DeckStats.h"
|
||||
|
||||
CreditBonus::CreditBonus(int _value, string _text){
|
||||
value = _value;
|
||||
text = _text;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void CreditBonus::Render(float x, float y, JLBFont * font){
|
||||
char buffer[512];
|
||||
sprintf(buffer, "%s: %i", text.c_str(), value);
|
||||
font->DrawString(buffer,x,y);
|
||||
}
|
||||
|
||||
Credits::Credits(){
|
||||
unlockedTex = NULL;
|
||||
unlockedQuad = NULL;
|
||||
unlocked = -1;
|
||||
}
|
||||
|
||||
Credits::~Credits(){
|
||||
SAFE_DELETE(unlockedTex);
|
||||
SAFE_DELETE(unlockedQuad);
|
||||
for (unsigned int i = 0; i<bonus.size(); ++i)
|
||||
if (bonus[i])
|
||||
delete bonus[i];
|
||||
bonus.clear();
|
||||
}
|
||||
|
||||
void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
||||
p1 = _p1;
|
||||
p2 = _p2;
|
||||
app = _app;
|
||||
bonus.clear();
|
||||
}
|
||||
|
||||
void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
||||
p1 = _p1;
|
||||
p2 = _p2;
|
||||
app = _app;
|
||||
showMsg = (rand() % 5);
|
||||
GameObserver * g = GameObserver::GetInstance();
|
||||
if (!p1->isAI() && p2->isAI() && p1!= g->gameOver){
|
||||
GameOptions * go = GameOptions::GetInstance();
|
||||
GameOptions * go = GameOptions::GetInstance();
|
||||
value = 400;
|
||||
if (app->gameType == GAME_TYPE_MOMIR) value = 200;
|
||||
int difficulty = go->values[OPTIONS_DIFFICULTY].getIntValue();
|
||||
@@ -73,14 +73,14 @@ void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
||||
if (unlocked == -1){
|
||||
unlocked = isDifficultyUnlocked();
|
||||
if (unlocked){
|
||||
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/unlocked.png", TEX_TYPE_USE_VRAM);
|
||||
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/unlocked.png", TEX_TYPE_USE_VRAM);
|
||||
unlockedQuad = NEW JQuad(unlockedTex, 2, 2, 396, 96);
|
||||
GameOptions::GetInstance()->values[OPTIONS_DIFFICULTY_MODE_UNLOCKED] = GameOption(1);
|
||||
GameOptions::GetInstance()->save();
|
||||
}else{
|
||||
unlocked = isMomirUnlocked();
|
||||
if (unlocked){
|
||||
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/momir_unlocked.png", TEX_TYPE_USE_VRAM);
|
||||
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/momir_unlocked.png", TEX_TYPE_USE_VRAM);
|
||||
unlockedQuad = NEW JQuad(unlockedTex, 2, 2, 396, 96);
|
||||
GameOptions::GetInstance()->values[OPTIONS_MOMIR_MODE_UNLOCKED] = GameOption(1);
|
||||
GameOptions::GetInstance()->save();
|
||||
@@ -88,18 +88,18 @@ void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
||||
}
|
||||
if (unlocked){
|
||||
JSample * sample = SampleCache::GetInstance()->getSample("sound/sfx/bonus.wav");
|
||||
if (sample) JSoundSystem::GetInstance()->PlaySample(sample);
|
||||
if (sample) JSoundSystem::GetInstance()->PlaySample(sample);
|
||||
}
|
||||
}
|
||||
|
||||
vector<CreditBonus *>::iterator it;
|
||||
vector<CreditBonus *>::iterator it;
|
||||
if (bonus.size()){
|
||||
CreditBonus * b = NEW CreditBonus(value, "Victory");
|
||||
bonus.insert(bonus.begin(),b);
|
||||
for ( it=bonus.begin()+1 ; it < bonus.end(); ++it){
|
||||
value+= (*it)->value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -110,26 +110,26 @@ void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
||||
|
||||
}else{
|
||||
unlocked = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Credits::Render(){
|
||||
GameObserver * g = GameObserver::GetInstance();
|
||||
JRenderer * r = JRenderer::GetInstance();
|
||||
JLBFont * f = GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT);
|
||||
JLBFont * f2 = GameApp::CommonRes->GetJLBFont(Constants::MENU_FONT);
|
||||
JLBFont * f3 = GameApp::CommonRes->GetJLBFont(Constants::MAGIC_FONT);
|
||||
f->SetScale(1);
|
||||
f2->SetScale(1);
|
||||
f3->SetScale(1);
|
||||
char buffer[512];
|
||||
}
|
||||
}
|
||||
|
||||
void Credits::Render(){
|
||||
GameObserver * g = GameObserver::GetInstance();
|
||||
JRenderer * r = JRenderer::GetInstance();
|
||||
JLBFont * f = GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT);
|
||||
JLBFont * f2 = GameApp::CommonRes->GetJLBFont(Constants::MENU_FONT);
|
||||
JLBFont * f3 = GameApp::CommonRes->GetJLBFont(Constants::MAGIC_FONT);
|
||||
f->SetScale(1);
|
||||
f2->SetScale(1);
|
||||
f3->SetScale(1);
|
||||
char buffer[512];
|
||||
if (!p1->isAI() && p2->isAI() ){
|
||||
if (g->gameOver != p1){
|
||||
sprintf (buffer, "Congratulations! You earn %i credits", value);
|
||||
if (unlockedQuad){
|
||||
showMsg = 0;
|
||||
r->RenderQuad(unlockedQuad, 20, 20);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
sprintf (buffer, "You have been defeated");
|
||||
}
|
||||
@@ -141,18 +141,18 @@ void Credits::Render(){
|
||||
int p0life = p1->life;
|
||||
sprintf(buffer, "Player %i wins (%i)", winner, p0life );
|
||||
}
|
||||
|
||||
|
||||
|
||||
float y = 130;
|
||||
if (showMsg == 1) y = 50;
|
||||
vector<CreditBonus *>:: iterator it;
|
||||
vector<CreditBonus *>:: iterator it;
|
||||
for ( it=bonus.begin() ; it < bonus.end(); ++it){
|
||||
(*it)->Render(10,y,f3);
|
||||
y+=12;
|
||||
}
|
||||
f2->DrawString(buffer, 10, y);
|
||||
y+=15;
|
||||
|
||||
f2->DrawString(buffer, 10, y);
|
||||
y+=15;
|
||||
|
||||
if (showMsg == 1){
|
||||
f2->DrawString("Please support this project !" ,10,y+15);
|
||||
f->DrawString("Wagic is free, open source, and developed on the little free time I have" ,10,y+30);
|
||||
@@ -160,10 +160,10 @@ void Credits::Render(){
|
||||
f->DrawString("(Seriously, donate or I'll kill this cute little bunny)" ,10,y+54);
|
||||
f->DrawString("Thanks in advance for your support." ,10,y+66);
|
||||
f2->DrawString("-> http://wololo.net/wagic" ,10,y+78);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
int Credits::isDifficultyUnlocked(){
|
||||
if (GameOptions::GetInstance()->values[OPTIONS_DIFFICULTY_MODE_UNLOCKED].getIntValue()) return 0;
|
||||
@@ -180,7 +180,7 @@ int Credits::isDifficultyUnlocked(){
|
||||
if(fileExists(buffer)){
|
||||
found = 1;
|
||||
nbAIDecks++;
|
||||
sprintf(aiSmallDeckName, "ai_baka_deck%i",nbAIDecks);
|
||||
sprintf(aiSmallDeckName, "ai_baka_deck%i",nbAIDecks);
|
||||
int percentVictories = stats->percentVictories(string(aiSmallDeckName));
|
||||
if (percentVictories >=67) wins++;
|
||||
if (wins >= 10) return 1;
|
||||
@@ -193,4 +193,4 @@ int Credits::isMomirUnlocked(){
|
||||
if (GameOptions::GetInstance()->values[OPTIONS_MOMIR_MODE_UNLOCKED].getIntValue()) return 0;
|
||||
if (p1->game->inPlay->countByType("land") == 8) return 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,14 +112,15 @@ void GameStateDuel::Start()
|
||||
|
||||
|
||||
void GameStateDuel::loadPlayerMomir(int playerId, int isAI){
|
||||
char * deckFile = RESPATH"/player/momir.txt";
|
||||
char * deckFileSmall = "momir";
|
||||
char deckFile[] = RESPATH"/player/momir.txt";
|
||||
char deckFileSmall[] = "momir";
|
||||
char empty[] = "";
|
||||
MTGDeck * tempDeck = NEW MTGDeck(deckFile, NULL, mParent->collection);
|
||||
deck[playerId] = NEW MTGPlayerCards(mParent->collection,tempDeck);
|
||||
if (!isAI){ //Human Player
|
||||
mPlayers[playerId] = NEW HumanPlayer(deck[playerId],deckFileSmall);
|
||||
}else{
|
||||
mPlayers[playerId] = NEW AIMomirPlayer(deck[playerId],deckFile,"");
|
||||
mPlayers[playerId] = NEW AIMomirPlayer(deck[playerId],deckFile,empty);
|
||||
}
|
||||
delete tempDeck;
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
||||
OutputDebugString("Cost is null\n");
|
||||
SAFE_DELETE(cost);
|
||||
}
|
||||
|
||||
|
||||
int may = 0;
|
||||
if (line.find("may ") != string::npos) may = 1;
|
||||
|
||||
@@ -171,9 +171,9 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
||||
//Tap in the cost ?
|
||||
if (line.find("{t}") != string::npos) doTap = 1;
|
||||
|
||||
TargetChooser * tc;
|
||||
TargetChooser * lordTargets;
|
||||
Trigger * trigger;
|
||||
TargetChooser * tc = NULL;
|
||||
TargetChooser * lordTargets = NULL;
|
||||
Trigger * trigger = NULL;
|
||||
while (line.size()){
|
||||
string s;
|
||||
found = line.find("&&");
|
||||
@@ -383,7 +383,7 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
||||
dryModeResult = BAKA_EFFECT_GOOD;
|
||||
dryModeResultSet = 1;
|
||||
break;
|
||||
} //TODO :
|
||||
} //TODO :
|
||||
if (tc){
|
||||
ACopier * a = NEW ACopier(id,card,tc,cost);
|
||||
if (may){
|
||||
@@ -727,7 +727,7 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
||||
sprintf(buf, "AUTO ACTION PARSED: %s\n", line.c_str());
|
||||
OutputDebugString(buf);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
if (dryMode){
|
||||
SAFE_DELETE(tc);
|
||||
SAFE_DELETE(lordTargets);
|
||||
@@ -1736,7 +1736,7 @@ int ActivatedAbility::reactToClick(MTGCardInstance * card){
|
||||
OutputDebugString("React To click 2\n");
|
||||
if (!cost->isExtraPaymentSet()){
|
||||
OutputDebugString("React To click 3\n");
|
||||
|
||||
|
||||
game->waitForExtraPayment = cost->extraCosts;
|
||||
return 0;
|
||||
}
|
||||
@@ -1757,12 +1757,12 @@ int ActivatedAbility::reactToTargetClick(Targetable * object){
|
||||
if (object->typeAsTarget() == TARGET_CARD) cost->setExtraCostsAction(this, (MTGCardInstance *) object);
|
||||
OutputDebugString("React To click 2\n");
|
||||
if (!cost->isExtraPaymentSet()){
|
||||
OutputDebugString("React To click 3\n");
|
||||
OutputDebugString("React To click 3\n");
|
||||
game->waitForExtraPayment = cost->extraCosts;
|
||||
return 0;
|
||||
}
|
||||
game->currentlyActing()->getManaPool()->pay(cost);
|
||||
cost->doPayExtra();
|
||||
cost->doPayExtra();
|
||||
}
|
||||
fireAbility();
|
||||
return 1;
|
||||
@@ -1771,7 +1771,7 @@ int ActivatedAbility::reactToTargetClick(Targetable * object){
|
||||
|
||||
|
||||
|
||||
//The whole targetAbility mechanism is messed up, mainly because of its interactions with
|
||||
//The whole targetAbility mechanism is messed up, mainly because of its interactions with
|
||||
// the ActionLayer, GameObserver, and parent class ActivatedAbility.
|
||||
// Currently choosing a target is a complete different mechanism for put into play and for other abilities.
|
||||
// It probably shouldn't be the case.
|
||||
@@ -1802,7 +1802,7 @@ int TargetAbility::reactToTargetClick(Targetable * object){
|
||||
if (tc->toggleTarget(object) == TARGET_OK_FULL){
|
||||
waitingForAnswer = 0;
|
||||
return ActivatedAbility::reactToClick(source);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
@@ -1822,11 +1822,11 @@ int TargetAbility::reactToClick(MTGCardInstance * card){
|
||||
return ActivatedAbility::reactToClick(source);
|
||||
}else{
|
||||
if (tc->toggleTarget(card) == TARGET_OK_FULL){
|
||||
|
||||
|
||||
int result = ActivatedAbility::reactToClick(source);
|
||||
if (result) waitingForAnswer = 0;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -2076,7 +2076,7 @@ other solutions need to be provided for abilities that add mana (ex: mana flare)
|
||||
|
||||
|
||||
AManaProducer::AManaProducer(int id, MTGCardInstance * card, ManaCost * _output, ManaCost * _cost , int doTap):MTGAbility(id, card), tap(doTap){
|
||||
|
||||
|
||||
LOG("==Creating ManaProducer Object");
|
||||
aType=MTGAbility::MANA_PRODUCER;
|
||||
cost = _cost;
|
||||
@@ -2165,13 +2165,13 @@ other solutions need to be provided for abilities that add mana (ex: mana flare)
|
||||
OutputDebugString("React To click 2\n");
|
||||
if (!cost->isExtraPaymentSet()){
|
||||
OutputDebugString("React To click 3\n");
|
||||
|
||||
|
||||
GameObserver::GetInstance()->waitForExtraPayment = cost->extraCosts;
|
||||
return 0;
|
||||
}
|
||||
GameObserver::GetInstance()->currentlyActing()->getManaPool()->pay(cost);
|
||||
cost->doPayExtra();
|
||||
}
|
||||
}
|
||||
if (tap) source->tapped = 1;
|
||||
currentlyTapping++;
|
||||
|
||||
@@ -2240,4 +2240,4 @@ other solutions need to be provided for abilities that add mana (ex: mana flare)
|
||||
LOG("==Destroying ManaProducer Object Successful!");
|
||||
}
|
||||
|
||||
int AManaProducer::currentlyTapping = 0;
|
||||
int AManaProducer::currentlyTapping = 0;
|
||||
|
||||
@@ -120,7 +120,7 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
|
||||
GameObserver *g = GameObserver::GetInstance();
|
||||
if (!from || !to) return card; //Error check
|
||||
|
||||
if (copy = from->removeCard(card)){
|
||||
if ((copy = from->removeCard(card))){
|
||||
|
||||
if (GameOptions::GetInstance()->values[OPTIONS_SFXVOLUME].getIntValue() > 0){
|
||||
if (to == graveyard){
|
||||
|
||||
Reference in New Issue
Block a user