From 201c88a253c77d0e1a528dcb864797f3ef5f4baa Mon Sep 17 00:00:00 2001 From: Haoming Yin Date: Wed, 26 Jul 2017 23:32:16 +1200 Subject: [PATCH] Fixed a bug that program crashes when it receive regatta xml during the race, as it doesn't know how to handle the xml. #story[984] --- .../java/seng302/client/ClientPacketParser.java | 2 +- .../java/seng302/client/ClientToServerThread.java | 1 - .../seng302/controllers/CanvasController.java | 4 ++-- .../seng302/gameServer/ServerToClientThread.java | 15 +++++---------- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/main/java/seng302/client/ClientPacketParser.java b/src/main/java/seng302/client/ClientPacketParser.java index e8604936..17ac42e0 100644 --- a/src/main/java/seng302/client/ClientPacketParser.java +++ b/src/main/java/seng302/client/ClientPacketParser.java @@ -79,7 +79,6 @@ public class ClientPacketParser { extractDisplayMessage(packet); break; case XML_MESSAGE: - newRaceXmlReceived = true; extractXmlMessage(packet); break; case RACE_START_STATUS: @@ -292,6 +291,7 @@ public class ClientPacketParser { } xmlObject.constructXML(doc, messageType); + if (messageType == 7) { //7 is the boat XML boats = xmlObject.getBoatXML().getCompetingBoats(); // Set/Update the ClientState boats after receiving new boat xml. diff --git a/src/main/java/seng302/client/ClientToServerThread.java b/src/main/java/seng302/client/ClientToServerThread.java index da82dff0..92a755b2 100644 --- a/src/main/java/seng302/client/ClientToServerThread.java +++ b/src/main/java/seng302/client/ClientToServerThread.java @@ -105,7 +105,6 @@ public class ClientToServerThread implements Runnable { if (computedCrc == packetCrc) { ClientPacketParser .parsePacket(new StreamPacket(type, payloadLength, timeStamp, payload)); -// packetBufferDelegate.addToBuffer(new StreamPacket(type, payloadLength, timeStamp, payload)); } else { clientLog("Packet has been dropped", 1); } diff --git a/src/main/java/seng302/controllers/CanvasController.java b/src/main/java/seng302/controllers/CanvasController.java index 21902435..96753b94 100644 --- a/src/main/java/seng302/controllers/CanvasController.java +++ b/src/main/java/seng302/controllers/CanvasController.java @@ -58,8 +58,8 @@ public class CanvasController { private final int BUFFER_SIZE = 50; private final int PANEL_WIDTH = 1260; // it should be 1280 but, minors 40 to cancel the bias. private final int PANEL_HEIGHT = 960; - private final int CANVAS_WIDTH = 720; - private final int CANVAS_HEIGHT = 720; + private final int CANVAS_WIDTH = 1100; + private final int CANVAS_HEIGHT = 920; private boolean horizontalInversion = false; private double distanceScaleFactor; diff --git a/src/main/java/seng302/gameServer/ServerToClientThread.java b/src/main/java/seng302/gameServer/ServerToClientThread.java index 7411310d..94c383cd 100644 --- a/src/main/java/seng302/gameServer/ServerToClientThread.java +++ b/src/main/java/seng302/gameServer/ServerToClientThread.java @@ -140,11 +140,6 @@ public class ServerToClientThread implements Runnable, Observer { while (socket.isConnected()) { try { -// if (initialisedRace) { -// sendSetupMessages(); -// initialisedRace = false; -// } - //Perform a write if it is time to as delegated by the MainServerThread if (updateClient) { // TODO: 13/07/17 wmu16 - Write out game state - some function that would write all appropriate messages to this output stream @@ -210,18 +205,18 @@ public class ServerToClientThread implements Runnable, Observer { xml.setRegatta(new Regatta("RaceVision Test Game", 57.6679590, 11.8503233)); xml.setRace(race); - XMLMessage xmlMessage = new XMLMessage(xml.getRegattaAsXml(), XMLMessageSubType.REGATTA, - xml.getRegattaAsXml().length()); + XMLMessage xmlMessage; + xmlMessage = new XMLMessage(xml.getRegattaAsXml(), XMLMessageSubType.REGATTA, + xml.getRegattaAsXml().length()); sendMessage(xmlMessage); xmlMessage = new XMLMessage(xml.getBoatsAsXml(), XMLMessageSubType.BOAT, - xml.getBoatsAsXml().length()); + xml.getBoatsAsXml().length()); sendMessage(xmlMessage); xmlMessage = new XMLMessage(xml.getRaceAsXml(), XMLMessageSubType.RACE, - xml.getRaceAsXml().length()); + xml.getRaceAsXml().length()); sendMessage(xmlMessage); -// System.out.println("Sent xml messages for " + thread.getName()); } public void updateClient() {