]> icculus.org git repositories - taylor/freespace2.git/blob - include/hudartillery.h
More stuff compiles
[taylor/freespace2.git] / include / hudartillery.h
1 /*
2  * $Logfile: /Freespace2/code/Hud/HudArtillery.h $
3  * $Revision$
4  * $Date$
5  * $Author$
6  * 
7  *
8  * $Log$
9  * Revision 1.2  2002/05/03 13:34:33  theoddone33
10  * More stuff compiles
11  *
12  * Revision 1.1.1.1  2002/05/03 03:28:12  root
13  * Initial import.
14  *  
15  * 
16  * 2     4/20/99 6:39p Dave
17  * Almost done with artillery targeting. Added support for downloading
18  * images on the PXO screen.
19  * 
20  * 1     4/20/99 12:00a Dave
21  * 
22  * 
23  * $NoKeywords: $
24  */
25
26 #ifndef _FS2_HUD_ARTILLERY_HEADER_FILE
27 #define _FS2_HUD_ARTILLERY_HEADER_FILE
28
29 // -----------------------------------------------------------------------------------------------------------------------
30 // ARTILLERY DEFINES/VARS
31 //
32
33
34 // -----------------------------------------------------------------------------------------------------------------------
35 // ARTILLERY FUNCTIONS
36 //
37
38 #include "parselo.h"
39
40 #define MAX_SSM_TYPES                   10
41 #define MAX_SSM_STRIKES                 10
42 #define MAX_SSM_COUNT                   10
43
44 // global ssm types
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
53 } ssm_info;
54
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
59         
60         int                     ssm_index;                                                      // index info ssm_info array
61         vector          target;                                                         // target for the strike        
62 } ssm_firing_info;
63
64 // the strike itself
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
68         
69         // this is the info that controls how the strike behaves (just like for beam weapons)
70         ssm_firing_info         sinfo;
71
72         ssm_strike      *next, *prev;                                           // for list
73 } ssm_strike;
74
75
76 // level init
77 void hud_init_artillery();
78
79 // update all hud artillery related stuff
80 void hud_artillery_update();
81
82 // render all hud artillery related stuff
83 void hud_artillery_render();
84
85 #endif
86