Skip to content

Commit ef1c51d

Browse files
committed
- Fixed multiple rulesets resetting the starting base.
- Fixed extra strings from multiple rulesets not being properly combined.
1 parent 2f71815 commit ef1c51d

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

‎src/Ruleset/ExtraStrings.cpp‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ ExtraStrings::~ExtraStrings()
4242
*/
4343
void ExtraStrings::load(const YAML::Node &node)
4444
{
45-
_strings = node["strings"].as< std::map<std::string, std::string> >(_strings);
45+
for (YAML::const_iterator i = node["strings"].begin(); i != node["strings"].end(); ++i)
46+
{
47+
_strings[i->first.as<std::string>()] = i->second.as<std::string>();
48+
}
4649
}
4750

4851
/**

‎src/Ruleset/Ruleset.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,8 @@ void Ruleset::loadFile(const std::string &filename)
500500
rule->load(*i, _ufopaediaListOrder);
501501
}
502502
//_startingBase->load(i->second, 0);
503-
_startingBase = YAML::Node(doc["startingBase"]);
503+
if (doc["startingBase"])
504+
_startingBase = YAML::Node(doc["startingBase"]);
504505
_startingTime.load(doc["startingTime"]);
505506
_costSoldier = doc["costSoldier"].as<int>(_costSoldier);
506507
_costEngineer = doc["costEngineer"].as<int>(_costEngineer);

0 commit comments

Comments
 (0)