Merge pull request #564 from ZobyTwo/cleanup_1

Add a few namespaces and fix header guards.
This commit is contained in:
xawotihs
2013-11-25 15:42:18 -08:00
15 changed files with 135 additions and 110 deletions

View File

@@ -44,6 +44,17 @@ typedef WPARAM LocalKeySym;
#include <X11/keysym.h> #include <X11/keysym.h>
typedef KeySym LocalKeySym; typedef KeySym LocalKeySym;
#define LOCAL_KEY_NONE XK_VoidSymbol #define LOCAL_KEY_NONE XK_VoidSymbol
#undef Status
#undef Bool
#undef None
#undef CursorShape
#undef KeyPress
#undef KeyRelease
#undef FocusIn
#undef FocusOut
#undef FontChange
#undef Unsorted
#undef GrayScale
#elif defined(ANDROID) // This is temporary until we understand how to send real key events from Java #elif defined(ANDROID) // This is temporary until we understand how to send real key events from Java
typedef long unsigned int LocalKeySym; typedef long unsigned int LocalKeySym;

View File

@@ -3,15 +3,6 @@
#include <math.h> #include <math.h>
/*************************** Macros and constants ***************************/
// returns a number ranging from -1.0 to 1.0
#define FRAND (((float)rand()-(float)rand())/RAND_MAX)
#define Clamp(x, min, max) x = (x<min ? min : x<max ? x : max);
#define SQUARE(x) (x)*(x)
struct Vector3D struct Vector3D
{ {
Vector3D(float x, float y, float z) : x(x), y(y), z(z) {} Vector3D(float x, float y, float z) : x(x), y(y), z(z) {}
@@ -63,7 +54,7 @@ struct Vector3D
float Length() float Length()
{ {
float length = (float)sqrt(SQUARE(x) + SQUARE(y) + SQUARE(z)); float length = sqrt(x*x + y*y + z*z);
return (length != 0.0f) ? length : 1.0f; return (length != 0.0f) ? length : 1.0f;
} }

View File

@@ -1,3 +1,6 @@
#ifndef _CACHE_ENGINE_H_
#define _CACHE_ENGINE_H_
#include "PrecompiledHeader.h" #include "PrecompiledHeader.h"
#include "Threading.h" #include "Threading.h"
@@ -208,3 +211,5 @@ public:
CardRetrieverBase* CacheEngine::sInstance = NULL; CardRetrieverBase* CacheEngine::sInstance = NULL;
bool CacheEngine::sIsThreaded = false; bool CacheEngine::sIsThreaded = false;
#endif //_CACHE_ENGINE_H_

View File

@@ -1,3 +1,5 @@
#ifndef _DECK_EDITOR_MENU_H
#define _DECK_EDITOR_MENU_H
#pragma once #pragma once
#include "DeckMenu.h" #include "DeckMenu.h"
#include "DeckDataWrapper.h" #include "DeckDataWrapper.h"
@@ -19,3 +21,4 @@ public:
void Render(); void Render();
virtual ~DeckEditorMenu(); virtual ~DeckEditorMenu();
}; };
#endif //_DECK_EDITOR_MENU_H

View File

@@ -1,3 +1,6 @@
#ifndef _DECK_MANAGER_H
#define _DECK_MANAGER_H
#include <string> #include <string>
#include <vector> #include <vector>
@@ -43,3 +46,5 @@ public:
~DeckManager(); ~DeckManager();
}; };
#endif //_DECK_MANAGER_H

View File

@@ -1,3 +1,6 @@
#ifndef _GUI_MANA_H
#define _GUI_MANA_H
#include "string.h" #include "string.h"
#include <vector> #include <vector>
#include <hge/hgeparticle.h> #include <hge/hgeparticle.h>
@@ -51,3 +54,5 @@ public:
virtual int receiveEventPlus(WEvent * e); virtual int receiveEventPlus(WEvent * e);
virtual int receiveEventMinus(WEvent * e); virtual int receiveEventMinus(WEvent * e);
}; };
#endif //_GUI_MANA_H

View File

@@ -1,4 +1,4 @@
#ifndef _MTGPACCK_H_ #ifndef _MTGPACK_H_
#define _MTGPACK_H_ #define _MTGPACK_H_
class ShopBooster; class ShopBooster;

View File

@@ -1,3 +1,6 @@
#ifndef _STYLE_MANAGER_H_
#define _STYLE_MANAGER_H_
class WStyle class WStyle
{ {
public: public:
@@ -34,3 +37,5 @@ protected:
string activeStyle; string activeStyle;
map<string, WStyle*> styles; map<string, WStyle*> styles;
}; };
#endif //_STYLE_MANAGER_H_

View File

@@ -7,42 +7,42 @@
#include "Closest.cpp" #include "Closest.cpp"
#include "GameObserver.h" #include "GameObserver.h"
struct Left: public Exp struct CardSelectorLeft: public Exp
{ {
static inline bool test(CardSelector::Target* ref, CardSelector::Target* test) static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
{ {
return ref->x - test->x > fabs(ref->y - test->y); return ref->x - test->x > fabs(ref->y - test->y);
} }
}; };
struct Right: public Exp struct CardSelectorRight: public Exp
{ {
static inline bool test(CardSelector::Target* ref, CardSelector::Target* test) static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
{ {
return test->x - ref->x > fabs(ref->y - test->y); return test->x - ref->x > fabs(ref->y - test->y);
} }
}; };
struct Up: public Exp struct CardSelectorUp: public Exp
{ {
static inline bool test(CardSelector::Target* ref, CardSelector::Target* test) static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
{ {
return ref->y - test->y > fabs(ref->x - test->x); return ref->y - test->y > fabs(ref->x - test->x);
} }
}; };
struct Down: public Exp struct CardSelectorDown: public Exp
{ {
static inline bool test(CardSelector::Target* ref, CardSelector::Target* test) static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
{ {
return test->y - ref->y > fabs(ref->x - test->x); return test->y - ref->y > fabs(ref->x - test->x);
} }
}; };
struct Diff: public Exp struct CardSelectorDiff: public Exp
{ {
static inline bool test(CardSelector::Target* ref, CardSelector::Target* test) static inline bool test(CardSelector::Target* ref, CardSelector::Target* test)
{ {
return ref != test; return ref != test;
} }
}; };
struct True: public Exp struct CardSelectorTrue: public Exp
{ {
static inline bool test(CardSelector::Target*, CardSelector::Target*) static inline bool test(CardSelector::Target*, CardSelector::Target*)
{ {
@@ -94,7 +94,7 @@ void CardSelector::Remove(CardSelector::Target* card)
CardView* c = dynamic_cast<CardView*> (active); CardView* c = dynamic_cast<CardView*> (active);
if (c) if (c)
c->zoom = 1.0f; c->zoom = 1.0f;
active = closest<Diff> (cards, limitor, active); active = closest<CardSelectorDiff> (cards, limitor, active);
c = dynamic_cast<CardView*> (active); c = dynamic_cast<CardView*> (active);
if (c) if (c)
c->zoom = 1.4f; c->zoom = 1.4f;
@@ -120,7 +120,7 @@ CardSelector::Target* CardSelector::fetchMemory(SelectorMemory& memory)
} }
// We come here if the card is not in the selector any more, or if // We come here if the card is not in the selector any more, or if
// it is there but it is now refused by the limitor. // it is there but it is now refused by the limitor.
return closest<True> (cards, limitor, memory.x, memory.y); return closest<CardSelectorTrue> (cards, limitor, memory.x, memory.y);
} }
void CardSelector::Push() void CardSelector::Push()
@@ -182,7 +182,7 @@ bool CardSelector::CheckUserInput(JButton key)
if(!jge) return false; if(!jge) return false;
if(jge->GetLeftClickCoordinates(x, y)) if(jge->GetLeftClickCoordinates(x, y))
{ {
active = closest<True> (cards, limitor, static_cast<float> (x), static_cast<float> (y)); active = closest<CardSelectorTrue> (cards, limitor, static_cast<float> (x), static_cast<float> (y));
} }
switch (key) switch (key)
@@ -196,16 +196,16 @@ bool CardSelector::CheckUserInput(JButton key)
goto switch_active; goto switch_active;
break; break;
case JGE_BTN_LEFT: case JGE_BTN_LEFT:
active = closest<Left> (cards, limitor, active); active = closest<CardSelectorLeft> (cards, limitor, active);
break; break;
case JGE_BTN_RIGHT: case JGE_BTN_RIGHT:
active = closest<Right> (cards, limitor, active); active = closest<CardSelectorRight> (cards, limitor, active);
break; break;
case JGE_BTN_UP: case JGE_BTN_UP:
active = closest<Up> (cards, limitor, active); active = closest<CardSelectorUp> (cards, limitor, active);
break; break;
case JGE_BTN_DOWN: case JGE_BTN_DOWN:
active = closest<Down> (cards, limitor, active); active = closest<CardSelectorDown> (cards, limitor, active);
break; break;
case JGE_BTN_CANCEL: case JGE_BTN_CANCEL:
mDrawMode = (mDrawMode + 1) % DrawMode::kNumDrawModes; mDrawMode = (mDrawMode + 1) % DrawMode::kNumDrawModes;

View File

@@ -13,16 +13,16 @@
#include <iomanip> #include <iomanip>
namespace namespace DeckMenuConst
{ {
const float kVerticalMargin = 16; const float kVerticalMargin = 16;
const float kHorizontalMargin = 20; const float kHorizontalMargin = 20;
const float kLineHeight = 25; const float kLineHeight = 25;
const float kDescriptionVerticalBoxPadding = -5; const float kDescriptionVerticalBoxPadding = -5;
const float kDescriptionHorizontalBoxPadding = 5; const float kDescriptionHorizontalBoxPadding = 5;
const float kDefaultFontScale = 1.0f; const float kDefaultFontScale = 1.0f;
const float kVerticalScrollSpeed = 7.0f; const float kVerticalScrollSpeed = 7.0f;
const int DETAILED_INFO_THRESHOLD = 20; const int DETAILED_INFO_THRESHOLD = 20;
const int kDetailedInfoButtonId = 10000; const int kDetailedInfoButtonId = 10000;
@@ -52,8 +52,8 @@ JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsSc
titleY = 15; titleY = 15;
titleWidth = 180; // width of inner box of title titleWidth = 180; // width of inner box of title
descX = 260 + kDescriptionHorizontalBoxPadding; descX = 260 + DeckMenuConst::kDescriptionHorizontalBoxPadding;
descY = 100 + kDescriptionVerticalBoxPadding; descY = 100 + DeckMenuConst::kDescriptionVerticalBoxPadding;
descHeight = 145; descHeight = 145;
descWidth = 195; descWidth = 195;
@@ -73,11 +73,11 @@ JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsSc
float scrollerWidth = 200.0f; float scrollerWidth = 200.0f;
float scrollerHeight = 28.0f; float scrollerHeight = 28.0f;
mScroller = NEW VerticalTextScroller(Fonts::MAIN_FONT, 14, 235, scrollerWidth, scrollerHeight, kVerticalScrollSpeed); mScroller = NEW VerticalTextScroller(Fonts::MAIN_FONT, 14, 235, scrollerWidth, scrollerHeight, DeckMenuConst::kVerticalScrollSpeed);
mAutoTranslate = true; mAutoTranslate = true;
maxItems = 6; maxItems = 6;
mHeight = 2 * kVerticalMargin + (maxItems * kLineHeight); mHeight = 2 * DeckMenuConst::kVerticalMargin + (maxItems * DeckMenuConst::kLineHeight);
// we want to cap the deck titles to 15 characters to avoid overflowing deck names // we want to cap the deck titles to 15 characters to avoid overflowing deck names
title = _(_title); title = _(_title);
@@ -94,7 +94,7 @@ JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsSc
else else
titleFontScale = SCALE_NORMAL; titleFontScale = SCALE_NORMAL;
mSelectionTargetY = selectionY = kVerticalMargin; mSelectionTargetY = selectionY = DeckMenuConst::kVerticalMargin;
if (NULL == stars) if (NULL == stars)
stars = NEW hgeParticleSystem(WResourceManager::Instance()->RetrievePSI("stars.psi", WResourceManager::Instance()->GetQuad("stars").get())); stars = NEW hgeParticleSystem(WResourceManager::Instance()->RetrievePSI("stars.psi", WResourceManager::Instance()->GetQuad("stars").get()));
@@ -106,7 +106,7 @@ JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsSc
float stringWidth = descriptionFont->GetStringWidth(detailedInfoString.c_str()); float stringWidth = descriptionFont->GetStringWidth(detailedInfoString.c_str());
float boxStartX = detailedInfoBoxX - stringWidth / 2 + 20; float boxStartX = detailedInfoBoxX - stringWidth / 2 + 20;
dismissButton = NEW InteractiveButton( this, kDetailedInfoButtonId, Fonts::MAIN_FONT, detailedInfoString, boxStartX, detailedInfoBoxY, JGE_BTN_CANCEL); dismissButton = NEW InteractiveButton( this, DeckMenuConst::kDetailedInfoButtonId, Fonts::MAIN_FONT, detailedInfoString, boxStartX, detailedInfoBoxY, JGE_BTN_CANCEL);
JGuiController::Add(dismissButton, true); JGuiController::Add(dismissButton, true);
updateScroller(); updateScroller();
@@ -181,7 +181,7 @@ bool DeckMenu::showDetailsScreen()
if (currentMenuItem) if (currentMenuItem)
{ {
if (mAlwaysShowDetailsButton) return true; if (mAlwaysShowDetailsButton) return true;
if (mShowDetailsScreen && currentMenuItem->getVictories() > DETAILED_INFO_THRESHOLD) return true; if (mShowDetailsScreen && currentMenuItem->getVictories() > DeckMenuConst::DETAILED_INFO_THRESHOLD) return true;
} }
return false; return false;
@@ -189,10 +189,10 @@ bool DeckMenu::showDetailsScreen()
void DeckMenu::initMenuItems() void DeckMenu::initMenuItems()
{ {
float sY = mY + kVerticalMargin; float sY = mY + DeckMenuConst::kVerticalMargin;
for (int i = startId; i < mCount; ++i) for (int i = startId; i < mCount; ++i)
{ {
float y = mY + kVerticalMargin + i * kLineHeight; float y = mY + DeckMenuConst::kVerticalMargin + i * DeckMenuConst::kLineHeight;
DeckMenuItem * currentMenuItem = static_cast<DeckMenuItem*> (mObjects[i]); DeckMenuItem * currentMenuItem = static_cast<DeckMenuItem*> (mObjects[i]);
currentMenuItem->Relocate(mX, y); currentMenuItem->Relocate(mX, y);
if (currentMenuItem->hasFocus()) sY = y; if (currentMenuItem->hasFocus()) sY = y;
@@ -248,7 +248,7 @@ void DeckMenu::Render()
{ {
if (i > mCount - 1) break; if (i > mCount - 1) break;
DeckMenuItem *currentMenuItem = static_cast<DeckMenuItem*> (mObjects[i]); DeckMenuItem *currentMenuItem = static_cast<DeckMenuItem*> (mObjects[i]);
if (currentMenuItem->getY() - kLineHeight * startId < mY + height - kLineHeight + 7) if (currentMenuItem->getY() - DeckMenuConst::kLineHeight * startId < mY + height - DeckMenuConst::kLineHeight + 7)
{ {
// only load stats for visible items in the list // only load stats for visible items in the list
DeckMetaData* metaData = currentMenuItem->getMetaData(); DeckMetaData* metaData = currentMenuItem->getMetaData();
@@ -311,7 +311,7 @@ void DeckMenu::Render()
} }
else // reset the font color to be slightly muted else // reset the font color to be slightly muted
mFont->SetColor(ARGB(150,255,255,255)); mFont->SetColor(ARGB(150,255,255,255));
currentMenuItem->RenderWithOffset(-kLineHeight * startId); currentMenuItem->RenderWithOffset(-DeckMenuConst::kLineHeight * startId);
} }
} }
@@ -344,8 +344,8 @@ void DeckMenu::Update(float dt)
selectionT += 3 * dt; selectionT += 3 * dt;
selectionY += (mSelectionTargetY - selectionY) * 8 * dt; selectionY += (mSelectionTargetY - selectionY) * 8 * dt;
float starsX = starsOffsetX + ((mWidth - 2 * kHorizontalMargin) * (1 + cos(selectionT)) / 2); float starsX = starsOffsetX + ((mWidth - 2 * DeckMenuConst::kHorizontalMargin) * (1 + cos(selectionT)) / 2);
float starsY = selectionY + 5 * cos(selectionT * 2.35f) + kLineHeight / 2 - kLineHeight * startId; float starsY = selectionY + 5 * cos(selectionT * 2.35f) + DeckMenuConst::kLineHeight / 2 - DeckMenuConst::kLineHeight * startId;
stars->MoveTo(starsX, starsY); stars->MoveTo(starsX, starsY);
// //
@@ -373,7 +373,7 @@ void DeckMenu::Update(float dt)
void DeckMenu::Add(int id, const char * text, string desc, bool forceFocus, DeckMetaData * deckMetaData) void DeckMenu::Add(int id, const char * text, string desc, bool forceFocus, DeckMetaData * deckMetaData)
{ {
DeckMenuItem * menuItem = NEW DeckMenuItem(this, id, fontId, text, 0, DeckMenuItem * menuItem = NEW DeckMenuItem(this, id, fontId, text, 0,
mY + kVerticalMargin + mCount * kLineHeight, (mCount == 0), mAutoTranslate, deckMetaData); mY + DeckMenuConst::kVerticalMargin + mCount * DeckMenuConst::kLineHeight, (mCount == 0), mAutoTranslate, deckMetaData);
Translator * t = Translator::GetInstance(); Translator * t = Translator::GetInstance();
map<string, string>::iterator it = t->deckValues.find(text); map<string, string>::iterator it = t->deckValues.find(text);
string deckDescription = ""; string deckDescription = "";
@@ -386,7 +386,7 @@ void DeckMenu::Add(int id, const char * text, string desc, bool forceFocus, Deck
menuItem->setDescription(deckDescription); menuItem->setDescription(deckDescription);
JGuiController::Add(menuItem); JGuiController::Add(menuItem);
if (mCount <= maxItems) mHeight += kLineHeight; if (mCount <= maxItems) mHeight += DeckMenuConst::kLineHeight;
if (forceFocus) if (forceFocus)
{ {

View File

@@ -271,22 +271,6 @@ void DeckStats::EndInstance()
// StatsWrapper // StatsWrapper
float noLandsProbInTurn[Constants::STATS_FOR_TURNS] = {0.0f};
float noCreaturesProbInTurn[Constants::STATS_FOR_TURNS] = {0.0f};
int countCardsPerCostAndColor[Constants::STATS_MAX_MANA_COST + 1][Constants::MTG_NB_COLORS + 1] = {{0,0}};
int countCreaturesPerCostAndColor[Constants::STATS_MAX_MANA_COST + 1][Constants::MTG_NB_COLORS + 1] = {{0,0}};
int countSpellsPerCostAndColor[Constants::STATS_MAX_MANA_COST + 1][Constants::MTG_NB_COLORS + 1] = {{0,0}};
int countCardsPerCost[Constants::STATS_MAX_MANA_COST + 1] = {0};
int countCreaturesPerCost[Constants::STATS_MAX_MANA_COST + 1] = {0};
int countSpellsPerCost[Constants::STATS_MAX_MANA_COST + 1] = {0};
int countLandsPerColor[Constants::MTG_NB_COLORS + 1] = {0};
int countBasicLandsPerColor[Constants::MTG_NB_COLORS + 1] = {0};
int countNonLandProducersPerColor[Constants::MTG_NB_COLORS + 1] = {0};
int totalCostPerColor[Constants::MTG_NB_COLORS + 1] = {0};
void StatsWrapper::initValues() void StatsWrapper::initValues()
{ {
// initilize all member values to 0 // initilize all member values to 0
@@ -301,7 +285,24 @@ void StatsWrapper::initValues()
avgManaCost = avgCreatureCost = avgSpellCost = 0.0f; avgManaCost = avgCreatureCost = avgSpellCost = 0.0f;
countCreatures = countSpells = countInstants = countEnchantments = countSorceries = countArtifacts = 0; countCreatures = countSpells = countInstants = countEnchantments = countSorceries = countArtifacts = 0;
//this works only with 0.0f on floats
memset(noLandsProbInTurn, 0.0f, sizeof(float) * Constants::STATS_FOR_TURNS);
memset(noCreaturesProbInTurn, 0.0f, sizeof(float) * Constants::STATS_FOR_TURNS);
memset(countCardsPerCost, 0, sizeof(int) * (Constants::STATS_MAX_MANA_COST + 1));
memset(countCreaturesPerCost, 0, sizeof(int) * (Constants::STATS_MAX_MANA_COST + 1));
memset(countSpellsPerCost, 0, sizeof(int) * (Constants::STATS_MAX_MANA_COST + 1));
memset(countCardsPerCostAndColor, 0, sizeof(int) * (Constants::STATS_MAX_MANA_COST + 1)*(Constants::MTG_NB_COLORS + 1));
memset(countCreaturesPerCostAndColor, 0, sizeof(int) * (Constants::STATS_MAX_MANA_COST + 1)*(Constants::MTG_NB_COLORS + 1));
memset(countSpellsPerCostAndColor, 0, sizeof(int) * (Constants::STATS_MAX_MANA_COST + 1)*(Constants::MTG_NB_COLORS + 1));
memset(countLandsPerColor, 0, sizeof(int) * (Constants::MTG_NB_COLORS + 1));
memset(countBasicLandsPerColor, 0, sizeof(int) * (Constants::MTG_NB_COLORS + 1));
memset(countNonLandProducersPerColor, 0, sizeof(int) * (Constants::MTG_NB_COLORS + 1));
memset(totalCostPerColor, 0, sizeof(int) * (Constants::MTG_NB_COLORS + 1));
} }
StatsWrapper::StatsWrapper(int deckId) StatsWrapper::StatsWrapper(int deckId)

View File

@@ -21,7 +21,7 @@ enum ENUM_AWARDS_STATE
}; };
namespace namespace GameStateAwardsConst
{ {
const int kBackToTrophiesID = 2; const int kBackToTrophiesID = 2;
const int kBackToMainMenuID = 1; const int kBackToMainMenuID = 1;
@@ -186,8 +186,8 @@ void GameStateAwards::Update(float dt)
SAFE_DELETE(menu); SAFE_DELETE(menu);
menu = NEW SimpleMenu(JGE::GetInstance(), WResourceManager::Instance(), EXIT_AWARDS_MENU, this, Fonts::MENU_FONT, 50, 170); menu = NEW SimpleMenu(JGE::GetInstance(), WResourceManager::Instance(), EXIT_AWARDS_MENU, this, Fonts::MENU_FONT, 50, 170);
if (mState == STATE_DETAILS) if (mState == STATE_DETAILS)
menu->Add(kBackToTrophiesID, "Back to Trophies"); menu->Add(GameStateAwardsConst::kBackToTrophiesID, "Back to Trophies");
menu->Add(kBackToMainMenuID, "Back to Main Menu"); menu->Add(GameStateAwardsConst::kBackToMainMenuID, "Back to Main Menu");
menu->Add(kCancelMenuID, "Cancel"); menu->Add(kCancelMenuID, "Cancel");
break; break;
case JGE_BTN_PREV: case JGE_BTN_PREV:
@@ -359,11 +359,11 @@ void GameStateAwards::ButtonPressed(int controllerId, int controlId)
if (controllerId == EXIT_AWARDS_MENU) if (controllerId == EXIT_AWARDS_MENU)
switch (controlId) switch (controlId)
{ {
case kBackToMainMenuID: case GameStateAwardsConst::kBackToMainMenuID:
mParent->DoTransition(TRANSITION_FADE, GAME_STATE_MENU); mParent->DoTransition(TRANSITION_FADE, GAME_STATE_MENU);
showMenu = false; showMenu = false;
break; break;
case kBackToTrophiesID: case GameStateAwardsConst::kBackToTrophiesID:
mState = STATE_LISTVIEW; mState = STATE_LISTVIEW;
SAFE_DELETE(detailview); SAFE_DELETE(detailview);
showMenu = false; showMenu = false;

View File

@@ -7,13 +7,12 @@
#include "SimplePad.h" #include "SimplePad.h"
#include "Translate.h" #include "Translate.h"
namespace namespace GameStateOptionsConst
{ {
const int kSaveAndBackToMainMenuID = 1; const int kSaveAndBackToMainMenuID = 1;
const int kBackToMainMenuID = 2; const int kBackToMainMenuID = 2;
const int kNewProfileID = 4; const int kNewProfileID = 4;
const int kReloadID = 5; const int kReloadID = 5;
} }
GameStateOptions::GameStateOptions(GameApp* parent) : GameStateOptions::GameStateOptions(GameApp* parent) :
@@ -78,7 +77,7 @@ void GameStateOptions::Start()
optionsList->Add(NEW WGuiSplit(cPrf, cThm)); optionsList->Add(NEW WGuiSplit(cPrf, cThm));
optionsList->Add(cStyle); optionsList->Add(cStyle);
optionsList->Add(NEW WGuiButton(NEW WGuiHeader("New Profile"), -102, kNewProfileID, this)); optionsList->Add(NEW WGuiButton(NEW WGuiHeader("New Profile"), -102, GameStateOptionsConst::kNewProfileID, this));
optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::CHEATMODE, "Enable Cheat Mode"))); optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::CHEATMODE, "Enable Cheat Mode")));
optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::OPTIMIZE_HAND, "Optimize Starting Hand"))); optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::OPTIMIZE_HAND, "Optimize Starting Hand")));
@@ -118,8 +117,8 @@ void GameStateOptions::Start()
optionsTabs->Add(optionsList); optionsTabs->Add(optionsList);
optionsMenu = NEW SimpleMenu(JGE::GetInstance(), WResourceManager::Instance(), -102, this, Fonts::MAIN_FONT, 50, 170); optionsMenu = NEW SimpleMenu(JGE::GetInstance(), WResourceManager::Instance(), -102, this, Fonts::MAIN_FONT, 50, 170);
optionsMenu->Add(kBackToMainMenuID, "Back to Main Menu"); optionsMenu->Add(GameStateOptionsConst::kBackToMainMenuID, "Back to Main Menu");
optionsMenu->Add(kSaveAndBackToMainMenuID, "Save And Exit"); optionsMenu->Add(GameStateOptionsConst::kSaveAndBackToMainMenuID, "Save And Exit");
optionsMenu->Add(kCancelMenuID, "Cancel"); optionsMenu->Add(kCancelMenuID, "Cancel");
optionsTabs->Entering(JGE_BTN_NONE); optionsTabs->Entering(JGE_BTN_NONE);
@@ -285,21 +284,21 @@ void GameStateOptions::ButtonPressed(int controllerId, int controlId)
if (controllerId == -102) if (controllerId == -102)
switch (controlId) switch (controlId)
{ {
case kSaveAndBackToMainMenuID: case GameStateOptionsConst::kSaveAndBackToMainMenuID:
mState = SAVE; mState = SAVE;
break; break;
//Set Audio volume //Set Audio volume
case kBackToMainMenuID: case GameStateOptionsConst::kBackToMainMenuID:
mParent->DoTransition(TRANSITION_FADE, GAME_STATE_MENU); mParent->DoTransition(TRANSITION_FADE, GAME_STATE_MENU);
break; break;
case kCancelMenuID: case kCancelMenuID:
mState = SHOW_OPTIONS; mState = SHOW_OPTIONS;
break; break;
case kNewProfileID: case GameStateOptionsConst::kNewProfileID:
options.keypadStart("", &newProfile); options.keypadStart("", &newProfile);
options.keypadTitle("New Profile"); options.keypadTitle("New Profile");
break; break;
case kReloadID: case GameStateOptionsConst::kReloadID:
mReload = true; mReload = true;
break; break;
} }

View File

@@ -16,21 +16,21 @@ const float kZoom_level1 = 1.4f;
const float kZoom_level2 = 2.2f; const float kZoom_level2 = 2.2f;
const float kZoom_level3 = 2.7f; const float kZoom_level3 = 2.7f;
struct True: public Exp struct GuiCombatTrue: public Exp
{ {
static inline bool test(DamagerDamaged*, DamagerDamaged*) static inline bool test(DamagerDamaged*, DamagerDamaged*)
{ {
return true; return true;
} }
}; };
struct Left: public Exp struct GuiCombatLeft: public Exp
{ {
static inline bool test(DamagerDamaged* ref, DamagerDamaged* test) static inline bool test(DamagerDamaged* ref, DamagerDamaged* test)
{ {
return ref->y == test->y && ref->x > test->x && test->show; return ref->y == test->y && ref->x > test->x && test->show;
} }
}; };
struct Right: public Exp struct GuiCombatRight: public Exp
{ {
static inline bool test(DamagerDamaged* ref, DamagerDamaged* test) static inline bool test(DamagerDamaged* ref, DamagerDamaged* test)
{ {
@@ -217,7 +217,7 @@ void GuiCombat::shiftLeft()
case ATK: case ATK:
{ {
DamagerDamaged* old = active; DamagerDamaged* old = active;
active = closest<Left> (attackers, NULL, static_cast<AttackerDamaged*> (active)); active = closest<GuiCombatLeft> (attackers, NULL, static_cast<AttackerDamaged*> (active));
activeAtk = static_cast<AttackerDamaged*> (active); activeAtk = static_cast<AttackerDamaged*> (active);
if (old != active) if (old != active)
{ {
@@ -231,7 +231,7 @@ void GuiCombat::shiftLeft()
case BLK: case BLK:
{ {
DamagerDamaged* old = active; DamagerDamaged* old = active;
active = closest<Left> (activeAtk->blockers, NULL, static_cast<DefenserDamaged*> (active)); active = closest<GuiCombatLeft> (activeAtk->blockers, NULL, static_cast<DefenserDamaged*> (active));
if (old != active) if (old != active)
{ {
if (old) if (old)
@@ -255,7 +255,7 @@ void GuiCombat::shiftRight( DamagerDamaged* oldActive )
case BLK: case BLK:
{ {
DamagerDamaged* old = active; DamagerDamaged* old = active;
active = closest<Right> (activeAtk->blockers, NULL, static_cast<DefenserDamaged*> (active)); active = closest<GuiCombatRight> (activeAtk->blockers, NULL, static_cast<DefenserDamaged*> (active));
if (old != active) if (old != active)
{ {
if (old) if (old)
@@ -268,7 +268,7 @@ void GuiCombat::shiftRight( DamagerDamaged* oldActive )
case ATK: case ATK:
{ {
DamagerDamaged* old = active; DamagerDamaged* old = active;
active = closest<Right> (attackers, NULL, static_cast<AttackerDamaged*> (active)); active = closest<GuiCombatRight> (attackers, NULL, static_cast<AttackerDamaged*> (active));
if (active == oldActive) if (active == oldActive)
{ {
active = activeAtk = NULL; active = activeAtk = NULL;
@@ -321,7 +321,7 @@ bool GuiCombat::CheckUserInput(JButton key)
// position selected card // position selected card
if (BLK == cursor_pos) if (BLK == cursor_pos)
{ {
DamagerDamaged* selectedCard = closest<True> (activeAtk->blockers, NULL, static_cast<float> (x), static_cast<float> (y)); DamagerDamaged* selectedCard = closest<GuiCombatTrue> (activeAtk->blockers, NULL, static_cast<float> (x), static_cast<float> (y));
// find the index into the vector where the current selected card is. // find the index into the vector where the current selected card is.
int c1 = 0, c2 = 0; int c1 = 0, c2 = 0;
int i = 0; int i = 0;

View File

@@ -6,7 +6,7 @@
#include "GameApp.h" #include "GameApp.h"
#include "Translate.h" #include "Translate.h"
namespace namespace SimpleMenuConst
{ {
const float kPoleWidth = 7; const float kPoleWidth = 7;
const float kVerticalMargin = 20; const float kVerticalMargin = 20;
@@ -38,7 +38,7 @@ SimpleMenu::SimpleMenu(JGE* jge, WResourceManager* resourceManager, int id, JGui
{ {
autoTranslate = true; autoTranslate = true;
isMultipleChoice = false; isMultipleChoice = false;
mHeight = 2 * kVerticalMargin; mHeight = 2 * SimpleMenuConst::kVerticalMargin;
mWidth = 0; mWidth = 0;
mX = x; mX = x;
mY = y; mY = y;
@@ -48,7 +48,7 @@ SimpleMenu::SimpleMenu(JGE* jge, WResourceManager* resourceManager, int id, JGui
selectionT = 0; selectionT = 0;
timeOpen = 0; timeOpen = 0;
mClosed = false; mClosed = false;
selectionTargetY = selectionY = y + kVerticalMargin; selectionTargetY = selectionY = y + SimpleMenuConst::kVerticalMargin;
if(resourceManager) if(resourceManager)
{ {
@@ -61,7 +61,7 @@ SimpleMenu::SimpleMenu(JGE* jge, WResourceManager* resourceManager, int id, JGui
spadeL = resourceManager->RetrieveQuad("spade_ul.png", 0, 0, 0, 0, "spade_ul", RETRIEVE_MANAGE); spadeL = resourceManager->RetrieveQuad("spade_ul.png", 0, 0, 0, 0, "spade_ul", RETRIEVE_MANAGE);
spadeR = resourceManager->RetrieveQuad("spade_ur.png", 0, 0, 0, 0, "spade_ur", RETRIEVE_MANAGE); spadeR = resourceManager->RetrieveQuad("spade_ur.png", 0, 0, 0, 0, "spade_ur", RETRIEVE_MANAGE);
jewel.reset(NEW JQuad(jewelTex, 1, 1, 3, 3)); jewel.reset(NEW JQuad(jewelTex, 1, 1, 3, 3));
side = resourceManager->RetrieveQuad("menuside.png", 1, 1, 1, kPoleWidth, "menuside", RETRIEVE_MANAGE); side = resourceManager->RetrieveQuad("menuside.png", 1, 1, 1, SimpleMenuConst::kPoleWidth, "menuside", RETRIEVE_MANAGE);
stars = NEW hgeParticleSystem(resourceManager->RetrievePSI("stars.psi", resourceManager->GetQuad("stars").get())); stars = NEW hgeParticleSystem(resourceManager->RetrievePSI("stars.psi", resourceManager->GetQuad("stars").get()));
@@ -78,16 +78,16 @@ void SimpleMenu::drawHorzPole(float x, float y, float width)
{ {
JRenderer* renderer = JRenderer::GetInstance(); JRenderer* renderer = JRenderer::GetInstance();
float leftXOffset = (spadeR->mWidth - kPoleWidth) / 2; float leftXOffset = (spadeR->mWidth - SimpleMenuConst::kPoleWidth) / 2;
float rightXOffset = leftXOffset; float rightXOffset = leftXOffset;
float yOffset = leftXOffset; float yOffset = leftXOffset;
if (spadeR->mWidth != spadeR->mHeight) if (spadeR->mWidth != spadeR->mHeight)
{ {
//We have a weird case to deal with in the "Classic" theme, the spades graphics need to be aligned specifically, //We have a weird case to deal with in the "Classic" theme, the spades graphics need to be aligned specifically,
// While the ones in the "Final Saga" theme need to be centered // While the ones in the "Final Saga" theme need to be centered
leftXOffset = kSpadeWidthOffset; leftXOffset = SimpleMenuConst::kSpadeWidthOffset;
yOffset = kSpadeHeightOffset; yOffset = SimpleMenuConst::kSpadeHeightOffset;
rightXOffset = kSpadeRightBottomOffset; rightXOffset = SimpleMenuConst::kSpadeRightBottomOffset;
} }
renderer->RenderQuad(side.get(), x, y, 0, width); renderer->RenderQuad(side.get(), x, y, 0, width);
@@ -104,23 +104,23 @@ void SimpleMenu::drawVertPole(float x, float y, float height)
{ {
JRenderer* renderer = JRenderer::GetInstance(); JRenderer* renderer = JRenderer::GetInstance();
float xOffset = (spadeR->mWidth - kPoleWidth) / 2; float xOffset = (spadeR->mWidth - SimpleMenuConst::kPoleWidth) / 2;
float topYOffset = xOffset; float topYOffset = xOffset;
float bottomYOffset = xOffset; float bottomYOffset = xOffset;
if (spadeR->mWidth != spadeR->mHeight) if (spadeR->mWidth != spadeR->mHeight)
{ {
//We have a weird case to deal with in the "Classic" theme, the spades graphics need to be aligned specifically, //We have a weird case to deal with in the "Classic" theme, the spades graphics need to be aligned specifically,
// While the ones in the "Final Saga" theme need to be centered // While the ones in the "Final Saga" theme need to be centered
xOffset = kSpadeHeightOffset; xOffset = SimpleMenuConst::kSpadeHeightOffset;
topYOffset = kSpadeWidthOffset; topYOffset = SimpleMenuConst::kSpadeWidthOffset;
bottomYOffset = kSpadeRightBottomOffset; bottomYOffset = SimpleMenuConst::kSpadeRightBottomOffset;
} }
renderer->RenderQuad(side.get(), x + kPoleWidth, y, M_PI / 2, height); renderer->RenderQuad(side.get(), x + SimpleMenuConst::kPoleWidth, y, M_PI / 2, height);
spadeR->SetHFlip(true); spadeR->SetHFlip(true);
spadeL->SetHFlip(false); spadeL->SetHFlip(false);
renderer->RenderQuad(spadeR.get(), x + kPoleWidth + xOffset, y - topYOffset, M_PI / 2); renderer->RenderQuad(spadeR.get(), x + SimpleMenuConst::kPoleWidth + xOffset, y - topYOffset, M_PI / 2);
renderer->RenderQuad(spadeL.get(), x + kPoleWidth + xOffset, y + height - bottomYOffset, M_PI / 2); renderer->RenderQuad(spadeL.get(), x + SimpleMenuConst::kPoleWidth + xOffset, y + height - bottomYOffset, M_PI / 2);
renderer->RenderQuad(jewel.get(), x - 1, y - 1); renderer->RenderQuad(jewel.get(), x - 1, y - 1);
renderer->RenderQuad(jewel.get(), x - 1, y + height - 1); renderer->RenderQuad(jewel.get(), x - 1, y + height - 1);
@@ -133,7 +133,7 @@ void SimpleMenu::Render()
WFont * mFont = WResourceManager::Instance()->GetWFont(fontId); WFont * mFont = WResourceManager::Instance()->GetWFont(fontId);
if (0 == mWidth) if (0 == mWidth)
{ {
float sY = mY + kVerticalMargin; float sY = mY + SimpleMenuConst::kVerticalMargin;
for (int i = 0; i < mCount; ++i) for (int i = 0; i < mCount; ++i)
{ {
@@ -146,7 +146,7 @@ void SimpleMenu::Render()
if ((!title.empty()) && (mWidth < titleFont->GetStringWidth(title.c_str()))) if ((!title.empty()) && (mWidth < titleFont->GetStringWidth(title.c_str())))
mWidth = titleFont->GetStringWidth(title.c_str()); mWidth = titleFont->GetStringWidth(title.c_str());
titleFont->SetScale(scaleFactor); titleFont->SetScale(scaleFactor);
mWidth += 2 * kHorizontalMargin; mWidth += 2 * SimpleMenuConst::kHorizontalMargin;
if (mCenterHorizontal) if (mCenterHorizontal)
mX = (SCREEN_WIDTH_F - mWidth) / 2; mX = (SCREEN_WIDTH_F - mWidth) / 2;
@@ -156,7 +156,7 @@ void SimpleMenu::Render()
for (int i = 0; i < mCount; ++i) for (int i = 0; i < mCount; ++i)
{ {
float y = mY + kVerticalMargin + i * kLineHeight; float y = mY + SimpleMenuConst::kVerticalMargin + i * SimpleMenuConst::kLineHeight;
SimpleMenuItem * smi = static_cast<SimpleMenuItem*> (mObjects[i]); SimpleMenuItem * smi = static_cast<SimpleMenuItem*> (mObjects[i]);
smi->Relocate(mX + mWidth / 2, y); smi->Relocate(mX + mWidth / 2, y);
if (smi->hasFocus()) sY = y; if (smi->hasFocus()) sY = y;
@@ -171,7 +171,7 @@ void SimpleMenu::Render()
float height = mHeight; float height = mHeight;
if (timeOpen < 1) height *= timeOpen > 0 ? timeOpen : -timeOpen; if (timeOpen < 1) height *= timeOpen > 0 ? timeOpen : -timeOpen;
float heightPadding = kLineHeight/2; // this to reduce the bottom padding of the menu float heightPadding = SimpleMenuConst::kLineHeight/2; // this to reduce the bottom padding of the menu
renderer->FillRect(mX, mY, mWidth, height - heightPadding, ARGB(180,0,0,0)); renderer->FillRect(mX, mY, mWidth, height - heightPadding, ARGB(180,0,0,0));
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA); renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA);
@@ -200,8 +200,8 @@ void SimpleMenu::Render()
{ {
if (i > mCount - 1) break; if (i > mCount - 1) break;
SimpleMenuItem *currentMenuItem = static_cast<SimpleMenuItem*>(mObjects[i]); SimpleMenuItem *currentMenuItem = static_cast<SimpleMenuItem*>(mObjects[i]);
float currentY = currentMenuItem->getY() - kLineHeight * startId; float currentY = currentMenuItem->getY() - SimpleMenuConst::kLineHeight * startId;
float menuBottomEdge = mY + height - kLineHeight + 7; float menuBottomEdge = mY + height - SimpleMenuConst::kLineHeight + 7;
if (currentY < menuBottomEdge) if (currentY < menuBottomEdge)
{ {
if (currentMenuItem->hasFocus()) if (currentMenuItem->hasFocus())
@@ -214,7 +214,7 @@ void SimpleMenu::Render()
{ {
mFont->SetColor(ARGB(150,255,255,255)); mFont->SetColor(ARGB(150,255,255,255));
} }
(static_cast<SimpleMenuItem*> (mObjects[i]))->RenderWithOffset(-kLineHeight * startId); (static_cast<SimpleMenuItem*> (mObjects[i]))->RenderWithOffset(-SimpleMenuConst::kLineHeight * startId);
} }
mFont->SetScale(SCALE_NORMAL); mFont->SetScale(SCALE_NORMAL);
} }
@@ -244,8 +244,8 @@ bool SimpleMenu::CheckUserInput(JButton key)
if (mObjects.size()) if (mObjects.size())
{ {
float top, left; float top, left;
float menuTopEdge = mY + kLineHeight; float menuTopEdge = mY + SimpleMenuConst::kLineHeight;
float menuBottomEdge = mY + mHeight - (kLineHeight/2); float menuBottomEdge = mY + mHeight - (SimpleMenuConst::kLineHeight/2);
if (y < menuTopEdge) if (y < menuTopEdge)
n = (mCurr - 1) > 0 ? mCurr -1 : 0; n = (mCurr - 1) > 0 ? mCurr -1 : 0;
@@ -257,7 +257,7 @@ bool SimpleMenu::CheckUserInput(JButton key)
{ {
if (mObjects[i]->getTopLeft(top, left)) if (mObjects[i]->getTopLeft(top, left))
{ {
if ( (y > top) && (y <= (top + kLineHeight)) ) if ( (y > top) && (y <= (top + SimpleMenuConst::kLineHeight)) )
n = i; n = i;
} }
} }
@@ -308,8 +308,8 @@ void SimpleMenu::Update(float dt)
selectionT += 3 * dt; selectionT += 3 * dt;
selectionY += (selectionTargetY - selectionY) * 8 * dt; selectionY += (selectionTargetY - selectionY) * 8 * dt;
if(stars) if(stars)
stars->MoveTo(mX + kHorizontalMargin + ((mWidth - 2 * kHorizontalMargin) * (1 + cos(selectionT)) / 2), selectionY + 5 * cos( stars->MoveTo(mX + SimpleMenuConst::kHorizontalMargin + ((mWidth - 2 * SimpleMenuConst::kHorizontalMargin) * (1 + cos(selectionT)) / 2), selectionY + 5 * cos(
selectionT * 2.35f) + kLineHeight / 2 - kLineHeight * startId); selectionT * 2.35f) + SimpleMenuConst::kLineHeight / 2 - SimpleMenuConst::kLineHeight * startId);
if (timeOpen < 0) if (timeOpen < 0)
{ {
timeOpen += dt * 10; timeOpen += dt * 10;
@@ -330,12 +330,12 @@ void SimpleMenu::Update(float dt)
void SimpleMenu::Add(int id, const char * text, string desc, bool forceFocus) void SimpleMenu::Add(int id, const char * text, string desc, bool forceFocus)
{ {
SimpleMenuItem * smi = NEW SimpleMenuItem(this, id, fontId, text, 0, mY + kVerticalMargin + mCount * kLineHeight, SimpleMenuItem * smi = NEW SimpleMenuItem(this, id, fontId, text, 0, mY + SimpleMenuConst::kVerticalMargin + mCount * SimpleMenuConst::kLineHeight,
(mCount == 0), autoTranslate); (mCount == 0), autoTranslate);
smi->setDescription(desc); smi->setDescription(desc);
JGuiController::Add(smi); JGuiController::Add(smi);
if (mCount <= maxItems) mHeight += kLineHeight; if (mCount <= maxItems) mHeight += SimpleMenuConst::kLineHeight;
if (forceFocus) if (forceFocus)
{ {
mObjects[mCurr]->Leaving(JGE_BTN_DOWN); mObjects[mCurr]->Leaving(JGE_BTN_DOWN);