diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessage.java b/src/protocol/swg/EnterTicketPurchaseModeMessage.java index 01c5e605..2deea303 100644 --- a/src/protocol/swg/EnterTicketPurchaseModeMessage.java +++ b/src/protocol/swg/EnterTicketPurchaseModeMessage.java @@ -40,8 +40,8 @@ public class EnterTicketPurchaseModeMessage extends SWGMessage { result.putShort((short) 3); result.putInt(0x904DAE1A); - result.put(getAsciiString("Tatooine")); - result.put(getAsciiString("Mos Eisley Starport")); + result.put(getAsciiString("tatooine")); // lowercase + result.put(getAsciiString("Mos Eisley")); // city return result.flip(); } diff --git a/src/protocol/swg/PlanetTravelPointListResponse.java b/src/protocol/swg/PlanetTravelPointListResponse.java index 3c71a72c..43ecbee4 100644 --- a/src/protocol/swg/PlanetTravelPointListResponse.java +++ b/src/protocol/swg/PlanetTravelPointListResponse.java @@ -22,6 +22,7 @@ package protocol.swg; import java.nio.ByteOrder; +import java.util.List; import java.util.Vector; import main.NGECore; @@ -34,12 +35,14 @@ import engine.resources.scene.Planet; @SuppressWarnings("unused") public class PlanetTravelPointListResponse extends SWGMessage { - private NGECore core; - private Planet originatePlanet; + private String planetString; private Vector travelPoints; + private List planetList; - public PlanetTravelPointListResponse(Planet planet, Vector travelPoints) { - this.originatePlanet = planet; + public PlanetTravelPointListResponse(String planetString, Vector travelPoints, List planetList) { + this.planetString = planetString; + this.travelPoints = travelPoints; + this.planetList = planetList; } @Override @@ -49,13 +52,13 @@ public class PlanetTravelPointListResponse extends SWGMessage { @Override public IoBuffer serialize() { - IoBuffer result = IoBuffer.allocate(100).order(ByteOrder.LITTLE_ENDIAN); + IoBuffer result = IoBuffer.allocate(700).order(ByteOrder.LITTLE_ENDIAN); result.putShort((short) 9); result.putInt(0x4D32541F); - result.put(getAsciiString(originatePlanet.getName())); - result.putInt(core.terrainService.getPlanetList().size()); + result.put(getAsciiString(planetString)); + //result.putInt(planetList.size()); result.putInt(travelPoints.size()); // shuttles/sp count for (TravelPoint point : travelPoints) { @@ -66,8 +69,8 @@ public class PlanetTravelPointListResponse extends SWGMessage { for (TravelPoint point : travelPoints) { result.putFloat(point.getPosX()); - result.putFloat(point.getPosY()); // Z and Y may be switched - result.putFloat(point.getPosZ()); + result.putFloat(point.getPosZ()); // Z and Y may be switched + result.putFloat(point.getPosY()); } diff --git a/src/services/travel/TravelService.java b/src/services/travel/TravelService.java index ce45a28d..147f513a 100644 --- a/src/services/travel/TravelService.java +++ b/src/services/travel/TravelService.java @@ -74,15 +74,16 @@ public class TravelService implements INetworkDispatch { if(object == null) return; - //System.out.println("Planet: " + request.getPlanet()); - List planetList = core.terrainService.getPlanetList(); for (Planet planet : planetList) { - if (planet.getName() == request.getPlanet()) { + String planetString = planet.getName(); + + if (request.getPlanet().equals(planetString)) { - PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(planet, travelMap.get(planet)); + PlanetTravelPointListResponse response = new PlanetTravelPointListResponse(planetString, travelMap.get(planet), planetList); client.getSession().write(response.serialize()); + //System.out.println("Sent the list for the planet " + planet.getName()); } }