From e01fab250f1a54c9d4c0a5ccb1d9133067faf5e5 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 20 Dec 2010 23:25:00 -0600 Subject: [PATCH] [MessageManager] Added MenuStartP1 and MenuStartP2 messages. [ScreenSelectMaster] Broadcast MenuStartP# messages; allow themers to handle the MenuStartP# message on screenless items. --- Docs/Changelog_sm-ssc.txt | 7 +++++++ src/MessageManager.cpp | 2 ++ src/MessageManager.h | 2 ++ src/ScreenSelectMaster.cpp | 10 +++++++++- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm-ssc.txt b/Docs/Changelog_sm-ssc.txt index 0933a7168b..424f519263 100644 --- a/Docs/Changelog_sm-ssc.txt +++ b/Docs/Changelog_sm-ssc.txt @@ -13,6 +13,13 @@ _____________________________________________________________________________ sm-ssc v1.2 | 201012xx -------------------------------------------------------------------------------- +20101220 +-------- +* [Actor] Add bezier (_fallback/02 Actor.lua) [FSX] +* [MessageManager] Added MenuStartP1 and MenuStartP2 messages. [freem] +* [ScreenSelectMaster] Broadcast MenuStartP# messages; allow themers to handle + the MenuStartP# message on screenless items. [freem] + 20101219 -------- * [WheelNotifyIcon] add BlinkPlayersBest metric. [freem] diff --git a/src/MessageManager.cpp b/src/MessageManager.cpp index 5cae2baf5e..ee4dcd6e9b 100644 --- a/src/MessageManager.cpp +++ b/src/MessageManager.cpp @@ -52,6 +52,8 @@ static const char *MessageIDNames[] = { "MenuLeftP2", "MenuRightP1", "MenuRightP2", + "MenuStartP1", + "MenuStartP2", "MenuSelectionChanged", "PlayerJoined", "PlayerUnjoined", diff --git a/src/MessageManager.h b/src/MessageManager.h index b84afc138a..3d424ce3aa 100644 --- a/src/MessageManager.h +++ b/src/MessageManager.h @@ -49,6 +49,8 @@ enum MessageID Message_MenuLeftP2, Message_MenuRightP1, Message_MenuRightP2, + Message_MenuStartP1, + Message_MenuStartP2, Message_MenuSelectionChanged, Message_PlayerJoined, Message_PlayerUnjoined, diff --git a/src/ScreenSelectMaster.cpp b/src/ScreenSelectMaster.cpp index 1322b8f928..43988cbfe6 100644 --- a/src/ScreenSelectMaster.cpp +++ b/src/ScreenSelectMaster.cpp @@ -785,7 +785,6 @@ void ScreenSelectMaster::MenuStart( const InputEventPlus &input ) return; } - const GameCommand &mc = m_aGameCommands[m_iChoice[pn]]; /* If no options are playable, then we're just waiting for one to become available. @@ -802,6 +801,11 @@ void ScreenSelectMaster::MenuStart( const InputEventPlus &input ) if( mc.m_sScreen.empty() ) { mc.ApplyToAllPlayers(); + // We want to be able to broadcast a Start message to the theme, in + // case a themer wants to handle something. -aj + // TODO: Find a way to differentiate this from the message below, for + // less ambiguousness? + MESSAGEMAN->Broadcast( (MessageID)(Message_MenuStartP1+pn) ); return; } @@ -825,7 +829,11 @@ void ScreenSelectMaster::MenuStart( const InputEventPlus &input ) } if( bAllDone ) + { + // broadcast MenuStart just like MenuLeft/Right/etc. + MESSAGEMAN->Broadcast( (MessageID)(Message_MenuStartP1+pn) ); this->PostScreenMessage( SM_BeginFadingOut, fSecs );// tell our owner it's time to move on + } } /* We want all items to always run OnCommand and either GainFocus or LoseFocus