diff --git a/src/resources/Point3D.java b/src/resources/Point3D.java index 8085608d9..c0bd71165 100644 --- a/src/resources/Point3D.java +++ b/src/resources/Point3D.java @@ -57,11 +57,9 @@ public class Point3D implements Serializable { double oY = rot.getY(); double oZ = rot.getZ(); double oW = rot.getW(); - double k0 = oW * oW - 0.5; - double k1 = getX() * oX + getY() * oY + getZ() * oZ; - double nX = x + 2 * (getX() * k0 + oX * k1 + oW * (oY * getZ() - oZ * getY())); - double nY = y + 2 * (getY() * k0 + oY * k1 + oW * (getZ() * getX() - oX * getZ())); - double nZ = z + 2 * (getZ() * k0 + oZ * k1 + oW * (oX * getY() - oY * getX())); + double nX = x + oW*oW*getX() + 2*oY*oW*getZ() - 2*oZ*oW*getY() + oX*oX*getX() + 2*oY*oX*getY() + 2*oZ*oX*getZ() - oZ*oZ*getX() - oY*oY*getX(); + double nY = y + 2*oX*oY*getX() + oY*oY*getY() + 2*oZ*oY*getZ() + 2*oW*oZ*getX() - oZ*oZ*getY() + oW*oW*getY() - 2*oX*oW*getZ() - oX*oX*getY(); + double nZ = z + 2*oX*oZ*getX() + 2*oY*oZ*getY() + oZ*oZ*getZ() - 2*oW*oY*getX() - oY*oY*getZ() + 2*oW*oX*getY() - oX*oX*getZ() + oW*oW*getZ(); set(nX, nY, nZ); } diff --git a/src/services/spawn/StaticService.java b/src/services/spawn/StaticService.java index fbe486045..800473902 100644 --- a/src/services/spawn/StaticService.java +++ b/src/services/spawn/StaticService.java @@ -76,9 +76,9 @@ public class StaticService extends Service { private void createShuttleport(BuildingObject shuttleport) { Location shuttleportLoc = shuttleport.getWorldLocation(); - createObject(TICKET_TERMINAL_IFF, shuttleportLoc, 13.3, 0.6, 9.4, 270); - createObject(PLAYER_SHUTTLE_IFF, shuttleportLoc, 0, 1.6, -5, 180); - createObject(TICKET_COLLECTOR_IFF, shuttleportLoc, 13.3, 0.6, -9.4, 270); + createObject(TICKET_TERMINAL_IFF, shuttleportLoc, 13.3, -0.6, 9.4, 270); + createObject(PLAYER_SHUTTLE_IFF, shuttleportLoc, 0, -0.6, -5, 180); + createObject(TICKET_COLLECTOR_IFF, shuttleportLoc, 13.3, -0.6, -9.4, 270); } private SWGObject createObject(String iff, SWGObject parent, double x, double y, double z, double heading) {