aboutsummaryrefslogtreecommitdiff
path: root/webAO
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2018-09-03 22:48:46 -0500
committeroldmud0 <oldmud0@users.noreply.github.com>2018-09-03 22:48:46 -0500
commit077fcf719b1a9383b4170f33a77c95024d6f7188 (patch)
treef57862b1866f766435db783b186f0c9f2478937d /webAO
parent2f18d565cb06de3826aee13fd07356adf29d9cbc (diff)
Continue code cleanup
Diffstat (limited to 'webAO')
-rw-r--r--webAO/client.html46
-rw-r--r--webAO/client.js176
2 files changed, 112 insertions, 110 deletions
diff --git a/webAO/client.html b/webAO/client.html
index 2343264..3db7762 100644
--- a/webAO/client.html
+++ b/webAO/client.html
@@ -55,9 +55,9 @@
</div>
<br>
<div id="client_buttons">
- <img src="misc/holdit.png" id="button_1" alt="Hold it!" class="client_button" onclick="toggleshout(1)">
- <img src="misc/objection.png" id="button_2" alt="OBJECTION!" class="client_button" onclick="toggleshout(2)">
- <img src="misc/takethat.png" id="button_3" alt="Take That!" class="client_button" onclick="toggleshout(3)">
+ <img src="misc/holdit.png" id="button_1" alt="Hold it!" class="client_button" onclick="toggleShout(1)">
+ <img src="misc/objection.png" id="button_2" alt="OBJECTION!" class="client_button" onclick="toggleShout(2)">
+ <img src="misc/takethat.png" id="button_3" alt="Take That!" class="client_button" onclick="toggleShout(3)">
<br>
<br>
<label for="textcolor">Text Color:</label>
@@ -75,21 +75,21 @@
<br>
<br>
<label>Flip: </label>
- <img src="misc/flip.png" id="button_flip" alt="Flip" class="client_button" onclick="toggleflip()">
+ <img src="misc/flip.png" id="button_flip" alt="Flip" class="client_button" onclick="toggleFlip()">
<label>Effect: </label>
- <img src="misc/flash.png" id="button_effect_1" alt="Flash" class="client_button" onclick="toggleaffect(1)">
- <img src="misc/shake.png" id="button_effect_2" alt="Shake" class="client_button" onclick="toggleaffect(2)">
+ <img src="misc/flash.png" id="button_effect_1" alt="Flash" class="client_button" onclick="toggleEffect(1)">
+ <img src="misc/shake.png" id="button_effect_2" alt="Shake" class="client_button" onclick="toggleEffect(2)">
</div>
<fieldset style="margin:10px;">
<legend>Action Commands</legend>
<!-- Judge Commands -->
<span id="judge_action" style="display:none">
- <span id="menu_wt" onclick="initwt()" class="menu_icon">
+ <span id="menu_wt" onclick="initWT()" class="menu_icon">
<i class="material-icons em-3">record_voice_over</i>
<div>Witness
<br>Testimony</div>
</span>
- <span id="menu_ce" onclick="initce()" class="menu_icon">
+ <span id="menu_ce" onclick="initCE()" class="menu_icon">
<i class="material-icons em-3">question_answer</i>
<div>Cross
<br>Examination</div>
@@ -120,7 +120,7 @@
</span>
</fieldset>
<br>
- <span id="menu_cm" onclick="callmod()" class="menu_icon">
+ <span id="menu_cm" onclick="callMod()" class="menu_icon">
<i class="material-icons em-3">report</i>
<div>Call Mod</div>
</span>
@@ -130,23 +130,23 @@
<meta name="frame-title" lang="en" content="Log">
<div id="client_menu">
<div class="hrtext">↓ Main Menu ↓</div>
- <span id="menu_1" onclick="togglemenu(1)" class="menu_icon active">
+ <span id="menu_1" onclick="toggleMenu(1)" class="menu_icon active">
<i class="material-icons em-3">work</i>
<div>Evidence</div>
</span>
- <span id="menu_2" onclick="togglemenu(2)" class="menu_icon">
+ <span id="menu_2" onclick="toggleMenu(2)" class="menu_icon">
<i class="material-icons em-3">room</i>
<div>Location</div>
</span>
- <span id="menu_3" onclick="togglemenu(3)" class="menu_icon">
+ <span id="menu_3" onclick="toggleMenu(3)" class="menu_icon">
<i class="material-icons em-3">settings</i>
<div>Settings</div>
</span>
- <span id="menu_4" onclick="togglemenu(4)" class="menu_icon">
+ <span id="menu_4" onclick="toggleMenu(4)" class="menu_icon">
<i class="material-icons em-3">description</i>
<div>Guide</div>
</span>
- <span id="menu_5" onclick="togglemenu(5)" class="menu_icon">
+ <span id="menu_5" onclick="toggleMenu(5)" class="menu_icon">
<i class="material-icons em-3">person</i>
<div>About</div>
</span>
@@ -176,16 +176,16 @@
<br>
<br>
<span style="display:block;text-align:center">
- <img src="misc/evidence_add.png" id="evi_add" alt="Add Evidence" class="client_button hover_button" onclick="addevidence()">
- <img src="misc/evidence_edit.png" id="evi_edit" alt="Edit Evidence" class="client_button hover_button inactive" onclick="editevidence()">
- <img src="misc/evidence_cancel.png" id="evi_cancel" alt="Cancel Evidence" class="client_button hover_button inactive" onclick="cancelevidence()">
- <img src="misc/evidence_remove.png" id="evi_del" alt="Remove Evidence" class="client_button hover_button inactive" onclick="delevidence()">
+ <img src="misc/evidence_add.png" id="evi_add" alt="Add Evidence" class="client_button hover_button" onclick="addEvidence()">
+ <img src="misc/evidence_edit.png" id="evi_edit" alt="Edit Evidence" class="client_button hover_button inactive" onclick="editEvidence()">
+ <img src="misc/evidence_cancel.png" id="evi_cancel" alt="Cancel Evidence" class="client_button hover_button inactive" onclick="cancelEvidence()">
+ <img src="misc/evidence_remove.png" id="evi_del" alt="Remove Evidence" class="client_button hover_button inactive" onclick="deleteEvidence()">
</span>
</fieldset>
<br>
<div id="evidences"></div>
<br>
- <img src="misc/present.png" id="button_present" alt="Present" class="client_button" onclick="togglepresent()">
+ <img src="misc/present.png" id="button_present" alt="Present" class="client_button" onclick="togglePresent()">
</span>
<!-- Location section -->
@@ -341,9 +341,11 @@
</select>
</template>
-<div id="callmod_dialog" title="Are you sure to call mod?">
+<div id="callmod_dialog" title="Call Mod">
<p>
- <span class="ui-icon ui-icon-alert" style="float:left; margin:12px 12px 20px 0;"></span>They might be very busy. Are you sure?</p>
+ <span class="ui-icon ui-icon-alert" style="float:left; margin:12px 12px 20px 0;"></span>
+ Are you sure you want to call a moderator?
+ </p>
</div>
<body>
@@ -354,7 +356,7 @@
<button onclick="RetryButton()">RETRY</button>
</div>
<div id="client_charselect">
- <button onclick="pickchar(1001)">SPECTATE</button>
+ <button onclick="pickChar(1001)">SPECTATE</button>
<table id="client_chartable"></table>
</div>
<div id="client_error" class="error" style="display: none">
diff --git a/webAO/client.js b/webAO/client.js
index feafde3..dd1d7fa 100644
--- a/webAO/client.js
+++ b/webAO/client.js
@@ -14,7 +14,7 @@ location.search.substr(1).split("&").forEach(function (item) {
const serverIP = queryDict.ip;
let mode = queryDict.mode;
-const AO_HOST = queryDict.asset || "http://assets.aceattorneyonline.com/base/";
+const AO_HOST = queryDict.asset || "http://s3.wasabisys.com/webao/base/";
const MUSIC_HOST = AO_HOST + "sounds/music/";
const BAR_WIDTH = 90;
const BAR_HEIGHT = 20;
@@ -248,7 +248,7 @@ class Client {
*/
joinServer() {
this.serv.send(`HI#${navigator.userAgent.hashCode()}#%`);
- this.serv.send("ID#webAO#2.4.5#%");
+ this.serv.send("ID#webAO#2.3#%");
this.checkUpdater = setInterval(() => this.sendCheck(), 5000);
}
@@ -257,13 +257,16 @@ class Client {
*/
loadResources() {
// Set to playerID to server chat name
+ // TODO: Make a text box for this!
document.getElementById("OOC_name").value = "web" + this.playerID;
+
// Load evidence array to select
const evidence_select = document.getElementById("evi_select");
evidence_select.add(new Option("Custom", 0));
evidence_arr.forEach(evidence => {
evidence_select.add(new Option(evidence));
});
+
// Load background array to select
const background_select = document.getElementById("bg_select");
background_select.add(new Option("Custom", 0));
@@ -274,7 +277,7 @@ class Client {
const shouts = ["holdit", "objection", "takethat"];
for (let i = 0; i < shouts.length; i++) {
let shout_src = AO_HOST + this.resources[shouts[i]]["src"];
- FileExist(shout_src, this.callbackLoadImageResources, shouts[i]);
+ fileExists(shout_src, this.callbackLoadImageResources, shouts[i]);
}
// Calculate gif duration of testimony
@@ -282,9 +285,9 @@ class Client {
for (let i = 0; i < testimony.length; i++) {
const testimony_src = `${AO_HOST}themes/default/${testimony[i]}.gif`;
// Check image existed
- FileExist(testimony_src, this.callbackLoadImageResources, testimony[i]);
+ fileExists(testimony_src, this.callbackLoadImageResources, testimony[i]);
// Check sfx existed
- FileExist(AO_HOST + this.resources[testimony[i]]["sfx"], this.callbackLoadSFXResources, testimony[i]);
+ fileExists(AO_HOST + this.resources[testimony[i]]["sfx"], this.callbackLoadSFXResources, testimony[i]);
}
// TODO: Cache some resources
@@ -332,7 +335,7 @@ class Client {
const target = document.getElementById("client_inner_chat");
const observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
- var children = mutation.addedNodes;
+ const children = mutation.addedNodes;
if (children !== null) {
children.forEach(function (node) {
if (node.tagName == "C") {
@@ -460,7 +463,7 @@ class Client {
// TODO: this if-statement might be a bug.
if (args[4] != viewport.chatmsg.content) {
document.getElementById("client_inner_chat").innerHTML = "";
- let chatmsg = {
+ const chatmsg = {
// pre: escape(args[2]),
character: -1, // Will do a linear search
preanim: escape(args[2]), // XXX: why again?
@@ -579,7 +582,7 @@ class Client {
"desc": chargs[1],
"evidence": chargs[3],
"icon": AO_HOST + "characters/" + escape(chargs[0]) + "/char_icon.png"
- }
+ };
}
this.serv.send("RM#%");
}
@@ -612,7 +615,7 @@ class Client {
"desc": escapeHtml(decodeChat(unescapeChat(arg[1]))),
"filename": escape(arg[2]),
"icon": AO_HOST + "evidence/" + escape(arg[2])
- }
+ };
}
const evidence_box = document.getElementById("evidences");
@@ -622,7 +625,7 @@ class Client {
id="evi_${i}"
alt="${this.evidences[i - 1].name}"
class="client_button"
- onclick="pickevidence(${i})">`;
+ onclick="pickEvidence(${i})">`;
}
}
@@ -672,7 +675,7 @@ class Client {
newarea.className = "location-box";
newarea.textContent = args[i];
newarea.onclick = function () {
- area_click(this)
+ area_click(this);
};
document.getElementById("areas").appendChild(newarea);
}
@@ -777,7 +780,7 @@ class Client {
*/
handleZZ(args) {
const oocLog = document.getElementById("client_ooclog");
- oocLog.innerHTML += `\$Alert: ${decodeChat(unescapeChat(args[1]))}\r\n`;
+ oocLog.innerHTML += `$Alert: ${decodeChat(unescapeChat(args[1]))}\r\n`;
if (oocLog.scrollTop > oocLog.scrollHeight - 60) {
oocLog.scrollTop = oocLog.scrollHeight;
}
@@ -814,20 +817,19 @@ class Client {
*/
handleCharsCheck(args) {
document.getElementById("client_chartable").innerHTML = "";
+ let tr;
for (let i = 0; i < this.chars.length; i++) {
if (i % CHAR_SELECT_WIDTH == 0) {
- var tr = document.createElement('TR');
+ tr = document.createElement('TR');
}
- let td = document.createElement('TD');
- let icon_chosen;
- let thispick = this.chars[i].icon;
+ const td = document.createElement('TD');
+ let icon_chosen = "";
+ const thispick = this.chars[i].icon;
if (args[i + 1] == "-1") {
icon_chosen = " dark";
- } else {
- icon_chosen = "";
}
td.innerHTML = `<img class='demothing${icon_chosen}' id='demo_${i}' ` +
- `src='${thispick}' alt='${this.chars[i].name}' onclick='pickchar(${i})' ` +
+ `src='${thispick}' alt='${this.chars[i].name}' onclick='pickChar(${i})' ` +
`onerror='demoError(this);'>`;
tr.appendChild(td);
if (i % CHAR_SELECT_WIDTH == 0) {
@@ -844,21 +846,21 @@ class Client {
handlePV(args) {
this.charID = args[3];
document.getElementById("client_charselect").style.display = "none";
- let me = this.me();
- let emotes = this.emotes;
- let xhr = new XMLHttpRequest();
+ const me = this.me();
+ const emotes = this.emotes;
+ const xhr = new XMLHttpRequest();
xhr.withCredentials = false;
document.getElementById("client_emo").innerHTML = ""; // Clear emote box
xhr.open('GET', AO_HOST + 'characters/' + escape(this.me().name) + '/char.ini', true);
xhr.responseType = 'text';
xhr.onload = function (e) {
if (this.status == 200) {
- let linifile = this.responseText;
- let pinifile = INI.parse(linifile);
+ const linifile = this.responseText;
+ const pinifile = INI.parse(linifile);
me.side = pinifile.Options.side;
updateActionCommands(me.side);
for (let i = 1; i < pinifile.Emotions.number; i++) {
- let emoteinfo = pinifile.Emotions[i].split('#');
+ const emoteinfo = pinifile.Emotions[i].split('#');
let esfx = "0";
let esfxd = "0";
if (typeof pinifile.SoundN !== 'undefined') {
@@ -883,9 +885,9 @@ class Client {
id="emo_${i}"
alt="${emotes[i].desc}"
class="client_button"
- onclick="pickemotion(${i})">`;
+ onclick="pickEmotion(${i})">`;
}
- pickemotion(1);
+ pickEmotion(1);
}
};
xhr.send();
@@ -1018,13 +1020,13 @@ class Viewport {
* @param {object} param
*/
getAnimLength(filename, callback, param) {
- var request = new XMLHttpRequest();
+ const request = new XMLHttpRequest();
request.open('GET', filename, true);
request.responseType = 'arraybuffer';
request.addEventListener('load', function () {
// Use gify API
// https://github.com/rfrench/gify
- var gifInfo = gify.getInfo(request.response);
+ const gifInfo = gify.getInfo(request.response);
console.log(gifInfo["duration"]);
// Return animation length
callback(gifInfo["duration"], param);
@@ -1188,7 +1190,7 @@ class Viewport {
"4": "#0000ff",
"5": "#ffff00",
"6": "#aa00aa"
- }
+ };
let stylecolor = "color: " + (colors[this.chatmsg.color] || "#ffffff");
document.getElementById("client_inner_chat").style = stylecolor;
this.chatmsg.startspeaking = false;
@@ -1255,7 +1257,7 @@ class INI {
let match = line.match(regex.section);
value[match[1]] = {};
section = match[1];
- };
+ }
});
return value;
}
@@ -1396,7 +1398,7 @@ window.demoError = demoError;
* @param {object} param
*/
function fileExists(url, callback, param) {
- var xhttp = new XMLHttpRequest();
+ const xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
callback(true, param, url);
@@ -1415,41 +1417,41 @@ function fileExists(url, callback, param) {
* @param {string} position the position to change into
*/
function changeBackground(position) {
- var standname;
- let bgfolder = viewport.bgFolder();
+ let standname;
+ const bgfolder = viewport.bgFolder();
document.getElementById("client_fg").style.display = "none";
document.getElementById("client_bench").style.display = "none";
switch (position) {
- case "def":
- document.getElementById("client_court").src = bgfolder + "defenseempty.png"
- document.getElementById("client_bench").style.display = "block";
- FileExist(bgfolder + "defensedesk.png", callbackChangeBackground, position);
- standname = "defense";
- break;
- case "pro":
- document.getElementById("client_court").src = bgfolder + "prosecutorempty.png"
- document.getElementById("client_bench").style.display = "block"
- FileExist(bgfolder + "defensedesk.png", callbackChangeBackground, position);
- standname = "prosecution";
- break;
- case "hld":
- document.getElementById("client_court").src = bgfolder + "helperstand.png"
- standname = "defense";
- break;
- case "hlp":
- document.getElementById("client_court").src = bgfolder + "prohelperstand.png"
- standname = "prosecution";
- break;
- case "wit":
- document.getElementById("client_court").src = bgfolder + "witnessempty.png"
- document.getElementById("client_bench").style.display = "block"
- document.getElementById("client_bench").src = bgfolder + "estrado.png"
- standname = "prosecution";
- break;
- case "jud":
- document.getElementById("client_court").src = bgfolder + "judgestand.png"
- standname = "prosecution";
- break;
+ case "def":
+ document.getElementById("client_court").src = bgfolder + "defenseempty.png";
+ document.getElementById("client_bench").style.display = "block";
+ fileExists(bgfolder + "defensedesk.png", callbackChangeBackground, position);
+ standname = "defense";
+ break;
+ case "pro":
+ document.getElementById("client_court").src = bgfolder + "prosecutorempty.png";
+ document.getElementById("client_bench").style.display = "block";
+ fileExists(bgfolder + "defensedesk.png", callbackChangeBackground, position);
+ standname = "prosecution";
+ break;
+ case "hld":
+ document.getElementById("client_court").src = bgfolder + "helperstand.png";
+ standname = "defense";
+ break;
+ case "hlp":
+ document.getElementById("client_court").src = bgfolder + "prohelperstand.png";
+ standname = "prosecution";
+ break;
+ case "wit":
+ document.getElementById("client_court").src = bgfolder + "witnessempty.png";
+ document.getElementById("client_bench").style.display = "block";
+ document.getElementById("client_bench").src = bgfolder + "estrado.png";
+ standname = "prosecution";
+ break;
+ case "jud":
+ document.getElementById("client_court").src = bgfolder + "judgestand.png";
+ standname = "prosecution";
+ break;
}
if (viewport.chatmsg.type == 5) {
document.getElementById("client_bench").style.display = "none";
@@ -1468,15 +1470,15 @@ function callbackChangeBackground(result, position) {
let bgfolder = viewport.bgFolder();
if (position == "def") {
if (result) {
- document.getElementById("client_bench").src = bgfolder + "defensedesk.png"
+ document.getElementById("client_bench").src = bgfolder + "defensedesk.png";
} else {
- document.getElementById("client_bench").src = bgfolder + "bancodefensa.png"
+ document.getElementById("client_bench").src = bgfolder + "bancodefensa.png";
}
} else {
if (result) {
- document.getElementById("client_bench").src = bgfolder + "prosecutiondesk.png"
+ document.getElementById("client_bench").src = bgfolder + "prosecutiondesk.png";
} else {
- document.getElementById("client_bench").src = bgfolder + "bancoacusacion.png"
+ document.getElementById("client_bench").src = bgfolder + "bancoacusacion.png";
}
}
}
@@ -1560,7 +1562,7 @@ export function pickEmotion(emo) {
if (client.selectedEmote != -1) {
document.getElementById("emo_" + client.selectedEmote).src = client.myEmote().button_off;
}
- client.selectedEmote = emo
+ client.selectedEmote = emo;
document.getElementById("emo_" + emo).src = client.myEmote().button_on;
}
window.pickEmotion = pickEmotion;
@@ -1596,7 +1598,7 @@ export function pickEvidence(evidence) {
document.getElementById("evi_cancel").className = "client_button hover_button";
document.getElementById("evi_del").className = "client_button hover_button";
} else {
- cancelevidence();
+ cancelEvidence();
}
}
window.pickEvidence = pickEvidence;
@@ -1608,11 +1610,11 @@ export function addEvidence() {
let evidence_select = document.getElementById('evi_select');
client.sendPE(document.getElementById('evi_name').value,
document.getElementById('evi_desc').value,
- (evidence_select.selectedIndex == 0) ?
- document.getElementById('evi_filename').value :
- evidence_select.options[evidence_select.selectedIndex].text
+ evidence_select.selectedIndex == 0 ?
+ document.getElementById('evi_filename').value :
+ evidence_select.options[evidence_select.selectedIndex].text
);
- cancelevidence();
+ cancelEvidence();
}
window.addEvidence = addEvidence;
@@ -1625,11 +1627,11 @@ export function editEvidence() {
client.sendEE(id,
document.getElementById('evi_name').value,
document.getElementById('evi_desc').value,
- (evidence_select.selectedIndex == 0) ?
- document.getElementById('evi_filename').value :
- evidence_select.options[evidence_select.selectedIndex].text
+ evidence_select.selectedIndex == 0 ?
+ document.getElementById('evi_filename').value :
+ evidence_select.options[evidence_select.selectedIndex].text
);
- cancelevidence();
+ cancelEvidence();
}
window.editEvidence = editEvidence;
@@ -1639,7 +1641,7 @@ window.editEvidence = editEvidence;
export function deleteEvidence() {
let id = parseInt(client.selectedEvidence) - 1;
client.sendDE(id);
- cancelevidence();
+ cancelEvidence();
}
window.deleteEvidence = deleteEvidence;
@@ -1676,7 +1678,7 @@ window.cancelEvidence = cancelEvidence;
*/
export function getIndexFromSelect(select_box, value) {
//Find if icon alraedy existed in select box
- let select_element = document.getElementById(select_box);
+ const select_element = document.getElementById(select_box);
for (let i = 1; i < select_element.length; ++i) {
if (select_element.options[i].value == value) {
return i;
@@ -1966,9 +1968,9 @@ function encodeChat(estring) {
});
} else if (selectedEncoding == "utf16") {
//Source: https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String
- var buffer = new ArrayBuffer(estring.length * 2);
- var result = new Uint16Array(buffer);
- for (var i = 0, strLen = estring.length; i < strLen; i++) {
+ const buffer = new ArrayBuffer(estring.length * 2);
+ const result = new Uint16Array(buffer);
+ for (let i = 0, strLen = estring.length; i < strLen; i++) {
result[i] = estring.charCodeAt(i);
}
return String(result);
@@ -2025,11 +2027,10 @@ if (typeof (String.prototype.trim) === "undefined") {
// Used for HDID calculation.
String.prototype.hashCode = function () {
- var hash = 0,
- i, chr;
+ let hash = 0;
if (this.length === 0) return hash;
- for (i = 0; i < this.length; i++) {
- chr = this.charCodeAt(i);
+ for (let i = 0; i < this.length; i++) {
+ const chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
}
@@ -2047,7 +2048,6 @@ let viewport = new Viewport();
$(document).ready(function () {
client.initialObservBBCode();
client.loadResources();
-
});
// Create dialog and link to button