Index: binaries/data/mods/public/gui/session/hotkeys/misc.xml =================================================================== --- binaries/data/mods/public/gui/session/hotkeys/misc.xml +++ binaries/data/mods/public/gui/session/hotkeys/misc.xml @@ -96,4 +96,11 @@ toggleRangeOverlay("Aura"); + + + g_ShowAllStatusBars = !g_ShowAllStatusBars; + recalculateStatusBarDisplay(); + + + Index: binaries/data/mods/public/gui/session/input.js =================================================================== --- binaries/data/mods/public/gui/session/input.js +++ binaries/data/mods/public/gui/session/input.js @@ -820,13 +820,8 @@ Engine.RewindTimeWarp(); } - if (ev.hotkey == "session.showstatusbars") + if (ev.hotkey == "session.highlightguarding") { - g_ShowAllStatusBars = (ev.type == "hotkeydown"); - recalculateStatusBarDisplay(); - } - else if (ev.hotkey == "session.highlightguarding") - { g_ShowGuarding = (ev.type == "hotkeydown"); updateAdditionalHighlight(); } Index: binaries/data/mods/public/gui/session/session.js =================================================================== --- binaries/data/mods/public/gui/session/session.js +++ binaries/data/mods/public/gui/session/session.js @@ -722,7 +722,7 @@ return; let now = new Date(); - let tickLength = new Date() - lastTickTime; + let tickLength = now - lastTickTime; lastTickTime = now; handleNetMessages(); @@ -739,6 +739,9 @@ if (Engine.GetPlayerID() != -1) Engine.GuiInterfaceCall("DisplayRallyPoint", { "entities": g_Selection.toList() }); } + // If showing all status bars, recalculate every 100msec. + else if (g_ShowAllStatusBars && (now % 100 - tickLength <= 0)) + recalculateStatusBarDisplay(); updateTimers(); @@ -745,7 +748,7 @@ updateMenuPosition(tickLength); // When training is blocked, flash population (alternates color every 500msec) - Engine.GetGUIObjectByName("resourcePop").textcolor = g_IsTrainingBlocked && Date.now() % 1000 < 500 ? g_PopulationAlertColor : g_DefaultPopulationColor; + Engine.GetGUIObjectByName("resourcePop").textcolor = g_IsTrainingBlocked && now % 1000 < 500 ? g_PopulationAlertColor : g_DefaultPopulationColor; Engine.GuiInterfaceCall("ClearRenamedEntities"); }