void keyboard(unsigned char k, int, int) { switch(k) { case 27: cleanup(); osgExit(); exit(0); break; case 'q': toggleAnim(0, false); break; case 'w': toggleAnim(0, true); break; case 'e': resetAnim(0); break; case 'r': toggleAnimEnable(0); break; case 't': increaseTimeScale(0); break; case 'y': decreaseTimeScale(0); break; case 'u': toggleAnimDirection(0); break; case 'a': toggleAnim(1, false); break; case 's': toggleAnim(1, true); break; case 'd': resetAnim(1); break; case 'f': toggleAnimEnable(1); break; case 'g': increaseTimeScale(1); break; case 'h': decreaseTimeScale(1); break; case 'j': toggleAnimDirection(1); break; } }
void Skeleton::loadSkeleton(Common::SeekableReadStream *data) { _numJoints = data->readUint32LE(); _joints = new Joint[_numJoints]; char inString[32]; for (int i = 0; i < _numJoints; i++) { data->read(inString, 32); _joints[i]._name = inString; data->read(inString, 32); _joints[i]._parent = inString; _joints[i]._trans.readFromStream(data); _joints[i]._quat.readFromStream(data); _joints[i]._parentIndex = findJointIndex(_joints[i]._parent, i); } initBones(); resetAnim(); }