1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-02-03 13:01:33 +02:00

Update CModHandler.cpp

Removed checking of defaultMods.json values
This commit is contained in:
Macron1Robot 2014-04-28 23:15:36 +04:00
parent a3aa7314fe
commit 13ea6e39f0

View File

@ -506,51 +506,23 @@ CModHandler::CModHandler()
}
bool CModHandler::loadConfigFromFile (std::string name)
void CModHandler::loadConfigFromFile (std::string name)
{
settings.data = JsonUtils::assembleFromFiles("config/" + name);
const JsonNode & hardcodedFeatures = settings.data["hardcodedFeatures"];
settings.MAX_HEROES_AVAILABLE_PER_PLAYER = hardcodedFeatures["MAX_HEROES_AVAILABLE_PER_PLAYER"].Float();
settings.MAX_HEROES_ON_MAP_PER_PLAYER = hardcodedFeatures["MAX_HEROES_ON_MAP_PER_PLAYER"].Float();
if (settings.MAX_HEROES_AVAILABLE_PER_PLAYER<=0)
{
logGlobal->errorStream() << "Error: MAX_HEROES_AVAILABLE_PER_PLAYER must be positive. Setting to 16";
settings.MAX_HEROES_AVAILABLE_PER_PLAYER = 16;
}
if (settings.MAX_HEROES_ON_MAP_PER_PLAYER <= 0)
{
logGlobal->errorStream() << "Error: MAX_HEROES_AVAILABLE_PER_PLAYER must be positive. Setting to 8";
settings.MAX_HEROES_ON_MAP_PER_PLAYER = 8;
}
if (settings.MAX_HEROES_AVAILABLE_PER_PLAYER<settings.MAX_HEROES_ON_MAP_PER_PLAYER)
{
logGlobal->errorStream() << "Error: MAX_HEROES_AVAILABLE_PER_PLAYER must be higher than MAX_HEROES_ON_MAP_PER_PLAYER. Setting to equal values";
settings.MAX_HEROES_AVAILABLE_PER_PLAYER = settings.MAX_HEROES_ON_MAP_PER_PLAYER;
}
settings.CREEP_SIZE = hardcodedFeatures["CREEP_SIZE"].Float();
if (settings.CREEP_SIZE<=0)
{
logGlobal->errorStream() << "Error: CREEP_SIZE must be positive value. Setting to 4000";
settings.CREEP_SIZE = 4000;
}
settings.WEEKLY_GROWTH = hardcodedFeatures["WEEKLY_GROWTH_PERCENT"].Float();
settings.NEUTRAL_STACK_EXP = hardcodedFeatures["NEUTRAL_STACK_EXP_DAILY"].Float();
settings.MAX_BUILDING_PER_TURN = hardcodedFeatures["MAX_BUILDING_PER_TURN"].Float();
if (settings.MAX_BUILDING_PER_TURN <= 0)
{
logGlobal->errorStream() << "Error: MAX_BUILDING_PER_TURN must be positive value. Setting to 1";
settings.MAX_BUILDING_PER_TURN=1;
}
settings.DWELLINGS_ACCUMULATE_CREATURES = hardcodedFeatures["DWELLINGS_ACCUMULATE_CREATURES"].Bool();
settings.ALL_CREATURES_GET_DOUBLE_MONTHS = hardcodedFeatures["ALL_CREATURES_GET_DOUBLE_MONTHS"].Bool();
const JsonNode & gameModules = settings.data["modules"];
modules.STACK_EXP = gameModules["STACK_EXPERIENCE"].Bool();
modules.STACK_ARTIFACT = gameModules["STACK_ARTIFACTS"].Bool();
modules.COMMANDERS = gameModules["COMMANDERS"].Bool();
modules.MITHRIL = gameModules["MITHRIL"].Bool();
return true;
}
// currentList is passed by value to get current list of depending mods
@ -815,10 +787,7 @@ CModInfo & CModHandler::getModData(TModID modId)
void CModHandler::initializeConfig()
{
if (!loadConfigFromFile("defaultMods.json"))
{
logGlobal->errorStream() << "Error: defaultMods.json has errors";
}
loadConfigFromFile("defaultMods.json");
}
void CModHandler::load()