diff --git a/AutoMark/scripts/mods/AutoMark/ui/debug_hud.lua b/AutoMark/scripts/mods/AutoMark/ui/debug_hud.lua index 25b4dc5..2304ed3 100644 --- a/AutoMark/scripts/mods/AutoMark/ui/debug_hud.lua +++ b/AutoMark/scripts/mods/AutoMark/ui/debug_hud.lua @@ -9,9 +9,15 @@ local ScriptUnit_extension = ScriptUnit.extension mod.debug_hud_last = {} local ELEMENT_CLASS_NAME = "HudElementAutoMarkDebug" +local ELEMENT_FILENAME = "AutoMark/scripts/mods/AutoMark/ui/hud_element_debug" -mod:hook(CLASS.UIManager, "create_player_hud", - function(func, self, peer_id, local_player_id, elements, visibility_groups) +-- the game HUD requires element files through the game require system; without +-- registering here, require(ELEMENT_FILENAME) from UIHud._add_element never finds +-- the mod file (DMF loads mod scripts through its own file loader, not package.path) +mod:add_require_path(ELEMENT_FILENAME) + +mod:hook("UIHud", "init", + function(func, self, elements, visibility_groups, params) if mod_settings.debug_hud and elements then local already = false for i = 1, #elements do @@ -23,13 +29,20 @@ mod:hook(CLASS.UIManager, "create_player_hud", if not already then elements[#elements + 1] = { class_name = ELEMENT_CLASS_NAME, - filename = "AutoMark/scripts/mods/AutoMark/ui/hud_element_debug", + filename = ELEMENT_FILENAME, use_hud_scale = true, visibility_groups = { "alive", "dead" }, } end + if not mod.debug_hud_inject_logged then + mod.debug_hud_inject_logged = true + mod:diag("OMNI-HUD inject: setting=on already=", tostring(already)) + end + elseif not mod.debug_hud_inject_logged then + mod.debug_hud_inject_logged = true + mod:diag("OMNI-HUD inject: setting=off, skipped") end - return func(self, peer_id, local_player_id, elements, visibility_groups) + return func(self, elements, visibility_groups, params) end) local function unit_breed_name(unit) diff --git a/AutoMark/scripts/mods/AutoMark/ui/hud_element_debug.lua b/AutoMark/scripts/mods/AutoMark/ui/hud_element_debug.lua index 2b7af73..a2489c7 100644 --- a/AutoMark/scripts/mods/AutoMark/ui/hud_element_debug.lua +++ b/AutoMark/scripts/mods/AutoMark/ui/hud_element_debug.lua @@ -49,12 +49,7 @@ local widget_definitions = { 0, 0, }, - text_color = { - 240, - 235, - 180, - 255, - }, + text_color = Color.terminal_text_header(255, true), }, }, }, "panel"), @@ -70,6 +65,8 @@ HudElementAutoMarkDebug.init = function (self, parent, draw_layer, start_scale) end HudElementAutoMarkDebug.update = function (self, dt, t, ui_renderer, render_settings, input_service) + HudElementAutoMarkDebug.super.update(self, dt, t, ui_renderer, render_settings, input_service) + self._rebuild_time = self._rebuild_time - dt if self._rebuild_time > 0 then return