diff options
author | Travis Watkins <amaranth@ubuntu.com> | 2012-08-15 05:15:36 -0500 |
---|---|---|
committer | Travis Watkins <amaranth@ubuntu.com> | 2012-08-19 09:51:00 -0500 |
commit | 7b20caf8fe1866fdfcc6e90e76703ed14c7da4ba (patch) | |
tree | 20e88f6cd330ac982aaffa4523a3bc10a37d0123 | |
parent | 8219081385833a4f020fc5912e27a78da227e777 (diff) | |
download | craftbukkit-7b20caf8fe1866fdfcc6e90e76703ed14c7da4ba.tar craftbukkit-7b20caf8fe1866fdfcc6e90e76703ed14c7da4ba.tar.gz craftbukkit-7b20caf8fe1866fdfcc6e90e76703ed14c7da4ba.tar.lz craftbukkit-7b20caf8fe1866fdfcc6e90e76703ed14c7da4ba.tar.xz craftbukkit-7b20caf8fe1866fdfcc6e90e76703ed14c7da4ba.zip |
Use TrigMath in hotspots
Use our implementation of atan2 in AI routines as profiling shows these are
hotspots and (for these cases) our implementation is much faster.
-rw-r--r-- | src/main/java/net/minecraft/server/ControllerLook.java | 8 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/ControllerMove.java | 3 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/EntitySquid.java | 8 |
3 files changed, 14 insertions, 5 deletions
diff --git a/src/main/java/net/minecraft/server/ControllerLook.java b/src/main/java/net/minecraft/server/ControllerLook.java index 32999b96..1f323d7b 100644 --- a/src/main/java/net/minecraft/server/ControllerLook.java +++ b/src/main/java/net/minecraft/server/ControllerLook.java @@ -1,5 +1,7 @@ package net.minecraft.server; +import org.bukkit.craftbukkit.TrigMath; // CraftBukkit + public class ControllerLook { private EntityLiving a; @@ -45,8 +47,10 @@ public class ControllerLook { double d1 = this.f - (this.a.locY + (double) this.a.getHeadHeight()); double d2 = this.g - this.a.locZ; double d3 = (double) MathHelper.sqrt(d0 * d0 + d2 * d2); - float f = (float) (Math.atan2(d2, d0) * 180.0D / 3.1415927410125732D) - 90.0F; - float f1 = (float) (-(Math.atan2(d1, d3) * 180.0D / 3.1415927410125732D)); + // CraftBukkit start - Math -> TrigMath + float f = (float) (TrigMath.atan2(d2, d0) * 180.0D / 3.1415927410125732D) - 90.0F; + float f1 = (float) (-(TrigMath.atan2(d1, d3) * 180.0D / 3.1415927410125732D)); + // CraftBukkit end this.a.pitch = this.a(this.a.pitch, f1, this.c); this.a.as = this.a(this.a.as, f, this.b); diff --git a/src/main/java/net/minecraft/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java index 7a8ebe75..15fc0a6d 100644 --- a/src/main/java/net/minecraft/server/ControllerMove.java +++ b/src/main/java/net/minecraft/server/ControllerMove.java @@ -43,7 +43,8 @@ public class ControllerMove { double d3 = d0 * d0 + d2 * d2 + d1 * d1; if (d3 >= 2.500000277905201E-7D) { - float f = (float) (Math.atan2(d1, d0) * 180.0D / 3.1415927410125732D) - 90.0F; + // CraftBukkit - Math -> TrigMath + float f = (float) (org.bukkit.craftbukkit.TrigMath.atan2(d1, d0) * 180.0D / 3.1415927410125732D) - 90.0F; this.a.yaw = this.a(this.a.yaw, f, 30.0F); this.a.e(this.e); diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java index e0c76d8d..030263ab 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -1,5 +1,7 @@ package net.minecraft.server; +import org.bukkit.craftbukkit.TrigMath; // CraftBukkit + public class EntitySquid extends EntityWaterAnimal { public float d = 0.0F; @@ -104,10 +106,12 @@ public class EntitySquid extends EntityWaterAnimal { } f = MathHelper.sqrt(this.motX * this.motX + this.motZ * this.motZ); - this.aq += (-((float) Math.atan2(this.motX, this.motZ)) * 180.0F / 3.1415927F - this.aq) * 0.1F; + // CraftBukkit - Math -> TrigMath + this.aq += (-((float) TrigMath.atan2(this.motX, this.motZ)) * 180.0F / 3.1415927F - this.aq) * 0.1F; this.yaw = this.aq; this.f += 3.1415927F * this.bB * 1.5F; - this.d += (-((float) Math.atan2((double) f, this.motY)) * 180.0F / 3.1415927F - this.d) * 0.1F; + // CraftBukkit - Math -> TrigMath + this.d += (-((float) TrigMath.atan2((double) f, this.motY)) * 180.0F / 3.1415927F - this.d) * 0.1F; } else { this.j = MathHelper.abs(MathHelper.sin(this.h)) * 3.1415927F * 0.25F; if (!this.world.isStatic) { |