|
Classes |
| struct | ai_cloak_info |
| struct | awareness_event |
Defines |
| #define | JOHN_CHEATS_SIZE_1 6 |
| #define | JOHN_CHEATS_SIZE_2 6 |
| #define | JOHN_CHEATS_SIZE_3 6 |
| #define | PARALLAX 0 |
| #define | MIN_D 0x100 |
| #define | ANIM_RATE (F1_0/16) |
| #define | DELTA_ANG_SCALE 16 |
| #define | OVERALL_AGITATION_MAX 100 |
| #define | MAX_AI_CLOAK_INFO 8 |
| #define | BOSS_CLOAK_DURATION (F1_0*7) |
| #define | BOSS_DEATH_DURATION (F1_0*6) |
| #define | BOSS_DEATH_SOUND_DURATION 0x2ae14 |
| #define | MAX_GATE_INDEX ( sizeof(Super_boss_gate_list) / sizeof(Super_boss_gate_list[0]) ) |
| #define | MAX_AWARENESS_EVENTS 64 |
| #define | AIS_MAX 8 |
| #define | AIE_MAX 4 |
| #define | AI_TURN_SCALE 1 |
| #define | BABY_SPIDER_ID 14 |
| #define | CHASE_TIME_LENGTH (F1_0*8) |
| #define | DEFAULT_ROBOT_SOUND_VOLUME F1_0 |
| #define | QUEUE_SIZE 256 |
| #define | ai_multiplayer_awareness(a, b) 1 |
| #define | BOSS_TO_PLAYER_GATE_DISTANCE (F1_0*150) |
Functions |
| void | init_boss_segments (short segptr[], int *num_segs, int size_check) |
| void | ai_multi_send_robot_position (int objnum, int force) |
| void | init_ai_system (void) |
| void | john_cheat_func_1 (int key) |
| int | ai_behavior_to_mode (int behavior) |
| void | ai_init_boss_for_ship (void) |
| void | init_ai_object (int objnum, int behavior, int hide_segment) |
| void | john_cheat_func_2 (int key) |
| void | init_ai_objects (void) |
| void | do_lunacy_on (void) |
| void | do_lunacy_off (void) |
| void | john_cheat_func_3 (int key) |
| void | set_rotvel_and_saturate (fix *dest, fix delta) |
| void | physics_turn_towards_vector (vms_vector *goal_vector, object *obj, fix rate) |
| void | ai_turn_towards_vector (vms_vector *goal_vector, object *objp, fix rate) |
| void | ai_turn_randomly (vms_vector *vec_to_player, object *obj, fix rate, int previous_visibility) |
| void | john_cheat_func_4 (int key) |
| int | player_is_visible_from_object (object *objp, vms_vector *pos, fix field_of_view, vms_vector *vec_to_player) |
| int | do_silly_animation (object *objp) |
| void | ai_frame_animation (object *objp) |
| void | set_next_fire_time (ai_local *ailp, robot_info *robptr) |
| void | do_ai_robot_hit_attack (object *robot, object *player, vms_vector *collision_point) |
| void | ai_fire_laser_at_player (object *obj, vms_vector *fire_point) |
| void | move_towards_vector (object *objp, vms_vector *vec_goal) |
| void | move_towards_player (object *objp, vms_vector *vec_to_player) |
| void | move_around_player (object *objp, vms_vector *vec_to_player, int fast_flag) |
| void | move_away_from_player (object *objp, vms_vector *vec_to_player, int attack_type) |
| void | ai_move_relative_to_player (object *objp, ai_local *ailp, fix dist_to_player, vms_vector *vec_to_player, fix circle_distance, int evade_only) |
| void | make_random_vector (vms_vector *vec) |
| void | mprintf_animation_info (object *objp) |
| void | do_firing_stuff (object *obj, int player_visibility, vms_vector *vec_to_player) |
| void | do_ai_robot_hit (object *objp, int type) |
| void | compute_vis_and_vec (object *objp, vms_vector *pos, ai_local *ailp, vms_vector *vec_to_player, int *player_visibility, robot_info *robptr, int *flag) |
| void | move_object_to_legal_spot (object *objp) |
| void | move_towards_segment_center (object *objp) |
| int | ai_door_is_openable (object *objp, segment *segp, int sidenum) |
| int | openable_doors_in_segment (object *objp) |
| int | special_object_in_seg (int segnum) |
| int | get_random_child (int segnum) |
| int | check_object_object_intersection (vms_vector *pos, fix size, segment *segp) |
| int | create_gated_robot (int segnum, int object_id) |
| int | gate_in_robot (int type, int segnum) |
| int | boss_fits_in_seg (object *boss_objp, int segnum) |
| void | teleport_boss (object *objp) |
| void | start_boss_death_sequence (object *objp) |
| void | do_boss_dying_frame (object *objp) |
| void | do_boss_stuff (object *objp) |
| void | do_super_boss_stuff (object *objp, fix dist_to_player, int player_visibility) |
| int | maybe_ai_do_actual_firing_stuff (object *obj, ai_static *aip) |
| void | ai_do_actual_firing_stuff (object *obj, ai_static *aip, ai_local *ailp, robot_info *robptr, vms_vector *vec_to_player, fix dist_to_player, vms_vector *gun_point, int player_visibility, int object_animates) |
| void | do_ai_frame (object *obj) |
| void | ai_do_cloak_stuff (void) |
| int | add_awareness_event (object *objp, int type) |
| void | create_awareness_event (object *objp, int type) |
| void | pae_aux (int segnum, int type, int level) |
| void | process_awareness_events (void) |
| void | set_player_awareness_all (void) |
| void | dump_ai_objects_all () |
| void | force_dump_ai_objects_all (char *msg) |
| void | turn_off_ai_dump (void) |
| void | do_ai_frame_all (void) |
| void | init_robots_for_level (void) |
| int | ai_save_state (FILE *fp) |
| int | ai_restore_state (FILE *fp) |
Variables |
| ubyte | john_cheats_1 [JOHN_CHEATS_SIZE_1] |
| int | Flinch_scale = 4 |
| int | john_cheats_index_1 |
| int | Attack_scale = 24 |
| byte | Mike_to_matt_xlate [] = {AS_REST, AS_REST, AS_ALERT, AS_ALERT, AS_FLINCH, AS_FIRE, AS_RECOIL, AS_REST} |
| int | john_cheats_index_2 |
| int | Num_boss_teleport_segs |
| short | Boss_teleport_segs [MAX_BOSS_TELEPORT_SEGS] |
| int | Num_boss_gate_segs |
| short | Boss_gate_segs [MAX_BOSS_TELEPORT_SEGS] |
| int | john_cheats_index_3 |
| int | Ai_initialized = 0 |
| int | Overall_agitation |
| ai_local | Ai_local_info [MAX_OBJECTS] |
| point_seg | Point_segs [MAX_POINT_SEGS] |
| point_seg * | Point_segs_free_ptr = Point_segs |
| ai_cloak_info | Ai_cloak_info [MAX_AI_CLOAK_INFO] |
| fix | Boss_cloak_start_time = 0 |
| fix | Boss_cloak_end_time = 0 |
| fix | Last_teleport_time = 0 |
| fix | Boss_teleport_interval = F1_0*8 |
| fix | Boss_cloak_interval = F1_0*10 |
| fix | Boss_cloak_duration = BOSS_CLOAK_DURATION |
| fix | Last_gate_time = 0 |
| fix | Gate_interval = F1_0*6 |
| fix | Boss_dying_start_time |
| int | Boss_dying |
| int | Boss_dying_sound_playing |
| int | Boss_hit_this_frame |
| int | Boss_been_hit = 0 |
| int | john_cheats_index_4 |
| int | ai_evaded = 0 |
| byte | Super_boss_gate_list [] = {0, 1, 8, 9, 10, 11, 12, 15, 16, 18, 19, 20, 22, 0, 8, 11, 19, 20, 8, 20, 8} |
| int | Ai_info_enabled = 0 |
| int | Robot_firing_enabled = 1 |
| int | Ugly_robot_cheat |
| int | Ugly_robot_texture |
| int | Laser_rapid_fire |
| byte | Enable_john_cheat_1 |
| byte | Enable_john_cheat_2 |
| byte | Enable_john_cheat_3 |
| byte | Enable_john_cheat_4 |
| ubyte | john_cheats_3 [2 *JOHN_CHEATS_SIZE_3+1] |
| vms_vector | Hit_pos |
| int | Hit_type |
| int | Hit_seg |
| fvi_info | Hit_data |
| int | Num_awareness_events = 0 |
| awareness_event | Awareness_events [MAX_AWARENESS_EVENTS] |
| vms_vector | Believed_player_pos |
| char | mode_text [8][9] |
| char | behavior_text [6][9] |
| char | state_text [8][5] |
| int | Ai_animation_test = 0 |
| byte | Ai_transition_table [AI_MAX_EVENT][AI_MAX_STATE][AI_MAX_STATE] |
| ubyte | john_cheats_2 [2 *JOHN_CHEATS_SIZE_2] |
| int | Lunacy = 0 |
| int | Diff_save = 1 |
| fix | Firing_wait_copy [MAX_ROBOT_TYPES] |
| byte | Rapidfire_count_copy [MAX_ROBOT_TYPES] |
| int | Player_exploded |
| int | Break_on_object = -1 |
| int | Do_ai_flag = 1 |
| int | Cvv_test = 0 |
| int | Cvv_last_time [MAX_OBJECTS] |
| int | Gun_point_hack = 0 |
| int | Robot_sound_volume = DEFAULT_ROBOT_SOUND_VOLUME |
| fix | Prev_boss_shields = -1 |
| byte | New_awareness [MAX_SEGMENTS] |
| int | Ai_dump_enable = 0 |
| FILE * | Ai_dump_file = NULL |
| char | Ai_error_message [128] = "" |