Index: binaries/data/mods/public/gui/session/NetworkStatusOverlay.js =================================================================== --- binaries/data/mods/public/gui/session/NetworkStatusOverlay.js +++ binaries/data/mods/public/gui/session/NetworkStatusOverlay.js @@ -9,7 +9,7 @@ this.netStatus = Engine.GetGUIObjectByName("netStatus"); this.loadingClientsText = Engine.GetGUIObjectByName("loadingClientsText"); - Engine.GetGUIObjectByName("disconnectedExitButton").onPress = endGame; + Engine.GetGUIObjectByName("disconnectedExitButton").onPress = () => { endGame(true); }; registerNetworkStatusChangeHandler(this.onNetStatusMessage.bind(this)); registerClientsLoadingHandler(this.onClientsLoadingMessage.bind(this)); Index: binaries/data/mods/public/gui/session/message_box/QuitConfirmation.js =================================================================== --- binaries/data/mods/public/gui/session/message_box/QuitConfirmation.js +++ binaries/data/mods/public/gui/session/message_box/QuitConfirmation.js @@ -6,15 +6,25 @@ translate("Confirmation"); QuitConfirmation.prototype.Caption = - translate("Are you sure you want to quit?"); + translate("Game has finished, what do you want to do?"); QuitConfirmation.prototype.Buttons = [ { - "caption": translate("No") + // Translation: Shown in the Dialog that shows up when the game finishes + "caption": translate("Stay") }, { - "caption": translate("Yes"), - "onPress": endGame + // Translation: Shown in the Dialog that shows up when the game finishes + "caption": translate("Quit and View Summary"), + "onPress": () => { endGame(true); } + }, + { + // Translation: Shown in the Dialog that shows up when the game finishes + "caption": translate("Quit"), + "onPress": () => { endGame(false); } } ]; + +QuitConfirmation.prototype.Width = 600; +QuitConfirmation.prototype.Height = 200; Index: binaries/data/mods/public/gui/session/message_box/QuitConfirmationMenu.js =================================================================== --- binaries/data/mods/public/gui/session/message_box/QuitConfirmationMenu.js +++ binaries/data/mods/public/gui/session/message_box/QuitConfirmationMenu.js @@ -65,7 +65,7 @@ ReturnQuestion.prototype.Buttons = [ { "caption": translate("I will return"), - "onPress": endGame + "onPress": () => { endGame(true); } }, { "caption": translate("I resign"), Index: binaries/data/mods/public/gui/session/message_box/QuitConfirmationReplay.js =================================================================== --- binaries/data/mods/public/gui/session/message_box/QuitConfirmationReplay.js +++ binaries/data/mods/public/gui/session/message_box/QuitConfirmationReplay.js @@ -14,15 +14,25 @@ translateWithContext("replayFinished", "Confirmation"); QuitConfirmationReplay.prototype.Caption = - translateWithContext("replayFinished", "The replay has finished. Do you want to quit?"); + translateWithContext("replayFinished", "The replay has finished. What do you want to do?"); QuitConfirmationReplay.prototype.Buttons = [ { - "caption": translateWithContext("replayFinished", "No") + // Translation: Shown in the Dialog that shows up when a replay finishes + "caption": translate("Stay") }, { - "caption": translateWithContext("replayFinished", "Yes"), - "onPress": endGame + // Translation: Shown in the Dialog that shows up when a replay finishes + "caption": translate("Quit and View Summary"), + "onPress": () => { endGame(true); } + }, + { + // Translation: Shown in the Dialog that shows up when a replay finishes + "caption": translate("Quit"), + "onPress": () => { endGame(false); } } ]; + +QuitConfirmationReplay.prototype.Width = 600; +QuitConfirmationReplay.prototype.Height = 200; Index: binaries/data/mods/public/gui/session/messages.js =================================================================== --- binaries/data/mods/public/gui/session/messages.js +++ binaries/data/mods/public/gui/session/messages.js @@ -409,7 +409,7 @@ { Engine.GetGUIObjectByName("tutorialWarning").caption = translate("Click to quit this tutorial."); Engine.GetGUIObjectByName("tutorialReady").caption = translate("Quit"); - Engine.GetGUIObjectByName("tutorialReady").onPress = endGame; + Engine.GetGUIObjectByName("tutorialReady").onPress = () => { endGame(true); }; } else Engine.GetGUIObjectByName("tutorialWarning").caption = translate("Click when ready."); 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 @@ -513,7 +513,7 @@ g_TradeDialog.close(); } -function endGame() +function endGame(showSummary) { // Before ending the game let replayDirectory = Engine.GetCurrentReplayDirectory(); @@ -554,7 +554,14 @@ summaryData.nextPage = menu; } - Engine.SwitchGuiPage("page_summary.xml", summaryData); + if (showSummary) + Engine.SwitchGuiPage("page_summary.xml", summaryData); + else if (g_InitAttributes.campaignData) + Engine.SwitchGuiPage(summaryData.nextPage, summaryData.campaignData); + else if (Engine.HasXmppClient()) + Engine.SwitchGuiPage("page_lobby.xml", { "dialog": false }); + else + Engine.SwitchGuiPage("page_pregame.xml"); } // Return some data that we'll use when hotloading this file after changes