Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/common/settings.js
Show All 38 Lines | var settings = { | ||||
"AIDifficulties": loadAIDifficulties(), | "AIDifficulties": loadAIDifficulties(), | ||||
"AIBehaviors": loadAIBehaviors(), | "AIBehaviors": loadAIBehaviors(), | ||||
"GameSpeeds": loadSettingValuesFile("game_speeds.json"), | "GameSpeeds": loadSettingValuesFile("game_speeds.json"), | ||||
"MapTypes": loadMapTypes(), | "MapTypes": loadMapTypes(), | ||||
"MapSizes": loadSettingValuesFile("map_sizes.json"), | "MapSizes": loadSettingValuesFile("map_sizes.json"), | ||||
"Biomes": loadBiomes(), | "Biomes": loadBiomes(), | ||||
"PlayerDefaults": loadPlayerDefaults(), | "PlayerDefaults": loadPlayerDefaults(), | ||||
"PopulationCapacities": loadPopulationCapacities(), | "PopulationCapacities": loadPopulationCapacities(), | ||||
"WorldPopulationCapacities": loadWorldPopulationCapacities(), | |||||
"StartingResources": loadSettingValuesFile("starting_resources.json"), | "StartingResources": loadSettingValuesFile("starting_resources.json"), | ||||
"VictoryConditions": loadVictoryConditions(), | "VictoryConditions": loadVictoryConditions(), | ||||
"TriggerDifficulties": loadSettingValuesFile("trigger_difficulties.json") | "TriggerDifficulties": loadSettingValuesFile("trigger_difficulties.json") | ||||
}; | }; | ||||
if (Object.keys(settings).some(key => settings[key] === undefined)) | if (Object.keys(settings).some(key => settings[key] === undefined)) | ||||
return undefined; | return undefined; | ||||
▲ Show 20 Lines • Show All 209 Lines • ▼ Show 20 Lines | function loadPopulationCapacities() | ||||
return json.PopulationCapacities.map(population => ({ | return json.PopulationCapacities.map(population => ({ | ||||
"Population": population, | "Population": population, | ||||
"Default": population == json.Default, | "Default": population == json.Default, | ||||
"Title": population < 10000 ? population : translate("Unlimited") | "Title": population < 10000 ? population : translate("Unlimited") | ||||
})); | })); | ||||
} | } | ||||
/** | /** | ||||
* Loads available world population capacities. | |||||
* | |||||
* @returns {Object[]|undefined} - An array of the world population capacities in the form: | |||||
* { "Population": number, "Default": number, "Title": number|String }. | |||||
*/ | |||||
function loadWorldPopulationCapacities() | |||||
{ | |||||
let json = Engine.ReadJSONFile(g_SettingsDirectory + "world_population_capacities.json"); | |||||
if (!json || json.Default === undefined || !json.WorldPopulationCapacities || !Array.isArray(json.WorldPopulationCapacities)) | |||||
{ | |||||
error("Could not load population_capacities.json"); | |||||
return undefined; | |||||
} | |||||
return json.WorldPopulationCapacities.map(population => ({ | |||||
"Population": population, | |||||
"Default": population == json.Default, | |||||
"Title": population < 10000 ? population : translate("Unlimited") | |||||
})); | |||||
} | |||||
/** | |||||
* Creates an object with all values of that property of the given setting and | * Creates an object with all values of that property of the given setting and | ||||
* finds the index of the default value. | * finds the index of the default value. | ||||
* | * | ||||
* This allows easy copying of setting values to dropdown lists. | * This allows easy copying of setting values to dropdown lists. | ||||
* | * | ||||
* @param {Array} settingValues | * @param {Array} settingValues | ||||
* @returns {Object|undefined} | * @returns {Object|undefined} | ||||
*/ | */ | ||||
▲ Show 20 Lines • Show All 79 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
let mapSize = g_Settings.MapSizes.find(size => size.Tiles == +tiles); | let mapSize = g_Settings.MapSizes.find(size => size.Tiles == +tiles); | ||||
return mapSize ? mapSize.Name : translateWithContext("map size", "Default"); | return mapSize ? mapSize.Name : translateWithContext("map size", "Default"); | ||||
} | } | ||||
/** | /** | ||||
* Returns title or placeholder. | * Returns title or placeholder. | ||||
* | * | ||||
* @param {Number} population - for example 300 | * @param {Number} population | ||||
* @param {boolean} world - Whether the entry has world population enabled. | |||||
* @returns {string} | * @returns {string} | ||||
*/ | */ | ||||
function translatePopulationCapacity(population) | function translatePopulationCapacity(population, world) | ||||
{ | |||||
if (world) | |||||
{ | { | ||||
let popCap = g_Settings.WorldPopulationCapacities.find(p => p.Population == population); | |||||
return popCap ? popCap.Title + " " + translateWithContext("population capacity addendum", "(world)") : | |||||
translateWithContext("population capacity", "Unknown"); | |||||
} | |||||
let popCap = g_Settings.PopulationCapacities.find(p => p.Population == population); | let popCap = g_Settings.PopulationCapacities.find(p => p.Population == population); | ||||
return popCap ? popCap.Title : translateWithContext("population capacity", "Unknown"); | return popCap ? popCap.Title : translateWithContext("population capacity", "Unknown"); | ||||
} | } | ||||
/** | /** | ||||
* Returns title or placeholder. | * Returns title or placeholder. | ||||
* | * | ||||
* @param {string} victoryConditionName - For example "conquest". | * @param {string} victoryConditionName - For example "conquest". | ||||
* @returns {string} | * @returns {string} | ||||
*/ | */ | ||||
function translateVictoryCondition(victoryConditionName) | function translateVictoryCondition(victoryConditionName) | ||||
{ | { | ||||
let victoryCondition = g_Settings.VictoryConditions.find(condition => condition.Name == victoryConditionName); | let victoryCondition = g_Settings.VictoryConditions.find(condition => condition.Name == victoryConditionName); | ||||
return victoryCondition ? victoryCondition.Title : translate("Unknown Victory Condition"); | return victoryCondition ? victoryCondition.Title : translate("Unknown Victory Condition"); | ||||
} | } |
Wildfire Games · Phabricator