From 9d4c2ecada4565df4f01a9be2708c7006ccd7846 Mon Sep 17 00:00:00 2001 From: GreenComfyTea Date: Sun, 31 Jul 2022 16:31:10 +0300 Subject: [PATCH] Add Customization Entities --- .../ailment_buildups_customization.lua | 270 ++++++++++++++ .../Customizations/ailments_customization.lua | 352 ++++++++++++++++++ .../UI/Customizations/bar_customization.lua | 178 +++++++++ .../body_parts_customization.lua | 345 +++++++++++++++++ .../Customizations/health_customization.lua | 77 ++++ .../UI/Customizations/label_customization.lua | 97 +++++ .../large_monster_UI_customization.lua | 169 +++++++++ .../UI/Customizations/line_customization.lua | 82 ++++ .../UI/Customizations/rage_customization.lua | 80 ++++ .../Customizations/stamina_customization.lua | 80 ++++ 10 files changed, 1730 insertions(+) create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/ailment_buildups_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/ailments_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/bar_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/body_parts_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/health_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/label_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/large_monster_UI_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/line_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/rage_customization.lua create mode 100644 reframework/autorun/MHR_Overlay/UI/Customizations/stamina_customization.lua diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/ailment_buildups_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/ailment_buildups_customization.lua new file mode 100644 index 0000000..dec1a0d --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/ailment_buildups_customization.lua @@ -0,0 +1,270 @@ +local ailment_buildups_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; +local label_customization; +local bar_customization; + +function ailment_buildups_customization.draw(cached_config) + local changed = false; + local config_changed = false; + + if imgui.tree_node(language.current_language.customization_menu.ailment_buildups) then + changed, cached_config.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.player_spacing) then + changed, cached_config.player_spacing.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.player_spacing.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.player_spacing.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.player_spacing.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.ailment_spacing) then + changed, cached_config.ailment_spacing.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.ailment_spacing.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.ailment_spacing.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.ailment_spacing.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.settings) then + changed, index = imgui.combo( + language.current_language.customization_menu.highlighted_bar, + table_helpers.find_index(customization_menu.highlighted_buildup_bar_types, cached_config.settings.highlighted_bar), + customization_menu.displayed_highlighted_buildup_bar_types); + + config_changed = config_changed or changed; + + if changed then + cached_config.settings.highlighted_bar = customization_menu.highlighted_buildup_bar_types[index]; + end + + changed, index = imgui.combo( + language.current_language.customization_menu.buildup_bars_are_relative_to, + table_helpers.find_index(customization_menu.displayed_buildup_bar_relative_types, cached_config.settings.buildup_bar_relative_to), + customization_menu.displayed_buildup_bar_relative_types); + + config_changed = config_changed or changed; + + if changed then + cached_config.settings.buildup_bar_relative_to = customization_menu.displayed_buildup_bar_relative_types[index]; + end + + changed, cached_config.settings.time_limit = imgui.drag_float( + language.current_language.customization_menu.time_limit, cached_config.settings.time_limit, 0.1, 0, 99999, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.sorting) then + changed, index = imgui.combo( + language.current_language.customization_menu.type, + table_helpers.find_index(customization_menu.ailment_buildups_sorting_types, cached_config.sorting.type), + customization_menu.displayed_ailment_buildups_sorting_types); + + config_changed = config_changed or changed; + + if changed then + cached_config.sorting.type = customization_menu.ailment_buildups_sorting_types[index]; + end + + changed, cached_config.sorting.reversed_order = imgui.checkbox( + language.current_language.customization_menu.reversed_order, cached_config.sorting.reversed_order); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.filter) then + changed, cached_config.filter.stun = imgui.checkbox( + language.current_language.ailments.stun, cached_config.filter.stun); + + config_changed = config_changed or changed; + + changed, cached_config.filter.poison = imgui.checkbox( + language.current_language.ailments.poison, cached_config.filter.poison); + + config_changed = config_changed or changed; + + changed, cached_config.filter.blast = imgui.checkbox( + language.current_language.ailments.blast, cached_config.filter.blast); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.ailment_name_label) then + changed, cached_config.ailment_name_label.visibility = + imgui.checkbox(language.current_language.customization_menu.visible, + cached_config.ailment_name_label.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.include) then + changed, cached_config.ailment_name_label.include.ailment_name = imgui.checkbox( + language.current_language.customization_menu.ailment_name, + cached_config.ailment_name_label.include.ailment_name); + + config_changed = config_changed or changed; + + changed, cached_config.ailment_name_label.include.activation_count = imgui.checkbox( + language.current_language.customization_menu.activation_count, + cached_config.ailment_name_label.include.activation_count); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.ailment_name_label.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.ailment_name_label.offset.x, + 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.ailment_name_label.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.ailment_name_label.offset.y, + 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.ailment_name_label.color = imgui.color_picker_argb( + "", cached_config.ailment_name_label.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, cached_config.ailment_name_label.shadow.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.ailment_name_label.shadow.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.ailment_name_label.shadow.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.ailment_name_label.shadow.offset.x, + 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.ailment_name_label.shadow.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.ailment_name_label.shadow.offset.y, + 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.ailment_name_label.shadow.color = imgui.color_picker_argb( + "", cached_config.ailment_name_label.shadow.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.player_name_label, cached_config.player_name_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.buildup_value_label, cached_config.buildup_value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.buildup_percentage_label, cached_config.buildup_percentage_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.total_buildup_label, cached_config.total_buildup_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.total_buildup_value_label, cached_config.total_buildup_value_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.buildup_bar, cached_config.buildup_bar); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.highlighted_buildup_bar, cached_config.highlighted_buildup_bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + return config_changed; +end + +function ailment_buildups_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + + label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); + bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); +end + +return ailment_buildups_customization; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/ailments_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/ailments_customization.lua new file mode 100644 index 0000000..58e36f8 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/ailments_customization.lua @@ -0,0 +1,352 @@ +local ailments_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; +local label_customization; +local bar_customization; + +function ailments_customization.draw(cached_config) + local changed = false; + local config_changed = false; + + if imgui.tree_node(language.current_language.customization_menu.ailments) then + changed, cached_config.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.relative_offset) then + changed, cached_config.relative_offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.relative_offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.relative_offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.relative_offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.spacing) then + changed, cached_config.spacing.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.spacing.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.spacing.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.spacing.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.settings) then + changed, cached_config.settings.hide_ailments_with_zero_buildup = imgui.checkbox( + language.current_language.customization_menu.hide_ailments_with_zero_buildup, cached_config.settings.hide_ailments_with_zero_buildup); + + config_changed = config_changed or changed; + + changed, cached_config.settings.hide_inactive_ailments_with_no_buildup_support = imgui.checkbox( + language.current_language.customization_menu.hide_inactive_ailments_with_no_buildup_support, + cached_config.settings.hide_inactive_ailments_with_no_buildup_support); + + config_changed = config_changed or changed; + + changed, cached_config.settings.hide_all_inactive_ailments = imgui.checkbox( + language.current_language.customization_menu.hide_all_inactive_ailments, cached_config.settings.hide_all_inactive_ailments); + + config_changed = config_changed or changed; + + changed, cached_config.settings.hide_all_active_ailments = imgui.checkbox( + language.current_language.customization_menu.hide_all_active_ailments, cached_config.settings.hide_all_active_ailments); + + config_changed = config_changed or changed; + + changed, cached_config.settings.hide_disabled_ailments = imgui.checkbox( + language.current_language.customization_menu.hide_disabled_ailments, cached_config.settings.hide_disabled_ailments); + + config_changed = config_changed or changed; + + changed, cached_config.settings.offset_is_relative_to_parts = imgui.checkbox( + language.current_language.customization_menu.offset_is_relative_to_parts, cached_config.settings.offset_is_relative_to_parts); + + config_changed = config_changed or changed; + + changed, cached_config.settings.time_limit = imgui.drag_float( + language.current_language.customization_menu.time_limit, cached_config.settings.time_limit, 0.1, 0, 99999, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.sorting) then + changed, index = imgui.combo( + language.current_language.customization_menu.type, + table_helpers.find_index(customization_menu.ailments_sorting_types, cached_config.sorting.type), + customization_menu.displayed_ailments_sorting_types); + + config_changed = config_changed or changed; + + if changed then + cached_config.sorting.type = customization_menu.ailments_sorting_types[index]; + end + + changed, cached_config.sorting.reversed_order = imgui.checkbox( + language.current_language.customization_menu.reversed_order, cached_config.sorting.reversed_order); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.filter) then + changed, cached_config.filter.paralysis = imgui.checkbox( + language.current_language.ailments.paralysis, cached_config.filter.paralysis); + + config_changed = config_changed or changed; + + changed, cached_config.filter.sleep = imgui.checkbox( + language.current_language.ailments.sleep, cached_config.filter.sleep); + + config_changed = config_changed or changed; + + changed, cached_config.filter.stun = imgui.checkbox( + language.current_language.ailments.stun, cached_config.filter.stun); + + config_changed = config_changed or changed; + + changed, cached_config.filter.flash = imgui.checkbox( + language.current_language.ailments.flash, cached_config.filter.flash); + + config_changed = config_changed or changed; + + changed, cached_config.filter.poison = imgui.checkbox( + language.current_language.ailments.poison, cached_config.filter.poison); + + config_changed = config_changed or changed; + + changed, cached_config.filter.blast = imgui.checkbox( + language.current_language.ailments.blast, cached_config.filter.blast); + + config_changed = config_changed or changed; + + changed, cached_config.filter.exhaust = imgui.checkbox( + language.current_language.ailments.exhaust, cached_config.filter.exhaust); + + config_changed = config_changed or changed; + + changed, cached_config.filter.ride = imgui.checkbox( + language.current_language.ailments.ride, cached_config.filter.ride); + + config_changed = config_changed or changed; + + changed, cached_config.filter.waterblight = imgui.checkbox( + language.current_language.ailments.waterblight, cached_config.filter.waterblight); + + config_changed = config_changed or changed; + + changed, cached_config.filter.fireblight = imgui.checkbox( + language.current_language.ailments.fireblight, cached_config.filter.fireblight); + + config_changed = config_changed or changed; + + changed, cached_config.filter.iceblight = imgui.checkbox( + language.current_language.ailments.iceblight, cached_config.filter.iceblight); + + config_changed = config_changed or changed; + + changed, cached_config.filter.thunderblight = imgui.checkbox( + language.current_language.ailments.thunderblight, cached_config.filter.thunderblight); + + config_changed = config_changed or changed; + + changed, cached_config.filter.fall_trap = imgui.checkbox( + language.current_language.ailments.fall_trap, cached_config.filter.fall_trap); + + config_changed = config_changed or changed; + + changed, cached_config.filter.shock_trap = imgui.checkbox( + language.current_language.ailments.shock_trap, cached_config.filter.shock_trap); + + config_changed = config_changed or changed; + + changed, cached_config.filter.tranq_bomb = imgui.checkbox( + language.current_language.ailments.tranq_bomb, cached_config.filter.tranq_bomb); + + config_changed = config_changed or changed; + + changed, cached_config.filter.dung_bomb = imgui.checkbox( + language.current_language.ailments.dung_bomb, cached_config.filter.dung_bomb); + + config_changed = config_changed or changed; + + changed, cached_config.filter.steel_fang = imgui.checkbox( + language.current_language.ailments.steel_fang, cached_config.filter.steel_fang); + + config_changed = config_changed or changed; + + changed, cached_config.filter.quick_sand = imgui.checkbox( + language.current_language.ailments.quick_sand, cached_config.filter.quick_sand); + + config_changed = config_changed or changed; + + changed, cached_config.filter.fall_otomo_trap = imgui.checkbox( + language.current_language.ailments.fall_otomo_trap, cached_config.filter.fall_otomo_trap); + + config_changed = config_changed or changed; + + changed, cached_config.filter.shock_otomo_trap = imgui.checkbox( + language.current_language.ailments.shock_otomo_trap, cached_config.filter.shock_otomo_trap); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.ailment_name_label) then + changed, cached_config.ailment_name_label.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.ailment_name_label.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.include) then + changed, cached_config.ailment_name_label.include.ailment_name = imgui.checkbox( + language.current_language.customization_menu.ailment_name, cached_config.ailment_name_label.include.ailment_name); + + config_changed = config_changed or changed; + + changed, cached_config.ailment_name_label.include.activation_count = imgui.checkbox( + language.current_language.customization_menu.activation_count, cached_config.ailment_name_label.include.activation_count); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.ailment_name_label.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.ailment_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.ailment_name_label.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.ailment_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.ailment_name_label.color = imgui.color_picker_argb( + "", cached_config.ailment_name_label.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, cached_config.ailment_name_label.shadow.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.ailment_name_label.shadow.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.ailment_name_label.shadow.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.ailment_name_label.shadow.offset.x, + 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.ailment_name_label.shadow.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.ailment_name_label.shadow.offset.y, + 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.ailment_name_label.shadow.color = imgui.color_picker_argb( + "", cached_config.ailment_name_label.shadow.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.text_label, cached_config.text_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.value_label, cached_config.value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.percentage_label, cached_config.percentage_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.timer_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + return config_changed; +end + +function ailments_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); + bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); +end + +return ailments_customization; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/bar_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/bar_customization.lua new file mode 100644 index 0000000..5eecb71 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/bar_customization.lua @@ -0,0 +1,178 @@ +local bar_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; +local line_customization; + +function bar_customization.draw(bar_name, bar) + if bar == nil then + return false; + end + + local bar_changed = false; + local changed = false; + local index = 1; + + if imgui.tree_node(bar_name) then + changed, bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible + , bar.visibility); + bar_changed = bar_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, + bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + bar_changed = bar_changed or changed; + + changed, bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, + bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, + bar.size.width, 0.1, 0, screen.width, "%.1f"); + bar_changed = bar_changed or changed; + + changed, bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, + bar.size.height, 0.1, 0, screen.height, "%.1f"); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.outline) then + changed, bar.outline.visibility = imgui.checkbox(language.current_language.customization_menu.visible + , bar.outline.visibility); + bar_changed = bar_changed or changed; + + changed, bar.outline.thickness = imgui.drag_float(language.current_language.customization_menu.thickness, + bar.outline.thickness, 0.1, 0, screen.width, "%.1f"); + bar_changed = bar_changed or changed; + + changed, bar.outline.offset = imgui.drag_float(language.current_language.customization_menu.offset, + bar.outline.offset, 0.1, -screen.height, screen.height, "%.1f"); + bar_changed = bar_changed or changed; + + + changed, index = imgui.combo(language.current_language.customization_menu.style, + table_helpers.find_index(customization_menu.outline_styles, + bar.outline.style), + customization_menu.displayed_outline_styles); + bar_changed = bar_changed or changed; + + if changed then + bar.outline.style = customization_menu.outline_styles[index]; + end + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.colors) then + local colors = nil; + if bar.colors ~= nil then + colors = bar.colors; + else + colors = bar.normal_colors; + end + + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, colors.foreground = imgui.color_picker_argb("", colors.foreground, + customization_menu.color_picker_flags); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, colors.background = imgui.color_picker_argb("", colors.background, + customization_menu.color_picker_flags); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.outline) then + changed, colors.outline = imgui.color_picker_argb("", colors.outline, + customization_menu.color_picker_flags); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + if bar.capture_colors ~= nil then + if imgui.tree_node(language.current_language.customization_menu.monster_can_be_captured) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, bar.capture_colors.foreground = imgui.color_picker_argb("", + bar.capture_colors.foreground + , + customization_menu.color_picker_flags); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, bar.capture_colors.background = imgui.color_picker_argb("", + bar.capture_colors.background + , + customization_menu.color_picker_flags); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.outline) then + changed, bar.capture_colors.outline = imgui.color_picker_argb("", + bar.capture_colors.outline + , + customization_menu.color_picker_flags); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + end + + imgui.tree_pop(); + end + + changed = line_customization.draw(language.current_language.customization_menu.capture_line, bar.capture_line); + bar_changed = bar_changed or changed; + + imgui.tree_pop(); + end + + return bar_changed; +end + +function bar_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + line_customization = require("MHR_Overlay.UI.Customizations.line_customization"); +end + +return bar_customization; diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/body_parts_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/body_parts_customization.lua new file mode 100644 index 0000000..f6f56a6 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/body_parts_customization.lua @@ -0,0 +1,345 @@ +local body_parts_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; +local label_customization; +local bar_customization; + +function body_parts_customization.draw(cached_config) + local changed = false; + local config_changed = false; + + if imgui.tree_node(language.current_language.customization_menu.body_parts) then + changed, cached_config.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + config_changed = config_changed or changed; + + changed, cached_config.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.spacing) then + changed, cached_config.spacing.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.spacing.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.spacing.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.spacing.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.settings) then + changed, cached_config.settings.hide_undamaged_parts = imgui.checkbox( + language.current_language.customization_menu.hide_undamaged_parts, cached_config.settings.hide_undamaged_parts); + + config_changed = config_changed or changed; + + changed, cached_config.settings.time_limit = imgui.drag_float( + language.current_language.customization_menu.time_limit, cached_config.settings.time_limit, 0.1, 0, 99999, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.sorting) then + changed, index = imgui.combo( + language.current_language.customization_menu.type, + table_helpers.find_index(customization_menu.large_monster_UI_parts_sorting_types, cached_config.sorting.type), + customization_menu.displayed_monster_UI_parts_sorting_types); + + config_changed = config_changed or changed; + + if changed then + cached_config.sorting.type = customization_menu.large_monster_UI_parts_sorting_types[index]; + end + + changed, cached_config.sorting.reversed_order = imgui.checkbox( + language.current_language.customization_menu.reversed_order, cached_config.sorting.reversed_order); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.filter) then + changed, cached_config.filter.health_break_severe = imgui.checkbox( + language.current_language.customization_menu.health_break_severe_filter, cached_config.filter.health_break_severe); + + config_changed = config_changed or changed; + + changed, cached_config.filter.health_break = imgui.checkbox( + language.current_language.customization_menu.health_break_filter, cached_config.filter.health_break); + + config_changed = config_changed or changed; + + changed, cached_config.filter.health_severe = imgui.checkbox( + language.current_language.customization_menu.health_severe_filter, cached_config.filter.health_severe); + + config_changed = config_changed or changed; + + changed, cached_config.filter.health = imgui.checkbox( + language.current_language.customization_menu.health_filter, cached_config.filter.health); + + config_changed = config_changed or changed; + + changed, cached_config.filter.break_severe = imgui.checkbox( + language.current_language.customization_menu.break_severe_filter, cached_config.filter.break_severe); + + config_changed = config_changed or changed; + + changed, cached_config.filter.break_ = imgui.checkbox( + language.current_language.customization_menu.break_filter, cached_config.filter.break_); + + config_changed = config_changed or changed; + + changed, cached_config.filter.severe = imgui.checkbox( + language.current_language.customization_menu.severe_filter, cached_config.filter.severe); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.part_name_label) then + changed, cached_config.part_name_label.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.part_name_label.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.include) then + changed, cached_config.part_name_label.include.part_name = imgui.checkbox( + language.current_language.customization_menu.part_name, cached_config.part_name_label.include.part_name); + + config_changed = config_changed or changed; + + changed, cached_config.part_name_label.include.flinch_count = imgui.checkbox( + language.current_language.customization_menu.flinch_count, cached_config.part_name_label.include.flinch_count); + + config_changed = config_changed or changed; + + changed, cached_config.part_name_label.include.break_count = imgui.checkbox( + language.current_language.customization_menu.break_count, cached_config.part_name_label.include.break_count); + + config_changed = config_changed or changed; + + changed, cached_config.part_name_label.include.break_max_count = imgui.checkbox( + language.current_language.customization_menu.break_max_count, cached_config.part_name_label.include.break_max_count); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.part_name_label.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.part_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.part_name_label.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.part_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.part_name_label.color = imgui.color_picker_argb( + "", cached_config.part_name_label.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, cached_config.part_name_label.shadow.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.part_name_label.shadow.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.part_name_label.shadow.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.part_name_label.shadow.offset.x, + 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.part_name_label.shadow.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.part_name_label.shadow.offset.y, + 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.part_name_label.shadow.color = imgui.color_picker_argb( + "",cached_config.part_name_label.shadow.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.part_health) then + changed, cached_config.part_health.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.part_health.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.part_health.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.part_health.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.part_health.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.part_health.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.text_label, cached_config.part_health.text_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.value_label, cached_config.part_health.value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.percentage_label, cached_config.part_health.percentage_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.part_health.bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.break_health) then + changed, cached_config.part_break.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.part_break.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.part_break.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.part_break.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.part_break.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.part_break.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.text_label, cached_config.part_break.text_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.value_label, cached_config.part_break.value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.percentage_label, cached_config.part_break.percentage_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.part_break.bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.loss_health) then + changed, cached_config.part_loss.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.part_loss.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.part_loss.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.part_loss.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.part_loss.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.part_loss.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.text_label, cached_config.part_loss.text_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.value_label, cached_config.part_loss.value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.percentage_label, cached_config.part_loss.percentage_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.part_loss.bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + return config_changed; +end + +function body_parts_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); + bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); +end + +return body_parts_customization; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/health_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/health_customization.lua new file mode 100644 index 0000000..5bdbc4f --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/health_customization.lua @@ -0,0 +1,77 @@ +local large_monster_UI_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; +local label_customization; +local bar_customization; + +function large_monster_UI_customization.draw(cached_config) + local changed = false; + local config_changed = false; + + if imgui.tree_node(language.current_language.customization_menu.health) then + changed, cached_config.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.text_label, cached_config.text_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.value_label, cached_config.value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.percentage_label, cached_config.percentage_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + return config_changed; +end + +function large_monster_UI_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); + bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); +end + +return large_monster_UI_customization; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/label_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/label_customization.lua new file mode 100644 index 0000000..c74b5c3 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/label_customization.lua @@ -0,0 +1,97 @@ +local label_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; + +function label_customization.draw(label_name, label) + local label_changed = false; + local changed = false; + + if imgui.tree_node(label_name) then + changed, label.visibility = imgui.checkbox(language.current_language.customization_menu.visible + , label.visibility); + label_changed = label_changed or changed; + + -- add text format + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, + label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + label_changed = label_changed or changed; + + changed, label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, + label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + label_changed = label_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, label.color = imgui.color_picker_argb("", label.color, + customization_menu.color_picker_flags); + label_changed = label_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible + , label.shadow.visibility); + label_changed = label_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, + label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + label_changed = label_changed or changed; + + changed, label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, + label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + label_changed = label_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, label.shadow.color = imgui.color_picker_argb("", label.shadow.color, + customization_menu.color_picker_flags); + label_changed = label_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + return label_changed; +end + +function label_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); +end + +return label_customization; diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/large_monster_UI_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/large_monster_UI_customization.lua new file mode 100644 index 0000000..95c43d0 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/large_monster_UI_customization.lua @@ -0,0 +1,169 @@ +local large_monster_UI_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; + +local label_customization; +local bar_customization; +local health_customization; +local stamina_customization; +local rage_customization; +local body_parts_customization; +local ailments_customization; +local ailment_buildups_customization; + +function large_monster_UI_customization.draw(cached_config) + local changed = false; + local config_changed = false; + + if imgui.tree_node(language.current_language.customization_menu.monster_name_label) then + changed, cached_config.monster_name_label.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.monster_name_label.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.include) then + changed, cached_config.monster_name_label.include.monster_name = imgui.checkbox( + language.current_language.customization_menu.monster_name, cached_config.monster_name_label.include.monster_name); + + config_changed = config_changed or changed; + + changed, cached_config.monster_name_label.include.monster_id = imgui.checkbox( + language.current_language.customization_menu.monster_id, cached_config.monster_name_label.include.monster_id); + + config_changed = config_changed or changed; + + changed, cached_config.monster_name_label.include.crown = imgui.checkbox( + language.current_language.customization_menu.crown, cached_config.monster_name_label.include.crown); + + config_changed = config_changed or changed; + + changed, cached_config.monster_name_label.include.size = imgui.checkbox( + language.current_language.customization_menu.size, cached_config.monster_name_label.include.size); + + config_changed = config_changed or changed; + + changed, cached_config.monster_name_label.include.scrown_thresholds = imgui.checkbox( + language.current_language.customization_menu.crown_thresholds, cached_config.monster_name_label.include.scrown_thresholds); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.monster_name_label.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.monster_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.monster_name_label.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.monster_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.monster_name_label.color = imgui.color_picker_argb( + "", cached_config.monster_name_label.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, cached_config.monster_name_label.shadow.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.monster_name_label.shadow.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.monster_name_label.shadow.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.monster_name_label.shadow.offset.x, + 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.monster_name_label.shadow.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.monster_name_label.shadow.offset.y, + 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, cached_config.monster_name_label.shadow.color = imgui.color_picker_argb( + "", cached_config.monster_name_label.shadow.color, customization_menu.color_picker_flags); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + changed = health_customization.draw(cached_config.health); + config_changed = config_changed or changed; + + changed = stamina_customization.draw(cached_config.stamina); + config_changed = config_changed or changed; + + changed = rage_customization.draw(cached_config.rage); + config_changed = config_changed or changed; + + changed = body_parts_customization.draw(cached_config.body_parts); + config_changed = config_changed or changed; + + changed = ailments_customization.draw(cached_config.ailments); + config_changed = config_changed or changed; + + changed = ailment_buildups_customization.draw(cached_config.ailment_buildups); + config_changed = config_changed or changed; + + return config_changed; +end + +function large_monster_UI_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); + bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); + + health_customization = require("MHR_Overlay.UI.Customizations.health_customization"); + stamina_customization = require("MHR_Overlay.UI.Customizations.stamina_customization"); + rage_customization = require("MHR_Overlay.UI.Customizations.rage_customization"); + body_parts_customization = require("MHR_Overlay.UI.Customizations.body_parts_customization"); + ailments_customization = require("MHR_Overlay.UI.Customizations.ailments_customization"); + ailment_buildups_customization = require("MHR_Overlay.UI.Customizations.ailment_buildups_customization"); +end + +return large_monster_UI_customization; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/line_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/line_customization.lua new file mode 100644 index 0000000..8925006 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/line_customization.lua @@ -0,0 +1,82 @@ +local line_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; + +function line_customization.draw(line_name, line) + if line == nil then + return; + end + + local line_changed = false; + local changed = false; + + if imgui.tree_node(line_name) then + changed, line.visibility = imgui.checkbox(language.current_language.customization_menu.visible + , line.visibility); + line_changed = line_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, line.offset.x = imgui.drag_float(language.current_language.customization_menu.x, + line.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + line_changed = line_changed or changed; + + changed, line.offset.y = imgui.drag_float(language.current_language.customization_menu.y, + line.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + line_changed = line_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, line.size.width = imgui.drag_float(language.current_language.customization_menu.width, + line.size.width, 0.1, 0, screen.width, "%.1f"); + line_changed = line_changed or changed; + + changed, line.size.height = imgui.drag_float(language.current_language.customization_menu.height, + line.size.height, 0.1, 0, screen.height, "%.1f"); + line_changed = line_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, line.color = imgui.color_picker_argb("", line.color, + customization_menu.color_picker_flags); + line_changed = line_changed or changed; + + imgui.tree_pop(); + end + + imgui.tree_pop(); + end + + return line_changed; +end + +function line_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); +end + +return line_customization; diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/rage_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/rage_customization.lua new file mode 100644 index 0000000..cfe0834 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/rage_customization.lua @@ -0,0 +1,80 @@ +local rage_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; +local label_customization; +local bar_customization; + +function rage_customization.draw(cached_config) + local changed = false; + local config_changed = false; + + if imgui.tree_node(language.current_language.customization_menu.rage) then + changed, cached_config.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.text_label, cached_config.text_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.value_label, cached_config.value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.percentage_label, cached_config.percentage_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.timer_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + return config_changed; +end + +function rage_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); + bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); +end + +return rage_customization; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/UI/Customizations/stamina_customization.lua b/reframework/autorun/MHR_Overlay/UI/Customizations/stamina_customization.lua new file mode 100644 index 0000000..d33e0ad --- /dev/null +++ b/reframework/autorun/MHR_Overlay/UI/Customizations/stamina_customization.lua @@ -0,0 +1,80 @@ +local stamina_customization = {}; + +local table_helpers; +local config; +local screen; +local player; +local large_monster; +local small_monster; +local env_creature; +local language; +local part_names; +local time_UI; +local keyboard; +local customization_menu; +local label_customization; +local bar_customization; + +function stamina_customization.draw(cached_config) + local changed = false; + local config_changed = false; + + if imgui.tree_node(language.current_language.customization_menu.stamina) then + changed, cached_config.visibility = imgui.checkbox( + language.current_language.customization_menu.visible, cached_config.visibility); + + config_changed = config_changed or changed; + + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, cached_config.offset.x = imgui.drag_float( + language.current_language.customization_menu.x, cached_config.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + + config_changed = config_changed or changed; + + changed, cached_config.offset.y = imgui.drag_float( + language.current_language.customization_menu.y, cached_config.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + changed = label_customization.draw(language.current_language.customization_menu.text_label, cached_config.text_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.value_label, cached_config.value_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.percentage_label, cached_config.percentage_label); + config_changed = config_changed or changed; + + changed = label_customization.draw(language.current_language.customization_menu.timer_label, cached_config.timer_label); + config_changed = config_changed or changed; + + changed = bar_customization.draw(language.current_language.customization_menu.bar, cached_config.bar); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + return config_changed; +end + +function stamina_customization.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + config = require("MHR_Overlay.Misc.config"); + screen = require("MHR_Overlay.Game_Handler.screen"); + player = require("MHR_Overlay.Damage_Meter.player"); + small_monster = require("MHR_Overlay.Monsters.small_monster"); + large_monster = require("MHR_Overlay.Monsters.large_monster"); + env_creature = require("MHR_Overlay.Endemic_Life.env_creature"); + part_names = require("MHR_Overlay.Misc.part_names"); + time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + keyboard = require("MHR_Overlay.Game_Handler.keyboard"); + customization_menu = require("MHR_Overlay.UI.customization_menu"); + label_customization = require("MHR_Overlay.UI.Customizations.label_customization"); + bar_customization = require("MHR_Overlay.UI.Customizations.bar_customization"); +end + +return stamina_customization; \ No newline at end of file