Index: ps/trunk/binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.js +++ ps/trunk/binaries/data/mods/public/gui/campaigns/default_menu/CampaignMenu.js @@ -85,6 +85,12 @@ }; Engine.SwitchGuiPage("page_gamesetup.xml", { + "backPage": { + "page": this.run.getMenuPath(), + "data": { + "filename": this.run.filename + } + }, "gameSettings": attributes, }); return; Index: ps/trunk/binaries/data/mods/public/gui/gamesetup/SetupWindow.js =================================================================== --- ps/trunk/binaries/data/mods/public/gui/gamesetup/SetupWindow.js +++ ps/trunk/binaries/data/mods/public/gui/gamesetup/SetupWindow.js @@ -22,8 +22,10 @@ this.closePageHandlers = new Set(); this.getHotloadDataHandlers = new Set(); + if (initData?.backPage) + this.backPage = initData.backPage; - let mapCache = new MapCache(); + const mapCache = new MapCache(); g_GameSettings = new GameSettings().init(mapCache); let netMessages = new NetMessages(); @@ -112,7 +114,9 @@ Engine.DisconnectNetworkGame(); - if (Engine.HasXmppClient()) + if (this.backPage) + Engine.SwitchGuiPage(this.backPage.page, this.backPage?.data); + else if (Engine.HasXmppClient()) Engine.SwitchGuiPage("page_lobby.xml", { "dialog": false }); else Engine.SwitchGuiPage("page_pregame.xml");