Skip to content

Commit

Permalink
Revert partial "FBX add roughness mappings and fixes general some mat…
Browse files Browse the repository at this point in the history
…erial bugs"

This reverts partial commit b624e13.

This resolves a bug with pivots and skinning breaking with this change.
  • Loading branch information
RevoluPowered committed Nov 9, 2020
1 parent db5a927 commit 866c8de
Showing 1 changed file with 18 additions and 24 deletions.
42 changes: 18 additions & 24 deletions modules/fbx/fbx_parser/FBXProperties.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,19 +168,11 @@ PropertyTable::PropertyTable(const ElementPtr element, const PropertyTable *temp
}

LazyPropertyMap::const_iterator it = lazyProps.find(name);

if (it != lazyProps.end()) {
DOMWarning("duplicate property name, will hide previous value: " + name, v.second);
continue;
}

if (it->second == nullptr) {
print_error("skipped invalid element insertion for " + String(name.c_str()));
continue;
}

//print_verbose("storing lazy property: " + String(name.c_str()));

// since the above checks for duplicates we can be sure to insert the only match here.
lazyProps[name] = v.second;
}
Expand All @@ -195,26 +187,28 @@ PropertyTable::~PropertyTable() {

// ------------------------------------------------------------------------------------------------
PropertyPtr PropertyTable::Get(const std::string &name) const {
PropertyMap::const_iterator it = props.find(name);
if (it == props.end()) {
// hasn't been parsed yet?
LazyPropertyMap::const_iterator lit = lazyProps.find(name);
if (lit != lazyProps.end()) {
props[name] = ReadTypedProperty(lit->second);
it = props.find(name);

//ai_assert(it != props.end());
}

// check if loaded already - return it.
PropertyMap::const_iterator loaded_property_element = props.find(name);
if (loaded_property_element != props.end()) {
//print_verbose("Returning conversion for lazy property: " + String(loaded_property_element->first.c_str()));
return loaded_property_element->second;
}

// now load it since we don't have a match
LazyPropertyMap::const_iterator unloadedProperty = lazyProps.find(name);
if (unloadedProperty != lazyProps.end()) {
PropertyPtr loaded_property = ReadTypedProperty(unloadedProperty->second);
ERR_FAIL_COND_V_MSG(!loaded_property, nullptr, "[fbx][serious] unable to load typed property");
if (it == props.end()) {
// check property template
if (templateProps) {
return templateProps->Get(name);
}

//print_verbose("loaded property successfully: " + String(name.c_str()));
props.insert(std::make_pair(name, loaded_property));
return loaded_property;
return nullptr;
}
}

return nullptr;
return (*it).second;
}

DirectPropertyMap PropertyTable::GetUnparsedProperties() const {
Expand Down

0 comments on commit 866c8de

Please sign in to comment.