#include "SkelAnim.h" #include "Scanner.h" #include "Parser.h" //====================================================================================================================== // load = //====================================================================================================================== bool SkelAnim::load(const char* filename) { Scanner scanner; if(!scanner.loadFile(filename)) return false; const Scanner::Token* token; // keyframes token = &scanner.getNextToken(); if(token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT) { PARSE_ERR_EXPECTED("integer"); return false; } keyframes.resize(token->getValue().getInt()); if(!Parser::parseArrOfNumbers(scanner, false, false, keyframes.size(), &keyframes[0])) return false; // bones num token = &scanner.getNextToken(); if(token->getCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT) { PARSE_ERR_EXPECTED("integer"); return false; } bones.resize(token->getValue().getInt()); // poses for(uint i=0; igetCode() != Scanner::TC_NUMBER || token->getDataType() != Scanner::DT_INT) { PARSE_ERR_EXPECTED("integer"); return false; } // it has if(token->getValue().getInt() == 1) { bones[i].keyframes.resize(keyframes.size()); for(uint j=0; j