FS2_Open
Open source remastering of the Freespace 2 engine
ai_profiles.h File Reference

Go to the source code of this file.

Classes

struct  ai_profile_t
 

Macros

#define AIP_FLAG   1
 
#define AIP_FLAG2   2
 
#define AIPF_SMART_SHIELD_MANAGEMENT   (1 << 0)
 
#define AIPF_BIG_SHIPS_CAN_ATTACK_BEAM_TURRETS_ON_UNTARGETED_SHIPS   (1 << 1)
 
#define AIPF_SMART_PRIMARY_WEAPON_SELECTION   (1 << 2)
 
#define AIPF_SMART_SECONDARY_WEAPON_SELECTION   (1 << 3)
 
#define AIPF_ALLOW_RAPID_SECONDARY_DUMBFIRE   (1 << 4)
 
#define AIPF_HUGE_TURRET_WEAPONS_IGNORE_BOMBS   (1 << 5)
 
#define AIPF_DONT_INSERT_RANDOM_TURRET_FIRE_DELAY   (1 << 6)
 
#define AIPF_HACK_IMPROVE_NON_HOMING_SWARM_TURRET_FIRE_ACCURACY   (1 << 7)
 
#define AIPF_SHOCKWAVES_DAMAGE_SMALL_SHIP_SUBSYSTEMS   (1 << 8)
 
#define AIPF_NAVIGATION_SUBSYS_GOVERNS_WARP   (1 << 9)
 
#define AIPF_NO_MIN_DOCK_SPEED_CAP   (1 << 10)
 
#define AIPF_DISABLE_LINKED_FIRE_PENALTY   (1 << 11)
 
#define AIPF_DISABLE_WEAPON_DAMAGE_SCALING   (1 << 12)
 
#define AIPF_USE_ADDITIVE_WEAPON_VELOCITY   (1 << 13)
 
#define AIPF_USE_NEWTONIAN_DAMPENING   (1 << 14)
 
#define AIPF_INCLUDE_BEAMS_IN_STAT_CALCS   (1 << 15)
 
#define AIPF_KILL_SCORING_SCALES_WITH_DAMAGE   (1 << 16)
 
#define AIPF_ASSIST_SCORING_SCALES_WITH_DAMAGE   (1 << 17)
 
#define AIPF_ALLOW_MULTI_EVENT_SCORING   (1 << 18)
 
#define AIPF_SMART_AFTERBURNER_MANAGEMENT   (1 << 19)
 
#define AIPF_FIX_LINKED_PRIMARY_BUG   (1 << 20)
 
#define AIPF_PREVENT_TARGETING_BOMBS_BEYOND_RANGE   (1 << 21)
 
#define AIPF_SMART_SUBSYSTEM_TARGETING_FOR_TURRETS   (1 << 22)
 
#define AIPF_FIX_HEAT_SEEKER_STEALTH_BUG   (1 << 23)
 
#define AIPF_MULTI_ALLOW_EMPTY_PRIMARIES   (1 << 24)
 
#define AIPF_MULTI_ALLOW_EMPTY_SECONDARIES   (1 << 25)
 
#define AIPF_ALLOW_TURRETS_TARGET_WEAPONS_FREELY   (1 << 26)
 
#define AIPF_USE_ONLY_SINGLE_FOV_FOR_TURRETS   (1 << 27)
 
#define AIPF_ALLOW_VERTICAL_DODGE   (1 << 28)
 
#define AIPF_FORCE_BEAM_TURRET_FOV   (1 << 29)
 
#define AIPF_FIX_AI_CLASS_BUG   (1 << 30)
 
#define AIPF2_TURRETS_IGNORE_TARGET_RADIUS   (1 << 0)
 
#define AIPF2_NO_SPECIAL_PLAYER_AVOID   (1 << 1)
 
#define AIPF2_PERFORM_FEWER_SCREAM_CHECKS   (1 << 2)
 
#define AIPF2_ALL_SHIPS_MANAGE_SHIELDS   (1 << 3)
 
#define AIPF2_ADVANCED_TURRET_FOV_EDGE_CHECKS   (1 << 4)
 
#define AIPF2_REQUIRE_TURRET_TO_HAVE_TARGET_IN_FOV   (1 << 5)
 
#define AIPF2_AI_AIMS_FROM_SHIP_CENTER   (1 << 6)
 
#define AIPF2_ALLOW_PRIMARY_LINK_AT_START   (1 << 7)
 
#define AIPF2_BEAMS_DAMAGE_WEAPONS   (1 << 8)
 
#define AIPF2_PLAYER_WEAPON_SCALE_FIX   (1 << 9)
 
#define AIPF2_NO_WARP_CAMERA   (1 << 10)
 
#define AIPF2_ASPECT_LOCK_COUNTERMEASURE   (1 << 11)
 
#define AIPF2_AI_GUARDS_SPECIFIC_SHIP_IN_WING   (1 << 12)
 
#define AIPF2_FIX_AI_PATH_ORDER_BUG   (1 << 13)
 
#define AIPF2_STRICT_TURRET_TAGGED_ONLY_TARGETING   (1 << 14)
 
#define AIPF2_ASPECT_INVULNERABILITY_FIX   (1 << 15)
 
#define AIPF2_GLIDE_DECAY_REQUIRES_THRUST   (1 << 16)
 
#define AI_PATH_MODE_NORMAL   0
 
#define AI_PATH_MODE_ALT1   1
 
#define MAX_AI_PROFILES   5
 

Typedefs

typedef struct ai_profile_t ai_profile_t
 

Functions

void ai_profiles_init ()
 
int ai_profile_lookup (char *name)
 

Variables

int Num_ai_profiles
 
int Default_ai_profile
 
ai_profile_t Ai_profiles [MAX_AI_PROFILES]
 

Macro Definition Documentation

#define AI_PATH_MODE_ALT1   1

Definition at line 74 of file ai_profiles.h.

#define AI_PATH_MODE_NORMAL   0

Definition at line 73 of file ai_profiles.h.

#define AIP_FLAG   1

Definition at line 17 of file ai_profiles.h.

#define AIP_FLAG2   2

Definition at line 18 of file ai_profiles.h.

#define AIPF2_ADVANCED_TURRET_FOV_EDGE_CHECKS   (1 << 4)

Definition at line 58 of file ai_profiles.h.

#define AIPF2_AI_AIMS_FROM_SHIP_CENTER   (1 << 6)

Definition at line 60 of file ai_profiles.h.

#define AIPF2_AI_GUARDS_SPECIFIC_SHIP_IN_WING   (1 << 12)

Definition at line 66 of file ai_profiles.h.

#define AIPF2_ALL_SHIPS_MANAGE_SHIELDS   (1 << 3)

Definition at line 57 of file ai_profiles.h.

#define AIPF2_ALLOW_PRIMARY_LINK_AT_START   (1 << 7)

Definition at line 61 of file ai_profiles.h.

#define AIPF2_ASPECT_INVULNERABILITY_FIX   (1 << 15)

Definition at line 69 of file ai_profiles.h.

#define AIPF2_ASPECT_LOCK_COUNTERMEASURE   (1 << 11)

Definition at line 65 of file ai_profiles.h.

#define AIPF2_BEAMS_DAMAGE_WEAPONS   (1 << 8)

Definition at line 62 of file ai_profiles.h.

#define AIPF2_FIX_AI_PATH_ORDER_BUG   (1 << 13)

Definition at line 67 of file ai_profiles.h.

#define AIPF2_GLIDE_DECAY_REQUIRES_THRUST   (1 << 16)

Definition at line 70 of file ai_profiles.h.

#define AIPF2_NO_SPECIAL_PLAYER_AVOID   (1 << 1)

Definition at line 55 of file ai_profiles.h.

#define AIPF2_NO_WARP_CAMERA   (1 << 10)

Definition at line 64 of file ai_profiles.h.

#define AIPF2_PERFORM_FEWER_SCREAM_CHECKS   (1 << 2)

Definition at line 56 of file ai_profiles.h.

#define AIPF2_PLAYER_WEAPON_SCALE_FIX   (1 << 9)

Definition at line 63 of file ai_profiles.h.

#define AIPF2_REQUIRE_TURRET_TO_HAVE_TARGET_IN_FOV   (1 << 5)

Definition at line 59 of file ai_profiles.h.

#define AIPF2_STRICT_TURRET_TAGGED_ONLY_TARGETING   (1 << 14)

Definition at line 68 of file ai_profiles.h.

#define AIPF2_TURRETS_IGNORE_TARGET_RADIUS   (1 << 0)

Definition at line 54 of file ai_profiles.h.

#define AIPF_ALLOW_MULTI_EVENT_SCORING   (1 << 18)

Definition at line 39 of file ai_profiles.h.

#define AIPF_ALLOW_RAPID_SECONDARY_DUMBFIRE   (1 << 4)

Definition at line 25 of file ai_profiles.h.

#define AIPF_ALLOW_TURRETS_TARGET_WEAPONS_FREELY   (1 << 26)

Definition at line 47 of file ai_profiles.h.

#define AIPF_ALLOW_VERTICAL_DODGE   (1 << 28)

Definition at line 49 of file ai_profiles.h.

#define AIPF_ASSIST_SCORING_SCALES_WITH_DAMAGE   (1 << 17)

Definition at line 38 of file ai_profiles.h.

#define AIPF_BIG_SHIPS_CAN_ATTACK_BEAM_TURRETS_ON_UNTARGETED_SHIPS   (1 << 1)

Definition at line 22 of file ai_profiles.h.

#define AIPF_DISABLE_LINKED_FIRE_PENALTY   (1 << 11)

Definition at line 32 of file ai_profiles.h.

#define AIPF_DISABLE_WEAPON_DAMAGE_SCALING   (1 << 12)

Definition at line 33 of file ai_profiles.h.

#define AIPF_DONT_INSERT_RANDOM_TURRET_FIRE_DELAY   (1 << 6)

Definition at line 27 of file ai_profiles.h.

#define AIPF_FIX_AI_CLASS_BUG   (1 << 30)

Definition at line 51 of file ai_profiles.h.

#define AIPF_FIX_HEAT_SEEKER_STEALTH_BUG   (1 << 23)

Definition at line 44 of file ai_profiles.h.

#define AIPF_FIX_LINKED_PRIMARY_BUG   (1 << 20)

Definition at line 41 of file ai_profiles.h.

#define AIPF_FORCE_BEAM_TURRET_FOV   (1 << 29)

Definition at line 50 of file ai_profiles.h.

#define AIPF_HACK_IMPROVE_NON_HOMING_SWARM_TURRET_FIRE_ACCURACY   (1 << 7)

Definition at line 28 of file ai_profiles.h.

#define AIPF_HUGE_TURRET_WEAPONS_IGNORE_BOMBS   (1 << 5)

Definition at line 26 of file ai_profiles.h.

#define AIPF_INCLUDE_BEAMS_IN_STAT_CALCS   (1 << 15)

Definition at line 36 of file ai_profiles.h.

#define AIPF_KILL_SCORING_SCALES_WITH_DAMAGE   (1 << 16)

Definition at line 37 of file ai_profiles.h.

#define AIPF_MULTI_ALLOW_EMPTY_PRIMARIES   (1 << 24)

Definition at line 45 of file ai_profiles.h.

#define AIPF_MULTI_ALLOW_EMPTY_SECONDARIES   (1 << 25)

Definition at line 46 of file ai_profiles.h.

#define AIPF_NAVIGATION_SUBSYS_GOVERNS_WARP   (1 << 9)

Definition at line 30 of file ai_profiles.h.

#define AIPF_NO_MIN_DOCK_SPEED_CAP   (1 << 10)

Definition at line 31 of file ai_profiles.h.

#define AIPF_PREVENT_TARGETING_BOMBS_BEYOND_RANGE   (1 << 21)

Definition at line 42 of file ai_profiles.h.

#define AIPF_SHOCKWAVES_DAMAGE_SMALL_SHIP_SUBSYSTEMS   (1 << 8)

Definition at line 29 of file ai_profiles.h.

#define AIPF_SMART_AFTERBURNER_MANAGEMENT   (1 << 19)

Definition at line 40 of file ai_profiles.h.

#define AIPF_SMART_PRIMARY_WEAPON_SELECTION   (1 << 2)

Definition at line 23 of file ai_profiles.h.

#define AIPF_SMART_SECONDARY_WEAPON_SELECTION   (1 << 3)

Definition at line 24 of file ai_profiles.h.

#define AIPF_SMART_SHIELD_MANAGEMENT   (1 << 0)

Definition at line 21 of file ai_profiles.h.

#define AIPF_SMART_SUBSYSTEM_TARGETING_FOR_TURRETS   (1 << 22)

Definition at line 43 of file ai_profiles.h.

#define AIPF_USE_ADDITIVE_WEAPON_VELOCITY   (1 << 13)

Definition at line 34 of file ai_profiles.h.

#define AIPF_USE_NEWTONIAN_DAMPENING   (1 << 14)

Definition at line 35 of file ai_profiles.h.

#define AIPF_USE_ONLY_SINGLE_FOV_FOR_TURRETS   (1 << 27)

Definition at line 48 of file ai_profiles.h.

#define MAX_AI_PROFILES   5

Definition at line 76 of file ai_profiles.h.

Typedef Documentation

typedef struct ai_profile_t ai_profile_t

Function Documentation

int ai_profile_lookup ( char *  name)

Definition at line 562 of file ai_profiles.cpp.

void ai_profiles_init ( )

Definition at line 533 of file ai_profiles.cpp.

Variable Documentation

Definition at line 22 of file ai_profiles.cpp.

int Default_ai_profile

Definition at line 21 of file ai_profiles.cpp.

int Num_ai_profiles

Definition at line 20 of file ai_profiles.cpp.