Index: binaries/data/config/default.cfg
===================================================================
--- binaries/data/config/default.cfg
+++ binaries/data/config/default.cfg
@@ -304,6 +304,7 @@
toggle = "Alt+G" ; Toggle visibility of session GUI
menu.toggle = "F10" ; Toggle in-game menu
barter.toggle = "Ctrl+B" ; Toggle in-game barter/trade page
+summary.toggle = "Shift+Tab" ; Toggle in-game summary
[hotkey.session.savedgames]
delete = Delete ; Delete the selected saved game asking confirmation
@@ -323,6 +324,9 @@
fastforward = Space ; If timewarp mode enabled, speed up the game
rewind = Backspace ; If timewarp mode enabled, go back to earlier point in the game
+[hotkey.summary]
+nextpanel = "Tab" ; show next panel in summary screen
+
[hotkey.text] ; > GUI TEXTBOX HOTKEYS
delete.left = "Ctrl+Backspace" ; Delete word to the left of cursor
delete.right = "Ctrl+Del" ; Delete word to the right of cursor
Index: binaries/data/mods/public/gui/replaymenu/replay_menu.xml
===================================================================
--- binaries/data/mods/public/gui/replaymenu/replay_menu.xml
+++ binaries/data/mods/public/gui/replaymenu/replay_menu.xml
@@ -254,7 +254,7 @@
-
+
+ openGameSummary();
+
+
toggleConfigBool("silhouettes");
Index: binaries/data/mods/public/gui/session/menu.js
===================================================================
--- binaries/data/mods/public/gui/session/menu.js
+++ binaries/data/mods/public/gui/session/menu.js
@@ -58,6 +58,8 @@
// Redefined every time someone makes a tribute (so we can save some data in a closure). Called in input.js handleInputBeforeGui.
var g_FlushTributing = function() {};
+let g_SummaryViewPanel = "";
+
// Ignore size defined in XML and set the actual menu size here
function initMenuPosition()
{
@@ -1030,7 +1032,8 @@
"gui": {
"isInGame": true
},
- "callback": "resumeGame"
+ "viewPanel": g_SummaryViewPanel,
+ "callback": "resumeGameAndSaveSummaryViewPanel"
});
}
@@ -1078,6 +1081,12 @@
pauseGame(false, explicit);
}
+function resumeGameAndSaveSummaryViewPanel(data)
+{
+ g_SummaryViewPanel = data.viewPanel;
+ resumeGame(data.explicitResume);
+}
+
/**
* Called when the current player toggles a pause button.
*/
Index: binaries/data/mods/public/gui/summary/summary.js
===================================================================
--- binaries/data/mods/public/gui/summary/summary.js
+++ binaries/data/mods/public/gui/summary/summary.js
@@ -115,6 +115,24 @@
"type": [0, 0]
};
+// remember current selected view panel
+let g_ViewPanel = "";
+
+function nextPanel()
+{
+ let panel = Object.keys(g_ScorePanelsData)[0];
+ if (g_ViewPanel != "")
+ for (let i in Object.keys(g_ScorePanelsData))
+ if (Object.keys(g_ScorePanelsData)[i]+"PanelButton" == g_ViewPanel)
+ {
+ panel = +i+1 >= Object.keys(g_ScorePanelsData).length ? "charts" :
+ Object.keys(g_ScorePanelsData)[++i];
+ break;
+ }
+
+ selectPanel(Engine.GetGUIObjectByName(panel + "PanelButton"));
+}
+
function selectPanel(panel)
{
// TODO: move panel buttons to a custom parent object
@@ -136,6 +154,7 @@
updatePanelData(g_ScorePanelsData[panel.name.substr(0, panel.name.length - "PanelButton".length)]);
else
[0, 1].forEach(updateCategoryDropdown);
+ g_ViewPanel = panel.name;
}
function initCharts()
@@ -370,10 +389,11 @@
function continueButton()
{
if (g_GameData.gui.isInGame)
- Engine.PopGuiPageCB(0);
+ Engine.PopGuiPageCB({"explicitResume": 0, "viewPanel": g_ViewPanel});
else if (g_GameData.gui.isReplay)
Engine.SwitchGuiPage("page_replaymenu.xml", {
- "replaySelectionData": g_GameData.gui.replaySelectionData
+ "replaySelectionData": g_GameData.gui.replaySelectionData,
+ "summaryViewPanel": g_ViewPanel
});
else if (Engine.HasXmppClient())
Engine.SwitchGuiPage("page_lobby.xml");
@@ -412,6 +432,9 @@
g_GameData = data;
let assignedState = g_GameData.sim.playerStates[g_GameData.gui.assignedPlayer || -1];
+ if (data && data.viewPanel)
+ g_ViewPanel = data.viewPanel;
+
Engine.GetGUIObjectByName("summaryText").caption =
g_GameData.gui.isInGame ?
translate("Current Scores") :
@@ -475,5 +498,5 @@
calculateTeamCounterDataHelper();
initCharts();
- selectPanel(Engine.GetGUIObjectByName("scorePanelButton"));
+ selectPanel(Engine.GetGUIObjectByName(g_ViewPanel != "" ? g_ViewPanel : "scorePanelButton"));
}
Index: binaries/data/mods/public/gui/summary/summary.xml
===================================================================
--- binaries/data/mods/public/gui/summary/summary.xml
+++ binaries/data/mods/public/gui/summary/summary.xml
@@ -15,6 +15,14 @@
+
+ continueButton();
+
+
+
+ nextPanel();
+
+