diff --git a/src/ScreenDebugOverlay.cpp b/src/ScreenDebugOverlay.cpp index 4542e5c4af..b33c472b6d 100644 --- a/src/ScreenDebugOverlay.cpp +++ b/src/ScreenDebugOverlay.cpp @@ -65,11 +65,11 @@ public: virtual ~IDebugLine() { } enum Type { all_screens, gameplay_only }; virtual Type GetType() const { return all_screens; } - virtual RString GetDisplayTitle() const = 0; - virtual RString GetDisplayValue() const { return IsEnabled() ? ON.GetValue():OFF.GetValue(); } + virtual RString GetDisplayTitle() = 0; + virtual RString GetDisplayValue() { return IsEnabled() ? ON.GetValue():OFF.GetValue(); } virtual RString GetPageName() const { return "Main"; } virtual bool ForceOffAfterUse() const { return false; } - virtual bool IsEnabled() const = 0; + virtual bool IsEnabled() = 0; virtual void DoAndLog( RString &sMessageOut ) { RString s1 = GetDisplayTitle(); @@ -574,8 +574,8 @@ static LocalizedString SYNC_TEMPO ( "ScreenDebugOverlay", "Tempo" ); class DebugLineAutoplay : public IDebugLine { - virtual RString GetDisplayTitle() const { return AUTO_PLAY.GetValue() + " (+Shift = AI) (+Alt = hide)"; } - virtual RString GetDisplayValue() const + virtual RString GetDisplayTitle() { return AUTO_PLAY.GetValue() + " (+Shift = AI) (+Alt = hide)"; } + virtual RString GetDisplayValue() { PlayerController pc = GamePreferences::m_AutoPlay.Get(); switch( pc ) @@ -588,7 +588,7 @@ class DebugLineAutoplay : public IDebugLine } } virtual Type GetType() const { return IDebugLine::gameplay_only; } - virtual bool IsEnabled() const { return GamePreferences::m_AutoPlay.Get() != PC_HUMAN; } + virtual bool IsEnabled() { return GamePreferences::m_AutoPlay.Get() != PC_HUMAN; } virtual void DoAndLog( RString &sMessageOut ) { ASSERT( GAMESTATE->GetMasterPlayerNumber() != PLAYER_INVALID ); @@ -618,9 +618,9 @@ class DebugLineAutoplay : public IDebugLine class DebugLineAssist : public IDebugLine { - virtual RString GetDisplayTitle() const { return ASSIST.GetValue(); } + virtual RString GetDisplayTitle() { return ASSIST.GetValue(); } virtual Type GetType() const { return gameplay_only; } - virtual RString GetDisplayValue() const { + virtual RString GetDisplayValue() { SongOptions so; so.m_bAssistClap = GAMESTATE->m_SongOptions.GetSong().m_bAssistClap; so.m_bAssistMetronome = GAMESTATE->m_SongOptions.GetSong().m_bAssistMetronome; @@ -629,7 +629,7 @@ class DebugLineAssist : public IDebugLine else return OFF.GetValue(); } - virtual bool IsEnabled() const { return GAMESTATE->m_SongOptions.GetSong().m_bAssistClap || GAMESTATE->m_SongOptions.GetSong().m_bAssistMetronome; } + virtual bool IsEnabled() { return GAMESTATE->m_SongOptions.GetSong().m_bAssistClap || GAMESTATE->m_SongOptions.GetSong().m_bAssistMetronome; } virtual void DoAndLog( RString &sMessageOut ) { ASSERT( GAMESTATE->GetMasterPlayerNumber() != PLAYER_INVALID ); @@ -650,8 +650,8 @@ class DebugLineAssist : public IDebugLine class DebugLineAutosync : public IDebugLine { - virtual RString GetDisplayTitle() const { return AUTOSYNC.GetValue(); } - virtual RString GetDisplayValue() const + virtual RString GetDisplayTitle() { return AUTOSYNC.GetValue(); } + virtual RString GetDisplayValue() { SongOptions::AutosyncType type = GAMESTATE->m_SongOptions.GetSong().m_AutosyncType; switch( type ) @@ -665,7 +665,7 @@ class DebugLineAutosync : public IDebugLine } } virtual Type GetType() const { return IDebugLine::gameplay_only; } - virtual bool IsEnabled() const { return GAMESTATE->m_SongOptions.GetSong().m_AutosyncType!=SongOptions::AUTOSYNC_OFF; } + virtual bool IsEnabled() { return GAMESTATE->m_SongOptions.GetSong().m_AutosyncType!=SongOptions::AUTOSYNC_OFF; } virtual void DoAndLog( RString &sMessageOut ) { int as = GAMESTATE->m_SongOptions.GetSong().m_AutosyncType + 1; @@ -682,9 +682,9 @@ class DebugLineAutosync : public IDebugLine class DebugLineCoinMode : public IDebugLine { - virtual RString GetDisplayTitle() const { return COIN_MODE.GetValue(); } - virtual RString GetDisplayValue() const { return CoinModeToString(GamePreferences::m_CoinMode); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return COIN_MODE.GetValue(); } + virtual RString GetDisplayValue() { return CoinModeToString(GamePreferences::m_CoinMode); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { int cm = GamePreferences::m_CoinMode+1; @@ -697,8 +697,8 @@ class DebugLineCoinMode : public IDebugLine class DebugLineSlow : public IDebugLine { - virtual RString GetDisplayTitle() const { return SLOW.GetValue(); } - virtual bool IsEnabled() const { return g_bIsSlow; } + virtual RString GetDisplayTitle() { return SLOW.GetValue(); } + virtual bool IsEnabled() { return g_bIsSlow; } virtual void DoAndLog( RString &sMessageOut ) { g_bIsSlow = !g_bIsSlow; @@ -709,8 +709,8 @@ class DebugLineSlow : public IDebugLine class DebugLineHalt : public IDebugLine { - virtual RString GetDisplayTitle() const { return HALT.GetValue(); } - virtual bool IsEnabled() const { return g_bIsHalt; } + virtual RString GetDisplayTitle() { return HALT.GetValue(); } + virtual bool IsEnabled() { return g_bIsHalt; } virtual void DoAndLog( RString &sMessageOut ) { g_bIsHalt = !g_bIsHalt; @@ -722,8 +722,8 @@ class DebugLineHalt : public IDebugLine class DebugLineLightsDebug : public IDebugLine { - virtual RString GetDisplayTitle() const { return LIGHTS_DEBUG.GetValue(); } - virtual bool IsEnabled() const { return PREFSMAN->m_bDebugLights.Get(); } + virtual RString GetDisplayTitle() { return LIGHTS_DEBUG.GetValue(); } + virtual bool IsEnabled() { return PREFSMAN->m_bDebugLights.Get(); } virtual void DoAndLog( RString &sMessageOut ) { PREFSMAN->m_bDebugLights.Set( !PREFSMAN->m_bDebugLights ); @@ -733,8 +733,8 @@ class DebugLineLightsDebug : public IDebugLine class DebugLineMonkeyInput : public IDebugLine { - virtual RString GetDisplayTitle() const { return MONKEY_INPUT.GetValue(); } - virtual bool IsEnabled() const { return PREFSMAN->m_bMonkeyInput.Get(); } + virtual RString GetDisplayTitle() { return MONKEY_INPUT.GetValue(); } + virtual bool IsEnabled() { return PREFSMAN->m_bMonkeyInput.Get(); } virtual void DoAndLog( RString &sMessageOut ) { PREFSMAN->m_bMonkeyInput.Set( !PREFSMAN->m_bMonkeyInput ); @@ -744,8 +744,8 @@ class DebugLineMonkeyInput : public IDebugLine class DebugLineStats : public IDebugLine { - virtual RString GetDisplayTitle() const { return RENDERING_STATS.GetValue(); } - virtual bool IsEnabled() const { return PREFSMAN->m_bShowStats.Get(); } + virtual RString GetDisplayTitle() { return RENDERING_STATS.GetValue(); } + virtual bool IsEnabled() { return PREFSMAN->m_bShowStats.Get(); } virtual void DoAndLog( RString &sMessageOut ) { PREFSMAN->m_bShowStats.Set( !PREFSMAN->m_bShowStats ); @@ -755,8 +755,8 @@ class DebugLineStats : public IDebugLine class DebugLineVsync : public IDebugLine { - virtual RString GetDisplayTitle() const { return VSYNC.GetValue(); } - virtual bool IsEnabled() const { return PREFSMAN->m_bVsync.Get(); } + virtual RString GetDisplayTitle() { return VSYNC.GetValue(); } + virtual bool IsEnabled() { return PREFSMAN->m_bVsync.Get(); } virtual void DoAndLog( RString &sMessageOut ) { PREFSMAN->m_bVsync.Set( !PREFSMAN->m_bVsync ); @@ -767,8 +767,8 @@ class DebugLineVsync : public IDebugLine class DebugLineAllowMultitexture : public IDebugLine { - virtual RString GetDisplayTitle() const { return MULTITEXTURE.GetValue(); } - virtual bool IsEnabled() const { return PREFSMAN->m_bAllowMultitexture.Get(); } + virtual RString GetDisplayTitle() { return MULTITEXTURE.GetValue(); } + virtual bool IsEnabled() { return PREFSMAN->m_bAllowMultitexture.Get(); } virtual void DoAndLog( RString &sMessageOut ) { PREFSMAN->m_bAllowMultitexture.Set( !PREFSMAN->m_bAllowMultitexture ); @@ -778,8 +778,8 @@ class DebugLineAllowMultitexture : public IDebugLine class DebugLineShowMasks : public IDebugLine { - virtual RString GetDisplayTitle() const { return SCREEN_SHOW_MASKS.GetValue(); } - virtual bool IsEnabled() const { return GetPref()->Get(); } + virtual RString GetDisplayTitle() { return SCREEN_SHOW_MASKS.GetValue(); } + virtual bool IsEnabled() { return GetPref()->Get(); } virtual RString GetPageName() const { return "Theme"; } virtual void DoAndLog( RString &sMessageOut ) { @@ -787,7 +787,7 @@ class DebugLineShowMasks : public IDebugLine IDebugLine::DoAndLog( sMessageOut ); } - Preference *GetPref() const + Preference *GetPref() { return Preference::GetPreferenceByName("ShowMasks"); } @@ -803,8 +803,8 @@ static bool IsSelectProfilePersistent() class DebugLineProfileSlot : public IDebugLine { - virtual RString GetDisplayTitle() const { return PROFILE.GetValue(); } - virtual RString GetDisplayValue() const + virtual RString GetDisplayTitle() { return PROFILE.GetValue(); } + virtual RString GetDisplayValue() { switch( g_ProfileSlot ) { @@ -814,7 +814,7 @@ class DebugLineProfileSlot : public IDebugLine default: return RString(); } } - virtual bool IsEnabled() const { return IsSelectProfilePersistent(); } + virtual bool IsEnabled() { return IsSelectProfilePersistent(); } virtual RString GetPageName() const { return "Profiles"; } virtual void DoAndLog( RString &sMessageOut ) { @@ -829,9 +829,9 @@ class DebugLineProfileSlot : public IDebugLine class DebugLineClearProfileStats : public IDebugLine { - virtual RString GetDisplayTitle() const { return CLEAR_PROFILE_STATS.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return IsSelectProfilePersistent(); } + virtual RString GetDisplayTitle() { return CLEAR_PROFILE_STATS.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return IsSelectProfilePersistent(); } virtual RString GetPageName() const { return "Profiles"; } virtual void DoAndLog( RString &sMessageOut ) { @@ -926,9 +926,9 @@ static void FillProfileStats( Profile *pProfile ) class DebugLineFillProfileStats : public IDebugLine { - virtual RString GetDisplayTitle() const { return FILL_PROFILE_STATS.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return IsSelectProfilePersistent(); } + virtual RString GetDisplayTitle() { return FILL_PROFILE_STATS.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return IsSelectProfilePersistent(); } virtual RString GetPageName() const { return "Profiles"; } virtual void DoAndLog( RString &sMessageOut ) { @@ -940,9 +940,9 @@ class DebugLineFillProfileStats : public IDebugLine class DebugLineSendNotesEnded : public IDebugLine { - virtual RString GetDisplayTitle() const { return SEND_NOTES_ENDED.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return SEND_NOTES_ENDED.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { SCREENMAN->PostMessageToTopScreen( SM_NotesEnded, 0 ); @@ -952,9 +952,9 @@ class DebugLineSendNotesEnded : public IDebugLine class DebugLineReloadCurrentScreen : public IDebugLine { - virtual RString GetDisplayTitle() const { return RELOAD.GetValue(); } - virtual RString GetDisplayValue() const { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return RELOAD.GetValue(); } + virtual RString GetDisplayValue() { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } + virtual bool IsEnabled() { return true; } virtual RString GetPageName() const { return "Theme"; } virtual void DoAndLog( RString &sMessageOut ) { @@ -972,9 +972,9 @@ class DebugLineReloadCurrentScreen : public IDebugLine class DebugLineRestartCurrentScreen : public IDebugLine { - virtual RString GetDisplayTitle() const { return RESTART.GetValue(); } - virtual RString GetDisplayValue() const { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return RESTART.GetValue(); } + virtual RString GetDisplayValue() { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } + virtual bool IsEnabled() { return true; } virtual bool ForceOffAfterUse() const { return true; } virtual RString GetPageName() const { return "Theme"; } virtual void DoAndLog( RString &sMessageOut ) @@ -987,9 +987,9 @@ class DebugLineRestartCurrentScreen : public IDebugLine class DebugLineCurrentScreenOn : public IDebugLine { - virtual RString GetDisplayTitle() const { return SCREEN_ON.GetValue(); } - virtual RString GetDisplayValue() const { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return SCREEN_ON.GetValue(); } + virtual RString GetDisplayValue() { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } + virtual bool IsEnabled() { return true; } virtual bool ForceOffAfterUse() const { return true; } virtual RString GetPageName() const { return "Theme"; } virtual void DoAndLog( RString &sMessageOut ) @@ -1002,9 +1002,9 @@ class DebugLineCurrentScreenOn : public IDebugLine class DebugLineCurrentScreenOff : public IDebugLine { - virtual RString GetDisplayTitle() const { return SCREEN_OFF.GetValue(); } - virtual RString GetDisplayValue() const { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return SCREEN_OFF.GetValue(); } + virtual RString GetDisplayValue() { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } + virtual bool IsEnabled() { return true; } virtual bool ForceOffAfterUse() const { return true; } virtual RString GetPageName() const { return "Theme"; } virtual void DoAndLog( RString &sMessageOut ) @@ -1017,9 +1017,9 @@ class DebugLineCurrentScreenOff : public IDebugLine class DebugLineReloadTheme : public IDebugLine { - virtual RString GetDisplayTitle() const { return RELOAD_THEME_AND_TEXTURES.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return RELOAD_THEME_AND_TEXTURES.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return true; } virtual RString GetPageName() const { return "Theme"; } virtual void DoAndLog( RString &sMessageOut ) { @@ -1035,9 +1035,9 @@ class DebugLineReloadTheme : public IDebugLine class DebugLineWriteProfiles : public IDebugLine { - virtual RString GetDisplayTitle() const { return WRITE_PROFILES.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return IsSelectProfilePersistent(); } + virtual RString GetDisplayTitle() { return WRITE_PROFILES.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return IsSelectProfilePersistent(); } virtual RString GetPageName() const { return "Profiles"; } virtual void DoAndLog( RString &sMessageOut ) { @@ -1057,9 +1057,9 @@ class DebugLineWriteProfiles : public IDebugLine class DebugLineWritePreferences : public IDebugLine { - virtual RString GetDisplayTitle() const { return WRITE_PREFERENCES.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return WRITE_PREFERENCES.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { PREFSMAN->SavePrefsToDisk(); @@ -1069,9 +1069,9 @@ class DebugLineWritePreferences : public IDebugLine class DebugLineMenuTimer : public IDebugLine { - virtual RString GetDisplayTitle() const { return MENU_TIMER.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return PREFSMAN->m_bMenuTimer.Get(); } + virtual RString GetDisplayTitle() { return MENU_TIMER.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return PREFSMAN->m_bMenuTimer.Get(); } virtual void DoAndLog( RString &sMessageOut ) { PREFSMAN->m_bMenuTimer.Set( !PREFSMAN->m_bMenuTimer ); @@ -1081,9 +1081,9 @@ class DebugLineMenuTimer : public IDebugLine class DebugLineFlushLog : public IDebugLine { - virtual RString GetDisplayTitle() const { return FLUSH_LOG.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return FLUSH_LOG.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { LOG->Flush(); @@ -1093,9 +1093,9 @@ class DebugLineFlushLog : public IDebugLine class DebugLinePullBackCamera : public IDebugLine { - virtual RString GetDisplayTitle() const { return PULL_BACK_CAMERA.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return g_fImageScaleDestination != 1; } + virtual RString GetDisplayTitle() { return PULL_BACK_CAMERA.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return g_fImageScaleDestination != 1; } virtual void DoAndLog( RString &sMessageOut ) { if( g_fImageScaleDestination == 1 ) @@ -1108,15 +1108,15 @@ class DebugLinePullBackCamera : public IDebugLine class DebugLineVolumeUp : public IDebugLine { - virtual RString GetDisplayTitle() const { return VOLUME_UP.GetValue(); } - virtual RString GetDisplayValue() const { return ssprintf("%.0f%%", GetPref()->Get()*100); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return VOLUME_UP.GetValue(); } + virtual RString GetDisplayValue() { return ssprintf("%.0f%%", GetPref()->Get()*100); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { ChangeVolume( +0.1f ); IDebugLine::DoAndLog( sMessageOut ); } - Preference *GetPref() const + Preference *GetPref() { return Preference::GetPreferenceByName("SoundVolume"); } @@ -1124,9 +1124,9 @@ class DebugLineVolumeUp : public IDebugLine class DebugLineVolumeDown : public IDebugLine { - virtual RString GetDisplayTitle() const { return VOLUME_DOWN.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return VOLUME_DOWN.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { ChangeVolume( -0.1f ); @@ -1141,15 +1141,15 @@ class DebugLineVolumeDown : public IDebugLine class DebugLineVisualDelayUp : public IDebugLine { - virtual RString GetDisplayTitle() const { return VISUAL_DELAY_UP.GetValue(); } - virtual RString GetDisplayValue() const { return ssprintf("%.03f",GetPref()->Get()); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return VISUAL_DELAY_UP.GetValue(); } + virtual RString GetDisplayValue() { return ssprintf("%.03f",GetPref()->Get()); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { ChangeVisualDelay( +0.001f ); IDebugLine::DoAndLog( sMessageOut ); } - Preference *GetPref() const + Preference *GetPref() { return Preference::GetPreferenceByName("VisualDelaySeconds"); } @@ -1157,9 +1157,9 @@ class DebugLineVisualDelayUp : public IDebugLine class DebugLineVisualDelayDown : public IDebugLine { - virtual RString GetDisplayTitle() const { return VISUAL_DELAY_DOWN.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return true; } + virtual RString GetDisplayTitle() { return VISUAL_DELAY_DOWN.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return true; } virtual void DoAndLog( RString &sMessageOut ) { ChangeVisualDelay( -0.001f ); @@ -1174,17 +1174,17 @@ class DebugLineVisualDelayDown : public IDebugLine class DebugLineForceCrash : public IDebugLine { - virtual RString GetDisplayTitle() const { return FORCE_CRASH.GetValue(); } - virtual RString GetDisplayValue() const { return RString(); } - virtual bool IsEnabled() const { return false; } + virtual RString GetDisplayTitle() { return FORCE_CRASH.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return false; } virtual void DoAndLog( RString &sMessageOut ) { FAIL_M("DebugLineCrash"); } }; class DebugLineUptime : public IDebugLine { - virtual RString GetDisplayTitle() const { return UPTIME.GetValue(); } - virtual RString GetDisplayValue() const { return SecondsToMMSSMsMsMs(RageTimer::GetTimeSinceStart()); } - virtual bool IsEnabled() const { return false; } + virtual RString GetDisplayTitle() { return UPTIME.GetValue(); } + virtual RString GetDisplayValue() { return SecondsToMMSSMsMsMs(RageTimer::GetTimeSinceStart()); } + virtual bool IsEnabled() { return false; } virtual void DoAndLog( RString &sMessageOut ) {} };