]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'origin/master' into divVerent/crypto2
authorRudolf Polzer <divverent@alientrap.org>
Thu, 23 Sep 2010 07:56:27 +0000 (09:56 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Thu, 23 Sep 2010 07:56:27 +0000 (09:56 +0200)
25 files changed:
defaultXonotic.cfg
physicsLeeStricklin.cfg
qcsrc/client/hook.qc
qcsrc/client/hud.qc
qcsrc/server/g_damage.qc
qcsrc/server/g_triggers.qc
qcsrc/server/t_teleporters.qc
qcsrc/server/teamplay.qc
qcsrc/warpzonelib/common.qc
qcsrc/warpzonelib/server.qc
sound/nexball/shoot1.ogg [new file with mode: 0644]
sound/nexball/shoot1.wav [deleted file]
sound/weather/--tenshihan.txt [new file with mode: 0644]
sound/weather/rain_1.ogg [deleted file]
sound/weather/rain_1.wav [new file with mode: 0644]
sound/weather/rain_loud.wav [new file with mode: 0644]
sound/weather/rain_medium.wav [new file with mode: 0644]
sound/weather/rain_quiet.wav [new file with mode: 0644]
sound/weather/rain_wind_thunder.wav [new file with mode: 0644]
sound/weather/thunder_background.wav [new file with mode: 0644]
sound/weather/thunder_crack.wav [new file with mode: 0644]
sound/weather/thunder_rain.wav [new file with mode: 0644]
sound/weather/wind_ambience.wav [new file with mode: 0644]
sound/weather/wind_scary.wav [new file with mode: 0644]
sound/weather/wind_strong.wav [new file with mode: 0644]

index 76975af2918b16c39be6e03eb02c0500e235d6f4..9ec48d1218b3469471ed2be9fb9aab6333ca05d6 100644 (file)
@@ -209,7 +209,7 @@ seta cl_zoomspeed 3.5       "how fast it will zoom (0.5-16), negative values mean inst
 seta cl_zoomsensitivity 0      "how zoom changes sensitivity (0 = weakest, 1 = strongest)"
 freelook 1
 sensitivity 6
-v_gamma 1.125000
+v_gamma 1
 viewsize 100
 bgmvolume 1
 volume 0.5
@@ -1118,6 +1118,7 @@ set quit_and_redirect ""  "set to an IP to redirect all players at the end of the
 
 // singleplayer campaign
 set g_campaign 0
+set g_campaign_forceteam 0 "Forces the player to a given team in campaign mode, 1 = red, 2 = blue, 3 = yellow, 4 = pink"
 seta g_campaign_name "xonotic25"
 set g_campaign_skill 0
 set g_campaignxonotic20_index 0
index b162e5f80096f1d8ea2d970afc348f5aa80976dc..13f0530db6c1aac799cd55296c1bb35c39586352 100644 (file)
@@ -1,33 +1,32 @@
-// These have been modified from Nexuiz 2.4.2's physicsQBR.cfg file
-sv_gravity 800
-sv_gravity 802
-sv_maxspeed 417
-sv_maxairspeed 202
+// These have been modified from Nexuiz 2.4.2's physicsQBR.cfg file and a bunch of other crap div0 threw on here :P
+// DO NOT SCREW WITH friction on land, edge friction, step height, or sv_airaccel_qw
+
+sv_gravity 818
+sv_maxspeed 420
+sv_maxairspeed 283
 sv_stopspeed 100
-sv_accelerate 5.8
-sv_airaccelerate 5.5
-sv_friction 4.1
-edgefriction 1
-sv_stepheight 34
-sv_jumpvelocity 307
+sv_accelerate 14
+sv_airaccelerate 8
+sv_friction 9.6 // higher values make you slide less
+edgefriction 1 // div0 says no! lol
+sv_stepheight 34 // was told by divVerent not to mess with this, possibly to avoid breaking maps
+sv_jumpvelocity 308
 sv_wateraccelerate -1
 sv_waterfriction -1
-sv_airaccel_sideways_friction 0.207
-sv_airaccel_qw -0.93
+sv_airaccel_sideways_friction 0 // pain in the ass to tweak without screwing up the strafing
+sv_airaccel_qw -0.93 //given a negative value to combat potential cheats, was told by divVerent not to mess with it
 sv_airstopaccelerate 0
 sv_airstrafeaccelerate 0
 sv_maxairstrafespeed 0
-sv_airstrafeaccel_qw 0
 sv_aircontrol 0
-sv_aircontrol_penalty 0
 sv_aircontrol_power 2
-sv_airspeedlimit_nonqw 0
 sv_warsowbunny_turnaccel 0
 sv_warsowbunny_accel 0.1593
 sv_warsowbunny_topspeed 925
 sv_warsowbunny_backtosideratio 0.8
-sv_friction_on_land 0
+sv_friction_on_land 0 //Was told not to mess with this by divVerent, can cause hell for anti-lag
 sv_doublejump 0
 sv_jumpspeedcap_min ""
-sv_jumpspeedcap_max ""
-sv_jumpspeedcap_max_disable_on_ramps 0
+sv_jumpspeedcap_max 0.38
+sv_jumpspeedcap_max_disable_on_ramps 1
+
index 06858d597aa917a126e1e46cc50354458973afa0..c1e8383aa6daf415356034b8b2bda1bc13193e7c 100644 (file)
@@ -53,6 +53,7 @@ void Draw_GrapplingHook_trace_callback(vector start, vector hit, vector end)
        Draw_GrapplingHook_trace_callback_rnd += 0.25 * vlen(hit - start) / 8;
 }
 
+.float teleport_time;
 void Draw_GrapplingHook()
 {
        vector a, b, atrans;
@@ -63,6 +64,13 @@ void Draw_GrapplingHook()
        vector vs;
        float intensity, offset;
 
+       if(self.teleport_time)
+       if(time > self.teleport_time)
+       {
+               sound (self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM); // safeguard
+               self.teleport_time = 0;
+       }
+
        InterpolateOrigin_Do();
 
        s = cvar("cl_gunalign");
@@ -253,7 +261,7 @@ void Ent_ReadHook(float bIsNew, float type)
 
        InterpolateOrigin_Note();
 
-       if(bIsNew)
+       if(bIsNew || !self.teleport_time)
        {
                self.draw = Draw_GrapplingHook;
                self.entremove = Remove_GrapplingHook;
@@ -274,6 +282,8 @@ void Ent_ReadHook(float bIsNew, float type)
                                break;
                }
        }
+
+       self.teleport_time = time + 10;
 }
 
 void Hook_Precache()
index db423eb8718a10686b9962c78c0ce285d004438f..a4eefeaf9f05fbd1b467c664e73c6015e5e880db 100644 (file)
@@ -2754,7 +2754,11 @@ void HUD_KillNotify(string s1, string s2, string s3, float type, float msg) // s
                } else if (type == DEATH_CUSTOM) {
                        HUD_KillNotify_Push(s1, s2, 1, DEATH_CUSTOM);
                        if(alsoprint)
-                               print ("^1",s2, "^1 ", s1, "\n");
+                               print("^1", sprintf(s3, strcat(s2, "^1"), strcat(s1, "^1")), "\n");
+               } else if (type == DEATH_HURTTRIGGER) {
+                       HUD_KillNotify_Push(s1, s2, 1, DEATH_HURTTRIGGER);
+                       if(alsoprint)
+                               print("^1", sprintf(s3, strcat(s2, "^1"), strcat(s1, "^1")), "\n");
                } else {
                        HUD_KillNotify_Push(s1, s2, 1, DEATH_GENERIC);
                        if(alsoprint)
@@ -2859,11 +2863,11 @@ void HUD_KillNotify(string s1, string s2, string s3, float type, float msg) // s
                } else if (type == DEATH_CUSTOM) {
                        HUD_KillNotify_Push(s1, "", 0, DEATH_CUSTOM);
                        if(alsoprint)
-                               print ("^1",s1, "^1 ", s2, "\n");
+                               print("^1", sprintf(s2, strcat(s1, "^1")), "\n");
                } else if (type == DEATH_HURTTRIGGER) {
                        HUD_KillNotify_Push(s1, "", 0, DEATH_HURTTRIGGER);
                        if(alsoprint)
-                               print ("^1",s1, "^1 was in the wrong place\n");
+                               print("^1", sprintf(s2, strcat(s1, "^1")), "\n");
                } else if(type == DEATH_TOUCHEXPLODE) {
                        HUD_KillNotify_Push(s1, "", 0, DEATH_GENERIC);
                        if(alsoprint)
index 45962bee7b3e69cb94513c8b57eccb36ba225446..7108fd3dbea18530d278c237c753405fe912db39 100644 (file)
@@ -364,11 +364,12 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype)
 
                                // TODO: fix this?
                                if (deathtype == DEATH_CUSTOM)
-                                       msg = strcat(deathmessage, " by ^1", msg);
-                               else if (deathtype == DEATH_HURTTRIGGER && inflictor.message2 != "")
-                               {
-                                       msg = ftos(strstrofs(inflictor.message2, "#", 0));
-                               }
+                                       msg = deathmessage;
+                               else
+                                       msg = inflictor.message2;
+
+                               if(strstrofs(msg, "%", 0) < 0)
+                                       msg = strcat("%s ", msg, " by %s");
 
                                Send_KillNotification(a, s, msg, deathtype, MSG_KILL);
 
@@ -435,6 +436,8 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype)
                                msg = inflictor.message;
                        else if (deathtype == DEATH_CUSTOM)
                                msg = deathmessage;
+                       if(strstrofs(msg, "%", 0) < 0)
+                               msg = strcat("%s ", msg);
 
                        GiveFrags(targ, targ, -1);
                        if(PlayerScore_Add(targ, SP_SCORE, 0) == -5) {
index c13fb91186aec2c7bc944716da70b35b0e0e2eed..08964655d9b048faf1d0e696323dbe303c805e5d 100644 (file)
@@ -462,6 +462,7 @@ void spawnfunc_trigger_hurt()
                self.message = "was in the wrong place";
        if (!self.message2)
                self.message2 = "was thrown into a world of hurt by";
+       // self.message = "someone like %s always gets wrongplaced";
 
        if(!trigger_hurt_first)
                trigger_hurt_first = self;
index 8a28216c9c520289e1140c2d7a053aebd6fd39c7..26acf7f0ead9d4f59a5d2f5c1d8770afbf0ba3f3 100644 (file)
@@ -152,6 +152,7 @@ void Teleport_Touch (void)
        entity oldself, e;
        vector o;
        float p;
+       string s;
 
        if (other.health < 1)
                return;
@@ -208,14 +209,15 @@ void Teleport_Touch (void)
        o = e.origin + '0 0 1' * (1 - other.mins_z - 24);
        TeleportPlayer(self, other, o, e.mangle, v_forward * vlen(other.velocity), '0 0 0', '0 0 0', TELEPORT_FLAGS_TELEPORTER);
 
-       if(e.target)
-       {
-               oldself = self;
-               activator = other;
-               self = e;
-               SUB_UseTargets();
-               self = oldself;
-       }
+       activator = other;
+       s = self.target; self.target = string_null;
+       SUB_UseTargets();
+       if not(self.target) self.target = s;
+
+       oldself = self;
+       self = e;
+       SUB_UseTargets();
+       self = oldself;
 }
 
 void spawnfunc_info_teleport_destination (void)
index 0798b29b29b2769194190d7200d39ce3a6bd32ff..2a08ec5cf9d7d56379eee6ace2e347944bb91cfe 100644 (file)
@@ -879,6 +879,33 @@ float JoinBestTeam(entity pl, float only_return_best, float forcebestteam)
        // find out what teams are available
        CheckAllowedTeams(pl);
 
+       // if we want the player in a certain team for campaign, force him there
+       if(cvar("g_campaign"))
+       if(clienttype(pl) == CLIENTTYPE_REAL) // only players, not bots
+       {
+               switch(cvar("g_campaign_forceteam"))
+               {
+                       case 1:
+                               SetPlayerColors(pl, COLOR_TEAM1 - 1);
+                               LogTeamchange(pl.playerid, pl.team, 2);
+                               return COLOR_TEAM1;
+                       case 2:
+                               SetPlayerColors(pl, COLOR_TEAM2 - 1);
+                               LogTeamchange(pl.playerid, pl.team, 2);
+                               return COLOR_TEAM2;
+                       case 3:
+                               SetPlayerColors(pl, COLOR_TEAM3 - 1);
+                               LogTeamchange(pl.playerid, pl.team, 2);
+                               return COLOR_TEAM3;
+                       case 4:
+                               SetPlayerColors(pl, COLOR_TEAM4 - 1);
+                               LogTeamchange(pl.playerid, pl.team, 2);
+                               return COLOR_TEAM4;
+                       default:
+                               break;
+               }
+       }
+
        // if we don't care what team he ends up on, put him on whatever team he entered as.
        // if he's not on a valid team, then let other code put him on the smallest team
        if(!forcebestteam)
index 9eb74988610b468e6db59e1fa01947dede0bb62a..8536bd3d2c464bf575b32356ce60599432cd6190 100644 (file)
@@ -233,7 +233,7 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end,
                        goto fail;
                }
                WarpZone_Trace_AddTransform(wz);
-               org = WarpZone_TransformOrigin(wz, trace_endpos);
+               org = WarpZone_TransformOrigin(wz, org);
                end = WarpZone_TransformOrigin(wz, end);
        }
        WarpZone_MakeAllSolid();
index 7c53d6e4aaad911d83e4fba029ad3b527486fa62..ecfddff1ab5b4b1b9e56a5489b446b51a9f5d90a 100644 (file)
@@ -111,14 +111,23 @@ void WarpZone_Touch (void)
        e = self.enemy;
        if(WarpZone_Teleport(other))
        {
-               if(self.aiment.target)
-               {
-                       oldself = self;
-                       activator = other;
-                       self = self.aiment;
-                       SUB_UseTargets();
-                       self = oldself;
-               }
+               string save1, save2;
+               activator = other;
+
+               save1 = self.target; self.target = string_null;
+               save2 = self.target3; self.target3 = string_null;
+               SUB_UseTargets();
+               if not(self.target) self.target = save1;
+               if not(self.target3) self.target3 = save2;
+
+               oldself = self;
+               self = self.enemy;
+               save1 = self.target; self.target = string_null;
+               save2 = self.target2; self.target2 = string_null;
+               SUB_UseTargets();
+               if not(self.target) self.target = save1;
+               if not(self.target2) self.target2 = save2;
+               self = oldself;
        }
        else
        {
@@ -265,6 +274,7 @@ void WarpZone_InitStep_FindOriginTarget()
                        error("Warp zone with nonexisting killtarget");
                        return;
                }
+               self.killtarget = string_null;
        }
 }
 
diff --git a/sound/nexball/shoot1.ogg b/sound/nexball/shoot1.ogg
new file mode 100644 (file)
index 0000000..558a446
Binary files /dev/null and b/sound/nexball/shoot1.ogg differ
diff --git a/sound/nexball/shoot1.wav b/sound/nexball/shoot1.wav
deleted file mode 100644 (file)
index c68f13f..0000000
Binary files a/sound/nexball/shoot1.wav and /dev/null differ
diff --git a/sound/weather/--tenshihan.txt b/sound/weather/--tenshihan.txt
new file mode 100644 (file)
index 0000000..a0efdd1
--- /dev/null
@@ -0,0 +1,5 @@
+All these weather effects were recorded by Myself and released under the GPL liscence.
+
+~Michael "Tenshihan" Quinn
+
+Mar 7th 2010
\ No newline at end of file
diff --git a/sound/weather/rain_1.ogg b/sound/weather/rain_1.ogg
deleted file mode 100644 (file)
index c31fccf..0000000
Binary files a/sound/weather/rain_1.ogg and /dev/null differ
diff --git a/sound/weather/rain_1.wav b/sound/weather/rain_1.wav
new file mode 100644 (file)
index 0000000..f5443e4
Binary files /dev/null and b/sound/weather/rain_1.wav differ
diff --git a/sound/weather/rain_loud.wav b/sound/weather/rain_loud.wav
new file mode 100644 (file)
index 0000000..4b42eaa
Binary files /dev/null and b/sound/weather/rain_loud.wav differ
diff --git a/sound/weather/rain_medium.wav b/sound/weather/rain_medium.wav
new file mode 100644 (file)
index 0000000..9fe5479
Binary files /dev/null and b/sound/weather/rain_medium.wav differ
diff --git a/sound/weather/rain_quiet.wav b/sound/weather/rain_quiet.wav
new file mode 100644 (file)
index 0000000..f5443e4
Binary files /dev/null and b/sound/weather/rain_quiet.wav differ
diff --git a/sound/weather/rain_wind_thunder.wav b/sound/weather/rain_wind_thunder.wav
new file mode 100644 (file)
index 0000000..18bda30
Binary files /dev/null and b/sound/weather/rain_wind_thunder.wav differ
diff --git a/sound/weather/thunder_background.wav b/sound/weather/thunder_background.wav
new file mode 100644 (file)
index 0000000..4d3b1c7
Binary files /dev/null and b/sound/weather/thunder_background.wav differ
diff --git a/sound/weather/thunder_crack.wav b/sound/weather/thunder_crack.wav
new file mode 100644 (file)
index 0000000..6b2df85
Binary files /dev/null and b/sound/weather/thunder_crack.wav differ
diff --git a/sound/weather/thunder_rain.wav b/sound/weather/thunder_rain.wav
new file mode 100644 (file)
index 0000000..4a4f2a7
Binary files /dev/null and b/sound/weather/thunder_rain.wav differ
diff --git a/sound/weather/wind_ambience.wav b/sound/weather/wind_ambience.wav
new file mode 100644 (file)
index 0000000..f9c31e8
Binary files /dev/null and b/sound/weather/wind_ambience.wav differ
diff --git a/sound/weather/wind_scary.wav b/sound/weather/wind_scary.wav
new file mode 100644 (file)
index 0000000..ad97cd2
Binary files /dev/null and b/sound/weather/wind_scary.wav differ
diff --git a/sound/weather/wind_strong.wav b/sound/weather/wind_strong.wav
new file mode 100644 (file)
index 0000000..f4e2ab7
Binary files /dev/null and b/sound/weather/wind_strong.wav differ