X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fclient.qh;h=8f7b9c4f3224be1655e2b73cdaa5553e62f7957f;hb=812dd3215ba88d7bcd2b38b9c4acd19d84a5152b;hp=43e041bf62769b30bccc58f1681af2cbac1732a0;hpb=f1bfa7b0bfa9cca34320f06f83feaccaa3bdb5f7;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/client.qh b/qcsrc/server/client.qh index 43e041bf6..8f7b9c4f3 100644 --- a/qcsrc/server/client.qh +++ b/qcsrc/server/client.qh @@ -2,6 +2,7 @@ #include "utils.qh" #include +//#include #include #include @@ -33,7 +34,9 @@ bool autocvar_g_nodepthtestplayers; string autocvar_g_mutatormsg; float autocvar_sv_foginterval; float autocvar_sv_maxidle; -bool autocvar_sv_maxidle_spectatorsareidle; +int autocvar_sv_maxidle_minplayers = 2; +float autocvar_sv_maxidle_playertospectator = 60; +bool autocvar_sv_maxidle_alsokickspectators; int autocvar_sv_maxidle_slots; bool autocvar_sv_maxidle_slots_countbots; bool autocvar_g_forced_respawn; @@ -209,12 +212,11 @@ CLASS(Client, Object) ATTRIB(Client, cvar_cl_clippedspectating, bool, this.cvar_cl_clippedspectating); ATTRIB(Client, cvar_cl_autoscreenshot, int, this.cvar_cl_autoscreenshot); ATTRIB(Client, cvar_cl_jetpack_jump, bool, this.cvar_cl_jetpack_jump); - ATTRIB(Client, cvar_cl_newusekeysupported, bool, this.cvar_cl_newusekeysupported); ATTRIB(Client, cvar_cl_noantilag, bool, this.cvar_cl_noantilag); ATTRIB(Client, cvar_cl_movement_track_canjump, bool, this.cvar_cl_movement_track_canjump); ATTRIB(Client, cvar_cl_weaponimpulsemode, int, this.cvar_cl_weaponimpulsemode); ATTRIB(Client, cvar_g_xonoticversion, string, this.cvar_g_xonoticversion); - ATTRIB(Client, autoswitch, bool, this.autoswitch); + ATTRIB(Client, cvar_cl_autoswitch, bool, this.cvar_cl_autoswitch); ATTRIB(Client, cvar_cl_casings, bool, this.cvar_cl_casings); ATTRIB(Client, cvar_r_drawviewmodel, bool, this.cvar_r_drawviewmodel); ATTRIB(Client, cvar_cl_dodging_timeout, float, this.cvar_cl_dodging_timeout); @@ -274,9 +276,6 @@ CLASS(Player, Client) ATTRIB(Player, dual_weapons, vector, this.dual_weapons); // TODO: actually WepSet! ATTRIB(Player, itemkeys, int, this.itemkeys); ATTRIB(Player, ballistics_density, float, this.ballistics_density); - ATTRIB(Player, prevstrengthsound, float, this.prevstrengthsound); - ATTRIB(Player, prevstrengthsoundattempt, float, this.prevstrengthsoundattempt); - ATTRIB(Player, buff_shield, float, this.buff_shield); INIT(Player) { this.classname = STR_PLAYER; @@ -364,8 +363,6 @@ void ClientData_Touch(entity e); int nJoinAllowed(entity this, entity ignore); -void checkSpectatorBlock(entity this); - void PlayerUseKey(entity this); void FixClientCvars(entity e); @@ -379,13 +376,16 @@ STATIC_INIT(g_initforplayer) { g_initforplayer = IL_NEW(); } void play_countdown(entity this, float finished, Sound samp); void player_powerups_remove_all(entity this); -void RotRegen(entity this, float current, float regenstable, float regenfactor, float regenlinear, float regenframetime, float rotstable, float rotfactor, float rotlinear, float rotframetime, float limit_mod); +// NOTE: current type is Resource (avoiding circular includes!) +void RotRegen(entity this, entity current, float limit_mod, + float regenstable, float regenfactor, float regenlinear, float regenframetime, + float rotstable, float rotfactor, float rotlinear, float rotframetime); bool Spectate(entity this, entity pl); void ClientInit_Spawn(); -void PutObserverInServer(entity this); +void PutObserverInServer(entity this, bool is_forced); void SetSpectatee(entity this, entity spectatee); void SetSpectatee_status(entity this, int spectatee_num);