]> icculus.org git repositories - taylor/freespace2.git/blob - include/observer.h
proper padding of PXO stats struct for FS2 demo
[taylor/freespace2.git] / include / observer.h
1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell 
5  * or otherwise commercially exploit the source or things you created based on
6  * the source.
7  */
8
9 /*
10  * $Logfile: /Freespace2/code/Observer/Observer.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * $NoKeywords: $
16  */
17
18 #ifndef _OBSERVER_HEADER_FILE
19 #define _OBSERVER_HEADER_FILE
20
21 #include "object.h"
22 #include "vecmat.h"
23
24 #define OBS_MAX_VEL_X     (85.0f) // side to side
25 #define OBS_MAX_VEL_Y     (85.0f) // side to side
26 #define OBS_MAX_VEL_Z     (85.0f) // forwards and backwards
27
28
29 #define OBS_FLAG_USED   (1<<1)
30
31 typedef struct observer {
32         int objnum;
33
34         int target_objnum;    // not used as of yet
35         int flags;
36 } observer;
37
38 #define MAX_OBSERVER_OBS 17
39 extern observer Observers[MAX_OBSERVER_OBS];
40
41 extern int Num_observer_obs;
42
43 void observer_init();
44 int observer_create(matrix *orient, vector *pos);  // returns objnum
45 void observer_delete(object *obj);
46
47 // get the eye position and orientation for the passed observer object
48 void observer_get_eye(vector *eye_pos, matrix *eye_orient, object *obj);
49
50 #endif
51