Merge branch 'master' into Mario/wepent_experimental
authorMario <mario@smbclan.net>
Mon, 17 Oct 2016 13:37:30 +0000 (23:37 +1000)
committerMario <mario@smbclan.net>
Mon, 17 Oct 2016 13:37:30 +0000 (23:37 +1000)
.gitlab-ci.yml
gamemodes.cfg
qcsrc/client/csqcmodel_hooks.qc
qcsrc/client/hud/panel/scoreboard.qc
qcsrc/client/mutators/events.qh
qcsrc/common/gamemodes/gamemode/nexball/nexball.qc
qcsrc/common/physics/player.qc
qcsrc/ecs/systems/cl_physics.qc
qcsrc/ecs/systems/physics.qc
qcsrc/ecs/systems/sv_physics.qc
qcsrc/lib/csqcmodel/cl_model.qc

index 7d5bb7b4930b3dd733427db7a9f8b7d674477bb2..ca68171be7bd7725de37c58f8c34bdb120894ef6 100644 (file)
@@ -30,7 +30,7 @@ test_sv_game:
     - wget -O data/maps/g-23.waypoints.cache https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/g-23.waypoints.cache
     - wget -O data/maps/g-23.waypoints.hardwired https://gitlab.com/xonotic/xonotic-maps.pk3dir/raw/master/maps/g-23.waypoints.hardwired
     - make
-    - EXPECT=3134955e1b2af87635ba19947dccc2a4
+    - EXPECT=f17c2b4e7a8619ff77983de267669802
     - HASH=$(${ENGINE} -noconfig -nohome +exec serverbench.cfg
       | tee /dev/stderr
       | grep '^:'
index 7d776b3b77fa5bc76c9fce1fc4ea7b0682da4737..71f0dc1792200bea112c846ba847e47c7526bf29 100644 (file)
@@ -489,6 +489,7 @@ set g_nexball_sound_bounce   1    "bouncing sound (0: off)"
 set g_nexball_basketball_trail  1  "1 to leave a trail"
 set g_nexball_football_trail    0  "1 to leave a trail"
 set g_nexball_trail_color     254  "1-256 for different colors (Quake palette, 254 is white)"
+set g_nexball_playerclip_collisions 1 "make the ball bounce off clips"
 set g_nexball_radar_showallplayers 1  "1: show every player and the ball on the radar  0: only show teammates and the ball on the radar"
 seta g_nexball_safepass_maxdist 5000 "Max distance to allow save fassping (0 to turn off safe passing)"
 seta g_nexball_safepass_turnrate 0.1 "How fast the safe-pass ball can habge direction"
index 0643bb09d5b37e3bdd7b014f13964959ab837484..104465360770beaddc14298f06d2872f0d2d6d1f 100644 (file)
@@ -392,8 +392,6 @@ void CSQCModel_AutoTagIndex_Apply(entity this)
        if(this.tag_entity && wasfreed(this.tag_entity))
                this.tag_entity = NULL;
 
-       viewloc_SetTags(this);
-
        MUTATOR_CALLHOOK(TagIndex_Update, this);
 
        if(this.tag_networkentity)
index 2361ccff7a0a585ed1e5a7d444d4aad051a37612..117badbec4e1baf80aca961ff8d22042534d8dd2 100644 (file)
@@ -1090,7 +1090,9 @@ vector Scoreboard_MakeTable(vector pos, entity tm, vector rgb, vector bg_size)
 
 bool Scoreboard_WouldDraw()
 {
-       if (QuickMenu_IsOpened())
+       if (MUTATOR_CALLHOOK(DrawScoreboard))
+               return false;
+       else if (QuickMenu_IsOpened())
                return false;
        else if (HUD_Radar_Clickable())
                return false;
index 1792183f1ccd6e5f5d7da6f9ca3ef1969b175397..74090e14d6992749c8b747c04894a20279c8d7bf 100644 (file)
@@ -154,3 +154,6 @@ MUTATOR_HOOKABLE(Ent_Update, EV_Ent_Update);
 
 /** Return true to not draw crosshair */
 MUTATOR_HOOKABLE(DrawCrosshair, EV_NO_ARGS);
+
+/** Return true to not draw scoreboard */
+MUTATOR_HOOKABLE(DrawScoreboard, EV_NO_ARGS);
index 4fffabdcdedfea21dafa92f6874b0c64944fd88d..2cad55f166da384fd9c254179b028dc5079530a6 100644 (file)
@@ -34,6 +34,7 @@ float autocvar_g_nexball_football_bouncestop;
 bool autocvar_g_nexball_radar_showallplayers;
 bool autocvar_g_nexball_sound_bounce;
 int autocvar_g_nexball_trail_color;
+bool autocvar_g_nexball_playerclip_collisions = true;
 
 float autocvar_g_nexball_safepass_turnrate;
 float autocvar_g_nexball_safepass_maxdist;
@@ -553,6 +554,12 @@ void SpawnBall(entity this)
 
        set_movetype(this, MOVETYPE_FLY);
 
+       if(autocvar_g_nexball_playerclip_collisions)
+       {
+               this.dphitcontentsmask = DPCONTENTS_BODY | DPCONTENTS_SOLID | DPCONTENTS_PLAYERCLIP;
+               this.dphitcontentsmask |= DPCONTENTS_PLAYERCLIP;
+       }
+
        if(!autocvar_g_nexball_sound_bounce)
                this.noise = "";
        else if(this.noise == "")
index fd57e974ac8c242773500ec2edfd835655528adc..76b81266ed95c1cb6caa6caf90eb48abc67c1671 100644 (file)
@@ -682,8 +682,6 @@ void PM_check_blocked(entity this)
 #endif
 }
 
-.vector oldmovement;
-
 void PM_jetpack(entity this, float maxspd_mod, float dt)
 {
        //makevectors(this.v_angle.y * '0 1 0');
index f90afcb529f40f7f2a75bed0e6cf7a0fb043f1e8..f74e9c2d5526c895fd8b28c1bdd9bb7a884faef0 100644 (file)
@@ -4,7 +4,6 @@ void sys_phys_fix(entity this, float dt)
 {
        this.team = myteam + 1; // is this correct?
        PHYS_WATERJUMP_TIME(this) -= dt;
-       this.oldmovement = this.movement;
        this.movement = PHYS_INPUT_MOVEVALUES(this);
        this.items = STAT(ITEMS, this);
        this.spectatorspeed = STAT(SPECTATORSPEED, this);
index a08422dcfad666dd56780211cad37a9497dc17e3..b25c93b2d3d3177342e8994b12a29b26ecceb7dd 100644 (file)
@@ -217,7 +217,7 @@ void sys_phys_simulate(entity this, float dt)
        }
        if (this.com_phys_ladder) {
                if (this.viewloc) {
-                       wishvel.z = this.oldmovement.x;
+                       wishvel.z = this.movement_old.x;
                }
                if (this.ladder_entity.classname == "func_water") {
                        float f = vlen(wishvel);
index 76e43eb0badd58329a8ceb4055d792f9407ee399..904ebba3fe5ccbea2b1f1aefaa55f502dd67450b 100644 (file)
@@ -4,7 +4,6 @@ void sys_phys_fix(entity this, float dt)
 {
        WarpZone_PlayerPhysics_FixVAngle(this);
        Physics_UpdateStats(this, PHYS_HIGHSPEED(this));
-       this.oldmovement = this.movement;
 }
 
 bool sys_phys_override(entity this, float dt)
index 7f55a3c10f13b6a62518533321513a2f3fc02196..e4e1d536aa85eb84175ec0e3350d3f14678f86ba 100644 (file)
@@ -275,6 +275,9 @@ NET_HANDLE(ENT_CLIENT_MODEL, bool isnew)
                this.csqcmodel_teleported = 1;
        }
 
+       if(sf & BIT(14))
+               viewloc_SetTags(this);
+
        CSQCModel_InterpolateAnimation_Note(this, sf);
        InterpolateOrigin_Note(this);
        CSQCPlayer_PostUpdate(this);