convert line ends
[canaan.git] / prj / cam / src / ai / aiavoid.h
blob5cfa5a0cdc8110ebe86d7dfa6d22e20c02cace36
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 ///////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/t2repos/thief2/src/ai/aiavoid.h,v 1.3 2000/03/25 22:13:01 adurant Exp $
8 //
9 //
11 #ifndef __AIAVOID_H
12 #define __AIAVOID_H
14 #include <comtools.h>
15 #include <dynarray.h>
17 #include <objtype.h>
19 #pragma once
20 #pragma pack(4)
22 F_DECLARE_INTERFACE(IAIManager);
24 ///////////////////////////////////////////////////////////////////////////////
26 BOOL AIInitObjectAvoid(IAIManager *);
27 BOOL AITermObjectAvoid();
28 BOOL AIDBResetObjectAvoid();
30 ///////////////////////////////////////////////////////////////////////////////
35 enum eAIObjectAvoidFlags
37 kAIOA_MarkDB = 0x01,
38 kAIOA_Repel = 0x02
41 ///////////////////////////////////////
43 struct sAIObjectAvoid
45 ObjID object;
46 unsigned flags;
49 ///////////////////////////////////////
51 // Get avoidance for one object
54 const sAIObjectAvoid * AIGetObjAvoid(ObjID obj);
56 ///////////////////////////////////////
58 // Get all repel objects (null terminated)
61 void AIGetAllObjRepel(const ObjID **, int *);
63 ///////////////////////////////////////
65 // Get all marked objects.
68 struct sAIObjectAvoidMark
70 ObjID object;
71 mxs_vector vertices[4];
74 void AIGetAllObjMarkDB(cDynArray<sAIObjectAvoidMark> * pResult);
76 ///////////////////////////////////////////////////////////////////////////////
78 #pragma pack()
80 #endif /* !__AIAVOID_H */