Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void DumpNodeChildren(NiAVObject * node)
- {
- _MESSAGE("{%s} {%s} {%X}", node->GetRTTI()->name, node->m_name, node);
- if(node->m_extraDataLen > 0) {
- gLog.Indent();
- for(UInt16 i = 0; i < node->m_extraDataLen; i++) {
- _MESSAGE("{%s} {%s} {%X}", node->m_extraData[i]->GetRTTI()->name, node->m_extraData[i]->unk08, node);
- }
- gLog.Outdent();
- }
- //DumpClass(node);
- NiNode * niNode = node->GetAsNiNode();
- if(niNode && niNode->m_children.m_emptyRunStart > 0)
- {
- gLog.Indent();
- for(int i = 0; i < niNode->m_children.m_emptyRunStart; i++)
- {
- NiAVObject * object = niNode->m_children.m_data[i];
- if(object) {
- NiNode * childNode = object->GetAsNiNode();
- NiGeometry * geometry = object->GetAsNiGeometry();
- if(geometry) {
- _MESSAGE("{%s} {%s} {%X} Geometry", object->GetRTTI()->name, object->m_name, object);
- BSShaderProperty * shaderProperty = niptr_cast<BSShaderProperty>(geometry->m_spEffectState);
- if(shaderProperty->GetRTTI() == NiRTTI_BSLightingShaderProperty)
- {
- gLog.Indent();
- BSLightingShaderProperty * lightingShader = (BSLightingShaderProperty *)shaderProperty;
- BSLightingShaderMaterial * material = (BSLightingShaderMaterial *)shaderProperty->material;
- for(UInt32 i = 0; i < BSTextureSet::kNumTextures; i++)
- {
- const char * texturePath = material->textureSet->GetTexturePath(i);
- if(texturePath)
- _MESSAGE("Texture %d: %s", i, texturePath);
- }
- gLog.Outdent();
- }
- if(object->m_extraDataLen > 0) {
- gLog.Indent();
- for(UInt16 i = 0; i < object->m_extraDataLen; i++) {
- _MESSAGE("{%s} {%s} {%X}", object->m_extraData[i]->GetRTTI()->name, object->m_extraData[i]->unk08, object);
- }
- gLog.Outdent();
- }
- } else if(childNode) {
- DumpNodeChildren(childNode);
- } else {
- _MESSAGE("{%s} {%s} {%X}", object->GetRTTI()->name, object->m_name, object);
- if(object->m_extraDataLen > 0) {
- gLog.Indent();
- for(UInt16 i = 0; i < object->m_extraDataLen; i++) {
- _MESSAGE("{%s} {%s} {%X}", object->m_extraData[i]->GetRTTI()->name, object->m_extraData[i]->unk08, object);
- }
- gLog.Outdent();
- }
- }
- }
- }
- gLog.Outdent();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement