fix division by zero
[divverent/nexuiz.git] / data / qcsrc / client / main.qh
1 const string string_null;
2
3 // --------------------------------------------------------------------------
4 // MENU Functionality
5
6 #define DATABUF_PING 0
7 #define DATABUF_CAPTURES (1*maxclients)
8 #define DATABUF_DEATHS (2*maxclients)
9 #define DATABUF_RETURNS (3*maxclients)
10
11 #define DATABUF_NEXT (5*maxclients)
12
13 void() menu_show_error;
14 void() menu_sub_null;
15
16 float menu_visible;
17 var void() menu_show;
18 var float(float bInputType, float nPrimary, float nSecondary) menu_action;
19
20 // --------------------------------------------------------------------------
21 // CTF
22
23 void() ctf_menu_show;
24 string ctf_temp_1;
25
26 // --------------------------------------------------------------------------
27 // Onslaught
28
29 // Map coordinate base calculations need these
30 vector mi_center;
31 vector mi_scale;
32 // Minimap
33 string minimapname;
34 float ons_showmap;
35
36 // --------------------------------------------------------------------------
37 // General stuff
38
39 float drawfont;
40 float postinit;
41 float gametype;
42
43 //float sorted_players;
44 //float sorted_teams;
45
46 // Defs
47 //.float ctf_state;
48 //.float health;
49
50 // Constants
51 const float COLOR_TEAM_RED = 64;
52 const float COLOR_TEAM_BLUE = 208;
53
54 const float COLOR_TEAM1       = 4;  // red
55 const float COLOR_TEAM2       = 13; // blue
56 const float COLOR_TEAM3       = 12; // yellow
57 const float COLOR_TEAM4       = 9; // pink
58 const float COLOR_SPECTATOR = 1337;
59
60 #define FONT_DEFAULT 0
61 #define FONT_USER 8
62
63 // --------------------------------------------------------------------------
64 // Scoreboard stuff
65
66 #define MAX_SBAR_FIELDS 16
67
68 #define SP_END -1
69
70 #define SP_PING -2
71 #define SP_NAME -3
72 #define SP_KDRATIO -4
73 #define SP_CLRATIO -5
74 #define SP_PL -6
75 #define SP_FRAGS -7
76
77 #define SP_SEPARATOR -100
78
79 float sbar_field[MAX_SBAR_FIELDS + 1];
80 float sbar_size[MAX_SBAR_FIELDS + 1];
81 string sbar_title[MAX_SBAR_FIELDS + 1];
82 float sbar_num_fields;
83
84 float sbar_font;
85 float sbar_bigfont;
86
87 string scores_label[MAX_SCORE];
88 float scores_flags[MAX_SCORE];
89 string teamscores_label[MAX_SCORE];
90 float teamscores_flags[MAX_SCORE];
91 .float scores[MAX_SCORE]; FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(scores);
92 .float teamscores[MAX_TEAMSCORE]; FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(teamscores);
93
94 #define IS_INCREASING(x) ( (x)&SFL_LOWER_IS_BETTER )
95 #define IS_DECREASING(x) ( !((x)&SFL_LOWER_IS_BETTER) )
96
97
98 vector sbar_fontsize;
99 vector sbar_fontsize_spec;
100
101 //float csqc_flags;
102
103 entity playerslots[255]; // 255 is engine limit on maxclients
104 entity teamslots[17];    // 17 teams (including "spectator team")
105 .float gotscores;
106 .entity owner;
107 .float ready;
108
109 .void(void) draw;
110 .void(void) draw2d;
111 .void(void) entremove;
112 float drawframetime;
113 vector view_origin, view_angles, view_forward, view_right, view_up;
114
115 float button_zoom;
116 float spectatorbutton_zoom;
117 float button_attack2;
118 float activeweapon;
119 float current_viewzoom;
120 float zoomin_effect;
121 float ignore_plus_zoom;
122 float ignore_minus_zoom;
123 float warmup_stage;
124
125 float weaponimpulse[24];
126 string getcommandkey(string text, string command);
127 float sbar_showbinds;
128 float sbar_showbinds_limit;
129
130 string vote_called_vote;
131 float ready_waiting;
132 float ready_waiting_for_me;
133 float vote_waiting;
134 float vote_waiting_for_me;
135
136 float previous_game_starttime;
137 entity restartAnnouncer; //a temporary entity which will play the countdown sounds 3, 2, 1 for the client
138 void restartAnnouncer_Think();
139
140 float current_zoomfraction;
141
142 float cs_project_is_b0rked;
143 float vid_width, vid_height, vid_pixelheight;
144
145 float camera_active;            // Demo camera is active if set to TRUE
146 float chase_active_backup;
147 float camera_roll;
148 vector camera_direction;
149
150 void centerprint(string strMessage);
151
152 #define ALPHA_MIN_VISIBLE 0.003
153
154 float armorblockpercent;
155 float g_weaponswitchdelay;
156
157 //hooks
158 float calledhooks;
159 #define HOOK_START    1
160 #define HOOK_END      2