aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client.html36
-rw-r--r--client.js11
-rw-r--r--master.js40
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">
diff --git a/client.js b/client.js
index 2ae12ee..9573bcc 100644
--- a/client.js
+++ b/client.js
@@ -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";
};
diff --git a/master.js b/master.js
index abfdabd..fa10eaf 100644
--- a/master.js
+++ b/master.js
@@ -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')
{