33 #define MAX_HCF_FILES 30
54 "closest attacking hostile",
55 "current target direction",
67 "auto-speed-match icon",
75 "target hull/shield icon",
76 "offscreen indicator",
80 "locked missile direction",
86 "attacking target count",
104 #if RR_MAX_RANGES != 3
105 #error Number of ranges is wrong!
110 return XSTR(
"2000 M", 246);
112 return XSTR(
"10,000 M", 247);
114 return XSTR(
"infinity", 248);
258 HC_gauge_region(
char *
name,
int x1,
int y1,
int h,
int iff,
int cp,
int b,
int nf,
int cl) : filename(name), x(x1), y(y1), hotspot(h), use_iff(iff), can_popup(cp), bitmap(b), nframes(nf), color(cl){}
366 return XSTR(
"lead indicator", 249);
368 return XSTR(
"target orientation", 250);
370 return XSTR(
"closest attacking hostile", 251);
372 return XSTR(
"current target direction", 252);
374 return XSTR(
"mission time", 253);
376 return XSTR(
"reticle", 254);
378 return XSTR(
"throttle", 255);
380 return XSTR(
"radar", 256);
382 return XSTR(
"target monitor", 257);
384 return XSTR(
"center of reticle", 258);
386 return XSTR(
"extra target info", 259);
388 return XSTR(
"target shield", 260);
390 return XSTR(
"player shield", 261);
392 return XSTR(
"power management", 262);
394 return XSTR(
"auto-target icon", 263);
396 return XSTR(
"auto-speed-match icon", 264);
398 return XSTR(
"weapons display", 265);
400 return XSTR(
"monitoring view", 266);
402 return XSTR(
"directives view", 267);
404 return XSTR(
"threat gauge", 268);
406 return XSTR(
"afterburner energy", 269);
408 return XSTR(
"weapons energy", 270);
410 return XSTR(
"weapon linking", 271);
412 return XSTR(
"target hull/shield icon", 272);
414 return XSTR(
"offscreen indicator", 273);
416 return XSTR(
"comm video", 274);
418 return XSTR(
"damage display", 275);
420 return XSTR(
"message output", 276);
422 return XSTR(
"locked missile direction", 277);
424 return XSTR(
"countermeasures", 278);
426 return XSTR(
"objective notify", 279);
428 return XSTR(
"wingmen status", 280);
430 return XSTR(
"offscreen range", 281);
432 return XSTR(
"kills gauge", 282);
434 return XSTR(
"attacking target count", 283);
436 return XSTR(
"warning flash", 1459);
438 return XSTR(
"comm menu", 1460);
440 return XSTR(
"support gauge", 1461);
442 return XSTR(
"lag gauge", 1462);
447 #define NUM_HUD_BUTTONS 20
450 #define HCB_GREEN_UP 1
451 #define HCB_BLUE_UP 2
453 #define HCB_RED_DOWN 4
454 #define HCB_GREEN_DOWN 5
455 #define HCB_BLUE_DOWN 6
460 #define HCB_SAVE_HCF 11
461 #define HCB_PREV_HCF 12
462 #define HCB_NEXT_HCF 13
466 #define HCB_SELECT_ALL 17
468 #define HCB_ACCEPT 19
519 #define NUM_HUD_TEXT 15
580 static int HC_background_bitmap;
583 static int HC_gauge_hot;
584 static int HC_gauge_selected;
639 static int HUD_config_inited = 0;
651 #define NUM_HC_SLIDERS 4
668 { 133, 85, 32, 350 },
671 #define HCS_CONV(__v) ( 255 - (__v) )
784 HC_gauge_selected = -1;
798 show_flag_set = HUD_config.
show_flags2 & (1<<(i-32));
801 return show_flag_set;
832 return popup_flag_set;
864 use_color = &HUD_config.
clr[
i];
873 if ( (HC_gauge_selected == i) || HC_select_all ) {
875 }
else if ( HC_gauge_hot == i ) {
884 use_color = &HUD_config.
clr[
i];
928 HUD_config_inited = 1;
947 HC_gauge_selected =
i;
1052 if ( HC_gauge_selected < 0 ) {
1097 char name[256] =
"";
1113 if ( HC_gauge_selected < 0 ) {
1120 if ( HC_gauge_selected < 0 ) {
1127 if ( HC_gauge_selected < 0 ) {
1231 if(name[0] !=
'\0'){
1255 if(strlen(name) <= 0){
1290 HC_current_file = 0;
1349 if ( HC_gauge_selected < 0 ) {
1395 if ( HC_gauge_selected < 0 ) {
1418 if ( HC_gauge_selected >= 0 ) {
1471 if (!HUD_config_inited) {
1488 if ( HC_background_bitmap > 0 ) {
1496 HC_ui_window.
draw();
1584 HUD_config = HUD_config_backup;
1620 char vals[255] =
"";
1678 mprintf((
"HUDCONFIG: Unable to parse '%s'! Error message = %s.\n", fname, e.what()));
1751 if(HC_gauge_selected < 0){
1775 if(HC_gauge_selected < 0){
1799 if(HC_gauge_selected < 0){
1851 if(HC_gauge_selected < 0){
1857 r = HUD_config.
clr[HC_gauge_selected].
red;
1858 g = HUD_config.
clr[HC_gauge_selected].
green;
1859 b = HUD_config.
clr[HC_gauge_selected].
blue;
1860 a = HUD_config.
clr[HC_gauge_selected].
alpha;
1865 HC_gauge_selected = -1;
void hud_config_popup_flag_clear(int i)
void set_text(const char *in)
int HUD_config_default_flags2
void set_highlight_action(void(*_user_function)(void))
void hud_config_blue_slider()
UI_XSTR HC_text[GR_NUM_RESOLUTIONS][NUM_HUD_TEXT]
#define HUD_OFFSCREEN_INDICATOR
char * HC_slider_fname[GR_NUM_RESOLUTIONS]
void add_XSTR(char *string, int _xstr_id, int _x, int _y, UI_GADGET *_assoc, int _color_type, int _font_id=-1)
#define HUD_TARGET_SHIELD_ICON
int hud_config_show_flag_is_set(int i)
reset (or similar button) pressed
int HUD_observer_default_flags2
int HC_fname_coords[GR_NUM_RESOLUTIONS][4]
#define HUD_COLOR_ALPHA_DEFAULT
#define HUD_HOSTILE_TRIANGLE
#define HUD_OFFSCREEN_RANGE
GLfloat GLfloat GLfloat GLfloat h
#define HUD_TARGET_TRIANGLE
float Radar_ranges[RR_MAX_RANGES]
void hud_config_color_close()
void hud_config_draw_gauge_status()
char * Hud_config_mask_fname[GR_NUM_RESOLUTIONS]
void HUD_init_hud_color_array()
#define GR_NUM_RESOLUTIONS
void gr_init_alphacolor(color *clr, int r, int g, int b, int alpha, int type)
__inline void gr_string(int x, int y, const char *string, int resize_mode=GR_RESIZE_FULL)
void hud_config_set_button_state()
#define HUD_OBJECTIVES_NOTIFY_GAUGE
general failure sound for any event
int HC_slider_coords[GR_NUM_RESOLUTIONS][NUM_HC_SLIDERS][4]
void hud_config_check_regions()
void hud_config_unload_gauges()
void hud_config_red_slider()
color clr[NUM_HUD_GAUGES]
#define GR_MAYBE_CLEAR_RES(bmap)
#define HUD_LEAD_INDICATOR
#define HUD_ATTACKING_TARGET_COUNT
void gr_set_color_fast(color *dst)
void hud_config_show_flag_clear(int i)
#define UI_INPUTBOX_FLAG_ESC_FOC
void hud_config_color_load(char *name)
struct HC_gauge_region HC_gauge_regions[GR_NUM_RESOLUTIONS][NUM_HUD_GAUGES]
int HUD_default_popup_mask2
void hud_config_record_color(int in_color)
void gr_set_bitmap(int bitmap_num, int alphablend_mode, int bitblt_mode, float alpha)
#define HUD_DIRECTIVES_VIEW
void hud_config_popup_flag_set(int i)
int bm_release(int handle, int clear_render_targets)
Frees both a bitmap's data and it's associated slot.
const char * Radar_range_text(int n)
void hud_config_do_frame(float frametime)
char * HC_filenames[MAX_HCF_FILES]
void hud_config_render_description()
void draw_forced(int frame_num)
#define HUD_TARGET_MONITOR
ui_button_info HC_buttons[GR_NUM_RESOLUTIONS][NUM_HUD_BUTTONS]
void set_mask_bmap(char *fname)
int set_bmaps(char *ani_filename, int nframes=3, int start_frame=1)
GLdouble GLdouble GLdouble r
void hud_config_set_gauge_flags(int gauge_index, int on_flag, int popup_flag)
#define HUD_TARGET_MINI_ICON
void hud_set_default_hud_config(player *p)
#define HUD_MESSAGE_LINES
#define HUD_AFTERBURNER_ENERGY
GLboolean GLboolean GLboolean GLboolean a
void create(UI_WINDOW *wnd, int _x, int _y, int _w, int _h, int _numberItems, char *_bitmapSliderControl, void(*_upCallback)(), void(*_downCallback)(), void(*_captureCallback)())
void hud_config_green_slider()
const char * HC_gauge_descriptions(int n)
void hud_config_synch_ui()
void hud_config_draw_color_status()
void hud_config_render_special_bitmaps()
void stuff_string(char *outstr, int type, int len, char *terminators)
#define HUD_SUPPORT_GAUGE
sprintf(buf,"(%f,%f,%f)", v3->xyz.x, v3->xyz.y, v3->xyz.z)
UI_SLIDER2 HC_color_sliders[NUM_HC_SLIDERS]
#define HUD_RETICLE_CIRCLE
#define HUD_MISSILE_WARNING_ARROW
int required_string(const char *pstr)
#define HUD_WEAPONS_ENERGY
int hud_config_popup_flag_is_set(int i)
int optional_string(const char *pstr)
void hud_config_set_rgb(int gauge, int r, int g, int b)
void hud_config_init_ui()
void hud_config_alpha_slider_down()
void read_file_text(const char *filename, int mode, char *processed_text, char *raw_text)
void hud_cycle_gauge_status()
const char * XSTR(const char *str, int index)
void hud_config_as_observer(ship *shipp, ai_info *aif)
void hud_config_button_do(int n)
void hud_config_redraw_pressed_buttons()
user_click (mouse selects a control)
void force_currentItem(int _currentItem)
void hud_config_check_buttons()
int HC_gauge_description_coords[GR_NUM_RESOLUTIONS][3]
void hud_config_handle_keypresses(int k)
void reset_parse(char *text)
GLuint const GLchar * name
void hud_config_set_alpha(int gauge, int a)
#define HUD_WINGMEN_STATUS
#define HUD_ORIENTATION_TEE
char * cf_add_ext(const char *filename, const char *ext)
color * iff_get_color(int color_index, int is_bright)
#define HUD_PLAYER_SHIELD_ICON
int bm_load(const char *real_filename)
Loads a bitmap so we can draw with it later.
GLboolean GLboolean GLboolean b
void hud_config_color_save(char *name)
HC_gauge_region(char *name, int x1, int y1, int h, int iff, int cp, int b, int nf, int cl)
ubyte num_msg_window_lines
UI_INPUTBOX HC_fname_input
void hud_observer_init(ship *shipp, ai_info *aip)
void link_hotspot(int num)
int cfputs(const char *str, CFILE *cfile)
void create(UI_WINDOW *wnd, char *_text, int _x, int _y, int _w, int _h, int do_repeat=0, int ignore_focus=0)
#define UI_XSTR_COLOR_PINK
void hud_config_as_player()
void hud_config_stuff_colors(int r, int g, int b)
void hud_config_process_colors()
void hud_config_synch_sliders(int i)
void create(int _x, int _y, int _w, int _h, int _flags, int _f_id=-1)
void hud_config_restore()
#define HUD_WEAPONS_GAUGE
void gr_get_string_size(int *w, int *h, const char *text, int len=9999)
int HUD_default_popup_mask
void hud_config_color_init()
HUD_CONFIG_TYPE HUD_config
void common_play_highlight_sound()
__inline void gr_aabitmap(int x, int y, int resize_mode=GR_RESIZE_FULL, bool mirror=false)
void create(UI_WINDOW *wnd, int _x, int _y, int _w, int _textlen, char *_text, int _flags=0, int pixel_lim=-1, color *clr=NULL)
int HUD_observer_default_flags
#define UI_INPUTBOX_FLAG_INVIS
int HUD_config_default_flags
void hud_config_button_enable(int index)
void hud_config_recalc_alpha_slider()
void hud_config_render_gauges()
#define HUD_TARGET_MONITOR_EXTRA_DATA
void gr_bitmap(int _x, int _y, int resize_mode)
#define UI_XSTR_COLOR_GREEN
void hud_config_set_color(int in_color)
#define HUD_WEAPON_LINKING_GAUGE
void stuff_ubyte(ubyte *i)
char HC_fname[MAX_FILENAME_LEN+1]
char Hud_Gauge_Names[NUM_HUD_GAUGES][NAME_LENGTH]
#define HUD_CENTER_RETICLE
void gamesnd_play_iface(int n)
#define HUD_THROTTLE_GAUGE
int cfclose(CFILE *cfile)
struct ui_button_info ui_button_info
GLclampf GLclampf GLclampf alpha
void hud_config_update_brightness()
#define HUD_CMEASURE_GAUGE
void hud_config_button_disable(int index)
int cf_get_file_list(SCP_vector< SCP_string > &list, int pathtype, const char *filter, int sort=CF_SORT_NONE, SCP_vector< file_list_info > *info=NULL)
int process(int key_in=-1, int process_mouse=1)
void hud_config_show_flag_set(int i)
void gameseq_post_event(int event)
char * Hud_config_fname[GR_NUM_RESOLUTIONS]
void hud_config_alpha_slider_up()
void hud_config_select_all_toggle(int toggle)