SideJoinedP1, SideJoinedP2 -> PlayerJoined(P1)
move most of ScreenSystemLayer into Lua
This commit is contained in:
@@ -317,7 +317,9 @@ void GameState::Reset()
|
|||||||
void GameState::JoinPlayer( PlayerNumber pn )
|
void GameState::JoinPlayer( PlayerNumber pn )
|
||||||
{
|
{
|
||||||
m_bSideIsJoined[pn] = true;
|
m_bSideIsJoined[pn] = true;
|
||||||
MESSAGEMAN->Broadcast( (MessageID)(Message_SideJoinedP1+pn) );
|
Message msg( MessageIDToString(Message_PlayerJoined) );
|
||||||
|
msg.SetParam( "Player", pn );
|
||||||
|
MESSAGEMAN->Broadcast( msg );
|
||||||
|
|
||||||
if( m_MasterPlayerNumber == PLAYER_INVALID )
|
if( m_MasterPlayerNumber == PLAYER_INVALID )
|
||||||
m_MasterPlayerNumber = pn;
|
m_MasterPlayerNumber = pn;
|
||||||
|
|||||||
@@ -52,8 +52,7 @@ static const char *MessageIDNames[] = {
|
|||||||
"MenuRightP2",
|
"MenuRightP2",
|
||||||
"MenuSelectionChanged",
|
"MenuSelectionChanged",
|
||||||
"CoinInserted",
|
"CoinInserted",
|
||||||
"SideJoinedP1",
|
"PlayerJoined",
|
||||||
"SideJoinedP2",
|
|
||||||
"PlayersFinalized",
|
"PlayersFinalized",
|
||||||
"AutosyncChanged",
|
"AutosyncChanged",
|
||||||
"PreferredSongGroupChanged",
|
"PreferredSongGroupChanged",
|
||||||
|
|||||||
@@ -49,8 +49,7 @@ enum MessageID
|
|||||||
Message_MenuRightP2,
|
Message_MenuRightP2,
|
||||||
Message_MenuSelectionChanged,
|
Message_MenuSelectionChanged,
|
||||||
Message_CoinInserted,
|
Message_CoinInserted,
|
||||||
Message_SideJoinedP1,
|
Message_PlayerJoined,
|
||||||
Message_SideJoinedP2,
|
|
||||||
Message_PlayersFinalized,
|
Message_PlayersFinalized,
|
||||||
Message_AutosyncChanged,
|
Message_AutosyncChanged,
|
||||||
Message_PreferredSongGroupChanged,
|
Message_PreferredSongGroupChanged,
|
||||||
|
|||||||
@@ -10,76 +10,28 @@
|
|||||||
#include "ProfileManager.h"
|
#include "ProfileManager.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
#include "ScreenDimensions.h"
|
#include "ScreenDimensions.h"
|
||||||
|
#include "ThemeMetric.h"
|
||||||
|
#include "LocalizedString.h"
|
||||||
|
|
||||||
|
namespace
|
||||||
REGISTER_SCREEN_CLASS( ScreenSystemLayer );
|
|
||||||
void ScreenSystemLayer::Init()
|
|
||||||
{
|
{
|
||||||
SubscribeToMessage( "RefreshCreditText" );
|
LocalizedString CREDITS_PRESS_START("ScreenSystemLayer","CreditsPressStart");
|
||||||
SubscribeToMessage( "CoinInserted" );
|
LocalizedString CREDITS_INSERT_CARD("ScreenSystemLayer","CreditsInsertCard");
|
||||||
SubscribeToMessage( "SystemMessage" );
|
LocalizedString CREDITS_CARD_TOO_LATE("ScreenSystemLayer","CreditsCardTooLate");
|
||||||
SubscribeToMessage( "SystemMessageNoAnimate" );
|
LocalizedString CREDITS_CARD_NO_NAME("ScreenSystemLayer","CreditsCardNoName");
|
||||||
SubscribeToMessage( "HideSystemMessage" );
|
LocalizedString CREDITS_CARD_READY("ScreenSystemLayer","CreditsCardReady");
|
||||||
FOREACH_PlayerNumber( pn )
|
LocalizedString CREDITS_CARD_CHECKING("ScreenSystemLayer","CreditsCardChecking");
|
||||||
SubscribeToMessage( enum_add2(Message_SideJoinedP1, pn) );
|
LocalizedString CREDITS_CARD_REMOVED("ScreenSystemLayer","CreditsCardRemoved");
|
||||||
|
LocalizedString CREDITS_FREE_PLAY("ScreenSystemLayer","CreditsFreePlay");
|
||||||
|
LocalizedString CREDITS_CREDITS("ScreenSystemLayer","CreditsCredits");
|
||||||
|
LocalizedString CREDITS_NOT_PRESENT("ScreenSystemLayer","CreditsNotPresent");
|
||||||
|
LocalizedString CREDITS_LOAD_FAILED("ScreenSystemLayer","CreditsLoadFailed");
|
||||||
|
LocalizedString CREDITS_LOADED_FROM_LAST_GOOD_APPEND("ScreenSystemLayer","CreditsLoadedFromLastGoodAppend");
|
||||||
|
|
||||||
CREDITS_PRESS_START .Load(m_sName,"CreditsPressStart");
|
ThemeMetric<bool> CREDITS_JOIN_ONLY( "ScreenSystemLayer", "CreditsJoinOnly" );
|
||||||
CREDITS_INSERT_CARD .Load(m_sName,"CreditsInsertCard");
|
|
||||||
CREDITS_CARD_TOO_LATE .Load(m_sName,"CreditsCardTooLate");
|
|
||||||
CREDITS_CARD_NO_NAME .Load(m_sName,"CreditsCardNoName");
|
|
||||||
CREDITS_CARD_READY .Load(m_sName,"CreditsCardReady");
|
|
||||||
CREDITS_CARD_CHECKING .Load(m_sName,"CreditsCardChecking");
|
|
||||||
CREDITS_CARD_REMOVED .Load(m_sName,"CreditsCardRemoved");
|
|
||||||
CREDITS_FREE_PLAY .Load(m_sName,"CreditsFreePlay");
|
|
||||||
CREDITS_CREDITS .Load(m_sName,"CreditsCredits");
|
|
||||||
CREDITS_NOT_PRESENT .Load(m_sName,"CreditsNotPresent");
|
|
||||||
CREDITS_LOAD_FAILED .Load(m_sName,"CreditsLoadFailed");
|
|
||||||
CREDITS_LOADED_FROM_LAST_GOOD_APPEND.Load(m_sName,"CreditsLoadedFromLastGoodAppend");
|
|
||||||
CREDITS_JOIN_ONLY .Load( m_sName, "CreditsJoinOnly" );
|
|
||||||
|
|
||||||
Screen::Init();
|
RString GetCreditsMessage( PlayerNumber pn )
|
||||||
|
|
||||||
this->AddChild(&m_textMessage);
|
|
||||||
FOREACH_PlayerNumber( p )
|
|
||||||
this->AddChild(&m_textCredits[p]);
|
|
||||||
|
|
||||||
ReloadCreditsText();
|
|
||||||
/* This will be done when we set up the first screen, after GAMESTATE->Reset has
|
|
||||||
* been called. */
|
|
||||||
// RefreshCreditsMessages();
|
|
||||||
|
|
||||||
m_sprOverlay.Load( THEME->GetPathB("ScreenSystemLayer", "overlay") );
|
|
||||||
this->AddChild( m_sprOverlay );
|
|
||||||
}
|
|
||||||
|
|
||||||
void ScreenSystemLayer::ReloadCreditsText()
|
|
||||||
{
|
|
||||||
if( m_sprMessageFrame.IsLoaded() )
|
|
||||||
this->RemoveChild( m_sprMessageFrame );
|
|
||||||
m_sprMessageFrame.Load( THEME->GetPathG(m_sName,"MessageFrame") );
|
|
||||||
this->AddChild( m_sprMessageFrame );
|
|
||||||
m_sprMessageFrame->SetName( "MessageFrame" );
|
|
||||||
SET_XY_AND_ON_COMMAND( m_sprMessageFrame );
|
|
||||||
m_sprMessageFrame->SetVisible( false );
|
|
||||||
|
|
||||||
m_textMessage.LoadFromFont( THEME->GetPathF(m_sName,"message") );
|
|
||||||
m_textMessage.SetName( "Message" );
|
|
||||||
SET_XY_AND_ON_COMMAND( m_textMessage );
|
|
||||||
m_textMessage.SetVisible( false );
|
|
||||||
|
|
||||||
|
|
||||||
FOREACH_PlayerNumber( p )
|
|
||||||
{
|
{
|
||||||
m_textCredits[p].LoadFromFont( THEME->GetPathF("ScreenManager","credits") );
|
|
||||||
m_textCredits[p].SetName( ssprintf("CreditsP%d",p+1) );
|
|
||||||
SET_XY_AND_ON_COMMAND( &m_textCredits[p] );
|
|
||||||
}
|
|
||||||
|
|
||||||
this->SortByDrawOrder();
|
|
||||||
}
|
|
||||||
|
|
||||||
RString ScreenSystemLayer::GetCreditsMessage( PlayerNumber pn ) const
|
|
||||||
{
|
|
||||||
if( (bool)CREDITS_JOIN_ONLY && !GAMESTATE->PlayersCanJoin() )
|
if( (bool)CREDITS_JOIN_ONLY && !GAMESTATE->PlayersCanJoin() )
|
||||||
return RString();
|
return RString();
|
||||||
|
|
||||||
@@ -111,7 +63,7 @@ RString ScreenSystemLayer::GetCreditsMessage( PlayerNumber pn ) const
|
|||||||
else
|
else
|
||||||
return RString();
|
return RString();
|
||||||
|
|
||||||
case MemoryCardState_Error: return THEME->GetMetric( m_sName, "CreditsCard" + MEMCARDMAN->GetCardError(pn) );
|
case MemoryCardState_Error: return THEME->GetMetric( "ScreenSystemLayer", "CreditsCard" + MEMCARDMAN->GetCardError(pn) );
|
||||||
case MemoryCardState_TooLate: return CREDITS_CARD_TOO_LATE.GetValue();
|
case MemoryCardState_TooLate: return CREDITS_CARD_TOO_LATE.GetValue();
|
||||||
case MemoryCardState_Checking: return CREDITS_CARD_CHECKING.GetValue();
|
case MemoryCardState_Checking: return CREDITS_CARD_CHECKING.GetValue();
|
||||||
case MemoryCardState_Removed: return CREDITS_CARD_REMOVED.GetValue();
|
case MemoryCardState_Removed: return CREDITS_CARD_REMOVED.GetValue();
|
||||||
@@ -173,57 +125,39 @@ RString ScreenSystemLayer::GetCreditsMessage( PlayerNumber pn ) const
|
|||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// lua start
|
||||||
|
#include "LuaBinding.h"
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
int GetCreditsMessage( lua_State *L )
|
||||||
|
{
|
||||||
|
PlayerNumber pn = Enum::Check<PlayerNumber>(L, 1);
|
||||||
|
RString sText = GetCreditsMessage( pn );
|
||||||
|
LuaHelpers::Push( L, sText );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
const luaL_Reg ScreenSystemLayerHelpersTable[] =
|
||||||
|
{
|
||||||
|
LIST_METHOD( GetCreditsMessage ),
|
||||||
|
{ NULL, NULL }
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenSystemLayer::HandleMessage( const Message &msg )
|
LUA_REGISTER_NAMESPACE( ScreenSystemLayerHelpers )
|
||||||
|
|
||||||
|
REGISTER_SCREEN_CLASS( ScreenSystemLayer );
|
||||||
|
void ScreenSystemLayer::Init()
|
||||||
{
|
{
|
||||||
bool bJoinedMessage = false;
|
Screen::Init();
|
||||||
FOREACH_PlayerNumber( pn )
|
|
||||||
if( msg == enum_add2(Message_SideJoinedP1, pn) )
|
|
||||||
bJoinedMessage = true;
|
|
||||||
|
|
||||||
if( msg == "RefreshCreditText" || msg == "CoinInserted" || bJoinedMessage )
|
m_sprOverlay.Load( THEME->GetPathB("ScreenSystemLayer", "overlay") );
|
||||||
{
|
this->AddChild( m_sprOverlay );
|
||||||
// update joined
|
|
||||||
FOREACH_PlayerNumber( pn )
|
|
||||||
m_textCredits[pn].SetText( GetCreditsMessage(pn) );
|
|
||||||
}
|
|
||||||
else if( msg == "SystemMessage" )
|
|
||||||
{
|
|
||||||
m_sprMessageFrame->SetVisible( true );
|
|
||||||
m_sprMessageFrame->PlayCommand( "On" );
|
|
||||||
m_sprMessageFrame->PlayCommand( "Off" );
|
|
||||||
|
|
||||||
m_textMessage.SetVisible( true );
|
|
||||||
m_textMessage.SetText( SCREENMAN->GetCurrentSystemMessage() );
|
|
||||||
m_textMessage.PlayCommand( "On" );
|
|
||||||
m_textMessage.PlayCommand( "Off" );
|
|
||||||
}
|
|
||||||
else if( msg == "SystemMessageNoAnimate" )
|
|
||||||
{
|
|
||||||
m_sprMessageFrame->SetVisible( true );
|
|
||||||
m_sprMessageFrame->PlayCommand( "On" );
|
|
||||||
m_sprMessageFrame->FinishTweening();
|
|
||||||
m_sprMessageFrame->PlayCommand( "Off" );
|
|
||||||
|
|
||||||
m_textMessage.SetVisible( true );
|
|
||||||
m_textMessage.SetText( SCREENMAN->GetCurrentSystemMessage() );
|
|
||||||
m_textMessage.PlayCommand( "On" );
|
|
||||||
m_textMessage.FinishTweening();
|
|
||||||
m_textMessage.PlayCommand( "Off" );
|
|
||||||
}
|
|
||||||
else if( msg == "HideSystemMessage" )
|
|
||||||
{
|
|
||||||
m_sprMessageFrame->SetVisible( false );
|
|
||||||
|
|
||||||
m_textMessage.SetVisible( false );
|
|
||||||
}
|
|
||||||
Screen::HandleMessage( msg );
|
|
||||||
}
|
|
||||||
|
|
||||||
void ScreenSystemLayer::Update( float fDeltaTime )
|
|
||||||
{
|
|
||||||
Screen::Update(fDeltaTime);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -4,42 +4,14 @@
|
|||||||
#define ScreenSystemLayer_H
|
#define ScreenSystemLayer_H
|
||||||
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include "BitmapText.h"
|
|
||||||
#include "Quad.h"
|
|
||||||
#include "ThemeMetric.h"
|
|
||||||
#include "AutoActor.h"
|
#include "AutoActor.h"
|
||||||
#include "LocalizedString.h"
|
|
||||||
|
|
||||||
class ScreenSystemLayer : public Screen
|
class ScreenSystemLayer : public Screen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void Init();
|
virtual void Init();
|
||||||
void HandleMessage( const Message &msg );
|
|
||||||
|
|
||||||
void ReloadCreditsText();
|
|
||||||
void Update( float fDeltaTime );
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AutoActor m_sprMessageFrame;
|
|
||||||
BitmapText m_textMessage;
|
|
||||||
BitmapText m_textCredits[NUM_PLAYERS];
|
|
||||||
|
|
||||||
RString GetCreditsMessage( PlayerNumber pn ) const;
|
|
||||||
|
|
||||||
LocalizedString CREDITS_PRESS_START;
|
|
||||||
LocalizedString CREDITS_INSERT_CARD;
|
|
||||||
LocalizedString CREDITS_CARD_TOO_LATE;
|
|
||||||
LocalizedString CREDITS_CARD_NO_NAME;
|
|
||||||
LocalizedString CREDITS_CARD_READY;
|
|
||||||
LocalizedString CREDITS_CARD_CHECKING;
|
|
||||||
LocalizedString CREDITS_CARD_REMOVED;
|
|
||||||
LocalizedString CREDITS_FREE_PLAY;
|
|
||||||
LocalizedString CREDITS_CREDITS;
|
|
||||||
LocalizedString CREDITS_NOT_PRESENT;
|
|
||||||
LocalizedString CREDITS_LOAD_FAILED;
|
|
||||||
LocalizedString CREDITS_LOADED_FROM_LAST_GOOD_APPEND;
|
|
||||||
ThemeMetric<bool> CREDITS_JOIN_ONLY;
|
|
||||||
|
|
||||||
AutoActor m_sprOverlay;
|
AutoActor m_sprOverlay;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user