diff --git a/src/game_events/manager.cpp b/src/game_events/manager.cpp index 4fd7ff4a5ac7..4e99a12cc930 100644 --- a/src/game_events/manager.cpp +++ b/src/game_events/manager.cpp @@ -132,11 +132,14 @@ void manager::add_events(const config::const_child_itors& cfgs, const std::strin } } -void manager::write_events(config& cfg) const +void manager::write_events(config& cfg, bool strict) const { for(const handler_ptr& eh : event_handlers_->get_active()) { if(eh && !eh->is_menu_item()) { - assert(!eh->disabled()); + if(strict) { + assert(!eh->disabled()); + } + cfg.add_child("event", eh->get_config());; } } diff --git a/src/game_events/manager.hpp b/src/game_events/manager.hpp index af2e39f3eae0..20bc0e37dfa3 100644 --- a/src/game_events/manager.hpp +++ b/src/game_events/manager.hpp @@ -68,7 +68,7 @@ class manager void add_events(const config::const_child_itors& cfgs, const std::string& type = std::string()); - void write_events(config& cfg) const; + void write_events(config& cfg, bool strict = true) const; using event_func_t = std::function; void execute_on_events(const std::string& event_id, event_func_t func); diff --git a/src/gui/dialogs/gamestate_inspector.cpp b/src/gui/dialogs/gamestate_inspector.cpp index f63db1ffe794..ee9f64341fa0 100644 --- a/src/gui/dialogs/gamestate_inspector.cpp +++ b/src/gui/dialogs/gamestate_inspector.cpp @@ -509,7 +509,7 @@ const display_context& single_mode_controller::dc() const { event_mode_controller::event_mode_controller(gamestate_inspector::controller& c) : single_mode_controller(c) { - single_mode_controller::events().write_events(events); + single_mode_controller::events().write_events(events, false); } void variable_mode_controller::show_list(tree_view_node& node)