Ticket #3742: restore_selection_v1.2.patch
File restore_selection_v1.2.patch, 7.1 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/gui/replaymenu/replay_actions.js
1 1 /** 2 * Creates the data for restoring selection, order and filters when returning to the replay menu 3 */ 4 function createReplayMenuData(selectedDirectory) 5 { 6 return { 7 "selectedDirectory": selectedDirectory, 8 "selectedColumn": Engine.GetGUIObjectByName("replaySelection").selected_column, 9 "selectedColumnOrder": Engine.GetGUIObjectByName("replaySelection").selected_column_order, 10 "selectedFilters": { 11 "date": Engine.GetGUIObjectByName("dateTimeFilter").selected, 12 "playernames": Engine.GetGUIObjectByName("playersFilter").caption, 13 "mapName": Engine.GetGUIObjectByName("mapNameFilter").selected, 14 "mapSize": Engine.GetGUIObjectByName("mapSizeFilter").selected, 15 "popCap": Engine.GetGUIObjectByName("populationFilter").selected, 16 "duration": Engine.GetGUIObjectByName("durationFilter").selected 17 } 18 } 19 } 20 /** 2 21 * Starts the selected visual replay, or shows an error message in case of incompatibility. 3 22 */ 4 23 function startReplay() … … 25 44 Engine.StartVisualReplay(replayDirectory); 26 45 Engine.SwitchGuiPage("page_loading.xml", { 27 46 "attribs": Engine.GetReplayAttributes(replayDirectory), 28 "isNetworked" 47 "isNetworked": false, 29 48 "playerAssignments": { 30 49 "local":{ 31 50 "name": translate("You"), … … 33 52 } 34 53 }, 35 54 "savedGUIData": "", 36 "isReplay" : true 55 "isReplay": true, 56 "replayMenuData": createReplayMenuData(replayDirectory) 37 57 }); 38 58 } 39 59 … … 79 99 // Open summary screen 80 100 summary.isReplay = true; 81 101 summary.gameResult = translate("Scores at the end of the game."); 82 summary.replay Directory = g_ReplaysFiltered[selected].directory;102 summary.replayMenuData = createReplayMenuData(g_ReplaysFiltered[selected].directory); 83 103 Engine.SwitchGuiPage("page_summary.xml", summary); 84 104 } 85 105 -
binaries/data/mods/public/gui/replaymenu/replay_menu.js
41 41 /** 42 42 * Initializes globals, loads replays and displays the list. 43 43 */ 44 function init( )44 function init(data) 45 45 { 46 if (data && data.replayMenuData) 47 { 48 g_selectedReplayDirectory = data.replayMenuData.selectedDirectory; 49 Engine.GetGUIObjectByName("dateTimeFilter").selected = data.replayMenuData.selectedFilters.date; 50 Engine.GetGUIObjectByName("playersFilter").caption = data.replayMenuData.selectedFilters.playernames; 51 Engine.GetGUIObjectByName("mapNameFilter").selected = data.replayMenuData.selectedFilters.mapName; 52 Engine.GetGUIObjectByName("mapSizeFilter").selected = data.replayMenuData.selectedFilters.mapSize; 53 Engine.GetGUIObjectByName("populationFilter").selected = data.replayMenuData.selectedFilters.popCap; 54 Engine.GetGUIObjectByName("durationFilter").selected = data.replayMenuData.selectedFilters.duration; 55 Engine.GetGUIObjectByName("replaySelection").selected_column = data.replayMenuData.selectedColumn; 56 Engine.GetGUIObjectByName("replaySelection").selected_column_order = data.replayMenuData.selectedColumnOrder; 57 } 58 46 59 if (!g_Settings) 47 60 { 48 61 Engine.SwitchGuiPage("page_pregame.xml"); -
binaries/data/mods/public/gui/session/session.js
61 61 62 62 /** 63 63 * Not constant as we add "gaia". 64 * */64 */ 65 65 var g_CivData = {}; 66 66 67 /** 68 * For restoring selection, order and filters when returning to the replay menu 69 */ 70 var g_ReplayMenuData; 71 67 72 var g_PlayerAssignments = { "local": { "name": translate("You"), "player": 1 } }; 68 73 69 74 /** … … 213 218 g_PlayerAssignments = initData.playerAssignments; 214 219 g_MatchID = initData.attribs.matchID; 215 220 221 g_ReplayMenuData = initData.replayMenuData; 222 216 223 // Cache the player data 217 224 // (This may be updated at runtime by handleNetMessage) 218 225 g_Players = getPlayerData(g_PlayerAssignments); … … 473 480 Engine.SaveReplayMetadata(JSON.stringify(summary)); 474 481 475 482 summary.replayDirectory = Engine.GetCurrentReplayDirectory(); 483 summary.replayMenuData = g_ReplayMenuData; 476 484 477 485 Engine.EndGame(); 478 486 -
binaries/data/mods/public/gui/summary/summary.js
134 134 if (Engine.HasXmppClient()) 135 135 Engine.StopXmppClient(); 136 136 137 Engine.StartVisualReplay(g_GameData.replay Directory);137 Engine.StartVisualReplay(g_GameData.replayMenuData.selectedDirectory); 138 138 Engine.SwitchGuiPage("page_loading.xml", { 139 "attribs": Engine.GetReplayAttributes(g_GameData.replay Directory),140 "isNetworked" 139 "attribs": Engine.GetReplayAttributes(g_GameData.replayMenuData.selectedDirectory), 140 "isNetworked": false, 141 141 "playerAssignments": { 142 "local" 142 "local": { 143 143 "name": translate("You"), 144 144 "player": -1 145 145 } 146 146 }, 147 147 "savedGUIData": "", 148 "isReplay" : true 148 "isReplay": true, 149 "replayMenuData" : g_GameData.replayMenuData 149 150 }); 150 151 } 151 152 … … 159 160 Engine.GetGUIObjectByName("timeElapsed").caption = sprintf(translate("Game time elapsed: %(time)s"), { "time": timeToString(data.timeElapsed) }); 160 161 Engine.GetGUIObjectByName("summaryText").caption = data.gameResult; 161 162 Engine.GetGUIObjectByName("mapName").caption = sprintf(translate("%(mapName)s - %(mapType)s"), { "mapName": translate(data.mapSettings.Name), "mapType": mapSize ? mapSize.LongName : (mapType ? mapType.Title : "") }); 162 Engine.GetGUIObjectByName("replayButton").hidden = g_GameData.isInGame || !g_GameData.replay Directory;163 Engine.GetGUIObjectByName("replayButton").hidden = g_GameData.isInGame || !g_GameData.replayMenuData.selectedDirectory; 163 164 164 165 // Panels 165 166 g_PlayerCount = data.playerStates.length - 1; -
binaries/data/mods/public/gui/summary/summary.xml
187 187 } 188 188 else if (g_GameData.isReplay) 189 189 { 190 Engine.SwitchGuiPage("page_replaymenu.xml" );190 Engine.SwitchGuiPage("page_replaymenu.xml", { "replayMenuData": g_GameData.replayMenuData }); 191 191 } 192 192 else if (!Engine.HasXmppClient()) 193 193 {