convert line ends
[canaan.git] / prj / cam / src / dark / crbowarm.c
blobcb28b9dfe095d179851d150ad64ecbf30db61a64
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 // $Header: r:/t2repos/thief2/src/dark/crbowarm.c,v 1.7 1998/10/23 01:49:02 CCAROLLO Exp $
7 // XXX this could really a DLL. just contains humanoid-specific data
9 #include <creatur_.h>
10 #include <crbowarm.h>
11 #include <drkcret.h>
13 #include <dbmem.h> // must be last included header
15 // Joints
16 #define BUTT 0
17 #define SHLDR 1
18 #define ELBOW 2
19 #define WRIST 3
20 #define TOPMID 4
21 #define TOP 5
22 #define BOTMID 6
23 #define BOTTOM 7
25 // mapping from joint id to exposed joint enum
26 static int g_aArmJointMap[] =
28 -1,
29 -1,
30 -1,
31 -1,
33 -1,
35 -1,
37 -1,
39 -1,
40 -1,
41 -1,
42 -1,
43 -1,
44 -1,
45 -1,
46 -1,
47 -1,
48 -1,
49 -1,
52 // array of mappings from jointIDs -> parent jointIDs
53 static int g_aArmJointParents[] =
55 BUTT, // BUTT
56 BUTT, // SHLDR
57 SHLDR, // ELBOW
58 ELBOW, // WRIST
59 WRIST, // TOPMID
60 TOPMID, // TOP
61 WRIST, // BOTMID
62 BOTMID, // BOTTOM
65 static torso g_aDefTorsos[4]= {\
66 {BUTT,-1,1,{SHLDR}},
67 {SHLDR,0,1,{ELBOW}},
68 {ELBOW,1,1,{WRIST}},
69 {WRIST,2,2,{TOPMID,BOTMID}},
72 static limb g_aDefLimbs[2]= {\
73 {3,0,1,{TOPMID,TOP}},
74 {3,0,1,{BOTMID,BOTTOM}},
77 const sCreatureDesc sCrBowArmDesc = \
79 kDATYPE_PlayerBowLimb, // actor type
80 4, // num torsos
81 2, // num limbs
82 8, // num joints
83 "bowaim8", // default lengths filename
84 0, // number of phys models
86 NULL,
87 g_aArmJointParents, // joint parent mapping
88 g_aArmJointMap,
89 0, // num feet
90 NULL, // foot joints
91 g_aDefTorsos, // default torso values (if lengths file not found)
92 g_aDefLimbs, // default limb values (if lengths file not found)
93 0, // number of weapons
94 NULL, // weapon phys models
95 FALSE, // is always ballistic
96 FALSE, // uses head tracking