From 1c60529dfd00e9291a10646f710e65bdf92977cb Mon Sep 17 00:00:00 2001 From: masterdraco Date: Wed, 30 Sep 2026 15:28:56 +0200 Subject: [PATCH] =?UTF-8?q?fix(status):=20numpad=20*=20som=20tast=20og=20l?= =?UTF-8?q?og=20n=C3=A5r=20vinduet=20ikke=20kan=20tegnes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Standardtasten skifter fra venstre Alt + Insert (kolliderer med FS25_UniversalAutoload) til numpad *. Mangler info-boksens skalering eller overlays, logges det én gang. Statusvinduet henter "start afvist" fra den rigtige ESC-fane, så et flow hvis start fejlede vises rødt som i Flows-listen. --- FS25_ADSmartPickup/adStatusHud.lua | 24 +++++++++++++++++++----- FS25_ADSmartPickup/modDesc.xml | 3 ++- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/FS25_ADSmartPickup/adStatusHud.lua b/FS25_ADSmartPickup/adStatusHud.lua index 5e9ee3e..f369062 100644 --- a/FS25_ADSmartPickup/adStatusHud.lua +++ b/FS25_ADSmartPickup/adStatusHud.lua @@ -1,6 +1,6 @@ -- AD Status Hud -- Statusvinduet på skærmen (i stil med Simple Inspector): slås til/fra med input-handlingen SPU_TOGGLE_STATUS --- (standard venstre Alt + Insert). Øjebliksbilledet bygges af modens egne statusfunktioner (samme som fanerne) højst +-- (standard numpad *). Øjebliksbilledet bygges af modens egne statusfunktioner (samme som fanerne) højst -- hvert sekund i update() og kun mens vinduet er tændt; draw() tegner kun de cachede linjer og bredder. -- Synligheden gemmes pr. bruger i modSettings/FS25_ADSmartPickup/status.xml (standard skjult). -- Kører kun på en klient (ikke dedikeret server). Alle spilkald er beskyttet; fejl logges én gang pr. nøgle. @@ -62,10 +62,18 @@ function ADStatusHud.isClient() end -- Fanernes egne tekst-/statusfunktioner ligger som metoder på SmartPickupFrame og bruger kun self.i18n: --- en let "frame" med spillets i18n genbruger dem uden at røre menuen. +-- en let "frame" med spillets i18n genbruger dem uden at røre menuen. "Start afvist" (lastStartFailed, rødt flow) +-- huskes på den rigtige ESC-fane (ADSmartPickup.guiFrame): tabellen deles, så vinduet viser samme farve som +-- Flows-listen (flowLevel rydder en afvisning når flowet kører — det samme som fanen selv gør). local function frameProxy() if SmartPickupFrame == nil then return nil end - return setmetatable({i18n = g_i18n, lastStartFailed = {}}, {__index = SmartPickupFrame}) + local real = ADSmartPickup ~= nil and ADSmartPickup.guiFrame or nil + local failed = {} + if type(real) == "table" then + if type(real.lastStartFailed) ~= "table" then real.lastStartFailed = {} end + failed = real.lastStartFailed + end + return setmetatable({i18n = g_i18n, lastStartFailed = failed}, {__index = SmartPickupFrame}) end local function fillTitle(fillType) @@ -261,6 +269,8 @@ function ADStatusHud.rebuild(adEnv) local lines = ADStatusView.lines(ADStatusHud.snapshot(adEnv), textOf, ADStatusView.MAX_LINES) local textSize, marginX, marginY, offsetX = measureUnits() if textSize == nil then + -- spillets info-boks (skalering) findes ikke: vinduet kan ikke måles og tegnes + logOnce("measure", "gameInfoDisplay mangler eller kan ikke skalere") ADStatusHud.lines, ADStatusHud.layout = {}, nil return end @@ -402,8 +412,12 @@ end function ADStatusHud.draw() if not ADStatusHud.visible or ADStatusHud.layout == nil or #ADStatusHud.lines == 0 then return end if shouldSkipDraw() then return end - local bg = createOverlays() - if bg == nil then return end + local ok0, bg = pcall(createOverlays) + if not ok0 or bg == nil then + -- uden baggrund tegnes intet (g_overlayManager/HUD.COLOR mangler eller createOverlay fejlede) + logOnce("overlays", ok0 and "g_overlayManager eller HUD.COLOR.BACKGROUND mangler" or bg) + return + end local ok, err = pcall(render, ADStatusHud.layout, bg) -- tekststate nulstilles altid, også efter en fejl (andre mods/spillet tegner videre med den) setTextColor(1, 1, 1, 1) diff --git a/FS25_ADSmartPickup/modDesc.xml b/FS25_ADSmartPickup/modDesc.xml index 5d1ae11..d537e14 100644 --- a/FS25_ADSmartPickup/modDesc.xml +++ b/FS25_ADSmartPickup/modDesc.xml @@ -72,7 +72,8 @@ - + +