diff --git a/Docs/Changelog_language.txt b/Docs/Changelog_language.txt index a6eddeda8d..4a0812b871 100644 --- a/Docs/Changelog_language.txt +++ b/Docs/Changelog_language.txt @@ -16,6 +16,10 @@ Example: This means that three strings were added to the "ScreenDebugOverlay" section, "Mute actions", "Mute actions on", and "Mute actions off". +2015/07/09 +---------- +* [ScreenDebugOverlay] Show Recent Errors + 2015/06/14 ---------- * [ScreenTitleMenu] Hardest Timing diff --git a/Themes/_fallback/BGAnimations/ScreenSystemLayer error.lua b/Themes/_fallback/BGAnimations/ScreenSystemLayer error.lua index b30fc7429f..6772731280 100644 --- a/Themes/_fallback/BGAnimations/ScreenSystemLayer error.lua +++ b/Themes/_fallback/BGAnimations/ScreenSystemLayer error.lua @@ -3,10 +3,6 @@ -- If you include this file in your theme, you will not benefit from any improvements in error reporting. -- If you want to adjust how long errors stay on screen for, call the "SetErrorMessageTime" function. (see usage notes in comments above that function) -if PREFSMAN:GetPreference("IgnoredDialogs") ~= "" then - return Def.Actor{} -end - local line_height= 12 -- A good line height for Common Normal at .5 zoom. local min_message_time= {show= 1, hide= .03125} diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 1c10213508..77633a2ffe 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1505,6 +1505,7 @@ Send Off To Screen=Send Off To Screen Send On To Screen=Send On To Screen Send Notes Ended=Send Notes Ended Show Masks=Show Masks +Show Recent Errors=Show Recent Errors Slow=Slow Song=Song Tempo=Tempo diff --git a/Themes/_fallback/Scripts/04 LogDisplay.lua b/Themes/_fallback/Scripts/04 LogDisplay.lua index 33d67cc937..2226d7e6bb 100644 --- a/Themes/_fallback/Scripts/04 LogDisplay.lua +++ b/Themes/_fallback/Scripts/04 LogDisplay.lua @@ -144,7 +144,8 @@ local log_display_mt= { end end, [name_mess]= function(subself, mess) - if PREFSMAN:GetPreference("IgnoredDialogs") ~= "" then + if not PREFSMAN:GetPreference("ShowThemeErrors") + and self.name == "ScriptError" then subself:visible(false) return end diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 590764644b..a99ccf5737 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -425,7 +425,7 @@ list(APPEND SMDATA_LINK_LIB ) if (NOT SYSTEM_PCRE_FOUND) - list(INSERT SMDATA_LINK_LIB 8 "pcre") + list(APPEND SMDATA_LINK_LIB "pcre") endif() if (WIN32) diff --git a/src/LuaManager.cpp b/src/LuaManager.cpp index 2b8bd94d9c..0051305b47 100644 --- a/src/LuaManager.cpp +++ b/src/LuaManager.cpp @@ -815,7 +815,7 @@ Dialog::Result LuaHelpers::ReportScriptError(RString const& Error, RString Error RString with_correct= Error + " Correct this and click Retry, or Cancel to break."; return Dialog::AbortRetryIgnore(with_correct, ErrorType); } - Dialog::OK(Error, ErrorType); + //Dialog::OK(Error, ErrorType); return Dialog::ok; } diff --git a/src/PrefsManager.cpp b/src/PrefsManager.cpp index 45275328ab..9838a349dd 100644 --- a/src/PrefsManager.cpp +++ b/src/PrefsManager.cpp @@ -308,7 +308,8 @@ PrefsManager::PrefsManager() : m_bLogSkips ( "LogSkips", false ), m_bLogCheckpoints ( "LogCheckpoints", false ), m_bShowLoadingWindow ( "ShowLoadingWindow", true ), - m_bPseudoLocalize ( "PseudoLocalize", false ) + m_bPseudoLocalize ( "PseudoLocalize", false ), + m_show_theme_errors("ShowThemeErrors", false) #if !defined(WITHOUT_NETWORKING) , diff --git a/src/PrefsManager.h b/src/PrefsManager.h index f710a1c2dd..be5020846b 100644 --- a/src/PrefsManager.h +++ b/src/PrefsManager.h @@ -314,6 +314,7 @@ public: Preference m_bLogCheckpoints; Preference m_bShowLoadingWindow; Preference m_bPseudoLocalize; + Preference m_show_theme_errors; #if !defined(WITHOUT_NETWORKING) Preference m_bEnableScoreboard; //Alows disabling of scoreboard in network play diff --git a/src/ScreenDebugOverlay.cpp b/src/ScreenDebugOverlay.cpp index f69abe43f6..33f82cbc1b 100644 --- a/src/ScreenDebugOverlay.cpp +++ b/src/ScreenDebugOverlay.cpp @@ -564,6 +564,7 @@ static LocalizedString SCREEN_ON ( "ScreenDebugOverlay", "Send On To Screen" ); static LocalizedString SCREEN_OFF ( "ScreenDebugOverlay", "Send Off To Screen" ); static LocalizedString RELOAD_OVERLAY_SCREENS( "ScreenDebugOverlay", "Reload Overlay Screens" ); static LocalizedString TOGGLE_ERRORS( "ScreenDebugOverlay", "Toggle Errors" ); +static LocalizedString SHOW_RECENT_ERRORS("ScreenDebugOverlay", "Show Recent Errors"); static LocalizedString CLEAR_ERRORS( "ScreenDebugOverlay", "Clear Errors" ); static LocalizedString CONVERT_XML( "ScreenDebugOverlay", "Convert XML" ); static LocalizedString RELOAD_THEME_AND_TEXTURES( "ScreenDebugOverlay", "Reload Theme and Textures" ); @@ -1093,6 +1094,19 @@ class DebugLineToggleErrors : public IDebugLine { virtual RString GetDisplayTitle() { return TOGGLE_ERRORS.GetValue(); } virtual RString GetDisplayValue() { return RString(); } + virtual bool IsEnabled() { return PREFSMAN->m_show_theme_errors; } + virtual RString GetPageName() const { return "Theme"; } + virtual void DoAndLog( RString &sMessageOut ) + { + PREFSMAN->m_show_theme_errors.Set(!PREFSMAN->m_show_theme_errors); + IDebugLine::DoAndLog(sMessageOut); + } +}; + +class DebugLineShowRecentErrors : public IDebugLine +{ + virtual RString GetDisplayTitle() { return SHOW_RECENT_ERRORS.GetValue(); } + virtual RString GetDisplayValue() { return RString(); } virtual bool IsEnabled() { return true; } virtual RString GetPageName() const { return "Theme"; } virtual void DoAndLog( RString &sMessageOut ) @@ -1318,6 +1332,7 @@ DECLARE_ONE( DebugLineCurrentScreenOff ); DECLARE_ONE( DebugLineReloadTheme ); DECLARE_ONE( DebugLineReloadOverlayScreens ); DECLARE_ONE( DebugLineToggleErrors ); +DECLARE_ONE( DebugLineShowRecentErrors ); DECLARE_ONE( DebugLineClearErrors ); DECLARE_ONE( DebugLineConvertXML ); DECLARE_ONE( DebugLineWriteProfiles );