12 #ifndef __ASTEROID_H__ 
   13 #define __ASTEROID_H__ 
   24 #define MAX_ASTEROIDS                   512 
   26 #define NUM_DEBRIS_SIZES                3 
   27 #define NUM_DEBRIS_POFS                 3                               // Number of POFs per debris size 
   29 #define ASTEROID_TYPE_SMALL             0 
   30 #define ASTEROID_TYPE_MEDIUM    1 
   31 #define ASTEROID_TYPE_LARGE             2 
   34 #define MAX_ACTIVE_DEBRIS_TYPES         NUM_DEBRIS_SIZES 
   37 #define MAX_ASTEROID_DETAIL_LEVELS      5 
   78                 : num_detail_levels( 0 ), max_speed( 0 ), damage_type_idx( 0 ),
 
   79                   damage_type_idx_sav( -1 ), inner_rad( 0 ), outer_rad( 0 ),
 
   80                   damage( 0 ), blast( 0 ), initial_asteroid_strength( 0 ),
 
   81                   fireball_radius_multiplier( -1 )
 
   84                 memset( detail_distance, 0, 
sizeof( detail_distance ) );
 
   96 #define AF_USED                                 (1<<0)                  // Set means used. 
  161 void    asteroid_hit( 
object *pasteroid_objp, 
object *other_objp, 
vec3d *hitpos, 
float damage );
 
  174 #endif  // __ASTEROID_H__ 
polymodel * modelp[NUM_DEBRIS_POFS]
 
struct asteroid_field asteroid_field
 
void asteroid_show_brackets()
 
char pof_files[NUM_DEBRIS_POFS][MAX_FILENAME_LEN]
 
void asteroid_create_all()
 
float fireball_radius_multiplier
 
struct asteroid_obj asteroid_obj
 
struct asteroid_split_info asteroid_split_info
 
SCP_vector< asteroid_info > Asteroid_info
 
int num_initial_asteroids
 
#define MAX_ASTEROID_DETAIL_LEVELS
 
float initial_asteroid_strength
 
void asteroid_target_closest_danger()
 
void asteroid_delete(object *asteroid_objp)
 
asteroid_field Asteroid_field
 
char Asteroid_icon_closeup_model[NAME_LENGTH]
 
void asteroid_level_close()
 
GLuint const GLchar * name
 
int model_num[NUM_DEBRIS_POFS]
 
void asteroid_process_pre(object *asteroid_objp)
 
int detail_distance[MAX_ASTEROID_DETAIL_LEVELS]
 
float asteroid_time_to_impact(object *asteroid_objp)
 
int field_debris_type[MAX_ACTIVE_DEBRIS_TYPES]
 
SCP_vector< int > explosion_bitmap_anims
 
void asteroid_sub_create(object *parent_objp, int asteroid_type, vec3d *relvec)
 
asteroid Asteroids[MAX_ASTEROIDS]
 
vec3d Asteroid_icon_closeup_position
 
void asteroid_level_init()
 
void asteroid_hit(object *pasteroid_objp, object *other_objp, vec3d *hitpos, float damage)
 
asteroid_obj Asteroid_obj_list
 
GLsizei GLsizei GLuint * obj
 
debris_genre_t debris_genre
 
void asteroid_process_post(object *asteroid_objp)
 
int asteroid_check_collision(object *asteroid_objp, object *other_obj, vec3d *hitpos, collision_info_struct *asteroid_hit_info=NULL)
 
void asteroid_render_DEPRECATED(object *asteroid_objp)
 
int asteroid_collide_objnum(object *asteroid_objp)
 
#define MAX_ACTIVE_DEBRIS_TYPES
 
int asteroid_get_random_in_cone(vec3d *pos, vec3d *dir, float ang, int danger=0)
 
void asteroid_render(object *obj, draw_list *scene)
 
SCP_vector< asteroid_split_info > split_info
 
float Asteroid_icon_closeup_zoom