From 7c3417f9f6f3cf4619954a917a474e47e3ab1f65 Mon Sep 17 00:00:00 2001 From: elexis Date: Mon, 12 Mar 2018 01:39:41 +0000 Subject: [PATCH] Display map biome specific preview in the replay menu and loading screen too, refs #4962. git-svn-id: https://svn.wildfiregames.com/public/ps/trunk@21523 3db68df2-c116-0410-a063-a993310a9797 --- binaries/data/mods/public/gui/common/gamedescription.js | 7 +++++-- binaries/data/mods/public/gui/loadgame/load.js | 2 +- binaries/data/mods/public/gui/replaymenu/replay_menu.js | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/binaries/data/mods/public/gui/common/gamedescription.js b/binaries/data/mods/public/gui/common/gamedescription.js index 29e2a94556..c7e425b218 100644 --- a/binaries/data/mods/public/gui/common/gamedescription.js +++ b/binaries/data/mods/public/gui/common/gamedescription.js @@ -37,7 +37,7 @@ var g_BuddySymbol = '•'; /** * Returns map description and preview image or placeholder. */ -function getMapDescriptionAndPreview(mapType, mapName) +function getMapDescriptionAndPreview(mapType, mapName, gameAttributes = undefined) { let mapData; if (mapType == "random" && mapName == "random") @@ -47,9 +47,12 @@ function getMapDescriptionAndPreview(mapType, mapName) else if (Engine.FileExists(mapName + ".xml")) mapData = Engine.LoadMapSettings(mapName + ".xml"); + let mapBiome = gameAttributes && g_Settings.Biomes.find(biome => biome.Id == gameAttributes.settings.Biome); + return deepfreeze({ "description": mapData && mapData.settings && mapData.settings.Description ? translate(mapData.settings.Description) : translate("Sorry, no description available."), - "preview": mapData && mapData.settings && mapData.settings.Preview ? mapData.settings.Preview : "nopreview.png" + "preview": mapBiome && mapBiome.Preview ? mapBiome.Preview : + mapData && mapData.settings && mapData.settings.Preview ? mapData.settings.Preview : "nopreview.png" }); } diff --git a/binaries/data/mods/public/gui/loadgame/load.js b/binaries/data/mods/public/gui/loadgame/load.js index 8783d40af3..fc41e2375f 100644 --- a/binaries/data/mods/public/gui/loadgame/load.js +++ b/binaries/data/mods/public/gui/loadgame/load.js @@ -106,7 +106,7 @@ function selectionChanged() return; Engine.GetGUIObjectByName("savedMapName").caption = translate(metadata.initAttributes.settings.Name); - let mapData = getMapDescriptionAndPreview(metadata.initAttributes.mapType, metadata.initAttributes.map); + let mapData = getMapDescriptionAndPreview(metadata.initAttributes.mapType, metadata.initAttributes.map, metadata.initAttributes); setMapPreviewImage("savedInfoPreview", mapData.preview); Engine.GetGUIObjectByName("savedPlayers").caption = metadata.initAttributes.settings.PlayerData.length - 1; diff --git a/binaries/data/mods/public/gui/replaymenu/replay_menu.js b/binaries/data/mods/public/gui/replaymenu/replay_menu.js index 2994f617aa..03f8e893e8 100644 --- a/binaries/data/mods/public/gui/replaymenu/replay_menu.js +++ b/binaries/data/mods/public/gui/replaymenu/replay_menu.js @@ -284,7 +284,7 @@ function displayReplayDetails() metadata.playerStates.map(pState => pState.state) ); - let mapData = getMapDescriptionAndPreview(replay.attribs.settings.mapType, replay.attribs.map); + let mapData = getMapDescriptionAndPreview(replay.attribs.settings.mapType, replay.attribs.map, replay.attribs); Engine.GetGUIObjectByName("sgMapDescription").caption = mapData.description; Engine.GetGUIObjectByName("summaryButton").hidden = !Engine.HasReplayMetadata(replay.directory); -- 2.11.4.GIT