]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote-tracking branch 'origin/master' into samual/notification_rewrite
authorSamual Lenks <samual@xonotic.org>
Tue, 15 Jan 2013 03:11:34 +0000 (22:11 -0500)
committerSamual Lenks <samual@xonotic.org>
Tue, 15 Jan 2013 03:11:34 +0000 (22:11 -0500)
19 files changed:
qcsrc/client/Main.qc
qcsrc/client/casings.qc
qcsrc/client/gibs.qc
qcsrc/client/laser.qc
qcsrc/client/modeleffects.qc
qcsrc/client/particles.qc
qcsrc/client/projectile.qc
qcsrc/client/shownames.qc
qcsrc/client/teamradar.qc
qcsrc/client/tturrets.qc
qcsrc/client/wall.qc
qcsrc/client/waypointsprites.qc
qcsrc/common/mapinfo.qc
qcsrc/csqcmodellib/interpolate.qc
qcsrc/server/bot/bot.qc
qcsrc/server/playerstats.qc
qcsrc/server/playerstats.qh
qcsrc/server/scores.qc
qcsrc/server/sv_main.qc

index 29ff3d52c9e2e62756abfa0f89eda970f4dc8e8d..30cadd5cf0bdeefeff29af3e9d2a2d9219d12729 100644 (file)
@@ -432,6 +432,7 @@ void Ent_ReadEntCS()
                self.origin_x = ReadShort();
                self.origin_y = ReadShort();
                self.origin_z = ReadShort();
+               setorigin(self, self.origin);
        }
        if(sf & 4)
        {
index a43d1726fcdce42a09aa30356391dc25cca57ac1..70ed9f4b07d74b597a39d67968bf99bdba7cd807 100644 (file)
@@ -84,6 +84,7 @@ void Ent_Casing(float isNew)
        casing.origin_x = ReadCoord();
        casing.origin_y = ReadCoord();
        casing.origin_z = ReadCoord();
+       setorigin(casing, casing.origin);
        casing.velocity = decompressShortVector(ReadShort());
        casing.angles_x = ReadByte() * 360 / 256;
        casing.angles_y = ReadByte() * 360 / 256;
index 5f6599f183da88394acab16ff586b69a793bef75..9e1c6e7a1395faf93d89ca7234aad0d031bdbbf2 100644 (file)
@@ -138,7 +138,8 @@ void TossGib (string mdlname, vector safeorg, vector org, vector vconst, vector
                org = trace_endpos;
        }
 
-       gib.move_origin = gib.origin = org;
+       gib.move_origin = org;
+       setorigin(gib, org);
        gib.move_velocity = vconst * autocvar_cl_gibs_velocity_scale + vrand * autocvar_cl_gibs_velocity_random + '0 0 1' * autocvar_cl_gibs_velocity_up;
        gib.move_avelocity = prandomvec() * vlen(gib.move_velocity) * autocvar_cl_gibs_avelocity_scale;
        gib.move_time = time;
@@ -193,7 +194,7 @@ void Ent_GibSplash(float isNew)
        if(amount <= 0 || !isNew)
                return;
 
-       self.origin = org; // for the sounds
+       setorigin(self, org); // for the sounds
 
        specnum = (type & 0x78) / 8; // blood/gibmodel type: using four bits (0..7, bit indexes 3,4,5)
        issilent = (type & 0x40);
index a91e13b01991e52517af210079478858eb0faae7..c5475d7a63a3cb738f1cb387930169794f233a6f 100644 (file)
@@ -85,6 +85,7 @@ void Ent_Laser()
                self.origin_x = ReadCoord();
                self.origin_y = ReadCoord();
                self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
        }
        if(f & 8)
        {
index 1b546534919412bfb7f92bb48ac6d71ed00014d6..0508a8669a984ab102530a5403c1e59a7aa20667 100644 (file)
@@ -6,7 +6,7 @@
 void ModelEffect_Draw()
 {
        self.angles = self.angles + frametime * self.avelocity;
-       self.origin = self.origin + frametime * self.velocity;
+       setorigin(self, self.origin + frametime * self.velocity);
        self.scale = self.scale1 + (self.scale2 - self.scale1) * (time - self.teleport_time) / (self.lifetime + self.fadetime - self.teleport_time);
        self.alpha = self.cnt * bound(0, 1 - (time - self.lifetime) / self.fadetime, 1);
        if(self.alpha < ALPHA_MIN_VISIBLE)
@@ -41,6 +41,7 @@ void Ent_ModelEffect(float isNew)
        e.origin_x = ReadCoord();
        e.origin_y = ReadCoord();
        e.origin_z = ReadCoord();
+       setorigin(e, e.origin);
        if(f & 1)
        {
                e.velocity_x = ReadCoord();
index 6e24893b02e005b08d9b3e142dad4d70e6c1efd7..3e2222f4aae07fc017cde94d3895caa779919bc3 100644 (file)
@@ -57,7 +57,7 @@ void Draw_PointParticles()
                        }
                        if(self.noise != "")
                        {
-                               self.origin = p;
+                               setorigin(self, p);
                                sound(self, CH_AMBIENT, self.noise, VOL_BASE * self.volume, self.atten);
                        }
                        self.just_toggled = 0;
@@ -68,7 +68,7 @@ void Draw_PointParticles()
                        --i;
                }
        }
-       self.origin = o;
+       setorigin(self, o);
 }
 
 void Ent_PointParticles_Remove()
index 10f47b446634a6a53a2f21d827bd6ca704490941..25032806eb9df5029a3066f69eb5b4aacf643cde 100644 (file)
@@ -222,6 +222,7 @@ void Ent_Projectile()
                self.origin_x = ReadCoord();
                self.origin_y = ReadCoord();
                self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
                if(self.count & 0x80)
                {
                        self.velocity_x = ReadCoord();
@@ -421,6 +422,7 @@ void Ent_Projectile()
                        default:
                                break;
                }
+               setsize(self, self.mins, self.maxs);
        }
 
        if(self.gravity)
index 3c0c70cf5d6c0809d3eba0baf365c79ded14fac6..3bc231c254ffa4991b6d59acd73286880a952aeb 100644 (file)
@@ -215,7 +215,7 @@ void Draw_ShowNames_All()
                        e.sameteam = 0;
                }
 
-               e.origin = getplayerorigin(i);
+               setorigin(e, getplayerorigin(i));
                if(e.origin == GETPLAYERORIGIN_ERROR)
                        continue;
                        
index f3ec99bfeebb526424a95dd5bf21cc7e84433b8f..e5dcc00f2c911ffe2d650ed83007d309aa0f6f22 100644 (file)
@@ -211,6 +211,7 @@ void Ent_RadarLink()
                self.origin_x = ReadCoord();
                self.origin_y = ReadCoord();
                self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
        }
 
        if(sendflags & 2)
index 01553891f15e92b363cdf5d25fe559504118dea9..6ac004c7b9e003b7cf445d22f15d4cbd3dcf2747 100644 (file)
@@ -542,7 +542,8 @@ entity turret_gibtoss(string _model, vector _from, vector _to, vector _cmod, flo
     
     gib.gravity         = 1;
        gib.move_movetype   = MOVETYPE_BOUNCE;
-       gib.move_origin     = gib.origin = _from;
+       gib.move_origin     = _from;
+       setorigin(gib,        _from);
        gib.move_velocity   = _to;      
        gib.move_avelocity  = prandomvec() * 32;
        gib.move_time       = time;
@@ -605,6 +606,7 @@ void ent_turret()
            self.origin_x = ReadCoord();
            self.origin_y = ReadCoord();
            self.origin_z = ReadCoord();
+           setorigin(self, self.origin);
            
            self.angles_x = ReadAngle();
            self.angles_y = ReadAngle();
index e68a62c986a886823cf62cbc90b4b9dea8358dae..3d5aa138ffb07f0689dd544db9919f1a9e092301 100644 (file)
@@ -98,6 +98,7 @@ void Ent_Wall()
                self.origin_x = ReadCoord();
                self.origin_y = ReadCoord();
                self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
        }
 
        if(f & 4)
@@ -141,6 +142,7 @@ void Ent_Wall()
                }
                else
                        self.mins = self.maxs = '0 0 0';
+               setsize(self, self.mins, self.maxs);
 
                if(self.bgmscript)
                        strunzone(self.bgmscript);
index 9cac6bf6eb0250b246771ed1e0e524dde324bb8c..8714383896d18163b0da5f25665b36cda85262c8 100644 (file)
@@ -688,6 +688,7 @@ void Ent_WaypointSprite()
                self.origin_x = ReadCoord();
                self.origin_y = ReadCoord();
                self.origin_z = ReadCoord();
+               setorigin(self, self.origin);
        }
 
        if(sendflags & 1)
index ee46d5eab2ab85bdcabb18e0641086cded0135cb..f7ced420579acb32837ea61f04511d39ddac86f5 100644 (file)
@@ -38,7 +38,7 @@ void MapInfo_Cache_Store()
                return;
 
        s = db_get(_MapInfo_Cache_DB_NameToIndex, MapInfo_Map_bspname);
-       if(s != "")
+       if(s == "")
        {
                i = buf_getsize(_MapInfo_Cache_Buf_IndexToMapData);
                db_put(_MapInfo_Cache_DB_NameToIndex, MapInfo_Map_bspname, ftos(i));
index ac0ba6e7d70ac7cb56fbc8673a4abec027b513b9..55f134126fd7472eb1a33b1ba9a8a7d00d0b979a 100644 (file)
@@ -116,7 +116,7 @@ void InterpolateOrigin_Do()
 }
 void InterpolateOrigin_Undo()
 {
-       self.origin = self.iorigin2;
+       setorigin(self, self.iorigin2);
        if(self.iflags & IFLAG_ANGLES)
                self.angles = fixedvectoangles2(self.iforward2, self.iup2);
        if(self.iflags & IFLAG_VELOCITY)
index 1030075d38d1468e5d8117c7f29dcb3e9b3e1d31..b2e20e776435478bf7454d3eadef79ce5e989e5f 100644 (file)
@@ -142,6 +142,8 @@ void bot_setnameandstuff()
                        if(substring(readfile, 0, 1) == "#")
                                continue;
                        tokens = tokenizebyseparator(readfile, "\t");
+                       if(tokens == 0)
+                               continue;
                        s = argv(0);
                        prio = 1;
                        FOR_EACH_CLIENT(p)
index 46e30bb99c11ecbc85da7919b89e941c03af5bd5..f18c81e0a501f46bed2fb178c91cf70f703165b0 100644 (file)
@@ -366,10 +366,12 @@ void PlayerStats_AddGlobalInfo(entity p)
        p.playerstats_id = string_null;
 }
 
+.float visual_rank;
 void PlayerStats_EndMatch(float finished)
 {
-       entity p, winner;
-       winner = PlayerScore_Sort(score_dummyfield, 0);
+       entity p;
+       PlayerScore_Sort(score_dummyfield, 0);
+       PlayerScore_Sort(visual_rank, 1);
        FOR_EACH_CLIENT(p) // spectators intentionally not included
        {
                //PlayerStats_Accuracy(p); // stats are already written with PlayerStats_AddGlobalInfo(entity), don't double them up.
@@ -393,6 +395,7 @@ void PlayerStats_EndMatch(float finished)
                        PlayerStats_Event(p, PLAYERSTATS_WINS, p.winning);
                        PlayerStats_Event(p, PLAYERSTATS_MATCHES, 1);
                        PlayerStats_Event(p, PLAYERSTATS_RANK, p.score_dummyfield);
+                       PlayerStats_Event(p, PLAYERSTATS_VISUAL_RANK, p.visual_rank);
                }
        }
 }
index 11a311028d9d13c70ffdbeb32999c852d5cc1183..3702deba50d20686fc1928005ed3cb61e6f2d130 100644 (file)
@@ -6,6 +6,7 @@ string PLAYERSTATS_MATCHES = "matches";
 string PLAYERSTATS_JOINS = "joins";
 string PLAYERSTATS_SCOREBOARD_VALID = "scoreboardvalid";
 string PLAYERSTATS_RANK = "rank";
+string PLAYERSTATS_VISUAL_RANK = "visual-rank";
 
 string PLAYERSTATS_TOTAL = "total-";
 string PLAYERSTATS_SCOREBOARD = "scoreboard-";
index 1104b6f901da3e7eba594b2993048c4fa268f66d..2465cbc89859c4fb811a9cc691542eadcc860b36 100644 (file)
@@ -725,7 +725,7 @@ entity PlayerScore_Sort(.float field, float strict)
                if(!plast || PlayerTeamScore_Compare(plast, pbest, 0))
                        j = i;
 
-               pbest.field = ++i;
+               pbest.field = j;
 
                if not(pfirst)
                        pfirst = pbest;
index 63d91f6070ca3ecee2ecb56527f7a0c6710c9a98..c91c1ac1895ecae9d49667175258f3b91b9f9486 100644 (file)
@@ -43,7 +43,18 @@ void CreatureFrame (void)
                        {
                                self.dmgtime = time + autocvar_g_balance_contents_damagerate; 
                                
-                               if (!projectile)
+                               if (projectile)
+                               {
+                                       if (self.watertype == CONTENT_LAVA)
+                                       {
+                                               Damage (self, world, world, autocvar_g_balance_contents_projectiledamage * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
+                                       }
+                                       else if (self.watertype == CONTENT_SLIME)
+                                       {
+                                               Damage (self, world, world, autocvar_g_balance_contents_projectiledamage * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
+                                       }
+                               }
+                               else
                                {
                                        if (self.watertype == CONTENT_LAVA)
                                        {
@@ -64,10 +75,6 @@ void CreatureFrame (void)
                                                Damage (self, world, world, autocvar_g_balance_contents_playerdamage_slime * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
                                        }
                                }
-                               else if ((self.watertype == CONTENT_LAVA) || (self.watertype == CONTENT_SLIME))
-                               {
-                                       Damage (self, world, world, autocvar_g_balance_contents_projectiledamage * autocvar_g_balance_contents_damagerate * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
-                               }
                        }
                }
                else