2 Copyright (C) 2003, 2010 - Wolfire Games
4 This file is part of Lugaru.
6 Lugaru is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 as published by the Free Software Foundation; either version 2
9 of the License, or (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 See the GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 /**> HEADER FILES <**/
28 #include "Quaternions.h"
31 #include "Constants.h"
41 #define attacktypecutoff 4
42 #define playercontrolled 5
44 #define getweapontype 7
45 #define pathfindtype 8
74 int oldcurrentanimation;
75 int oldtargetanimation;
79 float parriedrecently;
83 int lastattack,lastattack2,lastattack3;
85 XYZ currentoffset,targetoffset,offset;
103 float unconscioustime;
108 float targetrotation;
121 bool rabbitkickenabled;
130 float damagetolerance;
132 float permanentdamage;
133 float superpermanentdamage; float lastcollide;
151 float texupdatedelay;
153 float headrotation,headrotation2;
154 float targetheadrotation,targetheadrotation2;
165 float normalsupdatedelay;
170 bool forwardstogglekeydown;
175 bool jumptogglekeydown;
177 bool crouchtogglekeydown;
179 bool drawtogglekeydown;
181 bool throwtogglekeydown;
187 float crouchkeydowntime;
188 float jumpkeydowntime;
197 float losupdatedelay;
205 float whichdirectiondelay;
206 bool avoidsomething; XYZ avoidwhere;
207 float blooddimamount;
214 float lefthandmorphness;
215 float righthandmorphness;
217 float chestmorphness;
219 float targetlefthandmorphness;
220 float targetrighthandmorphness;
221 float targetheadmorphness;
222 float targetchestmorphness;
223 float targettailmorphness;
224 int lefthandmorphstart,lefthandmorphend;
225 int righthandmorphstart,righthandmorphend;
226 int headmorphstart,headmorphend;
227 int chestmorphstart,chestmorphend;
228 int tailmorphstart,tailmorphend;
230 float weaponmissdelay;
231 float highreversaldelay;
232 float lowreversaldelay;
233 float nocollidedelay;
246 float protectionhead;
247 float protectionhigh;
257 char clothes[10][256];
258 float clothestintr[10];
259 float clothestintg[10];
260 float clothestintb[10];
266 float onfiredelay; float burnt;
270 float updatestuffdelay;
278 int weaponstuckwhere;
283 int waypointtype[90];
285 bool hastempwaypoint;
291 XYZ finalfinaltarget;
293 int finalpathfindpoint;
294 int targetpathfindpoint;
295 int lastpathfindpoint;
296 int lastpathfindpoint2;
297 int lastpathfindpoint3;
298 int lastpathfindpoint4;
309 float runninghowlong; int lastoccluded;
314 float neckspurtdelay;
315 float neckspurtparticledelay;
316 float neckspurtamount;
319 bool rabbitkickragdoll;
324 Animation tempanimation;
330 void DoBlood(float howmuch, int which);
331 void DoBloodBig(float howmuch, int which);
332 bool DoBloodBigWhere(float howmuch, int which, XYZ where);
373 void DoDamage(float howmuch);
375 void DoMipmaps(int howmanylevels, float startx, float endx, float starty, float endy);
376 int SphereCheck(XYZ *p1,float radius, XYZ *p, XYZ *move, float *rotate, Model *model);
378 void Puff(int whichlabel);
379 void FootLand(int which, float opacity);
382 void RagDoll(bool checkcollision);
383 HitStruct BulletCollideWithPlayer(XYZ start, XYZ end);