2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
8 // $Header: r:/t2repos/thief2/src/shock/shkcret.h,v 1.12 2000/01/31 09:55:21 adurant Exp $
14 // What are creature types and actor types, you ask?
16 // Every creature has a creature type and an actor type
17 // All creatures of a given creature type have the same actor type.
19 // Creature type specifies the skeletal configuration and phys model size
22 // Actor type specifies the set of motion schemas that make sense to play
23 // a creature of that type (every schema has exactly one actor).
25 // Both are defined on a per-game basis. Similarly, the creature type
26 // definition modules (crhumand.c etc) are considered game-specific, and
27 // include this header to specify their actor type.
29 // Creature type and actor type are two different things because it's possible
30 // for two creatures to have different skeletal configurations but use the
31 // same motion captures (a legless droid and a human, for example).
33 // While we could have disjoint sets of motions to be played on two creatures
34 // of the same skeletal configuration (a human and a burrick, for example),
35 // I'm still making it so that the creature type determines the actor type.
36 // This is for simplicity, because tags can be used take care of this case,
37 // and because things like humans and burricks probably need to be different
38 // actor types anyway because of phys model size and placement.
42 // Shock-specific creature types
43 enum eShockCreatureType
45 kShCRTYPE_Humanoid
= 0,
46 kShCRTYPE_PlayerLimb
= 1,
48 kShCRTYPE_Rumbler
= 3,
50 kShCRTYPE_Overlord
= 5,
51 kShCRTYPE_Arachnid
= 6,
53 kShCRTYPE_BabyArachnid
= 8,
55 kNumShockCreatureTypes
,
56 kShCRTYPE_Invalid
= 0xffffffffL
// to ensure enum has size of int in all compilers
59 // Shock-specific actor types
68 kShATYPE_Invalid
= 0xffffffffL
// to ensure enum has size of int in all compilers
71 // arrays in drkcret.cpp should be kept in same order as this
72 enum eShockMotorControllers
82 // Shock player arm modes
90 // Shock-specific creature weapons
91 // As far as I can tell this is bogus and not used anywhere....
92 enum eShockCreatureWeapon
98 // Game-specific creature initialization. Registers creature types used by
99 // game, and builds sdesc for creature property
100 EXTERN
void ShockCreaturesInit();
101 EXTERN
void ShockCreaturesTerm();