Line data Source code
1 : /* Copyright (C) 2016 Wildfire Games.
2 : * This file is part of 0 A.D.
3 : *
4 : * 0 A.D. is free software: you can redistribute it and/or modify
5 : * it under the terms of the GNU General Public License as published by
6 : * the Free Software Foundation, either version 2 of the License, or
7 : * (at your option) any later version.
8 : *
9 : * 0 A.D. is distributed in the hope that it will be useful,
10 : * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 : * GNU General Public License for more details.
13 : *
14 : * You should have received a copy of the GNU General Public License
15 : * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
16 : */
17 :
18 : /*
19 : * Instance of CSkeletonAnimDef for application onto a model
20 : */
21 :
22 : #ifndef INCLUDED_SKELETONANIM
23 : #define INCLUDED_SKELETONANIM
24 :
25 : #include "maths/BoundingBoxAligned.h"
26 :
27 : class CSkeletonAnimDef;
28 :
29 :
30 : ////////////////////////////////////////////////////////////////////////////////////////
31 : // CSkeletonAnim: an instance of a CSkeletonAnimDef, for application onto a model
32 0 : class CSkeletonAnim
33 : {
34 : public:
35 : // the name of the action which uses this animation (e.g. "idle")
36 : CStr m_Name;
37 : // the ID of this animation, to sync between props.
38 : CStr m_ID = "";
39 : // frequency of the animation
40 : int m_Frequency;
41 : // the raw animation frame data; may be NULL if this is a static 'animation'
42 : CSkeletonAnimDef* m_AnimDef;
43 : // speed at which this animation runs, as a factor of the AnimDef default speed
44 : // (treated as 0 if m_AnimDef == NULL)
45 : float m_Speed;
46 : // Times during the animation at which the interesting bits happen,
47 : // as msec times in the range [0, AnimDef->GetDuration],
48 : // or special value -1 if unspecified.
49 : // ActionPos is used for melee hits, projectile launches, etc.
50 : // ActionPos2 is used for loading projectile ammunition.
51 : float m_ActionPos;
52 : float m_ActionPos2;
53 : float m_SoundPos;
54 : // object space bounds of the model when this animation is applied to it
55 : CBoundingBoxAligned m_ObjectBounds;
56 : };
57 :
58 : #endif
|