diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index c9d96f698b..dbc86a051f 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -77,6 +77,11 @@ void Screen::BeginScreen() this->RunCommands( THEME->GetMetricA(m_sName, "ScreenOnCommand") ); } +void Screen::ReloadScreen() +{ + SCREENMAN->SetNewScreen( m_sName ); +} + void Screen::Update( float fDeltaTime ) { ActorFrame::Update( fDeltaTime ); diff --git a/stepmania/src/Screen.h b/stepmania/src/Screen.h index c3fcf7adc7..b0fab781a3 100644 --- a/stepmania/src/Screen.h +++ b/stepmania/src/Screen.h @@ -47,6 +47,9 @@ public: /* This is called when the screen is popped. */ virtual void EndScreen() { } + + /* Call this to reload the current screen. */ + virtual void ReloadScreen(); virtual void Update( float fDeltaTime ); virtual bool OverlayInput( const InputEventPlus &input ); diff --git a/stepmania/src/ScreenOptionsManageEditSteps.cpp b/stepmania/src/ScreenOptionsManageEditSteps.cpp index 1e1284d31b..9ac1c42a46 100644 --- a/stepmania/src/ScreenOptionsManageEditSteps.cpp +++ b/stepmania/src/ScreenOptionsManageEditSteps.cpp @@ -161,7 +161,7 @@ void ScreenOptionsManageEditSteps::HandleScreenMessage( const ScreenMessage SM ) return; } - SCREENMAN->SetNewScreen( this->m_sName ); // reload + ReloadScreen(); } } else if( SM == SM_BackFromDelete ) @@ -174,7 +174,7 @@ void ScreenOptionsManageEditSteps::HandleScreenMessage( const ScreenMessage SM ) FILEMAN->Remove( pSteps->GetFilename() ); SONGMAN->DeleteSteps( pSteps ); GAMESTATE->m_pCurSteps[PLAYER_1].Set( NULL ); - SCREENMAN->SetNewScreen( this->m_sName ); // reload + ReloadScreen(); } } else if( SM == SM_BackFromContextMenu ) diff --git a/stepmania/src/ScreenOptionsManageProfiles.cpp b/stepmania/src/ScreenOptionsManageProfiles.cpp index 87479b13fa..e6b45fdd6c 100644 --- a/stepmania/src/ScreenOptionsManageProfiles.cpp +++ b/stepmania/src/ScreenOptionsManageProfiles.cpp @@ -185,7 +185,7 @@ void ScreenOptionsManageProfiles::HandleScreenMessage( const ScreenMessage SM ) RString sNewName = ScreenTextEntry::s_sLastAnswer; PROFILEMAN->RenameLocalProfile( GAMESTATE->m_sEditLocalProfileID, sNewName ); - SCREENMAN->SetNewScreen( this->m_sName ); // reload + ReloadScreen(); } } else if( SM == SM_BackFromDeleteConfirm ) @@ -202,7 +202,7 @@ void ScreenOptionsManageProfiles::HandleScreenMessage( const ScreenMessage SM ) PROFILEMAN->DeleteLocalProfile( GetLocalProfileIDWithFocus() ); - SCREENMAN->SetNewScreen( this->m_sName ); // reload + ReloadScreen(); } } else if( SM == SM_BackFromClearConfirm ) @@ -211,7 +211,7 @@ void ScreenOptionsManageProfiles::HandleScreenMessage( const ScreenMessage SM ) { GAMESTATE->GetEditLocalProfile()->InitAll(); - SCREENMAN->SetNewScreen( this->m_sName ); // reload + ReloadScreen(); } } else if( SM == SM_BackFromContextMenu )