Jeck - More fixes to r1827.

This commit is contained in:
wagic.jeck
2010-02-08 09:05:09 +00:00
parent a747d4ef1d
commit 76f012cc99
3 changed files with 23 additions and 4 deletions

View File

@@ -321,6 +321,7 @@ bool GameStateAwards::enterStats(int option){
} }
} }
SAFE_DELETE(ddw->parent);
SAFE_DELETE(ddw); SAFE_DELETE(ddw);
return true; return true;
} }

View File

@@ -44,7 +44,10 @@ GameStateDeckViewer::GameStateDeckViewer(GameApp* parent): GameState(parent) {
GameStateDeckViewer::~GameStateDeckViewer() { GameStateDeckViewer::~GameStateDeckViewer() {
SAFE_DELETE(bgMusic); SAFE_DELETE(bgMusic);
SAFE_DELETE(myDeck); if(myDeck){
SAFE_DELETE(myDeck->parent);
SAFE_DELETE(myDeck);
}
SAFE_DELETE(myCollection); SAFE_DELETE(myCollection);
SAFE_DELETE(filterDeck); SAFE_DELETE(filterDeck);
SAFE_DELETE(filterCollection); SAFE_DELETE(filterCollection);
@@ -218,7 +221,10 @@ void GameStateDeckViewer::End()
resources.Release(pspIconsTexture); resources.Release(pspIconsTexture);
SAFE_DELETE(myCollection); SAFE_DELETE(myCollection);
SAFE_DELETE(myDeck); if(myDeck){
SAFE_DELETE(myDeck->parent);
SAFE_DELETE(myDeck);
}
SAFE_DELETE(pricelist); SAFE_DELETE(pricelist);
SAFE_DELETE(playerdata); SAFE_DELETE(playerdata);
SAFE_DELETE(filterDeck); SAFE_DELETE(filterDeck);
@@ -1409,7 +1415,10 @@ int GameStateDeckViewer::loadDeck(int deckid){
displayed_deck = myCollection; displayed_deck = myCollection;
char deckname[256]; char deckname[256];
sprintf(deckname,"deck%i.txt",deckid); sprintf(deckname,"deck%i.txt",deckid);
SAFE_DELETE(myDeck); if(myDeck){
SAFE_DELETE(myDeck->parent);
SAFE_DELETE(myDeck);
}
myDeck = NEW DeckDataWrapper(NEW MTGDeck(options.profileFile(deckname,"",false,false).c_str(), mParent->collection)); myDeck = NEW DeckDataWrapper(NEW MTGDeck(options.profileFile(deckname,"",false,false).c_str(), mParent->collection));
// Check whether the cards in the deck are actually available in the player's collection: // Check whether the cards in the deck are actually available in the player's collection:

View File

@@ -57,6 +57,7 @@ enum
SUBMENUITEM_CLASSIC, SUBMENUITEM_CLASSIC,
SUBMENUITEM_RANDOM1, SUBMENUITEM_RANDOM1,
SUBMENUITEM_RANDOM2, SUBMENUITEM_RANDOM2,
SUBMENUITEM_PEASANT,
}; };
@@ -452,9 +453,11 @@ void GameStateMenu::Update(float dt)
subMenuController->Add(SUBMENUITEM_RANDOM1, "Random 1 Color"); subMenuController->Add(SUBMENUITEM_RANDOM1, "Random 1 Color");
subMenuController->Add(SUBMENUITEM_RANDOM2, "Random 2 Colors"); subMenuController->Add(SUBMENUITEM_RANDOM2, "Random 2 Colors");
} }
if(true)
subMenuController->Add(SUBMENUITEM_PEASANT, "Peasant's Magic");
subMenuController->Add(SUBMENUITEM_CANCEL, "Cancel"); subMenuController->Add(SUBMENUITEM_CANCEL, "Cancel");
} }
}else{ }else{
mParent->DoTransition(TRANSITION_FADE,GAME_STATE_DUEL); mParent->DoTransition(TRANSITION_FADE,GAME_STATE_DUEL);
currentState = MENU_STATE_MAJOR_MAINMENU; currentState = MENU_STATE_MAJOR_MAINMENU;
} }
@@ -670,6 +673,12 @@ JLBFont * mFont = resources.GetJLBFont(Constants::MENU_FONT);
subMenuController->Close(); subMenuController->Close();
currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING;
break; break;
case SUBMENUITEM_PEASANT:
this->hasChosenGameType = 1;
mParent->gameType = GAME_TYPE_PEASANT;
subMenuController->Close();
currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING;
break;
#ifdef TESTSUITE #ifdef TESTSUITE
case SUBMENUITEM_TESTSUITE: case SUBMENUITEM_TESTSUITE:
mParent->players[0] = PLAYER_TYPE_TESTSUITE; mParent->players[0] = PLAYER_TYPE_TESTSUITE;