]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/main.qh
Merge branch 'master' into Mario/entcs
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / main.qh
index c9aa2fb40f8a9e86b105dcf317edc9a49cd63f1d..9da7547299dd013e27e8e93731fc7599b70948f3 100644 (file)
@@ -1,19 +1,10 @@
-// --------------------------------------------------------------------------
-// MENU Functionality
-
-#define DATABUF_PING 0
-#define DATABUF_CAPTURES (1*maxclients)
-#define DATABUF_DEATHS (2*maxclients)
-#define DATABUF_RETURNS (3*maxclients)
+#pragma once
 
-#define DATABUF_NEXT (5*maxclients)
+#include <common/constants.qh>
+#include <common/weapons/_all.qh>
 
-void() menu_show_error;
-void() menu_sub_null;
-
-float menu_visible;
-var void() menu_show;
-var float(float bInputType, float nPrimary, float nSecondary) menu_action;
+// --------------------------------------------------------------------------
+// MENU Functionality
 
 // --------------------------------------------------------------------------
 // Onslaught
@@ -27,9 +18,8 @@ string minimapname;
 // --------------------------------------------------------------------------
 // General stuff
 
-float drawfont;
 float postinit;
-float gametype;
+entity gametype;
 
 //float sorted_players;
 //float sorted_teams;
@@ -38,41 +28,24 @@ float gametype;
 //.float ctf_state;
 //.float health;
 
-#define FONT_DEFAULT 0
-#define FONT_USER 8
-
-// --------------------------------------------------------------------------
-// Scoreboard stuff
-
-#define MAX_HUD_FIELDS 16
+float FONT_USER = 8;
 
-#define SP_END -1
 
-#define SP_PING -2
-#define SP_NAME -3
-#define SP_KDRATIO -4
-#define SP_CLRATIO -5
-#define SP_PL -6
-#define SP_FRAGS -7
-#define SP_SUM -8
+vector OFFSET_CURSOR = '0 0 0';
+vector SIZE_CURSOR = '32 32 0';
+void draw_cursor(vector pos, vector ofs, string img, vector col, float a);
+void draw_cursor_normal(vector pos, vector col, float a);
+void LoadMenuSkinValues();
 
-#define SP_SEPARATOR -100
-
-float hud_field[MAX_HUD_FIELDS + 1];
-float hud_size[MAX_HUD_FIELDS + 1];
-string hud_title[MAX_HUD_FIELDS + 1];
-float hud_num_fields;
-
-string scores_label[MAX_SCORE];
-float scores_flags[MAX_SCORE];
-string teamscores_label[MAX_SCORE];
-float teamscores_flags[MAX_SCORE];
-.float scores[MAX_SCORE];
-.float teamscores[MAX_TEAMSCORE];
+// --------------------------------------------------------------------------
+// Scoreboard stuff
 
-#define IS_INCREASING(x) ( (x)&SFL_LOWER_IS_BETTER )
-#define IS_DECREASING(x) ( !((x)&SFL_LOWER_IS_BETTER) )
+const int MAX_SBT_FIELDS = MAX_SCORE;
 
+PlayerScoreField sbt_field[MAX_SBT_FIELDS + 1];
+float sbt_field_size[MAX_SBT_FIELDS + 1];
+string sbt_field_title[MAX_SBT_FIELDS + 1];
+int sbt_num_fields;
 
 vector hud_fontsize;
 
@@ -88,24 +61,37 @@ entity teamslots[17];    // 17 teams (including "spectator team")
 .float ready;
 .float eliminated;
 
-.void(void) draw;
-.void(void) draw2d;
-.void(void) entremove;
+.void(entity) draw;
+IntrusiveList g_drawables;
+STATIC_INIT(g_drawables) { g_drawables = IL_NEW(); }
+.void(entity) draw2d;
+IntrusiveList g_drawables_2d;
+STATIC_INIT(g_drawables_2d) { g_drawables_2d = IL_NEW(); }
+.void(entity) entremove;
 float drawframetime;
-vector view_origin, view_angles, view_forward, view_right, view_up;
+vector view_origin, view_forward, view_right, view_up;
+
+IntrusiveList g_radarlinks;
+STATIC_INIT(g_radarlinks) { g_radarlinks = IL_NEW(); }
+IntrusiveList g_radaricons;
+STATIC_INIT(g_radaricons) { g_radaricons = IL_NEW(); }
 
-float button_zoom;
-float spectatorbutton_zoom;
-float button_attack2;
+bool button_zoom;
+bool spectatorbutton_zoom;
+bool button_attack2;
 
-float activeweapon;
-float switchingweapon;
-float switchweapon;
+Weapon activeweapon;
+Weapon switchingweapon;
+Weapon switchweapon;
 float current_viewzoom;
 float zoomin_effect;
 float warmup_stage;
 
-string getcommandkey(string text, string command);
+void Fog_Force();
+
+string _getcommandkey(string text, string command, bool forcename);
+#define getcommandkey(cmd_name, command) _getcommandkey(cmd_name, command, false)
+#define getcommandkey_forcename(cmd_name, command) _getcommandkey(cmd_name, command, true)
 
 string vote_called_vote;
 float ready_waiting;
@@ -118,33 +104,37 @@ float current_zoomfraction;
 float cs_project_is_b0rked;
 float vid_width, vid_height, vid_pixelheight;
 
-float camera_active;           // Demo camera is active if set to TRUE
+float camera_active;           // Demo camera is active if set to true
 float chase_active_backup;
 float camera_roll;
 vector camera_direction;
 
 void centerprint_hud(string strMessage);
+void centerprint_kill(float id);
 void centerprint_generic(float new_id, string strMessage, float duration, float countdown_num);
 
-#define ALPHA_MIN_VISIBLE 0.003
+const float ALPHA_MIN_VISIBLE = 0.003;
 
 float armorblockpercent;
 
 //hooks
-float calledhooks;
-#define HOOK_START    1
-#define HOOK_END      2
+int calledhooks;
+const int HOOK_START =    1;
+const int HOOK_END =      2;
 
 .float ping, ping_packetloss, ping_movementloss;
 
-float g_balance_mortar_bouncefactor;
-float g_balance_mortar_bouncestop;
-float g_balance_electro_secondary_bouncefactor;
-float g_balance_electro_secondary_bouncestop;
 float g_trueaim_minrange;
 
-entity entcs_receiver[255]; // 255 is the engine limit on maxclients
-
-float hud;
+int hud;
 float view_quality;
-float framecount;
+
+int num_spectators;
+const int MAX_SPECTATORS = 7;
+int spectatorlist[MAX_SPECTATORS];
+
+int framecount;
+.float health;
+
+float GetSpeedUnitFactor(int speed_unit);
+string GetSpeedUnit(int speed_unit);