FS2_Open
Open source remastering of the Freespace 2 engine
hudsquadmsg.cpp File Reference
#include "ai/aigoals.h"
#include "gamesnd/gamesnd.h"
#include "globalincs/linklist.h"
#include "hud/hudmessage.h"
#include "hud/hudsquadmsg.h"
#include "hud/hudtargetbox.h"
#include "iff_defs/iff_defs.h"
#include "io/key.h"
#include "io/timer.h"
#include "mission/missionlog.h"
#include "mission/missionmessage.h"
#include "network/multi_pmsg.h"
#include "network/multimsgs.h"
#include "network/multiutil.h"
#include "parse/parselo.h"
#include "parse/sexp.h"
#include "playerman/player.h"
#include "ship/ship.h"
#include "ship/subsysdamage.h"
#include "weapon/emp.h"
#include "weapon/weapon.h"

Go to the source code of this file.

Classes

struct  mmode_item
 
struct  key_store
 

Macros

#define DEFAULT_MSG_TIMEOUT   (8 * 1000)
 
#define MSG_KEY_EAT_TIME   (300)
 
#define MAX_MENU_ITEMS   50
 
#define MAX_MENU_DISPLAY   10
 
#define MAX_KEYS_NO_SCROLL   10
 
#define MAX_KEYS_USED   12
 
#define ID1   1
 
#define ID2   2
 
#define NUM_COMM_ORDER_TYPES   6
 
#define TYPE_SHIP_ITEM   0
 
#define TYPE_WING_ITEM   1
 
#define TYPE_ALL_FIGHTERS_ITEM   2
 
#define TYPE_REINFORCEMENT_ITEM   3
 
#define TYPE_REPAIR_REARM_ITEM   4
 
#define TYPE_REPAIR_REARM_ABORT_ITEM   5
 
#define OVERRIDE_PROTECT_SHIP_TYPE   (SIF_FIGHTER|SIF_BOMBER|SIF_FREIGHTER|SIF_TRANSPORT)
 

Typedefs

typedef struct mmode_item mmode_item
 
typedef struct key_store key_store
 

Functions

void hud_init_comm_orders ()
 
char * comm_order_get_text (int item)
 
void hud_add_issued_order (char *name, int order)
 
void hud_update_last_order (char *target, int order_source, int special_index)
 
int hud_squadmsg_is_target_order_valid (int order, int find_order, ai_info *aip=NULL)
 
int hud_squadmsg_ship_order_valid (int shipnum, int order)
 
void hud_squadmsg_start ()
 
void hud_squadmsg_end ()
 
bool hud_squadmsg_exist_fighters ()
 
bool hud_squadmsg_ship_valid (ship *shipp, object *objp)
 
int hud_squadmsg_count_ships (int add_to_menu)
 
int hud_squadmsg_wing_valid (wing *wingp)
 
int hud_squadmsg_count_wings (int add_to_menu)
 
void hud_squadmsg_do_mode (int mode)
 
void hud_squadmsg_page_down ()
 
void hud_squadmsg_page_up ()
 
int hud_squadmsg_get_total_keys ()
 
int hud_squadmsg_read_key (int k)
 
int hud_squadmsg_get_key ()
 
int hud_squadmsg_can_rearm (ship *shipp)
 
void hud_squadmsg_repair_rearm (int toggle_state, object *objp)
 
void hud_squadmsg_rearm_shortcut ()
 
void hud_squadmsg_repair_rearm_abort (int toggle_state, object *obj)
 
void hud_squadmsg_send_to_all_fighters (int command, int player_num)
 
int hud_squadmsg_enemies_present ()
 
int hud_squadmsg_send_ship_command (int shipnum, int command, int send_message, int update_history, int player_num)
 
int hud_squadmsg_send_wing_command (int wingnum, int command, int send_message, int update_history, int player_num)
 
int hud_squadmsg_reinforcements_available (int team)
 
void hud_squadmsg_type_select ()
 
void hud_squadmsg_ship_select ()
 
void hud_squadmsg_wing_select ()
 
void hud_squadmsg_msg_all_fighters ()
 
void hud_squadmsg_call_reinforcement (int reinforcement_num, int player_num)
 
void hud_squadmsg_reinforcement_select ()
 
void hud_squadmsg_ship_command ()
 
void hud_squadmsg_wing_command ()
 
void hud_squadmsg_save_keys (int do_scroll)
 
void hud_init_squadmsg (void)
 
void hud_squadmsg_toggle ()
 
void hud_enemymsg_toggle ()
 
void hud_squadmsg_shortcut (int command)
 
int hud_squadmsg_hotkey_select (int k)
 
int hud_squadmsg_do_frame ()
 
int hud_query_order_issued (char *to, char *order_name, char *target_name, int timestamp, char *from, char *special_argument)
 

Variables

int Squad_msg_mode
 
LOCAL int Msg_key_used
 
LOCAL int Msg_key
 
LOCAL int Msg_mode_timestamp
 
int Msg_instance
 
int Msg_shortcut_command
 
LOCAL int Msg_target_objnum
 
LOCAL ship_subsysMsg_targeted_subsys
 
LOCAL int Msg_enemies
 
LOCAL int Msg_eat_key_timestamp
 
int Mbox_item_h [GR_NUM_RESOLUTIONS]
 
int Mbox_item_xoffset [GR_NUM_RESOLUTIONS]
 
int Mbox_top_coords [GR_NUM_RESOLUTIONS][2]
 
int Mbox_bmap_coords [GR_NUM_RESOLUTIONS][2]
 
int Menu_pgup_coords [GR_NUM_RESOLUTIONS][2]
 
int Menu_pgdn_coords [GR_NUM_RESOLUTIONS][2]
 
char Squad_msg_title [256] = ""
 
mmode_item MsgItems [MAX_MENU_ITEMS]
 
int Num_menu_items = -1
 
int First_menu_item = -1
 
key_store key_save [MAX_KEYS_USED]
 
int num_keys_saved = 0
 
int keys_used []
 
char Comm_order_types [NUM_COMM_ORDER_TYPES][NAME_LENGTH]
 
comm_order Comm_orders [NUM_COMM_ORDER_ITEMS]
 
sexp_com_order Sexp_comm_orders []
 
SCP_vector< squadmsg_historySquadmsg_history
 

Macro Definition Documentation

#define DEFAULT_MSG_TIMEOUT   (8 * 1000)

Definition at line 39 of file hudsquadmsg.cpp.

#define ID1   1

Definition at line 142 of file hudsquadmsg.cpp.

#define ID2   2

Definition at line 143 of file hudsquadmsg.cpp.

#define MAX_KEYS_NO_SCROLL   10

Definition at line 131 of file hudsquadmsg.cpp.

#define MAX_KEYS_USED   12

Definition at line 132 of file hudsquadmsg.cpp.

#define MAX_MENU_DISPLAY   10

Definition at line 112 of file hudsquadmsg.cpp.

#define MAX_MENU_ITEMS   50

Definition at line 111 of file hudsquadmsg.cpp.

#define MSG_KEY_EAT_TIME   (300)

Definition at line 40 of file hudsquadmsg.cpp.

#define NUM_COMM_ORDER_TYPES   6

Definition at line 147 of file hudsquadmsg.cpp.

#define OVERRIDE_PROTECT_SHIP_TYPE   (SIF_FIGHTER|SIF_BOMBER|SIF_FREIGHTER|SIF_TRANSPORT)

Definition at line 1046 of file hudsquadmsg.cpp.

#define TYPE_ALL_FIGHTERS_ITEM   2

Definition at line 151 of file hudsquadmsg.cpp.

#define TYPE_REINFORCEMENT_ITEM   3

Definition at line 152 of file hudsquadmsg.cpp.

#define TYPE_REPAIR_REARM_ABORT_ITEM   5

Definition at line 154 of file hudsquadmsg.cpp.

#define TYPE_REPAIR_REARM_ITEM   4

Definition at line 153 of file hudsquadmsg.cpp.

#define TYPE_SHIP_ITEM   0

Definition at line 149 of file hudsquadmsg.cpp.

#define TYPE_WING_ITEM   1

Definition at line 150 of file hudsquadmsg.cpp.

Typedef Documentation

typedef struct key_store key_store
typedef struct mmode_item mmode_item

Function Documentation

char* comm_order_get_text ( int  item)

Definition at line 221 of file hudsquadmsg.cpp.

void hud_add_issued_order ( char *  name,
int  order 
)

Definition at line 2391 of file hudsquadmsg.cpp.

void hud_enemymsg_toggle ( )

Definition at line 2199 of file hudsquadmsg.cpp.

void hud_init_comm_orders ( )

Definition at line 194 of file hudsquadmsg.cpp.

void hud_init_squadmsg ( void  )

Definition at line 2163 of file hudsquadmsg.cpp.

int hud_query_order_issued ( char *  to,
char *  order_name,
char *  target_name,
int  timestamp,
char *  from,
char *  special_argument 
)

Definition at line 2425 of file hudsquadmsg.cpp.

void hud_squadmsg_call_reinforcement ( int  reinforcement_num,
int  player_num 
)

Definition at line 1798 of file hudsquadmsg.cpp.

int hud_squadmsg_can_rearm ( ship shipp)

Definition at line 656 of file hudsquadmsg.cpp.

int hud_squadmsg_count_ships ( int  add_to_menu)

Definition at line 385 of file hudsquadmsg.cpp.

int hud_squadmsg_count_wings ( int  add_to_menu)

Definition at line 470 of file hudsquadmsg.cpp.

int hud_squadmsg_do_frame ( )

Definition at line 2297 of file hudsquadmsg.cpp.

void hud_squadmsg_do_mode ( int  mode)

Definition at line 524 of file hudsquadmsg.cpp.

void hud_squadmsg_end ( )

Definition at line 274 of file hudsquadmsg.cpp.

int hud_squadmsg_enemies_present ( )

Definition at line 1032 of file hudsquadmsg.cpp.

bool hud_squadmsg_exist_fighters ( )

Definition at line 293 of file hudsquadmsg.cpp.

int hud_squadmsg_get_key ( )

Definition at line 603 of file hudsquadmsg.cpp.

int hud_squadmsg_get_total_keys ( )

Definition at line 547 of file hudsquadmsg.cpp.

int hud_squadmsg_hotkey_select ( int  k)

Definition at line 2251 of file hudsquadmsg.cpp.

int hud_squadmsg_is_target_order_valid ( int  order,
int  find_order,
ai_info aip = NULL 
)

Definition at line 805 of file hudsquadmsg.cpp.

void hud_squadmsg_msg_all_fighters ( )

Definition at line 1785 of file hudsquadmsg.cpp.

void hud_squadmsg_page_down ( )

Definition at line 531 of file hudsquadmsg.cpp.

void hud_squadmsg_page_up ( )

Definition at line 539 of file hudsquadmsg.cpp.

int hud_squadmsg_read_key ( int  k)

Definition at line 560 of file hudsquadmsg.cpp.

void hud_squadmsg_rearm_shortcut ( )

Definition at line 729 of file hudsquadmsg.cpp.

void hud_squadmsg_reinforcement_select ( )

Definition at line 1870 of file hudsquadmsg.cpp.

int hud_squadmsg_reinforcements_available ( int  team)

Definition at line 1567 of file hudsquadmsg.cpp.

void hud_squadmsg_repair_rearm ( int  toggle_state,
object objp 
)

Definition at line 668 of file hudsquadmsg.cpp.

void hud_squadmsg_repair_rearm_abort ( int  toggle_state,
object obj 
)

Definition at line 744 of file hudsquadmsg.cpp.

void hud_squadmsg_save_keys ( int  do_scroll)

Definition at line 2134 of file hudsquadmsg.cpp.

int hud_squadmsg_send_ship_command ( int  shipnum,
int  command,
int  send_message,
int  update_history,
int  player_num 
)

Definition at line 1053 of file hudsquadmsg.cpp.

void hud_squadmsg_send_to_all_fighters ( int  command,
int  player_num 
)

Definition at line 901 of file hudsquadmsg.cpp.

int hud_squadmsg_send_wing_command ( int  wingnum,
int  command,
int  send_message,
int  update_history,
int  player_num 
)

Definition at line 1336 of file hudsquadmsg.cpp.

void hud_squadmsg_ship_command ( )

Definition at line 1958 of file hudsquadmsg.cpp.

int hud_squadmsg_ship_order_valid ( int  shipnum,
int  order 
)

Definition at line 770 of file hudsquadmsg.cpp.

void hud_squadmsg_ship_select ( )

Definition at line 1732 of file hudsquadmsg.cpp.

bool hud_squadmsg_ship_valid ( ship shipp,
object objp 
)

Definition at line 334 of file hudsquadmsg.cpp.

void hud_squadmsg_shortcut ( int  command)

Definition at line 2210 of file hudsquadmsg.cpp.

void hud_squadmsg_start ( )

Definition at line 245 of file hudsquadmsg.cpp.

void hud_squadmsg_toggle ( )

Definition at line 2172 of file hudsquadmsg.cpp.

void hud_squadmsg_type_select ( )

Definition at line 1616 of file hudsquadmsg.cpp.

void hud_squadmsg_wing_command ( )

Definition at line 2057 of file hudsquadmsg.cpp.

void hud_squadmsg_wing_select ( )

Definition at line 1759 of file hudsquadmsg.cpp.

int hud_squadmsg_wing_valid ( wing wingp)

Definition at line 423 of file hudsquadmsg.cpp.

void hud_update_last_order ( char *  target,
int  order_source,
int  special_index 
)

Definition at line 2409 of file hudsquadmsg.cpp.

Variable Documentation

char Comm_order_types[NUM_COMM_ORDER_TYPES][NAME_LENGTH]

Definition at line 157 of file hudsquadmsg.cpp.

Definition at line 158 of file hudsquadmsg.cpp.

int First_menu_item = -1

Definition at line 117 of file hudsquadmsg.cpp.

Definition at line 134 of file hudsquadmsg.cpp.

int keys_used[]
Initial value:
#define KEY_0
Definition: key.h:71
#define KEY_6
Definition: key.h:77
#define KEY_PAGEDOWN
Definition: key.h:178
#define KEY_5
Definition: key.h:76
#define KEY_8
Definition: key.h:79
#define KEY_1
Definition: key.h:72
#define KEY_PAGEUP
Definition: key.h:175
#define KEY_9
Definition: key.h:80
#define KEY_7
Definition: key.h:78
#define KEY_4
Definition: key.h:75
#define KEY_2
Definition: key.h:73
#define KEY_3
Definition: key.h:74

Definition at line 139 of file hudsquadmsg.cpp.

int Mbox_bmap_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{
445, 17
},
{
827, 17
}
}

Definition at line 75 of file hudsquadmsg.cpp.

int Mbox_item_h[GR_NUM_RESOLUTIONS]
Initial value:
= {
10,
10
}

Definition at line 56 of file hudsquadmsg.cpp.

int Mbox_item_xoffset[GR_NUM_RESOLUTIONS]
Initial value:
= {
17,
17
}

Definition at line 60 of file hudsquadmsg.cpp.

int Mbox_top_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{
445, 5
},
{
827, 5
}
}

Definition at line 66 of file hudsquadmsg.cpp.

int Menu_pgdn_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{
590, 120
},
{
937, 120
}
}

Definition at line 93 of file hudsquadmsg.cpp.

int Menu_pgup_coords[GR_NUM_RESOLUTIONS][2]
Initial value:
= {
{
590, 9
},
{
937, 9
}
}

Definition at line 85 of file hudsquadmsg.cpp.

LOCAL int Msg_eat_key_timestamp

Definition at line 53 of file hudsquadmsg.cpp.

LOCAL int Msg_enemies

Definition at line 51 of file hudsquadmsg.cpp.

int Msg_instance

Definition at line 47 of file hudsquadmsg.cpp.

LOCAL int Msg_key

Definition at line 45 of file hudsquadmsg.cpp.

LOCAL int Msg_key_used

Definition at line 43 of file hudsquadmsg.cpp.

LOCAL int Msg_mode_timestamp

Definition at line 46 of file hudsquadmsg.cpp.

int Msg_shortcut_command

Definition at line 48 of file hudsquadmsg.cpp.

LOCAL int Msg_target_objnum

Definition at line 49 of file hudsquadmsg.cpp.

LOCAL ship_subsys* Msg_targeted_subsys

Definition at line 50 of file hudsquadmsg.cpp.

Definition at line 115 of file hudsquadmsg.cpp.

int num_keys_saved = 0

Definition at line 135 of file hudsquadmsg.cpp.

int Num_menu_items = -1

Definition at line 116 of file hudsquadmsg.cpp.

sexp_com_order Sexp_comm_orders[]
Initial value:
=
{
{ "Destroy my target", 299, ATTACK_TARGET_ITEM },
{ "Disable my target", 300, DISABLE_TARGET_ITEM },
{ "Disarm my target", 301, DISARM_TARGET_ITEM },
{ "Destroy subsystem", 302, DISABLE_SUBSYSTEM_ITEM },
{ "Protect my target", 303, PROTECT_TARGET_ITEM },
{ "Ignore my target", 304, IGNORE_TARGET_ITEM },
{ "Form on my wing", 305, FORMATION_ITEM },
{ "Cover me", 306, COVER_ME_ITEM },
{ "Engage enemy", 307, ENGAGE_ENEMY_ITEM },
{ "Capture my target", 308, CAPTURE_TARGET_ITEM },
{ "Rearm me", 309, REARM_REPAIR_ME_ITEM },
{ "Abort rearm", 310, ABORT_REARM_REPAIR_ITEM },
{ "Depart", 311, DEPART_ITEM },
{ "Stay near me", -1, STAY_NEAR_ME_ITEM},
{ "Stay near my target",-1, STAY_NEAR_TARGET_ITEM},
{ "Keep safe distance", -1, KEEP_SAFE_DIST_ITEM},
}
#define REARM_REPAIR_ME_ITEM
Definition: hudsquadmsg.h:49
#define PROTECT_TARGET_ITEM
Definition: hudsquadmsg.h:41
#define STAY_NEAR_TARGET_ITEM
Definition: hudsquadmsg.h:52
#define STAY_NEAR_ME_ITEM
Definition: hudsquadmsg.h:51
#define CAPTURE_TARGET_ITEM
Definition: hudsquadmsg.h:46
#define COVER_ME_ITEM
Definition: hudsquadmsg.h:44
#define DISARM_TARGET_ITEM
Definition: hudsquadmsg.h:40
#define IGNORE_TARGET_ITEM
Definition: hudsquadmsg.h:42
#define ATTACK_TARGET_ITEM
Definition: hudsquadmsg.h:38
#define ENGAGE_ENEMY_ITEM
Definition: hudsquadmsg.h:45
#define DISABLE_TARGET_ITEM
Definition: hudsquadmsg.h:39
#define KEEP_SAFE_DIST_ITEM
Definition: hudsquadmsg.h:53
#define DEPART_ITEM
Definition: hudsquadmsg.h:56
#define DISABLE_SUBSYSTEM_ITEM
Definition: hudsquadmsg.h:59
#define ABORT_REARM_REPAIR_ITEM
Definition: hudsquadmsg.h:50
#define FORMATION_ITEM
Definition: hudsquadmsg.h:43

Definition at line 165 of file hudsquadmsg.cpp.

int Squad_msg_mode

Definition at line 42 of file hudsquadmsg.cpp.

char Squad_msg_title[256] = ""

Definition at line 114 of file hudsquadmsg.cpp.

SCP_vector<squadmsg_history> Squadmsg_history

Definition at line 236 of file hudsquadmsg.cpp.