diff options
| -rw-r--r-- | client.html | 36 | ||||
| -rw-r--r-- | client.js | 11 | ||||
| -rw-r--r-- | master.js | 40 |
3 files changed, 64 insertions, 23 deletions
diff --git a/client.html b/client.html index 5ec917e..85a9f06 100644 --- a/client.html +++ b/client.html @@ -1,6 +1,5 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html> - +<!DOCTYPE html> +<html lang="en"> <head> <title>Attorney Online session</title> <meta charset="utf-8"> @@ -11,7 +10,8 @@ <body> <span id="sound"></span> <div id="client_loading"> - <h1 id="client_loadingtext">Loading</h1> + <h1 id="client_loadingtext">Loading</h1> + <button onclick='RetryButton()'>RETRY</button> </div> <div id="client_charselect"> <button onclick="pickchar(1001)">SPECTATE</button> @@ -20,10 +20,10 @@ </div> <div id="client_wrapper"> <div id="client_gamewindow"> - <img id="client_court" onerror="imgError(this);" src="background/default/defenseempty.png" /> - <img id="client_char" onerror="imgError(this);" /> - <img id="client_bench" /> - <img id="client_fg" onerror="imgError(this);" /> + <img id="client_court" alt="Courtroom background" onerror="imgError(this);"> + <img id="client_char" alt="Character sprite" onerror="imgError(this);"> + <img id="client_bench" alt="Bench overlay"> + <img id="client_fg" alt="Various overlay" onerror="imgError(this);"> <div id="client_name"> <p>Dolan</p> </div> @@ -31,7 +31,7 @@ <p id="client_inner_chat"></p> </div> </div> - <input id="client_inputbox" class="long" type="text" onKeyPress="onEnter(event)" /> + <input id="client_inputbox" class="long" type="text" onKeyPress="onEnter(event)"> <div id="client_emo"> </div> <br> @@ -45,24 +45,24 @@ </div> </div> <div id="client_settings"> - Music <input id="client_mvolume" class="long" type="range" min="0" max="100" value="80" onChange="changeMusicVolume()"/> - SFX <input id="client_svolume" class="long" type="range" min="0" max="100" value="70" onChange="changeSFXVolume()"/> - Blip <input id="client_bvolume" class="long" type="range" min="0" max="100" value="60" onChange="changeBlipVolume()"/> - <input id="change_character" type="button" onClick="changeCharacter()" value="Change character"/> + Music <input id="client_mvolume" class="long" type="range" min="0" max="100" value="80" onChange="changeMusicVolume()"> + SFX <input id="client_svolume" class="long" type="range" min="0" max="100" value="70" onChange="changeSFXVolume()"> + Blip <input id="client_bvolume" class="long" type="range" min="0" max="100" value="60" onChange="changeBlipVolume()"> + <input id="change_character" type="button" onClick="changeCharacter()" value="Change character"> </div> <div id="client_chatlog"> <div id="client_log"> </div> <div id="client_bars"> - <img class="client_defense" id="client_defense_bg" src="misc/zdoh.png"> - <img class="client_defense" id="client_defense_hp" src="misc/advocat.png"> + <img class="client_defense" alt="Defense health background" id="client_defense_bg" src="misc/zdoh.png"> + <img class="client_defense" alt="Defense health" id="client_defense_hp" src="misc/advocat.png"> - <img class="client_prosecutor" id="client_prosecutor_bg" src="misc/zdoh.png"> - <img class="client_prosecutor" id="client_prosecutor_hp" src="misc/procuror.png"> + <img class="client_prosecutor" alt="Prosecution health background" id="client_prosecutor_bg" src="misc/zdoh.png"> + <img class="client_prosecutor" alt="Prosecution health" id="client_prosecutor_hp" src="misc/procuror.png"> </div> <textarea id="client_ooclog"></textarea> - <input id="client_oocinputbox" class="long" type="text" onKeyPress="onOOCEnter(event)" /> + <input id="client_oocinputbox" class="long" type="text" onKeyPress="onOOCEnter(event)"> <select id="client_musiclist" size="25" onclick="musiclist_click(event)"></select> </div> <div id="client_error" class="error" style="display: none"> @@ -11,7 +11,8 @@ location.search.substr(1).split("&").forEach(function(item) { /* Server magic */ //serv = new WebSocket("ws://51.255.160.217:50000"); //serv = new WebSocket("ws://85.25.196.172:5000"); -serv = new WebSocket("ws://" + queryDict.ip); +var serverIP = queryDict.ip; +serv = new WebSocket("ws://" + serverIP); var mode = queryDict.mode; //var AO_HOST = "http://weedlan.de/"; if (queryDict.asset === undefined) { @@ -331,6 +332,7 @@ function updateText() { 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"; } @@ -342,12 +344,17 @@ function onClose(e) { }; function ReconnectButton() { - serv = new WebSocket("ws://" + queryDict.ip); + 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"; }; @@ -8,6 +8,7 @@ masterserver.onerror = function(evt) { onError(evt) }; var idnow; var descs = []; descs[99]="This is your computer on port 27016"; +var onlinec = []; var serverpics = []; function UrlExists(url) { @@ -20,7 +21,7 @@ function UrlExists(url) function setServ(ID) { console.log(descs[ID]); if (descs[ID] != undefined) { - document.getElementById("serverdescC").innerHTML = descs[ID]; + document.getElementById("serverdescC").innerHTML = "<b>Online: "+onlinec[ID]+"</b><br>" +descs[ID]; } else { document.getElementById("serverdescC").innerHTML = ""; @@ -40,7 +41,39 @@ function onOpen(e) { masterserver.send("askforservers#%") masterserver.send("VC#%") }; - + +function checkOnline(serverID,coIP) { + function onCOOpen(e) { + console.log("Open"); + console.log("YES") + oserv.send("HI#" + navigator.userAgent + "#%"); + oserv.send("ID#webAO#2.4.5#%"); + }; + function onCOMessage(e) { + comsg = e.data; + console.log(comsg) + console.log("YES") + coheader = comsg.split('#', 2)[0]; + coarguments = comsg.split('#').slice(1) + if (coheader == 'PN') { + onlinec[serverID]=coarguments[0]+"/"+coarguments[1]; + document.getElementById('server'+serverID).className = "available"; + oserv.close(); + } + }; + + var oserv = new WebSocket("ws://" + coIP); + + oserv.onopen = function(evt) { + onCOOpen(evt) + }; + + oserv.onmessage = function(evt) { + onCOMessage(evt) + }; + +} + function onMessage(e) { msg = e.data; console.log(msg) @@ -56,9 +89,10 @@ function onMessage(e) { }else{ unavv = ''; } - document.getElementById('masterlist').innerHTML += '<li ' + unavv + 'onmouseover="setServ(' + arguments[0] + ')"><p>' + arguments[4] + '</p> <a class=\"button\" href=\"client.html?mode=watch&ip=' + arguments[1] + ':' + arguments[3] + '\">Watch</a><a class=\"button\" href=\"client.html?mode=join&ip=' + arguments[1] + ':' + arguments[3] + '\">Join</a></li><br/>' + document.getElementById('masterlist').innerHTML += '<li id="server' + arguments[0] + '" onmouseover="setServ(' + arguments[0] + ')"><p>' + arguments[4] + '</p> <a class=\"button\" href=\"client.html?mode=watch&ip=' + arguments[1] + ':' + arguments[3] + '\">Watch</a><a class=\"button\" href=\"client.html?mode=join&ip=' + arguments[1] + ':' + arguments[3] + '\">Join</a></li><br/>' serverpics[arguments[0]] = arguments[2]; descs[arguments[0]] = arguments[5]; + setTimeout(checkOnline(arguments[0],arguments[1] + ':' + arguments[3]), 3); } else if (header == 'servercheok') { |
