aboutsummaryrefslogtreecommitdiff
path: root/client.js
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2018-05-15 21:20:00 -0500
committeroldmud0 <oldmud0@users.noreply.github.com>2018-05-15 21:20:00 -0500
commit5685e2b1714c8d85e505e9eccee549723773aaab (patch)
tree9cb8a263087218bcc84686f871cd6e70abdc673c /client.js
parentc26ac0e636a71b850fa316f5bead6ba263b55492 (diff)
Move files to webAO folder; GoldenLayout works!
Diffstat (limited to 'client.js')
-rw-r--r--client.js648
1 files changed, 0 insertions, 648 deletions
diff --git a/client.js b/client.js
deleted file mode 100644
index f2bba28..0000000
--- a/client.js
+++ /dev/null
@@ -1,648 +0,0 @@
-/*
-glorious webao
-made by sD
-credits to aleks for original idea and source
-*/
-var queryDict = {};
-location.search.substr(1).split("&").forEach(function(item) {
- queryDict[item.split("=")[0]] = item.split("=")[1]
-})
-
-//document.getElementById("client_wrapper").style = "width: 800px;";
-/* Server magic */
-//serv = new WebSocket("ws://51.255.160.217:50000");
-//serv = new WebSocket("ws://85.25.196.172:5000");
-var serverIP = queryDict.ip;
-serv = new WebSocket("ws://" + serverIP);
-var mode = queryDict.mode;
-//var AO_HOST = "http://weedlan.de/";
-if (queryDict.asset === undefined) {
- var AO_HOST = "http://assets.aceattorneyonline.com/base/";
-} else {
- var AO_HOST = queryDict.asset;
-}
-var MUSIC_HOST = AO_HOST + "sounds/music/";
-var BAR_WIDTH = 90;
-var BAR_HEIGHT = 20;
-var textnow = "";
-var chatmsg = {
- "isnew": false
-};
-var blip = new Audio(AO_HOST + 'sounds/general/sfx-blipmale.wav');
-var womboblip = new Audio(AO_HOST + 'sounds/general/sfx-blipmale.wav');
-var comboblip = new Audio(AO_HOST + 'sounds/general/sfx-blipmale.wav');
-var sfxaudio = new Audio(AO_HOST + 'sounds/general/sfx-blipmale.wav');
-var sfxplayed = 0;
-var music = new Audio();
-music.play();
-blip.volume = 0.5;
-womboblip.volume = 0.5;
-comboblip.volume = 0.5;
-combo = false;
-var charselectWidth = 8;
-var musiclist = Object();
-var ex = false;
-var tempchars = [];
-var chars = [];
-var emotes = [];
-var charcheck;
-var pid = 1;
-var bgname = 'gs4';
-var bgfolder = AO_HOST + "background/" + bgname + "/";
-// 0 = objection shout, 1 = pre-anim, 2 = speaking, 3 = silent
-var chatstate = 3
-var position;
-var me = -1;
-var myemotion = -1;
-var myschar = -1;
-var objection_state = 0;
-var updateInterval = 80;
-var shouttimer = 0;
-var texttimer = 0;
-var updater;
-var CHECKupdater;
-var serv;
-var oldloading=false;
-if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) {
- oldloading=true;
-}
-var carea = 0;
-var linifile;
-var pinifile;
-serv.onopen = function(evt) {
- onOpen(evt)
-};
-serv.onclose = function(evt) {
- onClose(evt)
-};
-serv.onmessage = function(evt) {
- onMessage(evt)
-};
-serv.onerror = function(evt) {
- onError(evt)
-};
-
-function parseINI(data) {
- var regex = {
- section: /^\s*\[\s*([^\]]*)\s*\]\s*$/,
- param: /^\s*([\w\.\-\_]+)\s*=\s*(.*?)\s*$/,
- comment: /^\s*;.*$/
- };
- var value = {};
- var lines = data.split(/\r\n|\r|\n/);
- var section = null;
- lines.forEach(function(line) {
- if (regex.comment.test(line)) {
- return;
- } else if (line.length == 0) {
- return;
- } else if (regex.param.test(line)) {
- var match = line.match(regex.param);
- if (section) {
- value[section][match[1]] = match[2];
- } else {
- value[match[1]] = match[2];
- }
- } else if (regex.section.test(line)) {
- var match = line.match(regex.section);
- value[match[1]] = {};
- section = match[1];
- };
- });
- return value;
-}
-
-function escapeChat(estring) {
- estring.replace("#", "<pound>");
- estring.replace("&", "<and>");
- estring.replace("%", "<percent>");
- estring.replace("$", "<dollar>");
- return estring;
-}
-
-function onOOCEnter(event) {
- if (event.keyCode == 13) {
- serv.send("CT#web" + pid + "#" + escapeChat(document.getElementById("client_oocinputbox").value) + "#%");
- document.getElementById("client_oocinputbox").value = "";
- }
-}
-
-function onEnter(event) {
- if (event.keyCode == 13) {
- mychar = chars[me]
- myemo = emotes[myemotion]
- if(document.getElementById("sendsfx").checked){
- ssfxname=myemo.sfx;
- ssfxdelay=myemo.sfxdelay;
- }else{
- ssfxname="0";
- ssfxdelay="0";
- }
- ICmessage = "MS#chat#" + myemo.speaking + "#" + mychar.name + "#" + myemo.silent + "#" + escapeChat(document.getElementById("client_inputbox").value) + "#" + mychar.side + "#" + ssfxname +"#" + myemo.zoom + "#" + me + "#" + ssfxdelay + "#" + objection_state + "#0#0#0#0#%";
- serv.send(ICmessage);
- document.getElementById("client_inputbox").value = '';
- if (objection_state) {
- document.getElementById("button_" + objection_state).className = "client_button";
- objection_state = 0;
- }
- }
-}
-
-function musiclist_click(event) {
- var playtrack = document.getElementById("client_musiclist").value;
- serv.send("MC#" + playtrack + "#" + me + "#%");
-}
-
-function changeMusicVolume() {
- music.volume = document.getElementById("client_mvolume").value / 100;
-}
-
-function changeSFXVolume() {
- sfxaudio.volume = document.getElementById("client_svolume").value / 100;
-}
-
-function changeBlipVolume() {
- blip.volume = document.getElementById("client_bvolume").value / 100;
- womboblip.volume = document.getElementById("client_bvolume").value / 100;
- comboblip.volume = document.getElementById("client_bvolume").value / 100;
-}
-
-function changeCharacter(event) {
- serv.send("FC#%");
- document.getElementById("client_charselect").style.display = "block";
- document.getElementById("client_emo").innerHTML = "";
-}
-
-function imgError(image) {
- image.onerror = "";
- image.src = "/misc/placeholder.gif";
- return true;
-}
-
-function demoError(image) {
- image.onerror = "";
- image.src = "/misc/placeholder.png";
- return true;
-}
-
-function ImageExist(url) {
- var img = new Image();
- img.src = url;
- return img.height != 0;
-}
-
-function changebg(position) {
- var standname
- bgfolder = AO_HOST + "background/" + escape(bgname) + "/";
- 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";
- document.getElementById("client_bench").src = bgfolder + "defensedesk.png"
- standname="defense";
- break;
- case "pro":
- document.getElementById("client_court").src = bgfolder + "prosecutorempty.png"
- document.getElementById("client_bench").style.display = "block"
- document.getElementById("client_bench").src = bgfolder + "prosecutiondesk.png"
- 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(chatmsg.type==5){
- document.getElementById("client_bench").style.display = "none";
- document.getElementById("client_court").src = AO_HOST + "themes/default/"+standname+"_speedlines.gif";
- }
-}
-
-function updateText() {
- if (chatmsg.content.trim() == "") {
- document.getElementById("client_name").style.display = "none";
- document.getElementById("client_chat").style.display = "none";
- } else {
- document.getElementById("client_name").style.display = "block";
- document.getElementById("client_chat").style.display = "block";
- }
- if (chatmsg.isnew){
- switch (chatmsg.objection) {
- case "0":
- shouttimer = 0;
- break;
- case "1":
- document.getElementById("client_char").src = AO_HOST + "misc/holdit.gif";
- shouttimer = 800;
- chatmsg.sound = "sfx-objection"
- break;
- case "2":
- document.getElementById("client_char").src = AO_HOST + "misc/takethat.gif";
- shouttimer = 800;
- chatmsg.sound = "sfx-objection"
- break;
- case "3":
- document.getElementById("client_char").src = AO_HOST + "misc/objection.gif";
- shouttimer = 800;
- chatmsg.sound = "sfx-objection"
- break;
- }
- chatmsg.isnew=false;
- chatmsg.startspeaking=true;
-}
- if (texttimer >= shouttimer) {
- if (chatmsg.startspeaking) {
- changebg(chatmsg.side);
- document.getElementById("client_char").src = AO_HOST + "characters/" + escape(chatmsg.name) + "/" + chatmsg.speaking + ".gif";
- document.getElementById("client_name").style.fontSize = (document.getElementById("client_name").offsetHeight * 0.7) + "px";
- document.getElementById("client_chat").style.fontSize = (document.getElementById("client_chat").offsetHeight * 0.25) + "px";
- document.getElementById("client_name").innerHTML = "<p>" + escapeHtml(chatmsg.nameplate) + "</p>";
- switch(chatmsg.color){
- case "0":
- stylecolor="color: #ffffff;";
- break;
- case "1":
- stylecolor="color: #00ff00;";
- break;
- case "2":
- stylecolor="color: #ff0000;";
- break;
- case "3":
- stylecolor="color: #ffaa00;";
- break;
- case "4":
- stylecolor="color: #0000ff;";
- break;
- case "5":
- stylecolor="color: #ffff00;";
- break;
- case "6":
- stylecolor="color: #aa00aa;";
- break;
- }
- document.getElementById("client_inner_chat").style = stylecolor;
- chatmsg.startspeaking = false;
- } else {
- if (textnow != chatmsg.content) {
- if(chatmsg.content.substring(textnow.length, textnow.length + 1)!=" "){
- combo = (combo + 1) % 2;
- switch (combo) {
- case 0:
- blip.play()
- break;
- case 1:
- //womboblip.play()
- break;
- }
- }
- textnow = chatmsg.content.substring(0, textnow.length + 1);
- document.getElementById("client_inner_chat").innerHTML = escapeHtml(textnow);
- if (textnow == chatmsg.content) {
- chatstate = 3;
- texttimer=0;
- clearInterval(updater);
- document.getElementById("client_char").src = AO_HOST + "characters/" + escape(chatmsg.name) + "/" + chatmsg.silent + ".gif";
- }
- }
- }
- }
- if (!sfxplayed && chatmsg.snddelay + shouttimer >= texttimer) {
- sfxaudio.pause();
- sfxplayed = 1
- if (chatmsg.sound != "0" && chatmsg.sound != "1") {
- sfxaudio.src = AO_HOST + "sounds/general/" + escape(chatmsg.sound) + ".wav";
- sfxaudio.play();
- }
- }
- texttimer = texttimer + updateInterval;
-}
-
-function onOpen(e) {
- if (mode == "join") {
- serv.send("HI#" + navigator.userAgent + "#%");
- serv.send("ID#webAO#2.4.5#%");
- } else {
- document.getElementById("client_loading").style.display = "none";
- }
- CHECKupdater = setInterval(sendCheck, 5000);
-};
-
-function onClose(e) {
- document.getElementById("client_error").style.display = "block";
-};
-
-function ReconnectButton() {
- serv = new WebSocket("ws://" + serverIP);
- if (serv) {
- serv.send("HI#" + navigator.userAgent + "#%");
- document.getElementById("client_error").style.display = "none";
- }
-}
-
-function RetryButton() {
-serv.send("HI#" + navigator.userAgent + "#%");
-}
-
-function onError(e) {
- document.getElementById("client_error").style.display = "block";
-};
-
-function onMessage(e) {
- msg = e.data;
- console.log(msg)
- lines = msg.split('%');
- arguments = lines[0].split('#');
- header = arguments[0];
- switch (header) {
- case "MS":
- if (arguments[4] != chatmsg.content) {
- document.getElementById("client_inner_chat").innerHTML = '';
- chatmsg.pre = escape(arguments[2]);
- chatmsg.character = -1;
- for (var i = 0; i < chars.length; i++) {
- if (chars[i].name == arguments[3]) {
- chatmsg.character = i;
- break;
- }
- }
- chatmsg.preanim = escape(arguments[2]);
- chatmsg.nameplate = arguments[3];
- chatmsg.name = arguments[3];
- chatmsg.speaking = "(b)" + escape(arguments[4]);
- chatmsg.silent = "(a)" + escape(arguments[4]);
- chatmsg.content = escapeHtml(arguments[5]);
- chatmsg.side = arguments[6];
- chatmsg.sound = escape(arguments[7]);
- chatmsg.type = arguments[8];
- //chatmsg.charid = arguments[9];
- chatmsg.snddelay = arguments[10];
- chatmsg.objection = arguments[11];
- chatmsg.evidence = arguments[12];
- //chatmsg.flip = arguments[13];
- chatmsg.flash = arguments[14];
- chatmsg.color = arguments[15];
- chatmsg.isnew = true;
- addlog(chatmsg.nameplate + ": " + escapeHtml(arguments[5]))
- changebg(chatmsg.side);
- textnow = '';
- sfxplayed = 0
- texttimer = 0
- updater = setInterval(updateText, updateInterval);
- }
- break;
- case "CT":
- document.getElementById("client_ooclog").innerHTML = document.getElementById("client_ooclog").innerHTML + arguments[1] + ": " + arguments[2] + "\r\n"
- break;
- case "MC":
- music.pause();
- music.src = MUSIC_HOST + arguments[1];
- music.play();
- if (arguments[2] >= 0) {
- musicname = chars[arguments[2]].name;
- } else {
- musicname = "$SERVER"
- }
- addlog(musicname + " changed music to " + arguments[1]);
- break;
- case "RMC":
- music.pause();
- music = new Audio(musiclist[arguments[0]]);
- music.totime = arguments[1]
- music.offset = new Date().getTime() / 1000
- music.addEventListener('loadedmetadata', function() {
- music.currentTime += parseFloat(music.totime + (new Date().getTime() / 1000 - music.offset)).toFixed(3);
- music.play();
- }, false)
- break;
- case "CI":
- document.getElementById("client_loadingtext").innerHTML = "Loading Character " + arguments[1];
- serv.send("AN#" + ((arguments[1] / 10) + 1) + "#%");
- for (var i = 2; i < arguments.length - 1; i++) {
- if (i % 2 == 0) {
- charguments = arguments[i].split("&");
- chars[arguments[i - 1]] = {
- "name": charguments[0],
- "desc": charguments[1],
- "evidence": charguments[3],
- "icon": AO_HOST + "characters/" + escape(charguments[0]) + "/char_icon.png"
- };
- }
- }
- break;
- case "SC":
- document.getElementById("client_loadingtext").innerHTML = "Loading Characters";
- for (var i = 1; i < arguments.length - 1; i++) {
- charguments = arguments[i].split("&");
- chars[i - 1] = {
- "name": charguments[0],
- "desc": charguments[1],
- "evidence": charguments[3],
- "icon": AO_HOST + "characters/" + escape(charguments[0]) + "/char_icon.png"
- }
- }
- serv.send("RM#%");
- break;
- case "EI":
- document.getElementById("client_loadingtext").innerHTML = "Loading Evidence " + arguments[1];
- //serv.send("AE#" + (arguments[1] + 1) + "#%");
- serv.send("RM#%");
- break;
- case "EM":
- document.getElementById("client_loadingtext").innerHTML = "Loading Music " + arguments[1];
- serv.send("AM#" + ((arguments[1] / 10) + 1) + "#%");
- var hmusiclist = document.getElementById("client_musiclist");
- for (var i = 2; i < arguments.length - 1; i++) {
- if (i % 2 == 0) {
- var newentry = document.createElement("OPTION");
- newentry.text = arguments[i];
- hmusiclist.options.add(newentry);
- }
- }
- break;
- case "SM":
- document.getElementById("client_loadingtext").innerHTML = "Loading Music ";
- var hmusiclist = document.getElementById("client_musiclist");
- for (var i = 1; i < arguments.length - 1; i++) {
- var newentry = document.createElement("OPTION");
- newentry.text = arguments[i];
- hmusiclist.options.add(newentry);
- }
- serv.send("RD#%");
- break;
- case "music":
- for (var i = 0; i < arguments.length / 2; i++) {
- musiclist[arguments[2 * i]] = arguments[2 * i + 1];
- }
- break;
- case "DONE":
- document.getElementById("client_loading").style.display = "none";
- document.getElementById("client_chatlog").style.display = "grid";
- document.getElementById("client_wrapper").style.display = "block";
- document.getElementById("client_charselect").style.display = "block";
- break;
- case "BN":
- bgname = arguments[1];
- break;
- case "NBG":
- /* TODO */
- break;
- case "HP":
- /* TODO */
- if (arguments[1] == 1) {
- document.getElementById("client_defense_hp").style.clip = "rect(0px," + BAR_WIDTH * arguments[2] / 10 + "px," + BAR_HEIGHT + "px,0px)";
- } else {
- document.getElementById("client_prosecutor_hp").style.clip = "rect(0px," + BAR_WIDTH * arguments[2] / 10 + "px," + BAR_HEIGHT + "px,0px)";
- }
- break;
- case "ID":
- pid = arguments[1];
- case "PN":
- serv.send("askchaa#%");
- break;
- case "SI":
- if(oldloading){
- serv.send("askchar2#%");
- }else{
- serv.send("RC#%");
- }
- break;
- case "CharsCheck":
- document.getElementById("client_chartable").innerHTML = "";
- for (var i = 0; i < chars.length; i++) {
- if (i % charselectWidth == 0) {
- var tr = document.createElement('TR');
- }
- var td = document.createElement('TD');
- var icon_chosen;
- var thispick = chars[i].icon;
- if (arguments[1 + i] == "-1") {
- icon_chosen = " dark";
- } else {
- icon_chosen = "";
- }
- td.innerHTML = "<img class='demothing" + icon_chosen + "' id='demo_" + i + "' src='" + thispick + "' alt='" + chars[i].desc + "' onclick='pickchar(" + i + ")' onerror='demoError(this);'>";
- tr.appendChild(td);
- if (i % charselectWidth == 0) {
- document.getElementById("client_chartable").appendChild(tr);
- }
- }
- changebg("def");
- break;
- case "PV":
- me = arguments[3]
- document.getElementById("client_charselect").style.display = "none";
- var xhr = new XMLHttpRequest();
- xhr.open('GET', AO_HOST + 'characters/' + escape(chars[me].name) + '/char.ini', true);
- xhr.responseType = 'text';
- xhr.onload = function(e) {
- if (this.status == 200) {
- linifile = this.responseText;
- pinifile = parseINI(linifile);
- chars[me].side = pinifile.Options.side;
- for (var i = 1; i < pinifile.Emotions.number; i++) {
- var emoteinfo = pinifile.Emotions[i].split('#');
- esfx="0";
- esfxd="0";
- if (typeof pinifile.SoundN !== 'undefined') {
- esfx=pinifile.SoundN[i];
- }
- if (typeof pinifile.SoundT !== 'undefined') {
- esfxd=pinifile.SoundT[i];
- }
- emotes[i] = {
- desc: emoteinfo[0],
- speaking: emoteinfo[1],
- silent: emoteinfo[2],
- zoom: emoteinfo[3],
- sfx: esfx,
- sfxdelay: esfxd,
- button_off: AO_HOST + 'characters/' + escape(chars[me].name) + '/emotions/button' + i + '_off.png',
- button_on: AO_HOST + 'characters/' + escape(chars[me].name) + '/emotions/button' + i + '_on.png'
- };
- document.getElementById("client_emo").innerHTML += "<img src='" + emotes[i].button_off + "' id='emo_" + i + "' alt='" + emotes[i].desc + "' class='client_button' onclick='pickemotion(" + i + ")'>";
- }
- pickemotion(1);
- }
- };
- xhr.send();
- break;
- }
-};
-
-function addlog(toadd) {
- document.getElementById("client_log").innerHTML = toadd + "<br/>" + document.getElementById("client_log").innerHTML
-}
-
-function pickchar(ccharacter) {
- if (ccharacter < 1000) {
- serv.send("CC#" + pid + "#" + ccharacter + "#web#%");
- } else {
- //spectator
- document.getElementById("client_charselect").style.display = "none";
- document.getElementById("client_inputbox").style.display = "none";
- document.getElementById("client_emo").style.display = "none";
- }
-}
-
-function pickemotion(emo) {
- if (myemotion != -1) {
- document.getElementById("emo_" + myemotion).src = emotes[myemotion].button_off;
- }
- document.getElementById("emo_" + emo).src = emotes[emo].button_on;
- myemotion = emo
-}
-
-function toggleshout(shout) {
- if (shout == objection_state) {
- document.getElementById("button_" + shout).className = "client_button";
- objection_state = 0;
- } else {
- document.getElementById("button_" + shout).className = "client_button dark";
- if (objection_state) {
- document.getElementById("button_" + objection_state).className = "client_button";
- }
- objection_state = shout;
- }
-}
-
-function sendMusic(song) {
- serv.send("MC#" + song);
-}
-
-function sendCheck() {
- serv.send("CH#" + me + "#%");
-}
-
-function escapeHtml(unsafe) {
- var transfer = unsafe;
- transfer.replace(/&/g, "&amp;");
- transfer.replace(/</g, "&lt;");
- transfer.replace(/>/g, "&gt;");
- transfer.replace(/"/g, "&quot;");
- transfer.replace(/'/g, "&#039;");
- return transfer;
-}
-
-if(typeof(String.prototype.trim) === "undefined")
-{
- String.prototype.trim = function()
- {
- return String(this).replace(/^\s+|\s+$/g, '');
- };
-} \ No newline at end of file