From 031d25cdfa56f67aa7796a6e07bbc4e18788ceea Mon Sep 17 00:00:00 2001 From: praydog Date: Sun, 17 Dec 2023 13:40:10 -0800 Subject: [PATCH] UObjectHook: Add "Enabled at Startup" option --- src/mods/UObjectHook.cpp | 5 +++++ src/mods/UObjectHook.hpp | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/mods/UObjectHook.cpp b/src/mods/UObjectHook.cpp index f8ad3082..b76a123e 100644 --- a/src/mods/UObjectHook.cpp +++ b/src/mods/UObjectHook.cpp @@ -232,6 +232,10 @@ void UObjectHook::on_config_load(const utility::Config& cfg, bool set_defaults) for (IModValue& option : m_options) { option.config_load(cfg, set_defaults); } + + if (!set_defaults && m_enabled_at_startup->value()) { + m_wants_activate = true; + } } void UObjectHook::on_config_save(utility::Config& cfg) { @@ -1507,6 +1511,7 @@ void UObjectHook::on_draw_sidebar_entry(std::string_view in_entry) { } void UObjectHook::draw_config() { + m_enabled_at_startup->draw("Enabled at Startup"); m_attach_lerp_enabled->draw("Enable Attach Lerp"); m_attach_lerp_speed->draw("Attach Lerp Speed"); } diff --git a/src/mods/UObjectHook.hpp b/src/mods/UObjectHook.hpp index a521ebc7..04d61e3b 100644 --- a/src/mods/UObjectHook.hpp +++ b/src/mods/UObjectHook.hpp @@ -383,10 +383,12 @@ class UObjectHook : public Mod { std::vector> deserialize_all_persistent_properties() const; private: + ModToggle::Ptr m_enabled_at_startup{ModToggle::create(generate_name("EnabledAtStartup"), false)}; ModToggle::Ptr m_attach_lerp_enabled{ModToggle::create(generate_name("AttachLerpEnabled"), true)}; ModSlider::Ptr m_attach_lerp_speed{ModSlider::create(generate_name("AttachLerpSpeed"), 0.01f, 30.0f, 15.0f)}; ValueList m_options{ + *m_enabled_at_startup, *m_attach_lerp_enabled, *m_attach_lerp_speed };