aboutsummaryrefslogtreecommitdiff
path: root/webAO
diff options
context:
space:
mode:
Diffstat (limited to 'webAO')
-rw-r--r--webAO/client.js50
1 files changed, 15 insertions, 35 deletions
diff --git a/webAO/client.js b/webAO/client.js
index d1b8cb9..b82b2fa 100644
--- a/webAO/client.js
+++ b/webAO/client.js
@@ -312,25 +312,6 @@ class Client extends EventEmitter {
background_arr.forEach(background => {
background_select.add(new Option(background));
});
-
- this.resources.map(async (resource) => {
- // Check if image exists and replace `src` with an absolute URL
- const spriteSrc = `${AO_HOST}themes/default/${resource.src}.gif`;
- if (await fileExists(spriteSrc)) {
- Object.assign(resource, {
- src: spriteSrc,
- duration: await viewport.getAnimLength(spriteSrc)
- });
- }
-
- // Check if sfx exists and replace `sfx` with an absolute URL
- if (resource.sfx) {
- const sfxSrc = AO_HOST + resource.sfx.toLowerCase();
- if (await fileExists(sfxSrc)) {
- resource.sfx = sfxSrc;
- }
- }
- });
}
/**
@@ -392,13 +373,9 @@ class Client extends EventEmitter {
* Triggered when a connection is established to the server.
*/
onOpen(_e) {
- // XXX: Why does watching mean just SITTING there and doing nothing?
- if (mode === "watch") {
- document.getElementById("client_loading").style.display = "none";
- document.getElementById("client_charselect").style.display = "none";
- } else {
- client.joinServer();
- }
+ client.initialObservBBCode();
+ client.loadResources();
+ client.joinServer();
}
/**
@@ -769,7 +746,11 @@ class Client extends EventEmitter {
*/
handleDONE(_args) {
document.getElementById("client_loading").style.display = "none";
- document.getElementById("client_charselect").style.display = "block";
+ if (mode === "watch") { // Spectators don't need to pick a character
+ document.getElementById("client_charselect").style.display = "none";
+ } else {
+ document.getElementById("client_charselect").style.display = "block";
+ }
}
/**
@@ -932,6 +913,7 @@ class Client extends EventEmitter {
document.getElementById("client_inputbox").style.display = "";
const me = this.character;
+ this.selectedEmote = -1;
const emotes = this.emotes;
const emotesList = document.getElementById("client_emo");
emotesList.innerHTML = ""; // Clear emote box
@@ -1782,8 +1764,12 @@ window.pickChar = pickChar;
* @param {string} emo the new emotion to be selected
*/
export function pickEmotion(emo) {
- if (client.selectedEmote !== -1) {
- document.getElementById("emo_" + client.selectedEmote).src = client.emote.button_off;
+ try {
+ if (client.selectedEmote !== -1) {
+ document.getElementById("emo_" + client.selectedEmote).src = client.emote.button_off;
+ }
+ } catch (err) {
+ // do nothing
}
client.selectedEmote = emo;
document.getElementById("emo_" + emo).src = client.emote.button_on;
@@ -2251,12 +2237,6 @@ function decodeBBCode(estring) {
let client = new Client(serverIP);
let viewport = new Viewport();
-export function onLoad(){
- client.initialObservBBCode();
- client.loadResources();
-}
-window.onLoad = onLoad;
-
// Create dialog and link to button
$(function () {
$("#callmod_dialog").dialog({