Fixed primitives, improved background images management, now it's possbile to add a different background for opponent deck choosing (menupanel2.jpg) and added a new sub-folder "background" for custom themes where it will be possbile to store up to six new background images for battlefield (from "backdrop1.jpg" to "backdrop6.jpg") that will be randomly choosen when match starts.
This commit is contained in:
@@ -34,7 +34,7 @@ hgeParticleSystem* DeckMenu::stars = NULL;
|
||||
// TODO:
|
||||
// *** Need to make this configurable in a file somewhere to allow for class reuse
|
||||
|
||||
DeckMenu::DeckMenu(int id, JGuiListener* listener, int fontId, const string _title, const int&, bool showDetailsOverride) :
|
||||
DeckMenu::DeckMenu(int id, JGuiListener* listener, int fontId, const string _title, const int&, bool showDetailsOverride, bool chooseOpponent) :
|
||||
JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsScreen( showDetailsOverride )
|
||||
{
|
||||
|
||||
@@ -85,6 +85,7 @@ JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsSc
|
||||
selectionT = 0;
|
||||
timeOpen = 0;
|
||||
mClosed = false;
|
||||
isOpponent = chooseOpponent;
|
||||
|
||||
if (mFont->GetStringWidth(title.c_str()) > titleWidth)
|
||||
titleFontScale = SCALE_SHRINK;
|
||||
@@ -256,7 +257,12 @@ void DeckMenu::Render()
|
||||
menuholder = WResourceManager::Instance()->RetrieveTempQuad("pspmenuholder.png");//new graphics menuholder for PSP
|
||||
#else
|
||||
avatarholder = WResourceManager::Instance()->RetrieveTempQuad("avatarholder.png");//new graphics avatarholder
|
||||
menupanel = WResourceManager::Instance()->RetrieveTempQuad("menupanel.jpg");//new graphics menupanel
|
||||
if(isOpponent){
|
||||
menupanel = WResourceManager::Instance()->RetrieveTempQuad("menupanel2.jpg");//try to load the new graphics menupanel for opponent.
|
||||
if(!menupanel.get())
|
||||
menupanel = WResourceManager::Instance()->RetrieveTempQuad("menupanel.jpg");//fallback to new graphics menupanel for player
|
||||
} else
|
||||
menupanel = WResourceManager::Instance()->RetrieveTempQuad("menupanel.jpg");//new graphics menupanel for player
|
||||
menuholder = WResourceManager::Instance()->RetrieveTempQuad("menuholder.png");//new graphics menuholder
|
||||
#endif
|
||||
bool inDeckMenu = backgroundName.find("DeckMenuBackdrop") != string::npos;
|
||||
|
||||
@@ -235,6 +235,13 @@ void GameApp::Create()
|
||||
#if !defined (PSP)
|
||||
WResourceManager::Instance()->RetrieveTexture("backdrop.jpg", RETRIEVE_MANAGE);
|
||||
WResourceManager::Instance()->RetrieveTexture("backdropframe.png", RETRIEVE_MANAGE);
|
||||
for(int i = 1 ; i < 7; i++){
|
||||
char temp[4096];
|
||||
string fileName = "";
|
||||
sprintf(temp, "background/backdrop%i.jpg", i); //Now it's possibile to randomly use up to other 6 background images for match.
|
||||
fileName.assign(temp);
|
||||
WResourceManager::Instance()->RetrieveTexture(fileName, RETRIEVE_MANAGE);
|
||||
}
|
||||
#else
|
||||
WResourceManager::Instance()->RetrieveTexture("pspbackdrop.jpg", RETRIEVE_MANAGE);
|
||||
WResourceManager::Instance()->RetrieveTexture("pspbackdropframe.png", RETRIEVE_MANAGE);
|
||||
|
||||
@@ -240,7 +240,7 @@ void GameStateDuel::Start()
|
||||
decksneeded = 1;
|
||||
|
||||
deckmenu = NEW DeckMenu(DUEL_MENU_CHOOSE_DECK, this, Fonts::OPTION_FONT, "Choose a Deck",
|
||||
GameStateDuel::selectedPlayerDeckId, true);
|
||||
GameStateDuel::selectedPlayerDeckId, true, false);
|
||||
deckmenu->enableDisplayDetailsOverride();
|
||||
DeckManager *deckManager = DeckManager::GetInstance();
|
||||
vector<DeckMetaData *> playerDeckList = BuildDeckList(options.profileFile(), "", NULL, 0, mParent->gameType);
|
||||
@@ -288,7 +288,7 @@ void GameStateDuel::Start()
|
||||
else if(createDeckMenu && (mParent->players[0] == PLAYER_TYPE_CPU && mParent->players[1] == PLAYER_TYPE_CPU))
|
||||
{
|
||||
//DeckManager::EndInstance();
|
||||
deckmenu = NEW DeckMenu(DUEL_MENU_CHOOSE_DECK, this, Fonts::OPTION_FONT, "Choose a Deck", GameStateDuel::selectedPlayerDeckId, true);
|
||||
deckmenu = NEW DeckMenu(DUEL_MENU_CHOOSE_DECK, this, Fonts::OPTION_FONT, "Choose a Deck", GameStateDuel::selectedPlayerDeckId, true, true);
|
||||
int nmbDecks = options[Options::CHEATMODEAIDECK].number ? 1000 : options[Options::AIDECKS_UNLOCKED].number;
|
||||
if (nmbDecks > 1)
|
||||
{
|
||||
@@ -386,7 +386,7 @@ void GameStateDuel::ConstructOpponentMenu()
|
||||
if (opponentMenu == NULL)
|
||||
{
|
||||
opponentMenu = NEW DeckMenu(DUEL_MENU_CHOOSE_OPPONENT, this, Fonts::OPTION_FONT, "Choose Opponent",
|
||||
GameStateDuel::selectedAIDeckId, true);
|
||||
GameStateDuel::selectedAIDeckId, true, true);
|
||||
|
||||
int nbUnlockedDecks = options[Options::CHEATMODEAIDECK].number ? 1000 : options[Options::AIDECKS_UNLOCKED].number;
|
||||
if ((mParent->gameType == GAME_TYPE_COMMANDER || mParent->gameType == GAME_TYPE_CLASSIC || mParent->gameType == GAME_TYPE_DEMO) && mParent->players[1] == PLAYER_TYPE_CPU)
|
||||
@@ -770,10 +770,10 @@ void GameStateDuel::Update(float dt)
|
||||
sprintf(temp, "ai_baka_music%i.mp3", OpponentsDeckid);
|
||||
musictrack.assign(temp);
|
||||
}
|
||||
// Now it's possibile to use up to 20 sound tracks for duels.
|
||||
// Now it's possibile to randomly use up to 20 new sound tracks for duels (if random index is 20, it will be played the default "ai_baka_music.mp3" file).
|
||||
if (!MusicExist(musictrack)){
|
||||
char temp[4096];
|
||||
sprintf(temp, "Battlefield/TrackDuel%i.mp3", std::rand() % 20);
|
||||
sprintf(temp, "Battlefield/TrackDuel%i.mp3", std::rand() % 21);
|
||||
musictrack.assign(temp);
|
||||
}
|
||||
// Try if there is a sound track for specific game type.
|
||||
|
||||
@@ -144,9 +144,10 @@ void GameStateMenu::Start()
|
||||
#if defined (PSP)
|
||||
GameApp::playMusic("Track0.mp3");
|
||||
#else
|
||||
// Now it's possibile to randomly use up to 20 new sound tracks for main menu (if random index is 20, it will be played the default "Track0.mp3").
|
||||
char temp[4096];
|
||||
string musicFilename = "";
|
||||
sprintf(temp, "MainMenu/TrackMenu%i.mp3", std::rand() % 20); // Now it's possibile to use up to 20 sound tracks for main menu.
|
||||
sprintf(temp, "MainMenu/TrackMenu%i.mp3", std::rand() % 21);
|
||||
musicFilename.assign(temp);
|
||||
musicFilename = WResourceManager::Instance()->musicFile(musicFilename);
|
||||
if (musicFilename.length() < 1 || !FileExists(musicFilename))
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
#include "GameObserver.h"
|
||||
#include "Rules.h"
|
||||
|
||||
const std::string kBackdropFile = "backdrop.jpg";
|
||||
const std::string kBackdropFrameFile = "backdropframe.png";
|
||||
const std::string kPspBackdropFile = "pspbackdrop.jpg";
|
||||
static std::string kBackdropFile = "";
|
||||
static std::string kBackdropFrameFile = "backdropframe.png";
|
||||
static std::string kPspBackdropFile = "pspbackdrop.jpg";
|
||||
static std::string kPspBackdropFrameFile = "pspbackdropframe.png";
|
||||
|
||||
GuiBackground::GuiBackground(GameObserver* observer)
|
||||
: GuiLayer(observer)
|
||||
@@ -22,7 +23,11 @@ void GuiBackground::Render()
|
||||
{
|
||||
JRenderer* renderer = JRenderer::GetInstance();
|
||||
JQuadPtr quad;
|
||||
#if !defined (PSP)
|
||||
JQuadPtr quadframe = WResourceManager::Instance()->RetrieveTempQuad(kBackdropFrameFile);
|
||||
#else
|
||||
JQuadPtr quadframe = WResourceManager::Instance()->RetrieveTempQuad(kPspBackdropFrameFile);
|
||||
#endif
|
||||
if (observer && observer->mRules && observer->mRules->bg.size())
|
||||
{
|
||||
quad = WResourceManager::Instance()->RetrieveTempQuad(observer->mRules->bg);
|
||||
@@ -30,6 +35,15 @@ void GuiBackground::Render()
|
||||
if (!quad.get())
|
||||
{
|
||||
#if !defined (PSP)
|
||||
//Now it's possibile to randomly use up to 6 new background images for match (if random index is 0, it will be rendered the default "backdrop.jpg" image).
|
||||
if(kBackdropFile == ""){
|
||||
char temp[4096];
|
||||
sprintf(temp, "background/backdrop%i.jpg", std::rand() % 7);
|
||||
kBackdropFile.assign(temp);
|
||||
quad = WResourceManager::Instance()->RetrieveTempQuad(kBackdropFile);
|
||||
if (!quad.get())
|
||||
kBackdropFile = "backdrop.jpg"; //Fallback to default background image for match.
|
||||
}
|
||||
quad = WResourceManager::Instance()->RetrieveTempQuad(kBackdropFile);
|
||||
#else
|
||||
quad = WResourceManager::Instance()->RetrieveTempQuad(kPspBackdropFile);
|
||||
@@ -39,10 +53,8 @@ void GuiBackground::Render()
|
||||
{
|
||||
renderer->RenderQuad(quad.get(), 0, 0, 0, SCREEN_WIDTH_F / quad->mWidth, SCREEN_HEIGHT_F / quad->mHeight);
|
||||
}
|
||||
#if !defined (PSP)
|
||||
if (quadframe.get())
|
||||
{
|
||||
renderer->RenderQuad(quadframe.get(), 0, 0, 0, SCREEN_WIDTH_F / quadframe->mWidth, SCREEN_HEIGHT_F / quadframe->mHeight);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user