]> icculus.org git repositories - taylor/freespace2.git/blob - include/awacs.h
Initial revision
[taylor/freespace2.git] / include / awacs.h
1 /*
2  * $Logfile: /Freespace2/code/Ship/AWACS.h $
3  * $Revision$
4  * $Date$
5  * $Author$
6  *
7  * all sorts of cool stuff about ships
8  *
9  * $Log$
10  * Revision 1.1  2002/05/03 03:28:12  root
11  * Initial revision
12  *
13  * 
14  * 4     6/02/99 12:52p Andsager
15  * Added team-wide ship visibility.  Implemented for player.
16  * 
17  * 3     1/25/99 5:03a Dave
18  * First run of stealth, AWACS and TAG missile support. New mission type
19  * :)
20  * 
21  * 2     1/08/99 2:08p Dave
22  * Fixed software rendering for pofview. Super early support for AWACS and
23  * beam weapons.
24  * 
25  * 
26  * $NoKeywords: $
27  */
28
29 #ifndef __FS2_AWACS_HEADER_FILE
30 #define __FS2_AWACS_HEADER_FILE
31
32 // ----------------------------------------------------------------------------------------------------
33 // AWACS DEFINES/VARS
34 //
35
36 // DAVE'S OFFICIAL DEFINITION OF AWACS
37
38 // total awacs levels for all teams
39 extern float Awacs_team[MAX_TEAMS];     // total AWACS capabilities for each team
40 extern float Awacs_level;                               // Awacs_friendly - Awacs_hostile
41
42 // ----------------------------------------------------------------------------------------------------
43 // AWACS FUNCTIONS
44 //
45
46 // call when initializing level, before parsing mission
47 void awacs_level_init();
48
49 // call every frame to process AWACS details
50 void awacs_process();
51
52 // get the total AWACS level for target to viewer
53 // < 0.0f               : untargetable
54 // 0.0 - 1.0f   : marginally targetable
55 // 1.0f                 : fully targetable as normal
56 float awacs_get_level(object *target, ship *viewer, int use_awacs=1);
57
58 // Determine if ship is visible by team
59 // return 1 if ship is fully visible
60 // return 0 if ship is only partly visible
61 int ship_is_visible_by_team(int ship_num, int team);
62
63
64 #endif
65