2 * $Logfile: /Freespace2/code/Hud/HudArtillery.h $
9 * Revision 1.2 2002/05/03 13:34:33 theoddone33
12 * Revision 1.1.1.1 2002/05/03 03:28:12 root
16 * 2 4/20/99 6:39p Dave
17 * Almost done with artillery targeting. Added support for downloading
18 * images on the PXO screen.
20 * 1 4/20/99 12:00a Dave
26 #ifndef _FS2_HUD_ARTILLERY_HEADER_FILE
27 #define _FS2_HUD_ARTILLERY_HEADER_FILE
29 // -----------------------------------------------------------------------------------------------------------------------
30 // ARTILLERY DEFINES/VARS
34 // -----------------------------------------------------------------------------------------------------------------------
35 // ARTILLERY FUNCTIONS
40 #define MAX_SSM_TYPES 10
41 #define MAX_SSM_STRIKES 10
42 #define MAX_SSM_COUNT 10
45 typedef struct ssm_info {
46 char name[NAME_LENGTH+1]; // strike name
47 int count; // # of missiles in this type of strike
48 int weapon_info_index; // missile type
49 float warp_radius; // radius of associated warp effect
50 float warp_time; // how long the warp effect lasts
51 float radius; // radius around the shooting ship
52 float offset; // offset in front of the shooting ship
55 // creation info for the strike (useful for multiplayer)
56 typedef struct ssm_firing_info {
57 int delay_stamp[MAX_SSM_COUNT]; // timestamps
58 vector start_pos[MAX_SSM_COUNT]; // start positions
60 int ssm_index; // index info ssm_info array
61 vector target; // target for the strike
65 typedef struct ssm_strike {
66 int fireballs[MAX_SSM_COUNT]; // warpin effect fireballs
67 int done_flags[MAX_SSM_COUNT]; // when we've fired off the individual missiles
69 // this is the info that controls how the strike behaves (just like for beam weapons)
70 ssm_firing_info sinfo;
72 ssm_strike *next, *prev; // for list
77 void hud_init_artillery();
79 // update all hud artillery related stuff
80 void hud_artillery_update();
82 // render all hud artillery related stuff
83 void hud_artillery_render();