* Fix a number of warnings.
This commit is contained in:
jean.chalard
2009-04-29 12:06:28 +00:00
parent 789ad60723
commit e0e21fa2a3
4 changed files with 90 additions and 89 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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){