codemp/ghoul2/G2.h

Go to the documentation of this file.
00001 #if defined (_MSC_VER) && (_MSC_VER >= 1020)
00002 #pragma once
00003 #endif
00004 #if !defined(G2_H_INC)
00005 #define G2_H_INC
00006 
00007 
00008 #define BONE_ANGLES_PREMULT                     0x0001
00009 #define BONE_ANGLES_POSTMULT            0x0002
00010 #define BONE_ANGLES_REPLACE                     0x0004
00011 
00012 //added for a trace optimization. set in routines where a bone is
00013 //set to be transformed in any way. -rww
00014 #define BONE_NEED_TRANSFORM                     0x8000
00015 
00016 //rww - RAGDOLL_BEGIN
00017 #define BONE_ANGLES_RAGDOLL                     0x2000  // the rag flags give more details
00018 //rww - RAGDOLL_END
00019 #define BONE_ANGLES_IK                          0x4000  // the rag flags give more details
00020 
00021 #define BONE_ANGLES_TOTAL                       ( BONE_ANGLES_PREMULT | BONE_ANGLES_POSTMULT | BONE_ANGLES_REPLACE )
00022 #define BONE_ANIM_OVERRIDE                      0x0008
00023 #define BONE_ANIM_OVERRIDE_LOOP         0x0010
00024 #define BONE_ANIM_OVERRIDE_FREEZE       ( 0x0040 + BONE_ANIM_OVERRIDE )
00025 #define BONE_ANIM_BLEND                         0x0080
00026 #define BONE_ANIM_TOTAL                         ( BONE_ANIM_OVERRIDE | BONE_ANIM_OVERRIDE_LOOP | BONE_ANIM_OVERRIDE_FREEZE | BONE_ANIM_BLEND)
00027 
00028 
00029 // defines to setup the
00030 #define         ENTITY_WIDTH 12
00031 #define         MODEL_WIDTH     10
00032 #define         BOLT_WIDTH      10
00033  
00034 #define         MODEL_AND       ((1<<MODEL_WIDTH)-1)
00035 #define         BOLT_AND        ((1<<BOLT_WIDTH)-1)
00036 #define         ENTITY_AND      ((1<<ENTITY_WIDTH)-1)
00037 
00038 #define         BOLT_SHIFT      0
00039 #define         MODEL_SHIFT     (BOLT_SHIFT + BOLT_WIDTH)
00040 #define         ENTITY_SHIFT (MODEL_SHIFT + MODEL_WIDTH)
00041 
00042 
00043 #endif // G2_H_INC
00044