From 881001b6c6f1146e1383fde90d18990662a858b6 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Mon, 25 Jul 2005 03:59:24 +0000 Subject: [PATCH] broadcast on PlayMode changed --- stepmania/src/GameCommand.cpp | 2 +- stepmania/src/GameState.cpp | 5 +++-- stepmania/src/GameState.h | 8 ++++---- stepmania/src/MessageManager.cpp | 1 + stepmania/src/MessageManager.h | 1 + stepmania/src/ScreenDemonstration.cpp | 2 +- stepmania/src/ScreenEnding.cpp | 2 +- stepmania/src/ScreenEvaluation.cpp | 2 +- stepmania/src/ScreenJukebox.cpp | 5 +++-- stepmania/src/ScreenNameEntryTraditional.cpp | 2 +- stepmania/src/ScreenSelectMusic.cpp | 6 +++--- 11 files changed, 20 insertions(+), 16 deletions(-) diff --git a/stepmania/src/GameCommand.cpp b/stepmania/src/GameCommand.cpp index 4ba0efb178..c3a0fd32cd 100644 --- a/stepmania/src/GameCommand.cpp +++ b/stepmania/src/GameCommand.cpp @@ -684,7 +684,7 @@ void GameCommand::ApplySelf( const vector &vpns ) const if( m_pGame != NULL ) GAMESTATE->m_pCurGame = m_pGame; if( m_pm != PLAY_MODE_INVALID ) - GAMESTATE->m_PlayMode = m_pm; + GAMESTATE->m_PlayMode.Set( m_pm ); if( m_pStyle != NULL ) { diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index 21aa0db5b0..af1fae8c21 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -67,6 +67,7 @@ Song* GetDefaultSong() GameState::GameState() : m_pCurStyle( MESSAGE_CURRENT_STYLE_CHANGED ), + m_PlayMode( MESSAGE_PLAY_MODE_CHANGED ), m_sPreferredSongGroup( MESSAGE_PREFERRED_SONG_GROUP_CHANGED ), m_sPreferredCourseGroup(MESSAGE_PREFERRED_COURSE_GROUP_CHANGED ), m_PreferredCourseDifficulty( MESSAGE_EDIT_PREFERRED_COURSE_DIFFICULTY_P1_CHANGED ), @@ -92,7 +93,7 @@ GameState::GameState() : m_iNumTimesThroughAttract = -1; // initial screen will bump this up to 0 m_iStageSeed = m_iGameSeed = 0; - m_PlayMode = PLAY_MODE_INVALID; // used by IsPlayerEnabled before the first screen + m_PlayMode.Set( PLAY_MODE_INVALID ); // used by IsPlayerEnabled before the first screen FOREACH_PlayerNumber( p ) m_bSideIsJoined[p] = false; // used by GetNumSidesJoined before the first screen @@ -183,7 +184,7 @@ void GameState::Reset() } m_SortOrder = SORT_INVALID; m_PreferredSortOrder = GetDefaultSort(); - m_PlayMode = PLAY_MODE_INVALID; + m_PlayMode.Set( PLAY_MODE_INVALID ); m_EditMode = EDIT_MODE_INVALID; m_bDemonstrationOrJukebox = false; m_bJukeboxUsesModifiers = false; diff --git a/stepmania/src/GameState.h b/stepmania/src/GameState.h index a619049b93..7715b3b0ff 100644 --- a/stepmania/src/GameState.h +++ b/stepmania/src/GameState.h @@ -51,10 +51,10 @@ public: // const Game* m_pCurGame; BroadcastOnChangePtr m_pCurStyle; - bool m_bSideIsJoined[NUM_PLAYERS]; // left side, right side - PlayMode m_PlayMode; // many screens display different info depending on this value - int m_iCoins; // not "credits" - PlayerNumber m_MasterPlayerNumber; // used in Styles where one player controls both sides + bool m_bSideIsJoined[NUM_PLAYERS]; // left side, right side + BroadcastOnChange m_PlayMode; // many screens display different info depending on this value + int m_iCoins; // not "credits" + PlayerNumber m_MasterPlayerNumber; // used in Styles where one player controls both sides BroadcastOnChange1D m_PreferredCourseDifficulty;// used in nonstop bool DifficultiesLocked(); bool ChangePreferredDifficulty( PlayerNumber pn, Difficulty dc ); diff --git a/stepmania/src/MessageManager.cpp b/stepmania/src/MessageManager.cpp index 994fd22c7e..0d8890ed90 100644 --- a/stepmania/src/MessageManager.cpp +++ b/stepmania/src/MessageManager.cpp @@ -13,6 +13,7 @@ MessageManager* MESSAGEMAN = NULL; // global and accessable from anywhere in our static const CString MessageNames[] = { "CurrentStyleChanged", + "PlayModeChanged", "CurrentSongChanged", "CurrentStepsP1Changed", "CurrentStepsP2Changed", diff --git a/stepmania/src/MessageManager.h b/stepmania/src/MessageManager.h index aa375e0a32..37c5a84b4e 100644 --- a/stepmania/src/MessageManager.h +++ b/stepmania/src/MessageManager.h @@ -30,6 +30,7 @@ struct lua_State; enum Message { MESSAGE_CURRENT_STYLE_CHANGED, + MESSAGE_PLAY_MODE_CHANGED, MESSAGE_CURRENT_SONG_CHANGED, MESSAGE_CURRENT_STEPS_P1_CHANGED, MESSAGE_CURRENT_STEPS_P2_CHANGED, diff --git a/stepmania/src/ScreenDemonstration.cpp b/stepmania/src/ScreenDemonstration.cpp index 97522eaf46..39ad319679 100644 --- a/stepmania/src/ScreenDemonstration.cpp +++ b/stepmania/src/ScreenDemonstration.cpp @@ -51,7 +51,7 @@ void ScreenDemonstration::Init() GAMESTATE->m_pCurStyle.Set( pStyle ); } - GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR; + GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); ScreenJukebox::Init(); diff --git a/stepmania/src/ScreenEnding.cpp b/stepmania/src/ScreenEnding.cpp index ca2d83d3f7..a3c7624ee3 100644 --- a/stepmania/src/ScreenEnding.cpp +++ b/stepmania/src/ScreenEnding.cpp @@ -133,7 +133,7 @@ ScreenEnding::ScreenEnding( CString sClassName ) : ScreenAttract( sClassName, fa PROFILEMAN->LoadFirstAvailableProfile(PLAYER_1); PROFILEMAN->LoadFirstAvailableProfile(PLAYER_2); - GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR; + GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->m_pCurStyle.Set( GAMEMAN->GameAndStringToStyle( GAMEMAN->GetDefaultGame(),"versus") ); GAMESTATE->m_bSideIsJoined[PLAYER_1] = true; GAMESTATE->m_bSideIsJoined[PLAYER_2] = true; diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 7b8ffd0a4d..dd369c3646 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -99,7 +99,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : ScreenWithMenuElement PROFILEMAN->LoadFirstAvailableProfile(PLAYER_1); PROFILEMAN->LoadFirstAvailableProfile(PLAYER_2); - GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR; + GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->m_pCurStyle.Set( GAMEMAN->GameAndStringToStyle(GAMEMAN->GetDefaultGame(),"versus") ); STATSMAN->m_CurStageStats.playMode = GAMESTATE->m_PlayMode; STATSMAN->m_CurStageStats.pStyle = GAMESTATE->m_pCurStyle; diff --git a/stepmania/src/ScreenJukebox.cpp b/stepmania/src/ScreenJukebox.cpp index b93d71f679..129f79a8ce 100644 --- a/stepmania/src/ScreenJukebox.cpp +++ b/stepmania/src/ScreenJukebox.cpp @@ -149,7 +149,8 @@ void ScreenJukebox::SetSong() m_pCourseEntry = apOptions[iIndex]; Course *pCourse = apPossibleCourses[iIndex]; - GAMESTATE->m_PlayMode = CourseTypeToPlayMode( pCourse->GetCourseType() ); + PlayMode pm = CourseTypeToPlayMode( pCourse->GetCourseType() ); + GAMESTATE->m_PlayMode.Set( pm ); GAMESTATE->m_pCurCourse.Set( pCourse ); FOREACH_PlayerNumber( p ) { @@ -177,7 +178,7 @@ void ScreenJukebox::Init() { // ScreeJukeboxMenu must set this ASSERT( GAMESTATE->m_pCurStyle ); - GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR; + GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); SetSong(); diff --git a/stepmania/src/ScreenNameEntryTraditional.cpp b/stepmania/src/ScreenNameEntryTraditional.cpp index 815af86394..e55816dd90 100644 --- a/stepmania/src/ScreenNameEntryTraditional.cpp +++ b/stepmania/src/ScreenNameEntryTraditional.cpp @@ -143,7 +143,7 @@ ScreenNameEntryTraditional::ScreenNameEntryTraditional( CString sClassName ) : S GAMESTATE->m_bSideIsJoined[PLAYER_1] = true; GAMESTATE->m_bSideIsJoined[PLAYER_2] = true; GAMESTATE->m_MasterPlayerNumber = PLAYER_1; - GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR; + GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->m_pCurStyle.Set( GAMEMAN->GameAndStringToStyle( GAMEMAN->GetDefaultGame(),"versus") ); StageStats ss; for( int z = 0; z < 3; ++z ) diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index fcaf093216..f3c7187961 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -74,7 +74,7 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : ScreenWithMenuEleme if( PREFSMAN->m_bScreenTestMode ) { - GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR; + GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); GAMESTATE->m_pCurStyle.Set( GAMEMAN->GameAndStringToStyle(GAMEMAN->GetDefaultGame(),"versus") ); GAMESTATE->m_bSideIsJoined[PLAYER_1] = true; GAMESTATE->m_MasterPlayerNumber = PLAYER_1; @@ -1189,7 +1189,7 @@ void ScreenSelectMusic::MenuStart( PlayerNumber pn ) /* If we're in event mode, we may have just played a course (putting us * in course mode). Make sure we're in a single song mode. */ if( GAMESTATE->IsCourseMode() ) - GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR; + GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR ); } break; @@ -1199,7 +1199,7 @@ void ScreenSelectMusic::MenuStart( PlayerNumber pn ) Course *pCourse = m_MusicWheel.GetSelectedCourse(); ASSERT( pCourse ); - GAMESTATE->m_PlayMode = pCourse->GetPlayMode(); + GAMESTATE->m_PlayMode.Set( pCourse->GetPlayMode() ); // apply #LIVES if( pCourse->m_iLives != -1 )