diff --git a/stepmania/src/EditCoursesMenu.cpp b/stepmania/src/EditCoursesMenu.cpp index 36d4b30fab..7ba94755a0 100644 --- a/stepmania/src/EditCoursesMenu.cpp +++ b/stepmania/src/EditCoursesMenu.cpp @@ -34,7 +34,7 @@ #define ROW_VALUE_X( i ) THEME->GetMetricF("EditCoursesMenu",ssprintf("RowValue%dX",i+1)) #define ROW_Y( i ) THEME->GetMetricF("EditCoursesMenu",ssprintf("Row%dY",i+1)) -const AutoScreenMessage SM_BackFromCourseOptionsMenu; +AutoScreenMessage( SM_BackFromCourseOptionsMenu ) enum CourseEntryMenuRow { diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index c341151dba..e2e39a1541 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -34,9 +34,9 @@ ThemeMetric DEFAULT_SORT ("ScreenSelectMusic","DefaultSort"); static CString SECTION_COLORS_NAME( size_t i ) { return ssprintf("SectionColor%d",int(i+1)); } static CString CHOICE_NAME( CString s ) { return ssprintf("Choice%s",s.c_str()); } -const AutoScreenMessage SM_SongChanged; // TODO: Replace this with a Message and MESSAGEMAN -const AutoScreenMessage SM_SortOrderChanging; -const AutoScreenMessage SM_SortOrderChanged; +AutoScreenMessage( SM_SongChanged ) // TODO: Replace this with a Message and MESSAGEMAN +AutoScreenMessage( SM_SortOrderChanging ); +AutoScreenMessage( SM_SortOrderChanged ); const int MAX_WHEEL_SOUND_SPEED = 15; diff --git a/stepmania/src/MusicWheel.h b/stepmania/src/MusicWheel.h index 78957cf4b4..0ca96d50cc 100644 --- a/stepmania/src/MusicWheel.h +++ b/stepmania/src/MusicWheel.h @@ -18,10 +18,6 @@ class Course; class Song; -extern const AutoScreenMessage SM_SongChanged; // TODO: Replace this with a Message and MESSAGEMAN -extern const AutoScreenMessage SM_SortOrderChanging; -extern const AutoScreenMessage SM_SortOrderChanged; - struct CompareSongPointerArrayBySectionName; class MusicWheel : public ActorFrame diff --git a/stepmania/src/NetworkSyncManager.cpp b/stepmania/src/NetworkSyncManager.cpp index a11b11dba3..83042072aa 100644 --- a/stepmania/src/NetworkSyncManager.cpp +++ b/stepmania/src/NetworkSyncManager.cpp @@ -42,11 +42,11 @@ void NetworkSyncManager::SelectUserSong() { } #include "arch/LoadingWindow/LoadingWindow.h" #include "PlayerState.h" -const AutoScreenMessage SM_AddToChat; -const AutoScreenMessage SM_ChangeSong; -const AutoScreenMessage SM_GotEval; -const AutoScreenMessage SM_UsersUpdate; -const AutoScreenMessage SM_SMOnlinePack; +AutoScreenMessage( SM_AddToChat ) +AutoScreenMessage( SM_ChangeSong ); +AutoScreenMessage( SM_GotEval ); +AutoScreenMessage( SM_UsersUpdate ); +AutoScreenMessage( SM_SMOnlinePack ); NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld ) diff --git a/stepmania/src/ScreenDemonstration.cpp b/stepmania/src/ScreenDemonstration.cpp index 2576270aa6..d308f384ea 100644 --- a/stepmania/src/ScreenDemonstration.cpp +++ b/stepmania/src/ScreenDemonstration.cpp @@ -14,7 +14,6 @@ #define SECONDS_TO_SHOW THEME->GetMetricF("ScreenDemonstration","SecondsToShow") #define NEXT_SCREEN THEME->GetMetric("ScreenDemonstration","NextScreen") - REGISTER_SCREEN_CLASS( ScreenDemonstration ); ScreenDemonstration::ScreenDemonstration( CString sName ) : ScreenJukebox( sName ) { diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 938817a46e..b4e599818d 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -48,22 +48,22 @@ const float RECORD_HOLD_SECONDS = 0.3f; #define PLAY_RECORD_HELP_TEXT THEME->GetMetric(m_sName,"PlayRecordHelpText") -const AutoScreenMessage SM_BackFromMainMenu; -const AutoScreenMessage SM_BackFromAreaMenu; -const AutoScreenMessage SM_BackFromStepsInformation; -const AutoScreenMessage SM_BackFromEditOptions; -const AutoScreenMessage SM_BackFromSongInformation; -const AutoScreenMessage SM_BackFromBGChange; -const AutoScreenMessage SM_BackFromInsertAttack; -const AutoScreenMessage SM_BackFromInsertAttackModifiers; -const AutoScreenMessage SM_BackFromPrefs; -const AutoScreenMessage SM_BackFromCourseModeMenu; -const AutoScreenMessage SM_DoRevertToLastSave; -const AutoScreenMessage SM_DoUpdateTextInfo; -const AutoScreenMessage SM_BackFromBPMChange; -const AutoScreenMessage SM_BackFromStopChange; -const AutoScreenMessage SM_DoSaveAndExit; -const AutoScreenMessage SM_DoExit; +AutoScreenMessage( SM_BackFromMainMenu ) +AutoScreenMessage( SM_BackFromAreaMenu ) +AutoScreenMessage( SM_BackFromStepsInformation ) +AutoScreenMessage( SM_BackFromEditOptions ) +AutoScreenMessage( SM_BackFromSongInformation ) +AutoScreenMessage( SM_BackFromBGChange ) +AutoScreenMessage( SM_BackFromInsertAttack ) +AutoScreenMessage( SM_BackFromInsertAttackModifiers ) +AutoScreenMessage( SM_BackFromPrefs ) +AutoScreenMessage( SM_BackFromCourseModeMenu ) +AutoScreenMessage( SM_DoRevertToLastSave ) +AutoScreenMessage( SM_DoUpdateTextInfo ) +AutoScreenMessage( SM_BackFromBPMChange ) +AutoScreenMessage( SM_BackFromStopChange ) +AutoScreenMessage( SM_DoSaveAndExit ) +AutoScreenMessage( SM_DoExit ) const CString INPUT_TIPS_TEXT = #if defined(XBOX) diff --git a/stepmania/src/ScreenEditCoursesMenu.cpp b/stepmania/src/ScreenEditCoursesMenu.cpp index 7d76874f89..0d85966065 100644 --- a/stepmania/src/ScreenEditCoursesMenu.cpp +++ b/stepmania/src/ScreenEditCoursesMenu.cpp @@ -16,7 +16,7 @@ #define EXPLANATION_TEXT THEME->GetMetric (m_sName,"ExplanationText") #define HELP_TEXT THEME->GetMetric (m_sName,"HelpText") -const AutoScreenMessage SM_RefreshSelector; +AutoScreenMessage( SM_RefreshSelector ) REGISTER_SCREEN_CLASS( ScreenEditCoursesMenu ); ScreenEditCoursesMenu::ScreenEditCoursesMenu( CString sName ) : ScreenWithMenuElements( sName ) diff --git a/stepmania/src/ScreenEditMenu.cpp b/stepmania/src/ScreenEditMenu.cpp index 05302165fb..1b20347d57 100644 --- a/stepmania/src/ScreenEditMenu.cpp +++ b/stepmania/src/ScreenEditMenu.cpp @@ -18,8 +18,8 @@ #define PREV_SCREEN THEME->GetMetric(m_sName,"PrevScreen") #define EXPLANATION_TEXT( row ) THEME->GetMetric(m_sName,"Explanation"+EditMenuRowToString(row)) -const AutoScreenMessage SM_RefreshSelector; -const AutoScreenMessage SM_BackFromEditDescription; +AutoScreenMessage( SM_RefreshSelector ) +AutoScreenMessage( SM_BackFromEditDescription ) REGISTER_SCREEN_CLASS( ScreenEditMenu ); ScreenEditMenu::ScreenEditMenu( CString sName ) : ScreenWithMenuElements( sName ) diff --git a/stepmania/src/ScreenEndlessBreak.h b/stepmania/src/ScreenEndlessBreak.h index ef36f9e855..f514fad23b 100644 --- a/stepmania/src/ScreenEndlessBreak.h +++ b/stepmania/src/ScreenEndlessBreak.h @@ -13,8 +13,8 @@ #include "Transition.h" // Sent to ScreenGameplay so it can keep all it's data ready for when we resume play. -const AutoScreenMessage SM_BreakInitiated; -const AutoScreenMessage SM_BreakCompleted; +AutoScreenMessage( SM_BreakInitiated ) +AutoScreenMessage( SM_BreakCompleted ) class ScreenEndlessBreak : public Screen { diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 6b780d8abf..563a35b7d7 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -83,8 +83,8 @@ const char* STATS_STRING[NUM_STATS_LINES] = static const int NUM_SHOWN_RADAR_CATEGORIES = 5; -const AutoScreenMessage SM_PlayCheer; -const AutoScreenMessage SM_AddBonus; +AutoScreenMessage( SM_PlayCheer ) +AutoScreenMessage( SM_AddBonus ) REGISTER_SCREEN_CLASS( ScreenEvaluation ); diff --git a/stepmania/src/ScreenEz2SelectMusic.cpp b/stepmania/src/ScreenEz2SelectMusic.cpp index 7646b213df..a4d894b973 100644 --- a/stepmania/src/ScreenEz2SelectMusic.cpp +++ b/stepmania/src/ScreenEz2SelectMusic.cpp @@ -64,7 +64,7 @@ const float TWEEN_TIME = 0.5f; -const AutoScreenMessage SM_NoSongs; +AutoScreenMessage( SM_NoSongs ) REGISTER_SCREEN_CLASS( ScreenEz2SelectMusic ); ScreenEz2SelectMusic::ScreenEz2SelectMusic( CString sName ) : ScreenWithMenuElements( sName ) diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index ef5f0a67d9..0fa1134c80 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -65,24 +65,23 @@ static ThemeMetric SECONDS_BETWEEN_COMMENTS ("ScreenGameplay","SecondsBet /* Global, so it's accessible from ShowSavePrompt: */ static float g_fOldOffset; // used on offset screen to calculate difference -const AutoScreenMessage SM_PlayReady; -const AutoScreenMessage SM_PlayGo; +AutoScreenMessage( SM_PlayReady ) +AutoScreenMessage( SM_PlayGo ) // received while STATE_DANCING -const AutoScreenMessage SM_NotesEnded; -const AutoScreenMessage SM_LoadNextSong; -const AutoScreenMessage SM_StartLoadingNextSong; +AutoScreenMessage( SM_LoadNextSong ) +AutoScreenMessage( SM_StartLoadingNextSong ) // received while STATE_OUTRO -const AutoScreenMessage SM_SaveChangedBeforeGoingBack; -const AutoScreenMessage SM_GoToScreenAfterBack; +AutoScreenMessage( SM_SaveChangedBeforeGoingBack ) +AutoScreenMessage( SM_GoToScreenAfterBack ) -const AutoScreenMessage SM_BeginFailed; +AutoScreenMessage( SM_BeginFailed ) // received while STATE_INTRO -const AutoScreenMessage SM_StartHereWeGo; -const AutoScreenMessage SM_StopHereWeGo; +AutoScreenMessage( SM_StartHereWeGo ) +AutoScreenMessage( SM_StopHereWeGo ) static Preference g_fNetStartOffset( Options, "NetworkStartOffset", -3.0 ); diff --git a/stepmania/src/ScreenGameplay.h b/stepmania/src/ScreenGameplay.h index 401c9411a3..0198c8ff11 100644 --- a/stepmania/src/ScreenGameplay.h +++ b/stepmania/src/ScreenGameplay.h @@ -27,7 +27,7 @@ class Inventory; #include "AutoKeysounds.h" #include "ThemeMetric.h" -extern const AutoScreenMessage SM_NotesEnded; +AutoScreenMessage( SM_NotesEnded ) class LyricsLoader; class ScreenGameplay : public Screen diff --git a/stepmania/src/ScreenGameplayMultiplayer.cpp b/stepmania/src/ScreenGameplayMultiplayer.cpp index 12c9f203ed..395dd4aa7a 100644 --- a/stepmania/src/ScreenGameplayMultiplayer.cpp +++ b/stepmania/src/ScreenGameplayMultiplayer.cpp @@ -29,12 +29,10 @@ // received while STATE_DANCING -const AutoScreenMessage SM_NotesEnded; - -const AutoScreenMessage SM_Ready; - -const AutoScreenMessage SM_GoToStateAfterCleared; -const AutoScreenMessage SM_GoToScreenAfterBack; +AutoScreenMessage( SM_NotesEnded ) +AutoScreenMessage( SM_Ready ) +AutoScreenMessage( SM_GoToStateAfterCleared ) +AutoScreenMessage( SM_GoToScreenAfterBack ) REGISTER_SCREEN_CLASS( ScreenGameplayMultiplayer ); diff --git a/stepmania/src/ScreenMessage.cpp b/stepmania/src/ScreenMessage.cpp index aaf4ea426a..704f9f3b68 100644 --- a/stepmania/src/ScreenMessage.cpp +++ b/stepmania/src/ScreenMessage.cpp @@ -1,15 +1,41 @@ #include "global.h" #include "ScreenMessage.h" +#include "RageLog.h" -AutoScreenMessage::AutoScreenMessage() +ASMHClass AutoScreenMessageHandler; + +ScreenMessage ASMHClass::ToMessageNumber( const CString &Name ) { - static int s_NextID = 100; // a value larger than all the values in the ScreenMessageEnum - m_sm = (ScreenMessage)s_NextID; - s_NextID++; + //If uninitilized, initilize the map. We KNOW it will be NULL + if ( m_pScreenMessages == NULL ) + { + m_pScreenMessages = new map < CString, ScreenMessage >; + m_iCurScreenMessage = SM_User; + } + + //If the ScreenMessage doesn't exist yet, create it + if ( m_pScreenMessages->find( Name ) == m_pScreenMessages->end() ) + { + m_iCurScreenMessage = ScreenMessage((int)m_iCurScreenMessage + 1); + (*m_pScreenMessages)[ Name ] = m_iCurScreenMessage; + } + + return (*m_pScreenMessages)[Name]; +} + +void ASMHClass::LogMessageNumbers( ) +{ + map < CString, ScreenMessage >::iterator iter; + + //Log all ScreenMessages currently in the map + + LOG->Trace( "Current ScreenMessage: %d -- SM_User: %d", m_iCurScreenMessage, SM_User ); + for ( iter = m_pScreenMessages->begin(); iter != m_pScreenMessages->end(); iter++ ) + LOG->Trace( "ScreenMessage: %3d: %s", iter->second, (*iter).first.c_str() ); } /* - * (c) 2001-2004 Chris Danford, Glenn Maynard + * (c) 2001-2005 Chris Danford, Glenn Maynard, Charles Lohr * All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a diff --git a/stepmania/src/ScreenMessage.h b/stepmania/src/ScreenMessage.h index 5f8d1fd4d7..1a59764b8d 100644 --- a/stepmania/src/ScreenMessage.h +++ b/stepmania/src/ScreenMessage.h @@ -3,6 +3,8 @@ #ifndef SCREENMESSAGE_H #define SCREENMESSAGE_H +#include + enum ScreenMessage { SM_None = 0, SM_DoneClosingWipingLeft, @@ -42,22 +44,32 @@ enum ScreenMessage { SM_BattleDamageLevel1, SM_BattleDamageLevel2, SM_BattleDamageLevel3, + + SM_User }; -// Automatically generate a unique ScreenMessage value -class AutoScreenMessage +//AutoScreenMessageHandler Class +class ASMHClass { public: - AutoScreenMessage(); - operator ScreenMessage() const { return m_sm; } -protected: - ScreenMessage m_sm; + ScreenMessage ToMessageNumber( const CString & Name ); + void LogMessageNumbers(); +private: + map < CString, ScreenMessage > *m_pScreenMessages; + ScreenMessage m_iCurScreenMessage; }; +extern ASMHClass AutoScreenMessageHandler; + +// Automatically generate a unique ScreenMessage value +#define AutoScreenMessage( x ) \ + const ScreenMessage x = AutoScreenMessageHandler.ToMessageNumber( #x ); + + #endif /* - * (c) 2003-2004 Chris Danford + * (c) 2003-2005 Chris Danford, Charles Lohr * All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a diff --git a/stepmania/src/ScreenMiniMenu.cpp b/stepmania/src/ScreenMiniMenu.cpp index b91a03ff48..9350132e89 100644 --- a/stepmania/src/ScreenMiniMenu.cpp +++ b/stepmania/src/ScreenMiniMenu.cpp @@ -12,8 +12,8 @@ #include "GameState.h" #include "FontCharAliases.h" -const AutoScreenMessage SM_GoToOK; -const AutoScreenMessage SM_GoToCancel; +AutoScreenMessage( SM_GoToOK ) +AutoScreenMessage( SM_GoToCancel ) int ScreenMiniMenu::s_iLastRowCode = -1; vector ScreenMiniMenu::s_viLastAnswers; diff --git a/stepmania/src/ScreenNameEntryTraditional.cpp b/stepmania/src/ScreenNameEntryTraditional.cpp index 84f168427c..ee7b4a9dd4 100644 --- a/stepmania/src/ScreenNameEntryTraditional.cpp +++ b/stepmania/src/ScreenNameEntryTraditional.cpp @@ -36,7 +36,7 @@ static const ThemeMetric OK_INIT_COMMMAND ("ScreenNameEntryTra if( !actor.GetName().empty() ) \ COMMAND( actor, command_name ); -const AutoScreenMessage SM_ChangeDisplayedFeat; +AutoScreenMessage( SM_ChangeDisplayedFeat ) static const int CHAR_OK = -1; static const int CHAR_BACK = -2; diff --git a/stepmania/src/ScreenNetEvaluation.cpp b/stepmania/src/ScreenNetEvaluation.cpp index 9d5487ec62..7e3c9e1e10 100644 --- a/stepmania/src/ScreenNetEvaluation.cpp +++ b/stepmania/src/ScreenNetEvaluation.cpp @@ -17,7 +17,7 @@ const int NUM_SCORE_DIGITS = 9; #define MAX_COMBO_NUM_DIGITS THEME->GetMetricI("ScreenEvaluation","MaxComboNumDigits") -const AutoScreenMessage SM_GotEval; +AutoScreenMessage( SM_GotEval ) REGISTER_SCREEN_CLASS( ScreenNetEvaluation ); ScreenNetEvaluation::ScreenNetEvaluation (const CString & sClassName) : ScreenEvaluation( sClassName ) diff --git a/stepmania/src/ScreenNetRoom.cpp b/stepmania/src/ScreenNetRoom.cpp index be169d557c..73eb631ada 100644 --- a/stepmania/src/ScreenNetRoom.cpp +++ b/stepmania/src/ScreenNetRoom.cpp @@ -21,9 +21,9 @@ #define ROOMLOWERBOUND THEME->GetMetricF(m_sName,"RoomsLowerBound") #define ROOMUPPERBOUND THEME->GetMetricF(m_sName,"RoomsUpperBound") -const AutoScreenMessage SM_SMOnlinePack; // Unused, but should be known -const AutoScreenMessage SM_BackFromRoomName; -const AutoScreenMessage SM_BackFromRoomDesc; +AutoScreenMessage( SM_SMOnlinePack ) +AutoScreenMessage( SM_BackFromRoomName ) +AutoScreenMessage( SM_BackFromRoomDesc ) REGISTER_SCREEN_CLASS( ScreenNetRoom ); ScreenNetRoom::ScreenNetRoom( const CString& sName ) : ScreenNetSelectBase( sName ) diff --git a/stepmania/src/ScreenNetSelectBase.cpp b/stepmania/src/ScreenNetSelectBase.cpp index 26b13dffb4..2171f86f22 100644 --- a/stepmania/src/ScreenNetSelectBase.cpp +++ b/stepmania/src/ScreenNetSelectBase.cpp @@ -25,9 +25,9 @@ #define USERS_Y THEME->GetMetricF(m_sName,"UsersY") #define USERS_X THEME->GetMetricF(m_sName,"UsersX") -const AutoScreenMessage SM_AddToChat; -const AutoScreenMessage SM_UsersUpdate; -const AutoScreenMessage SM_SMOnlinePack; //Unused, but should be known +AutoScreenMessage( SM_AddToChat ) +AutoScreenMessage( SM_UsersUpdate ) +AutoScreenMessage( SM_SMOnlinePack ) REGISTER_SCREEN_CLASS( ScreenNetSelectBase ); ScreenNetSelectBase::ScreenNetSelectBase( const CString& sName ) : ScreenWithMenuElements( sName ) diff --git a/stepmania/src/ScreenNetSelectMusic.cpp b/stepmania/src/ScreenNetSelectMusic.cpp index 2eee598d7f..f74a1b173c 100644 --- a/stepmania/src/ScreenNetSelectMusic.cpp +++ b/stepmania/src/ScreenNetSelectMusic.cpp @@ -22,11 +22,12 @@ #include "RageLog.h" #include "ScreenPlayerOptions.h" // for SM_BackFromPlayerOptions -const AutoScreenMessage SM_NoSongs; -const AutoScreenMessage SM_ChangeSong; -const AutoScreenMessage SM_SMOnlinePack; //Unused, but should be known -const AutoScreenMessage SM_SetWheelSong; -const AutoScreenMessage SM_RefreshWheelLocation; +AutoScreenMessage( SM_NoSongs ) +AutoScreenMessage( SM_ChangeSong ) +AutoScreenMessage( SM_SMOnlinePack ) +AutoScreenMessage( SM_SetWheelSong ) +AutoScreenMessage( SM_RefreshWheelLocation ) +AutoScreenMessage( SM_SongChanged ) const CString AllGroups = "[ALL MUSIC]"; diff --git a/stepmania/src/ScreenNetworkOptions.cpp b/stepmania/src/ScreenNetworkOptions.cpp index 278f2eac8a..9abf318801 100644 --- a/stepmania/src/ScreenNetworkOptions.cpp +++ b/stepmania/src/ScreenNetworkOptions.cpp @@ -28,8 +28,8 @@ OptionRowDefinition g_NetworkOptionsLines[NUM_NETWORK_OPTIONS_LINES] = { OptionRowDefinition( "Server", true, "PRESS START" ) }; -const AutoScreenMessage SM_DoneConnecting; -const AutoScreenMessage SM_ServerNameEnter; +AutoScreenMessage( SM_DoneConnecting ) +AutoScreenMessage( SM_ServerNameEnter ) static Preference g_sLastServer( Options, "LastConnectedServer", "" ); diff --git a/stepmania/src/ScreenPackages.cpp b/stepmania/src/ScreenPackages.cpp index a02a782277..aa02d287a5 100644 --- a/stepmania/src/ScreenPackages.cpp +++ b/stepmania/src/ScreenPackages.cpp @@ -18,7 +18,7 @@ #define NUM_PACKAGES_SHOW THEME->GetMetricI(m_sName,"NumPackagesShow") #define NUM_LINKS_SHOW THEME->GetMetricI(m_sName,"NumLinksShow") -const AutoScreenMessage SM_BackFromURL; +AutoScreenMessage( SM_BackFromURL ) REGISTER_SCREEN_CLASS( ScreenPackages ); ScreenPackages::ScreenPackages( CString sClassName ) : ScreenWithMenuElements( sClassName ) diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index 480713b623..097e4a8d76 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -14,8 +14,6 @@ #include "PlayerState.h" #include "Foreach.h" -const AutoScreenMessage SM_BackFromPlayerOptions; - #define PREV_SCREEN THEME->GetMetric ("ScreenPlayerOptions","PrevScreen") #define NEXT_SCREEN THEME->GetMetric ("ScreenPlayerOptions","NextScreen") diff --git a/stepmania/src/ScreenPlayerOptions.h b/stepmania/src/ScreenPlayerOptions.h index 2eaa089bcb..957c991efb 100644 --- a/stepmania/src/ScreenPlayerOptions.h +++ b/stepmania/src/ScreenPlayerOptions.h @@ -3,7 +3,7 @@ #include "ScreenOptionsMaster.h" -extern const AutoScreenMessage SM_BackFromPlayerOptions; +AutoScreenMessage( SM_BackFromPlayerOptions ) class ScreenPlayerOptions : public ScreenOptionsMaster { diff --git a/stepmania/src/ScreenProfileOptions.cpp b/stepmania/src/ScreenProfileOptions.cpp index 029f753752..20d6cf9ac5 100644 --- a/stepmania/src/ScreenProfileOptions.cpp +++ b/stepmania/src/ScreenProfileOptions.cpp @@ -32,9 +32,9 @@ OptionRowDefinition g_ProfileOptionsLines[NUM_PROFILE_OPTIONS_LINES] = { OptionRowDefinition( "OsMountPlayer2", true, "" ), }; -const AutoScreenMessage SM_DoneCreating; -const AutoScreenMessage SM_DoneRenaming; -const AutoScreenMessage SM_DoneDeleting; +AutoScreenMessage( SM_DoneCreating ) +AutoScreenMessage( SM_DoneRenaming ) +AutoScreenMessage( SM_DoneDeleting ) REGISTER_SCREEN_CLASS( ScreenProfileOptions ); ScreenProfileOptions::ScreenProfileOptions( CString sClassName ) : ScreenOptions( sClassName ) diff --git a/stepmania/src/ScreenRanking.cpp b/stepmania/src/ScreenRanking.cpp index bc58498900..c4a1afa0a9 100644 --- a/stepmania/src/ScreenRanking.cpp +++ b/stepmania/src/ScreenRanking.cpp @@ -43,8 +43,8 @@ XToString( PageType, NUM_PAGE_TYPES ); #define COURSE_DIFFICULTY_X(col) (COURSE_DIFFICULTY_START_X+COL_SPACING_X*col) #define COURSE_SCORE_OFFSET_X(col) (COURSE_SCORE_OFFSET_START_X+COL_SPACING_X*col) -const AutoScreenMessage SM_ShowNextPage; -const AutoScreenMessage SM_HidePage; +AutoScreenMessage( SM_ShowNextPage ) +AutoScreenMessage( SM_HidePage ) static void GetAllSongsToShow( vector &vpOut ) diff --git a/stepmania/src/ScreenSMOnlineLogin.cpp b/stepmania/src/ScreenSMOnlineLogin.cpp index 723e9903d3..5cd9b7c99b 100644 --- a/stepmania/src/ScreenSMOnlineLogin.cpp +++ b/stepmania/src/ScreenSMOnlineLogin.cpp @@ -18,8 +18,10 @@ REGISTER_SCREEN_CLASS(ScreenSMOnlineLogin); #define PREV_SCREEN THEME->GetMetric (m_sName,"PrevScreen") #define NEXT_SCREEN THEME->GetMetric (m_sName,"NextScreen") -const AutoScreenMessage SM_SMOnlinePack; -const AutoScreenMessage SM_PasswordDone; + +AutoScreenMessage( SM_SMOnlinePack ) +AutoScreenMessage( SM_PasswordDone ) + OptionRowDefinition g_ProfileLine[1] = { OptionRowDefinition("Profile",false) }; diff --git a/stepmania/src/ScreenSelect.cpp b/stepmania/src/ScreenSelect.cpp index 7dfc6ba959..36e22c07ff 100644 --- a/stepmania/src/ScreenSelect.cpp +++ b/stepmania/src/ScreenSelect.cpp @@ -18,8 +18,6 @@ #include "LightsManager.h" #include "Command.h" -const AutoScreenMessage SM_AllDoneChoosing; - #define CHOICE_NAMES THEME->GetMetric (m_sName,"ChoiceNames") #define CHOICE( sChoiceName ) THEME->GetMetricM(m_sName,ssprintf("Choice%s",sChoiceName.c_str())) #define CODE_NAMES THEME->GetMetric (m_sName,"CodeNames") diff --git a/stepmania/src/ScreenSelect.h b/stepmania/src/ScreenSelect.h index d65814bf67..76e6b3d94b 100644 --- a/stepmania/src/ScreenSelect.h +++ b/stepmania/src/ScreenSelect.h @@ -9,7 +9,7 @@ #include "ThemeMetric.h" // Derived classes must send this when done -extern const AutoScreenMessage SM_AllDoneChoosing; +AutoScreenMessage( SM_AllDoneChoosing ) class ScreenSelect : public ScreenWithMenuElements { diff --git a/stepmania/src/ScreenSelectMaster.cpp b/stepmania/src/ScreenSelectMaster.cpp index 07ad67dff0..0af297d5c8 100644 --- a/stepmania/src/ScreenSelectMaster.cpp +++ b/stepmania/src/ScreenSelectMaster.cpp @@ -14,8 +14,7 @@ #include "Foreach.h" #include "RageSoundManager.h" - -const AutoScreenMessage SM_PlayPostSwitchPage; +AutoScreenMessage( SM_PlayPostSwitchPage ) CString CURSOR_OFFSET_X_FROM_ICON_NAME( size_t p, size_t part ) { return ssprintf("CursorPart%dP%dOffsetXFromIcon",int(part+1),int(p+1)); } CString CURSOR_OFFSET_Y_FROM_ICON_NAME( size_t p, size_t part ) { return ssprintf("CursorPart%dP%dOffsetYFromIcon",int(part+1),int(p+1)); } diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 3a1e68fb1f..53e9fdbec7 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -37,7 +37,10 @@ const int NUM_SCORE_DIGITS = 9; #define SCORE_SORT_CHANGE_COMMAND(i) THEME->GetMetricA(m_sName,ssprintf("ScoreP%iSortChangeCommand", i+1)) #define SCORE_FRAME_SORT_CHANGE_COMMAND(i) THEME->GetMetricA(m_sName,ssprintf("ScoreFrameP%iSortChangeCommand", i+1)) -static const AutoScreenMessage SM_AllowOptionsMenuRepeat; +AutoScreenMessage( SM_AllowOptionsMenuRepeat ) +AutoScreenMessage( SM_SongChanged ) +AutoScreenMessage( SM_SortOrderChanging ) +AutoScreenMessage( SM_SortOrderChanged ) static CString g_sCDTitlePath; static bool g_bWantFallbackCdTitle; diff --git a/stepmania/src/ScreenSongOptions.cpp b/stepmania/src/ScreenSongOptions.cpp index 9074e4535c..0baf7293c1 100644 --- a/stepmania/src/ScreenSongOptions.cpp +++ b/stepmania/src/ScreenSongOptions.cpp @@ -6,8 +6,6 @@ #include "ThemeManager.h" #include "PrefsManager.h" -const AutoScreenMessage SM_BackFromSongOptions; - #define PREV_SCREEN THEME->GetMetric ("ScreenSongOptions","PrevScreen") #define NEXT_SCREEN THEME->GetMetric ("ScreenSongOptions","NextScreen") diff --git a/stepmania/src/ScreenSongOptions.h b/stepmania/src/ScreenSongOptions.h index 9e0858695a..8ee03f10d9 100644 --- a/stepmania/src/ScreenSongOptions.h +++ b/stepmania/src/ScreenSongOptions.h @@ -3,7 +3,7 @@ #include "ScreenOptionsMaster.h" -extern const AutoScreenMessage SM_BackFromSongOptions; +AutoScreenMessage( SM_BackFromSongOptions ) class ScreenSongOptions : public ScreenOptionsMaster { diff --git a/stepmania/src/ScreenSplash.cpp b/stepmania/src/ScreenSplash.cpp index 9038793cae..9375b6adc0 100644 --- a/stepmania/src/ScreenSplash.cpp +++ b/stepmania/src/ScreenSplash.cpp @@ -3,7 +3,7 @@ #include "ThemeManager.h" #include "RageUtil.h" -const AutoScreenMessage SM_PrepScreen; +AutoScreenMessage( SM_PrepScreen ) REGISTER_SCREEN_CLASS( ScreenSplash ); diff --git a/stepmania/src/ScreenStage.cpp b/stepmania/src/ScreenStage.cpp index 5010216e4c..6de7150178 100644 --- a/stepmania/src/ScreenStage.cpp +++ b/stepmania/src/ScreenStage.cpp @@ -19,7 +19,7 @@ #define PREV_SCREEN THEME->GetMetric (m_sName,"PrevScreen") #define MINIMUM_DELAY THEME->GetMetricF(m_sName,"MinimumDelay") -const AutoScreenMessage SM_PrepScreen; +AutoScreenMessage( SM_PrepScreen ) REGISTER_SCREEN_CLASS( ScreenStage ); ScreenStage::ScreenStage( CString sClassName ) : Screen( sClassName ) diff --git a/stepmania/src/ScreenStyleSplash.cpp b/stepmania/src/ScreenStyleSplash.cpp index 607ccdfcbc..652efa1c7d 100644 --- a/stepmania/src/ScreenStyleSplash.cpp +++ b/stepmania/src/ScreenStyleSplash.cpp @@ -16,8 +16,8 @@ #define NONSTOP_SCREEN THEME->GetMetric("ScreenStyleSplash","NonstopScreen") #define ONI_SCREEN THEME->GetMetric("ScreenStyleSplash","OniScreen") -const AutoScreenMessage SM_DoneOpening; -const AutoScreenMessage SM_StartClosing; +AutoScreenMessage( SM_DoneOpening ) +AutoScreenMessage( SM_StartClosing ) REGISTER_SCREEN_CLASS( ScreenStyleSplash ); diff --git a/stepmania/src/ScreenTestFonts.cpp b/stepmania/src/ScreenTestFonts.cpp index a1bc082a51..25f34db8d8 100644 --- a/stepmania/src/ScreenTestFonts.cpp +++ b/stepmania/src/ScreenTestFonts.cpp @@ -17,7 +17,8 @@ void ChangeText(CString txt) { CustomText = txt; } -const AutoScreenMessage SM_ChangeText; + +AutoScreenMessage( SM_ChangeText ) void ScreenTestFonts::HandleScreenMessage( const ScreenMessage SM ) {