yaml 2.6 bugs

master
Eduardo Bart 13 years ago
parent 7e982af21f
commit 159de5d511

@ -66,8 +66,7 @@ void UISkins::load(const std::string& skinsFile)
it.first() >> name;
UIElementSkinPtr skin = UIElementSkinPtr(new UIButtonSkin(name));
if(it.second().Type() == YAML::NodeType::Map)
skin->load(it.second());
skin->load(it.second());
m_elementSkins.push_back(skin);
}
}
@ -79,8 +78,7 @@ void UISkins::load(const std::string& skinsFile)
it.first() >> name;
UIElementSkinPtr skin = UIElementSkinPtr(new UIElementSkin(name, UI::Panel));
if(it.second().Type() == YAML::NodeType::Map)
skin->load(it.second());
skin->load(it.second());
m_elementSkins.push_back(skin);
}
}
@ -92,8 +90,7 @@ void UISkins::load(const std::string& skinsFile)
it.first() >> name;
UIElementSkinPtr skin = UIElementSkinPtr(new UIWindowSkin(name));
if(it.second().Type() == YAML::NodeType::Map)
skin->load(it.second());
skin->load(it.second());
m_elementSkins.push_back(skin);
}
}
@ -105,8 +102,7 @@ void UISkins::load(const std::string& skinsFile)
it.first() >> name;
UIElementSkinPtr skin = UIElementSkinPtr(new UILabelSkin(name));
if(it.second().Type() == YAML::NodeType::Map)
skin->load(it.second());
skin->load(it.second());
m_elementSkins.push_back(skin);
}
}
@ -119,8 +115,7 @@ void UISkins::load(const std::string& skinsFile)
it.first() >> name;
UIElementSkinPtr skin = UIElementSkinPtr(new UITextEditSkin(name));
if(it.second().Type() == YAML::NodeType::Map)
skin->load(it.second());
skin->load(it.second());
m_elementSkins.push_back(skin);
}
}
@ -133,8 +128,7 @@ void UISkins::load(const std::string& skinsFile)
it.first() >> name;
UIElementSkinPtr skin = UIElementSkinPtr(new UIElementSkin(name, UI::LineDecoration));
if(it.second().Type() == YAML::NodeType::Map)
skin->load(it.second());
skin->load(it.second());
m_elementSkins.push_back(skin);
}
}

@ -75,7 +75,8 @@ template<class T>
inline T yamlRead(const YAML::Node& node, const char *name)
{
T value;
node[name] >> value;
if(node.Type() == YAML::NodeType::Map)
node[name] >> value;
return value;
}
@ -83,14 +84,14 @@ template<class T>
inline T yamlRead(const YAML::Node& node, const char *name, const T& defaultValue)
{
T value = defaultValue;
if(node.FindValue(name))
if(node.Type() == YAML::NodeType::Map && node.FindValue(name))
node[name] >> value;
return value;
}
inline bool yamlHasValue(const YAML::Node& node, const char *name)
{
return node.FindValue(name) != NULL;
return (node.Type() == YAML::NodeType::Map && node.FindValue(name) != NULL);
}
inline std::string yamlErrorDesc(const YAML::Node& node, const std::string& error)
@ -107,13 +108,15 @@ template<class A, class B>
inline std::map<A,B> yamlReadMap(const YAML::Node& node, const char *name)
{
std::map<A,B> map;
if(const YAML::Node* mapNode = node.FindValue(name)) {
for(auto it = mapNode->begin(); it != mapNode->end(); ++it) {
A a;
B b;
it.first() >> a;
it.second() >> b;
map[a] = b;
if(node.Type() == YAML::NodeType::Map) {
if(const YAML::Node* mapNode = node.FindValue(name)) {
for(auto it = mapNode->begin(); it != mapNode->end(); ++it) {
A a;
B b;
it.first() >> a;
it.second() >> b;
map[a] = b;
}
}
}
return map;

@ -115,7 +115,7 @@ int main(int argc, const char *argv[])
g_engine.enableFpsCounter();
// load ui skins
g_uiSkins.load("skins/lightness.yml");
g_uiSkins.load("skins/tibiaskin.yml");
// load script modules
g_lua.loadAllModules();

Loading…
Cancel
Save