mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-07 08:15:59 -10:00
247 lines
6.8 KiB
C
247 lines
6.8 KiB
C
|
|
|
|
|
|
|
|
#ifndef _HUDPARSE_H
|
|
#define _HUDPARSE_H
|
|
|
|
#include "ai/ai.h"
|
|
#include "globalincs/globals.h"
|
|
#include "graphics/2d.h"
|
|
|
|
//Variables
|
|
extern int Num_custom_gauges;
|
|
extern float Hud_unit_multiplier;
|
|
extern float Hud_speed_multiplier;
|
|
extern float Hud_global_scale;
|
|
|
|
#define NUM_HUD_RETICLE_STYLES 2
|
|
|
|
#define HUD_RETICLE_STYLE_FS1 0
|
|
#define HUD_RETICLE_STYLE_FS2 1
|
|
|
|
extern int Hud_reticle_style;
|
|
extern bool Scale_retail_gauges;
|
|
extern int Force_scaling_above_res_global[2];
|
|
extern int Hud_font;
|
|
extern bool Chase_view_only_ex;
|
|
|
|
typedef struct gauge_settings {
|
|
int base_res[2];
|
|
int font_num;
|
|
bool scale_gauge;
|
|
int force_scaling_above_res[2];
|
|
float aspect_quotient;
|
|
SCP_vector<int>* ship_idx;
|
|
color *use_clr;
|
|
float origin[2];
|
|
int offset[2];
|
|
bool use_coords;
|
|
int coords[2];
|
|
bool set_position;
|
|
bool set_colour;
|
|
bool slew;
|
|
bool message_gauge;
|
|
bool chase_view_only;
|
|
int cockpit_view_choice;
|
|
|
|
gauge_settings()
|
|
: font_num(Hud_font), scale_gauge(Scale_retail_gauges), ship_idx(nullptr), use_clr(nullptr), use_coords(false),
|
|
set_position(true), set_colour(true), slew(false), message_gauge(false), chase_view_only(Chase_view_only_ex), cockpit_view_choice(0)
|
|
{
|
|
base_res[0] = -1;
|
|
base_res[1] = -1;
|
|
memcpy(force_scaling_above_res, Force_scaling_above_res_global, sizeof(force_scaling_above_res));
|
|
aspect_quotient = 1.0f;
|
|
origin[0] = 0.0f;
|
|
origin[1] = 0.0f;
|
|
offset[0] = 0;
|
|
offset[1] = 0;
|
|
coords[0] = 0;
|
|
coords[1] = 0;
|
|
}
|
|
} gauge_settings;
|
|
|
|
//Functions
|
|
void hud_positions_init();
|
|
void set_current_hud();
|
|
void init_hud();
|
|
void load_missing_retail_gauges();
|
|
void check_color(int *colorp);
|
|
|
|
int parse_gauge_type();
|
|
void load_gauge(int gauge, gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_CUSTOM 0
|
|
void load_gauge_custom(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_MESSAGES 1
|
|
void load_gauge_messages(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_TRAINING_MESSAGES 2
|
|
void load_gauge_training_messages(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_SUPPORT 3
|
|
void load_gauge_support(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_DAMAGE 4
|
|
void load_gauge_damage(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_WINGMAN_STATUS 5
|
|
void load_gauge_wingman_status(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_AUTO_SPEED 6
|
|
void load_gauge_auto_speed(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_AUTO_TARGET 7
|
|
void load_gauge_auto_target(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_CMEASURES 8
|
|
void load_gauge_countermeasures(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_TALKING_HEAD 9
|
|
void load_gauge_talking_head(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_DIRECTIVES 10
|
|
void load_gauge_directives(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_WEAPONS 11
|
|
void load_gauge_weapons(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_OBJ_NOTIFY 12
|
|
void load_gauge_objective_notify(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_SQUAD_MSG 13
|
|
void load_gauge_squad_message(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_LAG 14
|
|
void load_gauge_lag(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_MINI_SHIELD 15
|
|
void load_gauge_mini_shields(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_PLAYER_SHIELD 16
|
|
void load_gauge_player_shields(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_TARGET_SHIELD 17
|
|
void load_gauge_target_shields(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_ESCORT 18
|
|
void load_gauge_escort_view(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_MISSION_TIME 19
|
|
void load_gauge_mission_time(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_ETS_WEAPONS 20
|
|
void load_gauge_ets_weapons(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_ETS_SHIELDS 21
|
|
void load_gauge_ets_shields(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_ETS_ENGINES 22
|
|
void load_gauge_ets_engines(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_TARGET_MONITOR 23
|
|
void load_gauge_target_monitor(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_EXTRA_TARGET_DATA 24
|
|
void load_gauge_extra_target_data(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_RADAR_STD 25
|
|
void load_gauge_radar_std(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_RADAR_ORB 26
|
|
void load_gauge_radar_orb(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_RADAR_BSG 27
|
|
void load_gauge_radar_dradis(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_AFTERBURNER 28
|
|
void load_gauge_afterburner(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_WEAPON_ENERGY 29
|
|
void load_gauge_weapon_energy(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_TEXT_WARNINGS 30
|
|
void load_gauge_text_warnings(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_CENTER_RETICLE 31
|
|
void load_gauge_center_reticle(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_THROTTLE 32
|
|
void load_gauge_throttle(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_THREAT 33
|
|
void load_gauge_threat_indicator(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_LEAD 34
|
|
void load_gauge_lead(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_LEAD_SIGHT 35
|
|
void load_gauge_lead_sight(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_LOCK 36
|
|
void load_gauge_lock(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_WEAPON_LINKING 37
|
|
void load_gauge_weapon_linking(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_MULTI_MSG 38
|
|
void load_gauge_multi_msg(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_VOICE_STATUS 39
|
|
void load_gauge_voice_status(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_PING 40
|
|
void load_gauge_ping(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_SUPERNOVA 41
|
|
void load_gauge_supernova(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_OFFSCREEN 42
|
|
void load_gauge_offscreen(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_BRACKETS 43
|
|
void load_gauge_brackets(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_ORIENTATION_TEE 44
|
|
void load_gauge_orientation_tee(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_HOSTILE_TRI 45
|
|
void load_gauge_hostile_tri(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_TARGET_TRI 46
|
|
void load_gauge_target_tri(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_MISSILE_TRI 47
|
|
void load_gauge_missile_tri(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_KILLS 48
|
|
void load_gauge_kills(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_FIXED_MESSAGES 49
|
|
void load_gauge_fixed_messages(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_ETS_RETAIL 50
|
|
void load_gauge_ets_retail(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_FLIGHT_PATH 51
|
|
void load_gauge_flight_path(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_WARHEAD_COUNT 52
|
|
void load_gauge_warhead_count(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_HARDPOINTS 53
|
|
void load_gauge_hardpoints(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_PRIMARY_WEAPONS 54
|
|
void load_gauge_primary_weapons(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_SECONDARY_WEAPONS 55
|
|
void load_gauge_secondary_weapons(gauge_settings* settings);
|
|
|
|
#define HUD_OBJECT_SCRIPTING 56
|
|
void load_gauge_scripting(gauge_settings* settings);
|
|
|
|
#endif // _HUDPARSE_H
|