112         : 
next(NULL), prev(NULL), 
type(
OBJ_NONE), parent(-1), instance(-1), n_quadrants(0), hull_strength(0.0),
 
  113           sim_hull_strength(0.0), net_signature(0), num_pairs(0), dock_list(NULL), dead_dock_list(NULL), collision_group_id(0)
 
  154         int     i, olind, deleted_weapons;
 
  156         int     num_already_free, num_to_free, original_num_to_free;
 
  162         num_already_free = 0;
 
  173                                 return num_already_free;
 
  175                         switch (objp->
type) {
 
  207         num_to_free = 
MAX_OBJECTS - num_used - num_already_free;
 
  208         original_num_to_free = num_to_free;
 
  210         if (num_to_free > olind) {
 
  211                 nprintf((
"allender", 
"Warning: Asked to free %i objects, but can only free %i.\n", num_to_free, olind));
 
  215         for (i=0; i<num_to_free; i++)
 
  218                         nprintf((
"allender", 
"Freeing   DEBRIS object %3i\n", obj_list[i]));
 
  223                 return original_num_to_free;
 
  225         for (i=0; i<num_to_free; i++)   {
 
  226                 object *tmp_obj = &Objects[obj_list[
i]];
 
  229                         nprintf((
"allender", 
"Freeing FIREBALL object %3i\n", obj_list[i]));
 
  235                 return original_num_to_free;
 
  240         num_to_free -= deleted_weapons;
 
  242                 return original_num_to_free;
 
  245         for (i=0; i<num_to_free; i++){
 
  253                 return original_num_to_free;
 
  256         return original_num_to_free - num_to_free;
 
  280         if (total_strength == 0.0
f)
 
  298         if (total_strength == 0.0
f)
 
  318         if (total_strength == 0.0
f)
 
  359 static int num_objects_hwm = 0;
 
  376                 mprintf((
"Why hasn't obj_init() been called yet?\n"));
 
  384                 nprintf((
"warning", 
" *** Freed %i objects\n", num_freed));
 
  389                 mprintf((
"Object creation failed - too many objects!\n" ));
 
  396         Assert ( objp != &obj_free_list );              
 
  434                 mprintf((
"Why hasn't obj_init() been called yet?\n"));
 
  441         objp = &Objects[objnum];
 
  479         obj = &Objects[objnum];
 
  527         objp = &Objects[objnum];
 
  529                 mprintf((
"obj_delete() called for already deleted object %d.\n", objnum));
 
  540         switch( objp->
type )    {
 
  589                         mprintf((
"Warning: Tried to delete a ghost!\n"));
 
  594                         nprintf((
"Network",
"Deleting GHOST object\n"));
 
  606                 Error( 
LOCATION, 
"Unhandled object type %d in obj_delete_all_that_should_be_dead", objp->
type );
 
  629                 mprintf((
"Why hasn't obj_init() been called yet?\n"));
 
  681 extern void call_doa(
object *child, 
object *parent);
 
  790                         float   engine_strength;
 
  794                                 engine_strength=0.0f;
 
  797                         if (engine_strength == 0.0
f) {  
 
  818                                         float reload_time = (fire_wait == 0.0f) ? 1.0
f : 1.0
f / fire_wait;
 
  823                                         if (points > missles_left) {
 
  825                                                 for (
int k = next_point; k < next_point+missles_left; k ++) {
 
  828                                                                 s_pct += reload_time * frametime;
 
  834                                                 for (
int k = 0; k < 
points; k++) {
 
  837                                                                 s_pct += reload_time * frametime;
 
  855                         if (objp==Player_obj){
 
  923                 angles old_angles, new_angles;
 
  927                 new_angles.
p = old_angles.
p;
 
  928                 new_angles.
b = old_angles.
b;
 
  932                 new_angles.
h = old_angles.
h;
 
  942 #define IMPORTANT_FLAGS (OF_COLLIDES) 
  946 void obj_check_object( 
object *
obj )
 
  955         if ( CheckObjects[objnum].
type != obj->
type )   {
 
  969                         mprintf(( 
"Object type changed! Old: %i, Current: %i\n", CheckObjects[objnum].
type, obj->
type ));
 
  973         if ( CheckObjects[objnum].signature != obj->
signature ) {
 
  974                 mprintf(( 
"Object signature changed!\n" ));
 
  978                 mprintf(( 
"Object flags changed!\n" ));
 
  981         if ( CheckObjects[objnum].parent_sig != obj->
parent_sig ) {
 
  982                 mprintf(( 
"Object parent sig changed!\n" ));
 
  985         if ( CheckObjects[objnum].parent_type != obj->
parent_type ) {
 
  986                 mprintf(( 
"Object's parent type changed!\n" ));
 
 1014                 obj->
flags = new_flags;
 
 1017                 CheckObjects[objnum].
flags = new_flags;
 
 1025         if ( (!(obj->
flags & OF_COLLIDES)) && (new_flags&OF_COLLIDES) ) {
 
 1030                         mprintf((
"Illegal to set collision bit for OBJ_OBSERVER!!\n"));
 
 1043                 obj->
flags = new_flags;
 
 1046                 CheckObjects[objnum].
flags = new_flags;
 
 1074                 if ( (shipp->
wingnum == -1) || (team == -1) || (slot==-1) ) {
 
 1080                 obj->
flags = new_flags;
 
 1082                 CheckObjects[objnum].
flags = new_flags;
 
 1090                 mprintf(( 
"Unhandled flag changing in obj_set_flags!!\n" ));
 
 1091                 mprintf(( 
"Add code to support it, see John for questions!!\n" ));
 
 1095                 obj->
flags = new_flags;
 
 1097                 CheckObjects[objnum].
flags = new_flags;
 
 1105         switch( objp->
type )    {
 
 1208                                                 light_add_point( &objp->pos, 10.0f, 20.0f, 1.0f, 1.0f, 1.0f, 1.0f, objp->parent );
 
 1228                                         shipp = &
Ships[objp->instance];
 
 1267                                 float r = 0.0f, 
g = 0.0f, 
b = 0.0f;
 
 1272                                 if ( (r == 0.0
f) && (
g == 0.0
f) && (
b == 0.0
f) )
 
 1282                                         float rad = p * (1.0f + 
frand() * 0.05f) * objp->radius;
 
 1284                                         float intensity = 1.0f;
 
 1314                                         db = &
Debris[objp->instance];
 
 1415                         obj_check_object( objp );
 
 1478                 if ( &objp->
phys_info == Viewer_physics_info )  {
 
 1549                 switch( obj->type )     {
 
 1557                         if(Cmdline_dis_weapons) 
return;
 
 1580                                 if(jnp->GetSCPObject() != 
obj)
 
 1596                         Error( 
LOCATION, 
"Unhandled obj type %d in obj_render", obj->type );
 
 1639         switch ( obj->
type ) {
 
 1667                         if ( jnp->GetSCPObject() != 
obj ) {
 
 1755                 if ( objp != Player_obj ) {
 
 1848         switch ( objp->
type ) {
 
 1856                         Assertion(team != -1, 
"Obj_team called for a debris object with no team.");
 
 1906         objp = &Objects[objnum];        
 
 1914         CheckObjects[objnum].
type = objp->
type;
 
 1956         while( tmp != NULL )    {
 
 1957                 if ( (tmp->
a==a) || (tmp->
b==a) )       {
 
 1966                         tmp->
a = tmp->
b = NULL;
 
 1968                         pair_free_list.
next = tmp;
 
void beam_move_all_post()
 
int fire_countermeasure_count
 
void radar_plot_object(object *objp)
 
void dock_free_dock_list(object *objp)
 
#define MULTIPLAYER_CLIENT
 
void obj_set_flags(object *obj, uint new_flags)
 
float get_max_shield_quad(object *objp)
 
fix team_change_timestamp
 
void call_doa(object *child, object *parent)
 
weapon Weapons[MAX_WEAPONS]
 
SCP_string secondary_team_name
 
bool object_glide_forced(object *objp)
 
void weapon_process_pre(object *obj, float frame_time)
 
int debris_get_team(object *objp)
 
#define OF_LASER_PROTECTED
 
void obj_client_post_interpolate()
 
polymodel * model_get(int model_num)
 
int obj_team(object *objp)
 
weapon_info Weapon_info[MAX_WEAPON_TYPES]
 
float shield_get_strength(object *objp)
 
void obj_render(object *obj)
 
void RemHookVar(char *name)
 
void obj_move_all_pre(object *objp, float frametime)
 
asteroid Asteroids[MAX_ASTEROIDS]
 
matrix * vm_angles_2_matrix(matrix *m, const angles *a)
 
void debris_render_DEPRECATED(object *obj)
 
void obj_reset_all_collisions()
 
GLsizei const GLfloat * points
 
char * Object_type_names[MAX_OBJECT_TYPES]
 
void object_set_gliding(object *objp, bool enable, bool force)
 
void obj_init_all_ships_physics()
 
float ship_max_shield_strength
 
void multi_ts_get_team_and_slot(char *ship_name, int *team_index, int *slot_index, bool mantis2757switch)
 
void light_add_point(const vec3d *pos, float r1, float r2, float intensity, float r, float g, float b, int light_ignore_objnum, float spec_r, float spec_g, float spec_b, bool specular)
 
void shockwave_delete(object *objp)
 
#define NETINFO_FLAG_OBSERVER
 
int ship_fire_primary(object *obj, int stream_weapons, int force)
 
void obj_reset_colliders()
 
float side_slip_time_const
 
#define list_append(head, elem)
 
int ship_stop_fire_primary(object *obj)
 
void obj_snd_delete_type(int objnum, int sndnum, ship_subsys *ss)
 
vec3d arc_pts[MAX_DEBRIS_ARCS][2]
 
struct vec3d::@225::@227 xyz
 
void weapon_render(object *obj, draw_list *scene)
 
int Object_next_signature
 
ai_info Ai_info[MAX_AI_INFO]
 
vec3d * vm_vec_rotate(vec3d *dest, const vec3d *src, const matrix *m)
 
void ship_process_pre(object *objp, float frametime)
 
#define Assertion(expr, msg,...)                                                                        
 
void obj_free(int objnum)
 
#define END_OF_LIST(head)
 
void ship_process_post(object *obj, float frametime)
 
#define GR_FILL_MODE_SOLID
 
int ship_fire_secondary(object *obj, int allow_swarm)
 
void obj_merge_created_list(void)
 
void dock_move_docked_objects(object *objp)
 
void profile_begin(const char *name)
 
int collide_remove_weapons()
 
void find_homing_object_cmeasures()
 
void obj_move_one_docked_object(object *objp, object *parent_objp)
 
void obj_move_call_physics(object *objp, float frametime)
 
int object_get_model(object *objp)
 
void obj_remove_collider(int obj_index)
 
void obj_player_fire_stuff(object *objp, control_info ci)
 
void multi_do_client_warp(float frame_time)
 
script_state Script_system("FS2_Open Scripting")
 
#define PROFILE(name, function)
 
void debris_process_post(object *obj, float frame_time)
 
SCP_list< CJumpNode > Jump_nodes
 
void obj_sort_and_collide()
 
void gr_set_color(int r, int g, int b)
 
void obj_observer_move(float frame_time)
 
#define OF_TARGETABLE_AS_BOMB
 
void shockwave_render_DEPRECATED(object *objp)
 
int object_is_docked(object *objp)
 
int fireball_is_warp(object *obj)
 
void obj_add_pairs(int objnum)
 
void weapon_delete(object *obj)
 
void afterburners_stop(object *objp, int key_released)
 
float ship_get_subsystem_strength(ship *shipp, int type)
 
void vm_vec_add2(vec3d *dest, const vec3d *src)
 
void obj_add_collider(int obj_index)
 
GLdouble GLdouble GLdouble r
 
dock_instance * dock_list
 
int obj_get_SIF(object *objp)
 
void observer_process_post(object *objp)
 
float ship_max_hull_strength
 
void vm_vec_scale(vec3d *dest, float s)
 
GLboolean GLboolean GLboolean GLboolean a
 
int obj_create(ubyte type, int parent_obj, int instance, matrix *orient, vec3d *pos, float radius, uint flags)
 
int ship_subsys_disrupted(ship_subsys *ss)
 
void fireball_get_color(int idx, float *red, float *green, float *blue)
 
float get_hull_pct(object *objp)
 
bool object_get_gliding(object *objp)
 
void obj_remove_pairs(object *a)
 
void obj_move_all_post(object *objp, float frametime)
 
ubyte Obj_weapon_group_id_used[WEAPON_MAX_GROUP_IDS]
 
int Cmdline_old_collision_sys
 
int multi_oo_is_interp_object(object *objp)
 
int object_is_dead_docked(object *objp)
 
void dock_free_dead_dock_list(object *objp)
 
void asteroid_render_DEPRECATED(object *obj)
 
void ship_delete(object *obj)
 
int Highest_ever_object_index
 
void physics_init(physics_info *pi)
 
void obj_clear_weapon_group_id_list()
 
int secondary_bank_weapons[MAX_SHIP_SECONDARY_BANKS]
 
#define WEAPON_MAX_GROUP_IDS
 
int arc_timestamp[MAX_SHIP_ARCS]
 
void weapon_process_post(object *obj, float frame_time)
 
#define OF_COULD_BE_PLAYER
 
#define MONITOR(function_name)
 
float fireball_lifeleft_percent(object *obj)
 
void init_render(bool sort=true)
 
angles * vm_extract_angles_matrix(angles *a, const matrix *m)
 
#define DEFAULT_SHIELD_SECTIONS
 
void model_do_intrinsic_rotations(int model_instance_num=-1)
 
void SetHookObject(char *name, object *objp)
 
int secondary_bank_ammo[MAX_SHIP_SECONDARY_BANKS]
 
debris Debris[MAX_DEBRIS_PIECES]
 
vec3d * vm_vec_unrotate(vec3d *dest, const vec3d *src, const matrix *m)
 
void shockwave_render(object *objp, draw_list *scene)
 
object Objects[MAX_OBJECTS]
 
#define MONITOR_INC(function_name, inc)
 
int fireball_is_perishable(object *obj)
 
void asteroid_process_post(object *obj)
 
void obj_client_pre_interpolate()
 
void obj_get_average_ship_pos(vec3d *pos)
 
float get_sim_hull_pct(object *objp)
 
void ship_render_DEPRECATED(object *obj)
 
void _cdecl void void _cdecl Error(const char *filename, int line, SCP_FORMAT_STRING const char *format,...) SCP_FORMAT_STRING_ARGS(3
 
void fireball_render(object *obj, draw_list *scene)
 
void weapon_get_laser_color(color *c, object *objp)
 
#define OF_MISSILE_PROTECTED
 
int RunCondition(int condition, char format='\0', void *data=NULL, class object *objp=NULL, int more_data=0)
 
void SetHookObjects(int num,...)
 
GLboolean GLboolean GLboolean b
 
float get_shield_pct(object *objp)
 
void profile_end(const char *name)
 
void physics_sim(vec3d *position, matrix *orient, physics_info *pi, float sim_time)
 
void afterburners_start(object *objp)
 
checkobject CheckObjects[MAX_OBJECTS]
 
void asteroid_render(object *obj, draw_list *scene)
 
void obj_delete(int objnum)
 
#define DCF_BOOL(function_name, bool_variable)
 
int ship_launch_countermeasure(object *objp, int rand_val)
 
void obj_add_pair(object *A, object *B, int check_time, int add_to_end)
 
int secondary_next_slot[MAX_SHIP_SECONDARY_BANKS]
 
float frand()
Return random value in range 0.0..1.0- (1.0- means the closest number less than 1.0) 
 
void fireball_delete(object *obj)
 
void ship_render(object *obj, draw_list *scene)
 
void multi_oo_interp(object *objp)
 
float Physics_viewer_bank
 
void debris_render(object *obj, draw_list *scene)
 
physics_info * Viewer_physics_info
 
void RemHookVars(unsigned int num,...)
 
void render_all(int depth_mode=-1)
 
#define MULTIPLAYER_MASTER
 
int arc_timestamp[MAX_DEBRIS_ARCS]
 
An overhauled/updated debug console to allow monitoring, testing, and general debugging of new featur...
 
void asteroid_process_pre(object *objp)
 
SCP_vector< ship_info > Ship_info
 
#define OF_FLAK_PROTECTED
 
SCP_vector< float > shield_quadrant
 
int free_object_slots(int num_used)
 
float fireball_wormhole_intensity(object *obj)
 
#define OF_SHOULD_BE_DEAD
 
void fireball_render_DEPRECATED(object *obj)
 
void obj_delete_all_that_should_be_dead()
 
dock_instance * dead_dock_list
 
#define MISSION_FLAG_2D_MISSION
 
#define list_remove(head, elem)
 
GLsizei GLsizei GLuint * obj
 
void weapon_render_DEPRECATED(object *obj)
 
#define gr_reset_lighting
 
void debris_delete(object *obj)
 
void obj_check_all_collisions()
 
vec3d arc_pts[MAX_SHIP_ARCS][2]
 
bool is_minimum_GLSL_version()
 
void ship_update_artillery_lock()
 
void turret_swarm_check_validity()
 
int g3_draw_sphere_ez(const vec3d *pnt, float rad)
 
void ship_model_update_instance(object *objp)
 
obj_flag_name Object_flag_names[]
 
int obj_get_by_signature(int sig)
 
void obj_render_DEPRECATED(object *obj)
 
SCP_vector< int > objsnd_num
 
void observer_delete(object *obj)
 
void obj_queue_render(object *obj, draw_list *scene)
 
bool IsConditionOverride(int action, object *objp=NULL)
 
SCP_vector< asteroid_info > Asteroid_info
 
void obj_move_all(float frametime)
 
matrix vmd_identity_matrix
 
#define timestamp_valid(stamp)
 
void fireball_process_post(object *obj, float frame_time)
 
char ship_name[NAME_LENGTH]
 
void physics_ship_init(object *objp)
 
#define OF_DOCKED_ALREADY_HANDLED
 
void asteroid_delete(object *obj)
 
float secondary_point_reload_pct[MAX_SHIP_SECONDARY_BANKS][MAX_SLOTS]
 
#define OF_BEAM_PROTECTED