X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fclient%2Fmain.qh;h=9da7547299dd013e27e8e93731fc7599b70948f3;hp=48f7621879e63ace51b83a5904b4db03aebfdede;hb=f34fd47ee0a7f283ab60592a17399ec5a500416c;hpb=ed2038341ce0b55182f2e2f854b5ef8b8a8bc938 diff --git a/qcsrc/client/main.qh b/qcsrc/client/main.qh index 48f762187..9da754729 100644 --- a/qcsrc/client/main.qh +++ b/qcsrc/client/main.qh @@ -1,18 +1,11 @@ -#ifndef CLIENT_MAIN_H -#define CLIENT_MAIN_H +#pragma once -#include "../common/constants.qh" +#include +#include // -------------------------------------------------------------------------- // MENU Functionality -const float DATABUF_PING = 0; -#define DATABUF_CAPTURES (1*maxclients) -#define DATABUF_DEATHS (2*maxclients) -#define DATABUF_RETURNS (3*maxclients) - -#define DATABUF_NEXT (5*maxclients) - // -------------------------------------------------------------------------- // Onslaught @@ -26,7 +19,7 @@ string minimapname; // General stuff float postinit; -float gametype; +entity gametype; //float sorted_players; //float sorted_teams; @@ -37,38 +30,22 @@ float gametype; float FONT_USER = 8; -// -------------------------------------------------------------------------- -// Scoreboard stuff - -const int MAX_HUD_FIELDS = 16; - -const int SP_END = -1; - -const int SP_PING = -2; -const int SP_NAME = -3; -const int SP_KDRATIO = -4; -const int SP_CLRATIO = -5; -const int SP_PL = -6; -const int SP_FRAGS = -7; -const int SP_SUM = -8; -const int SP_SEPARATOR = -100; +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(); -float hud_field[MAX_HUD_FIELDS + 1]; -float hud_size[MAX_HUD_FIELDS + 1]; -string hud_title[MAX_HUD_FIELDS + 1]; -int hud_num_fields; - -string scores_label[MAX_SCORE]; -int scores_flags[MAX_SCORE]; -string teamscores_label[MAX_SCORE]; -int teamscores_flags[MAX_SCORE]; -.int 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; @@ -85,25 +62,36 @@ entity teamslots[17]; // 17 teams (including "spectator team") .float eliminated; .void(entity) draw; +IntrusiveList g_drawables; +STATIC_INIT(g_drawables) { g_drawables = IL_NEW(); } .void(entity) draw2d; -.void() entremove; +IntrusiveList g_drawables_2d; +STATIC_INIT(g_drawables_2d) { g_drawables_2d = IL_NEW(); } +.void(entity) entremove; float drawframetime; vector view_origin, view_forward, view_right, view_up; -float button_zoom; -float spectatorbutton_zoom; -float button_attack2; +IntrusiveList g_radarlinks; +STATIC_INIT(g_radarlinks) { g_radarlinks = IL_NEW(); } +IntrusiveList g_radaricons; +STATIC_INIT(g_radaricons) { g_radaricons = IL_NEW(); } + +bool button_zoom; +bool spectatorbutton_zoom; +bool button_attack2; -int activeweapon; -int switchingweapon; -#define switchweapon STAT(SWITCHWEAPON) +Weapon activeweapon; +Weapon switchingweapon; +Weapon switchweapon; float current_viewzoom; float zoomin_effect; float warmup_stage; void Fog_Force(); -string getcommandkey(string text, string command); +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; @@ -122,6 +110,7 @@ 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); const float ALPHA_MIN_VISIBLE = 0.003; @@ -135,17 +124,17 @@ 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; + +int num_spectators; +const int MAX_SPECTATORS = 7; +int spectatorlist[MAX_SPECTATORS]; + int framecount; .float health; -#endif +float GetSpeedUnitFactor(int speed_unit); +string GetSpeedUnit(int speed_unit);