]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into Mario/wepent_experimental
authorMario <mario@smbclan.net>
Sat, 5 Nov 2016 02:43:35 +0000 (12:43 +1000)
committerMario <mario@smbclan.net>
Sat, 5 Nov 2016 02:43:35 +0000 (12:43 +1000)
# Conflicts:
# qcsrc/client/view.qc
# qcsrc/common/weapons/weapon/tuba.qc

49 files changed:
defaultXonotic.cfg
monsters.cfg
qcsrc/client/defs.qh
qcsrc/client/hud/panel/scoreboard.qc
qcsrc/client/main.qc
qcsrc/client/progs.inc
qcsrc/client/shownames.qc
qcsrc/client/view.qc
qcsrc/client/weapons/projectile.qc
qcsrc/common/constants.qh
qcsrc/common/mutators/mutator/dodging/sv_dodging.qc
qcsrc/common/net_linked.qh [new file with mode: 0644]
qcsrc/common/notifications/all.qc
qcsrc/common/triggers/func/breakable.qc
qcsrc/common/triggers/target/music.qc
qcsrc/common/weapons/weapon/hagar.qc
qcsrc/common/weapons/weapon/tuba.qc
qcsrc/common/weapons/weapon/tuba.qh
qcsrc/lib/_all.inc
qcsrc/lib/csqcmodel/cl_player.qc
qcsrc/lib/csqcmodel/sv_model.qc
qcsrc/lib/draw.qh
qcsrc/lib/matrix/_mod.inc
qcsrc/lib/matrix/_mod.qh
qcsrc/lib/net.qh
qcsrc/lib/warpzone/server.qc
qcsrc/server/bot/default/bot.qc
qcsrc/server/bot/default/havocbot/havocbot.qc
qcsrc/server/bot/default/navigation.qc
qcsrc/server/bot/default/waypoints.qc
qcsrc/server/client.qc
qcsrc/server/command/getreplies.qc
qcsrc/server/command/sv_cmd.qc
qcsrc/server/command/vote.qc
qcsrc/server/g_hook.qc
qcsrc/server/g_models.qc
qcsrc/server/g_world.qc
qcsrc/server/mapvoting.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/progs.inc
qcsrc/server/race.qc
qcsrc/server/scores.qc
qcsrc/server/spawnpoints.qc
qcsrc/server/weapons/accuracy.qc
qcsrc/server/weapons/common.qc
qcsrc/server/weapons/csqcprojectile.qc
qcsrc/server/weapons/selection.qc
qcsrc/server/weapons/tracing.qc
qcsrc/server/weapons/weaponsystem.qc

index 8eaf852e7f7318864ddebdc7cfcdccb76ec358fe..5df6d59bb47423025b8a9eb9f089d284ea012e1d 100644 (file)
@@ -791,6 +791,7 @@ seta cl_damagetext_alpha_lifetime "3" "Damage text lifetime in seconds"
 seta cl_damagetext_velocity "0 0 20" "Damage text move direction"
 seta cl_damagetext_offset "0 -40 0" "Damage text offset"
 seta cl_damagetext_accumulate_range "30" "Damage text spawned within this range is accumulated"
+seta cl_damagetext_accumulate_alpha_rel "0.65" "Only update existing damage text when it's above this much percentage (0 to 1) of the starting alpha"
 seta cl_damagetext_friendlyfire "1" "Show damage text for friendlyfire too"
 seta cl_damagetext_friendlyfire_color "1 0 0" "Damage text color for friendlyfire"
 
index b5a97f87a52db532a16eea6cc85d5ac5d54eca34..1c87a716da1773d8dcbcac3a15e603464bcc59d7 100644 (file)
@@ -88,7 +88,7 @@ set g_monster_shambler_speed_walk 150
 // {{{ Misc
 set g_monsters 1
 set g_monsters_edit 0
-set g_monsters_think_delay 0.1
+set g_monsters_think_delay 0.03333
 set g_monsters_skill 1 "Monster skill (affecting some of their attributes). 1 - easy, 2 - medium, 3 - hard, 4 - insane, 5 - nightmare"
 set g_monsters_miniboss_chance 5
 set g_monsters_miniboss_healthboost 100
index 7068340d6ef8d646040e2884ad74f0e5422ca200..b89ecf55ac1de5dce663f1b7b4fa42991126e262 100644 (file)
@@ -27,7 +27,7 @@ float         dmg_take;
 .int team;
 .int team_size;
 
-float vid_conwidth, vid_conheight;
+float vid_conheight;
 int binddb;
 
 // QUALIFYING
@@ -88,7 +88,7 @@ vector lightning_shotorigin[4];
 float blurtest_time0, blurtest_time1, blurtest_radius, blurtest_power;
 #endif
 
-float servertime, serverprevtime, serverdeltatime;
+float serverprevtime, serverdeltatime;
 
 float ticrate;
 
index 117badbec4e1baf80aca961ff8d22042534d8dd2..ef68e21b2000808fb0a8cec871bb86abda43ea39 100644 (file)
@@ -3,6 +3,7 @@
 #include "quickmenu.qh"
 #include <common/ent_cs.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/mapinfo.qh>
 #include <common/minigames/cl_minigames.qh>
 #include <common/stats.qh>
index 701d40a0aa4bf2b3b1b6b43fe40f339e209d8e35..f48c0c530a40cf631c10c1e54c696d80db6dc741 100644 (file)
@@ -15,6 +15,7 @@
 #include <common/mapinfo.qh>
 #include <common/minigames/cl_minigames.qh>
 #include <common/minigames/cl_minigames_hud.qh>
+#include <common/net_linked.qh>
 #include <common/net_notice.qh>
 #include <common/triggers/include.qh>
 #include <common/vehicles/all.qh>
index 327df77c25fd6583f6fe7365bf931f61cc52400d..738831a5d020daf1d093806332ea290c6b8bce79 100644 (file)
@@ -2,9 +2,9 @@
 
 #if XONOTIC
 #include <client/_all.inc>
-#endif
 
 #include <ecs/_mod.inc>
+#endif
 
 #ifdef BUILD_MOD
 #include <mod/client/progs.inc>
index 75ef40521ea443504048bb7669c161db0f671fda..6a4515ac14f128f4b20eba195a090b849a0a138c 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <common/ent_cs.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/mapinfo.qh>
 #include <common/teams.qh>
 
index d4e4d6093292e92b6d05eabcd6e03b2b98989eb5..9c19493dced8d4a72e34053237c816449e44335e 100644 (file)
@@ -13,6 +13,7 @@
 #include <common/ent_cs.qh>
 #include <common/anim.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/debug.qh>
 #include <common/mapinfo.qh>
 #include <common/gamemodes/_mod.qh>
@@ -21,6 +22,8 @@
 #include <common/triggers/target/music.qh>
 #include <common/teams.qh>
 
+#include <common/weapons/weapon/tuba.qh>
+
 #include <common/vehicles/all.qh>
 #include <common/weapons/_all.qh>
 #include <common/viewloc.qh>
index 6d58ac77a2d1a01f72688513ecc2708750d93622..1f88bc8d60ae01519f0f13774d0f81191e35e279 100644 (file)
@@ -6,6 +6,7 @@
 #include "../mutators/events.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/physics/movetypes/movetypes.qh>
 
 #include <lib/csqcmodel/interpolate.qh>
index 29f96aa4490b527ecab33592689534fb358c16ec..f3acfed4e160eacdc64aa85a4a4dd469aa7bd833 100644 (file)
@@ -1,60 +1,7 @@
 #pragma once
 
-REGISTER_NET_TEMP(TE_CSQC_PICTURE)
-REGISTER_NET_TEMP(TE_CSQC_RACE)
-REGISTER_NET_TEMP(TE_CSQC_TEAMNAGGER)
-REGISTER_NET_TEMP(TE_CSQC_PINGPLREPORT)
-REGISTER_NET_TEMP(TE_CSQC_WEAPONCOMPLAIN)
-REGISTER_NET_TEMP(TE_CSQC_VEHICLESETUP)
-
-const int RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder
-const int RACE_NET_CHECKPOINT_CLEAR = 1;
-const int RACE_NET_CHECKPOINT_NEXT_QUALIFYING = 2; // byte nextcheckpoint, short recordtime, string recordholder
-const int RACE_NET_CHECKPOINT_HIT_RACE = 3; // byte checkpoint, short delta, byte lapsdelta, string opponent
-const int RACE_NET_CHECKPOINT_HIT_RACE_BY_OPPONENT = 4; // byte checkpoint, short delta, byte lapsdelta, string opponent
-const int RACE_NET_CHECKPOINT_NEXT_SPEC_QUALIFYING = 5; // byte nextcheckpoint, float laptime, short recordtime, string recordholder
-const int RACE_NET_PENALTY_RACE = 6; // byte penaltytime, string reason
-const int RACE_NET_PENALTY_QUALIFYING = 7; // byte penaltytime, string reason
-const int RACE_NET_SERVER_RECORD = 8; // server record, sent to client
-const int RACE_NET_SPEED_AWARD = 9; // speed award, sent to client
-const int RACE_NET_SPEED_AWARD_BEST = 10; // all time best speed award, sent to client
-const int RACE_NET_SERVER_RANKINGS = 11;
-const int RACE_NET_SERVER_STATUS = 12;
 const int RANKINGS_CNT = 15;
 
-REGISTER_NET_LINKED(_ENT_CLIENT_INIT)
-#ifdef CSQC
-NET_HANDLE(_ENT_CLIENT_INIT, bool isnew) { make_pure(this); return true; }
-#endif
-/** Sent as a temp entity from a persistent linked entity */
-REGISTER_NET_TEMP(ENT_CLIENT_INIT)
-
-REGISTER_NET_LINKED(ENT_CLIENT_SCORES_INFO)
-REGISTER_NET_LINKED(ENT_CLIENT_SCORES)
-REGISTER_NET_LINKED(ENT_CLIENT_TEAMSCORES)
-REGISTER_NET_LINKED(ENT_CLIENT_NAGGER) // flags [votecalledvote]
-REGISTER_NET_LINKED(ENT_CLIENT_RADARLINK) // flags [startorigin] [endorigin] [startcolor+16*endcolor]
-REGISTER_NET_LINKED(ENT_CLIENT_PROJECTILE)
-REGISTER_NET_LINKED(ENT_CLIENT_MAPVOTE)
-REGISTER_NET_LINKED(ENT_CLIENT_CLIENTDATA)
-REGISTER_NET_LINKED(ENT_CLIENT_RANDOMSEED)
-REGISTER_NET_LINKED(ENT_CLIENT_ACCURACY)
-REGISTER_NET_LINKED(ENT_CLIENT_ELIMINATEDPLAYERS)
-
-REGISTER_NET_LINKED(ENT_CLIENT_MODEL)
-
-REGISTER_NET_LINKED(ENT_CLIENT_WARPZONE)
-REGISTER_NET_LINKED(ENT_CLIENT_WARPZONE_CAMERA)
-REGISTER_NET_LINKED(ENT_CLIENT_WARPZONE_TELEPORTED)
-
-REGISTER_NET_LINKED(ENT_CLIENT_ARC_BEAM)
-REGISTER_NET_LINKED(ENT_CLIENT_HOOK)
-REGISTER_NET_LINKED(ENT_CLIENT_TUBANOTE)
-
-REGISTER_NET_LINKED(ENT_CLIENT_SPAWNPOINT)
-REGISTER_NET_LINKED(ENT_CLIENT_SPAWNEVENT)
-REGISTER_NET_LINKED(ENT_CLIENT_WALL)
-
 const int SPRITERULE_DEFAULT = 0;
 const int SPRITERULE_TEAMPLAY = 1;
 const int SPRITERULE_SPECTATOR = 2;
index f9cee61f1ee81e374d745a10bf3afae0b60f3013..d20814ce7c045f04390645e8b156842b5236338e 100644 (file)
@@ -93,7 +93,7 @@ bool check_close_to_wall(entity this, float threshold)
 
 #define X(OFFSET) \
        tracebox(this.origin, this.mins, this.maxs, this.origin + OFFSET, true, this); \
-       if(trace_fraction < 1 && vdist(this.origin - trace_endpos, <, threshold)) \
+       if(trace_fraction < 1 && !(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY) && vdist(this.origin - trace_endpos, <, threshold)) \
                return true;
        X(1000*v_right);
        X(-1000*v_right);
diff --git a/qcsrc/common/net_linked.qh b/qcsrc/common/net_linked.qh
new file mode 100644 (file)
index 0000000..9cd2094
--- /dev/null
@@ -0,0 +1,55 @@
+#pragma once
+
+REGISTER_NET_TEMP(TE_CSQC_PICTURE)
+REGISTER_NET_TEMP(TE_CSQC_RACE)
+REGISTER_NET_TEMP(TE_CSQC_TEAMNAGGER)
+REGISTER_NET_TEMP(TE_CSQC_PINGPLREPORT)
+REGISTER_NET_TEMP(TE_CSQC_WEAPONCOMPLAIN)
+REGISTER_NET_TEMP(TE_CSQC_VEHICLESETUP)
+
+const int RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder
+const int RACE_NET_CHECKPOINT_CLEAR = 1;
+const int RACE_NET_CHECKPOINT_NEXT_QUALIFYING = 2; // byte nextcheckpoint, short recordtime, string recordholder
+const int RACE_NET_CHECKPOINT_HIT_RACE = 3; // byte checkpoint, short delta, byte lapsdelta, string opponent
+const int RACE_NET_CHECKPOINT_HIT_RACE_BY_OPPONENT = 4; // byte checkpoint, short delta, byte lapsdelta, string opponent
+const int RACE_NET_CHECKPOINT_NEXT_SPEC_QUALIFYING = 5; // byte nextcheckpoint, float laptime, short recordtime, string recordholder
+const int RACE_NET_PENALTY_RACE = 6; // byte penaltytime, string reason
+const int RACE_NET_PENALTY_QUALIFYING = 7; // byte penaltytime, string reason
+const int RACE_NET_SERVER_RECORD = 8; // server record, sent to client
+const int RACE_NET_SPEED_AWARD = 9; // speed award, sent to client
+const int RACE_NET_SPEED_AWARD_BEST = 10; // all time best speed award, sent to client
+const int RACE_NET_SERVER_RANKINGS = 11;
+const int RACE_NET_SERVER_STATUS = 12;
+
+REGISTER_NET_LINKED(_ENT_CLIENT_INIT)
+#ifdef CSQC
+NET_HANDLE(_ENT_CLIENT_INIT, bool isnew) { make_pure(this); return true; }
+#endif
+/** Sent as a temp entity from a persistent linked entity */
+REGISTER_NET_TEMP(ENT_CLIENT_INIT)
+
+REGISTER_NET_LINKED(ENT_CLIENT_SCORES_INFO)
+REGISTER_NET_LINKED(ENT_CLIENT_SCORES)
+REGISTER_NET_LINKED(ENT_CLIENT_TEAMSCORES)
+REGISTER_NET_LINKED(ENT_CLIENT_NAGGER) // flags [votecalledvote]
+REGISTER_NET_LINKED(ENT_CLIENT_RADARLINK) // flags [startorigin] [endorigin] [startcolor+16*endcolor]
+REGISTER_NET_LINKED(ENT_CLIENT_PROJECTILE)
+REGISTER_NET_LINKED(ENT_CLIENT_MAPVOTE)
+REGISTER_NET_LINKED(ENT_CLIENT_CLIENTDATA)
+REGISTER_NET_LINKED(ENT_CLIENT_RANDOMSEED)
+REGISTER_NET_LINKED(ENT_CLIENT_ACCURACY)
+REGISTER_NET_LINKED(ENT_CLIENT_ELIMINATEDPLAYERS)
+
+REGISTER_NET_LINKED(ENT_CLIENT_MODEL)
+
+REGISTER_NET_LINKED(ENT_CLIENT_WARPZONE)
+REGISTER_NET_LINKED(ENT_CLIENT_WARPZONE_CAMERA)
+REGISTER_NET_LINKED(ENT_CLIENT_WARPZONE_TELEPORTED)
+
+REGISTER_NET_LINKED(ENT_CLIENT_ARC_BEAM)
+REGISTER_NET_LINKED(ENT_CLIENT_HOOK)
+REGISTER_NET_LINKED(ENT_CLIENT_TUBANOTE)
+
+REGISTER_NET_LINKED(ENT_CLIENT_SPAWNPOINT)
+REGISTER_NET_LINKED(ENT_CLIENT_SPAWNEVENT)
+REGISTER_NET_LINKED(ENT_CLIENT_WALL)
index dd5f3a164b58502f1b9bdacab31c4f1789145bbf..5cf3e1c6b1493972428805f13f07535ecb3a163d 100644 (file)
@@ -4,6 +4,7 @@
 #elif defined(MENUQC)
 #elif defined(SVQC)
        #include <common/constants.qh>
+       #include <common/net_linked.qh>
        #include <common/teams.qh>
        #include <server/autocvars.qh>
        #include <server/constants.qh>
index b6dcd01f8843cc5f9310db9b93d213c4848e80ed..dc2e6f7dc0a062a2a19e8c2a611ee12b8cb14ea2 100644 (file)
@@ -89,8 +89,6 @@ void func_breakable_colormod(entity this)
                this.colormod = '1 0 0' + '0 1 0' * (2 * h - 0.5);
        else
                this.colormod = '1 1 1';
-
-       CSQCMODEL_AUTOUPDATE(this);
 }
 
 void func_breakable_look_destroyed(entity this)
@@ -113,8 +111,6 @@ void func_breakable_look_destroyed(entity this)
                this.effects &= ~EF_NODRAW;
        }
 
-       CSQCMODEL_AUTOUPDATE(this);
-
        this.solid = SOLID_NOT;
 }
 
@@ -127,8 +123,6 @@ void func_breakable_look_restore(entity this)
        if(this.mdl_dead != "") // only do this if we use mdl_dead, to behave better with misc_follow
                setorigin(this, this.dropped_origin);
 
-       CSQCMODEL_AUTOUPDATE(this);
-
        this.solid = SOLID_BSP;
 }
 
@@ -148,6 +142,12 @@ void func_breakable_behave_destroyed(entity this)
                stopsound (this, CH_TRIGGER_SINGLE);
 }
 
+void func_breakable_think(entity this)
+{
+       this.nextthink = time;
+       CSQCMODEL_AUTOUPDATE(this);
+}
+
 void func_breakable_destroy(entity this, entity actor, entity trigger);
 void func_breakable_behave_restore(entity this)
 {
@@ -168,7 +168,9 @@ void func_breakable_behave_restore(entity this)
        if(this.spawnflags & 4)
                this.use = func_breakable_destroy; // don't need to set it usually, as .use isn't reset
        this.state = 0;
-       this.nextthink = 0; // cancel auto respawn
+       //this.nextthink = 0; // cancel auto respawn
+       setthink(this, func_breakable_think);
+       this.nextthink = time + 0.1;
        func_breakable_colormod(this);
        if (this.noise1)
                _sound (this, CH_TRIGGER_SINGLE, this.noise1, VOL_BASE, ATTEN_NORM);
@@ -187,16 +189,12 @@ void func_breakable_destroyed(entity this)
 {
        func_breakable_look_destroyed(this);
        func_breakable_behave_destroyed(this);
-
-       CSQCMODEL_AUTOUPDATE(this);
 }
 
 void func_breakable_restore(entity this, entity actor, entity trigger)
 {
        func_breakable_look_restore(this);
        func_breakable_behave_restore(this);
-
-       CSQCMODEL_AUTOUPDATE(this);
 }
 
 void func_breakable_restore_self(entity this)
@@ -231,6 +229,7 @@ void func_breakable_destroy(entity this, entity actor, entity trigger)
 
        if(this.respawntime)
        {
+               CSQCMODEL_AUTOUPDATE(this);
                setthink(this, func_breakable_restore_self);
                this.nextthink = time + this.respawntime + crandom() * this.respawntimejitter;
        }
@@ -281,6 +280,7 @@ void func_breakable_damage(entity this, entity inflictor, entity attacker, float
                // do not explode NOW but in the NEXT FRAME!
                // because recursive calls to RadiusDamage are not allowed
                this.nextthink = time;
+               CSQCMODEL_AUTOUPDATE(this);
                setthink(this, func_breakable_destroy_self);
        }
 }
@@ -293,8 +293,6 @@ void func_breakable_reset(entity this)
                func_breakable_behave_destroyed(this);
        else
                func_breakable_behave_restore(this);
-
-       CSQCMODEL_AUTOUPDATE(this);
 }
 
 // destructible walls that can be used to trigger target_objective_decrease
index 0fde9e043904d00f4093fe74bcc45a9ce0a74b52..1f8cb00cb553a95623dec5d0eb10f3d0ca3c2e9f 100644 (file)
@@ -3,6 +3,7 @@
 #elif defined(MENUQC)
 #elif defined(SVQC)
     #include <common/constants.qh>
+    #include <common/net_linked.qh>
     #include <server/constants.qh>
     #include <server/defs.qh>
 #endif
index aa564565bb2c7cf591bdb298a2bdbeab66ad23a9..eff656a6e1dce2ae5f271c4de27c454a6a654dc7 100644 (file)
@@ -316,7 +316,7 @@ void W_Hagar_Attack2_Load(Weapon thiswep, entity actor, .entity weaponentity)
 {
        // loadable hagar secondary attack, must always run each frame
 
-       if(time < game_starttime || PS(actor).m_switchweapon != WEP_HAGAR)
+       if(time < game_starttime)
                return;
 
        bool loaded = actor.(weaponentity).hagar_load >= WEP_CVAR_SEC(hagar, load_max);
index d68de4a353cc8d24c0a95508e6a14bc6fa80676c..786c96016911ad25e1164d9c12643ec74cbcdce7 100644 (file)
@@ -466,12 +466,6 @@ const int TUBA_MIN = -18;
 const int TUBA_MAX = 27;
 const int TUBA_INSTRUMENTS = 3;
 
-entityclass(Tuba);
-class(Tuba) .int note;
-class(Tuba) .bool tuba_attenuate;
-class(Tuba) .float tuba_volume;
-class(Tuba) .float tuba_volume_initial;
-
 int Tuba_PitchStep;
 
 void tubasound(entity e, bool restart)
index 6f70f09beec2219624baeca92e2cd7deaa104fb4..ce6b6ede739c76fd2dd2eed274912ffce10228a2 100644 (file)
@@ -1 +1,10 @@
 #pragma once
+
+#ifdef CSQC
+entityclass(Tuba);
+class(Tuba) .int note;
+class(Tuba) .bool tuba_attenuate;
+class(Tuba) .float tuba_volume;
+class(Tuba) .float tuba_volume_initial;
+class(Tuba) .int tuba_instrument;
+#endif
index b6c3c9e01bea752c9d87f3d66685f3b9d596fedf..6408d6e3f2502aceebbe720c3151ccd8576dd9c2 100644 (file)
@@ -266,6 +266,8 @@ void make_safe_for_remove(entity this);
 #endif
 #undef ENGINE_EVENT
 
+#if XONOTIC
 #ifdef GAMEQC
        #include <ecs/_mod.qh>
 #endif
+#endif
index 4cc8458d51a4b0b359723f4f67b4db704bda544e..66613b53229ad6ef53d34a9ad43bc0b0ed413abd 100644 (file)
@@ -28,6 +28,7 @@
 #include <client/defs.qh>
 #include <client/main.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/physics/player.qh>
 #include <common/stats.qh>
 #include <common/triggers/trigger/viewloc.qh>
index 0f8ef06ac86a7fd890ca3a35bba045100b893050..dd8d5d33aaee2a8f479cd6edcc34f9047adf6730 100644 (file)
@@ -24,6 +24,7 @@
 #include "common.qh"
 #include <common/animdecide.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/util.qh>
 #include <server/constants.qh>
 #include <server/defs.qh>
index 698c9262370974781c1f0585caaba18103d19ff7..fbb4a09b5510705f71d43a0eb461ded50ece0d0d 100644 (file)
@@ -5,7 +5,7 @@
        #include "i18n.qh"
        #include "vector.qh"
 
-       #include <client/defs.qh>
+       float vid_conwidth;
 
        void Draw_CylindricLine(vector from, vector to, float thickness, string texture, float aspect, float shift, vector rgb, float theAlpha, float drawflag, vector vieworg)
        {
index 4854f092a0aba4d21b65675082913140dfb38d39..d68dc7d968ee14850297dc46b5ef744c76761a73 100644 (file)
@@ -1,3 +1,5 @@
 // generated file; do not modify
-#include <lib/matrix/command.qc>
+#if XONOTIC
+       #include <lib/matrix/command.qc>
+#endif
 #include <lib/matrix/matrix.qc>
index 965812297204137ccb73c865636c0784ca5002f3..c351afe8f7c91f41123a4d68effd731f7f79659a 100644 (file)
@@ -1,3 +1,5 @@
 // generated file; do not modify
-#include <lib/matrix/command.qh>
+#if XONOTIC
+       #include <lib/matrix/command.qh>
+#endif
 #include <lib/matrix/matrix.qh>
index 30ab014ec988f1a2fae062bbe36115b003257872..56c80e02d1b13ca5dcf66105aa597bb7c28d67f3 100644 (file)
@@ -298,6 +298,7 @@ USING(Stream, int);
        #define APPROXPASTTIME_RANGE (64 * APPROXPASTTIME_ACCURACY_REQUIREMENT)
 
        #ifdef CSQC
+               float servertime;
                entity ReadCSQCEntity()
                {
                        int f = ReadShort();
@@ -313,7 +314,7 @@ USING(Stream, int);
                #define ReadInt48_t() vec3(ReadInt24_t(), ReadInt24_t(), 0)
                #define ReadInt72_t() vec3(ReadInt24_t(), ReadInt24_t(), ReadInt24_t())
 
-               int _ReadSByte;
+               noref int _ReadSByte;
                #define ReadSByte() (_ReadSByte = ReadByte(), (_ReadSByte & BIT(7) ? -128 : 0) + (_ReadSByte & BITS(7)))
                #define ReadFloat() ReadCoord()
                #define ReadVector() vec3(ReadFloat(), ReadFloat(), ReadFloat())
index 51d0e15ee53a4e80a786c0f5375a13e159b59e7c..116ad00023ae98b1a4321c609698298a2dd46f0b 100644 (file)
@@ -5,9 +5,9 @@
 #elif defined(MENUQC)
 #elif defined(SVQC)
        #include <common/constants.qh>
+       #include <common/net_linked.qh>
        #include <common/triggers/subs.qh>
        #include <common/util.qh>
-       #include <server/command/_mod.qh>
        #include <server/constants.qh>
        #include <server/defs.qh>
 #endif
index bdde55b9aa94683b7ffb0901229203fb1ff59116..2a7478dee2d7688322dfa3006b4534957159bcd3 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <common/physics/player.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/mapinfo.qh>
 #include <common/teams.qh>
 #include <common/util.qh>
index 806ffc9c4a91dbadff158d6ca40d274114c39be7..0613ab403d9f73e7c9a2ba03aa42580668d740d0 100644 (file)
@@ -9,6 +9,7 @@
 #include "../waypoints.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/physics/player.qh>
 #include <common/state.qh>
 #include <common/items/_mod.qh>
index 17f61af141ff7c8b08a3d736011ae9a77043c705..7c71720c4c80ee49dfc2538093297ea65a8109d0 100644 (file)
@@ -10,6 +10,7 @@
 #include <common/items/_mod.qh>
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/triggers/trigger/jumppads.qh>
 
 .float speed;
index 5fb923799acfa41f863414a7ed96d33253874acd..c83d0f63c58dc2c4e3ebae76e9c50593ce85bd8c 100644 (file)
@@ -10,6 +10,7 @@
 #include "../../antilag.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 
 #include <lib/warpzone/common.qh>
 #include <lib/warpzone/util_server.qh>
index 2a1340408652430f9d734179b03cc6bfde26a734..6ce1cd62f9234f5fcc91aed550c75863215b66b3 100644 (file)
@@ -37,6 +37,7 @@
 #include "weapons/weaponsystem.qh"
 
 #include "../common/net_notice.qh"
+#include "../common/net_linked.qh"
 #include "../common/physics/player.qh"
 
 #include "../common/items/_mod.qh"
@@ -1281,6 +1282,8 @@ void ClientDisconnect(entity this)
        this.playerid = 0;
        ReadyCount();
        if (vote_called && IS_REAL_CLIENT(this)) VoteCount(false);
+
+       ONREMOVE(this);
 }
 
 void ChatBubbleThink(entity this)
index 9380fc4cde280f0cd9fda57a24cd6bddbd41da56..5017e81aba03014d4d325c3ddbb56fe0b9e36e2e 100644 (file)
@@ -5,6 +5,7 @@
 #include "../race.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/mapinfo.qh>
 #include <common/util.qh>
 
index a329ac9965efe463b052d92a24ac64b6ccddea1a..cbc65680a0aed6dcf309bd88ebd5069c61f87b5e 100644 (file)
@@ -21,6 +21,7 @@
 #include "../mutators/_mod.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/mapinfo.qh>
 #include <common/notifications/all.qh>
 #include <common/teams.qh>
index 361f1284436f9f85520c4902d80dfae92ea58203..d1cdb7e59db5a2c766aeb76ef907c7a5a198f64b 100644 (file)
@@ -13,6 +13,7 @@
 #include "../mutators/_mod.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/mapinfo.qh>
 #include <common/notifications/all.qh>
 #include <common/playerstats.qh>
index e50a066618f91784c0e74aa0fb0acc0649382e7c..36e1e4e52ba2458cab620ac962d1b9af6fc634ae 100644 (file)
@@ -13,6 +13,7 @@
 #include "../common/vehicles/all.qh"
 #include "../common/constants.qh"
 #include "../common/util.qh"
+#include <common/net_linked.qh>
 #include <common/weapons/_all.qh>
 #include "../lib/warpzone/common.qh"
 #include "../lib/warpzone/server.qh"
index 58fb26a4ed4a0acd1ed272252e3dbeac39bf7257..3ca062b78430e338f003d53f4f80b3496dbe42cb 100644 (file)
@@ -1,6 +1,7 @@
 #include "g_models.qh"
 
 #include "g_subs.qh"
+#include <common/net_linked.qh>
 #include "../common/triggers/subs.qh"
 #include "../common/triggers/triggers.qh"
 
index 8e8dce9b12080abd58a7ff9ac91fd9bd2de9f317..4a9656d26ad40853dc511609309f79dca8fcbbcc 100644 (file)
@@ -19,6 +19,7 @@
 #include "teamplay.qh"
 #include "weapons/weaponstats.qh"
 #include "../common/constants.qh"
+#include <common/net_linked.qh>
 #include "../common/deathtypes/all.qh"
 #include "../common/mapinfo.qh"
 #include "../common/monsters/_mod.qh"
index 7c7c02018c2afb1f664cab59800734bdca75606b..2ea425692c1d5ead09c22889c91237190e8f1321 100644 (file)
@@ -4,6 +4,7 @@
 #include "command/cmd.qh"
 #include "command/getreplies.qh"
 #include "../common/constants.qh"
+#include <common/net_linked.qh>
 #include "../common/mapinfo.qh"
 #include "../common/playerstats.qh"
 #include "../common/util.qh"
index 35f0f227e77ee4c18859d3c10ef55c658aa78d21..220ebc3af1c800006a7c34efd9641b12e5f8b758 100644 (file)
@@ -11,6 +11,7 @@
 #include "weapons/selection.qh"
 #include "../common/command/_mod.qh"
 #include "../common/constants.qh"
+#include <common/net_linked.qh>
 #include "../common/deathtypes/all.qh"
 #include "../common/mapinfo.qh"
 #include "../common/notifications/all.qh"
index 1000a5105ba25da7332711ae91b3b6c3d0323f3e..1a8ada45fe306f9156bf74e789acf51de830f1bf 100644 (file)
@@ -2,9 +2,9 @@
 
 #if XONOTIC
 #include <server/_all.inc>
-#endif
 
 #include <ecs/_mod.inc>
+#endif
 
 #ifdef BUILD_MOD
 #include <mod/server/progs.inc>
index 8fc38aa2c5e028ed1d44f8cd5f3b7128454ddda9..545fb2a85949a1317e8d8cac910101f79dd7f32c 100644 (file)
@@ -9,6 +9,7 @@
 #include "../common/deathtypes/all.qh"
 #include "../common/notifications/all.qh"
 #include "../common/mapinfo.qh"
+#include <common/net_linked.qh>
 #include "../common/triggers/subs.qh"
 #include "../lib/warpzone/util_server.qh"
 #include "../lib/warpzone/common.qh"
index 94bea2b44a662428e8259e36a0b08941f18e91d3..e6264b8693b4b360b7e8ad7c4a3b8f6c61a67e6c 100644 (file)
@@ -2,6 +2,7 @@
 
 #include "command/common.qh"
 #include "mutators/_mod.qh"
+#include <common/net_linked.qh>
 #include "../common/playerstats.qh"
 #include "../common/teams.qh"
 
index 18d32c2f06369b05dd5be39db868aca414a10d44..517bc1892ca8541c77f8b35d4bb9c969c6d6cd7a 100644 (file)
@@ -4,6 +4,7 @@
 #include "g_world.qh"
 #include "race.qh"
 #include "../common/constants.qh"
+#include <common/net_linked.qh>
 #include "../common/teams.qh"
 #include "../common/triggers/subs.qh"
 #include "../common/util.qh"
index ed9006bb25eb493e2af8b5bfdb2dde217c5d0e70..7cc06da3e6dc05b32595b85556ff43d4ecb11225 100644 (file)
@@ -2,6 +2,7 @@
 
 #include "../mutators/_mod.qh"
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/teams.qh>
 #include <common/util.qh>
 #include <common/weapons/_all.qh>
index 03031c1580ac20a1ea3765190e4a58feda89c88a..6d163755067def2224a973db9bc311f1dcb60770 100644 (file)
@@ -2,6 +2,7 @@
 
 #include <common/t_items.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/deathtypes/all.qh>
 #include <common/notifications/all.qh>
 #include <common/util.qh>
index a8a893e217700750b4364106ba7fd6065ac3ae8f..9fcfd34c205b712ee1ff716693cd18415a860dbc 100644 (file)
@@ -5,6 +5,7 @@
 #include "../command/common.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/weapons/_all.qh>
 
 .float csqcprojectile_type;
index b3075928cb4433a83e120214bd8e0f4d80e78b6f..d7d8fc9c1fbd6b5a854751aed15452ec00585234 100644 (file)
@@ -3,6 +3,7 @@
 #include "weaponsystem.qh"
 #include <common/t_items.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/util.qh>
 #include <common/items/item.qh>
 #include <common/weapons/_all.qh>
index 8e6d2eabf1e2aca1ba608bcc198cce4be5d1b712..1417717e834e33270ed355d891a450bb73767938 100644 (file)
@@ -10,6 +10,7 @@
 #include "../antilag.qh"
 
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/util.qh>
 
 #include <common/weapons/_all.qh>
index 0d26aaa403ca4c3d4b6a394846deb6b0a71c3944..6139f2879cbf8e04718e18f7fc7848710c654532 100644 (file)
@@ -8,6 +8,7 @@
 #include <common/t_items.qh>
 #include <common/animdecide.qh>
 #include <common/constants.qh>
+#include <common/net_linked.qh>
 #include <common/monsters/_mod.qh>
 #include <common/notifications/all.qh>
 #include <common/util.qh>