FS2_Open
Open source remastering of the Freespace 2 engine
multi_respawn.cpp File Reference

Go to the source code of this file.

Classes

struct  ai_respawn
 
struct  respawn_point
 

Macros

#define RESPAWN_BROADCAST   0x1
 
#define RESPAWN_REQUEST   0x2
 
#define AI_RESPAWN_NOTICE   0x3
 
#define MAX_AI_RESPAWNS   MAX_PLAYERS
 
#define AI_RESPAWN_TIME   (7000)
 
#define MAX_MULTI_RESPAWN_POINTS   MAX_PLAYERS
 
#define MAX_PRIORITY_POINTS   10
 
#define WITHIN_BBOX()
 
#define MOVE_AWAY_BBOX()
 

Typedefs

typedef struct ai_respawn ai_respawn
 
typedef struct respawn_point respawn_point
 

Functions

void multi_respawn_player (net_player *pl, char cur_primary_bank, char cur_secondary_bank, ubyte cur_link_status, ushort ship_ets, ushort net_sign, char *parse_name, vec3d *pos=NULL)
 
void multi_respawn_ai (p_object *pobjp)
 
void multi_respawn_as_observer ()
 
void multi_respawn_send_request (int as_observer)
 
void multi_respawn_send_ai_respawn (ushort net_signature)
 
void multi_respawn_broadcast (net_player *player)
 
void multi_respawn_make_observer (net_player *pl)
 
void multi_respawn_place (object *new_obj, int team)
 
void multi_respawn_server ()
 
void prevent_spawning_collision (object *new_obj)
 
void multi_respawn_check (object *objp)
 
void multi_respawn_player_leave (net_player *pl)
 
void multi_respawn_normal ()
 
void multi_respawn_observer ()
 
void multi_respawn_handle_invul_players ()
 
void multi_respawn_build_points ()
 
void multi_respawn_wing_stuff (ship *shipp)
 
int multi_respawn_common_stuff (p_object *pobjp)
 
void multi_respawn_process_packet (ubyte *data, header *hinfo)
 
void multi_respawn_init ()
 
void multi_respawn_check_ai ()
 

Variables

ai_respawn Ai_respawns [MAX_AI_RESPAWNS]
 
respawn_point Multi_respawn_points [MAX_MULTI_RESPAWN_POINTS]
 
int Multi_respawn_point_count = 0
 
int Multi_next_respawn_point = 0
 
respawn_point Multi_respawn_priority_ships [MAX_PRIORITY_POINTS]
 
int Multi_respawn_priority_count = 0
 

Macro Definition Documentation

#define AI_RESPAWN_NOTICE   0x3

Definition at line 43 of file multi_respawn.cpp.

#define AI_RESPAWN_TIME   (7000)

Definition at line 47 of file multi_respawn.cpp.

#define MAX_AI_RESPAWNS   MAX_PLAYERS

Definition at line 46 of file multi_respawn.cpp.

#define MAX_MULTI_RESPAWN_POINTS   MAX_PLAYERS

Definition at line 65 of file multi_respawn.cpp.

#define MAX_PRIORITY_POINTS   10

Definition at line 71 of file multi_respawn.cpp.

#define MOVE_AWAY_BBOX ( )
Value:
do { \
if (pm != NULL) { \
switch((int)frand_range(0.0f, 3.9f)){ \
case 0: \
new_obj->pos.xyz.x += 200.0f; \
break; \
case 1: \
new_obj->pos.xyz.x -= 200.0f; \
break; \
case 2: \
new_obj->pos.xyz.y += 200.0f; \
break; \
case 3: \
new_obj->pos.xyz.y -= 200.0f; \
break; \
default : \
new_obj->pos.xyz.z -= 200.0f; \
break; \
} \
} \
} while(0)
float frand_range(float min, float max)
Return a floating point number in the range min..max.
Definition: floating.cpp:50
GLclampf f
Definition: Glext.h:7097
switch(qd->index)
Definition: lua.cpp:3137
if(aifft_max_checks<=0)
Definition: aiturret.cpp:1581
polymodel * pm
Definition: lua.cpp:1598

Definition at line 894 of file multi_respawn.cpp.

#define RESPAWN_BROADCAST   0x1

Definition at line 41 of file multi_respawn.cpp.

#define RESPAWN_REQUEST   0x2

Definition at line 42 of file multi_respawn.cpp.

#define WITHIN_BBOX ( )
Value:
do { \
if (pm != NULL) { \
float scale = 2.0f; \
collided = 0; \
vec3d temp = new_obj->pos; \
vec3d gpos; \
vm_vec_sub2(&temp, &hit_check->pos); \
vm_vec_rotate(&gpos, &temp, &hit_check->orient); \
if((gpos.xyz.x >= pm->mins.xyz.x * scale) && (gpos.xyz.y >= pm->mins.xyz.y * scale) && (gpos.xyz.z >= pm->mins.xyz.z * scale) && (gpos.xyz.x <= pm->maxs.xyz.x * scale) && (gpos.xyz.y <= pm->maxs.xyz.y * scale) && (gpos.xyz.z <= pm->maxs.xyz.z * scale)) { \
collided = 1; \
} \
} \
} while(0)
vec3d mins
Definition: model.h:746
struct vec3d vec3d
struct vec3d::@225::@227 xyz
vec3d * vm_vec_rotate(vec3d *dest, const vec3d *src, const matrix *m)
Definition: vecmat.cpp:933
vec3d maxs
Definition: model.h:746
GLenum GLenum GLenum GLenum GLenum scale
Definition: Glext.h:8503
void vm_vec_sub2(vec3d *dest, const vec3d *src)
Definition: vecmat.cpp:187
if(aifft_max_checks<=0)
Definition: aiturret.cpp:1581
typedef float(SCP_EXT_CALLCONV *SCPTRACKIR_PFFLOATVOID)()
int temp
Definition: lua.cpp:4996
polymodel * pm
Definition: lua.cpp:1598

Definition at line 880 of file multi_respawn.cpp.

Typedef Documentation

typedef struct ai_respawn ai_respawn
typedef struct respawn_point respawn_point

Function Documentation

void multi_respawn_ai ( p_object pobjp)

Definition at line 487 of file multi_respawn.cpp.

void multi_respawn_as_observer ( )

Definition at line 522 of file multi_respawn.cpp.

void multi_respawn_broadcast ( net_player player)

Definition at line 588 of file multi_respawn.cpp.

void multi_respawn_build_points ( )

Definition at line 271 of file multi_respawn.cpp.

void multi_respawn_check ( object objp)

Definition at line 113 of file multi_respawn.cpp.

void multi_respawn_check_ai ( )

Definition at line 744 of file multi_respawn.cpp.

int multi_respawn_common_stuff ( p_object pobjp)

Definition at line 324 of file multi_respawn.cpp.

void multi_respawn_handle_invul_players ( )

Definition at line 252 of file multi_respawn.cpp.

void multi_respawn_init ( )

Definition at line 733 of file multi_respawn.cpp.

void multi_respawn_make_observer ( net_player pl)

Definition at line 502 of file multi_respawn.cpp.

void multi_respawn_normal ( )

Definition at line 218 of file multi_respawn.cpp.

void multi_respawn_observer ( )

Definition at line 234 of file multi_respawn.cpp.

void multi_respawn_place ( object new_obj,
int  team 
)

Definition at line 775 of file multi_respawn.cpp.

void multi_respawn_player ( net_player pl,
char  cur_primary_bank,
char  cur_secondary_bank,
ubyte  cur_link_status,
ushort  ship_ets,
ushort  net_sign,
char *  parse_name,
vec3d pos = NULL 
)

Definition at line 369 of file multi_respawn.cpp.

void multi_respawn_player_leave ( net_player pl)

Definition at line 181 of file multi_respawn.cpp.

void multi_respawn_process_packet ( ubyte data,
header hinfo 
)

Definition at line 622 of file multi_respawn.cpp.

void multi_respawn_send_ai_respawn ( ushort  net_signature)

Definition at line 552 of file multi_respawn.cpp.

void multi_respawn_send_request ( int  as_observer)

Definition at line 569 of file multi_respawn.cpp.

void multi_respawn_server ( )

Definition at line 721 of file multi_respawn.cpp.

void multi_respawn_wing_stuff ( ship shipp)

Definition at line 311 of file multi_respawn.cpp.

void prevent_spawning_collision ( object new_obj)

Definition at line 917 of file multi_respawn.cpp.

Variable Documentation

Definition at line 55 of file multi_respawn.cpp.

int Multi_next_respawn_point = 0

Definition at line 68 of file multi_respawn.cpp.

int Multi_respawn_point_count = 0

Definition at line 67 of file multi_respawn.cpp.

respawn_point Multi_respawn_points[MAX_MULTI_RESPAWN_POINTS]

Definition at line 66 of file multi_respawn.cpp.

int Multi_respawn_priority_count = 0

Definition at line 73 of file multi_respawn.cpp.

respawn_point Multi_respawn_priority_ships[MAX_PRIORITY_POINTS]

Definition at line 72 of file multi_respawn.cpp.