diff --git a/src/engine/devcmd/cmds/GetHeightCmd.java b/src/engine/devcmd/cmds/GetHeightCmd.java index 8254a47f..a9bed6ad 100644 --- a/src/engine/devcmd/cmds/GetHeightCmd.java +++ b/src/engine/devcmd/cmds/GetHeightCmd.java @@ -12,8 +12,6 @@ package engine.devcmd.cmds; import engine.InterestManagement.HeightMap; import engine.devcmd.AbstractDevCmd; import engine.gameManager.ZoneManager; -import engine.math.Vector2f; -import engine.math.Vector3fImmutable; import engine.objects.AbstractGameObject; import engine.objects.PlayerCharacter; import engine.objects.Zone; @@ -29,7 +27,6 @@ public class GetHeightCmd extends AbstractDevCmd { protected void _doCmd(PlayerCharacter pc, String[] words, AbstractGameObject target) { - boolean end = true; float height = HeightMap.getWorldHeight(pc); @@ -42,175 +39,6 @@ public class GetHeightCmd extends AbstractDevCmd { this.throwbackInfo(pc, "Water Level : " + zone.getSeaLevel()); this.throwbackInfo(pc, "Character Water Level Above : " + (pc.getCharacterHeight() + height - zone.getSeaLevel())); - if (end) - return; - - Vector2f gridSquare; - Vector2f gridOffset; - Vector2f parentGrid; - Vector2f parentLoc = new Vector2f(-1, -1); - - Zone currentZone = ZoneManager.findSmallestZone(pc.getLoc()); - - if (currentZone == null) - return; - - Zone parentZone = currentZone.getParent(); - - HeightMap heightMap = currentZone.getHeightMap(); - - - //find the next parents heightmap if the currentzone heightmap is null. - while (heightMap == null) { - - if (currentZone == ZoneManager.getSeaFloor()) { - this.throwbackInfo(pc, "Could not find a heightmap to get height."); - break; - } - - this.throwbackError(pc, "Heightmap does not exist for " + currentZone.getName()); - this.throwbackInfo(pc, "Using parent zone instead: "); - currentZone = currentZone.getParent(); - heightMap = currentZone.getHeightMap(); - } - - - if ((heightMap == null) || (currentZone == ZoneManager.getSeaFloor())) { - this.throwbackInfo(pc, currentZone.getName() + " has no heightmap "); - this.throwbackInfo(pc, "Current altitude: " + currentZone.absY); - return; - } - - Vector2f zoneLoc = ZoneManager.worldToZoneSpace(pc.getLoc(), currentZone); - - Vector3fImmutable seaFloorLocalLoc = ZoneManager.worldToLocal(pc.getLoc(), ZoneManager.getSeaFloor()); - this.throwbackInfo(pc, "SeaFloor Local : " + seaFloorLocalLoc.x + " , " + seaFloorLocalLoc.y); - - - this.throwbackInfo(pc, "Local Zone Location : " + zoneLoc.x + " , " + zoneLoc.y); - Vector3fImmutable localLocFromCenter = ZoneManager.worldToLocal(pc.getLoc(), currentZone); - Vector3fImmutable parentLocFromCenter = ZoneManager.worldToLocal(pc.getLoc(), currentZone.getParent()); - this.throwbackInfo(pc, "Local Zone Location from center : " + localLocFromCenter); - this.throwbackInfo(pc, "parent Zone Location from center : " + parentLocFromCenter); - - Vector2f parentZoneLoc = ZoneManager.worldToZoneSpace(pc.getLoc(), currentZone.getParent()); - this.throwbackInfo(pc, "Parent Zone Location from Bottom Left : " + parentZoneLoc); - - if ((parentZone != null) && (parentZone.getHeightMap() != null)) { - parentLoc = ZoneManager.worldToZoneSpace(pc.getLoc(), parentZone); - parentGrid = parentZone.getHeightMap().getGridSquare(parentLoc); - } else - parentGrid = new Vector2f(-1, -1); - - gridSquare = heightMap.getGridSquare(zoneLoc); - gridOffset = HeightMap.getGridOffset(gridSquare); - - float interaltitude = currentZone.getHeightMap().getInterpolatedTerrainHeight(zoneLoc); - - this.throwbackInfo(pc, currentZone.getName()); - this.throwbackInfo(pc, "Current Grid Square: " + gridSquare.x + " , " + gridSquare.y); - this.throwbackInfo(pc, "Grid Offset: " + gridOffset.x + " , " + gridOffset.y); - this.throwbackInfo(pc, "Parent Grid: " + parentGrid.x + " , " + parentGrid.y); - - if (parentGrid.x != -1) { - float parentAltitude = parentZone.getHeightMap().getInterpolatedTerrainHeight(parentLoc); - this.throwbackInfo(pc, "Parent ALTITUDE: " + (parentAltitude)); - this.throwbackInfo(pc, "Parent Interpolation: " + (parentAltitude + parentZone.getWorldAltitude())); - } - this.throwbackInfo(pc, "interpolated height: " + interaltitude); - - this.throwbackInfo(pc, "interpolated height with World: " + (interaltitude + currentZone.getWorldAltitude())); - - float realWorldAltitude = interaltitude + currentZone.getWorldAltitude(); - - //OUTSET - if (parentZone != null) { - float parentXRadius = currentZone.getBounds().getHalfExtents().x; - float parentZRadius = currentZone.getBounds().getHalfExtents().y; - - float offsetX = Math.abs((localLocFromCenter.x / parentXRadius)); - float offsetZ = Math.abs((localLocFromCenter.z / parentZRadius)); - - float bucketScaleX = 100 / parentXRadius; - float bucketScaleZ = 200 / parentZRadius; - - float outsideGridSizeX = 1 - bucketScaleX; //32/256 - float outsideGridSizeZ = 1 - bucketScaleZ; - float weight; - - double scale; - - - if (offsetX > outsideGridSizeX && offsetX > offsetZ) { - weight = (offsetX - outsideGridSizeX) / bucketScaleX; - scale = Math.atan2((.5 - weight) * 3.1415927, 1); - - float scaleChild = (float) ((scale + 1) * .5); - float scaleParent = 1 - scaleChild; - - - float parentAltitude = parentZone.getHeightMap().getInterpolatedTerrainHeight(parentLoc); - float parentCenterAltitude = parentZone.getHeightMap().getInterpolatedTerrainHeight(ZoneManager.worldToZoneSpace(currentZone.getLoc(), parentZone)); - - parentCenterAltitude += currentZone.getYCoord(); - parentCenterAltitude += interaltitude; - - float firstScale = parentAltitude * scaleParent; - float secondScale = parentCenterAltitude * scaleChild; - float outsetALt = firstScale + secondScale; - - outsetALt += currentZone.getParent().getAbsY(); - realWorldAltitude = outsetALt; - - } else if (offsetZ > outsideGridSizeZ) { - - weight = (offsetZ - outsideGridSizeZ) / bucketScaleZ; - scale = Math.atan2((.5 - weight) * 3.1415927, 1); - - float scaleChild = (float) ((scale + 1) * .5); - float scaleParent = 1 - scaleChild; - float parentAltitude = parentZone.getHeightMap().getInterpolatedTerrainHeight(parentLoc); - float parentCenterAltitude = parentZone.getHeightMap().getInterpolatedTerrainHeight(ZoneManager.worldToZoneSpace(currentZone.getLoc(), parentZone)); - - parentCenterAltitude += currentZone.getYCoord(); - parentCenterAltitude += interaltitude; - float firstScale = parentAltitude * scaleParent; - float secondScale = parentCenterAltitude * scaleChild; - float outsetALt = firstScale + secondScale; - - outsetALt += currentZone.getParent().getAbsY(); - realWorldAltitude = outsetALt; - - - } - } - - float strMod = pc.statStrBase - 40; - - strMod *= .00999999998f; - - strMod += 1f; - - float radius = 0; - switch (pc.getRaceID()) { - case 2017: - radius = 3.1415927f; - case 2000: - - - } - strMod *= 1.5707964f; - - strMod += 3.1415927f; - - strMod -= .5f; - - - realWorldAltitude += strMod; - - this.throwbackInfo(pc, "interpolated height with World: " + realWorldAltitude); - - } @Override