diff --git a/data/advanced_preferences.cfg b/data/advanced_preferences.cfg index d8614cf5bddd2..db153d05a7f9a 100644 --- a/data/advanced_preferences.cfg +++ b/data/advanced_preferences.cfg @@ -185,6 +185,15 @@ [/advanced_preference] #ifdef __UNUSED__ +[advanced_preference] + field=show_deprecation + # TODO: Add translation marks and enable this after 1.14 + name="Show deprecation messages in-game" + description="Show warnings about deprecated API in the in-game chat area. These messages will still be shown in the log, even if this is disabled. In addition, the deprecation log-domain controls how many messages are printed." + type=boolean + default=no +[/advanced_preference] + [advanced_preference] field=joystick_support_enabled name= _ "Joystick support" diff --git a/src/deprecation.cpp b/src/deprecation.cpp index c9d7f86ff83b7..a30f106b0ee4e 100644 --- a/src/deprecation.cpp +++ b/src/deprecation.cpp @@ -19,6 +19,7 @@ #include "tstring.hpp" #include "game_config.hpp" #include "version.hpp" +#include "preferences/general.hpp" // Set the default severity with the second parameter. // -1 means the default is to never log on this domain. @@ -61,11 +62,12 @@ std::string deprecated_message(const std::string& elem_name, int level, const ve message += "\n "; message += detail; } - // TODO: Decide when to dump to wml_error() if(log_ptr && !log_ptr->dont_log(log_deprecate)) { const lg::logger& out_log = *log_ptr; out_log(log_deprecate) << message << '\n'; - //lg::wml_error() << message << '\n'; + if(preferences::get("show_deprecation", false)) { + lg::wml_error() << message << '\n'; + } } return message; } \ No newline at end of file