From 9ec06eb4e711ec6ac0e4fc623a8205f7adc2d45e Mon Sep 17 00:00:00 2001 From: "wagic.the.homebrew" Date: Sun, 30 Nov 2008 11:47:47 +0000 Subject: [PATCH] Erwan - fixed a problem with DOS card files under psp/linux - Added a bunch of SAFE_DELETE, not sure they're really necessary - fixed a small interface problem in Shop --- projects/mtg/include/AllAbilities.h | 6 +++--- projects/mtg/include/GameStateDeckViewer.h | 4 ++-- projects/mtg/include/TexturesCache.h | 2 +- projects/mtg/src/AIPlayer.cpp | 4 ++-- projects/mtg/src/ActionLayer.cpp | 6 +++--- projects/mtg/src/ActionStack.cpp | 4 ++-- projects/mtg/src/Blocker.cpp | 2 +- projects/mtg/src/Counters.cpp | 2 +- projects/mtg/src/DamagerDamaged.cpp | 7 +++---- projects/mtg/src/DeckStats.cpp | 2 +- projects/mtg/src/GameApp.cpp | 16 ++++++++-------- projects/mtg/src/MTGDeck.cpp | 9 +++------ projects/mtg/src/ShopItem.cpp | 2 +- 13 files changed, 31 insertions(+), 35 deletions(-) diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 86c566e2a..8a282bc61 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -626,9 +626,9 @@ class AManaProducer: public MTGAbility{ ~AManaProducer(){ LOG("==Destroying ManaProducer Object"); - if (cost) delete cost; + SAFE_DELETE(cost); SAFE_DELETE(output); - if (mParticleSys) delete mParticleSys; + SAFE_DELETE(mParticleSys); LOG("==Destroying ManaProducer Object Successful!"); } @@ -2377,7 +2377,7 @@ class AAtog:public TargetAbility{ TargetAbility::Update(dt); Player * newController = source->controller(); if (newController != currentController){ - delete tc; + SAFE_DELETE(tc); MTGGameZone * zones[] = {newController->game->inPlay}; //In case Atog's controller changes tc = NEW TypeTargetChooser("artifact", zones, 1, source); currentController = newController; diff --git a/projects/mtg/include/GameStateDeckViewer.h b/projects/mtg/include/GameStateDeckViewer.h index 571a68fff..c05fffcf0 100644 --- a/projects/mtg/include/GameStateDeckViewer.h +++ b/projects/mtg/include/GameStateDeckViewer.h @@ -77,7 +77,7 @@ class GameStateDeckViewer: public GameState, public JGuiListener GameStateDeckViewer(GameApp* parent): GameState(parent) { bgMusic = NULL; - scrollSpeed = HIGH_SPEED; + scrollSpeed = MED_SPEED; } virtual ~GameStateDeckViewer() { SAFE_DELETE(bgMusic); @@ -241,7 +241,7 @@ class GameStateDeckViewer: public GameState, public JGuiListener SAFE_DELETE(menu); SAFE_DELETE(pspIconsTexture); for (int i=0; i < 8; i++){ - delete pspIcons[i]; + SAFE_DELETE(pspIcons[i]); } SAFE_DELETE(myCollection); SAFE_DELETE(myDeck); diff --git a/projects/mtg/include/TexturesCache.h b/projects/mtg/include/TexturesCache.h index eed1066cd..23f7e11a4 100644 --- a/projects/mtg/include/TexturesCache.h +++ b/projects/mtg/include/TexturesCache.h @@ -63,7 +63,7 @@ public: int lastTime; JSample * sample; SampleCached(int _lastTime, JSample * _sample):lastTime(_lastTime),sample(_sample){}; - ~SampleCached(){delete sample;}; + ~SampleCached(){SAFE_DELETE(sample);}; }; class SampleCache{ diff --git a/projects/mtg/src/AIPlayer.cpp b/projects/mtg/src/AIPlayer.cpp index 371e043ed..7bf547b62 100644 --- a/projects/mtg/src/AIPlayer.cpp +++ b/projects/mtg/src/AIPlayer.cpp @@ -14,10 +14,10 @@ AIPlayer::AIPlayer(MTGPlayerCards * _deck, string file): Player(_deck, file){ } AIPlayer::~AIPlayer(){ - if (potentialMana) delete potentialMana; + SAFE_DELETE(potentialMana); if (stats){ stats->save(); - delete stats; + SAFE_DELETE(stats); } } MTGCardInstance * AIPlayer::chooseCard(TargetChooser * tc, MTGCardInstance * source, int random){ diff --git a/projects/mtg/src/ActionLayer.cpp b/projects/mtg/src/ActionLayer.cpp index a11e99bed..f22105147 100644 --- a/projects/mtg/src/ActionLayer.cpp +++ b/projects/mtg/src/ActionLayer.cpp @@ -160,9 +160,9 @@ int ActionLayer::reactToClick(MTGCardInstance * card){ void ActionLayer::setMenuObject(Targetable * object){ menuObject = object; - if (abilitiesMenu){ - delete abilitiesMenu; - } + + SAFE_DELETE(abilitiesMenu); + JLBFont * mFont = GameApp::CommonRes->GetJLBFont(MAIN_FONT); abilitiesMenu = NEW SimpleMenu(10, this, mFont, 100, 100, 200); diff --git a/projects/mtg/src/ActionStack.cpp b/projects/mtg/src/ActionStack.cpp index 88256b87a..45fe62007 100644 --- a/projects/mtg/src/ActionStack.cpp +++ b/projects/mtg/src/ActionStack.cpp @@ -590,7 +590,7 @@ int ActionStack::CombatDamages(int strike){ if (damageitems){ addAction(damages); }else{ - delete damages; + SAFE_DELETE(damages); } return damageitems; } @@ -602,7 +602,7 @@ int ActionStack::garbageCollect(){ if (current->state != NOT_RESOLVED){ mObjects[i] = mObjects[mCount-1]; mCount--; - delete current; + SAFE_DELETE(current); } } return 1; diff --git a/projects/mtg/src/Blocker.cpp b/projects/mtg/src/Blocker.cpp index 8d75fb60a..85a19eaf7 100644 --- a/projects/mtg/src/Blocker.cpp +++ b/projects/mtg/src/Blocker.cpp @@ -14,7 +14,7 @@ Blocker::Blocker(int id, MTGCardInstance * card, MTGCardInstance *_target, ManaC } Blocker::~Blocker(){ - delete manaCost; + SAFE_DELETE(manaCost); } void Blocker::init(ManaCost * _cost){ diff --git a/projects/mtg/src/Counters.cpp b/projects/mtg/src/Counters.cpp index 5efd9d2ad..8c4babed5 100644 --- a/projects/mtg/src/Counters.cpp +++ b/projects/mtg/src/Counters.cpp @@ -50,7 +50,7 @@ Counters::Counters(MTGCardInstance * _target):target(_target){ } Counters::~Counters(){ for (int i = 0; i < mCount; i++){ - delete counters[i]; + SAFE_DELETE(counters[i]); } } diff --git a/projects/mtg/src/DamagerDamaged.cpp b/projects/mtg/src/DamagerDamaged.cpp index ca059c6e5..e4ebf7fe0 100644 --- a/projects/mtg/src/DamagerDamaged.cpp +++ b/projects/mtg/src/DamagerDamaged.cpp @@ -12,8 +12,8 @@ DamagerDamaged::DamagerDamaged(CardGui * cardg, Player * _damageSelecter, bool _ DamagerDamaged::~DamagerDamaged(){ for (int i = 0; i < mCount; i++){ - delete damages[i]; - damages[i] = NULL; + SAFE_DELETE(damages[i]); + } } @@ -62,8 +62,7 @@ int DamagerDamaged::removeDamagesFrom(DamagerDamaged * source){ for (int i = 0; i < mCount; i++){ if (damages[i]->source == source->card){ int damage = damages[i]->damage; - delete(damages[i]); - damages[i] = NULL; + SAFE_DELETE(damages[i]); damages[i] = damages[mCount-1]; mCount--; return damage; diff --git a/projects/mtg/src/DeckStats.cpp b/projects/mtg/src/DeckStats.cpp index 0f51a3f4e..503d02437 100644 --- a/projects/mtg/src/DeckStats.cpp +++ b/projects/mtg/src/DeckStats.cpp @@ -17,7 +17,7 @@ DeckStats * DeckStats::GetInstance(){ void DeckStats::cleanStats(){ map::iterator it; for (it = stats.begin(); it != stats.end(); it++){ - delete(it->second); + SAFE_DELETE(it->second); } stats.clear(); } diff --git a/projects/mtg/src/GameApp.cpp b/projects/mtg/src/GameApp.cpp index 0fa75ec3b..f5d60a640 100644 --- a/projects/mtg/src/GameApp.cpp +++ b/projects/mtg/src/GameApp.cpp @@ -159,26 +159,26 @@ void GameApp::Destroy() { if (mGameStates[i]){ mGameStates[i]->Destroy(); - delete mGameStates[i]; + SAFE_DELETE(mGameStates[i]); } } for (int i= 0; i < 6; i++){ - delete Particles[i]; + SAFE_DELETE(Particles[i]); } if (collection){ collection->destroyAllCards(); - delete collection; + SAFE_DELETE(collection); } - if (cache) delete cache; + SAFE_DELETE(cache); - if (CommonRes) delete CommonRes; + SAFE_DELETE(CommonRes); - GameOptions::Destroy(); + GameOptions::Destroy(); //No delete ??? - if (Subtypes::subtypesList) delete Subtypes::subtypesList; - if (MtgSets::SetsList) delete MtgSets::SetsList; + SAFE_DELETE(Subtypes::subtypesList); + SAFE_DELETE(MtgSets::SetsList); SAFE_DELETE(music); diff --git a/projects/mtg/src/MTGDeck.cpp b/projects/mtg/src/MTGDeck.cpp index bca45434f..a18d35ab8 100644 --- a/projects/mtg/src/MTGDeck.cpp +++ b/projects/mtg/src/MTGDeck.cpp @@ -151,12 +151,7 @@ MTGAllCards::~MTGAllCards(){ void MTGAllCards::destroyAllCards(){ for (int i= 0; i < total_cards; i++){ -#ifdef WIN32 -char buf[4096]; -sprintf(buf,"deleting %s\n", collection[i]->getName()); - OutputDebugString(buf); -#endif - delete collection[i]; + SAFE_DELETE(collection[i]); }; } @@ -235,6 +230,8 @@ int MTGAllCards::readConfLine(std::ifstream &file, int set_id){ string s; int result = 0; if(std::getline(file,s)) result = 1; + if (!s.size()) return 0; + if (s[s.size()-1] == '\r') s.erase(s.size()-1); //Handle DOS files switch(conf_read_mode) { case 0: if (s.find("[card]") != string::npos){ diff --git a/projects/mtg/src/ShopItem.cpp b/projects/mtg/src/ShopItem.cpp index 8556c8a53..257459235 100644 --- a/projects/mtg/src/ShopItem.cpp +++ b/projects/mtg/src/ShopItem.cpp @@ -153,7 +153,7 @@ void ShopItems::Add(char * text, JQuad * quad,JQuad * thumb, int price){ void ShopItems::Update(float dt){ if (display){ - // display->CheckUserInput(dt); + while (u32 key = JGE::GetInstance()->ReadButton()) display->CheckUserInput(key); if (display) display->Update(dt); }else{ if (showPriceDialog!=-1){