From 1813a9d9e39a902fce77ac02a205c04c78277985 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 15 Sep 2006 06:04:43 +0000 Subject: [PATCH] subscribe to the events that change the credits message; don't make everything else hook into SCREENMAN --- stepmania/src/ScreenSystemLayer.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/stepmania/src/ScreenSystemLayer.cpp b/stepmania/src/ScreenSystemLayer.cpp index 03143a3c78..2f245427f3 100644 --- a/stepmania/src/ScreenSystemLayer.cpp +++ b/stepmania/src/ScreenSystemLayer.cpp @@ -17,9 +17,12 @@ REGISTER_SCREEN_CLASS( ScreenSystemLayer ); void ScreenSystemLayer::Init() { SubscribeToMessage( "RefreshCreditText" ); + SubscribeToMessage( "CoinInserted" ); SubscribeToMessage( "SystemMessage" ); SubscribeToMessage( "SystemMessageNoAnimate" ); SubscribeToMessage( "HideSystemMessage" ); + FOREACH_PlayerNumber( pn ) + SubscribeToMessage( enum_add2(Message_SideJoinedP1, pn) ); CREDITS_PRESS_START .Load(m_sName,"CreditsPressStart"); CREDITS_INSERT_CARD .Load(m_sName,"CreditsInsertCard"); @@ -175,7 +178,12 @@ RString ScreenSystemLayer::GetCreditsMessage( PlayerNumber pn ) const void ScreenSystemLayer::HandleMessage( const RString &sMessage ) { - if( sMessage == "RefreshCreditText" ) + bool bJoinedMessage = false; + FOREACH_PlayerNumber( pn ) + if( MessageToString(enum_add2(Message_SideJoinedP1, pn)) == sMessage ) + bJoinedMessage = true; + + if( sMessage == "RefreshCreditText" || sMessage == "CoinInserted" || bJoinedMessage ) { // update joined FOREACH_PlayerNumber( pn )