diff options
Diffstat (limited to 'tools/collada/collada.cpp')
-rw-r--r-- | tools/collada/collada.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/collada/collada.cpp b/tools/collada/collada.cpp index e29888b433..7a842391a4 100644 --- a/tools/collada/collada.cpp +++ b/tools/collada/collada.cpp @@ -443,7 +443,10 @@ Vector<String> Collada::_read_string_array(XMLParser& parser) { if (parser.get_node_type() == XMLParser::NODE_TEXT) { // parse String data String str = parser.get_node_data(); - array=str.split(" ",false); + array=str.split_spaces(); + //for(int i=0;i<array.size();i++) { + // print_line(itos(i)+": "+array[i]); + //} } else if (parser.get_node_type() == XMLParser::NODE_ELEMENT_END) @@ -2066,6 +2069,8 @@ void Collada::_parse_animation(XMLParser& parser) { track.target=target; } + print_line("TARGET: "+track.target); + state.animation_tracks.push_back(track); if (!state.referenced_tracks.has(target)) @@ -2101,6 +2106,8 @@ void Collada::_parse_animation_clip(XMLParser& parser) { if (parser.has_attribute("name")) clip.name=parser.get_attribute_value("name"); + else if (parser.has_attribute("id")) + clip.name=parser.get_attribute_value("id"); if (parser.has_attribute("start")) clip.begin=parser.get_attribute_value("start").to_double(); if (parser.has_attribute("end")) @@ -2144,6 +2151,7 @@ void Collada::_parse_scene(XMLParser& parser) { if (name=="instance_visual_scene") { state.root_visual_scene=_uri_to_id(parser.get_attribute_value("url")); + print_line("***ROOT VISUAL SCENE: "+state.root_visual_scene); } if (name=="instance_physics_scene") { state.root_physics_scene=_uri_to_id(parser.get_attribute_value("url")); @@ -2513,6 +2521,9 @@ bool Collada::_move_geometry_to_skeletons(VisualScene *p_vscene,Node *p_node,Lis ERR_FAIL_COND_V( !state.scene_map.has( nodeid ), false); //weird, it should have it... NodeJoint *nj = SAFE_CAST<NodeJoint*>(state.scene_map[nodeid]); ERR_FAIL_COND_V(!nj,false); + if (!nj->owner) { + print_line("Has no owner: "+nj->name); + } ERR_FAIL_COND_V( !nj->owner,false ); //weird, node should have a skeleton owner NodeSkeleton *sk = nj->owner; |