Index: ps/trunk/binaries/data/mods/public/gui/session/hotkeys/misc.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/gui/session/hotkeys/misc.xml
+++ ps/trunk/binaries/data/mods/public/gui/session/hotkeys/misc.xml
@@ -96,4 +96,11 @@
toggleRangeOverlay("Aura");
+
+
Index: ps/trunk/binaries/data/mods/public/gui/session/input.js
===================================================================
--- ps/trunk/binaries/data/mods/public/gui/session/input.js
+++ ps/trunk/binaries/data/mods/public/gui/session/input.js
@@ -820,12 +820,7 @@
Engine.RewindTimeWarp();
}
- if (ev.hotkey == "session.showstatusbars")
- {
- g_ShowAllStatusBars = (ev.type == "hotkeydown");
- recalculateStatusBarDisplay();
- }
- else if (ev.hotkey == "session.highlightguarding")
+ if (ev.hotkey == "session.highlightguarding")
{
g_ShowGuarding = (ev.type == "hotkeydown");
updateAdditionalHighlight();
Index: ps/trunk/binaries/data/mods/public/gui/session/session.js
===================================================================
--- ps/trunk/binaries/data/mods/public/gui/session/session.js
+++ ps/trunk/binaries/data/mods/public/gui/session/session.js
@@ -99,6 +99,11 @@
var lastTickTime = new Date();
/**
+ * Recalculate which units have their status bars shown with this frequency in milliseconds.
+ */
+const g_StatusBarUpdate = 200;
+
+/**
* Not constant as we add "gaia".
*/
var g_CivData = {};
@@ -722,7 +727,7 @@
return;
let now = new Date();
- let tickLength = new Date() - lastTickTime;
+ let tickLength = now - lastTickTime;
lastTickTime = now;
handleNetMessages();
@@ -739,13 +744,15 @@
if (Engine.GetPlayerID() != -1)
Engine.GuiInterfaceCall("DisplayRallyPoint", { "entities": g_Selection.toList() });
}
+ else if (g_ShowAllStatusBars && now % g_StatusBarUpdate <= tickLength)
+ recalculateStatusBarDisplay();
updateTimers();
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");
}