split out ScreenSystemLayer::GetCreditsMessage

This commit is contained in:
Glenn Maynard
2005-02-26 07:20:38 +00:00
parent 713f87fa46
commit aa86bb1fbc
2 changed files with 92 additions and 99 deletions
+44 -52
View File
@@ -121,68 +121,58 @@ void ScreenSystemLayer::SystemMessageNoAnimate( const CString &sMessage )
m_textMessage.SetDiffuse( RageColor(1,1,1,0) ); m_textMessage.SetDiffuse( RageColor(1,1,1,0) );
} }
void ScreenSystemLayer::RefreshCreditsMessages() CString ScreenSystemLayer::GetCreditsMessage( PlayerNumber pn ) const
{ {
// update joined if( CREDITS_JOIN_ONLY && !GAMESTATE->PlayersCanJoin() )
FOREACH_PlayerNumber( p ) return "";
{
CString sCredits;
bool bShowCreditsMessage; bool bShowCreditsMessage;
if( GAMESTATE->m_bIsOnSystemMenu ) if( GAMESTATE->m_bIsOnSystemMenu )
bShowCreditsMessage = true; bShowCreditsMessage = true;
else if( MEMCARDMAN->GetCardsLocked() ) else if( MEMCARDMAN->GetCardsLocked() )
bShowCreditsMessage = !GAMESTATE->IsPlayerEnabled( p ); bShowCreditsMessage = !GAMESTATE->IsPlayerEnabled( pn );
else else
bShowCreditsMessage = !GAMESTATE->m_bSideIsJoined[p]; bShowCreditsMessage = !GAMESTATE->m_bSideIsJoined[pn];
if( !bShowCreditsMessage ) if( !bShowCreditsMessage )
{ {
MemoryCardState mcs = MEMCARDMAN->GetCardState( p ); MemoryCardState mcs = MEMCARDMAN->GetCardState( pn );
const Profile* pProfile = PROFILEMAN->GetProfile( p ); const Profile* pProfile = PROFILEMAN->GetProfile( pn );
switch( mcs ) switch( mcs )
{ {
case MEMORY_CARD_STATE_NO_CARD: case MEMORY_CARD_STATE_NO_CARD:
// this is a local machine profile // this is a local machine profile
if( PROFILEMAN->LastLoadWasFromLastGood(p) && pProfile ) if( PROFILEMAN->LastLoadWasFromLastGood(pn) && pProfile )
sCredits = pProfile->GetDisplayName() + CREDITS_LOADED_FROM_LAST_GOOD_APPEND; return pProfile->GetDisplayName() + CREDITS_LOADED_FROM_LAST_GOOD_APPEND;
else if( PROFILEMAN->LastLoadWasTamperedOrCorrupt(p) ) else if( PROFILEMAN->LastLoadWasTamperedOrCorrupt(pn) )
sCredits = CREDITS_LOAD_FAILED; return CREDITS_LOAD_FAILED;
// Prefer the name of the profile over the name of the card. // Prefer the name of the profile over the name of the card.
else if( pProfile ) else if( pProfile )
sCredits = pProfile->GetDisplayName(); return pProfile->GetDisplayName();
else if( GAMESTATE->PlayersCanJoin() ) else if( GAMESTATE->PlayersCanJoin() )
sCredits = CREDITS_INSERT_CARD; return CREDITS_INSERT_CARD;
else else
sCredits = ""; return "";
break;
case MEMORY_CARD_STATE_WRITE_ERROR: case MEMORY_CARD_STATE_WRITE_ERROR: return CREDITS_CARD_ERROR;
sCredits = CREDITS_CARD_ERROR; case MEMORY_CARD_STATE_TOO_LATE: return CREDITS_CARD_TOO_LATE;
break; case MEMORY_CARD_STATE_CHECKING: return CREDITS_CARD_CHECKING;
case MEMORY_CARD_STATE_TOO_LATE: case MEMORY_CARD_STATE_REMOVED: return CREDITS_CARD_REMOVED;
sCredits = CREDITS_CARD_TOO_LATE;
break;
case MEMORY_CARD_STATE_CHECKING:
sCredits = CREDITS_CARD_CHECKING;
break;
case MEMORY_CARD_STATE_REMOVED:
sCredits = CREDITS_CARD_REMOVED;
break;
case MEMORY_CARD_STATE_READY: case MEMORY_CARD_STATE_READY:
if( PROFILEMAN->LastLoadWasFromLastGood(p) && pProfile ) if( PROFILEMAN->LastLoadWasFromLastGood(pn) && pProfile )
sCredits = pProfile->GetDisplayName() + CREDITS_LOADED_FROM_LAST_GOOD_APPEND; return pProfile->GetDisplayName() + CREDITS_LOADED_FROM_LAST_GOOD_APPEND;
else if( PROFILEMAN->LastLoadWasTamperedOrCorrupt(p) ) else if( PROFILEMAN->LastLoadWasTamperedOrCorrupt(pn) )
sCredits = CREDITS_LOAD_FAILED; return CREDITS_LOAD_FAILED;
// Prefer the name of the profile over the name of the card. // Prefer the name of the profile over the name of the card.
else if( pProfile ) else if( pProfile )
sCredits = pProfile->GetDisplayName(); return pProfile->GetDisplayName();
else if( !MEMCARDMAN->IsNameAvailable(p) ) else if( !MEMCARDMAN->IsNameAvailable(pn) )
sCredits = CREDITS_CARD_READY; return CREDITS_CARD_READY;
else if( !MEMCARDMAN->GetName(p).empty() ) else if( !MEMCARDMAN->GetName(pn).empty() )
sCredits = MEMCARDMAN->GetName(p); return MEMCARDMAN->GetName(pn);
else else
sCredits = CREDITS_CARD_NO_NAME; return CREDITS_CARD_NO_NAME;
break;
default: default:
FAIL_M( ssprintf("%i",mcs) ); FAIL_M( ssprintf("%i",mcs) );
} }
@@ -193,36 +183,38 @@ void ScreenSystemLayer::RefreshCreditsMessages()
{ {
case COIN_HOME: case COIN_HOME:
if( GAMESTATE->PlayersCanJoin() ) if( GAMESTATE->PlayersCanJoin() )
sCredits = CREDITS_PRESS_START; return CREDITS_PRESS_START;
else else
sCredits = CREDITS_NOT_PRESENT; return CREDITS_NOT_PRESENT;
break;
case COIN_PAY: case COIN_PAY:
{ {
int Credits = GAMESTATE->m_iCoins / PREFSMAN->m_iCoinsPerCredit; int Credits = GAMESTATE->m_iCoins / PREFSMAN->m_iCoinsPerCredit;
int Coins = GAMESTATE->m_iCoins % PREFSMAN->m_iCoinsPerCredit; int Coins = GAMESTATE->m_iCoins % PREFSMAN->m_iCoinsPerCredit;
sCredits = CREDITS_CREDITS; CString sCredits = CREDITS_CREDITS;
if( Credits > 0 || PREFSMAN->m_iCoinsPerCredit == 1 ) if( Credits > 0 || PREFSMAN->m_iCoinsPerCredit == 1 )
sCredits += ssprintf(" %d", Credits); sCredits += ssprintf(" %d", Credits);
if( PREFSMAN->m_iCoinsPerCredit > 1 ) if( PREFSMAN->m_iCoinsPerCredit > 1 )
sCredits += ssprintf(" %d/%d", Coins, PREFSMAN->m_iCoinsPerCredit ); sCredits += ssprintf(" %d/%d", Coins, PREFSMAN->m_iCoinsPerCredit );
return sCredits;
} }
break;
case COIN_FREE: case COIN_FREE:
if( GAMESTATE->PlayersCanJoin() ) if( GAMESTATE->PlayersCanJoin() )
sCredits = CREDITS_FREE_PLAY; return CREDITS_FREE_PLAY;
else else
sCredits = CREDITS_NOT_PRESENT; return CREDITS_NOT_PRESENT;
break;
default: default:
ASSERT(0); ASSERT(0);
} }
} }
}
if( CREDITS_JOIN_ONLY && !GAMESTATE->PlayersCanJoin() ) void ScreenSystemLayer::RefreshCreditsMessages()
sCredits = ""; {
m_textCredits[p].SetText( sCredits ); // update joined
} FOREACH_PlayerNumber( pn )
m_textCredits[pn].SetText( GetCreditsMessage(pn) );
} }
void ScreenSystemLayer::AddTimestampLine( const CString &txt, const RageColor &color ) void ScreenSystemLayer::AddTimestampLine( const CString &txt, const RageColor &color )
+1
View File
@@ -35,6 +35,7 @@ private:
RageTimer SkipTimer; RageTimer SkipTimer;
void AddTimestampLine( const CString &txt, const RageColor &color ); void AddTimestampLine( const CString &txt, const RageColor &color );
void UpdateTimestampAndSkips(); void UpdateTimestampAndSkips();
CString GetCreditsMessage( PlayerNumber pn ) const;
}; };