26 #define MATCH_SPEED_THRESHOLD                           0.1f            // minimum speed target must be moving for match speed to apply 
   27 #define CARGO_RADIUS_DELTA                                      100             // distance added to radius required for cargo scanning 
   28 #define CAPITAL_CARGO_RADIUS_DELTA              250             // distance added to radius required for cargo scanning 
   29 #define CARGO_REVEAL_MIN_DIST                           150             // minimum distance for reveal cargo (used if radius+CARGO_RADIUS_DELTA < CARGO_REVEAL_MIN_DIST) 
   30 #define CAP_CARGO_REVEAL_MIN_DIST               300             // minimum distance for reveal cargo (used if radius+CARGO_RADIUS_DELTA < CARGO_REVEAL_MIN_DIST) 
   31 #define CARGO_MIN_DOT_TO_REVEAL                 0.95            // min dot to proceed to have cargo scanning take place 
   35 #define MAX_HOTKEY_TARGET_ITEMS         150             // maximum number of ships that can be targeted on *all* keys 
   36 #define SELECTION_SET                                   0x5000  // variable used for drawing brackets.  The bracketing code uses 
   39 #define MESSAGE_SENDER                                  0x5001  // variable used for drawing brackets around a message sender. 
   43 #define HOTKEY_USER_ADDED                               1 
   44 #define HOTKEY_MISSION_FILE_ADDED       2 
   47 #define NUM_HUD_SETTINGS        2 
   56 #define         TOGGLE_TEXT_NEBULA_ALPHA        127 
   57 #define         TOGGLE_TEXT_NORMAL_ALPHA        160 
   90 int     hud_target_closest(
int team_mask = -1, 
int attacked_objnum = -1, 
int play_fail_sound = 
TRUE, 
int filter = 0, 
int turret_attacking_target = 0);
 
   99 void    hud_target_next_list(
int hostile=1, 
int next_flag=1, 
int team_mask = -1, 
int attacked_objnum = -1, 
int play_fail_sound = 
TRUE, 
int filter = 0, 
int turret_attacking_target = 0);
 
  147 void hud_tri(
float x1,
float y1,
float x2,
float y2,
float x3,
float y3);
 
  149 void hud_tri_empty(
float x1,
float y1,
float x2,
float y2,
float x3,
float y3);
 
  160 #define TARGET_DISPLAY_DIST             (1<<0) 
  161 #define TARGET_DISPLAY_DOTS             (1<<1) 
  162 #define TARGET_DISPLAY_LEAD             (1<<2) 
  163 #define TARGET_DISPLAY_SUBSYS   (1<<3) 
  164 #define TARGET_DISPLAY_NAME             (1<<4) 
  165 #define TARGET_DISPLAY_CLASS    (1<<5) 
  201         void render(
float frametime);
 
  224         void render(
float frametime);
 
  240         void render(
float frametime);
 
  254         void render(
float frametime);
 
  285         void render(
float frametime);
 
  345         void render(
float frametime);
 
  373         void initBitmaps(
char *fname_first, 
char *fname_entry, 
char *fname_last);
 
  386         virtual void render(
float frametime);
 
  403         void render(
float frametime);
 
  422         void render(
float frametime);
 
  431         bool draw_secondary_models;
 
  432         bool draw_primary_models;
 
  442         void render(
float frametime);
 
  449         int Warhead_name_offsets[2];
 
  450         int Warhead_count_offsets[2];
 
  451         int Warhead_count_size[2];
 
  465         void render(
float frametime);
 
  476         void render(
float frametime);
 
  493         virtual void render(
float frametime);
 
  494         void renderTriangle(
vec3d *hostile_pos, 
int aspect_flag, 
int show_interior, 
int split_tri);
 
  503         void render(
float frametime);
 
  511         void render(
float frametime);
 
  519         void render(
float frametime);
 
  535         void render(
float frametime);
 
  550         void render(
float frametime);
 
  554         int pickFrame(
float prange, 
float srange, 
float dist_to_target);
 
  566         void render(
float frametime);
 
void hud_show_targeting_gauges(float frametime)
void initPrimaryNameOffsetX(int x)
void initMaxTriSeperation(float length)
void initSecondaryHeights(int top_h, int text_h)
void initCountTextOffsets(int x, int y)
void initBgFirstOffsetX(int x)
int Weapon_sunlinked_offset_x
void hud_tri_empty(float x1, float y1, float x2, float y2, float x3, float y3)
hud_frames _background_last
GLfloat GLfloat GLfloat GLfloat h
void initAlwaysShowText(bool show_text)
void initBitmaps(char *fname)
void hud_target_last_transmit()
void hud_init_targeting()
void hud_target_targets_target()
void initOnColor(int r, int g, int b, int a)
int subsystem_in_sight(object *objp, ship_subsys *subsys, vec3d *eye, vec3d *subsystem)
void initPrimaryWeaponOffsets(int link_x, int name_x, int ammo_x)
void hud_tri(float x1, float y1, float x2, float y2, float x3, float y3)
void render(float frametime)
void initPrimaryAmmoOffsetX(int x)
void hud_show_selection_set()
int hud_communications_state(ship *sp)
void initStartNameOffsetsY(int p_y, int s_y)
struct esct esct
An abbreviation for "Evaluate Ship as Closest Target", defines a data structure used to hold the requ...
void hud_target_hotkey_select(int k)
void initSecondaryWeaponOffsets(int ammo_x, int name_x, int reload_x, int linked_x, int unlinked_x)
HudGaugeSecondaryWeapons()
void initRadius(int length)
void hud_target_closest_locked_missile(object *A)
void hud_init_targeting_colors()
void render(float frametime)
void hud_target_clear_display_list()
int hud_get_best_primary_bank(float *range)
int Speed_text_offsets[2]
void hud_target_in_reticle_new()
void initEntryStartY(int y)
void initBitmap(char *fname)
void initSecondaryAmmoOffsetX(int x)
void maybeFlashWeapon(int index)
void initSecondaryReloadOffsetX(int x)
void hud_target_newest_ship()
int hud_target_closest_repair_ship(int goal_objnum=-1)
void hud_target_prev(int team_mask=-1)
void calculatePosition(vertex *target_point, vec3d *tpos, vec2d *outcoords, int *dir, float *half_triangle_sep)
int Weapon_header_offsets[NUM_HUD_SETTINGS][2]
int Weapon_sreload_offset_x
void hud_calculate_lead_pos(vec3d *lead_target_pos, vec3d *target_pos, object *targetp, weapon_info *wip, float dist_to_target, vec3d *rel_pos=NULL)
void hud_target_auto_target_next()
hud_frames secondary_top[NUM_HUD_SETTINGS]
void initCountSizes(int w, int h)
void initOffColor(int r, int g, int b, int a)
void initTextOffsets(int x, int y)
void hud_process_remote_detonate_missile()
void initTriBase(float length)
void initDrawOptions(bool primary_models, bool secondary_models)
hud_frames secondary_middle[NUM_HUD_SETTINGS]
float Offscreen_tri_height
void initAutoTextOffsets(int x, int y)
void render(float frametime)
void initBitmapsPrimaryTop(char *fname, char *fname_ballistic)
float hud_find_target_distance(object *targetee, object *targeter)
int Wenergy_text_offsets[2]
void initTriHeight(float length)
int Weapon_pammo_offset_x
void hud_show_hostile_triangle()
float Target_triangle_height
hud_frames primary_middle[NUM_HUD_SETTINGS]
void initEnergyHeight(int h)
void initBgLastOffsetX(int x)
void render(float frametime)
void initEnergyHeight(int h)
GLdouble GLdouble GLdouble r
htarget_list htarget_free_list
void hud_target_last_transmit_level_init()
An abbreviation for "Evaluate Ship as Closest Target", defines a data structure used to hold the requ...
void initOnColor(int r, int g, int b, int a)
void initBitmaps(char *fname)
int hud_target_closest(int team_mask=-1, int attacked_objnum=-1, int play_fail_sound=TRUE, int filter=0, int turret_attacking_target=0)
Sets the Players[Player_num].current_target to the closest ship to the player that matches the team p...
shader Training_msg_glass
GLboolean GLboolean GLboolean GLboolean a
void render(float frametime)
int Weapon_slinked_offset_x
int Weapon_plink_offset_x
int Target_text_offsets[2]
void polish_predicted_target_pos(weapon_info *wip, object *targetp, vec3d *enemy_pos, vec3d *predicted_enemy_pos, float dist_to_enemy, vec3d *last_delta_vec, int num_polish_steps)
void initBitmapsPrimaryLast(char *fname, char *fname_ballistic)
void initBitmaps(char *fname)
int hud_target_invalid_awacs(object *objp)
void initAutoTextOffsets(int x, int y)
void hud_target_subsystem_in_reticle()
void hud_target_hotkey_clear(int k)
void hud_target_last_transmit_add(int ship_num)
void initHalfSize(float w, float h)
void initBitmaps(char *fname)
void initMoveText(bool move_text)
void initBitmaps(char *fname)
void initTopOffsetX(int x, int x_b)
void initSecondaryNameOffsetX(int x)
virtual void render(float frametime)
void maybeFlashWeapon(int index)
void hud_check_reticle_list()
void initPrimaryLinkOffsetX(int x)
void render(float frametime)
void hud_target_next_list(int hostile=1, int next_flag=1, int team_mask=-1, int attacked_objnum=-1, int play_fail_sound=TRUE, int filter=0, int turret_attacking_target=0)
void hud_start_flash_weapon(int index)
float Target_triangle_base
void hud_stuff_ship_name(char *ship_name_text, ship *shipp)
void initBgEntryOffsetX(int x)
void render(float frametime)
void renderLeadQuick(vec3d *target_pos, object *targetp)
void initMaxSymbols(int count)
int Cm_text_val_offsets[2]
GLint GLint GLint GLint GLint x
int top_offset_x[NUM_HUD_SETTINGS]
void initPrimaryHeights(int top_h, int text_h)
void initHeaderText(char *text)
HudGaugeWeaponList(int gauge_object)
hud_frames primary_top[NUM_HUD_SETTINGS]
void renderTriangle(vec3d *hostile_pos, int aspect_flag, int show_interior, int split_tri)
void render(float frametime)
hud_frames Lead_indicator_gauge
void renderTriangleMissileTail(float ang, float xpos, float ypos, float cur_dist, int draw_solid, int draw_inside)
void initBitmapsSecondaryBottom(char *fname, char *fname_ballistic)
void initShowBallistics(bool show_ballistics)
GLuint const GLchar * name
void renderSight(int indicator_frame, vec3d *target_pos, vec3d *lead_target_pos)
int Weapon_pname_offset_x
GLboolean GLboolean GLboolean b
void initRadius(int length)
struct target_display_info target_display_info
void initSpeedTextOffsets(int x, int y)
hud_frames secondary_bottom[NUM_HUD_SETTINGS]
void initBgFirstHeight(int h)
void hud_stuff_ship_callsign(char *ship_callsign_text, ship *shipp)
void renderLeadCurrentTarget()
hud_frames _background_entry
GLubyte GLubyte GLubyte GLubyte w
void initTextAlign(int align)
struct htarget_list * next
struct htarget_list * prev
char header_text[NAME_LENGTH]
void renderOrientation(object *from_objp, object *to_objp, matrix *from_orientp)
void initBitmapsSecondaryMiddle(char *fname, char *fname_ballistic)
void initAlignments(int text_align, int armed_align)
void initBitmaps(char *fname)
void initCountValueOffsets(int x, int y)
HudGaugeReticleTriangle()
void hud_target_in_reticle_old()
void initArmedOffsets(int x, int y, int h, bool show)
void hud_show_message_sender()
void initBgEntryHeight(int h)
void initSizes(int w, int h)
void initSecondaryLinkedOffsetX(int x)
void initFrameOffsetX(int x, int x_b)
void render(float frametime)
void hud_target_prev_subobject()
void initBgLastOffsetY(int x)
void hud_target_uninspected_object(int next_flag)
void initViewDir(int dir)
void initBitmapsSecondaryTop(char *fname, char *fname_ballistic)
void render(float frametime)
void initTriBase(float length)
void renderIndicator(int frame_offset, object *targetp, vec3d *lead_target_pos)
virtual void render(float frametime)
void initTargetTextOffsets(int x, int y)
void render(float frametime)
void render(float frametime)
HudGaugeHostileTriangle()
void hud_update_weapon_flash()
hud_frames Cmeasure_gauge
void initEntryHeight(int h)
GLenum GLuint GLenum GLsizei length
void render(float frametime)
int turret_attacking_target
void hud_stuff_ship_class(char *ship_class_text, ship *shipp)
void hud_target_missile(object *source_obj, int next_flag)
SCP_vector< target_display_info > target_display_list
bool evaluate_ship_as_closest_target(esct *esct)
evaluate a ship (and maybe turrets) as a potential target 
int frame_offset_x[NUM_HUD_SETTINGS]
void hud_target_next(int team_mask=-1)
char * Strafe_submode_text[]
void hud_target_hotkey_add_remove(int k, object *objp, int how_to_add)
void initBitmapsPrimaryMiddle(char *fname, char *fname_ballistic)
int Weapon_sammo_offset_x
void hud_process_homing_missiles(void)
void hud_target_toggle_hidden_from_sensors()
void initBitmaps(char *fname_first, char *fname_entry, char *fname_last)
void hud_target_change_check()
void render(float frametime)
int Weapon_sname_offset_x
void hud_target_live_turret(int next_flag, int auto_advance=0, int turret_attacking_target=0)
void initMaxFrontSeperation(float length)
void initBitmaps(char *fname)
void initCountOffsets(int x, int y)
float Max_front_seperation
void hud_restore_subsystem_target(ship *shipp)
void initTriHeight(float h)
void hud_target_random_ship()
void initHeaderOffsets(int x, int y, int x_b, int y_b)
int pickFrame(float prange, float srange, float dist_to_target)
void renderOffscreenIndicator(vec2d *coords, int dir, float distance, float half_triangle_sep, bool draw_solid=true)
struct htarget_list htarget_list
void render(float frametime)
void hud_cease_targeting()
void hud_target_add_display_list(object *objp, vertex *target_point, vec3d *target_pos, int correction, color *bracket_clr, char *name, int flags)
void hud_target_next_subobject()
void hud_keyed_targets_clear()
hud_frames primary_last[NUM_HUD_SETTINGS]
int hud_sensors_ok(ship *sp, int show_msg=1)
Check if targeting is possible based on sensors strength. 
void render(float frametime)
void initSecondaryUnlinkedOffsetX(int x)
void initLineWidth(float w)
void render(float frametime)
void hud_cease_subsystem_targeting(int print_message=1)
void initNameOffsets(int x, int y)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
vec3d * get_subsystem_world_pos(object *parent_obj, ship_subsys *subsys, vec3d *world_pos)
hud_frames _background_first
HudGaugeMissileTriangles()
void initMaxColumns(int count)
void initHeaderOffsets(int x, int y)
int Armed_name_offsets[2]
float Lead_indicator_half[2]
float Max_offscreen_tri_seperation
void initOffColor(int r, int g, int b, int a)