aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets
diff options
context:
space:
mode:
authorstonedDiscord <Tukz@gmx.de>2022-09-10 14:12:53 +0200
committerGitHub <noreply@github.com>2022-09-10 14:12:53 +0200
commitabba7630e13f7e5269c14c2c43b66b03559ddfe3 (patch)
tree4770a2375d594ef080aa4ad8262aa2df42831c26 /webAO/packets
parent09a23ea9d7ee37d8e2dfb036786c41ce37496c51 (diff)
parent93979636fb5d1c60f0da3290e80eb3ca9ead992f (diff)
Merge pull request #173 from caleb-mabry/trying-to-minimize
Client at 297 lines
Diffstat (limited to 'webAO/packets')
-rw-r--r--webAO/packets/handlers/handleBD.ts5
-rw-r--r--webAO/packets/handlers/handleCI.ts3
-rw-r--r--webAO/packets/handlers/handleEM.ts14
-rw-r--r--webAO/packets/handlers/handleFA.ts3
-rw-r--r--webAO/packets/handlers/handleFM.ts4
-rw-r--r--webAO/packets/handlers/handleKB.ts5
-rw-r--r--webAO/packets/handlers/handleKK.ts5
-rw-r--r--webAO/packets/handlers/handleMC.ts3
-rw-r--r--webAO/packets/handlers/handleMS.ts226
-rw-r--r--webAO/packets/handlers/handleSC.ts3
-rw-r--r--webAO/packets/handlers/handleSM.ts15
-rw-r--r--webAO/packets/handlers/handleackMS.ts2
12 files changed, 152 insertions, 136 deletions
diff --git a/webAO/packets/handlers/handleBD.ts b/webAO/packets/handlers/handleBD.ts
index 4ec291e..dbfb54b 100644
--- a/webAO/packets/handlers/handleBD.ts
+++ b/webAO/packets/handlers/handleBD.ts
@@ -1,5 +1,6 @@
-import { client, setBanned } from "../../client";
+import { setBanned } from "../../client";
import { safeTags } from "../../encoding";
+import { handleBans } from '../../client/handleBans'
/**
@@ -8,6 +9,6 @@ import { safeTags } from "../../encoding";
* @param {Array} args ban reason
*/
export const handleBD = (args: string[]) => {
- client.handleBans("Banned", safeTags(args[1]));
+ handleBans("Banned", safeTags(args[1]));
setBanned(true);
} \ No newline at end of file
diff --git a/webAO/packets/handlers/handleCI.ts b/webAO/packets/handlers/handleCI.ts
index 53e42f7..cb693bc 100644
--- a/webAO/packets/handlers/handleCI.ts
+++ b/webAO/packets/handlers/handleCI.ts
@@ -1,4 +1,5 @@
import { client } from '../../client'
+import { handleCharacterInfo } from '../../client/handleCharacterInfo'
/**
* Handles incoming character information, bundling multiple characters
* per packet.
@@ -18,7 +19,7 @@ export const handleCI = (args: string[]) => {
(<HTMLProgressElement>(
document.getElementById("client_loadingbar")
)).value = charid;
- setTimeout(() => client.handleCharacterInfo(chargs, charid), 500);
+ setTimeout(() => handleCharacterInfo(chargs, charid), 500);
}
}
// Request the next pack
diff --git a/webAO/packets/handlers/handleEM.ts b/webAO/packets/handlers/handleEM.ts
index 9f3cb87..5e49ea4 100644
--- a/webAO/packets/handlers/handleEM.ts
+++ b/webAO/packets/handlers/handleEM.ts
@@ -1,4 +1,8 @@
import { client } from '../../client'
+import { addTrack } from '../../client/addTrack';
+import { createArea } from '../../client/createArea';
+import { fix_last_area } from '../../client/fixLastArea';
+import { isAudio } from '../../client/isAudio';
import { safeTags } from '../../encoding';
/**
@@ -23,13 +27,13 @@ export const handleEM = (args: string[]) => {
)).value =
client.char_list_length + client.evidence_list_length + trackindex;
if (client.musics_time) {
- client.addTrack(trackname);
- } else if (client.isAudio(trackname)) {
+ addTrack(trackname);
+ } else if (isAudio(trackname)) {
client.musics_time = true;
- client.fix_last_area();
- client.addTrack(trackname);
+ fix_last_area();
+ addTrack(trackname);
} else {
- client.createArea(trackindex, trackname);
+ createArea(trackindex, trackname);
}
}
}
diff --git a/webAO/packets/handlers/handleFA.ts b/webAO/packets/handlers/handleFA.ts
index ccfe923..7a373e8 100644
--- a/webAO/packets/handlers/handleFA.ts
+++ b/webAO/packets/handlers/handleFA.ts
@@ -1,4 +1,5 @@
import { client } from '../../client'
+import { createArea } from '../../client/createArea';
import { safeTags } from '../../encoding';
/**
@@ -9,6 +10,6 @@ export const handleFA = (args: string[]) => {
client.resetAreaList();
for (let i = 1; i < args.length - 1; i++) {
- client.createArea(i - 1, safeTags(args[i]));
+ createArea(i - 1, safeTags(args[i]));
}
}
diff --git a/webAO/packets/handlers/handleFM.ts b/webAO/packets/handlers/handleFM.ts
index 630477b..fce10e3 100644
--- a/webAO/packets/handlers/handleFM.ts
+++ b/webAO/packets/handlers/handleFM.ts
@@ -1,7 +1,7 @@
import { client } from "../../client";
+import { addTrack } from "../../client/addTrack";
import { safeTags } from "../../encoding";
-
/**
* Handles updated music list
* @param {Array} args packet arguments
@@ -11,6 +11,6 @@ export const handleFM = (args: string[]) => {
for (let i = 1; i < args.length - 1; i++) {
// Check when found the song for the first time
- client.addTrack(safeTags(args[i]));
+ addTrack(safeTags(args[i]));
}
}
diff --git a/webAO/packets/handlers/handleKB.ts b/webAO/packets/handlers/handleKB.ts
index 8705b83..b0aa2b2 100644
--- a/webAO/packets/handlers/handleKB.ts
+++ b/webAO/packets/handlers/handleKB.ts
@@ -1,5 +1,6 @@
-import { client, setBanned } from "../../client";
+import { setBanned } from "../../client";
import { safeTags } from "../../encoding";
+import { handleBans } from '../../client/handleBans'
/**
* Handles the banned packet
@@ -7,6 +8,6 @@ import { safeTags } from "../../encoding";
* @param {Array} args ban reason
*/
export const handleKB = (args: string[]) => {
- client.handleBans("Banned", safeTags(args[1]));
+ handleBans("Banned", safeTags(args[1]));
setBanned(true);
}
diff --git a/webAO/packets/handlers/handleKK.ts b/webAO/packets/handlers/handleKK.ts
index fd9a88c..c8a97b1 100644
--- a/webAO/packets/handlers/handleKK.ts
+++ b/webAO/packets/handlers/handleKK.ts
@@ -1,11 +1,10 @@
-import { client } from "../../client";
import { safeTags } from "../../encoding";
-
+import { handleBans } from '../../client/handleBans'
/**
* Handles the kicked packet
* @param {Array} args kick reason
*/
export const handleKK = (args: string[]) => {
- client.handleBans("Kicked", safeTags(args[1]));
+ handleBans("Kicked", safeTags(args[1]));
}
diff --git a/webAO/packets/handlers/handleMC.ts b/webAO/packets/handlers/handleMC.ts
index bf60eb9..aeb178d 100644
--- a/webAO/packets/handlers/handleMC.ts
+++ b/webAO/packets/handlers/handleMC.ts
@@ -1,6 +1,7 @@
import { prepChat } from "../../encoding";
-import { appendICLog, client } from '../../client'
+import { client } from '../../client'
import { AO_HOST } from "../../client/aoHost";
+import { appendICLog } from '../../client/appendICLog'
/**
* Handles a music change to an arbitrary resource.
diff --git a/webAO/packets/handlers/handleMS.ts b/webAO/packets/handlers/handleMS.ts
index 0aad19a..1256900 100644
--- a/webAO/packets/handlers/handleMS.ts
+++ b/webAO/packets/handlers/handleMS.ts
@@ -1,4 +1,6 @@
-import { client, extrafeatures, resetICParams, UPDATE_INTERVAL } from "../../client";
+import { client, extrafeatures, UPDATE_INTERVAL } from "../../client";
+import { handleCharacterInfo } from "../../client/handleCharacterInfo";
+import { resetICParams } from "../../client/resetICParams";
import { prepChat, safeTags } from "../../encoding";
/**
@@ -6,119 +8,104 @@ import { prepChat, safeTags } from "../../encoding";
* @param {*} args packet arguments
*/
export const handleMS = (args: string[]) => {
- // TODO: this if-statement might be a bug.
- if (args[4] !== client.viewport.chatmsg.content) {
- document.getElementById("client_inner_chat")!.innerHTML = "";
+ // TODO: this if-statement might be a bug.
+ if (args[4] !== client.viewport.chatmsg.content) {
+ document.getElementById("client_inner_chat")!.innerHTML = "";
- const char_id = Number(args[9]);
- const char_name = safeTags(args[3]);
+ const char_id = Number(args[9]);
+ const char_name = safeTags(args[3]);
- let msg_nameplate = args[3];
- let msg_blips = "male";
- let char_chatbox = "default";
- let char_muted = false;
+ let msg_nameplate = args[3];
+ let msg_blips = "male";
+ let char_chatbox = "default";
+ let char_muted = false;
- if (char_id < client.char_list_length && char_id >= 0) {
- if(client.chars[char_id].name !== char_name) {
+ if (char_id < client.char_list_length && char_id >= 0) {
+ if (client.chars[char_id].name !== char_name) {
console.info(
`${client.chars[char_id].name} is iniediting to ${char_name}`
);
const chargs = (`${char_name}&` + "iniediter").split("&");
- client.handleCharacterInfo(chargs, char_id);
- }
+ handleCharacterInfo(chargs, char_id);
}
+ }
- try {
- msg_nameplate = client.chars[char_id].showname;
- } catch (e) {
- msg_nameplate = args[3];
- }
+ try {
+ msg_nameplate = client.chars[char_id].showname;
+ } catch (e) {
+ msg_nameplate = args[3];
+ }
- try {
- msg_blips = client.chars[char_id].blips;
- } catch (e) {}
+ try {
+ msg_blips = client.chars[char_id].blips;
+ } catch (e) { }
- try {
- char_chatbox = client.chars[char_id].chat;
- } catch (e) {
- char_chatbox = "default";
- }
+ try {
+ char_chatbox = client.chars[char_id].chat;
+ } catch (e) {
+ char_chatbox = "default";
+ }
- try {
- char_muted = client.chars[char_id].muted;
- } catch (e) {
- char_muted = false;
- console.error("we're still missing some character data");
- }
+ try {
+ char_muted = client.chars[char_id].muted;
+ } catch (e) {
+ char_muted = false;
+ console.error("we're still missing some character data");
+ }
+
+ if (char_muted === false) {
+ let chatmsg = {
+ deskmod: safeTags(args[1]).toLowerCase(),
+ preanim: safeTags(args[2]).toLowerCase(), // get preanim
+ nameplate: msg_nameplate,
+ chatbox: char_chatbox,
+ name: char_name,
+ sprite: safeTags(args[4]).toLowerCase(),
+ content: prepChat(args[5]), // Escape HTML tags
+ side: args[6].toLowerCase(),
+ sound: safeTags(args[7]).toLowerCase(),
+ blips: safeTags(msg_blips),
+ type: Number(args[8]),
+ charid: char_id,
+ snddelay: Number(args[10]),
+ objection: Number(args[11]),
+ evidence: safeTags(args[12]),
+ flip: Number(args[13]),
+ flash: Number(args[14]),
+ color: Number(args[15]),
+ speed: UPDATE_INTERVAL,
+ };
- if (char_muted === false) {
- let chatmsg = {
- deskmod: safeTags(args[1]).toLowerCase(),
- preanim: safeTags(args[2]).toLowerCase(), // get preanim
- nameplate: msg_nameplate,
- chatbox: char_chatbox,
- name: char_name,
- sprite: safeTags(args[4]).toLowerCase(),
- content: prepChat(args[5]), // Escape HTML tags
- side: args[6].toLowerCase(),
- sound: safeTags(args[7]).toLowerCase(),
- blips: safeTags(msg_blips),
- type: Number(args[8]),
- charid: char_id,
- snddelay: Number(args[10]),
- objection: Number(args[11]),
- evidence: safeTags(args[12]),
- flip: Number(args[13]),
- flash: Number(args[14]),
- color: Number(args[15]),
- speed: UPDATE_INTERVAL,
+ if (extrafeatures.includes("cccc_ic_support")) {
+ const extra_cccc = {
+ showname: safeTags(args[16]),
+ other_charid: Number(args[17]),
+ other_name: safeTags(args[18]),
+ other_emote: safeTags(args[19]),
+ self_offset: args[20].split("<and>"), // HACK: here as well, client is fucked and uses this instead of &
+ other_offset: args[21].split("<and>"),
+ other_flip: Number(args[22]),
+ noninterrupting_preanim: Number(args[23]),
};
+ chatmsg = Object.assign(extra_cccc, chatmsg);
- if (extrafeatures.includes("cccc_ic_support")) {
- const extra_cccc = {
- showname: safeTags(args[16]),
- other_charid: Number(args[17]),
- other_name: safeTags(args[18]),
- other_emote: safeTags(args[19]),
- self_offset: args[20].split("<and>"), // HACK: here as well, client is fucked and uses this instead of &
- other_offset: args[21].split("<and>"),
- other_flip: Number(args[22]),
- noninterrupting_preanim: Number(args[23]),
+ if (extrafeatures.includes("looping_sfx")) {
+ const extra_27 = {
+ looping_sfx: Number(args[24]),
+ screenshake: Number(args[25]),
+ frame_screenshake: safeTags(args[26]),
+ frame_realization: safeTags(args[27]),
+ frame_sfx: safeTags(args[28]),
};
- chatmsg = Object.assign(extra_cccc, chatmsg);
+ chatmsg = Object.assign(extra_27, chatmsg);
- if (extrafeatures.includes("looping_sfx")) {
- const extra_27 = {
- looping_sfx: Number(args[24]),
- screenshake: Number(args[25]),
- frame_screenshake: safeTags(args[26]),
- frame_realization: safeTags(args[27]),
- frame_sfx: safeTags(args[28]),
+ if (extrafeatures.includes("effects")) {
+ const extra_28 = {
+ additive: Number(args[29]),
+ effects: args[30].split("|"),
};
- chatmsg = Object.assign(extra_27, chatmsg);
-
- if (extrafeatures.includes("effects")) {
- const extra_28 = {
- additive: Number(args[29]),
- effects: args[30].split("|"),
- };
- chatmsg = Object.assign(extra_28, chatmsg);
- } else {
- const extra_28 = {
- additive: 0,
- effects: ["", "", ""],
- };
- chatmsg = Object.assign(extra_28, chatmsg);
- }
+ chatmsg = Object.assign(extra_28, chatmsg);
} else {
- const extra_27 = {
- looping_sfx: 0,
- screenshake: 0,
- frame_screenshake: "",
- frame_realization: "",
- frame_sfx: "",
- };
- chatmsg = Object.assign(extra_27, chatmsg);
const extra_28 = {
additive: 0,
effects: ["", "", ""],
@@ -126,17 +113,6 @@ export const handleMS = (args: string[]) => {
chatmsg = Object.assign(extra_28, chatmsg);
}
} else {
- const extra_cccc = {
- showname: "",
- other_charid: 0,
- other_name: "",
- other_emote: "",
- self_offset: [0, 0],
- other_offset: [0, 0],
- other_flip: 0,
- noninterrupting_preanim: 0,
- };
- chatmsg = Object.assign(extra_cccc, chatmsg);
const extra_27 = {
looping_sfx: 0,
screenshake: 0,
@@ -151,12 +127,38 @@ export const handleMS = (args: string[]) => {
};
chatmsg = Object.assign(extra_28, chatmsg);
}
+ } else {
+ const extra_cccc = {
+ showname: "",
+ other_charid: 0,
+ other_name: "",
+ other_emote: "",
+ self_offset: [0, 0],
+ other_offset: [0, 0],
+ other_flip: 0,
+ noninterrupting_preanim: 0,
+ };
+ chatmsg = Object.assign(extra_cccc, chatmsg);
+ const extra_27 = {
+ looping_sfx: 0,
+ screenshake: 0,
+ frame_screenshake: "",
+ frame_realization: "",
+ frame_sfx: "",
+ };
+ chatmsg = Object.assign(extra_27, chatmsg);
+ const extra_28 = {
+ additive: 0,
+ effects: ["", "", ""],
+ };
+ chatmsg = Object.assign(extra_28, chatmsg);
+ }
- // our own message appeared, reset the buttons
- if (chatmsg.charid === client.charID) {
- resetICParams();
- }
- client.viewport.handle_ic_speaking(chatmsg); // no await
+ // our own message appeared, reset the buttons
+ if (chatmsg.charid === client.charID) {
+ resetICParams();
}
+ client.viewport.handle_ic_speaking(chatmsg); // no await
}
- } \ No newline at end of file
+ }
+} \ No newline at end of file
diff --git a/webAO/packets/handlers/handleSC.ts b/webAO/packets/handlers/handleSC.ts
index f4953e0..b42a4cd 100644
--- a/webAO/packets/handlers/handleSC.ts
+++ b/webAO/packets/handlers/handleSC.ts
@@ -1,6 +1,7 @@
import queryParser from "../../utils/queryParser";
import { client } from '../../client'
+import { handleCharacterInfo } from "../../client/handleCharacterInfo";
let { mode } = queryParser();
/**
@@ -30,7 +31,7 @@ export const handleSC = async (args: string[]) => {
document.getElementById("client_loadingbar")
)).value = charid;
await sleep(0.1); // TODO: Too many network calls without this. net::ERR_INSUFFICIENT_RESOURCES
- client.handleCharacterInfo(chargs, charid);
+ handleCharacterInfo(chargs, charid);
}
// We're done with the characters, request the music
client.sender.sendServer("RM#%");
diff --git a/webAO/packets/handlers/handleSM.ts b/webAO/packets/handlers/handleSM.ts
index 48f9cd9..08bf7e0 100644
--- a/webAO/packets/handlers/handleSM.ts
+++ b/webAO/packets/handlers/handleSM.ts
@@ -1,4 +1,8 @@
import { client } from '../../client'
+import { addTrack } from '../../client/addTrack'
+import { isAudio } from '../../client/isAudio'
+import { fix_last_area } from '../../client/fixLastArea'
+import { createArea } from '../../client/createArea'
/**
* Handles incoming music information, containing all music in one packet.
* @param {Array} args packet arguments
@@ -21,14 +25,15 @@ export const handleSM = (args: string[]) => {
document.getElementById("client_loadingbar")
)).value = client.char_list_length + client.evidence_list_length + i;
if (client.musics_time) {
- client.addTrack(trackname);
- } else if (client.isAudio(trackname)) {
+ addTrack(trackname);
+ } else if (isAudio(trackname)) {
client.musics_time = true;
- client.fix_last_area();
- client.addTrack(trackname);
+ fix_last_area();
+ addTrack(trackname);
} else {
- client.createArea(trackindex, trackname);
+ createArea(trackindex, trackname);
}
+
}
// Music done, carry on
diff --git a/webAO/packets/handlers/handleackMS.ts b/webAO/packets/handlers/handleackMS.ts
index 2b971b0..dcca118 100644
--- a/webAO/packets/handlers/handleackMS.ts
+++ b/webAO/packets/handlers/handleackMS.ts
@@ -1,4 +1,4 @@
-import { resetICParams } from "../../client";
+import { resetICParams } from '../../client/resetICParams'
/**
* server got our message