convert line ends
[canaan.git] / prj / cam / src / motion / mvrutils.h
blob68514f56e07958d1855f8c8e4b3c92f1f6d1cc5a
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 // $Header: r:/t2repos/thief2/src/motion/mvrutils.h,v 1.15 2000/01/31 09:49:56 adurant Exp $
7 #pragma once
9 #ifndef __MVRUTILS_H
10 #define __MVRUTILS_H
12 #include <matrixs.h>
13 #include <wrtype.h>
14 #include <math.h> // XXX for fabs
16 #ifdef __cplusplus
17 #include <mcoord.h>
18 #include <dynarray.h>
20 EXTERN cDynArray<ObjID> standableObjectList;
22 #endif
24 typedef struct sMotionPhys
26 mxs_vector xlat;
27 mxs_real distance; // magnitude of xlat vector
28 mxs_real duration;
29 mxs_real buttZOffset;
30 mxs_ang endDir;
31 } sMotionPhys;
33 typedef enum eMotionStatus
35 kMotionStart,
36 kMotionEnd,
37 kMotionFlagReached,
38 kMotionStatusInvalid=0xFFFF,
39 } eMotionStatus;
41 #define kMvrUCF_MaintainSpeed 0x1
43 #ifdef __cplusplus
44 EXTERN BOOL MvrGetRawMovement(const IMotor *pMotor, const int motionNum, sMotionPhys &phys);
46 EXTERN void MvrCalcSlidingCollisionResponse(const mxs_vector *pForces, const int nForces,
47 const mxs_vector *ovel, mxs_vector *nvel, ulong flags=NULL);
48 #endif
50 EXTERN void InitGroundHeightObjects();
51 EXTERN void TermGroundHeightObjects();
53 EXTERN BOOL MvrFindGroundHeight(ObjID obj, Location *loc, mxs_real *pHeight, ObjID *pGroundObj);
54 EXTERN void MvrSetStandingObj(ObjID standingObj, ObjID supportObj);
55 EXTERN void MvrSetStandingOffset(ObjID standingObj, ObjID supportObj, mxs_vector *pExpectedEndPos);
56 EXTERN void MvrSetTerrStandingOffset(ObjID standingObj, mxs_vector *pOffset);
58 EXTERN int MvrRandomIntInRange(int low, int high);
60 EXTERN BOOL MvrGetEndButtHeight(const IMotor *pMotor, int motionNum, float *pHeight);
62 EXTERN void MvrUtilsRegisterDefaultObjFlags(ObjID obj);
63 EXTERN void MvrUtilsUnRegisterDefaultObjFlags(ObjID obj);
65 EXTERN void MvrProcessStandardFlags(IMotor *pMotor, cMotionCoordinator *pCoord, const int flags);
66 EXTERN void MvrSendMotionMessage(ObjID obj, int motionNum, eMotionStatus whatHappened, ulong flags);
68 #endif