//--------------------------------------------------------------------- void XMLSkeletonSerializer::importSkeleton(const String& filename, Skeleton* pSkeleton) { LogManager::getSingleton().logMessage("XMLSkeletonSerializer: reading XML data from " + filename + "..."); mXMLDoc = new TiXmlDocument(filename.c_str()); mXMLDoc->LoadFile(); TiXmlElement* elem; TiXmlElement* rootElem = mXMLDoc->RootElement(); // Optional blend mode const char* blendModeStr = rootElem->Attribute("blendmode"); if (blendModeStr) { if (String(blendModeStr) == "cumulative") pSkeleton->setBlendMode(ANIMBLEND_CUMULATIVE); else pSkeleton->setBlendMode(ANIMBLEND_AVERAGE); } // Bones elem = rootElem->FirstChildElement("bones"); if (elem) { readBones(pSkeleton, elem); elem = rootElem->FirstChildElement("bonehierarchy"); if (elem) { createHierarchy(pSkeleton, elem) ; elem = rootElem->FirstChildElement("bones"); if (elem) { readBones2(pSkeleton, elem); elem = rootElem->FirstChildElement("animations"); if (elem) { readAnimations(pSkeleton, elem); } elem = rootElem->FirstChildElement("animationlinks"); if (elem) { readSkeletonAnimationLinks(pSkeleton, elem); } } } } LogManager::getSingleton().logMessage("XMLSkeletonSerializer: Finished. Running SkeletonSerializer..." ); }
//--------------------------------------------------------------------- void XMLSkeletonSerializer::importSkeleton(const String& filename, Skeleton* pSkeleton) { LogManager::getSingleton().logMessage("XMLSkeletonSerializer: reading XML data from " + filename + "..."); mXMLDoc = new TiXmlDocument(filename); mXMLDoc->LoadFile(); TiXmlElement* elem; TiXmlElement* rootElem = mXMLDoc->RootElement(); // Bones elem = rootElem->FirstChildElement("bones"); if (elem) { readBones(pSkeleton, elem); elem = rootElem->FirstChildElement("bonehierarchy"); if (elem) { createHierarchy(pSkeleton, elem) ; elem = rootElem->FirstChildElement("bones"); if (elem) { readBones2(pSkeleton, elem); elem = rootElem->FirstChildElement("animations"); if (elem) { readAnimations(pSkeleton, elem); } elem = rootElem->FirstChildElement("animationlinks"); if (elem) { readSkeletonAnimationLinks(pSkeleton, elem); } } } } LogManager::getSingleton().logMessage("XMLSkeletonSerializer: Finished. Running SkeletonSerializer..." ); }