From 257c122b63ebd0b5e6fae83df57e5c643019b0f6 Mon Sep 17 00:00:00 2001 From: jugeeya <jugeeya@live.com> Date: Wed, 19 Aug 2020 22:29:09 -0700 Subject: [PATCH] use checkmarks for booleans --- TrainingModpackOverlay/include/taunt_toggles.hpp | 7 +++++++ .../include/value_list_item.hpp | 2 +- TrainingModpackOverlay/source/gui_main.cpp | 15 ++++----------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/TrainingModpackOverlay/include/taunt_toggles.hpp b/TrainingModpackOverlay/include/taunt_toggles.hpp index 44d1ea4..9236799 100644 --- a/TrainingModpackOverlay/include/taunt_toggles.hpp +++ b/TrainingModpackOverlay/include/taunt_toggles.hpp @@ -7,6 +7,13 @@ #include "cpp_utils.hpp" const std::vector<std::string> on_off{"Off", "On"}; +// clang-format off +#define ENUM_CLASS_OnOffFlag(type,x) \ + x(type,On,"On") \ + x(type,Off,"Off") + +// clang-format on +DEFINE_ENUM_CLASS(OnOffFlag); // Frame Advantage const std::vector<std::string> frame_advantage_items{""}; diff --git a/TrainingModpackOverlay/include/value_list_item.hpp b/TrainingModpackOverlay/include/value_list_item.hpp index ebabe78..44634cc 100644 --- a/TrainingModpackOverlay/include/value_list_item.hpp +++ b/TrainingModpackOverlay/include/value_list_item.hpp @@ -98,7 +98,7 @@ private: public: BitFlagToggleListItem(const std::string& text, T mask, FlagType* value) - : tsl::elm::ToggleListItem(text, (mask & *value) != 0), m_mask(mask), m_value(value) + : tsl::elm::ToggleListItem(text, (mask & *value) != 0, "\uE14B", "\uE14C"), m_mask(mask), m_value(value) { setStateChangedListener([this](bool v) { if(v) diff --git a/TrainingModpackOverlay/source/gui_main.cpp b/TrainingModpackOverlay/source/gui_main.cpp index c343d9a..f788ca5 100644 --- a/TrainingModpackOverlay/source/gui_main.cpp +++ b/TrainingModpackOverlay/source/gui_main.cpp @@ -7,7 +7,7 @@ static struct TrainingModpackMenu { - int HITBOX_VIS = true; + OnOffFlags HITBOX_VIS = OnOffFlag::On; Directions DI_STATE = Directions::None; Directions SDI_STATE = Directions::None; Directions LEFT_STICK = Directions::None; @@ -19,7 +19,7 @@ static struct TrainingModpackMenu DefensiveFlags DEFENSIVE_STATE = DefensiveFlags::All; DelayFlags OOS_OFFSET = DelayFlags::None; DelayFlags REACTION_TIME = DelayFlags::None; - int MASH_IN_NEUTRAL = false; + OnOffFlags MASH_IN_NEUTRAL = OnOffFlags::None; BoolFlags FAST_FALL = BoolFlags::None; DelayFlags FAST_FALL_DELAY = DelayFlags::None; BoolFlags FALLING_AERIALS = BoolFlags::None; @@ -372,11 +372,7 @@ tsl::elm::Element* GuiMain::createUI() list->addItem(createBitFlagOption(&menu.MASH_STATE, "Mash Toggles", mash_help, this)); list->addItem(createBitFlagOption(&menu.FOLLOW_UP, "Followup Toggles", follow_up_help, this)); - - ValueListItem* mashNeutralItem = - new ValueListItem("Mash In Neutral", on_off, &menu.MASH_IN_NEUTRAL, "mash_neutral", mash_neutral_help); - list->addItem(mashNeutralItem); - valueListItems.push_back(mashNeutralItem); + list->addItem(new BitFlagToggleListItem<OnOffFlags::Type>("Mash In Neutral", OnOffFlag::On, &menu.MASH_IN_NEUTRAL)); list->addItem(new tsl::elm::CategoryHeader("Left Stick", true)); @@ -426,10 +422,7 @@ tsl::elm::Element* GuiMain::createUI() list->addItem(new tsl::elm::CategoryHeader("Miscellaneous", true)); - ValueListItem* hitboxItem = - new ValueListItem("Hitbox Visualization", on_off, &menu.HITBOX_VIS, "hitbox", hitbox_help); - list->addItem(hitboxItem); - valueListItems.push_back(hitboxItem); + list->addItem(new BitFlagToggleListItem<OnOffFlags::Type>("Hitbox Visualization", OnOffFlag::On, &menu.HITBOX_VIS)); ClickableListItem* saveStateItem = new ClickableListItem( "Save States", empty_items, nullptr, "saveStates", 0, "Save States", save_states_help);