|
|
|
@ -63,6 +63,8 @@ namespace
|
|
|
|
|
// Collect all properties affecting the given drawable that should be handled on drawable basis rather than on the node hierarchy above it.
|
|
|
|
|
void collectDrawableProperties(const Nif::Node* nifNode, std::vector<const Nif::Property*>& out)
|
|
|
|
|
{
|
|
|
|
|
if (nifNode->parent)
|
|
|
|
|
collectDrawableProperties(nifNode->parent, out);
|
|
|
|
|
const Nif::PropertyList& props = nifNode->props;
|
|
|
|
|
for (size_t i = 0; i <props.length();++i)
|
|
|
|
|
{
|
|
|
|
@ -81,8 +83,6 @@ namespace
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (nifNode->parent)
|
|
|
|
|
collectDrawableProperties(nifNode->parent, out);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// NodeCallback used to have a node always oriented towards the camera. The node can have translation and scale
|
|
|
|
@ -1719,9 +1719,8 @@ namespace NifOsg
|
|
|
|
|
|
|
|
|
|
int lightmode = 1;
|
|
|
|
|
|
|
|
|
|
for (std::vector<const Nif::Property*>::const_reverse_iterator it = properties.rbegin(); it != properties.rend(); ++it)
|
|
|
|
|
for (const Nif::Property* property : properties)
|
|
|
|
|
{
|
|
|
|
|
const Nif::Property* property = *it;
|
|
|
|
|
switch (property->recType)
|
|
|
|
|
{
|
|
|
|
|
case Nif::RC_NiSpecularProperty:
|
|
|
|
|