readjusted the carddisplays for libarary and graveyard for both players to move them off the top of the avatars. you can now click thier respective button to close them when in a targetchooser action.

also readded a piece of code i commented out, it does nothing but the compiler saids it expected something there.
This commit is contained in:
omegablast2002@yahoo.com
2013-03-30 17:09:50 +00:00
parent c9360eb005
commit 80e36c2b92
2 changed files with 111 additions and 110 deletions

View File

@@ -493,7 +493,7 @@ void GameStateDuel::Update(float dt)
case DUEL_STATE_ERROR_NO_DECK:
if (JGE_BTN_OK == mEngine->ReadButton()) mParent->SetNextState(GAME_STATE_DECK_VIEWER);
break;
// The next state prepares the "Choose number of games" menu (PSY)
// The next state prepares the "Choose number of games" menu (PSY)
case DUEL_STATE_PREPARE_CNOGMENU:
SAFE_DELETE(cnogmenu);
@@ -528,44 +528,44 @@ void GameStateDuel::Update(float dt)
setGamePhase(DUEL_STATE_CHOOSE_NUMBER_OF_GAMES);
break;
/* The next state displays the "Choose number of games" menu
/* The next state displays the "Choose number of games" menu
and waits for input. (PSY) */
case DUEL_STATE_CHOOSE_NUMBER_OF_GAMES:
cnogmenu->Update(dt);
cnogmenu->Update(dt);
break;
// The next state waits until cnogmenu is fully closed
// The next state waits until cnogmenu is fully closed
case DUEL_STATE_CNOGMENU_IS_CLOSING:
if (cnogmenu->isClosed())
{ // Is the closing animation finished?
setGamePhase(DUEL_STATE_CHOOSE_DECK1);
SAFE_DELETE(cnogmenu);
if (cnogmenu->isClosed())
{ // Is the closing animation finished?
setGamePhase(DUEL_STATE_CHOOSE_DECK1);
SAFE_DELETE(cnogmenu);
}
else cnogmenu->Update(dt);
}
else cnogmenu->Update(dt);
break;
// The next state waits until cnogmenu is fully closed
case DUEL_STATE_CONTINUE_TOURNAMENT:
if (cnogmenu && cnogmenu->isClosed())
{ // Is the closing animation finished?
// contruct and close opponentmenu for loading decknames
ConstructOpponentMenu();
opponentMenu->Close();
// The next state waits until cnogmenu is fully closed
case DUEL_STATE_CONTINUE_TOURNAMENT:
if (cnogmenu && cnogmenu->isClosed())
{ // Is the closing animation finished?
// contruct and close opponentmenu for loading decknames
ConstructOpponentMenu();
opponentMenu->Close();
//setGamePhase(DUEL_STATE_PLAY);
SAFE_DELETE(cnogmenu);
//setGamePhase(DUEL_STATE_PLAY);
SAFE_DELETE(cnogmenu);
} else if (opponentMenu && opponentMenu->isClosed())
{
// Is the closing animation finished then we can start to play!
setGamePhase(DUEL_STATE_PLAY);
SAFE_DELETE(opponentMenu);
}
else if (cnogmenu) cnogmenu->Update(dt);
else if (opponentMenu) opponentMenu->Update(dt);
break;
} else if (opponentMenu && opponentMenu->isClosed())
{
// Is the closing animation finished then we can start to play!
setGamePhase(DUEL_STATE_PLAY);
SAFE_DELETE(opponentMenu);
}
else if (cnogmenu) cnogmenu->Update(dt);
else if (opponentMenu) opponentMenu->Update(dt);
break;
// The next state occurs when the player selected "Cancel" in the cnogmenu
// The next state occurs when the player selected "Cancel" in the cnogmenu
case DUEL_STATE_CANCEL_CNOGMENU:
cnogmenu->Update(dt);
if (cnogmenu->isClosed())
@@ -709,43 +709,43 @@ void GameStateDuel::Update(float dt)
break;
// this called after each match and tournament
case DUEL_STATE_SHOW_SCORE:
if ((JGE_BTN_OK == mEngine->ReadButton()) || ( mParent->players[0] == PLAYER_TYPE_CPU && mParent->players[1] == PLAYER_TYPE_CPU && !(game && !game->didWin()) && !tournament->isMatchFinished()))
{
//check if Match and tournament is over
if (game->didWin() && tournament->isMatchFinished() && !tournament->isNextDeckFound())
{
tournament->setScoreDisplayed(true);
tournament->setOpLevel(OPLEVEL_NEW);
tournament->End();
//Display credits for human player
if (mParent->players[0] == PLAYER_TYPE_HUMAN)
{
tournament->save(false);
setGamePhase(DUEL_STATE_END);
}
else
{
setGamePhase(DUEL_STATE_END_OF_TOURNAMENT);
}
if ((JGE_BTN_OK == mEngine->ReadButton()) || ( mParent->players[0] == PLAYER_TYPE_CPU && mParent->players[1] == PLAYER_TYPE_CPU && !(game && !game->didWin()) && !tournament->isMatchFinished()))
{
//check if Match and tournament is over
if (game->didWin() && tournament->isMatchFinished() && !tournament->isNextDeckFound())
{
tournament->setScoreDisplayed(true);
tournament->setOpLevel(OPLEVEL_NEW);
tournament->End();
//Display credits for human player
if (mParent->players[0] == PLAYER_TYPE_HUMAN)
{
tournament->save(false);
setGamePhase(DUEL_STATE_END);
}
else
{
setGamePhase(DUEL_STATE_END_OF_TOURNAMENT);
}
}
else
{ // we have to play again
if (game->didWin())
tournament->setScoreDisplayed(true);
setGamePhase(DUEL_STATE_PLAY);
}
}
break;
// The next state occurs after the *match* has ended:
case DUEL_STATE_END_OF_MATCH:
}
else
{ // we have to play again
if (game->didWin())
tournament->setScoreDisplayed(true);
setGamePhase(DUEL_STATE_PLAY);
}
}
break;
// The next state occurs after the *match* has ended:
case DUEL_STATE_END_OF_MATCH:
break;
// The next state occurs after the end of the last match of the tournament:
case DUEL_STATE_END_OF_TOURNAMENT:
// The next state occurs after the end of the last match of the tournament:
case DUEL_STATE_END_OF_TOURNAMENT:
if ( (JGE_BTN_OK == mEngine->ReadButton()) || (mParent->players[0] == PLAYER_TYPE_CPU && mParent->players[1] == PLAYER_TYPE_CPU) )
{
setGamePhase(DUEL_STATE_BACK_TO_MAIN_MENU);
setGamePhase(DUEL_STATE_BACK_TO_MAIN_MENU);
}
break;
@@ -794,53 +794,53 @@ void GameStateDuel::Update(float dt)
if (game->didWin())
{
//the following section will be called only in a classic or demo gamemode and if a tournament or match with more then one game is activ
if ( (mParent->gameType == GAME_TYPE_CLASSIC || mParent->gameType == GAME_TYPE_DEMO)&& mParent->players[1] == PLAYER_TYPE_CPU && (tournament->isTournament() || tournament->getGamesToPlay()>1 ))
{
setGamePhase(DUEL_STATE_SHOW_SCORE);
if ( (mParent->gameType == GAME_TYPE_CLASSIC || mParent->gameType == GAME_TYPE_DEMO)&& mParent->players[1] == PLAYER_TYPE_CPU && (tournament->isTournament() || tournament->getGamesToPlay()>1 ))
{
setGamePhase(DUEL_STATE_SHOW_SCORE);
/* Determine the winner of this game.
This could be done more elegantly in credits.cpp (PSY) */
// (PSY!) check how the game handles draws, does it think it has a winner?
if (!tournament->wasScoreDisplayed() || mParent->players[0]==PLAYER_TYPE_CPU)
{
This could be done more elegantly in credits.cpp (PSY) */
// (PSY!) check how the game handles draws, does it think it has a winner?
if (!tournament->wasScoreDisplayed() || mParent->players[0]==PLAYER_TYPE_CPU)
{
tournament->gameFinished(game->didWin(game->players[0]),game->didWin(game->players[1]));
tournament->updateScoreTable(game->players[0], game->players[1], mParent->gameType);
if (tournament->isMatchFinished())
{
// Hack for the competition: swap players back if swapped
tournament->revertSwapPlayer();
//save match results in ai_test.csv only for ai vs ai games
if (mParent->players[0]==PLAYER_TYPE_CPU)
tournament->saveMatchResults();
// Hack for the competition: swap players back if swapped
tournament->revertSwapPlayer();
//save match results in ai_test.csv only for ai vs ai games
if (mParent->players[0]==PLAYER_TYPE_CPU)
tournament->saveMatchResults();
if (tournament->isTournament())
{ // We are in Tournament mode
tournament->updateTournament();
// if first player is human then other results are random
// It would be to boring for human player to watch all other ai decks to finish
if (mParent->players[0]==PLAYER_TYPE_HUMAN)
tournament->leaveOutAIvsAIMatches();
tournament->calculateRanking();
tournament->updateScoreforTournament();
if (tournament->isNextDeckFound())
// first player is either human or cpu
mParent->players[0] = tournament->getDeckType(0);
}
}
if (tournament->isTournament())
{ // We are in Tournament mode
tournament->updateTournament();
// if first player is human then other results are random
// It would be to boring for human player to watch all other ai decks to finish
if (mParent->players[0]==PLAYER_TYPE_HUMAN)
tournament->leaveOutAIvsAIMatches();
tournament->calculateRanking();
tournament->updateScoreforTournament();
if (tournament->isNextDeckFound())
// first player is either human or cpu
mParent->players[0] = tournament->getDeckType(0);
}
}
if (!tournament->isNextDeckFound() && tournament->isMatchFinished())
{
//save tournament status
tournament->save(mParent->players[0]==PLAYER_TYPE_CPU);
if (mParent->players[0]==PLAYER_TYPE_HUMAN)
{
credits->computeTournament(game, mParent,tournament->isTournament(),!tournament->isTournament(),tournament->didHumanWin(),tournament->gamesWonbyHuman(),tournament->gamesPlayedbyHuman(),tournament->matchesWonbyHuman(),tournament->matchesPlayedbyHuman());
}
}
}
if (!tournament->isNextDeckFound() && tournament->isMatchFinished())
{
//save tournament status
tournament->save(mParent->players[0]==PLAYER_TYPE_CPU);
if (mParent->players[0]==PLAYER_TYPE_HUMAN)
{
credits->computeTournament(game, mParent,tournament->isTournament(),!tournament->isTournament(),tournament->didHumanWin(),tournament->gamesWonbyHuman(),tournament->gamesPlayedbyHuman(),tournament->matchesWonbyHuman(),tournament->matchesPlayedbyHuman());
}
}
}
if (tournament->wasScoreDisplayed() || mParent->players[0]==PLAYER_TYPE_CPU)
{
tournament->setScoreDisplayed(false);
if (tournament->wasScoreDisplayed() || mParent->players[0]==PLAYER_TYPE_CPU)
{
tournament->setScoreDisplayed(false);
// load next deck if actual match is not finished or a next match is available
if (tournament->isNextDeckFound() || !tournament->isMatchFinished())
{
@@ -852,7 +852,7 @@ void GameStateDuel::Update(float dt)
tournament->swapPlayer();
for (int i = 0; i < NMB_PLAYERS; i++)
{
game->loadPlayer(i, tournament->getDeckType(i), tournament->getDeckNumber(i), premadeDeck);
game->loadPlayer(i, tournament->getDeckType(i), tournament->getDeckNumber(i), premadeDeck);
}
//saves actual tournament state
tournament->save(mParent->players[0]==PLAYER_TYPE_CPU);
@@ -909,14 +909,14 @@ void GameStateDuel::Update(float dt)
}
}
#endif
// if (mParent->players[0] == PLAYER_TYPE_CPU && mParent->players[1] == PLAYER_TYPE_CPU)
// {
/////// Tournament Mod ///////////
// End();
// Start();
/////// END Tournament Mod ///////////
// }
//this is handled elsewhere.
if (mParent->players[0] == PLAYER_TYPE_CPU && mParent->players[1] == PLAYER_TYPE_CPU)
{
///// Tournament Mod ///////////
// End();
// Start();
///// END Tournament Mod ///////////
}
// this is handled elsewhere.
}
if (mEngine->GetButtonClick(JGE_BTN_MENU))
{

View File

@@ -222,7 +222,8 @@ void GuiGameZone::Update(float dt)
GuiGameZone::GuiGameZone(float x, float y, bool hasFocus, MTGGameZone* zone, GuiAvatars* parent) :
GuiStatic(static_cast<float> (GuiGameZone::Height), x, y, hasFocus, parent), zone(zone)
{
cd = NEW CardDisplay(0, zone->owner->getObserver(), static_cast<int> (x), static_cast<int> (y), this);
cd = NEW CardDisplay(0, zone->owner->getObserver(),y > 150 ? static_cast<int> (x)-235:static_cast<int> (x)+23, static_cast<int> (y), this);
cd->zone = zone;
showCards = 0;
}