diff --git a/reframework/autorun/MHR_Overlay/Misc/config.lua b/reframework/autorun/MHR_Overlay/Misc/config.lua index 80670d7..1b28883 100644 --- a/reframework/autorun/MHR_Overlay/Misc/config.lua +++ b/reframework/autorun/MHR_Overlay/Misc/config.lua @@ -3779,7 +3779,9 @@ function config.init() hide_myself = false, hide_other_players = false, - hide_total_damage = false + hide_total_damage = false, + + player_name_size_limit = 150 }, sorting = { diff --git a/reframework/autorun/MHR_Overlay/Misc/language.lua b/reframework/autorun/MHR_Overlay/Misc/language.lua index c75d471..b04cda8 100644 --- a/reframework/autorun/MHR_Overlay/Misc/language.lua +++ b/reframework/autorun/MHR_Overlay/Misc/language.lua @@ -374,7 +374,9 @@ language.default_language = { hide_myself = "Hide Myself", hide_other_players = "Hide Other Players", - hide_total_damage = "Hide Total Damage" + hide_total_damage = "Hide Total Damage", + + player_name_size_limit = "Player Name Size Limit" } }; diff --git a/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua b/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua index d3c35af..b128647 100644 --- a/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua +++ b/reframework/autorun/MHR_Overlay/UI/UI_Entities/damage_UI_entity.lua @@ -32,6 +32,8 @@ function damage_UI_entity.new(bar, highlighted_bar, player_name_label, dps_label entity.player_name_label.offset.x = entity.player_name_label.offset.x * global_scale_modifier; entity.player_name_label.offset.y = entity.player_name_label.offset.y * global_scale_modifier; + entity.player_name_size_limit = config.current_config.damage_meter_UI.settings.player_name_size_limit * global_scale_modifier; + entity.dps_label.offset.x = entity.dps_label.offset.x * global_scale_modifier; entity.dps_label.offset.y = entity.dps_label.offset.y * global_scale_modifier; @@ -123,6 +125,8 @@ function damage_UI_entity.draw(_player, position_on_screen, opacity_scale, top_d end end + player_name_text = drawing.limit_text_size(player_name_text, _player.damage_UI.player_name_size_limit); + drawing.draw_label(_player.damage_UI.player_name_label, position_on_screen, opacity_scale, player_name_text); drawing.draw_label(_player.damage_UI.value_label, position_on_screen, opacity_scale, _player.display.total_damage); drawing.draw_label(_player.damage_UI.percentage_label, position_on_screen, opacity_scale, 100 * player_damage_percentage); diff --git a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua index 2a76d49..93fb46e 100644 --- a/reframework/autorun/MHR_Overlay/UI/customization_menu.lua +++ b/reframework/autorun/MHR_Overlay/UI/customization_menu.lua @@ -15132,6 +15132,11 @@ function customization_menu.draw() customization_menu.damage_meter_UI_dps_mode_index]; end + changed, config.current_config.damage_meter_UI.settings.player_name_size_limit = imgui.drag_float(language.current_language.customization_menu + .player_name_size_limit, config.current_config.damage_meter_UI.settings.player_name_size_limit, 0.1, 0, screen.width, "%.1f"); + config_changed = config_changed or changed; + damage_meter_UI_changed = damage_meter_UI_changed or changed; + imgui.tree_pop(); end diff --git a/reframework/autorun/MHR_Overlay/UI/drawing.lua b/reframework/autorun/MHR_Overlay/UI/drawing.lua index 3ad87b9..a09722b 100644 --- a/reframework/autorun/MHR_Overlay/UI/drawing.lua +++ b/reframework/autorun/MHR_Overlay/UI/drawing.lua @@ -32,6 +32,25 @@ function drawing.argb_to_color(alpha, red, green, blue) return 0x1000000 * alpha + 0x10000 * red + 0x100 * green + blue; end +function drawing.limit_text_size(text, size_limit) + if d2d == nil then + return; + end + + --do return end; + + local limited_text = text; + while true do + local text_width, text_height = drawing.font:measure(limited_text); + + if text_width < size_limit then + return limited_text; + else + limited_text = limited_text:sub(1, -5) .. "..."; + end + end +end + function drawing.scale_color_opacity(color, scale) local alpha, red, green, blue = drawing.color_to_argb(color); local new_alpha = math.floor(alpha * scale); diff --git a/reframework/data/MHR Overlay/languages/en-us.json b/reframework/data/MHR Overlay/languages/en-us.json index 4cc754a..8b9074b 100644 --- a/reframework/data/MHR Overlay/languages/en-us.json +++ b/reframework/data/MHR Overlay/languages/en-us.json @@ -172,6 +172,7 @@ "player_id": "Player ID", "player_name": "Player Name", "player_name_label": "Player Name Label", + "player_name_size_limit": "Player Name Size Limit", "player_spacing": "Player Spacing", "poison_damage": "Poison Damage", "position": "Position", diff --git a/reframework/data/MHR Overlay/languages/ko-kr.json b/reframework/data/MHR Overlay/languages/ko-kr.json index 4f540b2..38204dd 100644 --- a/reframework/data/MHR Overlay/languages/ko-kr.json +++ b/reframework/data/MHR Overlay/languages/ko-kr.json @@ -172,6 +172,7 @@ "player_id": "헌터 ID", "player_name": "헌터명", "player_name_label": "헌터명 라벨", + "player_name_size_limit": "Player Name Size Limit", "player_spacing": "플레이어 간격", "poison_damage": "독 대미지", "position": "위치", diff --git a/reframework/data/MHR Overlay/languages/ru-ru.json b/reframework/data/MHR Overlay/languages/ru-ru.json index c007083..93c2824 100644 --- a/reframework/data/MHR Overlay/languages/ru-ru.json +++ b/reframework/data/MHR Overlay/languages/ru-ru.json @@ -172,6 +172,7 @@ "player_id": "ИД игрока", "player_name": "Имя игрока", "player_name_label": "Метка имени игрока", + "player_name_size_limit": "Player Name Size Limit", "player_spacing": "Расстояние между игроками", "poison_damage": "Урон от отравления", "position": "Расположение", diff --git a/reframework/data/MHR Overlay/languages/zh-cn.json b/reframework/data/MHR Overlay/languages/zh-cn.json index 0a112ea..41e526b 100644 --- a/reframework/data/MHR Overlay/languages/zh-cn.json +++ b/reframework/data/MHR Overlay/languages/zh-cn.json @@ -172,6 +172,7 @@ "player_id": "玩家ID", "player_name": "玩家名", "player_name_label": "玩家名标签", + "player_name_size_limit": "Player Name Size Limit", "player_spacing": "玩家间距", "poison_damage": "中毒伤害", "position": "位置", diff --git a/reframework/data/MHR Overlay/languages/zh-tw.json b/reframework/data/MHR Overlay/languages/zh-tw.json index 46d39b9..29574c3 100644 --- a/reframework/data/MHR Overlay/languages/zh-tw.json +++ b/reframework/data/MHR Overlay/languages/zh-tw.json @@ -172,6 +172,7 @@ "player_id": "玩家ID", "player_name": "玩家名稱", "player_name_label": "玩家名稱", + "player_name_size_limit": "Player Name Size Limit", "player_spacing": "Player Spacing", "poison_damage": "毒傷害", "position": "位置",