1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
/*
* Copyright (C) Volition, Inc. 1999. All rights reserved.
*
* All source code herein is the property of Volition, Inc. You may not sell
* or otherwise commercially exploit the source or things you created based on the
* source.
*
*/
#ifndef _OBSERVER_HEADER_FILE
#define _OBSERVER_HEADER_FILE
class object;
struct vec3d;
struct matrix;
#define OBS_MAX_VEL_X (85.0f) // side to side
#define OBS_MAX_VEL_Y (85.0f) // side to side
#define OBS_MAX_VEL_Z (85.0f) // forwards and backwards
#define OBS_FLAG_USED (1<<1)
typedef struct observer {
int objnum;
int target_objnum; // not used as of yet
int flags;
} observer;
#define MAX_OBSERVER_OBS 17
extern observer Observers[MAX_OBSERVER_OBS];
void observer_init();
int observer_create(matrix *orient, vec3d *pos); // returns objnum
void observer_delete(object *obj);
// get the eye position and orientation for the passed observer object
void observer_get_eye(vec3d *eye_pos, matrix *eye_orient, object *obj);
#endif
|