Added Console output, Cubots can receive data from ComPort, Fixed BOM being added to string literals, Fixed legs changing direction for free when energy < 100, Changed some log levels.

This commit is contained in:
simon
2017-12-30 15:30:44 -05:00
parent 2ef6f492c4
commit 55d4c19fe1
14 changed files with 151 additions and 38 deletions

View File

@@ -155,7 +155,7 @@ public class Assembler {
String string = value.substring(1, value.length() - 1);
string = StringEscapeUtils.unescapeJava(string);
out.write(string.getBytes(StandardCharsets.UTF_16));
out.write(string.getBytes(StandardCharsets.UTF_16BE));
} else if (labels != null && labels.containsKey(value)) {
//Handle label
out.writeChar(labels.get(value));

View File

@@ -28,4 +28,8 @@ public interface ControllableUnit {
void setAction(Action listening);
World getWorld();
ArrayList<char[]> getConsoleMessagesBuffer();
int getConsoleMode();
}

View File

@@ -9,7 +9,7 @@ public class CodeRequestHandler implements MessageHandler {
if (json.get("t").equals("codeRequest")) {
LogManager.LOGGER.info("(WS) Code request from " + user.getUser().getUsername());
LogManager.LOGGER.fine("(WS) Code request from " + user.getUser().getUsername());
if (user.isGuest()) {

View File

@@ -12,7 +12,7 @@ public class CodeUploadHandler implements MessageHandler {
public void handle(OnlineUser user, JSONObject json) {
if (json.get("t").equals("uploadCode")) {
LogManager.LOGGER.info("(WS) Code upload from " + user.getUser().getUsername());
LogManager.LOGGER.fine("(WS) Code upload from " + user.getUser().getUsername());
if (user.isGuest()) {
//Ignore

View File

@@ -13,7 +13,7 @@ public class FloppyHandler implements MessageHandler {
if (json.get("t").equals("floppyDown")) {
LogManager.LOGGER.info("(WS) Floppy download request from " + user.getUser().getUsername());
LogManager.LOGGER.fine("(WS) Floppy download request from " + user.getUser().getUsername());
if (user.isGuest()) {
return;
@@ -27,7 +27,7 @@ public class FloppyHandler implements MessageHandler {
} else if (json.get("t").equals("floppyUp")) {
LogManager.LOGGER.info("(WS) Floppy upload request from " + user.getUser().getUsername());
LogManager.LOGGER.fine("(WS) Floppy upload request from " + user.getUser().getUsername());
//Check newly uploaded file on the database
byte[] bytes = db.getFloppy(user.getUser().getUsername());

View File

@@ -1,6 +1,5 @@
package net.simon987.server.webserver;
import net.simon987.server.logging.LogManager;
import org.json.simple.JSONObject;
import java.util.ArrayList;
@@ -14,7 +13,7 @@ public class KeypressHandler implements MessageHandler {
if (!user.isGuest()) {
if (json.get("t").equals("k")) {
LogManager.LOGGER.info("(WS) Received keypress");
//LogManager.LOGGER.fine("(WS) Received keypress");
int key = (int) (long) json.get("k");

View File

@@ -33,11 +33,11 @@ public class MessageEventDispatcher {
handler.handle(user, json);
}
} else {
LogManager.LOGGER.info("Malformed JSON sent by " + user.getUser().getUsername());
LogManager.LOGGER.severe("Malformed JSON sent by " + user.getUser().getUsername());
}
} catch (ParseException e) {
LogManager.LOGGER.info("Malformed JSON sent by " + user.getUser().getUsername());
LogManager.LOGGER.severe("Malformed JSON sent by " + user.getUser().getUsername());
}
}
}

View File

@@ -15,14 +15,14 @@ public class ObjectsRequestHandler implements MessageHandler {
@Override
public void handle(OnlineUser user, JSONObject json) {
if (json.get("t").equals("object")) {
LogManager.LOGGER.info("(WS) Objects request from " + user.getUser().getUsername());
LogManager.LOGGER.fine("(WS) Objects request from " + user.getUser().getUsername());
int x, y;
try {
x = Long.valueOf((long) json.get("x")).intValue();
y = Long.valueOf((long) json.get("y")).intValue();
} catch (Exception e) {
LogManager.LOGGER.info("(WS) Malformed Objects request from " + user.getUser().getUsername());
LogManager.LOGGER.severe("(WS) Malformed Objects request from " + user.getUser().getUsername());
return;
}

View File

@@ -2,6 +2,7 @@ package net.simon987.server.webserver;
import net.simon987.server.GameServer;
import net.simon987.server.ServerConfiguration;
import net.simon987.server.game.ControllableUnit;
import net.simon987.server.logging.LogManager;
import net.simon987.server.user.User;
import org.java_websocket.WebSocket;
@@ -175,17 +176,38 @@ public class SocketServer extends WebSocketServer {
user.getWebSocket().send(json.toJSONString());
} else {
//Send keyboard updated buffer
try {
ArrayList<Integer> kbBuffer = user.getUser().getControlledUnit().getKeyboardBuffer();
ControllableUnit unit = user.getUser().getControlledUnit();
System.out.println("Sent " + unit.getConsoleMessagesBuffer().size() + " messages to " + user.getUser().getUsername());
//Send keyboard updated buffer
ArrayList<Integer> kbBuffer = unit.getKeyboardBuffer();
JSONArray keys = new JSONArray();
keys.addAll(kbBuffer);
json.put("keys", keys);
//Send console buffer
if (unit.getConsoleMessagesBuffer().size() > 0) {
JSONArray buff = new JSONArray();
for (char[] message : unit.getConsoleMessagesBuffer()) {
buff.add(new String(message));
}
json.put("c", buff);
}
json.put("cm", unit.getConsoleMode());
//Send tick message
user.getWebSocket().send(json.toJSONString());
} catch (NullPointerException e) {
//User is online but not completely initialised
}
}

View File

@@ -12,7 +12,7 @@ public class TerrainRequestHandler implements MessageHandler {
public void handle(OnlineUser user, JSONObject json) {
if (json.get("t").equals("terrain") && json.containsKey("x") && json.containsKey("y")) {
LogManager.LOGGER.info("Terrain request from " + user.getUser().getUsername());
LogManager.LOGGER.fine("Terrain request from " + user.getUser().getUsername());
World world;
try {
world = GameServer.INSTANCE.getGameUniverse().getWorld(

View File

@@ -13,7 +13,7 @@ public class UserInfoRequestHandler implements MessageHandler {
if (message.get("t").equals("userInfo")) {
LogManager.LOGGER.info("(WS) User info request from " + user.getUser().getUsername());
LogManager.LOGGER.fine("(WS) User info request from " + user.getUser().getUsername());
JSONObject json = new JSONObject();
if (user.isGuest()) {