From 2a2a5c353980cf624e7e6234c27d947bff27f2da Mon Sep 17 00:00:00 2001 From: GreenComfyTea Date: Fri, 11 Feb 2022 00:17:22 +0200 Subject: [PATCH] Reorganization --- MHR_Overlay/Misc/config.lua | 1358 ------------ MHR_Overlay/Misc/language.lua | 110 - MHR_Overlay/UI/damage_meter_UI.lua | 249 --- MHR_Overlay/UI/large_monster_UI.lua | 238 -- MHR_Overlay/UI/small_monster_UI.lua | 181 -- MHR_Overlay/UI/time_UI.lua | 46 - .../autorun/MHR_Overlay.lua | 329 +-- .../MHR_Overlay}/Damage_Meter/damage_hook.lua | 0 .../MHR_Overlay}/Damage_Meter/player.lua | 2 +- .../Game_Handler/quest_status.lua | 7 + .../MHR_Overlay}/Game_Handler/screen.lua | 4 + .../MHR_Overlay}/Game_Handler/singletons.lua | 0 .../autorun/MHR_Overlay/Misc/config.lua | 1370 ++++++++++++ .../autorun/MHR_Overlay/Misc/language.lua | 277 +++ .../autorun/MHR_Overlay}/Misc/part_names.lua | 0 .../MHR_Overlay}/Misc/table_helpers.lua | 0 .../MHR_Overlay}/Monsters/body_part.lua | 0 .../MHR_Overlay}/Monsters/large_monster.lua | 60 +- .../MHR_Overlay}/Monsters/monster_hook.lua | 32 +- .../MHR_Overlay}/Monsters/small_monster.lua | 0 .../UI/Modules/damage_meter_UI.lua | 4 +- .../UI/Modules/large_monster_UI.lua | 0 .../UI/Modules/small_monster_UI.lua | 0 .../MHR_Overlay}/UI/Modules/time_UI.lua | 0 .../UI/UI_Entities/body_part_UI_entity.lua | 0 .../UI/UI_Entities/damage_UI_entity.lua | 0 .../UI/UI_Entities/health_UI_entity.lua | 0 .../UI/UI_Entities/rage_UI_entity.lua | 2 +- .../UI/UI_Entities/stamina_UI_entity.lua | 0 .../MHR_Overlay}/UI/customization_menu.lua | 1974 +++++++++-------- .../autorun/MHR_Overlay}/UI/drawing.lua | 0 .../data/MHR Overlay/languages/en-us.json | 173 ++ 32 files changed, 3073 insertions(+), 3343 deletions(-) delete mode 100644 MHR_Overlay/Misc/config.lua delete mode 100644 MHR_Overlay/Misc/language.lua delete mode 100644 MHR_Overlay/UI/damage_meter_UI.lua delete mode 100644 MHR_Overlay/UI/large_monster_UI.lua delete mode 100644 MHR_Overlay/UI/small_monster_UI.lua delete mode 100644 MHR_Overlay/UI/time_UI.lua rename MHR_Overlay.lua => reframework/autorun/MHR_Overlay.lua (96%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Damage_Meter/damage_hook.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Damage_Meter/player.lua (99%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Game_Handler/quest_status.lua (90%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Game_Handler/screen.lua (94%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Game_Handler/singletons.lua (100%) create mode 100644 reframework/autorun/MHR_Overlay/Misc/config.lua create mode 100644 reframework/autorun/MHR_Overlay/Misc/language.lua rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Misc/part_names.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Misc/table_helpers.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Monsters/body_part.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Monsters/large_monster.lua (89%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Monsters/monster_hook.lua (83%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/Monsters/small_monster.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/Modules/damage_meter_UI.lua (98%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/Modules/large_monster_UI.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/Modules/small_monster_UI.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/Modules/time_UI.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/UI_Entities/body_part_UI_entity.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/UI_Entities/damage_UI_entity.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/UI_Entities/health_UI_entity.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/UI_Entities/rage_UI_entity.lua (97%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/UI_Entities/stamina_UI_entity.lua (100%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/customization_menu.lua (59%) rename {MHR_Overlay => reframework/autorun/MHR_Overlay}/UI/drawing.lua (100%) create mode 100644 reframework/data/MHR Overlay/languages/en-us.json diff --git a/MHR_Overlay/Misc/config.lua b/MHR_Overlay/Misc/config.lua deleted file mode 100644 index 7f12070..0000000 --- a/MHR_Overlay/Misc/config.lua +++ /dev/null @@ -1,1358 +0,0 @@ -local config = {}; -local table_helpers; -local language; - -config.current_config = nil; -config.config_file_name = "MHR Overlay/config.json"; - -config.default_config = { - global_settings = { - language = "en-us", - - module_visibility = { - during_quest = { - small_monster_UI = true, - large_monster_dynamic_UI = true, - large_monster_static_UI = true, - time_UI = true, - damage_meter_UI = true - }, - - quest_summary_screen = { - small_monster_UI = false, - large_monster_dynamic_UI = false, - large_monster_static_UI = true, - time_UI = true, - damage_meter_UI = true - }, - - training_area = { - large_monster_dynamic_UI = true, - large_monster_static_UI = true, - damage_meter_UI = true - } - }, - - font = { - family = "Consolas", - size = 13, - bold = true, - italic = false - }, - }, - - small_monster_UI = { - enabled = true, - - settings = { - orientation = "Horizontal" - }, - - dynamic_positioning = { - enabled = true, - max_distance = 300, - opacity_falloff = true, - - world_offset = { - x = 0, - y = 3, - z = 0 - }, - - viewport_offset = { - x = -50, - y = 0 - } - }, - - static_spacing = { - x = 110, - y = 40 - }, - - static_sorting = { - type = "Normal", - reversed_order = false - }, - - static_position = { - x = 0, - y = 0, - anchor = "Top-Left" - }, - - monster_name_label = { - visibility = true, - text = "%s", - - offset = { - x = 5, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - health = { - visibility = true, - - text_label = { - visibility = false, - text = "HP:", - offset = { - x = -25, - y = 12 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 50, - y = 25 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = false, - text = "%5.1f%%", - - offset = { - x = 55, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 0, - y = 17 - }, - - size = { - width = 100, - height = 7 - }, - - colors = { - foreground = 0xB974A652, - background = 0xB9000000, - capture_health = 0xB9CCCC33 - } - } - }, - - stamina = { - visibility = true, - - text_label = { - visibility = true, - text = "Stamina:", - offset = { - x = 15, - y = 37 - }, - color = 0xFFA3F5F0, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 15, - y = 54 - }, - color = 0xFFA3F5F0, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = false, - text = "%5.1f%%", - - offset = { - x = 55, - y = 64 - }, - color = 0xFFA3F5F0, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 10, - y = 54 - }, - - size = { - width = 90, - height = 4 - }, - - colors = { - foreground = 0xB966CCC5, - background = 0x88000000 - } - } - } - }, - - large_monster_UI = { - dynamic = { - enabled = true, - - settings = { - max_distance = 300, - opacity_falloff = true - }, - - world_offset = { - x = 0, - y = 6, - z = 0 - }, - - viewport_offset = { - x = -100, - y = 0 - }, - - monster_name_label = { - visibility = true, - text = "%s", - - include = { - monster_name = true, - crown = true, - size = true, - crown_thresholds = false - }, - - offset = { - x = 5, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - health = { - visibility = true, - - text_label = { - visibility = false, - text = "HP:", - offset = { - x = -25, - y = 19 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 5, - y = 19 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 150, - y = 19 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 0, - y = 17 - }, - - size = { - width = 200, - height = 20 - }, - - colors = { - foreground = 0xB974A653, - background = 0xB9000000, - capture ={ - foreground = 0xB9CCCC33, - background = 0x88000000 - } - } - } - }, - - stamina = { - visibility = true, - - text_label = { - visibility = true, - text = "Stamina:", - offset = { - x = 15, - y = 37 - }, - color = 0xFFA3F5F0, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 55, - y = 54 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 145, - y = 54 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 10, - y = 54 - }, - - size = { - width = 185, - height = 7 - }, - - colors = { - foreground = 0xB966CCC5, - background = 0x88000000 - } - } - }, - - rage = { - visibility = true, - - text_label = { - visibility = true, - text = "Rage:", - offset = { - x = 15, - y = 61 - }, - color = 0xFFFF9393, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 55, - y = 78 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 145, - y = 78 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 10, - y = 78 - }, - - size = { - width = 185, - height = 7 - }, - - colors = { - foreground = 0xB9CC6666, - background = 0x88000000 - } - } - }, - - parts = { - visibility = true, - - offset = { - x = 0, - y = 50 - }, - - spacing = { - x = 0, - y = 24, - }, - - settings = { - hide_undamaged_parts = false, - }, - - sorting = { - type = "Normal", - reversed_order = false - }, - - part_name_label = { - visibility = true, - text = "%s", - - include = { - part_name = true, - break_count = true - }, - - offset = { - x = 15, - y = 61 - }, - color = 0xFFf9d9ff, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - text_label = { - visibility = false, - text = "HP:", - offset = { - x = -15, - y = 69 - }, - color = 0xF1F4A3CC, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 55, - y = 74 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 145, - y = 74 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 10, - y = 75 - }, - - size = { - width = 185, - height = 5 - }, - - colors = { - foreground = 0xB9ca85cc, - background = 0x88000000 - } - } - } - }, - - static = { - enabled = true, - - spacing = { - x = 220, - y = 40, - }, - - settings = { - orientation = "Horizontal" - }, - - sorting = { - type = "Normal", - reversed_order = false - }, - - position = { - x = 525, - y = 125,--y = 44, - anchor = "Top-Left" - }, - - monster_name_label = { - visibility = true, - text = "%s", - - include = { - monster_name = true, - crown = true, - size = true, - crown_thresholds = false - }, - - offset = { - x = 5, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - health = { - visibility = true, - - text_label = { - visibility = false, - text = "HP:", - offset = { - x = -25, - y = 19 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 5, - y = 19 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 150, - y = 19 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 0, - y = 17 - }, - - size = { - width = 200, - height = 20 - }, - - colors = { - foreground = 0xB974A653, - background = 0xB9000000, - capture ={ - foreground = 0xB9CCCC33, - background = 0x88000000 - } - } - } - }, - - stamina = { - visibility = true, - - text_label = { - visibility = true, - text = "Stamina:", - offset = { - x = 15, - y = 37 - }, - color = 0xFFA3F5F0, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 55, - y = 54 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 145, - y = 54 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 10, - y = 54 - }, - - size = { - width = 185, - height = 7 - }, - - colors = { - foreground = 0xB966CCC5, - background = 0x88000000 - } - } - }, - - rage = { - visibility = true, - - text_label = { - visibility = true, - text = "Rage:", - offset = { - x = 15, - y = 61 - }, - color = 0xFFFF9393, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 55, - y = 78 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 145, - y = 78 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 10, - y = 78 - }, - - size = { - width = 185, - height = 7 - }, - - colors = { - foreground = 0xB9CC6666, - background = 0x88000000 - } - } - }, - - parts = { - visibility = false, - - offset = { - x = 0, - y = 50 - }, - - spacing = { - x = 0, - y = 24, - }, - - settings = { - hide_undamaged_parts = true, - }, - - sorting = { - type = "Normal", - reversed_order = false - }, - - part_name_label = { - visibility = true, - text = "%s", - - include = { - part_name = true, - break_count = true - }, - - offset = { - x = 15, - y = 61 - }, - color = 0xFFf9d9ff, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - text_label = { - visibility = false, - text = "HP:", - offset = { - x = -15, - y = 69 - }, - color = 0xF1F4A3CC, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - value_label = { - visibility = true, - text = "%.0f/%.0f", -- current_health/max_health - offset = { - x = 55, - y = 74 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - percentage_label = { - visibility = true, - text = "%5.1f%%", - - offset = { - x = 145, - y = 74 - }, - color = 0xFFFFFFFF, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - bar = { - visibility = true, - offset = { - x = 10, - y = 75 - }, - - size = { - width = 185, - height = 5 - }, - - colors = { - foreground = 0xB9ca85cc, - background = 0x88000000 - } - } - } - } - }, - - time_UI = { - enabled = true, - - position = { - x = 65, - y = 189, - anchor = "Top-Left" - }, - - time_label = { - visibility = true, - text = "%02d:%06.3f", - offset = { - x = 0, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - } - }, - - damage_meter_UI = { - enabled = true, - - tracked_monster_types = { - small_monsters = true, - large_monsters = true - }, - - tracked_damage_types = { - player_damage = true, - bomb_damage = true, - kunai_damage = true, - installation_damage = true, -- hunting_installations like ballista, cannon, etc. - otomo_damage = true, - monster_damage = true - }, -- note that installations during narwa fight are counted as monster damage - - spacing = { - x = 270, - y = 24 - }, - - settings = { - orientation = "Vertical", -- "Vertical" or "Horizontal" - - hide_module_if_total_damage_is_zero = false, - hide_player_if_player_damage_is_zero = false, - hide_total_if_total_damage_is_zero = false, - total_damage_offset_is_relative = true, - - highlighted_bar = "Me", - damage_bar_relative_to = "Top Damage", -- "total damage" or "top damage" - my_damage_bar_location = "First" -- "normal" or "first" or "last" - }, - - sorting = { - type = "Damage", -- "normal" or "damage" - reversed_order = false - }, - - position = { - x = 525, - y = 225, - -- Possible values: "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" - anchor = "Bottom-Left" - }, - - player_name_label = { - visibility = true, - - include = { - myself = { - hunter_rank = true, - word_player = false, - player_id = false, - player_name = true - }, - - others = { - hunter_rank = true, - word_player = false, - player_id = false, - player_name = true - } - }, - - text = "%s", - offset = { - x = 5, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - damage_value_label = { - visibility = true, - text = "%.0f", - offset = { - x = 145, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - damage_percentage_label = { - visibility = true, - text = "%5.1f%%", - offset = { - x = 205, - y = 0 - }, - color = 0xFFCCF4E1, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - total_damage_label = { - visibility = true, - text = "Total Damage", - offset = { - x = 5, - y = 0 - }, - color = 0xFFFF7373, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - total_damage_value_label = { - visibility = true, - text = "%.0f", - offset = { - x = 145, - y = 0 - }, - color = 0xFFFF7373, - - shadow = { - visibility = true, - offset = { - x = 1, - y = 1 - }, - color = 0xFF000000 - } - }, - - damage_bar = { - visibility = true, - offset = { - x = 0, - y = 17 - }, - - size = { - width = 250, - height = 5 - }, - - colors = { - foreground = 0xA7CCA3F4, - background = 0xA7000000 - } - }, - - highlighted_damage_bar = { - visibility = true, - offset = { - x = 0, - y = 17 - }, - - size = { - width = 250, - height = 5 - }, - - colors = { - foreground = 0xA7F4D5A3, - background = 0xA7000000 - } - } - } -}; - -function config.load() - local loaded_config = json.load_file(config.config_file_name); - if loaded_config ~= nil then - log.info('[MHR Overlay] config.json loaded successfully'); - config.current_config = table_helpers.merge(config.default_config, loaded_config); - else - log.error('[MHR Overlay] Failed to load config.json'); - config.current_config = table_helpers.deep_copy(config.default_config); - end -end - -function config.save() - -- save current config to disk, replacing any existing file - local success = json.dump_file(config.config_file_name, config.current_config); - if success then - log.info('[MHR Overlay] config.json saved successfully'); - else - log.error('[MHR Overlay] Failed to save config.json'); - end -end - -function config.init_module() - table_helpers = require("MHR_Overlay.Misc.table_helpers"); - language = require("MHR_Overlay.Misc.language"); - - config.load(); - language.update(table_helpers.find_index(language.language_names, config.current_config.global_settings.language, false)); - config.current_config.version = "v1.7"; -end - -return config; \ No newline at end of file diff --git a/MHR_Overlay/Misc/language.lua b/MHR_Overlay/Misc/language.lua deleted file mode 100644 index 2447be4..0000000 --- a/MHR_Overlay/Misc/language.lua +++ /dev/null @@ -1,110 +0,0 @@ -local language = {}; -local table_helpers; - -language.current_language = {}; - -language.language_names = {}; -language.languages = {}; - -language.language_folder = "MHR Overlay\\languages\\"; - -language.default_language = { - parts = { - head = "Head", - neck = "Neck", - body = "Body", - torso = "Torso", - abdomen = "Abdomen", - back = "Back", - tail = "Tail", - - upper_body = "Upper Body", - lower_body = "Lower Body", - - upper_back = "Upper Back", - lower_back = "Lower Back", - - left_wing = "Wing L", - right_wing = "Wing R", - wings = "Wings", - - left_leg = "Leg L", - right_leg = "Leg R", - legs = "Legs", - left_legs = "Legs L", - right_legs = "Legs R", - - left_arm = "Arm L", - right_arm = "Arm R", - arms = "Arms", - - left_arm_ice = "Arm L (Ice)", - right_arm_ice = "Arm R (Ice)", - - left_cutwing = "Cutwing L", - right_cutwing = "Cutwing R", - - head_mud = "Head (Mud)", - tail_mud = "Tail (Mud)", - - tail_windsac = "Tail (Windsac)", - chest_windsac = "Chest (Windsac)", - back_windsac = "Back (Windsac)", - - large_mudbulb = "Large Mudbulb", - mane = "Mane", - rear = "Rear", - claw = "Claw", - dorsal_fin = "Dorsal Fin", - carapace = "Carapace", - spinning = "Spinning", - rock = "Rock" - } -}; - -function language.load() - local language_files = fs.glob([[MHR Overlay\\languages\\.*json]]); - - if language_files == nil then - return; - end - - for i, language_file in ipairs(language_files) do - local language_name = language_file:gsub(language.language_folder, ""):gsub(".json", ""); - - -- v will be something like `my-cool-mod\config-file-1.json`; - local loaded_language = json.load_file(language.language_folder .. "en-us.json"); - if loaded_language ~= nil then - log.info("[MHR Overlay] " .. language_name .. ".json loaded successfully"); - table.insert(language.language_names, language_name); - table.insert(language.languages, loaded_language); - else - log.error("[MHR Overlay] Failed to load " .. language_name .. ".json"); - end - end - - -end - -function language.save_default() - -- save current config to disk, replacing any existing file - local success = json.dump_file(language.language_folder .. "en-us.json", language.default_language); - if success then - log.info('[MHR Overlay] en-us.json saved successfully'); - else - log.error('[MHR Overlay] Failed to save en-us.json'); - end -end - - -function language.update(index) - language.current_language = table_helpers.deep_copy(language.languages[index]); -end - -function language.init_module() - table_helpers = require("MHR_Overlay.Misc.table_helpers"); - language.save_default(); - language.load(); -end - -return language; \ No newline at end of file diff --git a/MHR_Overlay/UI/damage_meter_UI.lua b/MHR_Overlay/UI/damage_meter_UI.lua deleted file mode 100644 index fb716a3..0000000 --- a/MHR_Overlay/UI/damage_meter_UI.lua +++ /dev/null @@ -1,249 +0,0 @@ -local damage_meter_UI = {}; -local singletons; -local config; -local customization_menu; -local player; -local quest_status; -local screen; -local drawing; - -damage_meter_UI.last_displayed_players = {}; - -function damage_meter_UI.draw() - - if player.total.display.total_damage == 0 and config.current_config.damage_meter_UI.settings.hide_module_if_total_damage_is_zero then - return; - end - - if singletons.lobby_manager == nil then - return; - end - - if singletons.progress_manager == nil then - return; - end - - -- myself player - local myself_player_info = singletons.lobby_manager:get_field("_myHunterInfo"); - if myself_player_info == nil then - customization_menu.status = "No myself player info list"; - return; - end - - local myself_player_name = myself_player_info:get_field("_name"); - if myself_player_name == nil then - customization_menu.status = "No myself player name"; - return; - end - - if quest_status.is_online then - player.myself_id = singletons.lobby_manager:get_field("_myselfQuestIndex"); - if player.myself_id == nil then - customization_menu.status = "No myself player id"; - return; - end - else - player.myself_id = singletons.lobby_manager:get_field("_myselfIndex"); - if player.myself_id == nil then - customization_menu.status = "No myself player id"; - return; - end - end - - local myself_hunter_rank = singletons.progress_manager:call("get_HunterRank"); - if myself_hunter_rank == nil then - customization_menu.status = "No myself hunter rank"; - myself_hunter_rank = 0; - end - - if player.list[player.myself_id] == nil then - player.list[player.myself_id] = player.new(player.myself_id, myself_player_name, myself_hunter_rank); - player.myself = player.list[player.myself_id]; - end - - local quest_players = {}; - - if quest_status.index > 2 then - quest_players = damage_meter_UI.last_displayed_players; - else - -- other players - local player_info_list = singletons.lobby_manager:get_field("_questHunterInfo"); - if player_info_list == nil then - customization_menu.status = "No player info list"; - end - - local count = player_info_list:call("get_Count"); - if count == nil then - customization_menu.status = "No player info list count"; - return; - end - - for i = 0, count - 1 do - - local player_info = player_info_list:call("get_Item", i); - if player_info == nil then - goto continue - end - - local player_id = player_info:get_field("_memberIndex"); - if player_id == nil then - - goto continue - end - - local player_hunter_rank = player_info:get_field("_hunterRank"); - if player_hunter_rank == nil then - goto continue - end - - if player_id == player.myself_id and config.current_config.damage_meter_UI.settings.my_damage_bar_location ~= "Normal" then - player.list[player.myself_id].hunter_rank = player_hunter_rank; - goto continue - end - - local player_name = player_info:get_field("_name"); - if player_name == nil then - goto continue - end - - if player.list[player_id] == nil then - player.list[player_id] = player.new(player_id, player_name, player_hunter_rank); - elseif player.list[player_id].name ~= player_name then - player.list[player_id] = player.new(player_id, player_name, player_hunter_rank); - end - - table.insert(quest_players, player.list[player_id]); - - ::continue:: - end - - -- sort here - if config.current_config.damage_meter_UI.sorting.type == "Normal" and config.current_config.damage_meter_UI.sorting.reversed_order then - - local reversed_quest_players = {}; - for i = #quest_players, 1, -1 do - table.insert(reversed_quest_players, quest_players[i]); - end - quest_players = reversed_quest_players; - elseif config.current_config.damage_meter_UI.sorting.type == "Damage" then - if config.current_config.damage_meter_UI.sorting.reversed_order then - table.sort(quest_players, function(left, right) - return left.display.total_damage < right.display.total_damage; - end); - else - table.sort(quest_players, function(left, right) - return left.display.total_damage > right.display.total_damage; - end); - end - end - - if config.current_config.damage_meter_UI.settings.my_damage_bar_location == "First" then - table.insert(quest_players, 1, player.list[player.myself_id]); - elseif config.current_config.damage_meter_UI.settings.my_damage_bar_location == "Last" then - table.insert(quest_players, #quest_players + 1, player.list[player.myself_id]); - elseif #quest_players == 0 then - table.insert(quest_players, 1, player.list[player.myself_id]); - end - - damage_meter_UI.last_displayed_players = quest_players; - end - - local top_damage = 0; - for _, _player in ipairs(quest_players) do - if _player.display.total_damage > top_damage then - top_damage = _player.display.total_damage; - end - end - - - - -- draw - local position_on_screen = screen.calculate_absolute_coordinates(config.current_config.damage_meter_UI.position); - for _, _player in ipairs(quest_players) do - - if _player.display.total_damage == 0 and config.current_config.damage_meter_UI.settings.hide_player_if_player_damage_is_zero then - goto continue1 - end - - local player_damage_percentage = 0; - if player.total.display.total_damage ~= 0 then - player_damage_percentage = _player.display.total_damage / player.total.display.total_damage; - end - - local player_damage_bar_percentage = 0; - if config.current_config.damage_meter_UI.settings.damage_bar_relative_to == "Total Damage" then - if player.total.display.total_damage ~= 0 then - player_damage_bar_percentage = _player.display.total_damage / player.total.display.total_damage; - end - else - if top_damage ~= 0 then - player_damage_bar_percentage = _player.display.total_damage / top_damage; - end - end - - if _player.id == player.myself_id and config.current_config.damage_meter_UI.settings.highlighted_bar == "Me" then - drawing.draw_bar(config.current_config.damage_meter_UI.highlighted_damage_bar, position_on_screen, player_damage_bar_percentage); - elseif config.current_config.damage_meter_UI.settings.highlighted_bar == "Top Damage" and _player.display.total_damage == top_damage then - drawing.draw_bar(config.current_config.damage_meter_UI.highlighted_damage_bar, position_on_screen, player_damage_bar_percentage); - else - drawing.draw_bar(config.current_config.damage_meter_UI.damage_bar, position_on_screen, player_damage_bar_percentage); - end - - - local player_include = config.current_config.damage_meter_UI.player_name_label.include.others; - if _player.id == player.myself_id then - player_include = config.current_config.damage_meter_UI.player_name_label.include.myself; - end - - local player_name_text = ""; - if player_include.hunter_rank then - player_name_text = string.format("[%d] ", _player.hunter_rank); - end - - if player_include.word_player then - player_name_text = player_name_text .. "Player "; - end - - if player_include.player_id then - player_name_text = player_name_text .. string.format("%d ", _player.id); - end - - if player_include.player_name then - player_name_text = player_name_text .. _player.name; - end - - drawing.draw_label(config.current_config.damage_meter_UI.player_name_label, position_on_screen, player_name_text); - drawing.draw_label(config.current_config.damage_meter_UI.damage_value_label, position_on_screen, _player.display.total_damage); - drawing.draw_label(config.current_config.damage_meter_UI.damage_percentage_label, position_on_screen, 100 * player_damage_percentage); - - if config.current_config.damage_meter_UI.settings.orientation == "Horizontal" then - position_on_screen.x = position_on_screen.x + config.current_config.damage_meter_UI.spacing.x; - else - position_on_screen.y = position_on_screen.y + config.current_config.damage_meter_UI.spacing.y; - end - - ::continue1:: - - end - - -- draw total damage - if not config.current_config.damage_meter_UI.settings.total_damage_offset_is_relative then - position_on_screen = screen.calculate_absolute_coordinates(config.current_config.damage_meter_UI.position); - end - - drawing.draw_label(config.current_config.damage_meter_UI.total_damage_label, position_on_screen); - drawing.draw_label(config.current_config.damage_meter_UI.total_damage_value_label, position_on_screen, player.total.display.total_damage); - -end - -function damage_meter_UI.init_module() - singletons = require("MHR_Overlay.Game_Handler.singletons"); - config = require("MHR_Overlay.Misc.config"); - customization_menu = require("MHR_Overlay.UI.customization_menu"); - player = require("MHR_Overlay.Damage_Meter.player"); - quest_status = require("MHR_Overlay.Game_Handler.quest_status"); - screen = require("MHR_Overlay.Game_Handler.screen"); - drawing = require("MHR_Overlay.UI.drawing"); -end - -return damage_meter_UI; \ No newline at end of file diff --git a/MHR_Overlay/UI/large_monster_UI.lua b/MHR_Overlay/UI/large_monster_UI.lua deleted file mode 100644 index 2f641d4..0000000 --- a/MHR_Overlay/UI/large_monster_UI.lua +++ /dev/null @@ -1,238 +0,0 @@ -local large_monster_UI = {}; -local singletons; -local config; -local customization_menu; -local large_monster; -local screen; -local player; -local drawing; -local table_helpers; - -function large_monster_UI.draw() - if singletons.enemy_manager == nil then - return; - end - - local displayed_monsters = {}; - - local enemy_count = singletons.enemy_manager:call("getBossEnemyCount"); - if enemy_count == nil then - return; - end - - for i = 0, enemy_count - 1 do - local enemy = singletons.enemy_manager:call("getBossEnemy", i); - if enemy == nil then - customization_menu.status = "No enemy"; - break - end - - local monster = large_monster.list[enemy]; - if monster == nil then - customization_menu.status = "No monster hp entry"; - break - end - - table.insert(displayed_monsters, monster); - end - - if not config.current_config.large_monster_UI.dynamic_positioning.enabled then - -- sort here - - if config.current_config.large_monster_UI.sorting.type == "Normal" and config.current_config.large_monster_UI.sorting.reversed_order then - local reversed_monsters = {}; - for i = #displayed_monsters, 1, -1 do - table.insert(reversed_monsters, displayed_monsters[i]); - end - - displayed_monsters = reversed_monsters; - - elseif config.current_config.large_monster_UI.sorting.type == "Health" then - if config.current_config.large_monster_UI.sorting.reversed_order then - table.sort(displayed_monsters, function(left, right) - return left.health > right.health; - end); - else - table.sort(displayed_monsters, function(left, right) - return left.health < right.health; - end); - end - elseif config.current_config.large_monster_UI.sorting.type == "Health Percentage" then - if config.current_config.large_monster_UI.sorting.reversed_order then - table.sort(displayed_monsters, function(left, right) - return left.health_percentage > right.health_percentage; - end); - else - table.sort(displayed_monsters, function(left, right) - return left.health_percentage < right.health_percentage; - end); - end - end - end - - local i = 0; - for _, monster in ipairs(displayed_monsters) do - local position_on_screen; - - if config.current_config.large_monster_UI.dynamic_positioning.enabled then - - local world_offset = Vector3f.new(config.current_config.large_monster_UI.dynamic_positioning.world_offset.x, config.current_config.large_monster_UI.dynamic_positioning.world_offset.y, config.current_config.large_monster_UI.dynamic_positioning.world_offset.z); - - position_on_screen = draw.world_to_screen(monster.position + world_offset); - - if position_on_screen == nil then - goto continue - end - - position_on_screen.x = position_on_screen.x + config.current_config.large_monster_UI.dynamic_positioning.viewport_offset.x; - position_on_screen.y = position_on_screen.y + config.current_config.large_monster_UI.dynamic_positioning.viewport_offset.y; - - - else - position_on_screen = screen.calculate_absolute_coordinates(config.current_config.large_monster_UI.position); - - if config.current_config.large_monster_UI.settings.orientation == "Horizontal" then - position_on_screen.x = position_on_screen.x + config.current_config.large_monster_UI.spacing.x * i; - else - position_on_screen.y = position_on_screen.y + config.current_config.large_monster_UI.spacing.y * i; - end - - end - - local monster_name_label = config.current_config.large_monster_UI.monster_name_label; - - local health_bar = table_helpers.deep_copy(config.current_config.large_monster_UI.health.bar); - local health_label = config.current_config.large_monster_UI.health.text_label; - local health_value_label = config.current_config.large_monster_UI.health.value_label; - local health_percentage_label = config.current_config.large_monster_UI.health.percentage_label; - - local stamina_bar = config.current_config.large_monster_UI.stamina.bar; - local stamina_label = config.current_config.large_monster_UI.stamina.text_label; - local stamina_value_label = config.current_config.large_monster_UI.stamina.value_label; - local stamina_percentage_label = config.current_config.large_monster_UI.stamina.percentage_label; - - local rage_bar = config.current_config.large_monster_UI.rage.bar; - local rage_label = config.current_config.large_monster_UI.rage.text_label; - local rage_value_label = table_helpers.deep_copy(config.current_config.large_monster_UI.rage.value_label); - local rage_percentage_label = table_helpers.deep_copy(config.current_config.large_monster_UI.rage.percentage_label); - - if monster.health <= monster.capture_health then - health_bar.colors = health_bar.colors.capture; - end - - local monster_name_text = ""; - if config.current_config.large_monster_UI.monster_name_label.include.monster_name then - monster_name_text = string.format("%s ", monster.name); - end - - if config.current_config.large_monster_UI.monster_name_label.include.crown and monster.crown ~= "" then - monster_name_text = monster_name_text .. string.format("%s ", monster.crown); - end - if config.current_config.large_monster_UI.monster_name_label.include.size then - monster_name_text = monster_name_text .. string.format("#%.0f ", 100 * monster.size); - end - - if config.current_config.large_monster_UI.monster_name_label.include.scrown_thresholds then - monster_name_text = monster_name_text .. string.format("<=%.0f >=%.0f >=%.0f", 100 * monster.small_border, - 100 * monster.big_border, 100 * monster.king_border); - end - - local rage_bar_percentage = monster.rage_percentage; - if monster.is_in_rage then - rage_bar_percentage = monster.rage_timer_percentage; - end - - if config.current_config.large_monster_UI.dynamic_positioning.enabled then - - if config.current_config.large_monster_UI.dynamic_positioning.max_distance == 0 then - return; - end - - local distance = (player.myself_position - monster.position):length(); - - if distance > config.current_config.large_monster_UI.dynamic_positioning.max_distance then - goto continue; - end - - if config.current_config.large_monster_UI.dynamic_positioning.opacity_falloff then - - local opacity_falloff = 1 - (distance / config.current_config.large_monster_UI.dynamic_positioning.max_distance); - - monster_name_label = table_helpers.deep_copy(config.current_config.large_monster_UI.monster_name_label); - - health_label = table_helpers.deep_copy(config.current_config.large_monster_UI.health.text_label); - health_value_label = table_helpers.deep_copy(config.current_config.large_monster_UI.health.value_label); - health_percentage_label = table_helpers.deep_copy(config.current_config.large_monster_UI.health.percentage_label); - - stamina_bar = table_helpers.deep_copy(config.current_config.large_monster_UI.stamina.bar); - stamina_label = table_helpers.deep_copy(config.current_config.large_monster_UI.stamina.text_label); - stamina_value_label = table_helpers.deep_copy(config.current_config.large_monster_UI.stamina.value_label); - stamina_percentage_label = table_helpers.deep_copy(config.current_config.large_monster_UI.stamina.percentage_label); - - rage_bar = table_helpers.deep_copy(config.current_config.large_monster_UI.rage.bar); - rage_label = table_helpers.deep_copy(config.current_config.large_monster_UI.rage.text_label); - - drawing.scale_label_opacity(monster_name_label, opacity_falloff); - - drawing.scale_bar_opacity(health_bar, opacity_falloff); - drawing.scale_label_opacity(health_label, opacity_falloff); - drawing.scale_label_opacity(health_value_label, opacity_falloff); - drawing.scale_label_opacity(health_percentage_label, opacity_falloff); - - drawing.scale_bar_opacity(stamina_bar, opacity_falloff); - drawing.scale_label_opacity(stamina_label, opacity_falloff); - drawing.scale_label_opacity(stamina_value_label, opacity_falloff); - drawing.scale_label_opacity(stamina_percentage_label, opacity_falloff); - - drawing.scale_bar_opacity(rage_bar, opacity_falloff); - drawing.scale_label_opacity(rage_label, opacity_falloff); - drawing.scale_label_opacity(rage_value_label, opacity_falloff); - drawing.scale_label_opacity(rage_percentage_label, opacity_falloff); - end - end - - if monster.is_in_rage then - rage_value_label.visibility = false; - rage_percentage_label.text = "%.0f:%04.1f"; - end - - drawing.draw_bar(health_bar, position_on_screen, monster.health_percentage); - drawing.draw_bar(stamina_bar, position_on_screen, monster.stamina_percentage); - drawing.draw_bar(rage_bar, position_on_screen, rage_bar_percentage); - - drawing.draw_label(monster_name_label, position_on_screen, monster_name_text); - - drawing.draw_label(health_label, position_on_screen); - drawing.draw_label(health_value_label, position_on_screen, monster.health, monster.max_health); - drawing.draw_label(health_percentage_label, position_on_screen, 100 * monster.health_percentage); - - drawing.draw_label(stamina_label, position_on_screen); - drawing.draw_label(stamina_value_label, position_on_screen, monster.stamina, monster.max_stamina); - drawing.draw_label(stamina_percentage_label, position_on_screen, 100 * monster.stamina_percentage); - - drawing.draw_label(rage_label, position_on_screen); - drawing.draw_label(rage_value_label, position_on_screen, monster.rage_point, monster.rage_limit); - - if monster.is_in_rage then - drawing.draw_label(rage_percentage_label, position_on_screen, monster.rage_minutes_left, monster.rage_seconds_left); - else - drawing.draw_label(rage_percentage_label, position_on_screen, 100 * monster.rage_percentage); - end - - i = i + 1; - ::continue:: - end -end - -function large_monster_UI.init_module() - singletons = require("MHR_Overlay.Game_Handler.singletons"); - config = require("MHR_Overlay.Misc.config"); - customization_menu = require("MHR_Overlay.UI.customization_menu"); - large_monster = require("MHR_Overlay.Monsters.large_monster"); - screen = require("MHR_Overlay.Game_Handler.screen"); - player = require("MHR_Overlay.Damage_Meter.player"); - drawing = require("MHR_Overlay.UI.drawing"); - table_helpers = require("MHR_Overlay.Misc.table_helpers"); -end - -return large_monster_UI; \ No newline at end of file diff --git a/MHR_Overlay/UI/small_monster_UI.lua b/MHR_Overlay/UI/small_monster_UI.lua deleted file mode 100644 index fde7d47..0000000 --- a/MHR_Overlay/UI/small_monster_UI.lua +++ /dev/null @@ -1,181 +0,0 @@ -local small_monster_UI = {}; -local singletons; -local config; -local small_monster; -local customization_menu; -local screen; -local player; -local drawing; -local table_helpers; - -function small_monster_UI.draw() - if singletons.enemy_manager == nil then - return; - end - - local displayed_monsters = {}; - - local enemy_count = singletons.enemy_manager:call("getZakoEnemyCount"); - if enemy_count == nil then - customization_menu.status = "No enemy count"; - return; - end - - for i = 0, enemy_count - 1 do - local enemy = singletons.enemy_manager:call("getZakoEnemy", i); - if enemy == nil then - customization_menu.status = "No enemy"; - break - end - - local monster = small_monster.list[enemy]; - if monster == nil then - customization_menu.status = "No monster hp entry"; - break - end - - table.insert(displayed_monsters, monster); - end - - if not config.current_config.small_monster_UI.dynamic_positioning.enabled then - -- sort here - if config.current_config.small_monster_UI.sorting.type == "Normal" and config.current_config.small_monster_UI.sorting.reversed_order then - local reversed_monsters = {}; - for i = #displayed_monsters, 1, -1 do - table.insert(reversed_monsters, displayed_monsters[i]); - end - displayed_monsters = reversed_monsters; - - elseif config.current_config.small_monster_UI.sorting.type == "Health" then - if config.current_config.small_monster_UI.sorting.reversed_order then - table.sort(displayed_monsters, function(left, right) - return left.health > right.health; - end); - else - table.sort(displayed_monsters, function(left, right) - return left.health < right.health; - end); - end - - elseif config.current_config.small_monster_UI.sorting.type == "Health Percentage" then - if config.current_config.small_monster_UI.sorting.reversed_order then - table.sort(displayed_monsters, function(left, right) - return left.health_percentage > right.health_percentage; - end); - else - table.sort(displayed_monsters, function(left, right) - return left.health_percentage < right.health_percentage; - end); - end - end - end - - x = ""; - local i = 0; - for _, monster in ipairs(displayed_monsters) do - local position_on_screen; - - if config.current_config.small_monster_UI.dynamic_positioning.enabled then - local world_offset = Vector3f.new(config.current_config.small_monster_UI.dynamic_positioning.world_offset.x, config.current_config.small_monster_UI.dynamic_positioning.world_offset.y, config.current_config.small_monster_UI.dynamic_positioning.world_offset.z); - - position_on_screen = draw.world_to_screen(monster.position + world_offset); - - if position_on_screen == nil then - goto continue - end - - position_on_screen.x = position_on_screen.x + config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.x; - position_on_screen.y = position_on_screen.y + config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.y; - else - position_on_screen = screen.calculate_absolute_coordinates(config.current_config.small_monster_UI.position); - if config.current_config.small_monster_UI.settings.orientation == "Horizontal" then - position_on_screen.x = position_on_screen.x + config.current_config.small_monster_UI.spacing.x * i; - - else - position_on_screen.y = position_on_screen.y + config.current_config.small_monster_UI.spacing.y * i; - end - end - - local monster_name_label = config.current_config.small_monster_UI.monster_name_label; - - local health_bar = config.current_config.small_monster_UI.health.bar; - local health_label = config.current_config.small_monster_UI.health.text_label; - local health_value_label = config.current_config.small_monster_UI.health.value_label; - local health_percentage_label = config.current_config.small_monster_UI.health.percentage_label; - - local stamina_bar = config.current_config.small_monster_UI.stamina.bar; - local stamina_label = config.current_config.small_monster_UI.stamina.text_label; - local stamina_value_label = config.current_config.small_monster_UI.stamina.value_label; - local stamina_percentage_label = config.current_config.small_monster_UI.stamina.percentage_label; - - if config.current_config.small_monster_UI.dynamic_positioning.enabled then - if config.current_config.small_monster_UI.dynamic_positioning.max_distance == 0 then - return; - end - - local distance = (player.myself_position - monster.position):length(); - - if distance > config.current_config.small_monster_UI.dynamic_positioning.max_distance then - goto continue; - end - - if config.current_config.small_monster_UI.dynamic_positioning.opacity_falloff then - local opacity_falloff = 1 - (distance / config.current_config.small_monster_UI.dynamic_positioning.max_distance); - - monster_name_label = table_helpers.deep_copy(config.current_config.small_monster_UI.monster_name_label); - - health_bar = table_helpers.deep_copy(config.current_config.small_monster_UI.health.bar); - health_label = table_helpers.deep_copy(config.current_config.small_monster_UI.health.text_label); - health_value_label = table_helpers.deep_copy(config.current_config.small_monster_UI.health.value_label); - health_percentage_label = table_helpers.deep_copy(config.current_config.small_monster_UI.health.percentage_label); - - stamina_bar = table_helpers.deep_copy(config.current_config.small_monster_UI.stamina.bar); - stamina_label = table_helpers.deep_copy(config.current_config.small_monster_UI.stamina.text_label); - stamina_value_label = table_helpers.deep_copy(config.current_config.small_monster_UI.stamina.value_label); - stamina_percentage_label = table_helpers.deep_copy(config.current_config.small_monster_UI.stamina.percentage_label); - - drawing.scale_bar_opacity(health_bar, opacity_falloff); - drawing.scale_bar_opacity(stamina_bar, opacity_falloff) - - drawing.scale_label_opacity(monster_name_label, opacity_falloff); - - drawing.scale_label_opacity(health_label, opacity_falloff); - drawing.scale_label_opacity(health_value_label, opacity_falloff); - drawing.scale_label_opacity(health_percentage_label, opacity_falloff); - - drawing.scale_label_opacity(stamina_label, opacity_falloff); - drawing.scale_label_opacity(stamina_value_label, opacity_falloff); - drawing.scale_label_opacity(stamina_percentage_label, opacity_falloff); - end - end - - drawing.draw_bar(health_bar, position_on_screen, monster.health_percentage); - drawing.draw_bar(stamina_bar, position_on_screen, monster.stamina_percentage); - - drawing.draw_label(monster_name_label, position_on_screen, monster.name); - - drawing.draw_label(health_label, position_on_screen); - drawing.draw_label(health_value_label, position_on_screen, monster.health, monster.max_health); - drawing.draw_label(health_percentage_label, position_on_screen, 100 * monster.health_percentage); - - drawing.draw_label(stamina_label, position_on_screen); - drawing.draw_label(stamina_value_label, position_on_screen, monster.stamina, monster.max_stamina); - drawing.draw_label(stamina_percentage_label, position_on_screen, 100 * monster.stamina_percentage); - - i = i + 1; - ::continue:: - end -end - -function small_monster_UI.init_module() - singletons = require("MHR_Overlay.Game_Handler.singletons"); - config = require("MHR_Overlay.Misc.config"); - customization_menu = require("MHR_Overlay.UI.customization_menu"); - small_monster = require("MHR_Overlay.Monsters.small_monster"); - screen = require("MHR_Overlay.Game_Handler.screen"); - player = require("MHR_Overlay.Damage_Meter.player"); - drawing = require("MHR_Overlay.UI.drawing"); - table_helpers = require("MHR_Overlay.Misc.table_helpers"); -end - -return small_monster_UI; \ No newline at end of file diff --git a/MHR_Overlay/UI/time_UI.lua b/MHR_Overlay/UI/time_UI.lua deleted file mode 100644 index dc186fe..0000000 --- a/MHR_Overlay/UI/time_UI.lua +++ /dev/null @@ -1,46 +0,0 @@ -local time_UI = {}; -local singletons; -local customization_menu; -local screen; -local config; -local drawing; - -function time_UI.draw() - if singletons.quest_manager == nil then - return; - end - - - - local quest_time_elapsed_minutes = singletons.quest_manager:call("getQuestElapsedTimeMin"); - if quest_time_elapsed_minutes == nil then - customization_menu.status = "No quest time elapsed minutes"; - return; - end - - local quest_time_total_elapsed_seconds = singletons.quest_manager:call("getQuestElapsedTimeSec"); - if quest_time_total_elapsed_seconds == nil then - customization_menu.status = "No quest time total elapsed seconds"; - return; - end - - if quest_time_total_elapsed_seconds == 0 then - return; - end - - local quest_time_elapsed_seconds = quest_time_total_elapsed_seconds - quest_time_elapsed_minutes * 60; - - local position_on_screen = screen.calculate_absolute_coordinates(config.current_config.time_UI.position); - - drawing.draw_label(config.current_config.time_UI.time_label, position_on_screen, quest_time_elapsed_minutes, quest_time_elapsed_seconds); -end - -function time_UI.init_module() - singletons = require("MHR_Overlay.Game_Handler.singletons"); - customization_menu = require("MHR_Overlay.UI.customization_menu"); - screen = require("MHR_Overlay.Game_Handler.screen"); - config = require("MHR_Overlay.Misc.config"); - drawing = require("MHR_Overlay.UI.drawing"); -end - -return time_UI; \ No newline at end of file diff --git a/MHR_Overlay.lua b/reframework/autorun/MHR_Overlay.lua similarity index 96% rename from MHR_Overlay.lua rename to reframework/autorun/MHR_Overlay.lua index 7657049..accce88 100644 --- a/MHR_Overlay.lua +++ b/reframework/autorun/MHR_Overlay.lua @@ -1,164 +1,165 @@ -x = ""; - -local quest_status = require("MHR_Overlay.Game_Handler.quest_status"); -local screen = require("MHR_Overlay.Game_Handler.screen"); -local singletons = require("MHR_Overlay.Game_Handler.singletons"); - -local config = require("MHR_Overlay.Misc.config"); -local language = require("MHR_Overlay.Misc.language"); -local table_helpers = require("MHR_Overlay.Misc.table_helpers"); -local part_names = require("MHR_Overlay.Misc.part_names"); - -local player = require("MHR_Overlay.Damage_Meter.player"); -local damage_hook = require("MHR_Overlay.Damage_Meter.damage_hook"); - -local body_part = require("MHR_Overlay.Monsters.body_part"); -local large_monster = require("MHR_Overlay.Monsters.large_monster"); -local monster_hook = require("MHR_Overlay.Monsters.monster_hook"); -local small_monster = require("MHR_Overlay.Monsters.small_monster"); - -local damage_meter_UI = require("MHR_Overlay.UI.Modules.damage_meter_UI"); -local large_monster_UI = require("MHR_Overlay.UI.Modules.large_monster_UI"); -local small_monster_UI = require("MHR_Overlay.UI.Modules.small_monster_UI"); -local time_UI = require("MHR_Overlay.UI.Modules.time_UI"); - -local body_part_UI_entity = require("MHR_Overlay.UI.UI_Entities.body_part_UI_entity"); -local damage_UI_entity = require("MHR_Overlay.UI.UI_Entities.damage_UI_entity"); -local health_UI_entity = require("MHR_Overlay.UI.UI_Entities.health_UI_entity"); -local stamina_UI_entity = require("MHR_Overlay.UI.UI_Entities.stamina_UI_entity"); -local rage_UI_entity = require("MHR_Overlay.UI.UI_Entities.rage_UI_entity"); - -local customization_menu = require("MHR_Overlay.UI.customization_menu"); -local drawing = require("MHR_Overlay.UI.drawing"); - -------------------------INIT MODULES------------------------- --- #region -screen.init_module(); -singletons.init_module(); -table_helpers.init_module(); - -language.init_module(); -config.init_module(); -quest_status.init_module(); -part_names.init_module(); - -damage_UI_entity.init_module(); -health_UI_entity.init_module(); -stamina_UI_entity.init_module(); -rage_UI_entity.init_module(); - -damage_hook.init_module(); -player.init_module(); - -body_part.init_module(); -large_monster.init_module(); -monster_hook.init_module(); -small_monster.init_module(); - -customization_menu.init_module(); -body_part_UI_entity.init_module(); -damage_meter_UI.init_module(); -drawing.init_module(); -large_monster_UI.init_module(); -small_monster_UI.init_module(); -time_UI.init_module(); - - - -log.info("[MHR Overlay] loaded"); --- #endregion -------------------------INIT MODULES------------------------- - ---------------------------RE_IMGUI--------------------------- --- #region -re.on_draw_ui(function() - if imgui.button("MHR Overlay " .. config.current_config.version) then - customization_menu.is_opened = not customization_menu.is_opened; - end -end); - -re.on_frame(function() - - if not reframework:is_drawing_ui() then - customization_menu.is_opened = false; - end - - if customization_menu.is_opened then - pcall(customization_menu.draw); - end -end); - -re.on_frame(function() - --draw.text("x: " .. tostring(x), 450, 50, 0xFFFFFFFF); -end); --- #endregion ---------------------------RE_IMGUI--------------------------- - -----------------------------D2D------------------------------ - --- #region -d2d.register(function() - drawing.init_font(); -end, function() - customization_menu.status = "OK"; - screen.update_window_size(); - singletons.init(); - player.update_myself_position(); - quest_status.update_is_online(); - - if quest_status.index < 2 then - quest_status.update_is_training_area(); - - if quest_status.is_training_area then - local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.training_area.large_monster_dynamic_UI; - local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.training_area.large_monster_static_UI; - - if dynamic_enabled or static_enabled then - large_monster_UI.draw(dynamic_enabled, static_enabled); - end - - if config.current_config.damage_meter_UI.enabled and config.current_config.global_settings.module_visibility.training_area.damage_meter_UI then - damage_meter_UI.draw(); - end - end - - elseif quest_status.index == 2 then - if config.current_config.small_monster_UI.enabled and config.current_config.global_settings.module_visibility.during_quest.small_monster_UI then - small_monster_UI.draw(); - end - - local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.during_quest.large_monster_dynamic_UI; - local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.during_quest.large_monster_static_UI; - - if dynamic_enabled or static_enabled then - large_monster_UI.draw(dynamic_enabled, static_enabled); - end - - if config.current_config.time_UI.enabled and config.current_config.global_settings.module_visibility.during_quest.time_UI then - time_UI.draw(); - end - - if config.current_config.damage_meter_UI.enabled and config.current_config.global_settings.module_visibility.during_quest.damage_meter_UI then - damage_meter_UI.draw(); - end - elseif quest_status.index > 2 then - if config.current_config.small_monster_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.small_monster_UI then - small_monster_UI.draw(); - end - - local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_dynamic_UI; - local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_static_UI; - - if dynamic_enabled or static_enabled then - large_monster_UI.draw(dynamic_enabled, static_enabled); - end - - if config.current_config.time_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI then - time_UI.draw(); - end - - if config.current_config.damage_meter_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI then - damage_meter_UI.draw(); - end - end -end); +x = ""; + +local quest_status = require("MHR_Overlay.Game_Handler.quest_status"); +local screen = require("MHR_Overlay.Game_Handler.screen"); +local singletons = require("MHR_Overlay.Game_Handler.singletons"); + +local config = require("MHR_Overlay.Misc.config"); +local language = require("MHR_Overlay.Misc.language"); +local table_helpers = require("MHR_Overlay.Misc.table_helpers"); +local part_names = require("MHR_Overlay.Misc.part_names"); + +local player = require("MHR_Overlay.Damage_Meter.player"); +local damage_hook = require("MHR_Overlay.Damage_Meter.damage_hook"); + +local body_part = require("MHR_Overlay.Monsters.body_part"); +local large_monster = require("MHR_Overlay.Monsters.large_monster"); +local monster_hook = require("MHR_Overlay.Monsters.monster_hook"); +local small_monster = require("MHR_Overlay.Monsters.small_monster"); + +local damage_meter_UI = require("MHR_Overlay.UI.Modules.damage_meter_UI"); +local large_monster_UI = require("MHR_Overlay.UI.Modules.large_monster_UI"); +local small_monster_UI = require("MHR_Overlay.UI.Modules.small_monster_UI"); +local time_UI = require("MHR_Overlay.UI.Modules.time_UI"); + +local body_part_UI_entity = require("MHR_Overlay.UI.UI_Entities.body_part_UI_entity"); +local damage_UI_entity = require("MHR_Overlay.UI.UI_Entities.damage_UI_entity"); +local health_UI_entity = require("MHR_Overlay.UI.UI_Entities.health_UI_entity"); +local stamina_UI_entity = require("MHR_Overlay.UI.UI_Entities.stamina_UI_entity"); +local rage_UI_entity = require("MHR_Overlay.UI.UI_Entities.rage_UI_entity"); + +local customization_menu = require("MHR_Overlay.UI.customization_menu"); +local drawing = require("MHR_Overlay.UI.drawing"); + +------------------------INIT MODULES------------------------- +-- #region +screen.init_module(); +singletons.init_module(); +table_helpers.init_module(); + +language.init_module(); +config.init_module(); +quest_status.init_module(); +part_names.init_module(); + +damage_UI_entity.init_module(); +health_UI_entity.init_module(); +stamina_UI_entity.init_module(); +rage_UI_entity.init_module(); + +damage_hook.init_module(); +player.init_module(); + +body_part.init_module(); +large_monster.init_module(); +monster_hook.init_module(); +small_monster.init_module(); + +customization_menu.init_module(); +body_part_UI_entity.init_module(); +damage_meter_UI.init_module(); +drawing.init_module(); +large_monster_UI.init_module(); +small_monster_UI.init_module(); +time_UI.init_module(); + + + +log.info("[MHR Overlay] loaded"); +-- #endregion +------------------------INIT MODULES------------------------- + +--------------------------RE_IMGUI--------------------------- +-- #region +re.on_draw_ui(function() + if imgui.button(language.current_language.customization_menu.mod_name .. " " .. config.current_config.version) then + customization_menu.is_opened = not customization_menu.is_opened; + end +end); + +re.on_frame(function() + + if not reframework:is_drawing_ui() then + customization_menu.is_opened = false; + end + + if customization_menu.is_opened then + pcall(customization_menu.draw); + end +end); + +re.on_frame(function() + --draw.text("x: " .. tostring(x), 451, 51, 0xFF000000); + --draw.text("x: " .. tostring(x), 450, 50, 0xFFFFFFFF); +end); +-- #endregion +--------------------------RE_IMGUI--------------------------- + +----------------------------D2D------------------------------ + +-- #region +d2d.register(function() + drawing.init_font(); +end, function() + customization_menu.status = "OK"; + screen.update_window_size(); + singletons.init(); + player.update_myself_position(); + quest_status.update_is_online(); + + if quest_status.index < 2 then + quest_status.update_is_training_area(); + + if quest_status.is_training_area then + local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.training_area.large_monster_dynamic_UI; + local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.training_area.large_monster_static_UI; + + if dynamic_enabled or static_enabled then + large_monster_UI.draw(dynamic_enabled, static_enabled); + end + + if config.current_config.damage_meter_UI.enabled and config.current_config.global_settings.module_visibility.training_area.damage_meter_UI then + damage_meter_UI.draw(); + end + end + + elseif quest_status.index == 2 then + if config.current_config.small_monster_UI.enabled and config.current_config.global_settings.module_visibility.during_quest.small_monster_UI then + small_monster_UI.draw(); + end + + local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.during_quest.large_monster_dynamic_UI; + local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.during_quest.large_monster_static_UI; + + if dynamic_enabled or static_enabled then + large_monster_UI.draw(dynamic_enabled, static_enabled); + end + + if config.current_config.time_UI.enabled and config.current_config.global_settings.module_visibility.during_quest.time_UI then + time_UI.draw(); + end + + if config.current_config.damage_meter_UI.enabled and config.current_config.global_settings.module_visibility.during_quest.damage_meter_UI then + damage_meter_UI.draw(); + end + elseif quest_status.index > 2 then + if config.current_config.small_monster_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.small_monster_UI then + small_monster_UI.draw(); + end + + local dynamic_enabled = config.current_config.large_monster_UI.dynamic.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_dynamic_UI; + local static_enabled = config.current_config.large_monster_UI.static.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_static_UI; + + if dynamic_enabled or static_enabled then + large_monster_UI.draw(dynamic_enabled, static_enabled); + end + + if config.current_config.time_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI then + time_UI.draw(); + end + + if config.current_config.damage_meter_UI.enabled and config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI then + damage_meter_UI.draw(); + end + end +end); diff --git a/MHR_Overlay/Damage_Meter/damage_hook.lua b/reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua similarity index 100% rename from MHR_Overlay/Damage_Meter/damage_hook.lua rename to reframework/autorun/MHR_Overlay/Damage_Meter/damage_hook.lua diff --git a/MHR_Overlay/Damage_Meter/player.lua b/reframework/autorun/MHR_Overlay/Damage_Meter/player.lua similarity index 99% rename from MHR_Overlay/Damage_Meter/player.lua rename to reframework/autorun/MHR_Overlay/Damage_Meter/player.lua index 2f7bff3..f97ec36 100644 --- a/MHR_Overlay/Damage_Meter/player.lua +++ b/reframework/autorun/MHR_Overlay/Damage_Meter/player.lua @@ -246,7 +246,7 @@ function player.update_myself_position() local master_player_position = get_position_method:call(master_player_transform); if master_player_position == nil then - customization_menu.status = "No masterplayer position"; + customization_menu.status = "No master player position"; return; end diff --git a/MHR_Overlay/Game_Handler/quest_status.lua b/reframework/autorun/MHR_Overlay/Game_Handler/quest_status.lua similarity index 90% rename from MHR_Overlay/Game_Handler/quest_status.lua rename to reframework/autorun/MHR_Overlay/Game_Handler/quest_status.lua index 50135b0..9a47a93 100644 --- a/MHR_Overlay/Game_Handler/quest_status.lua +++ b/reframework/autorun/MHR_Overlay/Game_Handler/quest_status.lua @@ -4,6 +4,7 @@ local customization_menu; local player; local small_monster; local large_monster; +local damage_meter_UI; quest_status.index = 0; quest_status.is_online = false; @@ -25,6 +26,7 @@ sdk.hook(on_changed_game_status, function(args) player.total = player.new(0, "Total", 0); small_monster.list = {}; large_monster.list = {}; + damage_meter_UI.freeze_displayed_players = false; end quest_status.index = new_quest_status; @@ -60,6 +62,10 @@ function quest_status.update_is_online() return; end + if quest_status.is_online and not is_quest_online then + damage_meter_UI.freeze_displayed_players = true; + end + quest_status.is_online = is_quest_online; end @@ -83,6 +89,7 @@ function quest_status.init_module() player = require("MHR_Overlay.Damage_Meter.player"); small_monster = require("MHR_Overlay.Monsters.small_monster"); large_monster = require("MHR_Overlay.Monsters.large_monster"); + damage_meter_UI = require("MHR_Overlay.UI.Modules.damage_meter_UI"); quest_status.init(); end diff --git a/MHR_Overlay/Game_Handler/screen.lua b/reframework/autorun/MHR_Overlay/Game_Handler/screen.lua similarity index 94% rename from MHR_Overlay/Game_Handler/screen.lua rename to reframework/autorun/MHR_Overlay/Game_Handler/screen.lua index f24fa5a..1a00c26 100644 --- a/MHR_Overlay/Game_Handler/screen.lua +++ b/reframework/autorun/MHR_Overlay/Game_Handler/screen.lua @@ -16,20 +16,24 @@ function screen.update_window_size() end function screen.calculate_absolute_coordinates(position) + -- top left if position.anchor == "Top-Left" then return {x = position.x, y = position.y}; end + -- top right if position.anchor == "Top-Right" then local screen_x = screen.width - position.x; return {x = screen_x, y = position.y}; end + -- bottom left if position.anchor == "Bottom-Left" then local screen_y = screen.height - position.y; return {x = position.x, y = screen_y}; end + -- bottom right if position.anchor == "Bottom-Right" then local screen_x = screen.width - position.x; local screen_y = screen.height - position.y; diff --git a/MHR_Overlay/Game_Handler/singletons.lua b/reframework/autorun/MHR_Overlay/Game_Handler/singletons.lua similarity index 100% rename from MHR_Overlay/Game_Handler/singletons.lua rename to reframework/autorun/MHR_Overlay/Game_Handler/singletons.lua diff --git a/reframework/autorun/MHR_Overlay/Misc/config.lua b/reframework/autorun/MHR_Overlay/Misc/config.lua new file mode 100644 index 0000000..4386c97 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/Misc/config.lua @@ -0,0 +1,1370 @@ +local config = {}; +local table_helpers; +local language; + +config.current_config = nil; +config.config_file_name = "MHR Overlay/config.json"; + +config.default_config = {}; + +function config.init() + config.default_config = { + global_settings = { + language = "en-us", + + performance = { + max_monster_updates_per_tick = 2, + prioritize_large_monsters = false, + }, + + module_visibility = { + during_quest = { + small_monster_UI = true, + large_monster_dynamic_UI = true, + large_monster_static_UI = true, + time_UI = true, + damage_meter_UI = true + }, + + quest_summary_screen = { + small_monster_UI = false, + large_monster_dynamic_UI = false, + large_monster_static_UI = true, + time_UI = true, + damage_meter_UI = true + }, + + training_area = { + large_monster_dynamic_UI = true, + large_monster_static_UI = true, + damage_meter_UI = true + } + }, + + font = { + family = "Consolas", + size = 13, + bold = true, + italic = false + }, + }, + + small_monster_UI = { + enabled = true, + + settings = { + orientation = "Horizontal" + }, + + dynamic_positioning = { + enabled = true, + max_distance = 300, + opacity_falloff = true, + + world_offset = { + x = 0, + y = 3, + z = 0 + }, + + viewport_offset = { + x = -50, + y = 0 + } + }, + + static_spacing = { + x = 110, + y = 40 + }, + + static_sorting = { + type = "Normal", + reversed_order = false + }, + + static_position = { + x = 0, + y = 0, + anchor = "Top-Left" + }, + + monster_name_label = { + visibility = true, + text = "%s", + + offset = { + x = 5, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + health = { + visibility = true, + + text_label = { + visibility = false, + text = language.current_language.UI.HP, + offset = { + x = -25, + y = 12 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 50, + y = 25 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = false, + text = "%5.1f%%", + + offset = { + x = 55, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 0, + y = 17 + }, + + size = { + width = 100, + height = 7 + }, + + colors = { + foreground = 0xB974A652, + background = 0xB9000000, + capture_health = 0xB9CCCC33 + } + } + }, + + stamina = { + visibility = false, + + text_label = { + visibility = true, + text = language.current_language.UI.stamina, + offset = { + x = 15, + y = 37 + }, + color = 0xFFA3F5F0, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 15, + y = 54 + }, + color = 0xFFA3F5F0, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = false, + text = "%5.1f%%", + + offset = { + x = 55, + y = 64 + }, + color = 0xFFA3F5F0, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 10, + y = 54 + }, + + size = { + width = 90, + height = 4 + }, + + colors = { + foreground = 0xB966CCC5, + background = 0x88000000 + } + } + } + }, + + large_monster_UI = { + dynamic = { + enabled = true, + + settings = { + max_distance = 300, + opacity_falloff = true + }, + + world_offset = { + x = 0, + y = 6, + z = 0 + }, + + viewport_offset = { + x = -100, + y = 0 + }, + + monster_name_label = { + visibility = true, + text = "%s", + + include = { + monster_name = true, + crown = true, + size = true, + crown_thresholds = false + }, + + offset = { + x = 5, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + health = { + visibility = true, + + text_label = { + visibility = false, + text = language.current_language.UI.HP, + offset = { + x = -25, + y = 19 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 5, + y = 19 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 150, + y = 19 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 0, + y = 17 + }, + + size = { + width = 200, + height = 20 + }, + + colors = { + foreground = 0xB974A653, + background = 0xB9000000, + capture ={ + foreground = 0xB9CCCC33, + background = 0x88000000 + } + } + } + }, + + stamina = { + visibility = true, + + text_label = { + visibility = true, + text = language.current_language.UI.stamina, + offset = { + x = 15, + y = 37 + }, + color = 0xFFA3F5F0, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 55, + y = 54 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 145, + y = 54 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 10, + y = 54 + }, + + size = { + width = 185, + height = 7 + }, + + colors = { + foreground = 0xB966CCC5, + background = 0x88000000 + } + } + }, + + rage = { + visibility = true, + + text_label = { + visibility = true, + text = language.current_language.UI.rage, + offset = { + x = 15, + y = 61 + }, + color = 0xFFFF9393, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 55, + y = 78 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 145, + y = 78 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 10, + y = 78 + }, + + size = { + width = 185, + height = 7 + }, + + colors = { + foreground = 0xB9CC6666, + background = 0x88000000 + } + } + }, + + parts = { + visibility = false, + + offset = { + x = 0, + y = 50 + }, + + spacing = { + x = 0, + y = 24, + }, + + settings = { + hide_undamaged_parts = true, + }, + + sorting = { + type = "Normal", + reversed_order = false + }, + + part_name_label = { + visibility = true, + text = "%s", + + include = { + part_name = true, + break_count = true + }, + + offset = { + x = 15, + y = 61 + }, + color = 0xFFf9d9ff, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + text_label = { + visibility = false, + text = language.current_language.UI.HP, + offset = { + x = -15, + y = 69 + }, + color = 0xF1F4A3CC, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 55, + y = 74 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 145, + y = 74 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 10, + y = 75 + }, + + size = { + width = 185, + height = 5 + }, + + colors = { + foreground = 0xB9ca85cc, + background = 0x88000000 + } + } + } + }, + + static = { + enabled = true, + + spacing = { + x = 220, + y = 40, + }, + + settings = { + orientation = "Horizontal" + }, + + sorting = { + type = "Normal", + reversed_order = false + }, + + position = { + x = 525, + y = 125,--y = 44, + anchor = "Top-Left" + }, + + monster_name_label = { + visibility = true, + text = "%s", + + include = { + monster_name = true, + crown = true, + size = true, + crown_thresholds = false + }, + + offset = { + x = 5, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + health = { + visibility = true, + + text_label = { + visibility = false, + text = language.current_language.UI.HP, + offset = { + x = -25, + y = 19 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 5, + y = 19 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 150, + y = 19 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 0, + y = 17 + }, + + size = { + width = 200, + height = 20 + }, + + colors = { + foreground = 0xB974A653, + background = 0xB9000000, + capture ={ + foreground = 0xB9CCCC33, + background = 0x88000000 + } + } + } + }, + + stamina = { + visibility = true, + + text_label = { + visibility = true, + text = language.current_language.UI.stamina, + offset = { + x = 15, + y = 37 + }, + color = 0xFFA3F5F0, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 55, + y = 54 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 145, + y = 54 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 10, + y = 54 + }, + + size = { + width = 185, + height = 7 + }, + + colors = { + foreground = 0xB966CCC5, + background = 0x88000000 + } + } + }, + + rage = { + visibility = true, + + text_label = { + visibility = true, + text = language.current_language.UI.rage, + offset = { + x = 15, + y = 61 + }, + color = 0xFFFF9393, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 55, + y = 78 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 145, + y = 78 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 10, + y = 78 + }, + + size = { + width = 185, + height = 7 + }, + + colors = { + foreground = 0xB9CC6666, + background = 0x88000000 + } + } + }, + + parts = { + visibility = true, + + offset = { + x = 0, + y = 50 + }, + + spacing = { + x = 0, + y = 24, + }, + + settings = { + hide_undamaged_parts = true, + }, + + sorting = { + type = "Normal", + reversed_order = false + }, + + part_name_label = { + visibility = true, + text = "%s", + + include = { + part_name = true, + break_count = true + }, + + offset = { + x = 15, + y = 61 + }, + color = 0xFFf9d9ff, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + text_label = { + visibility = false, + text = language.current_language.UI.HP, + offset = { + x = -15, + y = 69 + }, + color = 0xF1F4A3CC, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + value_label = { + visibility = true, + text = "%.0f/%.0f", -- current_health/max_health + offset = { + x = 55, + y = 74 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + percentage_label = { + visibility = true, + text = "%5.1f%%", + + offset = { + x = 145, + y = 74 + }, + color = 0xFFFFFFFF, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + bar = { + visibility = true, + offset = { + x = 10, + y = 75 + }, + + size = { + width = 185, + height = 5 + }, + + colors = { + foreground = 0xB9ca85cc, + background = 0x88000000 + } + } + } + } + }, + + time_UI = { + enabled = true, + + position = { + x = 65, + y = 189, + anchor = "Top-Left" + }, + + time_label = { + visibility = true, + text = "%02d:%06.3f", + offset = { + x = 0, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + } + }, + + damage_meter_UI = { + enabled = true, + + tracked_monster_types = { + small_monsters = true, + large_monsters = true + }, + + tracked_damage_types = { + player_damage = true, + bomb_damage = true, + kunai_damage = true, + installation_damage = true, -- hunting_installations like ballista, cannon, etc. + otomo_damage = true, + monster_damage = true + }, -- note that installations during narwa fight are counted as monster damage + + spacing = { + x = 270, + y = 24 + }, + + settings = { + orientation = "Vertical", -- "Vertical" or "Horizontal" + + hide_module_if_total_damage_is_zero = false, + hide_player_if_player_damage_is_zero = false, + hide_total_if_total_damage_is_zero = false, + total_damage_offset_is_relative = true, + + highlighted_bar = "Me", + damage_bar_relative_to = "Top Damage", -- "total damage" or "top damage" + my_damage_bar_location = "First" -- "normal" or "first" or "last" + }, + + sorting = { + type = "Damage", -- "normal" or "damage" + reversed_order = false + }, + + position = { + x = 525, + y = 225, + -- Possible values: "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" + anchor = "Bottom-Left" + }, + + player_name_label = { + visibility = true, + + include = { + myself = { + hunter_rank = true, + word_player = false, + player_id = false, + player_name = true + }, + + others = { + hunter_rank = true, + word_player = false, + player_id = false, + player_name = true + } + }, + + text = "%s", + offset = { + x = 5, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + damage_value_label = { + visibility = true, + text = "%.0f", + offset = { + x = 145, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + damage_percentage_label = { + visibility = true, + text = "%5.1f%%", + offset = { + x = 205, + y = 0 + }, + color = 0xFFCCF4E1, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + total_damage_label = { + visibility = true, + text = "Total Damage", + offset = { + x = 5, + y = 0 + }, + color = 0xFFFF7373, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + total_damage_value_label = { + visibility = true, + text = "%.0f", + offset = { + x = 145, + y = 0 + }, + color = 0xFFFF7373, + + shadow = { + visibility = true, + offset = { + x = 1, + y = 1 + }, + color = 0xFF000000 + } + }, + + damage_bar = { + visibility = true, + offset = { + x = 0, + y = 17 + }, + + size = { + width = 250, + height = 5 + }, + + colors = { + foreground = 0xA7CCA3F4, + background = 0xA7000000 + } + }, + + highlighted_damage_bar = { + visibility = true, + offset = { + x = 0, + y = 17 + }, + + size = { + width = 250, + height = 5 + }, + + colors = { + foreground = 0xA7F4D5A3, + background = 0xA7000000 + } + } + } + }; +end + +function config.load() + local loaded_config = json.load_file(config.config_file_name); + if loaded_config ~= nil then + log.info('[MHR Overlay] config.json loaded successfully'); + config.current_config = table_helpers.merge(config.default_config, loaded_config); + else + log.error('[MHR Overlay] Failed to load config.json'); + config.current_config = table_helpers.deep_copy(config.default_config); + end +end + +function config.save() + -- save current config to disk, replacing any existing file + local success = json.dump_file(config.config_file_name, config.current_config); + if success then + log.info('[MHR Overlay] config.json saved successfully'); + else + log.error('[MHR Overlay] Failed to save config.json'); + end +end + +function config.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language = require("MHR_Overlay.Misc.language"); + + config.init(); + config.load(); + config.current_config.version = "v1.7"; + + language.update(table_helpers.find_index(language.language_names, config.current_config.global_settings.language, false)); + +end + +return config; \ No newline at end of file diff --git a/reframework/autorun/MHR_Overlay/Misc/language.lua b/reframework/autorun/MHR_Overlay/Misc/language.lua new file mode 100644 index 0000000..58cd703 --- /dev/null +++ b/reframework/autorun/MHR_Overlay/Misc/language.lua @@ -0,0 +1,277 @@ +local language = {}; +local table_helpers; + +language.language_folder = "MHR Overlay\\languages\\"; + +language.default_language = { + parts = { + head = "Head", + neck = "Neck", + body = "Body", + torso = "Torso", + abdomen = "Abdomen", + back = "Back", + tail = "Tail", + + upper_body = "Upper Body", + lower_body = "Lower Body", + + upper_back = "Upper Back", + lower_back = "Lower Back", + + left_wing = "Wing L", + right_wing = "Wing R", + wings = "Wings", + + left_leg = "Leg L", + right_leg = "Leg R", + legs = "Legs", + left_legs = "Legs L", + right_legs = "Legs R", + + left_arm = "Arm L", + right_arm = "Arm R", + arms = "Arms", + + left_arm_ice = "Arm L (Ice)", + right_arm_ice = "Arm R (Ice)", + + left_cutwing = "Cutwing L", + right_cutwing = "Cutwing R", + + head_mud = "Head (Mud)", + tail_mud = "Tail (Mud)", + + tail_windsac = "Tail (Windsac)", + chest_windsac = "Chest (Windsac)", + back_windsac = "Back (Windsac)", + + large_mudbulb = "Large Mudbulb", + mane = "Mane", + rear = "Rear", + claw = "Claw", + dorsal_fin = "Dorsal Fin", + carapace = "Carapace", + spinning = "Spinning", + rock = "Rock" + }, + + UI = { + HP = "HP:", + stamina = "Stamina:", + rage = "Rage:", + gold = "Gold", + silver = "Silver", + mini = "Mini" + }, + + customization_menu = { + mod_name = "MHR Overlay"; + status = "Status", + + modules = "Modules", + global_settings = "Global Settings", + small_monster_UI = "Small Monster UI", + large_monster_UI = "Large Monster UI", + time_UI = "Time UI", + damage_meter_UI = "Damage Meter UI", + + large_monster_dynamic_UI = "Large Monster Dynamic UI", + large_monster_static_UI = "Large Monster Static UI", + + language = "Language", + module_visibility_on_different_screens = "Module Visibility on Different Screens", + during_quest = "During Quest", + quest_summary_screen = "Quest Summary Screen", + training_area = "Training Area", + + performance = "Performance", + max_monster_updates_per_tick = "Max Monster Updates per Tick", + prioritize_large_monsters = "Large Monsters on High Priority"; + + font_notice = "Any changes to the font require script reload!", + + font = "Font", + family = "Family", + size = "Size", + bold = "Bold", + italic = "Italic", + + enabled = "Enabled", + settings = "Settings", + dynamic_positioning = "Dynamic Positioning", + static_position = "Static Position", + static_spacing = "Static Spacing", + static_sorting = "Static Sorting", + monster_name_label = "Monster Name Label", + health = "Health", + stamina = "Stamina", + + static_orientation = "Static Orientation", + + opacity_falloff = "Opacity Falloff", + max_distance = "Max Distance", + world_offset = "World Offset", + viewport_offset = "Viewport Offset", + + x = "X", + y = "Y", + z = "Z", + + anchor = "Anchor", + top_left = "Top-Left", + top_right = "Top-Right", + bottom_left = "Bottom-Left", + bottom_right = "Bottom-Right", + + type = "Type", + normal = "Normal", + health_percentage = "Health Percentage", + distance = "Distance", + reversed_order = "Reversed Order", + + visible = "Visible", + offset = "Offset", + color = "Color", + colors = "Colors", + shadow = "Shadow", + + text_label = "Text Label", + value_label = "Value Label", + percentage_label = "Percentage Label", + bar = "Bar", + + width = "Width", + height = "Height", + foreground = "Foreground", + background = "Background", + + dynamically_positioned = "Dynamically Positioned", + statically_positioned = "Statically Positioned", + + include = "Include", + monster_name = "Monster Name", + crown = "Crown", + crown_thresholds = "Crown Thresholds", + + rage = "Rage", + body_parts = "Body Parts", + hide_undamaged_parts = "Hide Undamaged Parts", + part_name = "Part Name", + break_count = "Break Count", + + orientation = "Orientation", + horizontal = "Horizontal", + vertical = "Vertical", + + position = "Position", + spacing = "Spacing", + sorting = "Sorting", + + part_name_label = "Part Name Label", + + time_label = "Time Label", + + tracked_monster_types = "Tracked Monster Types", + tracked_damage_types = "Tracked Damage Types", + + player_name_label = "Player Name Label", + damage_value_label = "Damage Value Label", + damage_percentage_label = "Damage Percetange Label", + total_damage_label = "Total Damage Label", + total_damage_value_label = "Total Damage Value Label", + damage_bar = "Damage Bar", + highlighted_damage_bar = "Highlighted Damage Bar", + + monster_can_be_captured = "Monster can be captured", + + hide_module_if_total_damage_is_zero = "Hide Module if Total Damage is 0", + hide_player_if_player_damage_is_zero = "Hide Player if Player Damage is 0", + hide_total_if_total_damage_is_zero = "Hide Total if Total Damage is 0", + total_damage_offset_is_relative = "Total Damage Offset is Relative", + + higlighted_bar = "Highlighted Bar", + me = "Me", + top_damage = "Top Damage", + none = "None", + + damage_bars_are_relative_to = "Damage Bars are relative to", + total_damage = "Total Damage", + + my_damage_bar_location = "My Damage Bar Location", + first = "First", + last = "Last", + + small_monsters = "Small Monsters", + large_monsters = "Large Monsters", + + player_damage = "Player Damage", + bomb_damage = "Bomb Damage", + kunai_damage = "Kunai Damage", + installation_damage = "Installation Damage", + otomo_damage = "Otomo Damage", + monster_damage = "Monster Damage", + + damage = "Damage", + + other_players = "Other Players", + hunter_rank = "Hunter Rank", + word_player = "Word \"Player\""; + player_id = "Player ID", + player_name = "Player Name", + } +}; + +language.current_language = {}; + +language.language_names = {"default"}; +language.languages = {language.default_language}; + +function language.load() + local language_files = fs.glob([[MHR Overlay\\languages\\.*json]]); + + if language_files == nil then + return; + end + + for i, language_file in ipairs(language_files) do + local language_name = language_file:gsub(language.language_folder, ""):gsub(".json", ""); + + -- v will be something like `my-cool-mod\config-file-1.json`; + local loaded_language = json.load_file(language_file); + if loaded_language ~= nil then + log.info("[MHR Overlay] " .. language_name .. ".json loaded successfully"); + table.insert(language.language_names, language_name); + table.insert(language.languages, loaded_language); + else + log.error("[MHR Overlay] Failed to load " .. language_name .. ".json"); + end + end + + +end + +function language.save_default() + -- save current config to disk, replacing any existing file + local success = json.dump_file(language.language_folder .. "en-us.json", language.default_language); + if success then + log.info('[MHR Overlay] en-us.json saved successfully'); + else + log.error('[MHR Overlay] Failed to save en-us.json'); + end +end + + +function language.update(index) + language.current_language = table_helpers.deep_copy(language.languages[index]); +end + +function language.init_module() + table_helpers = require("MHR_Overlay.Misc.table_helpers"); + language.save_default(); + language.load(); + language.current_language = table_helpers.deep_copy(language.default_language); + +end + +return language; \ No newline at end of file diff --git a/MHR_Overlay/Misc/part_names.lua b/reframework/autorun/MHR_Overlay/Misc/part_names.lua similarity index 100% rename from MHR_Overlay/Misc/part_names.lua rename to reframework/autorun/MHR_Overlay/Misc/part_names.lua diff --git a/MHR_Overlay/Misc/table_helpers.lua b/reframework/autorun/MHR_Overlay/Misc/table_helpers.lua similarity index 100% rename from MHR_Overlay/Misc/table_helpers.lua rename to reframework/autorun/MHR_Overlay/Misc/table_helpers.lua diff --git a/MHR_Overlay/Monsters/body_part.lua b/reframework/autorun/MHR_Overlay/Monsters/body_part.lua similarity index 100% rename from MHR_Overlay/Monsters/body_part.lua rename to reframework/autorun/MHR_Overlay/Monsters/body_part.lua diff --git a/MHR_Overlay/Monsters/large_monster.lua b/reframework/autorun/MHR_Overlay/Monsters/large_monster.lua similarity index 89% rename from MHR_Overlay/Monsters/large_monster.lua rename to reframework/autorun/MHR_Overlay/Monsters/large_monster.lua index 5bd7b33..125167e 100644 --- a/MHR_Overlay/Monsters/large_monster.lua +++ b/reframework/autorun/MHR_Overlay/Monsters/large_monster.lua @@ -2,12 +2,14 @@ local large_monster = {}; local singletons; local customization_menu; local config; +local language; local table_helpers; local health_UI_entity; local stamina_UI_entity; local rage_UI_entity; local screen; local drawing; + local body_part; local part_names; @@ -74,8 +76,23 @@ function large_monster.get_monster(enemy) return large_monster.list[enemy]; end +local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase"); +local enemy_type_field = enemy_character_base_type_def:get_field("k__BackingField"); +local get_monster_list_register_scale_method = enemy_character_base_type_def:get_method("get_MonsterListRegisterScale"); + +local message_manager_type_def = sdk.find_type_definition("snow.gui.MessageManager"); +local get_enemy_name_message_method = message_manager_type_def:get_method("getEnemyNameMessage"); + +local enemy_manager_type_def = sdk.find_type_definition("snow.enemy.EnemyManager"); +local find_enemy_size_info_method = enemy_manager_type_def:get_method("findEnemySizeInfo"); + +local size_info_type = find_enemy_size_info_method:get_return_type(); +local get_small_border_method = size_info_type:get_method("get_SmallBorder"); +local get_big_border_method = size_info_type:get_method("get_BigBorder"); +local get_king_border_method = size_info_type:get_method("get_KingBorder"); + function large_monster.init(monster, enemy) - local enemy_type = enemy:get_field("k__BackingField"); + local enemy_type = enemy_type_field:get_data(enemy); if enemy_type == nil then customization_menu.status = "No enemy type"; return; @@ -83,18 +100,18 @@ function large_monster.init(monster, enemy) monster.id = enemy_type; - local enemy_name = singletons.message_manager:call("getEnemyNameMessage", enemy_type); + local enemy_name = get_enemy_name_message_method:call(singletons.message_manager, enemy_type); if enemy_name ~= nil then monster.name = enemy_name; end - local size_info = singletons.enemy_manager:call("findEnemySizeInfo", enemy_type); + local size_info = find_enemy_size_info_method:call(singletons.enemy_manager, enemy_type); if size_info ~= nil then - local small_border = size_info:call("get_SmallBorder"); - local big_border = size_info:call("get_BigBorder"); - local king_border = size_info:call("get_KingBorder"); + local small_border = get_small_border_method:call(size_info); + local big_border = get_big_border_method:call(size_info); + local king_border = get_king_border_method:call(size_info); - local size = enemy:call("get_MonsterListRegisterScale"); + local size = get_monster_list_register_scale_method:call(enemy); if small_border ~= nil then monster.small_border = small_border; @@ -108,17 +125,16 @@ function large_monster.init(monster, enemy) monster.king_border = king_border; end - if size ~= nil then monster.size = size; end if monster.size <= monster.small_border then - monster.crown = "Mini"; + monster.crown = language.current_language.UI.mini; elseif monster.size >= monster.king_border then - monster.crown = "Gold"; + monster.crown = language.current_language.UI.gold; elseif monster.size >= monster.big_border then - monster.crown = "Silver"; + monster.crown = language.current_language.UI.silver; end end end @@ -187,26 +203,25 @@ function large_monster.init_dynamic_UI(monster) end end -local enemy_character_base_type = sdk.find_type_definition("snow.enemy.EnemyCharacterBase") -local physical_param_field = enemy_character_base_type:get_field("k__BackingField"); -local status_param_field = enemy_character_base_type:get_field("k__BackingField") -local stamina_param_field = enemy_character_base_type:get_field("k__BackingField") -local anger_param_field = enemy_character_base_type:get_field("k__BackingField") +local physical_param_field = enemy_character_base_type_def:get_field("k__BackingField"); +local status_param_field = enemy_character_base_type_def:get_field("k__BackingField") +local stamina_param_field = enemy_character_base_type_def:get_field("k__BackingField") +local anger_param_field = enemy_character_base_type_def:get_field("k__BackingField") -local physical_param_type = physical_param_field:get_type() +local physical_param_type = physical_param_field:get_type(); local get_vital_method = physical_param_type:get_method("getVital") local get_capture_hp_vital_method = physical_param_type:get_method("get_CaptureHpVital") local vital_list_field = physical_param_type:get_field("_VitalList") -local vital_param_type = get_vital_method:get_return_type() +local vital_param_type = get_vital_method:get_return_type(); local get_current_method = vital_param_type:get_method("get_Current") local get_max_method = vital_param_type:get_method("get_Max") -local stamina_param_type = stamina_param_field:get_type() +local stamina_param_type = stamina_param_field:get_type(); local get_stamina_method = stamina_param_type:get_method("getStamina") local get_max_stamina_method = stamina_param_type:get_method("getMaxStamina") -local anger_param_type = anger_param_field:get_type() +local anger_param_type = anger_param_field:get_type(); local is_anger_method = anger_param_type:get_method("isAnger") local get_anger_point_method = anger_param_type:get_method("get_AngerPoint") local get_limit_anger_method = anger_param_type:get_method("get_LimitAnger") @@ -225,7 +240,9 @@ function large_monster.update_position(enemy) end local monster = large_monster.get_monster(enemy); - if not monster then return end + if not monster then + return; + end -- cache off the game object and transform -- as these are pretty much guaranteed to stay constant @@ -617,6 +634,7 @@ end function large_monster.init_module() singletons = require("MHR_Overlay.Game_Handler.singletons"); customization_menu = require("MHR_Overlay.UI.customization_menu"); + language = require("MHR_Overlay.Misc.language"); config = require("MHR_Overlay.Misc.config"); table_helpers = require("MHR_Overlay.Misc.table_helpers"); body_part = require("MHR_Overlay.Monsters.body_part"); diff --git a/MHR_Overlay/Monsters/monster_hook.lua b/reframework/autorun/MHR_Overlay/Monsters/monster_hook.lua similarity index 83% rename from MHR_Overlay/Monsters/monster_hook.lua rename to reframework/autorun/MHR_Overlay/Monsters/monster_hook.lua index 6719a4b..9f0d404 100644 --- a/MHR_Overlay/Monsters/monster_hook.lua +++ b/reframework/autorun/MHR_Overlay/Monsters/monster_hook.lua @@ -1,6 +1,7 @@ local monster = {}; local small_monster; local large_monster; +local config; local enemy_character_base_type_def = sdk.find_type_definition("snow.enemy.EnemyCharacterBase"); local enemy_character_base_type_def_update_method = enemy_character_base_type_def:get_method("update"); @@ -13,16 +14,15 @@ end, function(retval) return retval; end); -local tick_count = 0 -local last_update_tick = 0 -local recorded_monsters = {} -local updated_monsters = {} -local known_big_monsters = {} -local num_known_monsters = 0 -local num_updated_monsters = 0 +local tick_count = 0; +local last_update_tick = 0; +local recorded_monsters = {}; +local updated_monsters = {}; +local known_big_monsters = {}; +local num_known_monsters = 0; +local num_updated_monsters = 0; -local updates_this_tick = 0 -local MAX_UPDATES_PER_TICK = 2 +local updates_this_tick = 0; -- run every tick to keep track of msonsters -- whenever we've updated enough monsters to surpass how many we've seen, @@ -73,26 +73,31 @@ function monster.update_monster(enemy) -- due to how infrequently we update the monster(s). if is_large then large_monster.update_position(enemy); + if not config.current_config.global_settings.performance.prioritize_large_monsters then + return + end else small_monster.update_position(enemy); + return; end - return end -- only updates N monsters per tick to increase performance if tick_count == last_update_tick then - if updates_this_tick >= MAX_UPDATES_PER_TICK then + if updates_this_tick >= config.current_config.global_settings.performance.max_monster_updates_per_tick then -- this is the VERY LEAST thing we should do all the time -- so the position doesn't lag all over the place -- due to how infrequently we update the monster(s). if is_large then large_monster.update_position(enemy); + if not config.current_config.global_settings.performance.prioritize_large_monsters then + return + end else small_monster.update_position(enemy); + return; end - - return end end @@ -113,6 +118,7 @@ end function monster.init_module() small_monster = require("MHR_Overlay.Monsters.small_monster"); large_monster = require("MHR_Overlay.Monsters.large_monster"); + config = require("MHR_Overlay.Misc.config"); end return monster; \ No newline at end of file diff --git a/MHR_Overlay/Monsters/small_monster.lua b/reframework/autorun/MHR_Overlay/Monsters/small_monster.lua similarity index 100% rename from MHR_Overlay/Monsters/small_monster.lua rename to reframework/autorun/MHR_Overlay/Monsters/small_monster.lua diff --git a/MHR_Overlay/UI/Modules/damage_meter_UI.lua b/reframework/autorun/MHR_Overlay/UI/Modules/damage_meter_UI.lua similarity index 98% rename from MHR_Overlay/UI/Modules/damage_meter_UI.lua rename to reframework/autorun/MHR_Overlay/UI/Modules/damage_meter_UI.lua index da78856..65b4f2e 100644 --- a/MHR_Overlay/UI/Modules/damage_meter_UI.lua +++ b/reframework/autorun/MHR_Overlay/UI/Modules/damage_meter_UI.lua @@ -8,6 +8,7 @@ local screen; local drawing; damage_meter_UI.last_displayed_players = {}; +damage_meter_UI.freeze_displayed_players = false; local lobby_manager_type_def = sdk.find_type_definition("snow.LobbyManager"); local my_hunter_info_field = lobby_manager_type_def:get_field("_myHunterInfo"); @@ -26,7 +27,6 @@ local get_item_method = quest_hunter_info_type_def:get_method("get_Item"); local hunter_info_type_def = sdk.find_type_definition("snow.LobbyManager.HunterInfo"); local member_index_field = hunter_info_type_def:get_field("_memberIndex"); local hunter_rank_field = hunter_info_type_def:get_field("_hunterRank"); ---local name_field = hunter_info_type_def:get_field("_name"); local progress_manager_type_def = sdk.find_type_definition("snow.progress.ProgressManager"); local get_hunter_rank_method = progress_manager_type_def:get_method("get_HunterRank"); @@ -87,7 +87,7 @@ function damage_meter_UI.draw() local quest_players = {}; - if quest_status.index > 2 then + if damage_meter_UI.freeze_displayed_players then quest_players = damage_meter_UI.last_displayed_players; else -- other players diff --git a/MHR_Overlay/UI/Modules/large_monster_UI.lua b/reframework/autorun/MHR_Overlay/UI/Modules/large_monster_UI.lua similarity index 100% rename from MHR_Overlay/UI/Modules/large_monster_UI.lua rename to reframework/autorun/MHR_Overlay/UI/Modules/large_monster_UI.lua diff --git a/MHR_Overlay/UI/Modules/small_monster_UI.lua b/reframework/autorun/MHR_Overlay/UI/Modules/small_monster_UI.lua similarity index 100% rename from MHR_Overlay/UI/Modules/small_monster_UI.lua rename to reframework/autorun/MHR_Overlay/UI/Modules/small_monster_UI.lua diff --git a/MHR_Overlay/UI/Modules/time_UI.lua b/reframework/autorun/MHR_Overlay/UI/Modules/time_UI.lua similarity index 100% rename from MHR_Overlay/UI/Modules/time_UI.lua rename to reframework/autorun/MHR_Overlay/UI/Modules/time_UI.lua diff --git a/MHR_Overlay/UI/UI_Entities/body_part_UI_entity.lua b/reframework/autorun/MHR_Overlay/UI/UI_Entities/body_part_UI_entity.lua similarity index 100% rename from MHR_Overlay/UI/UI_Entities/body_part_UI_entity.lua rename to reframework/autorun/MHR_Overlay/UI/UI_Entities/body_part_UI_entity.lua diff --git a/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua b/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua similarity index 100% rename from MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua rename to reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua diff --git a/MHR_Overlay/UI/UI_Entities/health_UI_entity.lua b/reframework/autorun/MHR_Overlay/UI/UI_Entities/health_UI_entity.lua similarity index 100% rename from MHR_Overlay/UI/UI_Entities/health_UI_entity.lua rename to reframework/autorun/MHR_Overlay/UI/UI_Entities/health_UI_entity.lua diff --git a/MHR_Overlay/UI/UI_Entities/rage_UI_entity.lua b/reframework/autorun/MHR_Overlay/UI/UI_Entities/rage_UI_entity.lua similarity index 97% rename from MHR_Overlay/UI/UI_Entities/rage_UI_entity.lua rename to reframework/autorun/MHR_Overlay/UI/UI_Entities/rage_UI_entity.lua index d805f2b..8a924ba 100644 --- a/MHR_Overlay/UI/UI_Entities/rage_UI_entity.lua +++ b/reframework/autorun/MHR_Overlay/UI/UI_Entities/rage_UI_entity.lua @@ -12,7 +12,7 @@ function rage_UI_entity.new(visibility, bar, text_label, value_label, percentage entity.percentage_label = table_helpers.deep_copy(percentage_label); entity.timer_label = table_helpers.deep_copy(percentage_label); - entity.timer_label.text = "%.0f:%04.1f"; + entity.timer_label.text = "%.0f:%02.0f"; return entity; end diff --git a/MHR_Overlay/UI/UI_Entities/stamina_UI_entity.lua b/reframework/autorun/MHR_Overlay/UI/UI_Entities/stamina_UI_entity.lua similarity index 100% rename from MHR_Overlay/UI/UI_Entities/stamina_UI_entity.lua rename to reframework/autorun/MHR_Overlay/UI/UI_Entities/stamina_UI_entity.lua diff --git a/MHR_Overlay/UI/customization_menu.lua b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua similarity index 59% rename from MHR_Overlay/UI/customization_menu.lua rename to reframework/autorun/MHR_Overlay/UI/customization_menu.lua index c14b6da..704d877 100644 --- a/MHR_Overlay/UI/customization_menu.lua +++ b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua @@ -10,21 +10,38 @@ local language; customization_menu.is_opened = false; customization_menu.status = "OK"; + +customization_menu.window_position = Vector2f.new(480, 200); +customization_menu.window_pivot = Vector2f.new(0, 0); +customization_menu.window_size = Vector2f.new(720, 720); customization_menu.window_flags = 0x10120; + customization_menu.color_picker_flags = 327680; + customization_menu.selected_language_index = 1; -customization_menu.orientation_types = {"Horizontal", "Vertical"}; -customization_menu.anchor_types = {"Top-left", "Top-Right", "Bottom-Left", "Bottom-Right"}; +customization_menu.displayed_orientation_types = {}; +customization_menu.displayed_anchor_types = {}; -customization_menu.monster_UI_sorting_types = {"Normal", "Health", "Health Percentage", "Distance"}; -customization_menu.large_monster_UI_parts_sorting_types = {"Normal", "Health", "Health Percentage"}; +customization_menu.displayed_monster_UI_sorting_types = {}; +customization_menu.displayed_large_monster_UI_parts_sorting_types = {}; -customization_menu.damage_meter_UI_highlighted_bar_types = {"Me", "Top Damage", "None"}; -customization_menu.damage_meter_UI_damage_bar_relative_types = {"Total Damage", "Top Damage"}; -customization_menu.damage_meter_UI_my_damage_bar_location_types = {"Normal", "First", "Last"}; -customization_menu.damage_meter_UI_sorting_types = {"Normal", "Damage"}; +customization_menu.displayed_damage_meter_UI_highlighted_bar_types = {}; +customization_menu.displayed_damage_meter_UI_damage_bar_relative_types = {}; +customization_menu.displayed_damage_meter_UI_my_damage_bar_location_types = {}; +customization_menu.displayed_damage_meter_UI_sorting_types = {}; + +customization_menu.orientation_types = {}; +customization_menu.anchor_types = {}; + +customization_menu.monster_UI_sorting_types = {}; +customization_menu.large_monster_UI_parts_sorting_types = {}; + +customization_menu.damage_meter_UI_highlighted_bar_types = {}; +customization_menu.damage_meter_UI_damage_bar_relative_types = {}; +customization_menu.damage_meter_UI_my_damage_bar_location_types = {}; +customization_menu.damage_meter_UI_sorting_types = {}; customization_menu.fonts = {"Arial", "Arial Black", "Bahnschrift", "Calibri", "Cambria", "Cambria Math", "Candara", "Comic Sans MS", "Consolas", "Constantia", "Corbel", "Courier New", "Ebrima", @@ -61,6 +78,33 @@ customization_menu.damage_meter_UI_anchor_index = 1; customization_menu.selected_font_index = 9; function customization_menu.init() + customization_menu.displayed_orientation_types = {language.current_language.customization_menu.horizontal, language.current_language.customization_menu.vertical}; + customization_menu.displayed_anchor_types = {language.current_language.customization_menu.top_left, language.current_language.customization_menu.top_right, language.current_language.customization_menu.bottom_left, language.current_language.customization_menu.bottom_right}; + + customization_menu.displayed_monster_UI_sorting_types = {language.current_language.customization_menu.normal, language.current_language.customization_menu.health, language.current_language.customization_menu.health_percentage, language.current_language.customization_menu.distance}; + customization_menu.displayed_large_monster_UI_parts_sorting_types = {language.current_language.customization_menu.normal, language.current_language.customization_menu.health, language.current_language.customization_menu.health_percentage}; + + customization_menu.displayed_damage_meter_UI_highlighted_bar_types = {language.current_language.customization_menu.me, language.current_language.customization_menu.top_damage, language.current_language.customization_menu.none}; + customization_menu.displayed_damage_meter_UI_damage_bar_relative_types = {language.current_language.customization_menu.total_damage, language.current_language.customization_menu.top_damage}; + customization_menu.displayed_damage_meter_UI_my_damage_bar_location_types = {language.current_language.customization_menu.normal, language.current_language.customization_menu.first, language.current_language.customization_menu.last}; + customization_menu.displayed_damage_meter_UI_sorting_types = {language.current_language.customization_menu.normal, language.current_language.customization_menu.damage}; + + + + + customization_menu.orientation_types = {language.default_language.customization_menu.horizontal, language.default_language.customization_menu.vertical}; + customization_menu.anchor_types = {language.default_language.customization_menu.top_left, language.default_language.customization_menu.top_right, language.default_language.customization_menu.bottom_left, language.default_language.customization_menu.bottom_right}; + + customization_menu.monster_UI_sorting_types = {language.default_language.customization_menu.normal, language.default_language.customization_menu.health, language.default_language.customization_menu.health_percentage, language.default_language.customization_menu.distance}; + customization_menu.large_monster_UI_parts_sorting_types = {language.default_language.customization_menu.normal, language.default_language.customization_menu.health, language.default_language.customization_menu.health_percentage}; + + customization_menu.damage_meter_UI_highlighted_bar_types = {language.default_language.customization_menu.me, language.default_language.customization_menu.top_damage, language.default_language.customization_menu.none}; + customization_menu.damage_meter_UI_damage_bar_relative_types = {language.default_language.customization_menu.total_damage, language.default_language.customization_menu.top_damage}; + customization_menu.damage_meter_UI_my_damage_bar_location_types = {language.default_language.customization_menu.normal, language.default_language.customization_menu.first, language.default_language.customization_menu.last}; + customization_menu.damage_meter_UI_sorting_types = {language.default_language.customization_menu.normal, language.default_language.customization_menu.damage}; + + + customization_menu.large_monster_UI_orientation_index = table_helpers.find_index(customization_menu.orientation_types, config.current_config.large_monster_UI.static.settings.orientation, false); @@ -110,7 +154,10 @@ function customization_menu.init() end function customization_menu.draw() - customization_menu.is_opened = imgui.begin_window("MHR Overlay " .. config.current_config.version, + imgui.set_next_window_pos(customization_menu.window_position, 1 << 3, customization_menu.window_pivot); + imgui.set_next_window_size(customization_menu.window_size, 1 << 3); + + customization_menu.is_opened = imgui.begin_window(language.current_language.customization_menu.mod_name .. " " .. config.current_config.version, customization_menu.is_opened, customization_menu.window_flags); if not customization_menu.is_opened then @@ -120,129 +167,138 @@ function customization_menu.draw() local config_changed = false; local changed; local status_string = tostring(customization_menu.status); - imgui.text("Status: " .. status_string); + imgui.text(language.current_language.customization_menu.status .. ": " .. status_string); - if imgui.tree_node("Modules") then - changed, config.current_config.small_monster_UI.enabled = imgui.checkbox("Small Monster UI", config.current_config + if imgui.tree_node(language.current_language.customization_menu.modules) then + changed, config.current_config.small_monster_UI.enabled = imgui.checkbox(language.current_language.customization_menu.small_monster_UI, config.current_config .small_monster_UI.enabled); config_changed = config_changed or changed; changed, config.current_config.large_monster_UI.dynamic.enabled = - imgui.checkbox("Large Monster Dynamic UI", config.current_config.large_monster_UI.dynamic.enabled); + imgui.checkbox(language.current_language.customization_menu.large_monster_dynamic_UI, config.current_config.large_monster_UI.dynamic.enabled); config_changed = config_changed or changed; imgui.same_line(); changed, config.current_config.large_monster_UI.static.enabled = - imgui.checkbox("Large Monster Static UI", config.current_config.large_monster_UI.static.enabled); + imgui.checkbox(language.current_language.customization_menu.large_monster_static_UI, config.current_config.large_monster_UI.static.enabled); config_changed = config_changed or changed; - changed, config.current_config.time_UI.enabled = imgui.checkbox("Time UI", config.current_config.time_UI.enabled); + changed, config.current_config.time_UI.enabled = imgui.checkbox(language.current_language.customization_menu.time_UI, config.current_config.time_UI.enabled); config_changed = config_changed or changed; imgui.same_line(); - changed, config.current_config.damage_meter_UI.enabled = imgui.checkbox("Damage Meter UI", + changed, config.current_config.damage_meter_UI.enabled = imgui.checkbox(language.current_language.customization_menu.damage_meter_UI, config.current_config.damage_meter_UI.enabled); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Global Settings") then - changed, customization_menu.selected_language_index = imgui.combo("Language", customization_menu.selected_language_index, language.language_names); + if imgui.tree_node(language.current_language.customization_menu.global_settings) then + changed, customization_menu.selected_language_index = imgui.combo(language.current_language.customization_menu.language, customization_menu.selected_language_index, language.language_names); config_changed = config_changed or changed; if changed then config.current_config.global_settings.language = language.language_names[customization_menu.selected_font_index]; + large_monster.init_list(); + language.update(customization_menu.selected_language_index); for _, monster in pairs(small_monster.list) do small_monster.init_UI(monster); end - for _, monster in pairs(large_monster.list) do - large_monster.init_dynamic_UI(monster); - large_monster.init_static_UI(monster); - end - for _, _player in pairs(player.list) do player.init_UI(_player); end end - if imgui.tree_node("Module Visibility on Different Screens") then + if imgui.tree_node(language.current_language.customization_menu.performance) then + changed, config.current_config.global_settings.performance.max_monster_updates_per_tick = + imgui.slider_int(language.current_language.customization_menu.max_monster_updates_per_tick, config.current_config.global_settings.performance.max_monster_updates_per_tick, 1, 150); + config_changed = config_changed or changed; - if imgui.tree_node("During Quest") then + changed, config.current_config.global_settings.performance.prioritize_large_monsters = imgui.checkbox( + language.current_language.customization_menu.prioritize_large_monsters, config.current_config.global_settings.performance.prioritize_large_monsters); + config_changed = config_changed or changed; + + imgui.tree_pop(); + end + + if imgui.tree_node(language.current_language.customization_menu.module_visibility_on_different_screens) then + + if imgui.tree_node(language.current_language.customization_menu.during_quest) then changed, config.current_config.global_settings.module_visibility.during_quest.small_monster_UI = imgui.checkbox( - "Small Monster UI", config.current_config.global_settings.module_visibility.during_quest.small_monster_UI); + language.current_language.customization_menu.small_monster_UI, config.current_config.global_settings.module_visibility.during_quest.small_monster_UI); config_changed = config_changed or changed; changed, config.current_config.global_settings.module_visibility.during_quest.large_monster_dynamic_UI = - imgui.checkbox("Large Monster Dynamic UI", + imgui.checkbox(language.current_language.customization_menu.large_monster_dynamic_UI, config.current_config.global_settings.module_visibility.during_quest.large_monster_dynamic_UI); config_changed = config_changed or changed; imgui.same_line(); changed, config.current_config.global_settings.module_visibility.during_quest.large_monster_static_UI = - imgui.checkbox("Large Monster Static UI", + imgui.checkbox(language.current_language.customization_menu.large_monster_static_UI, config.current_config.global_settings.module_visibility.during_quest.large_monster_static_UI); config_changed = config_changed or changed; - changed, config.current_config.global_settings.module_visibility.during_quest.time_UI = imgui.checkbox("Time UI", + changed, config.current_config.global_settings.module_visibility.during_quest.time_UI = imgui.checkbox(language.current_language.customization_menu.time_UI, config.current_config.global_settings.module_visibility.during_quest.time_UI); config_changed = config_changed or changed; imgui.same_line(); changed, config.current_config.global_settings.module_visibility.during_quest.damage_meter_UI = imgui.checkbox( - "Damage Meter UI", config.current_config.global_settings.module_visibility.during_quest.damage_meter_UI); + language.current_language.customization_menu.damage_meter_UI, config.current_config.global_settings.module_visibility.during_quest.damage_meter_UI); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Quest Summary Screen") then + if imgui.tree_node(language.current_language.customization_menu.quest_summary_screen) then changed, config.current_config.global_settings.module_visibility.quest_summary_screen.small_monster_UI = - imgui.checkbox("Small Monster UI", + imgui.checkbox(language.current_language.customization_menu.small_monster_UI, config.current_config.global_settings.module_visibility.quest_summary_screen.small_monster_UI); config_changed = config_changed or changed; changed, config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_dynamic_UI = - imgui.checkbox("Large Monster Dynamic UI", config.current_config.global_settings.module_visibility + imgui.checkbox(language.current_language.customization_menu.large_monster_dynamic_UI, config.current_config.global_settings.module_visibility .quest_summary_screen.large_monster_dynamic_UI); config_changed = config_changed or changed; imgui.same_line(); changed, config.current_config.global_settings.module_visibility.quest_summary_screen.large_monster_static_UI = - imgui.checkbox("Large Monster Static UI", config.current_config.global_settings.module_visibility + imgui.checkbox(language.current_language.customization_menu.large_monster_static_UI, config.current_config.global_settings.module_visibility .quest_summary_screen.large_monster_static_UI); config_changed = config_changed or changed; changed, config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI = imgui.checkbox( - "Time UI", config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI); + language.current_language.customization_menu.time_UI, config.current_config.global_settings.module_visibility.quest_summary_screen.time_UI); config_changed = config_changed or changed; imgui.same_line(); changed, config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI = - imgui.checkbox("Damage Meter UI", + imgui.checkbox(language.current_language.customization_menu.damage_meter_UI, config.current_config.global_settings.module_visibility.quest_summary_screen.damage_meter_UI); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Training Area") then + if imgui.tree_node(language.current_language.customization_menu.training_area) then changed, config.current_config.global_settings.module_visibility.training_area.large_monster_dynamic_UI = - imgui.checkbox("Large Monster Dynamic UI", + imgui.checkbox(language.current_language.customization_menu.large_monster_dynamic_UI, config.current_config.global_settings.module_visibility.training_area.large_monster_dynamic_UI); config_changed = config_changed or changed; imgui.same_line(); changed, config.current_config.global_settings.module_visibility.training_area.large_monster_static_UI = - imgui.checkbox("Large Monster Static UI", + imgui.checkbox(language.current_language.customization_menu.large_monster_static_UI, config.current_config.global_settings.module_visibility.training_area.large_monster_static_UI); config_changed = config_changed or changed; changed, config.current_config.global_settings.module_visibility.training_area.damage_meter_UI = imgui.checkbox( - "Damage Meter UI", config.current_config.global_settings.module_visibility.training_area.damage_meter_UI); + language.current_language.customization_menu.damage_meter_UI, config.current_config.global_settings.module_visibility.training_area.damage_meter_UI); config_changed = config_changed or changed; imgui.tree_pop(); @@ -251,10 +307,10 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Font") then - imgui.text("Any changes to the font require script reload!"); + if imgui.tree_node(language.current_language.customization_menu.font) then + imgui.text(language.current_language.customization_menu.font_notice); - changed, customization_menu.selected_font_index = imgui.combo("Family", customization_menu.selected_font_index, + changed, customization_menu.selected_font_index = imgui.combo(language.current_language.customization_menu.family, customization_menu.selected_font_index, customization_menu.fonts); config_changed = config_changed or changed; if changed then @@ -262,15 +318,15 @@ function customization_menu.draw() end changed, config.current_config.global_settings.font.size = - imgui.slider_int("Size", config.current_config.global_settings.font.size, 1, 100); + imgui.slider_int(language.current_language.customization_menu.size, config.current_config.global_settings.font.size, 1, 100); config_changed = config_changed or changed; changed, config.current_config.global_settings.font.bold = - imgui.checkbox("Bold", config.current_config.global_settings.font.bold); + imgui.checkbox(language.current_language.customization_menu.bold, config.current_config.global_settings.font.bold); config_changed = config_changed or changed; changed, config.current_config.global_settings.font.italic = - imgui.checkbox("Italic", config.current_config.global_settings.font.italic); + imgui.checkbox(language.current_language.customization_menu.italic, config.current_config.global_settings.font.italic); config_changed = config_changed or changed; imgui.tree_pop(); @@ -279,16 +335,16 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Small Monster UI") then + if imgui.tree_node(language.current_language.customization_menu.small_monster_UI) then local small_monster_UI_changed = false; - changed, config.current_config.small_monster_UI.enabled = imgui.checkbox("Enabled", config.current_config + changed, config.current_config.small_monster_UI.enabled = imgui.checkbox(language.current_language.customization_menu.enabled, config.current_config .small_monster_UI.enabled); config_changed = config_changed or changed; - if imgui.tree_node("Settings") then + if imgui.tree_node(language.current_language.customization_menu.settings) then changed, customization_menu.small_monster_UI_orientation_index = - imgui.combo("Static Orientation", customization_menu.small_monster_UI_orientation_index, - customization_menu.orientation_types); + imgui.combo(language.current_language.customization_menu.static_orientation, customization_menu.small_monster_UI_orientation_index, + customization_menu.displayed_orientation_types); config_changed = config_changed or changed; if changed then config.current_config.small_monster_UI.settings.orientation = @@ -298,43 +354,43 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Dynamic Positioning") then - changed, config.current_config.small_monster_UI.dynamic_positioning.enabled = imgui.checkbox("Enabled", + if imgui.tree_node(language.current_language.customization_menu.dynamic_positioning) then + changed, config.current_config.small_monster_UI.dynamic_positioning.enabled = imgui.checkbox(language.current_language.customization_menu.enabled, config.current_config.small_monster_UI.dynamic_positioning.enabled); config_changed = config_changed or changed; changed, config.current_config.small_monster_UI.dynamic_positioning.opacity_falloff = imgui.checkbox( - "Opacity Falloff", config.current_config.small_monster_UI.dynamic_positioning.opacity_falloff); + language.current_language.customization_menu.opacity_falloff, config.current_config.small_monster_UI.dynamic_positioning.opacity_falloff); config_changed = config_changed or changed; changed, config.current_config.small_monster_UI.dynamic_positioning.max_distance = - imgui.drag_float("Max Distance", config.current_config.small_monster_UI.dynamic_positioning.max_distance, 1, 0, + imgui.drag_float(language.current_language.customization_menu.max_distance, config.current_config.small_monster_UI.dynamic_positioning.max_distance, 1, 0, 10000, "%.0f"); config_changed = config_changed or changed; - if imgui.tree_node("World Offset") then - changed, config.current_config.small_monster_UI.dynamic_positioning.world_offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.world_offset) then + changed, config.current_config.small_monster_UI.dynamic_positioning.world_offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.dynamic_positioning.world_offset.x, 0.1, -100, 100, "%.1f"); config_changed = config_changed or changed; - changed, config.current_config.small_monster_UI.dynamic_positioning.world_offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.dynamic_positioning.world_offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.dynamic_positioning.world_offset.y, 0.1, -100, 100, "%.1f"); config_changed = config_changed or changed; - changed, config.current_config.small_monster_UI.dynamic_positioning.world_offset.z = imgui.drag_float("Z", + changed, config.current_config.small_monster_UI.dynamic_positioning.world_offset.z = imgui.drag_float(language.current_language.customization_menu.z, config.current_config.small_monster_UI.dynamic_positioning.world_offset.z, 0.1, -100, 100, "%.1f"); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Viewport Offset") then - changed, config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.viewport_offset) then + changed, config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; - changed, config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.dynamic_positioning.viewport_offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -345,17 +401,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Static Position") then + if imgui.tree_node(language.current_language.customization_menu.static_position) then changed, config.current_config.small_monster_UI.static_position.x = - imgui.drag_float("X", config.current_config.small_monster_UI.static_position.x, 0.1, 0, screen.width, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.static_position.x, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; changed, config.current_config.small_monster_UI.static_position.y = - imgui.drag_float("Y", config.current_config.small_monster_UI.static_position.y, 0.1, 0, screen.height, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.static_position.y, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; - changed, customization_menu.small_monster_UI_anchor_index = imgui.combo("Anchor", - customization_menu.small_monster_UI_anchor_index, customization_menu.anchor_types); + changed, customization_menu.small_monster_UI_anchor_index = imgui.combo(language.current_language.customization_menu.anchor, + customization_menu.small_monster_UI_anchor_index, customization_menu.displayed_anchor_types); config_changed = config_changed or changed; if changed then config.current_config.small_monster_UI.static_position.anchor = @@ -365,23 +421,23 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Static Spacing") then + if imgui.tree_node(language.current_language.customization_menu.static_spacing) then changed, config.current_config.small_monster_UI.static_spacing.x = - imgui.drag_float("X", config.current_config.small_monster_UI.static_spacing.x, 0.1, -screen.width, screen.width, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.static_spacing.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; changed, config.current_config.small_monster_UI.static_spacing.y = - imgui.drag_float("Y", config.current_config.small_monster_UI.static_spacing.y, 0.1, -screen.height, screen.height, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.static_spacing.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Static Sorting") then - changed, customization_menu.small_monster_UI_sorting_type_index = imgui.combo("Type", - customization_menu.small_monster_UI_sorting_type_index, customization_menu.monster_UI_sorting_types); + if imgui.tree_node(language.current_language.customization_menu.static_sorting) then + changed, customization_menu.small_monster_UI_sorting_type_index = imgui.combo(language.current_language.customization_menu.type, + customization_menu.small_monster_UI_sorting_type_index, customization_menu.displayed_monster_UI_sorting_types); config_changed = config_changed or changed; if changed then config.current_config.small_monster_UI.static_sorting.type = @@ -389,25 +445,25 @@ function customization_menu.draw() end changed, config.current_config.small_monster_UI.static_sorting.reversed_order = - imgui.checkbox("Reversed Order", config.current_config.small_monster_UI.static_sorting.reversed_order); + imgui.checkbox(language.current_language.customization_menu.reversed_order, config.current_config.small_monster_UI.static_sorting.reversed_order); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Monster Name Label") then - changed, config.current_config.small_monster_UI.monster_name_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.monster_name_label) then + changed, config.current_config.small_monster_UI.monster_name_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.monster_name_label.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.monster_name_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.monster_name_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.monster_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.monster_name_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.monster_name_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.monster_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -415,28 +471,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.monster_name_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.monster_name_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.monster_name_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.monster_name_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.small_monster_UI.monster_name_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.small_monster_UI.monster_name_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.monster_name_label.shadow.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.monster_name_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.monster_name_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.monster_name_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.monster_name_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.monster_name_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.monster_name_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -445,8 +501,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.monster_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.monster_name_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.monster_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.monster_name_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -459,27 +515,27 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Health") then + if imgui.tree_node(language.current_language.customization_menu.health) then changed, config.current_config.small_monster_UI.health.visibility = - imgui.checkbox("Visible", config.current_config.small_monster_UI.health.visibility); + imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.small_monster_UI.health.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.small_monster_UI.health.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.text_label.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.health.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.health.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.health.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.health.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.health.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.health.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -487,28 +543,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.health.text_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.health.text_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.small_monster_UI.health.text_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.small_monster_UI.health.text_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.text_label.shadow.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.health.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.health.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.health.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.health.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.health.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.health.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -517,8 +573,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.health.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.health.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -531,21 +587,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.small_monster_UI.health.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.small_monster_UI.health.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.value_label.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.health.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.health.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.health.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.health.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.health.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.health.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -553,28 +609,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.health.value_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.health.value_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.small_monster_UI.health.value_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.small_monster_UI.health.value_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.value_label.shadow.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.health.value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.health.value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.health.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.health.value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.health.value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.health.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -583,8 +639,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.health.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.health.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -597,21 +653,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then - changed, config.current_config.small_monster_UI.health.percentage_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then + changed, config.current_config.small_monster_UI.health.percentage_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.percentage_label.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.health.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.health.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.health.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.health.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.health.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.health.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -620,28 +676,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.health.percentage_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.health.percentage_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.small_monster_UI.health.percentage_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.small_monster_UI.health.percentage_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.percentage_label.shadow.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.health.percentage_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.health.percentage_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.health.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.health.percentage_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.health.percentage_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.health.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -650,8 +706,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.health.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.health.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -664,21 +720,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.small_monster_UI.health.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.small_monster_UI.health.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.health.bar.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.small_monster_UI.health.bar.offset.x = - imgui.drag_float("X", config.current_config.small_monster_UI.health.bar.offset.x, 0.1, -screen.width, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.health.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; changed, config.current_config.small_monster_UI.health.bar.offset.y = - imgui.drag_float("Y", config.current_config.small_monster_UI.health.bar.offset.y, 0.1, -screen.height, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.health.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -686,13 +742,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.small_monster_UI.health.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.small_monster_UI.health.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.small_monster_UI.health.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.health.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.small_monster_UI.health.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.small_monster_UI.health.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -700,17 +756,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.small_monster_UI.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.small_monster_UI.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.small_monster_UI.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + -- changed, config.current_config.small_monster_UI.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.small_monster_UI.health.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -726,27 +782,27 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Stamina (Pointless: small monsters don't get tired)") then + if imgui.tree_node(language.current_language.customization_menu.stamina) then changed, config.current_config.small_monster_UI.stamina.visibility = - imgui.checkbox("Visible", config.current_config.small_monster_UI.stamina.visibility); + imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.small_monster_UI.stamina.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.small_monster_UI.stamina.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.text_label.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.stamina.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.stamina.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.stamina.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.stamina.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.stamina.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.stamina.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -754,28 +810,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.stamina.text_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.stamina.text_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.small_monster_UI.stamina.text_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.small_monster_UI.stamina.text_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.text_label.shadow.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.stamina.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.stamina.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.stamina.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.stamina.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.stamina.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.stamina.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -784,8 +840,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.stamina.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.stamina.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -798,21 +854,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.small_monster_UI.stamina.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.small_monster_UI.stamina.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.value_label.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.stamina.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.stamina.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.stamina.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.stamina.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.stamina.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.stamina.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -820,28 +876,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.stamina.value_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.stamina.value_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.small_monster_UI.stamina.value_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.small_monster_UI.stamina.value_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.value_label.shadow.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.stamina.value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.stamina.value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.stamina.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.stamina.value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.stamina.value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.stamina.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -850,8 +906,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.stamina.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.stamina.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -864,21 +920,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then - changed, config.current_config.small_monster_UI.stamina.percentage_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then + changed, config.current_config.small_monster_UI.stamina.percentage_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.percentage_label.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.stamina.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.stamina.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.stamina.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.stamina.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.stamina.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.stamina.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -887,28 +943,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.stamina.percentage_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.stamina.percentage_label.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.small_monster_UI.stamina.percentage_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.small_monster_UI.stamina.percentage_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.percentage_label.shadow.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.small_monster_UI.stamina.percentage_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.small_monster_UI.stamina.percentage_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.stamina.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.stamina.percentage_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.small_monster_UI.stamina.percentage_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.stamina.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -917,8 +973,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.small_monster_UI.stamina.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.small_monster_UI.stamina.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -931,21 +987,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.small_monster_UI.stamina.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.small_monster_UI.stamina.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.small_monster_UI.stamina.bar.visibility); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.small_monster_UI.stamina.bar.offset.x = - imgui.drag_float("X", config.current_config.small_monster_UI.stamina.bar.offset.x, 0.1, -screen.width, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.small_monster_UI.stamina.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; changed, config.current_config.small_monster_UI.stamina.bar.offset.y = - imgui.drag_float("Y", config.current_config.small_monster_UI.stamina.bar.offset.y, 0.1, -screen.height, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.small_monster_UI.stamina.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -953,13 +1009,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.small_monster_UI.stamina.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.small_monster_UI.stamina.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.small_monster_UI.stamina.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; - changed, config.current_config.small_monster_UI.stamina.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.small_monster_UI.stamina.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.small_monster_UI.stamina.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -967,17 +1023,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.small_monster_UI.stamina.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.small_monster_UI.stamina.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.small_monster_UI.stamina.bar.colors.background = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.small_monster_UI.stamina.bar.colors.background = imgui.color_picker_argb("", config.current_config.small_monster_UI.stamina.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; small_monster_UI_changed = small_monster_UI_changed or changed; @@ -1002,23 +1058,23 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Large Monster UI") then - if imgui.tree_node("Dynamically Positioned") then + if imgui.tree_node(language.current_language.customization_menu.large_monster_UI) then + if imgui.tree_node(language.current_language.customization_menu.dynamically_positioned) then local large_monster_dynamic_UI_changed = false; changed, config.current_config.large_monster_UI.dynamic.enabled = - imgui.checkbox("Enabled", config.current_config.large_monster_UI.dynamic.enabled); + imgui.checkbox(language.current_language.customization_menu.enabled, config.current_config.large_monster_UI.dynamic.enabled); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Settings") then + if imgui.tree_node(language.current_language.customization_menu.settings) then changed, config.current_config.large_monster_UI.dynamic.settings.opacity_falloff = - imgui.checkbox("Opacity Falloff", config.current_config.large_monster_UI.dynamic.settings.opacity_falloff); + imgui.checkbox(language.current_language.customization_menu.opacity_falloff, config.current_config.large_monster_UI.dynamic.settings.opacity_falloff); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.settings.max_distance = - imgui.drag_float("Max Distance", config.current_config.large_monster_UI.dynamic.settings.max_distance, 1, 0, 10000, + imgui.drag_float(language.current_language.customization_menu.max_distance, config.current_config.large_monster_UI.dynamic.settings.max_distance, 1, 0, 10000, "%.0f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1026,18 +1082,18 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("World Offset") then - changed, config.current_config.large_monster_UI.dynamic.world_offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.world_offset) then + changed, config.current_config.large_monster_UI.dynamic.world_offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.world_offset.x, 0.1, -100, 100, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.world_offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.world_offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.world_offset.y, 0.1, -100, 100, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.world_offset.z = imgui.drag_float("Z", + changed, config.current_config.large_monster_UI.dynamic.world_offset.z = imgui.drag_float(language.current_language.customization_menu.z, config.current_config.large_monster_UI.dynamic.world_offset.z, 0.1, -100, 100, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1045,13 +1101,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Viewport Offset") then - changed, config.current_config.large_monster_UI.dynamic.viewport_offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.viewport_offset) then + changed, config.current_config.large_monster_UI.dynamic.viewport_offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.viewport_offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.viewport_offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.viewport_offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.viewport_offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1059,30 +1115,30 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Monster Name Label") then - changed, config.current_config.large_monster_UI.dynamic.monster_name_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.monster_name_label) then + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.monster_name_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Include") then + if imgui.tree_node(language.current_language.customization_menu.include) then changed, config.current_config.large_monster_UI.dynamic.monster_name_label.include.monster_name = imgui.checkbox( - "Monster Name", config.current_config.large_monster_UI.dynamic.monster_name_label.include.monster_name); + language.current_language.customization_menu.monster_name, config.current_config.large_monster_UI.dynamic.monster_name_label.include.monster_name); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.monster_name_label.include.crown = imgui.checkbox("Crown", + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.include.crown = imgui.checkbox(language.current_language.customization_menu.crown, config.current_config.large_monster_UI.dynamic.monster_name_label.include.crown); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.monster_name_label.include.size = imgui.checkbox("Size", + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.include.size = imgui.checkbox(language.current_language.customization_menu.size, config.current_config.large_monster_UI.dynamic.monster_name_label.include.size); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.monster_name_label.include.scrown_thresholds = - imgui.checkbox("Crown Thresholds", + imgui.checkbox(language.current_language.customization_menu.crown_thresholds, config.current_config.large_monster_UI.dynamic.monster_name_label.include.scrown_thresholds); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1090,14 +1146,14 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.monster_name_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.monster_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.monster_name_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.monster_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1106,28 +1162,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.monster_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.monster_name_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.monster_name_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1136,8 +1192,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.monster_name_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1150,28 +1206,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Health") then - changed, config.current_config.large_monster_UI.dynamic.health.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.health) then + changed, config.current_config.large_monster_UI.dynamic.health.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.dynamic.health.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.dynamic.health.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.text_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.health.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.health.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.health.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.health.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.health.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.health.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1180,28 +1236,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.health.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.health.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.health.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1210,8 +1266,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.health.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1224,22 +1280,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.dynamic.health.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.dynamic.health.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.value_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.health.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.health.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.health.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.health.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.health.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.health.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1248,29 +1304,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.health.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.health.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.health.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.dynamic.health.value_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.dynamic.health.value_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1278,8 +1334,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.health.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1292,22 +1348,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.dynamic.health.percentage_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.percentage_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.health.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.health.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1316,29 +1372,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.visibility = - imgui.checkbox("Enable", config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.visibility); + imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.offset.x = - imgui.drag_float("X", config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.offset.x, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.offset.y = - imgui.drag_float("Y", config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.offset.y, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1346,8 +1402,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1360,19 +1416,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.dynamic.health.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.dynamic.health.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.health.bar.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.health.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.health.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.health.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.health.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.health.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.health.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1380,13 +1436,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.dynamic.health.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.dynamic.health.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.dynamic.health.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.health.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.dynamic.health.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.dynamic.health.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1394,34 +1450,34 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Monster can be captured") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.foreground, color_picker_flags); + 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, config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.health.bar.colors.capture.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1438,28 +1494,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Stamina") then - changed, config.current_config.large_monster_UI.dynamic.stamina.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.stamina) then + changed, config.current_config.large_monster_UI.dynamic.stamina.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.text_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.stamina.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.stamina.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1468,29 +1524,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1498,8 +1554,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1512,22 +1568,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.value_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.stamina.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.stamina.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1536,29 +1592,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1566,8 +1622,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1580,22 +1636,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.dynamic.stamina.percentage_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1604,30 +1660,30 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.visibility = - imgui.checkbox("Enable", + imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.offset.x = - imgui.drag_float("X", config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.offset.x, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.offset.y = - imgui.drag_float("Y", config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.offset.y, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1635,8 +1691,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1649,19 +1705,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.dynamic.stamina.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.dynamic.stamina.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.stamina.bar.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.stamina.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.stamina.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.stamina.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.stamina.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.stamina.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.stamina.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1669,13 +1725,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.dynamic.stamina.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.dynamic.stamina.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.dynamic.stamina.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.stamina.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.dynamic.stamina.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.dynamic.stamina.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1683,17 +1739,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.dynamic.stamina.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.dynamic.stamina.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.dynamic.stamina.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.stamina.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1709,27 +1765,27 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Rage") then - changed, config.current_config.large_monster_UI.dynamic.rage.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.rage) then + changed, config.current_config.large_monster_UI.dynamic.rage.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.dynamic.rage.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.dynamic.rage.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.text_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.rage.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.rage.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.rage.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.rage.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1738,28 +1794,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.rage.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1768,8 +1824,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1782,22 +1838,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.dynamic.rage.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.dynamic.rage.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.value_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.rage.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.rage.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.rage.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.rage.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1806,28 +1862,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.rage.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1836,8 +1892,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1850,22 +1906,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.dynamic.rage.percentage_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.percentage_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -1874,29 +1930,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1904,8 +1960,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1918,19 +1974,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.dynamic.rage.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.dynamic.rage.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.rage.bar.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.rage.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.rage.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.rage.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.rage.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.rage.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.rage.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1938,13 +1994,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.dynamic.rage.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.dynamic.rage.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.dynamic.rage.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.rage.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.dynamic.rage.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.dynamic.rage.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1952,17 +2008,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.dynamic.rage.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.dynamic.rage.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.dynamic.rage.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.rage.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1978,19 +2034,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Body Parts") then - changed, config.current_config.large_monster_UI.dynamic.parts.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.body_parts) then + changed, config.current_config.large_monster_UI.dynamic.parts.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -1998,13 +2054,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Spacing") then - changed, config.current_config.large_monster_UI.dynamic.parts.spacing.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.spacing) then + changed, config.current_config.large_monster_UI.dynamic.parts.spacing.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.spacing.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.spacing.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.spacing.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.spacing.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2012,19 +2068,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Settings") then + if imgui.tree_node(language.current_language.customization_menu.settings) then changed, config.current_config.large_monster_UI.dynamic.parts.settings.hide_undamaged_parts = imgui.checkbox( - "Hide Undamaged Parts", config.current_config.large_monster_UI.dynamic.parts.settings.hide_undamaged_parts); + language.current_language.customization_menu.hide_undamaged_parts, config.current_config.large_monster_UI.dynamic.parts.settings.hide_undamaged_parts); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Sorting") then - changed, customization_menu.large_monster_dynamic_UI_parts_sorting_type_index = imgui.combo("Type", + if imgui.tree_node(language.current_language.customization_menu.sorting) then + changed, customization_menu.large_monster_dynamic_UI_parts_sorting_type_index = imgui.combo(language.current_language.customization_menu.type, customization_menu.large_monster_dynamic_UI_parts_sorting_type_index, - customization_menu.large_monster_UI_parts_sorting_types); + customization_menu.displayed_large_monster_UI_parts_sorting_types); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; if changed then @@ -2033,27 +2089,27 @@ function customization_menu.draw() end changed, config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order = imgui.checkbox( - "Reversed Order", config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order); + language.current_language.customization_menu.reversed_order, config.current_config.large_monster_UI.dynamic.parts.sorting.reversed_order); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Part Name Label") then + if imgui.tree_node(language.current_language.customization_menu.part_name_label) then changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.dynamic.parts.part_name_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.part_name_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Include") then + if imgui.tree_node(language.current_language.customization_menu.include) then changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.part_name = imgui.checkbox( - "Part Name", config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.part_name); + language.current_language.customization_menu.part_name, config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.part_name); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.break_count = - imgui.checkbox("Break Count", + imgui.checkbox(language.current_language.customization_menu.break_count, config.current_config.large_monster_UI.dynamic.parts.part_name_label.include.break_count); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2061,14 +2117,14 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.part_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.part_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2077,29 +2133,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.part_name_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.part_name_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2107,8 +2163,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.part_name_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2121,22 +2177,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.dynamic.parts.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.dynamic.parts.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.text_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2145,28 +2201,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2175,8 +2231,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2189,22 +2245,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.dynamic.parts.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.dynamic.parts.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.value_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2213,28 +2269,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2243,8 +2299,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2257,22 +2313,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.dynamic.parts.percentage_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.percentage_label.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2281,29 +2337,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.offset.x = - imgui.drag_float("X", config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.offset.x, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.offset.y = - imgui.drag_float("Y", config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.offset.y, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2311,8 +2367,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2325,19 +2381,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.dynamic.parts.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.dynamic.parts.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.dynamic.parts.bar.visibility); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.dynamic.parts.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.dynamic.parts.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.dynamic.parts.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.dynamic.parts.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.dynamic.parts.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2345,13 +2401,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.dynamic.parts.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.dynamic.parts.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.dynamic.parts.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; - changed, config.current_config.large_monster_UI.dynamic.parts.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.dynamic.parts.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.dynamic.parts.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2359,17 +2415,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.dynamic.parts.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.dynamic.parts.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.dynamic.parts.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.dynamic.parts.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_dynamic_UI_changed = large_monster_dynamic_UI_changed or changed; @@ -2394,17 +2450,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Statically Positioned") then + if imgui.tree_node(language.current_language.customization_menu.statically_positioned) then local large_monster_static_UI_changed = false; changed, config.current_config.large_monster_UI.static.enabled = - imgui.checkbox("Enabled", config.current_config.large_monster_UI.static.enabled); + imgui.checkbox(language.current_language.customization_menu.enabled, config.current_config.large_monster_UI.static.enabled); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Settings") then - changed, customization_menu.large_monster_UI_orientation_index = imgui.combo("Orientation", - customization_menu.large_monster_UI_orientation_index, customization_menu.orientation_types); + if imgui.tree_node(language.current_language.customization_menu.settings) then + changed, customization_menu.large_monster_UI_orientation_index = imgui.combo(language.current_language.customization_menu.orientation, + customization_menu.large_monster_UI_orientation_index, customization_menu.displayed_orientation_types); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; if changed then @@ -2415,19 +2471,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Position") then + if imgui.tree_node(language.current_language.customization_menu.position) then changed, config.current_config.large_monster_UI.static.position.x = - imgui.drag_float("X", config.current_config.large_monster_UI.static.position.x, 0.1, 0, screen.width, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.position.x, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.position.y = - imgui.drag_float("Y", config.current_config.large_monster_UI.static.position.y, 0.1, 0, screen.height, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.position.y, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, customization_menu.large_monster_UI_anchor_index = imgui.combo("Anchor", - customization_menu.large_monster_UI_anchor_index, customization_menu.anchor_types); + changed, customization_menu.large_monster_UI_anchor_index = imgui.combo(language.current_language.customization_menu.anchor, + customization_menu.large_monster_UI_anchor_index, customization_menu.displayed_anchor_types); config_changed = config_changed or changed; if changed then config.current_config.large_monster_UI.static.position.anchor = @@ -2437,15 +2493,15 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Spacing") then + if imgui.tree_node(language.current_language.customization_menu.spacing) then changed, config.current_config.large_monster_UI.static.spacing.x = - imgui.drag_float("X", config.current_config.large_monster_UI.static.spacing.x, 0.1, -screen.width, screen.width, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.spacing.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.spacing.y = - imgui.drag_float("Y", config.current_config.large_monster_UI.static.spacing.y, 0.1, -screen.height, screen.height, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.spacing.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2453,9 +2509,9 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Sorting") then - changed, customization_menu.monster_UI_sort_type_index = imgui.combo("Type", - customization_menu.monster_UI_sort_type_index, customization_menu.monster_UI_sorting_types); + if imgui.tree_node(language.current_language.customization_menu.sorting) then + changed, customization_menu.monster_UI_sort_type_index = imgui.combo(language.current_language.customization_menu.type, + customization_menu.monster_UI_sort_type_index, customization_menu.displayed_monster_UI_sorting_types); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; if changed then @@ -2464,37 +2520,37 @@ function customization_menu.draw() end changed, config.current_config.large_monster_UI.static.sorting.reversed_order = - imgui.checkbox("Reversed Order", config.current_config.large_monster_UI.static.sorting.reversed_order); + imgui.checkbox(language.current_language.customization_menu.reversed_order, config.current_config.large_monster_UI.static.sorting.reversed_order); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Monster Name Label") then - changed, config.current_config.large_monster_UI.static.monster_name_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.monster_name_label) then + changed, config.current_config.large_monster_UI.static.monster_name_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.monster_name_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Include") then + if imgui.tree_node(language.current_language.customization_menu.include) then changed, config.current_config.large_monster_UI.static.monster_name_label.include.monster_name = imgui.checkbox( - "Monster Name", config.current_config.large_monster_UI.static.monster_name_label.include.monster_name); + language.current_language.customization_menu.monster_name, config.current_config.large_monster_UI.static.monster_name_label.include.monster_name); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.monster_name_label.include.crown = imgui.checkbox("Crown", + changed, config.current_config.large_monster_UI.static.monster_name_label.include.crown = imgui.checkbox(language.current_language.customization_menu.crown, config.current_config.large_monster_UI.static.monster_name_label.include.crown); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.monster_name_label.include.size = imgui.checkbox("Size", + changed, config.current_config.large_monster_UI.static.monster_name_label.include.size = imgui.checkbox(language.current_language.customization_menu.size, config.current_config.large_monster_UI.static.monster_name_label.include.size); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.monster_name_label.include.scrown_thresholds = - imgui.checkbox("Crown Thresholds", + imgui.checkbox(language.current_language.customization_menu.crown_thresholds, config.current_config.large_monster_UI.static.monster_name_label.include.scrown_thresholds); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2502,14 +2558,14 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.monster_name_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.monster_name_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.monster_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.monster_name_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.monster_name_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.monster_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2518,28 +2574,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.monster_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.monster_name_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.monster_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.monster_name_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.monster_name_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.monster_name_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.monster_name_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.monster_name_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.monster_name_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.monster_name_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.monster_name_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.monster_name_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.monster_name_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2548,8 +2604,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.monster_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.monster_name_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.monster_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.monster_name_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2562,28 +2618,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Health") then - changed, config.current_config.large_monster_UI.static.health.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.health) then + changed, config.current_config.large_monster_UI.static.health.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.static.health.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.static.health.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.text_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.health.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.health.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.health.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.health.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.health.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.health.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2592,28 +2648,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.health.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.health.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.health.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.health.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.health.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.health.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.health.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.health.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.health.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.health.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2622,8 +2678,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.health.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.health.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2636,22 +2692,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.static.health.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.static.health.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.value_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.health.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.health.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.health.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.health.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.health.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.health.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2660,28 +2716,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.health.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.health.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.health.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.health.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.health.value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.health.value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.health.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.health.value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.health.value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.health.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2690,8 +2746,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.health.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.health.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2704,22 +2760,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then changed, config.current_config.large_monster_UI.static.health.percentage_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.static.health.percentage_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.percentage_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.health.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.health.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.health.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.health.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.health.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.health.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2728,29 +2784,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.health.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.health.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.health.percentage_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.health.percentage_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.static.health.percentage_label.shadow.offset.x = - imgui.drag_float("X", config.current_config.large_monster_UI.static.health.percentage_label.shadow.offset.x, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.health.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.health.percentage_label.shadow.offset.y = - imgui.drag_float("Y", config.current_config.large_monster_UI.static.health.percentage_label.shadow.offset.y, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.health.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2758,8 +2814,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.health.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.health.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2772,19 +2828,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.static.health.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.static.health.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.health.bar.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.health.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.health.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.health.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.health.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.health.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.health.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2792,13 +2848,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.static.health.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.static.health.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.static.health.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.health.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.static.health.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.static.health.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2806,34 +2862,34 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.static.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.static.health.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.static.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.static.health.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Monster can be captured") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.static.health.bar.colors.capture.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.capture.foreground, color_picker_flags); + 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, config.current_config.large_monster_UI.static.health.bar.colors.capture.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.capture.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.static.health.bar.colors.capture.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.capture.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.static.health.bar.colors.capture.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.health.bar.colors.capture.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2850,28 +2906,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Stamina") then - changed, config.current_config.large_monster_UI.static.stamina.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.stamina) then + changed, config.current_config.large_monster_UI.static.stamina.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.static.stamina.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.static.stamina.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.text_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.stamina.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.stamina.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.stamina.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.stamina.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.stamina.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.stamina.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2880,28 +2936,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.stamina.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.stamina.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.stamina.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.stamina.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.stamina.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.stamina.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.stamina.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.stamina.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.stamina.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.stamina.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2910,8 +2966,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.stamina.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.stamina.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2924,22 +2980,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.static.stamina.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.static.stamina.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.value_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.stamina.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.stamina.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.stamina.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.stamina.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.stamina.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.stamina.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -2948,29 +3004,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.stamina.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.stamina.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.stamina.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.stamina.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.static.stamina.value_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.static.stamina.value_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.stamina.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.stamina.value_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.static.stamina.value_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.stamina.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2978,8 +3034,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.stamina.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.stamina.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -2992,22 +3048,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then changed, config.current_config.large_monster_UI.static.stamina.percentage_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.static.stamina.percentage_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.percentage_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.stamina.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.stamina.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.stamina.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.stamina.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.stamina.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.stamina.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3016,29 +3072,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.stamina.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.stamina.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.visibility = - imgui.checkbox("Enable", config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.visibility); + imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.offset.x = - imgui.drag_float("X", config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.offset.x, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.offset.y = - imgui.drag_float("Y", config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.offset.y, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3046,8 +3102,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3060,19 +3116,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.static.stamina.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.static.stamina.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.stamina.bar.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.stamina.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.stamina.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.stamina.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.stamina.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.stamina.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.stamina.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3080,13 +3136,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.static.stamina.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.static.stamina.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.static.stamina.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.stamina.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.static.stamina.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.static.stamina.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3094,17 +3150,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.static.stamina.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.static.stamina.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.static.stamina.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.static.stamina.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.stamina.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3120,27 +3176,27 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Rage") then - changed, config.current_config.large_monster_UI.static.rage.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.rage) then + changed, config.current_config.large_monster_UI.static.rage.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.static.rage.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.static.rage.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.text_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.rage.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.rage.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.rage.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.rage.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3149,28 +3205,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.rage.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.rage.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.rage.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.rage.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.rage.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.rage.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.rage.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.rage.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3179,8 +3235,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.rage.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.rage.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3193,21 +3249,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.static.rage.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.static.rage.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.value_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.rage.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.rage.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.rage.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.rage.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3216,28 +3272,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.rage.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.rage.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.rage.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.rage.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.rage.value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.rage.value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.rage.value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.rage.value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3246,8 +3302,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.rage.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.rage.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3260,22 +3316,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then - changed, config.current_config.large_monster_UI.static.rage.percentage_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then + changed, config.current_config.large_monster_UI.static.rage.percentage_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.percentage_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.rage.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.rage.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.rage.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.rage.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3284,29 +3340,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.rage.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.rage.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.rage.percentage_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.static.rage.percentage_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.static.rage.percentage_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3314,8 +3370,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.rage.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3328,19 +3384,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.static.rage.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.static.rage.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.rage.bar.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.rage.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.rage.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.rage.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.rage.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.rage.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.rage.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3348,13 +3404,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.static.rage.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.static.rage.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.static.rage.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.rage.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.static.rage.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.static.rage.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3362,17 +3418,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.static.rage.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.static.rage.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.static.rage.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.static.rage.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.rage.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3388,19 +3444,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Body Parts") then - changed, config.current_config.large_monster_UI.static.parts.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.body_parts) then + changed, config.current_config.large_monster_UI.static.parts.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3408,13 +3464,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Spacing") then - changed, config.current_config.large_monster_UI.static.parts.spacing.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.spacing) then + changed, config.current_config.large_monster_UI.static.parts.spacing.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.spacing.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.spacing.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.spacing.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.spacing.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3422,19 +3478,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Settings") then + if imgui.tree_node(language.current_language.customization_menu.settings) then changed, config.current_config.large_monster_UI.static.parts.settings.hide_undamaged_parts = imgui.checkbox( - "Hide Undamaged Parts", config.current_config.large_monster_UI.static.parts.settings.hide_undamaged_parts); + language.current_language.customization_menu.hide_undamaged_parts, config.current_config.large_monster_UI.static.parts.settings.hide_undamaged_parts); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Sorting") then - changed, customization_menu.large_monster_static_UI_parts_sorting_type_index = imgui.combo("Type", + if imgui.tree_node(language.current_language.customization_menu.sorting) then + changed, customization_menu.large_monster_static_UI_parts_sorting_type_index = imgui.combo(language.current_language.customization_menu.type, customization_menu.large_monster_static_UI_parts_sorting_type_index, - customization_menu.large_monster_UI_parts_sorting_types); + customization_menu.displayed_large_monster_UI_parts_sorting_types); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; if changed then @@ -3443,41 +3499,41 @@ function customization_menu.draw() end changed, config.current_config.large_monster_UI.static.parts.sorting.reversed_order = imgui.checkbox( - "Reversed Order", config.current_config.large_monster_UI.static.parts.sorting.reversed_order); + language.current_language.customization_menu.reversed_order, config.current_config.large_monster_UI.static.parts.sorting.reversed_order); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Part Name Label") then - changed, config.current_config.large_monster_UI.static.parts.part_name_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.part_name_label) then + changed, config.current_config.large_monster_UI.static.parts.part_name_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.part_name_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Include") then + if imgui.tree_node(language.current_language.customization_menu.include) then changed, config.current_config.large_monster_UI.static.parts.part_name_label.include.part_name = imgui.checkbox( - "Part Name", config.current_config.large_monster_UI.static.parts.part_name_label.include.part_name); + language.current_language.customization_menu.part_name, config.current_config.large_monster_UI.static.parts.part_name_label.include.part_name); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.parts.part_name_label.include.break_count = imgui.checkbox( - "Break Count", config.current_config.large_monster_UI.static.parts.part_name_label.include.break_count); + language.current_language.customization_menu.break_count, config.current_config.large_monster_UI.static.parts.part_name_label.include.break_count); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.part_name_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.part_name_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.part_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.part_name_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.part_name_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.part_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3486,29 +3542,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.part_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.part_name_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.part_name_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.part_name_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.parts.part_name_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.static.parts.part_name_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.static.parts.part_name_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3516,8 +3572,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.part_name_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.part_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.part_name_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3530,21 +3586,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Text Label") then - changed, config.current_config.large_monster_UI.static.parts.text_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.text_label) then + changed, config.current_config.large_monster_UI.static.parts.text_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.text_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.text_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.text_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.text_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.text_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.text_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.text_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3553,28 +3609,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.text_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.text_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.text_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.parts.text_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.parts.text_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.text_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.text_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.text_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.text_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.text_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.text_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.text_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3583,8 +3639,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.text_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.text_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.text_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3597,22 +3653,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Value Label") then - changed, config.current_config.large_monster_UI.static.parts.value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.value_label) then + changed, config.current_config.large_monster_UI.static.parts.value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.value_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3621,28 +3677,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.value_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.parts.value_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.parts.value_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.value_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3651,8 +3707,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.value_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3665,22 +3721,22 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Percentage Label") then + if imgui.tree_node(language.current_language.customization_menu.percentage_label) then changed, config.current_config.large_monster_UI.static.parts.percentage_label.visibility = imgui.checkbox( - "Visible", config.current_config.large_monster_UI.static.parts.percentage_label.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.percentage_label.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -3689,29 +3745,29 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.percentage_label.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.visibility = imgui.checkbox( - "Enable", config.current_config.large_monster_UI.static.parts.percentage_label.shadow.visibility); + language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.offset.x = imgui.drag_float( - "X", config.current_config.large_monster_UI.static.parts.percentage_label.shadow.offset.x, 0.1, -screen.width, + language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; changed, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.offset.y = imgui.drag_float( - "Y", config.current_config.large_monster_UI.static.parts.percentage_label.shadow.offset.y, 0.1, -screen.height, + language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3719,8 +3775,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.large_monster_UI.static.parts.percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3733,19 +3789,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Bar") then - changed, config.current_config.large_monster_UI.static.parts.bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.bar) then + changed, config.current_config.large_monster_UI.static.parts.bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.large_monster_UI.static.parts.bar.visibility); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.large_monster_UI.static.parts.bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.large_monster_UI.static.parts.bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.large_monster_UI.static.parts.bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.large_monster_UI.static.parts.bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.large_monster_UI.static.parts.bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3753,13 +3809,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.large_monster_UI.static.parts.bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.large_monster_UI.static.parts.bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.large_monster_UI.static.parts.bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; - changed, config.current_config.large_monster_UI.static.parts.bar.size.height = imgui.drag_float("Height", + changed, config.current_config.large_monster_UI.static.parts.bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.large_monster_UI.static.parts.bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3767,17 +3823,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.large_monster_UI.static.parts.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.large_monster_UI.static.parts.bar.colors.foreground = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.large_monster_UI.static.parts.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.large_monster_UI.static.parts.bar.colors.background = imgui.color_picker_argb("", config.current_config.large_monster_UI.static.parts.bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; large_monster_static_UI_changed = large_monster_static_UI_changed or changed; @@ -3805,21 +3861,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Time UI") then - changed, config.current_config.time_UI.enabled = imgui.checkbox("Enabled", config.current_config.time_UI.enabled); + if imgui.tree_node(language.current_language.customization_menu.time_UI) then + changed, config.current_config.time_UI.enabled = imgui.checkbox(language.current_language.customization_menu.enabled, config.current_config.time_UI.enabled); config_changed = config_changed or changed; - if imgui.tree_node("Position") then - changed, config.current_config.time_UI.position.x = imgui.drag_float("X", config.current_config.time_UI.position.x, + if imgui.tree_node(language.current_language.customization_menu.position) then + changed, config.current_config.time_UI.position.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.time_UI.position.x, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; - changed, config.current_config.time_UI.position.y = imgui.drag_float("Y", config.current_config.time_UI.position.y, + changed, config.current_config.time_UI.position.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.time_UI.position.y, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; - changed, customization_menu.time_UI_anchor_index = imgui.combo("Anchor", customization_menu.time_UI_anchor_index, - customization_menu.anchor_types); + changed, customization_menu.time_UI_anchor_index = imgui.combo(language.current_language.customization_menu.anchor, customization_menu.time_UI_anchor_index, + customization_menu.displayed_anchor_types); config_changed = config_changed or changed; if changed then config.current_config.time_UI.position.anchor = @@ -3829,53 +3885,53 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Time Label") then + if imgui.tree_node(language.current_language.customization_menu.time_label) then changed, config.current_config.time_UI.time_label.visibility = - imgui.checkbox("Visible", config.current_config.time_UI.time_label.visibility); + imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.time_UI.time_label.visibility); config_changed = config_changed or changed; -- add text format - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.time_UI.time_label.offset.x = - imgui.drag_float("X", config.current_config.time_UI.time_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.time_UI.time_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; changed, config.current_config.time_UI.time_label.offset.y = - imgui.drag_float("Y", config.current_config.time_UI.time_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.time_UI.time_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.time_UI.time_label.color = imgui.color_picker_argb("", config.current_config.time_UI.time_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.time_UI.time_label.color = imgui.color_picker_argb("", config.current_config.time_UI.time_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then + if imgui.tree_node(language.current_language.customization_menu.shadow) then changed, config.current_config.time_UI.time_label.shadow.visibility = - imgui.checkbox("Enable", config.current_config.time_UI.time_label.shadow.visibility); + imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.time_UI.time_label.shadow.visibility); config_changed = config_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.time_UI.time_label.shadow.offset.x = - imgui.drag_float("X", config.current_config.time_UI.time_label.shadow.offset.x, 0.1, -screen.width, screen.width, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.time_UI.time_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; changed, config.current_config.time_UI.time_label.shadow.offset.y = - imgui.drag_float("Y", config.current_config.time_UI.time_label.shadow.offset.y, 0.1, -screen.height, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.time_UI.time_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("Color") then - -- changed, config.current_config.time_UI.time_label.shadow.color = imgui.color_picker_argb("", config.current_config.time_UI.time_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.time_UI.time_label.shadow.color = imgui.color_picker_argb("", config.current_config.time_UI.time_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; imgui.tree_pop(); @@ -3889,39 +3945,39 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Damage Meter UI") then + if imgui.tree_node(language.current_language.customization_menu.damage_meter_UI) then local damage_meter_UI_changed = false; - changed, config.current_config.damage_meter_UI.enabled = imgui.checkbox("Enabled", + changed, config.current_config.damage_meter_UI.enabled = imgui.checkbox(language.current_language.customization_menu.enabled, config.current_config.damage_meter_UI.enabled); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Settings") then + if imgui.tree_node(language.current_language.customization_menu.settings) then changed, config.current_config.damage_meter_UI.settings.hide_module_if_total_damage_is_zero = imgui.checkbox( - "Hide Module if Total Damage is 0", + language.current_language.customization_menu.hide_module_if_total_damage_is_zero, config.current_config.damage_meter_UI.settings.hide_module_if_total_damage_is_zero); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.settings.hide_player_if_player_damage_is_zero = imgui.checkbox( - "Hide Player if Player Damage is 0", + language.current_language.customization_menu.hide_player_if_player_damage_is_zero, config.current_config.damage_meter_UI.settings.hide_player_if_player_damage_is_zero); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.settings.hide_total_if_total_damage_is_zero = imgui.checkbox( - "Hide Total if Total Damage is 0", config.current_config.damage_meter_UI.settings.hide_total_if_total_damage_is_zero); + language.current_language.customization_menu.hide_total_if_total_damage_is_zero, config.current_config.damage_meter_UI.settings.hide_total_if_total_damage_is_zero); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.settings.total_damage_offset_is_relative = imgui.checkbox( - "Total Damage Offset is Relative", config.current_config.damage_meter_UI.settings.total_damage_offset_is_relative); + language.current_language.customization_menu.total_damage_offset_is_relative, config.current_config.damage_meter_UI.settings.total_damage_offset_is_relative); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, customization_menu.damage_meter_UI_orientation_index = imgui.combo("Orientation", - customization_menu.damage_meter_UI_orientation_index, customization_menu.orientation_types); + changed, customization_menu.damage_meter_UI_orientation_index = imgui.combo(language.current_language.customization_menu.orientation, + customization_menu.damage_meter_UI_orientation_index, customization_menu.displayed_orientation_types); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; if changed then @@ -3930,8 +3986,8 @@ function customization_menu.draw() end changed, customization_menu.damage_meter_UI_highlighted_bar_index = - imgui.combo("Highlighted Bar", customization_menu.damage_meter_UI_highlighted_bar_index, - customization_menu.damage_meter_UI_highlighted_bar_types); + imgui.combo(language.current_language.customization_menu.highlighted_bar, customization_menu.damage_meter_UI_highlighted_bar_index, + customization_menu.displayed_damage_meter_UI_highlighted_bar_types); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; if changed then @@ -3940,8 +3996,8 @@ function customization_menu.draw() end changed, customization_menu.damage_meter_UI_damage_bar_relative_index = - imgui.combo("Damage Bars are Relative to", customization_menu.damage_meter_UI_damage_bar_relative_index, - customization_menu.damage_meter_UI_damage_bar_relative_types); + imgui.combo(language.current_language.customization_menu.damage_bars_are_relative_to, customization_menu.damage_meter_UI_damage_bar_relative_index, + customization_menu.displayed_damage_meter_UI_damage_bar_relative_types); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; if changed then @@ -3950,8 +4006,8 @@ function customization_menu.draw() end changed, customization_menu.damage_meter_UI_my_damage_bar_location_index = - imgui.combo("My Damage Bar Location", customization_menu.damage_meter_UI_my_damage_bar_location_index, - customization_menu.damage_meter_UI_my_damage_bar_location_types); + imgui.combo(language.current_language.customization_menu.my_damage_bar_location, customization_menu.damage_meter_UI_my_damage_bar_location_index, + customization_menu.displayed_damage_meter_UI_my_damage_bar_location_types); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; if changed then @@ -3962,16 +4018,16 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Tracked Monster Types") then + if imgui.tree_node(language.current_language.customization_menu.tracked_monster_types) then local tracked_monster_types_changed = false; changed, config.current_config.damage_meter_UI.tracked_monster_types.small_monsters = imgui.checkbox( - "Small Monsters", config.current_config.damage_meter_UI.tracked_monster_types.small_monsters); + language.current_language.customization_menu.small_monsters, config.current_config.damage_meter_UI.tracked_monster_types.small_monsters); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_monster_types_changed = tracked_monster_types_changed or changed; changed, config.current_config.damage_meter_UI.tracked_monster_types.large_monsters = imgui.checkbox( - "Large Monsters", config.current_config.damage_meter_UI.tracked_monster_types.large_monsters); + language.current_language.customization_menu.large_monsters, config.current_config.damage_meter_UI.tracked_monster_types.large_monsters); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_monster_types_changed = tracked_monster_types_changed or changed; @@ -3986,40 +4042,40 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Tracked Damage Types") then + if imgui.tree_node(language.current_language.customization_menu.tracked_damage_types) then local tracked_damage_types_changed = false; changed, config.current_config.damage_meter_UI.tracked_damage_types.player_damage = - imgui.checkbox("Player Damage", config.current_config.damage_meter_UI.tracked_damage_types.player_damage); + imgui.checkbox(language.current_language.customization_menu.player_damage, config.current_config.damage_meter_UI.tracked_damage_types.player_damage); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_damage_types_changed = tracked_damage_types_changed or changed; - changed, config.current_config.damage_meter_UI.tracked_damage_types.bomb_damage = imgui.checkbox("Bomb Damage", + changed, config.current_config.damage_meter_UI.tracked_damage_types.bomb_damage = imgui.checkbox(language.current_language.customization_menu.bomb_damage, config.current_config.damage_meter_UI.tracked_damage_types.bomb_damage); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_damage_types_changed = tracked_damage_types_changed or changed; changed, config.current_config.damage_meter_UI.tracked_damage_types.kunai_damage = - imgui.checkbox("Kunai Damage", config.current_config.damage_meter_UI.tracked_damage_types.kunai_damage); + imgui.checkbox(language.current_language.customization_menu.kunai_damage, config.current_config.damage_meter_UI.tracked_damage_types.kunai_damage); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_damage_types_changed = tracked_damage_types_changed or changed; changed, config.current_config.damage_meter_UI.tracked_damage_types.installation_damage = imgui.checkbox( - "Installation Damage", config.current_config.damage_meter_UI.tracked_damage_types.installation_damage); + language.current_language.customization_menu.installation_damage, config.current_config.damage_meter_UI.tracked_damage_types.installation_damage); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_damage_types_changed = tracked_damage_types_changed or changed; changed, config.current_config.damage_meter_UI.tracked_damage_types.otomo_damage = - imgui.checkbox("Otomo Damage", config.current_config.damage_meter_UI.tracked_damage_types.otomo_damage); + imgui.checkbox(language.current_language.customization_menu.otomo_damage, config.current_config.damage_meter_UI.tracked_damage_types.otomo_damage); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_damage_types_changed = tracked_damage_types_changed or changed; changed, config.current_config.damage_meter_UI.tracked_damage_types.monster_damage = - imgui.checkbox("Monster Damage", config.current_config.damage_meter_UI.tracked_damage_types.monster_damage); + imgui.checkbox(language.current_language.customization_menu.monster_damage, config.current_config.damage_meter_UI.tracked_damage_types.monster_damage); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; tracked_damage_types_changed = tracked_damage_types_changed or changed; @@ -4034,33 +4090,33 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Spacing") then + if imgui.tree_node(language.current_language.customization_menu.spacing) then changed, config.current_config.damage_meter_UI.spacing.x = - imgui.drag_float("X", config.current_config.damage_meter_UI.spacing.x, 0.1, -screen.width, screen.width, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.spacing.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.spacing.y = - imgui.drag_float("Y", config.current_config.damage_meter_UI.spacing.y, 0.1, -screen.height, screen.height, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.spacing.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Position") then + if imgui.tree_node(language.current_language.customization_menu.position) then changed, config.current_config.damage_meter_UI.position.x = - imgui.drag_float("X", config.current_config.damage_meter_UI.position.x, 0.1, 0, screen.width, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.position.x, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.position.y = - imgui.drag_float("Y", config.current_config.damage_meter_UI.position.y, 0.1, 0, screen.height, "%.1f"); + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.position.y, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, customization_menu.damage_meter_UI_anchor_index = imgui.combo("Anchor", - customization_menu.damage_meter_UI_anchor_index, customization_menu.anchor_types); + changed, customization_menu.damage_meter_UI_anchor_index = imgui.combo(language.current_language.customization_menu.anchor, + customization_menu.damage_meter_UI_anchor_index, customization_menu.displayed_anchor_types); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; if changed then @@ -4071,9 +4127,9 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Sorting") then - changed, customization_menu.damage_meter_UI_sort_type_index = imgui.combo("Type", - customization_menu.damage_meter_UI_sort_type_index, customization_menu.damage_meter_UI_sorting_types); + if imgui.tree_node(language.current_language.customization_menu.sorting) then + changed, customization_menu.damage_meter_UI_sort_type_index = imgui.combo(language.current_language.customization_menu.type, + customization_menu.damage_meter_UI_sort_type_index, customization_menu.displayed_damage_meter_UI_sorting_types); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; if changed then @@ -4082,62 +4138,62 @@ function customization_menu.draw() end changed, config.current_config.damage_meter_UI.sorting.reversed_order = - imgui.checkbox("Reversed Order", config.current_config.damage_meter_UI.sorting.reversed_order); + imgui.checkbox(language.current_language.customization_menu.reversed_order, config.current_config.damage_meter_UI.sorting.reversed_order); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Player Name Label") then - changed, config.current_config.damage_meter_UI.player_name_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.player_name_label) then + changed, config.current_config.damage_meter_UI.player_name_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.player_name_label.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Include") then - if imgui.tree_node("Me") then + if imgui.tree_node(language.current_language.customization_menu.include) then + if imgui.tree_node(language.current_language.customization_menu.me) then changed, config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank = imgui.checkbox( - "Hunter Rank", config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank); + language.current_language.customization_menu.hunter_rank, config.current_config.damage_meter_UI.player_name_label.include.myself.hunter_rank); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.player_name_label.include.myself.word_player = imgui.checkbox( - "Word \"Player\"", config.current_config.damage_meter_UI.player_name_label.include.myself.word_player); + language.current_language.customization_menu.word_player, config.current_config.damage_meter_UI.player_name_label.include.myself.word_player); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.player_name_label.include.myself.player_id = imgui.checkbox( - "Player ID", config.current_config.damage_meter_UI.player_name_label.include.myself.player_id); + language.current_language.customization_menu.player_id, config.current_config.damage_meter_UI.player_name_label.include.myself.player_id); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.player_name_label.include.myself.player_name = imgui.checkbox( - "Player Name", config.current_config.damage_meter_UI.player_name_label.include.myself.player_name); + language.current_language.customization_menu.player_name, config.current_config.damage_meter_UI.player_name_label.include.myself.player_name); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Other Players") then + if imgui.tree_node(language.current_language.customization_menu.other_players) then changed, config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank = imgui.checkbox( - "Hunter Rank", config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank); + language.current_language.customization_menu.hunter_rank, config.current_config.damage_meter_UI.player_name_label.include.others.hunter_rank); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.player_name_label.include.others.word_player = imgui.checkbox( - "Word \"Player\"", config.current_config.damage_meter_UI.player_name_label.include.others.word_player); + language.current_language.customization_menu.word_player, config.current_config.damage_meter_UI.player_name_label.include.others.word_player); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.player_name_label.include.others.player_id = imgui.checkbox( - "Player ID", config.current_config.damage_meter_UI.player_name_label.include.others.player_id); + language.current_language.customization_menu.player_id, config.current_config.damage_meter_UI.player_name_label.include.others.player_id); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.player_name_label.include.others.player_name = imgui.checkbox( - "Player Name", config.current_config.damage_meter_UI.player_name_label.include.others.player_name); + language.current_language.customization_menu.player_name, config.current_config.damage_meter_UI.player_name_label.include.others.player_name); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4147,13 +4203,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.player_name_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.player_name_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.player_name_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.player_name_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.player_name_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.player_name_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4161,27 +4217,27 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.player_name_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.player_name_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.player_name_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.player_name_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.damage_meter_UI.player_name_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.damage_meter_UI.player_name_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.player_name_label.shadow.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.player_name_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.player_name_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.player_name_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.player_name_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.player_name_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.player_name_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -4190,8 +4246,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.player_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.player_name_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.player_name_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.player_name_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4204,21 +4260,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Damage Value Label") then - changed, config.current_config.damage_meter_UI.damage_value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.damage_value_label) then + changed, config.current_config.damage_meter_UI.damage_value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.damage_value_label.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.damage_value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.damage_value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.damage_value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.damage_value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.damage_value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.damage_value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4226,27 +4282,27 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.damage_value_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.damage_value_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.damage_meter_UI.damage_value_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.damage_meter_UI.damage_value_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.damage_value_label.shadow.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.damage_value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.damage_value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.damage_value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.damage_value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.damage_value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.damage_value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -4255,8 +4311,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.damage_value_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.damage_value_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4269,21 +4325,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Damage Percentage Label") then - changed, config.current_config.damage_meter_UI.damage_percentage_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.damage_percentage_label) then + changed, config.current_config.damage_meter_UI.damage_percentage_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.damage_percentage_label.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.damage_percentage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.damage_percentage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.damage_percentage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.damage_percentage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.damage_percentage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.damage_percentage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4291,28 +4347,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.damage_percentage_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_percentage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.damage_percentage_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_percentage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.damage_percentage_label.shadow.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.damage_percentage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.damage_percentage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -4321,8 +4377,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_percentage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.damage_percentage_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_percentage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4335,21 +4391,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Total Damage Label") then - changed, config.current_config.damage_meter_UI.total_damage_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.total_damage_label) then + changed, config.current_config.damage_meter_UI.total_damage_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.total_damage_label.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.total_damage_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.total_damage_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.total_damage_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.total_damage_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.total_damage_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.total_damage_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4357,27 +4413,27 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.total_damage_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.total_damage_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.damage_meter_UI.total_damage_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.damage_meter_UI.total_damage_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.total_damage_label.shadow.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.total_damage_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.total_damage_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.total_damage_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.total_damage_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.total_damage_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.total_damage_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -4386,8 +4442,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.total_damage_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.total_damage_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4400,21 +4456,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Total Damage Value Label") then - changed, config.current_config.damage_meter_UI.total_damage_value_label.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.total_damage_value_label) then + changed, config.current_config.damage_meter_UI.total_damage_value_label.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.total_damage_value_label.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; -- add text format - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.total_damage_value_label.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.total_damage_value_label.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.total_damage_value_label.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.total_damage_value_label.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.total_damage_value_label.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.total_damage_value_label.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4422,28 +4478,28 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.total_damage_value_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_value_label.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.total_damage_value_label.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_value_label.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Shadow") then - changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.visibility = imgui.checkbox("Enable", + if imgui.tree_node(language.current_language.customization_menu.shadow) then + changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.total_damage_value_label.shadow.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.total_damage_value_label.shadow.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.total_damage_value_label.shadow.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; @@ -4452,8 +4508,8 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Color") then - -- changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_value_label.shadow.color, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.color) then + changed, config.current_config.damage_meter_UI.total_damage_value_label.shadow.color = imgui.color_picker_argb("", config.current_config.damage_meter_UI.total_damage_value_label.shadow.color, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4466,21 +4522,21 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Damage Bar") then - changed, config.current_config.damage_meter_UI.damage_bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.damage_bar) then + changed, config.current_config.damage_meter_UI.damage_bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.damage_bar.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Offset") then + if imgui.tree_node(language.current_language.customization_menu.offset) then changed, config.current_config.damage_meter_UI.damage_bar.offset.x = - imgui.drag_float("X", config.current_config.damage_meter_UI.damage_bar.offset.x, 0.1, -screen.width, screen.width, + imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.damage_bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; changed, config.current_config.damage_meter_UI.damage_bar.offset.y = - imgui.drag_float("Y", config.current_config.damage_meter_UI.damage_bar.offset.y, 0.1, -screen.height, + imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.damage_bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4488,13 +4544,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.damage_meter_UI.damage_bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.damage_meter_UI.damage_bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.damage_meter_UI.damage_bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.damage_bar.size.height = imgui.drag_float("Height", + changed, config.current_config.damage_meter_UI.damage_bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.damage_meter_UI.damage_bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4502,17 +4558,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.damage_meter_UI.damage_bar.colors.foreground = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.damage_meter_UI.damage_bar.colors.foreground = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.damage_meter_UI.damage_bar.colors.background = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.damage_meter_UI.damage_bar.colors.background = imgui.color_picker_argb("", config.current_config.damage_meter_UI.damage_bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4525,19 +4581,19 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Highlighted Damage Bar") then - changed, config.current_config.damage_meter_UI.highlighted_damage_bar.visibility = imgui.checkbox("Visible", + if imgui.tree_node(language.current_language.customization_menu.highlighted_damage_bar) then + changed, config.current_config.damage_meter_UI.highlighted_damage_bar.visibility = imgui.checkbox(language.current_language.customization_menu.visible, config.current_config.damage_meter_UI.highlighted_damage_bar.visibility); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - if imgui.tree_node("Offset") then - changed, config.current_config.damage_meter_UI.highlighted_damage_bar.offset.x = imgui.drag_float("X", + if imgui.tree_node(language.current_language.customization_menu.offset) then + changed, config.current_config.damage_meter_UI.highlighted_damage_bar.offset.x = imgui.drag_float(language.current_language.customization_menu.x, config.current_config.damage_meter_UI.highlighted_damage_bar.offset.x, 0.1, -screen.width, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.highlighted_damage_bar.offset.y = imgui.drag_float("Y", + changed, config.current_config.damage_meter_UI.highlighted_damage_bar.offset.y = imgui.drag_float(language.current_language.customization_menu.y, config.current_config.damage_meter_UI.highlighted_damage_bar.offset.y, 0.1, -screen.height, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4545,13 +4601,13 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Size") then - changed, config.current_config.damage_meter_UI.highlighted_damage_bar.size.width = imgui.drag_float("Width", + if imgui.tree_node(language.current_language.customization_menu.size) then + changed, config.current_config.damage_meter_UI.highlighted_damage_bar.size.width = imgui.drag_float(language.current_language.customization_menu.width, config.current_config.damage_meter_UI.highlighted_damage_bar.size.width, 0.1, 0, screen.width, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; - changed, config.current_config.damage_meter_UI.highlighted_damage_bar.size.height = imgui.drag_float("Height", + changed, config.current_config.damage_meter_UI.highlighted_damage_bar.size.height = imgui.drag_float(language.current_language.customization_menu.height, config.current_config.damage_meter_UI.highlighted_damage_bar.size.height, 0.1, 0, screen.height, "%.1f"); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; @@ -4559,17 +4615,17 @@ function customization_menu.draw() imgui.tree_pop(); end - if imgui.tree_node("Colors") then - if imgui.tree_node("Foreground") then - -- changed, config.current_config.damage_meter_UI.highlighted_damage_bar.colors.foreground = imgui.color_picker_argb("", config.current_config.damage_meter_UI.highlighted_damage_bar.colors.foreground, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.colors) then + if imgui.tree_node(language.current_language.customization_menu.foreground) then + changed, config.current_config.damage_meter_UI.highlighted_damage_bar.colors.foreground = imgui.color_picker_argb("", config.current_config.damage_meter_UI.highlighted_damage_bar.colors.foreground, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; imgui.tree_pop(); end - if imgui.tree_node("Background") then - -- changed, config.current_config.damage_meter_UI.highlighted_damage_bar.colors.background = imgui.color_picker_argb("", config.current_config.damage_meter_UI.highlighted_damage_bar.colors.background, color_picker_flags); + if imgui.tree_node(language.current_language.customization_menu.background) then + changed, config.current_config.damage_meter_UI.highlighted_damage_bar.colors.background = imgui.color_picker_argb("", config.current_config.damage_meter_UI.highlighted_damage_bar.colors.background, customization_menu.color_picker_flags); config_changed = config_changed or changed; damage_meter_UI_changed = damage_meter_UI_changed or changed; diff --git a/MHR_Overlay/UI/drawing.lua b/reframework/autorun/MHR_Overlay/UI/drawing.lua similarity index 100% rename from MHR_Overlay/UI/drawing.lua rename to reframework/autorun/MHR_Overlay/UI/drawing.lua diff --git a/reframework/data/MHR Overlay/languages/en-us.json b/reframework/data/MHR Overlay/languages/en-us.json new file mode 100644 index 0000000..b8c1ef6 --- /dev/null +++ b/reframework/data/MHR Overlay/languages/en-us.json @@ -0,0 +1,173 @@ +{ + "UI": { + "HP": "HP:", + "gold": "Gold", + "mini": "Mini", + "rage": "Rage:", + "silver": "Silver", + "stamina": "Stamina:" + }, + "customization_menu": { + "anchor": "Anchor", + "background": "Background", + "bar": "Bar", + "body_parts": "Body Parts", + "bold": "Bold", + "bomb_damage": "Bomb Damage", + "bottom_left": "Bottom-Left", + "bottom_right": "Bottom-Right", + "break_count": "Break Count", + "color": "Color", + "colors": "Colors", + "crown": "Crown", + "crown_thresholds": "Crown Thresholds", + "damage": "Damage", + "damage_bar": "Damage Bar", + "damage_bars_are_relative_to": "Damage Bars are relative to", + "damage_meter_UI": "Damage Meter UI", + "damage_percentage_label": "Damage Percetange Label", + "damage_value_label": "Damage Value Label", + "distance": "Distance", + "during_quest": "During Quest", + "dynamic_positioning": "Dynamic Positioning", + "dynamically_positioned": "Dynamically Positioned", + "enabled": "Enabled", + "family": "Family", + "first": "First", + "font": "Font", + "font_notice": "Any changes to the font require script reload!", + "foreground": "Foreground", + "global_settings": "Global Settings", + "health": "Health", + "health_percentage": "Health Percentage", + "height": "Height", + "hide_module_if_total_damage_is_zero": "Hide Module if Total Damage is 0", + "hide_player_if_player_damage_is_zero": "Hide Player if Player Damage is 0", + "hide_total_if_total_damage_is_zero": "Hide Total if Total Damage is 0", + "hide_undamaged_parts": "Hide Undamaged Parts", + "highlighted_damage_bar": "Highlighted Damage Bar", + "higlighted_bar": "Highlighted Bar", + "horizontal": "Horizontal", + "hunter_rank": "Hunter Rank", + "include": "Include", + "installation_damage": "Installation Damage", + "italic": "Italic", + "kunai_damage": "Kunai Damage", + "language": "Language", + "large_monster_UI": "Large Monster UI", + "large_monster_dynamic_UI": "Large Monster Dynamic UI", + "large_monster_static_UI": "Large Monster Static UI", + "large_monsters": "Large Monsters", + "last": "Last", + "max_distance": "Max Distance", + "max_monster_updates_per_tick": "Max Monster Updates per Tick", + "me": "Me", + "mod_name": "MHR Overlay", + "module_visibility_on_different_screens": "Module Visibility on Different Screens", + "modules": "Modules", + "monster_can_be_captured": "Monster can be captured", + "monster_damage": "Monster Damage", + "monster_name": "Monster Name", + "monster_name_label": "Monster Name Label", + "my_damage_bar_location": "My Damage Bar Location", + "none": "None", + "normal": "Normal", + "offset": "Offset", + "opacity_falloff": "Opacity Falloff", + "orientation": "Orientation", + "other_players": "Other Players", + "otomo_damage": "Otomo Damage", + "part_name": "Part Name", + "part_name_label": "Part Name Label", + "percentage_label": "Percentage Label", + "performance": "Performance", + "player_damage": "Player Damage", + "player_id": "Player ID", + "player_name": "Player Name", + "player_name_label": "Player Name Label", + "position": "Position", + "prioritize_large_monsters": "Large Monsters on High Priority", + "quest_summary_screen": "Quest Summary Screen", + "rage": "Rage", + "reversed_order": "Reversed Order", + "settings": "Settings", + "shadow": "Shadow", + "size": "Size", + "small_monster_UI": "Small Monster UI", + "small_monsters": "Small Monsters", + "sorting": "Sorting", + "spacing": "Spacing", + "stamina": "Stamina", + "static_orientation": "Static Orientation", + "static_position": "Static Position", + "static_sorting": "Static Sorting", + "static_spacing": "Static Spacing", + "statically_positioned": "Statically Positioned", + "status": "Status", + "text_label": "Text Label", + "time_UI": "Time UI", + "time_label": "Time Label", + "top_damage": "Top Damage", + "top_left": "Top-Left", + "top_right": "Top-Right", + "total_damage": "Total Damage", + "total_damage_label": "Total Damage Label", + "total_damage_offset_is_relative": "Total Damage Offset is Relative", + "total_damage_value_label": "Total Damage Value Label", + "tracked_damage_types": "Tracked Damage Types", + "tracked_monster_types": "Tracked Monster Types", + "training_area": "Training Area", + "type": "Type", + "value_label": "Value Label", + "vertical": "Vertical", + "viewport_offset": "Viewport Offset", + "visible": "Visible", + "width": "Width", + "word_player": "Word \"Player\"", + "world_offset": "World Offset", + "x": "X", + "y": "Y", + "z": "Z" + }, + "parts": { + "abdomen": "Abdomen", + "arms": "Arms", + "back": "Back", + "back_windsac": "Back (Windsac)", + "body": "Body", + "carapace": "Carapace", + "chest_windsac": "Chest (Windsac)", + "claw": "Claw", + "dorsal_fin": "Dorsal Fin", + "head": "Head", + "head_mud": "Head (Mud)", + "large_mudbulb": "Large Mudbulb", + "left_arm": "Arm L", + "left_arm_ice": "Arm L (Ice)", + "left_cutwing": "Cutwing L", + "left_leg": "Leg L", + "left_legs": "Legs L", + "left_wing": "Wing L", + "legs": "Legs", + "lower_back": "Lower Back", + "lower_body": "Lower Body", + "mane": "Mane", + "neck": "Neck", + "rear": "Rear", + "right_arm": "Arm R", + "right_arm_ice": "Arm R (Ice)", + "right_cutwing": "Cutwing R", + "right_leg": "Leg R", + "right_legs": "Legs R", + "right_wing": "Wing R", + "rock": "Rock", + "spinning": "Spinning", + "tail": "Tail", + "tail_mud": "Tail (Mud)", + "tail_windsac": "Tail (Windsac)", + "torso": "Torso", + "upper_back": "Upper Back", + "upper_body": "Upper Body", + "wings": "Wings" + } +} \ No newline at end of file