Revert "Round 2-2 of this."

This reverts commit 0ae4183f7b.
This commit is contained in:
Devin J. Pohly
2013-06-04 23:47:22 -04:00
parent fa91154082
commit 1220dbe085
43 changed files with 1214 additions and 12 deletions
+31
View File
@@ -3,6 +3,7 @@
#include "Actor.h"
#include "AdjustSync.h"
#include "AnnouncerManager.h"
#include "Bookkeeper.h"
#include "Character.h"
#include "CharacterManager.h"
#include "CommonMetrics.h"
@@ -110,6 +111,7 @@ GameState::GameState() :
m_pCurGame( Message_CurrentGameChanged ),
m_pCurStyle( Message_CurrentStyleChanged ),
m_PlayMode( Message_PlayModeChanged ),
m_iCoins( Message_CoinsChanged ),
m_sPreferredSongGroup( Message_PreferredSongGroupChanged ),
m_sPreferredCourseGroup( Message_PreferredCourseGroupChanged ),
m_PreferredStepsType( Message_PreferredStepsTypeChanged ),
@@ -136,6 +138,7 @@ GameState::GameState() :
SetCurrentStyle( NULL );
m_pCurGame.Set( NULL );
m_iCoins.Set( 0 );
m_timeGameStarted.SetZero();
m_bDemonstrationOrJukebox = false;
@@ -283,6 +286,7 @@ void GameState::Reset()
m_MultiPlayerStatus[p] = MultiPlayerStatus_NotJoined;
FOREACH_PlayerNumber( pn )
MEMCARDMAN->UnlockCard( pn );
//m_iCoins = 0; // don't reset coin count!
m_bMultiplayer = false;
m_iNumMultiplayerNoteFields = 1;
*m_Environment = LuaTable();
@@ -441,6 +445,14 @@ namespace
if( GAMESTATE->m_bSideIsJoined[pn] )
return false;
// subtract coins
int iCoinsNeededToJoin = GAMESTATE->GetCoinsNeededToJoin();
if( GAMESTATE->m_iCoins < iCoinsNeededToJoin )
return false; // not enough coins
GAMESTATE->m_iCoins.Set( GAMESTATE->m_iCoins - iCoinsNeededToJoin );
GAMESTATE->JoinPlayer( pn );
return true;
@@ -469,6 +481,18 @@ bool GameState::JoinPlayers()
return bJoined;
}
int GameState::GetCoinsNeededToJoin() const
{
int iCoinsToCharge = 0;
// If joint premium, don't take away a credit for the second join.
if( GetPremium() == Premium_2PlayersFor1Credit &&
GetNumSidesJoined() == 1 )
iCoinsToCharge = 0;
return iCoinsToCharge;
}
/* Game flow:
*
* BeginGame() - the first player has joined; the game is starting.
@@ -585,6 +609,7 @@ bool GameState::HaveProfileToSave()
void GameState::SaveLocalData()
{
BOOKKEEPER->WriteToDisk();
PROFILEMAN->SaveMachineProfile();
}
@@ -2272,7 +2297,10 @@ public:
return 1;
}
DEFINE_METHOD( GetGameplayLeadIn, m_bGameplayLeadIn )
DEFINE_METHOD( GetCoins, m_iCoins )
DEFINE_METHOD( IsSideJoined, m_bSideIsJoined[Enum::Check<PlayerNumber>(L, 1)] )
DEFINE_METHOD( GetCoinsNeededToJoin, GetCoinsNeededToJoin() )
DEFINE_METHOD( EnoughCreditsToJoin, EnoughCreditsToJoin() )
DEFINE_METHOD( PlayersCanJoin, PlayersCanJoin() )
DEFINE_METHOD( GetNumSidesJoined, GetNumSidesJoined() )
DEFINE_METHOD( GetCoinMode, GetCoinMode() )
@@ -2525,7 +2553,10 @@ public:
ADD_METHOD( GetSongDelay );*/
ADD_METHOD( GetSongPosition );
ADD_METHOD( GetGameplayLeadIn );
ADD_METHOD( GetCoins );
ADD_METHOD( IsSideJoined );
ADD_METHOD( GetCoinsNeededToJoin );
ADD_METHOD( EnoughCreditsToJoin );
ADD_METHOD( PlayersCanJoin );
ADD_METHOD( GetNumSidesJoined );
ADD_METHOD( GetCoinMode );