convert line ends
[canaan.git] / prj / cam / src / engfeat / gunanim.h
blobd713c27edb97607276b0452e8b7df1ecb8a88ca9
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 #pragma once
8 ///////////////////////
9 // Animation tools for joints in a gun
11 #ifndef __GUNANIM_H
12 #define __GUNANIM_H
14 #include <matrixc.h>
15 #include <simtime.h>
17 // parameter animation - go to target 1 at rate 1, then target 2 at rate 2
19 typedef int eGunParamAnimFlags;
20 enum eGunParamAnimFlags_ {kGunAnimTarget2 = 0x0001};
22 typedef struct sGunParamAnim
24 int m_flags; // is target 2 valid?
25 float m_target1;
26 float m_rate1;
27 float m_target2;
28 float m_rate2;
29 } sGunParamAnim;
31 typedef struct sGunJointAnim
33 int m_num; // joint to animate
34 sGunParamAnim m_params;
35 } sGunJointAnim;
37 // Gun animation data
38 // currently just a joint animation
39 typedef struct sGunAnim
41 sGunJointAnim m_jointAnim;
42 } sGunAnim;
44 // state of an individual animation component state
46 typedef int eGunAnimStateFlags;
47 enum eGunAnimStateFlags_ {kGunAnimReversed = 0x0001};
49 typedef struct sGunAnimState
51 eGunAnimStateFlags m_flags;
52 tSimTime m_reverseTime; // when we reversed this animation
53 } sGunAnimState;
55 // state of the whole animation
57 typedef int eGunAnimsStateFlags;
58 enum eGunAnimsStateFlags_ {kGunAnimating = 0x0001};
60 typedef struct sGunAnimsState
62 eGunAnimsStateFlags m_flags;
63 tSimTime m_startTime; // when we started the animations
64 sGunAnimState m_jointAnimState; // state of individual anims
65 } sGunAnimsState;
67 #endif //!__GUNANIM_H