Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/gui/loadgame/load.js
Show First 20 Lines • Show All 129 Lines • ▼ Show 20 Lines | function loadGame() | ||||
let gameSelection = Engine.GetGUIObjectByName("gameSelection"); | let gameSelection = Engine.GetGUIObjectByName("gameSelection"); | ||||
let gameId = gameSelection.list_data[gameSelection.selected]; | let gameId = gameSelection.list_data[gameSelection.selected]; | ||||
let metadata = g_SavedGamesMetadata[gameSelection.selected]; | let metadata = g_SavedGamesMetadata[gameSelection.selected]; | ||||
// Check compatibility before really loading it | // Check compatibility before really loading it | ||||
let engineInfo = Engine.GetEngineInfo(); | let engineInfo = Engine.GetEngineInfo(); | ||||
let sameMods = hasSameMods(metadata, engineInfo); | let sameMods = hasSameMods(metadata, engineInfo); | ||||
let sameEngineVersion = hasSameEngineVersion(metadata, engineInfo); | let sameEngineVersion = hasSameEngineVersion(metadata, engineInfo); | ||||
let sameSavegameVersion = hasSameSavegameVersion(metadata, engineInfo); | |||||
if (sameEngineVersion && sameSavegameVersion && sameMods) | if (sameEngineVersion && sameMods) | ||||
{ | { | ||||
reallyLoadGame(gameId); | reallyLoadGame(gameId); | ||||
return; | return; | ||||
} | } | ||||
// Version not compatible ... ask for confirmation | // Version not compatible ... ask for confirmation | ||||
let message = translate("This saved game may not be compatible:"); | let message = translate("This saved game may not be compatible:"); | ||||
if (!sameEngineVersion) | if (!sameEngineVersion) | ||||
if (metadata.engine_version) | if (metadata.engine_version) | ||||
message += "\n" + sprintf(translate("It needs 0 A.D. version %(requiredVersion)s, while you are running version %(currentVersion)s."), { | message += "\n" + sprintf(translate("It needs 0 A.D. version %(requiredVersion)s, while you are running version %(currentVersion)s."), { | ||||
"requiredVersion": metadata.engine_version, | "requiredVersion": metadata.engine_version, | ||||
"currentVersion": engineInfo.engine_version | "currentVersion": engineInfo.engine_version | ||||
}); | }); | ||||
else | else | ||||
message += "\n" + translate("It needs an older version of 0 A.D."); | message += "\n" + translate("It needs an older version of 0 A.D."); | ||||
if (!sameSavegameVersion) | |||||
message += "\n" + sprintf(translate("It needs 0 A.D. savegame version %(requiredVersion)s, while you have savegame version %(currentVersion)s."), { | |||||
"requiredVersion": metadata.version_major, | |||||
"currentVersion": engineInfo.version_major | |||||
}); | |||||
if (!sameMods) | if (!sameMods) | ||||
{ | { | ||||
if (!metadata.mods) | if (!metadata.mods) | ||||
metadata.mods = []; | metadata.mods = []; | ||||
message += translate("The savegame needs a different set of mods:") + "\n" + | message += translate("The savegame needs a different set of mods:") + "\n" + | ||||
sprintf(translate("Required: %(mods)s"), { | sprintf(translate("Required: %(mods)s"), { | ||||
"mods": metadata.mods.join(translate(", ")) | "mods": metadata.mods.join(translate(", ")) | ||||
▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator