2 * Copyright (C) Volition, Inc. 1999. All rights reserved.
4 * All source code herein is the property of Volition, Inc. You may not sell
5 * or otherwise commercially exploit the source or things you created based on
10 * $Logfile: /Freespace2/code/Hud/HudArtillery.h $
17 * Revision 1.3 2002/06/09 04:41:13 relnev
18 * added copyright header
20 * Revision 1.2 2002/05/03 13:34:33 theoddone33
23 * Revision 1.1.1.1 2002/05/03 03:28:12 root
27 * 2 4/20/99 6:39p Dave
28 * Almost done with artillery targeting. Added support for downloading
29 * images on the PXO screen.
31 * 1 4/20/99 12:00a Dave
37 #ifndef _FS2_HUD_ARTILLERY_HEADER_FILE
38 #define _FS2_HUD_ARTILLERY_HEADER_FILE
40 // -----------------------------------------------------------------------------------------------------------------------
41 // ARTILLERY DEFINES/VARS
45 // -----------------------------------------------------------------------------------------------------------------------
46 // ARTILLERY FUNCTIONS
51 #define MAX_SSM_TYPES 10
52 #define MAX_SSM_STRIKES 10
53 #define MAX_SSM_COUNT 10
56 typedef struct ssm_info {
57 char name[NAME_LENGTH+1]; // strike name
58 int count; // # of missiles in this type of strike
59 int weapon_info_index; // missile type
60 float warp_radius; // radius of associated warp effect
61 float warp_time; // how long the warp effect lasts
62 float radius; // radius around the shooting ship
63 float offset; // offset in front of the shooting ship
66 // creation info for the strike (useful for multiplayer)
67 typedef struct ssm_firing_info {
68 int delay_stamp[MAX_SSM_COUNT]; // timestamps
69 vector start_pos[MAX_SSM_COUNT]; // start positions
71 int ssm_index; // index info ssm_info array
72 vector target; // target for the strike
76 typedef struct ssm_strike {
77 int fireballs[MAX_SSM_COUNT]; // warpin effect fireballs
78 int done_flags[MAX_SSM_COUNT]; // when we've fired off the individual missiles
80 // this is the info that controls how the strike behaves (just like for beam weapons)
81 ssm_firing_info sinfo;
83 ssm_strike *next, *prev; // for list
88 void hud_init_artillery();
90 // update all hud artillery related stuff
91 void hud_artillery_update();
93 // render all hud artillery related stuff
94 void hud_artillery_render();