diff --git a/JGE/include/JGui.h b/JGE/include/JGui.h index 931558402..210f62d2d 100644 --- a/JGE/include/JGui.h +++ b/JGE/include/JGui.h @@ -25,6 +25,8 @@ #define JGUI_INITIAL_DELAY 0.4 #define JGUI_REPEAT_DELAY 0.2 +const int kCancelMenuID = -1; + class JGuiListener { public: @@ -71,6 +73,7 @@ class JGuiController JButton mActionButton; + JButton mCancelButton; int mCurr; int mStyle; diff --git a/JGE/src/JGui.cpp b/JGE/src/JGui.cpp index 2736dd974..b93388a78 100644 --- a/JGE/src/JGui.cpp +++ b/JGE/src/JGui.cpp @@ -76,6 +76,7 @@ JGuiController::JGuiController(int id, JGuiListener* listener) : mId(id), mListe mShowCursor = false; mActionButton = JGE_BTN_OK; + mCancelButton = JGE_BTN_MENU; mStyle = JGUI_STYLE_WRAPPING; @@ -110,6 +111,13 @@ bool JGuiController::CheckUserInput(JButton key){ return true; } } + else if (key == mCancelButton) + { + if (mListener != NULL) + { + mListener->ButtonPressed(mId, kCancelMenuID); + } + } else if ((JGE_BTN_LEFT == key) || (JGE_BTN_UP == key)) // || mEngine->GetAnalogY() < 64 || mEngine->GetAnalogX() < 64) { int n = mCurr; diff --git a/projects/mtg/include/GameStateDeckViewer.h b/projects/mtg/include/GameStateDeckViewer.h index 8034fc06e..21e2eec8a 100644 --- a/projects/mtg/include/GameStateDeckViewer.h +++ b/projects/mtg/include/GameStateDeckViewer.h @@ -53,12 +53,12 @@ enum DECK_VIEWER_MENU_ITEMS { MENU_ITEM_NEW_DECK = -30, MENU_ITEM_CHEAT_MODE = -12, - MENU_ITEM_CANCEL = -1, + MENU_ITEM_CANCEL = kCancelMenuID, MENU_ITEM_SAVE_RETURN_MAIN_MENU = 0, MENU_ITEM_SAVE_RENAME = 1, MENU_ITEM_SWITCH_DECKS_NO_SAVE = 2, MENU_ITEM_MAIN_MENU = 3, - MENU_ITEM_EDITOR_CANCEL = 4, + MENU_ITEM_EDITOR_CANCEL = kCancelMenuID, MENU_ITEM_SAVE_AS_AI_DECK = 5, MENU_ITEM_YES = 20, MENU_ITEM_NO = 21, diff --git a/projects/mtg/include/GameStateDuel.h b/projects/mtg/include/GameStateDuel.h index 69b913575..9868e0aef 100644 --- a/projects/mtg/include/GameStateDuel.h +++ b/projects/mtg/include/GameStateDuel.h @@ -57,8 +57,8 @@ class GameStateDuel: public GameState, public JGuiListener enum ENUM_DUEL_STATE_MENU_ITEM { - MENUITEM_NEW_DECK = -1, - MENUITEM_CANCEL = -10, + MENUITEM_CANCEL = kCancelMenuID, + MENUITEM_NEW_DECK = -10, MENUITEM_RANDOM_PLAYER = -11, MENUITEM_RANDOM_AI = -12, MENUITEM_MAIN_MENU = -13, diff --git a/projects/mtg/src/ActionLayer.cpp b/projects/mtg/src/ActionLayer.cpp index d9cd1f4af..91940c883 100644 --- a/projects/mtg/src/ActionLayer.cpp +++ b/projects/mtg/src/ActionLayer.cpp @@ -232,7 +232,7 @@ void ActionLayer::setMenuObject(Targetable * object, bool must){ abilitiesMenu->Add(i,currentAction->getMenuText()); } } - if (!must) abilitiesMenu->Add(-1, "Cancel"); + if (!must) abilitiesMenu->Add(kCancelMenuID, "Cancel"); else cantCancel = 1; modal = 1; } diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index bbb6be2dc..588711bcf 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -1,164 +1,164 @@ -#include "PrecompiledHeader.h" -#include "AllAbilities.h" - -// BanishCard implementations - -AABanishCard::AABanishCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost=NULL, int _banishmentType = -1):ActivatedAbility(_id, _source,_cost),banishmentType(_banishmentType) { - if (_target) target = _target; -} - -const char * AABanishCard::getMenuText() -{ - return "Send to graveyard"; -} - -int AABanishCard::resolve() -{ - DebugTrace("This is not implemented!"); - return 0; -} - -AABanishCard * AABanishCard::clone() const{ - AABanishCard * a = NEW AABanishCard(*this); - a->isClone = 1; - return a; -} - -// Bury - -AABuryCard::AABuryCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL , int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::BURY) -{} - -int AABuryCard::resolve(){ - MTGCardInstance * _target = (MTGCardInstance *) target; - if(_target){ - return _target->bury(); - } - return 0; -} - -const char * AABuryCard::getMenuText(){ - return "Bury"; -} - -AABuryCard * AABuryCard::clone() const{ - AABuryCard * a = NEW AABuryCard(*this); - a->isClone = 1; - return a; -} - - -// Destroy - -AADestroyCard::AADestroyCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL, int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::DESTROY) -{} - -int AADestroyCard::resolve(){ - MTGCardInstance * _target = (MTGCardInstance *) target; - if(_target){ - return _target->destroy(); - } - return 0; -} - -const char * AADestroyCard::getMenuText(){ - return "Destroy"; -} - -AADestroyCard * AADestroyCard::clone() const{ - AADestroyCard * a = NEW AADestroyCard(*this); - a->isClone = 1; - return a; -} - -// Sacrifice -AASacrificeCard::AASacrificeCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL, int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::SACRIFICE) { -} - -int AASacrificeCard::resolve(){ - MTGCardInstance * _target = (MTGCardInstance *) target; - if(_target){ - Player * p = _target->controller(); - WEvent * e = NEW WEventCardSacrifice(_target); - GameObserver * game = GameObserver::GetInstance(); - game->receiveEvent(e); - p->game->putInGraveyard(_target); - return 1; - } - return 0; -} - -const char * AASacrificeCard::getMenuText(){ - return "Sacrifice"; -} - -AASacrificeCard * AASacrificeCard::clone() const{ - AASacrificeCard * a = NEW AASacrificeCard(*this); - a->isClone = 1; - return a; -} - -// Discard - -AADiscardCard::AADiscardCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL, int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::DISCARD) { -} - -int AADiscardCard::resolve(){ - MTGCardInstance * _target = (MTGCardInstance *) target; - if(_target){ - Player * p = _target->controller(); - WEvent * e = NEW WEventCardDiscard(_target); - GameObserver * game = GameObserver::GetInstance(); - game->receiveEvent(e); - p->game->putInGraveyard(_target); - return 1; - } - return 0; -} - -const char * AADiscardCard::getMenuText(){ - return "Discard"; -} - -AADiscardCard * AADiscardCard::clone() const{ - AADiscardCard * a = NEW AADiscardCard(*this); - a->isClone = 1; - return a; -} - - -//Mana Redux -AManaRedux::AManaRedux(int id, MTGCardInstance * source, MTGCardInstance * target,int amount,int type):MTGAbility(id,source,target),amount(amount),type(type) { - MTGCardInstance * _target = (MTGCardInstance *)target; -} - -int AManaRedux::addToGame(){ - MTGCardInstance * _target = (MTGCardInstance *)target; - if(amount < 0){ - amount = abs(amount); - if(_target->getManaCost()->hasColor(type)){ - if(_target->getManaCost()->getConvertedCost() >= 1){ - _target->getManaCost()->remove(type,amount); - if(_target->getManaCost()->alternative > 0){ - _target->getManaCost()->alternative->remove(type,amount);} - if(_target->getManaCost()->BuyBack > 0){ - _target->getManaCost()->BuyBack->remove(type,amount);} - } - } - }else{ - _target->getManaCost()->add(type,amount); - if(_target->getManaCost()->alternative > 0){ - _target->getManaCost()->alternative->add(type,amount);} - if(_target->getManaCost()->BuyBack > 0){ - _target->getManaCost()->BuyBack->add(type,amount);} - } - return MTGAbility::addToGame(); -} - -AManaRedux * AManaRedux::clone() const { - AManaRedux * a = NEW AManaRedux(*this); - a->isClone = 1; - return a; -} - -AManaRedux::~AManaRedux(){} +#include "PrecompiledHeader.h" +#include "AllAbilities.h" + +// BanishCard implementations + +AABanishCard::AABanishCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost=NULL, int _banishmentType = -1):ActivatedAbility(_id, _source,_cost),banishmentType(_banishmentType) { + if (_target) target = _target; +} + +const char * AABanishCard::getMenuText() +{ + return "Send to graveyard"; +} + +int AABanishCard::resolve() +{ + DebugTrace("This is not implemented!"); + return 0; +} + +AABanishCard * AABanishCard::clone() const{ + AABanishCard * a = NEW AABanishCard(*this); + a->isClone = 1; + return a; +} + +// Bury + +AABuryCard::AABuryCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL , int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::BURY) +{} + +int AABuryCard::resolve(){ + MTGCardInstance * _target = (MTGCardInstance *) target; + if(_target){ + return _target->bury(); + } + return 0; +} + +const char * AABuryCard::getMenuText(){ + return "Bury"; +} + +AABuryCard * AABuryCard::clone() const{ + AABuryCard * a = NEW AABuryCard(*this); + a->isClone = 1; + return a; +} + + +// Destroy + +AADestroyCard::AADestroyCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL, int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::DESTROY) +{} + +int AADestroyCard::resolve(){ + MTGCardInstance * _target = (MTGCardInstance *) target; + if(_target){ + return _target->destroy(); + } + return 0; +} + +const char * AADestroyCard::getMenuText(){ + return "Destroy"; +} + +AADestroyCard * AADestroyCard::clone() const{ + AADestroyCard * a = NEW AADestroyCard(*this); + a->isClone = 1; + return a; +} + +// Sacrifice +AASacrificeCard::AASacrificeCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL, int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::SACRIFICE) { +} + +int AASacrificeCard::resolve(){ + MTGCardInstance * _target = (MTGCardInstance *) target; + if(_target){ + Player * p = _target->controller(); + WEvent * e = NEW WEventCardSacrifice(_target); + GameObserver * game = GameObserver::GetInstance(); + game->receiveEvent(e); + p->game->putInGraveyard(_target); + return 1; + } + return 0; +} + +const char * AASacrificeCard::getMenuText(){ + return "Sacrifice"; +} + +AASacrificeCard * AASacrificeCard::clone() const{ + AASacrificeCard * a = NEW AASacrificeCard(*this); + a->isClone = 1; + return a; +} + +// Discard + +AADiscardCard::AADiscardCard(int _id, MTGCardInstance * _source, MTGCardInstance * _target, ManaCost * _cost = NULL, int _banishmentType = 0):AABanishCard(_id, _source, _target, _cost, AABanishCard::DISCARD) { +} + +int AADiscardCard::resolve(){ + MTGCardInstance * _target = (MTGCardInstance *) target; + if(_target){ + Player * p = _target->controller(); + WEvent * e = NEW WEventCardDiscard(_target); + GameObserver * game = GameObserver::GetInstance(); + game->receiveEvent(e); + p->game->putInGraveyard(_target); + return 1; + } + return 0; +} + +const char * AADiscardCard::getMenuText(){ + return "Discard"; +} + +AADiscardCard * AADiscardCard::clone() const{ + AADiscardCard * a = NEW AADiscardCard(*this); + a->isClone = 1; + return a; +} + + +//Mana Redux +AManaRedux::AManaRedux(int id, MTGCardInstance * source, MTGCardInstance * target,int amount,int type):MTGAbility(id,source,target),amount(amount),type(type) { + MTGCardInstance * _target = (MTGCardInstance *)target; +} + +int AManaRedux::addToGame(){ + MTGCardInstance * _target = (MTGCardInstance *)target; + if(amount < 0){ + amount = abs(amount); + if(_target->getManaCost()->hasColor(type)){ + if(_target->getManaCost()->getConvertedCost() >= 1){ + _target->getManaCost()->remove(type,amount); + if(_target->getManaCost()->alternative > 0){ + _target->getManaCost()->alternative->remove(type,amount);} + if(_target->getManaCost()->BuyBack > 0){ + _target->getManaCost()->BuyBack->remove(type,amount);} + } + } + }else{ + _target->getManaCost()->add(type,amount); + if(_target->getManaCost()->alternative > 0){ + _target->getManaCost()->alternative->add(type,amount);} + if(_target->getManaCost()->BuyBack > 0){ + _target->getManaCost()->BuyBack->add(type,amount);} + } + return MTGAbility::addToGame(); +} + +AManaRedux * AManaRedux::clone() const { + AManaRedux * a = NEW AManaRedux(*this); + a->isClone = 1; + return a; +} + +AManaRedux::~AManaRedux(){} diff --git a/projects/mtg/src/GameStateAwards.cpp b/projects/mtg/src/GameStateAwards.cpp index 307c8f3d1..dd5778cdf 100644 --- a/projects/mtg/src/GameStateAwards.cpp +++ b/projects/mtg/src/GameStateAwards.cpp @@ -17,6 +17,12 @@ enum ENUM_AWARDS_STATE{ STATE_DETAILS, }; +namespace +{ + const int kBackToTrophiesID = 2; + const int kBackToMainMenuID = 1; +} + GameStateAwards::GameStateAwards(GameApp* parent): GameState(parent){ } @@ -164,9 +170,9 @@ void GameStateAwards::Update(float dt) SAFE_DELETE(menu); menu = NEW SimpleMenu(-102, this,Fonts::MENU_FONT, 50,170); if(mState == STATE_DETAILS) - menu->Add(2, "Back to Trophies"); - menu->Add(1, "Back to Main Menu"); - menu->Add(3, "Cancel"); + menu->Add(kBackToTrophiesID, "Back to Trophies"); + menu->Add(kBackToMainMenuID, "Back to Main Menu"); + menu->Add(kCancelMenuID, "Cancel"); break; case JGE_BTN_PREV: mParent->DoTransition(TRANSITION_FADE,GAME_STATE_MENU); @@ -321,11 +327,11 @@ void GameStateAwards::ButtonPressed(int controllerId, int controlId) { if(controllerId == -102) switch (controlId){ - case 1: + case kBackToMainMenuID: mParent->DoTransition(TRANSITION_FADE,GAME_STATE_MENU); showMenu = false; break; - case 2: + case kBackToTrophiesID: mState = STATE_LISTVIEW; SAFE_DELETE(detailview); showMenu = false; diff --git a/projects/mtg/src/GameStateDuel.cpp b/projects/mtg/src/GameStateDuel.cpp index 52db82ac6..0c488020c 100644 --- a/projects/mtg/src/GameStateDuel.cpp +++ b/projects/mtg/src/GameStateDuel.cpp @@ -129,7 +129,7 @@ void GameStateDuel::Start() fillDeckMenu(deckmenu,RESPATH"/player/premade"); } deckmenu->Add( MENUITEM_NEW_DECK, "New Deck...", "Create a new deck to play with."); - deckmenu->Add( MENUITEM_MAIN_MENU, "Main Menu", "Return to Main Menu"); + deckmenu->Add( MENUITEM_CANCEL, "Main Menu", "Return to Main Menu"); } for (int i = 0; i < 2; ++i){ @@ -556,7 +556,7 @@ void GameStateDuel::ButtonPressed(int controllerId, int controlId) { mGamePhase = DUEL_STATE_CHOOSE_DECK2_TO_PLAY; break; } - else if (controlId == MENUITEM_MAIN_MENU ) // user clicked on "Cancel" + else if (controlId == MENUITEM_MAIN_MENU || controlId == MENUITEM_CANCEL ) // user clicked on "Cancel" { if (deckmenu) deckmenu->Close(); diff --git a/projects/mtg/src/GameStateMenu.cpp b/projects/mtg/src/GameStateMenu.cpp index 9d121269b..fe4c22c32 100644 --- a/projects/mtg/src/GameStateMenu.cpp +++ b/projects/mtg/src/GameStateMenu.cpp @@ -50,6 +50,7 @@ enum ENUM_MENU_STATE_MINOR enum { + SUBMENUITEM_CANCEL = kCancelMenuID, MENUITEM_PLAY, MENUITEM_DECKEDITOR, MENUITEM_SHOP, @@ -58,7 +59,6 @@ enum SUBMENUITEM_1PLAYER, SUBMENUITEM_2PLAYER, SUBMENUITEM_DEMO, - SUBMENUITEM_CANCEL, SUBMENUITEM_TESTSUITE, SUBMENUITEM_MOMIR, SUBMENUITEM_CLASSIC, @@ -651,101 +651,104 @@ void GameStateMenu::ButtonPressed(int controllerId, int controlId) break; default: switch (controlId) - { - case MENUITEM_PLAY: - subMenuController = NEW SimpleMenu( MENU_FIRST_DUEL_SUBMENU, this, Fonts::MENU_FONT, 150,60); - if (subMenuController){ - subMenuController->Add(SUBMENUITEM_1PLAYER,"1 Player"); + { + case MENUITEM_PLAY: + subMenuController = NEW SimpleMenu( MENU_FIRST_DUEL_SUBMENU, this, Fonts::MENU_FONT, 150,60); + if (subMenuController){ + subMenuController->Add(SUBMENUITEM_1PLAYER,"1 Player"); // TODO Put 2 players mode back // This requires to fix the hand (to accept 2 players) OR to implement network game - //subMenuController->Add(SUBMENUITEM_2PLAYER, "2 Players"); - subMenuController->Add(SUBMENUITEM_DEMO,"Demo"); - subMenuController->Add(SUBMENUITEM_CANCEL, "Cancel"); + //subMenuController->Add(SUBMENUITEM_2PLAYER, "2 Players"); + subMenuController->Add(SUBMENUITEM_DEMO,"Demo"); + subMenuController->Add(SUBMENUITEM_CANCEL, "Cancel"); #ifdef TESTSUITE - subMenuController->Add(SUBMENUITEM_TESTSUITE, "Test Suite"); + subMenuController->Add(SUBMENUITEM_TESTSUITE, "Test Suite"); #endif - currentState = MENU_STATE_MAJOR_SUBMENU | MENU_STATE_MINOR_NONE; + currentState = MENU_STATE_MAJOR_SUBMENU | MENU_STATE_MINOR_NONE; } - break; - case MENUITEM_DECKEDITOR: - mParent->DoTransition(TRANSITION_FADE,GAME_STATE_DECK_VIEWER); - break; - case MENUITEM_SHOP: - mParent->DoTransition(TRANSITION_FADE,GAME_STATE_SHOP); - break; - case MENUITEM_OPTIONS: - mParent->DoTransition(TRANSITION_FADE,GAME_STATE_OPTIONS); - break; - case MENUITEM_EXIT: - mEngine->End(); - break; - case SUBMENUITEM_1PLAYER: - mParent->players[0] = PLAYER_TYPE_HUMAN; - mParent->players[1] = PLAYER_TYPE_CPU; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; - case SUBMENUITEM_2PLAYER: - mParent->players[0] = PLAYER_TYPE_HUMAN; - mParent->players[1] = PLAYER_TYPE_HUMAN; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; - case SUBMENUITEM_DEMO: - mParent->players[0] = PLAYER_TYPE_CPU; - mParent->players[1] = PLAYER_TYPE_CPU; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; - case SUBMENUITEM_CANCEL: - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_MAINMENU | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; + break; + case MENUITEM_DECKEDITOR: + mParent->DoTransition(TRANSITION_FADE,GAME_STATE_DECK_VIEWER); + break; + case MENUITEM_SHOP: + mParent->DoTransition(TRANSITION_FADE,GAME_STATE_SHOP); + break; + case MENUITEM_OPTIONS: + mParent->DoTransition(TRANSITION_FADE,GAME_STATE_OPTIONS); + break; + case MENUITEM_EXIT: + mEngine->End(); + break; + case SUBMENUITEM_1PLAYER: + mParent->players[0] = PLAYER_TYPE_HUMAN; + mParent->players[1] = PLAYER_TYPE_CPU; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; + case SUBMENUITEM_2PLAYER: + mParent->players[0] = PLAYER_TYPE_HUMAN; + mParent->players[1] = PLAYER_TYPE_HUMAN; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; + case SUBMENUITEM_DEMO: + mParent->players[0] = PLAYER_TYPE_CPU; + mParent->players[1] = PLAYER_TYPE_CPU; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; + case SUBMENUITEM_CANCEL: + if (subMenuController != NULL) + { + subMenuController->Close(); + } + currentState = MENU_STATE_MAJOR_MAINMENU | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; - case SUBMENUITEM_CLASSIC: - this->hasChosenGameType = 1; - mParent->gameType = GAME_TYPE_CLASSIC; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; + case SUBMENUITEM_CLASSIC: + this->hasChosenGameType = 1; + mParent->gameType = GAME_TYPE_CLASSIC; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; - case SUBMENUITEM_MOMIR: - this->hasChosenGameType = 1; - mParent->gameType = GAME_TYPE_MOMIR; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; + case SUBMENUITEM_MOMIR: + this->hasChosenGameType = 1; + mParent->gameType = GAME_TYPE_MOMIR; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; - case SUBMENUITEM_RANDOM1: - this->hasChosenGameType = 1; - mParent->gameType = GAME_TYPE_RANDOM1; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; + case SUBMENUITEM_RANDOM1: + this->hasChosenGameType = 1; + mParent->gameType = GAME_TYPE_RANDOM1; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; - case SUBMENUITEM_RANDOM2: - this->hasChosenGameType = 1; - mParent->gameType = GAME_TYPE_RANDOM2; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; + case SUBMENUITEM_RANDOM2: + this->hasChosenGameType = 1; + mParent->gameType = GAME_TYPE_RANDOM2; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; - case SUBMENUITEM_STORY: - this->hasChosenGameType = 1; - mParent->gameType = GAME_TYPE_STORY; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; + case SUBMENUITEM_STORY: + this->hasChosenGameType = 1; + mParent->gameType = GAME_TYPE_STORY; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; #ifdef TESTSUITE - case SUBMENUITEM_TESTSUITE: - mParent->players[0] = PLAYER_TYPE_TESTSUITE; - mParent->players[1] = PLAYER_TYPE_TESTSUITE; - subMenuController->Close(); - currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; - break; + case SUBMENUITEM_TESTSUITE: + mParent->players[0] = PLAYER_TYPE_TESTSUITE; + mParent->players[1] = PLAYER_TYPE_TESTSUITE; + subMenuController->Close(); + currentState = MENU_STATE_MAJOR_DUEL | MENU_STATE_MINOR_SUBMENU_CLOSING; + break; #endif - } + } break; } } diff --git a/projects/mtg/src/GameStateOptions.cpp b/projects/mtg/src/GameStateOptions.cpp index d6d898845..ec916b1fc 100644 --- a/projects/mtg/src/GameStateOptions.cpp +++ b/projects/mtg/src/GameStateOptions.cpp @@ -8,6 +8,15 @@ #include "GameOptions.h" #include "Translate.h" +namespace +{ + const int kSaveAndBackToMainMenuID = 1; + const int kBackToMainMenuID = 2; + const int kNewProfileID = 4; + const int kReloadID = 5; + +} + GameStateOptions::GameStateOptions(GameApp* parent): GameState(parent), mReload(false), grabber(NULL), optionsMenu(NULL), optionsTabs(NULL) {} GameStateOptions::~GameStateOptions() {} @@ -62,7 +71,7 @@ void GameStateOptions::Start() optionsList->Add(NEW WGuiSplit(cPrf,cThm)); optionsList->Add(cStyle); - optionsList->Add(NEW WGuiButton(NEW WGuiHeader("New Profile"),-102,4,this)); + optionsList->Add(NEW WGuiButton(NEW WGuiHeader("New Profile"),-102, kNewProfileID, this)); optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::CHEATMODE, "Enable cheat mode"))); optionsTabs->Add(optionsList); @@ -89,9 +98,9 @@ void GameStateOptions::Start() optionsTabs->Add(optionsList); optionsMenu = NEW SimpleMenu(-102, this,Fonts::MENU_FONT, 50,170); - optionsMenu->Add(2, "Back to Main Menu"); - optionsMenu->Add(1, "Save & Back to Main Menu"); - optionsMenu->Add(3, "Cancel"); + optionsMenu->Add(kBackToMainMenuID, "Back to Main Menu"); + optionsMenu->Add(kSaveAndBackToMainMenuID, "Save & Back to Main Menu"); + optionsMenu->Add(kCancelMenuID, "Cancel"); optionsTabs->Entering(JGE_BTN_NONE); } @@ -245,21 +254,21 @@ void GameStateOptions::ButtonPressed(int controllerId, int controlId) //Exit menu? if(controllerId == -102) switch (controlId){ - case 1: + case kSaveAndBackToMainMenuID: mState = SAVE; break; //Set Audio volume - case 2: + case kBackToMainMenuID: mParent->DoTransition(TRANSITION_FADE,GAME_STATE_MENU); break; - case 3: + case kCancelMenuID: mState = SHOW_OPTIONS; break; - case 4: + case kNewProfileID: options.keypadStart("",&newProfile); options.keypadTitle("New Profile"); break; - case 5: + case kReloadID: mReload = true; break; } diff --git a/projects/mtg/src/GameStateShop.cpp b/projects/mtg/src/GameStateShop.cpp index caf296743..aa3cf64b3 100644 --- a/projects/mtg/src/GameStateShop.cpp +++ b/projects/mtg/src/GameStateShop.cpp @@ -417,7 +417,7 @@ void GameStateShop::Update(float dt) if (options[Options::CHEATMODE].number) menu->Add(-2,"Steal 1,000 credits"); menu->Add(12,"Save & Back to Main Menu"); - menu->Add(13, "Cancel"); + menu->Add(kCancelMenuID, "Cancel"); } break; case STAGE_SHOP_TASKS: @@ -437,7 +437,7 @@ void GameStateShop::Update(float dt) menu = NEW SimpleMenu(11,this,Fonts::MENU_FONT,SCREEN_WIDTH/2-100,20); menu->Add(15,"Return to shop"); menu->Add(12,"Save & Back to Main Menu"); - menu->Add(13, "Cancel"); + menu->Add(kCancelMenuID, "Cancel"); } } } diff --git a/projects/mtg/src/GameStateStory.cpp b/projects/mtg/src/GameStateStory.cpp index 2815699cc..1f05fa646 100644 --- a/projects/mtg/src/GameStateStory.cpp +++ b/projects/mtg/src/GameStateStory.cpp @@ -48,7 +48,7 @@ void GameStateStory::loadStoriesMenu(const char * root){ for (size_t i = 0; i < stories.size(); ++i){ menu->Add(i, stories[i].c_str()); } - menu->Add(-1,"Cancel"); + menu->Add(kCancelMenuID, "Cancel"); } } @@ -62,7 +62,7 @@ void GameStateStory::Update(float dt) { if (!menu && mEngine->GetButtonClick(JGE_BTN_MENU)){ menu = NEW SimpleMenu(100, this, Fonts::MENU_FONT, SCREEN_WIDTH/2-100, 25); menu->Add(0,"Back to main menu"); - menu->Add(-1, "Cancel"); + menu->Add(kCancelMenuID, "Cancel"); } if (menu) { menu->Update(dt); diff --git a/projects/mtg/src/WGui.cpp b/projects/mtg/src/WGui.cpp index 85da54fe4..c390fb024 100644 --- a/projects/mtg/src/WGui.cpp +++ b/projects/mtg/src/WGui.cpp @@ -1649,7 +1649,7 @@ void WGuiFilterItem::updateValue(){ } if(!mNew) mParent->subMenu->Add(-2,"Remove"); - mParent->subMenu->Add(-1,"Cancel"); + mParent->subMenu->Add(kCancelMenuID,"Cancel"); if(delMenu){ SAFE_DELETE(mParent->subMenu); mState = STATE_FINISHED; @@ -1754,7 +1754,7 @@ void WGuiFilterItem::updateValue(){ } mParent->addArg("Digit","alpha:#;"); } - mParent->subMenu->Add(-1,"Cancel"); + mParent->subMenu->Add(kCancelMenuID,"Cancel"); break; case STATE_CHOOSE_VAL: mState = STATE_FINISHED;