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