mirror of
https://github.com/GreenComfyTea/MHR-Overlay.git
synced 2026-01-25 04:48:22 -08:00
Add Player Name Size Limit
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user