X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FSkeleton.h;h=ca8ac30cf241037a5a072f54d7946a16412270cc;hb=8afdcba610cded0e54b85069ba051268b29669a6;hp=b7e2eed3edbe6a8d78412a79400b622dd8f5fc17;hpb=36cc3af3e5074215817ddee16defde754e2ad67f;p=lugaru.git diff --git a/Source/Skeleton.h b/Source/Skeleton.h index b7e2eed..ca8ac30 100644 --- a/Source/Skeleton.h +++ b/Source/Skeleton.h @@ -1,26 +1,46 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + #ifndef _SKELETON_H_ #define _SKELETON_H_ #include "Models.h" #include "Quaternions.h" -#include "Constants.h" /**> HEADER FILES <**/ #include "gamegl.h" #include "Quaternions.h" -#include "fmod.h" #include "Objects.h" -#include "Sprites.h" +#include "Sprite.h" #include "binio.h" -#define neutral 0 -#define normalattack 1 -#define reversed 2 -#define reversal 3 -#define lowheight 0 -#define middleheight 1 -#define highheight 2 +enum bodyparts { + head, neck, + leftshoulder, leftelbow, leftwrist, lefthand, + rightshoulder, rightelbow, rightwrist, righthand, + abdomen, lefthip, righthip, groin, + leftknee, leftankle, leftfoot, + rightknee, rightankle, rightfoot +}; class Joint { @@ -122,7 +142,7 @@ public: Animation & operator = (const Animation & ani); - void Load(char *fileName, int aheight, int aattack); + void Load(const char *fileName, int aheight, int aattack); void Move(XYZ how); protected: @@ -130,6 +150,8 @@ protected: }; +const int max_joints = 50; + class Skeleton { public: @@ -196,7 +218,7 @@ public: void FindRotationJoint(int which); void FindRotationJointSameTwist(int which); void FindRotationMuscle(int which, int animation); - void Load(char *fileName,char *lowfileName,char *clothesfileName,char *modelfileName,char *model2fileName,char *model3fileName,char *model4fileName,char *model5fileNamee,char *model6fileName,char *model7fileName,char *modellowfileName,char *modelclothesfileName, bool aclothes); + void Load(const char *fileName,const char *lowfileName,const char *clothesfileName,const char *modelfileName,const char *model2fileName,const char *model3fileName,const char *model4fileName,const char *model5fileNamee,const char *model6fileName,const char *model7fileName,const char *modellowfileName,const char *modelclothesfileName, bool aclothes); Skeleton();