aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsD <stoned@derpymail.org>2020-07-20 16:08:46 +0200
committersD <stoned@derpymail.org>2020-07-20 16:08:46 +0200
commit9f3806fed2b99f67a5b38941cd902634f6676d23 (patch)
tree9894aa725a7adf894fd369610351fd35826fef24
parentbd29a273cb56120db6f7d05ce45ac0933ee298d6 (diff)
send stuff back to the client
-rw-r--r--webAO/client.js36
1 files changed, 31 insertions, 5 deletions
diff --git a/webAO/client.js b/webAO/client.js
index 76300ec..1532633 100644
--- a/webAO/client.js
+++ b/webAO/client.js
@@ -92,6 +92,7 @@ let lastICMessageTime = new Date(0);
class Client extends EventEmitter {
constructor(address) {
super();
+ console.log("mode: " + mode);
if (mode !== "replay") {
this.serv = new WebSocket("ws://" + address);
// Assign the websocket events
@@ -99,6 +100,8 @@ class Client extends EventEmitter {
this.serv.addEventListener("close", this.emit.bind(this, "close"));
this.serv.addEventListener("message", this.emit.bind(this, "message"));
this.serv.addEventListener("error", this.emit.bind(this, "error"));
+ } else {
+ this.joinServer();
}
this.on("open", this.onOpen.bind(this));
@@ -197,6 +200,7 @@ class Client extends EventEmitter {
this.on("decryptor", this.handleDecryptor.bind(this));
this.on("PV", this.handlePV.bind(this));
this.on("CHECK", () => { });
+ this.on("CH", () => { });
this._lastTimeICReceived = new Date(0);
}
@@ -227,8 +231,22 @@ class Client extends EventEmitter {
* @param {string} message the message to send
*/
sendServer(message) {
- // console.log(message);
- this.serv.send(message);
+ console.debug("C: " + message);
+ if (mode === "replay") {
+ this.sendSelf(message);
+ } else {
+ this.serv.send(message);
+ }
+ }
+
+ /**
+ * Hook for sending messages to the client
+ * @param {string} message the message to send
+ */
+ sendSelf(message) {
+ document.getElementById("client_ooclog").innerHTML += message + "\r\n";
+ const message_event = new MessageEvent('websocket', { data: message });
+ this.onMessage(message_event);
}
/**
@@ -281,8 +299,6 @@ class Client extends EventEmitter {
`#${escapeChat(encodeChat(message))}#${side}#${sfx_name}#${emote_modifier}` +
`#${this.charID}#${sfx_delay}#${objection_modifier}#${evidence}#${flip}#${realization}#${text_color}#${extra_cccc}${extra_27}%`;
- console.log(serverMessage);
-
this.sendServer(serverMessage);
}
@@ -484,7 +500,7 @@ class Client extends EventEmitter {
*/
onMessage(e) {
const msg = e.data;
- console.debug(msg);
+ console.debug("S: " + msg);
const lines = msg.split("%");
const args = lines[0].split("#");
@@ -1082,6 +1098,8 @@ class Client extends EventEmitter {
this.serverSoftware = args[2].split("&")[0];
if (this.serverSoftware === "serverD")
this.serverVersion = args[2].split("&")[1];
+ else if (this.serverSoftware === "webAO")
+ this.sendSelf("PN#0#0#%");
else
this.serverVersion = args[3];
@@ -1284,6 +1302,14 @@ class Client extends EventEmitter {
pickEmotion(1);
}
}
+
+ /**
+ * we are asking ourselves what characters there are
+ * @param {Array} args packet arguments
+ */
+ handleaskChaa(_args) {
+ this.onMessage("SC#Phoenix#PhoenixSOJ#Young Mia#Grossberg#%");
+ }
}
class Viewport {