From: Mario <mario.mario@y7mail.com>
Date: Mon, 30 Dec 2019 06:50:54 +0000 (+1000)
Subject: Optimise logic a bit, only call vlen when absolutely necessary in fall damage checks
X-Git-Tag: xonotic-v0.8.5~1105^2~65^2~1
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=218d4b5dae4de616e891359c5e5d34c87063b970;p=xonotic%2Fxonotic-data.pk3dir.git

Optimise logic a bit, only call vlen when absolutely necessary in fall damage checks
---

diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc
index cd4693a2b..80622f387 100644
--- a/qcsrc/server/sv_main.qc
+++ b/qcsrc/server/sv_main.qc
@@ -101,7 +101,6 @@ void CreatureFrame_FallDamage(entity this)
 		return; // if the entity hasn't moved and isn't moving, then don't do anything
 
 	// check for falling damage
-	float velocity_len = vlen(this.velocity);
 	bool have_hook = false;
 	for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
 	{
@@ -116,9 +115,9 @@ void CreatureFrame_FallDamage(entity this)
 	{
 		float dm;
 		if(autocvar_g_balance_falldamage_onlyvertical)
-			dm = vlen('0 0 1' * this.oldvelocity.z) - vlen('0 0 1' * this.velocity.z);
+			dm = fabs(this.oldvelocity.z) - fabs(this.velocity.z);
 		else
-			dm = vlen(this.oldvelocity) - velocity_len; // dm is now the velocity DECREASE. Velocity INCREASE should never cause a sound or any damage.
+			dm = vlen(this.oldvelocity) - vlen(this.velocity); // dm is now the velocity DECREASE. Velocity INCREASE should never cause a sound or any damage.
 		if (IS_DEAD(this))
 			dm = (dm - autocvar_g_balance_falldamage_deadminspeed) * autocvar_g_balance_falldamage_factor;
 		else
@@ -131,7 +130,7 @@ void CreatureFrame_FallDamage(entity this)
 		}
 	}
 
-	if(autocvar_g_maxspeed > 0 && velocity_len > autocvar_g_maxspeed)
+	if(autocvar_g_maxspeed > 0 && vdist(this.velocity, >, autocvar_g_maxspeed))
 		Damage (this, NULL, NULL, 100000, DEATH_SHOOTING_STAR.m_id, DMG_NOWEP, this.origin, '0 0 0');
 }