Keep a list of dgamelaunch games and put it in the /status message.

This commit is contained in:
John "Elwin" Edwards 2014-04-01 16:43:35 -07:00
parent f605244ae6
commit 2e5e5d02da

View file

@ -65,6 +65,7 @@ var games = {
var logins = {}; var logins = {};
var sessions = {}; var sessions = {};
var clients = {}; var clients = {};
var dglgames = {};
var allowlogin = true; var allowlogin = true;
var nextsession = 0; var nextsession = 0;
var gamemux = new events.EventEmitter(); var gamemux = new events.EventEmitter();
@ -957,16 +958,20 @@ function startProgressWatcher() {
var matchresult = fname.match(filere); var matchresult = fname.match(filere);
if (!matchresult || matchresult[3]) if (!matchresult || matchresult[3])
return; return;
gname = matchresult[1]; var gname = matchresult[1];
pname = matchresult[2]; var pname = matchresult[2];
var tag = gname + "/" + pname;
if (chunk[0] == "E") { if (chunk[0] == "E") {
tslog("DGL: %s is playing %s: %s", pname, gname, fname) tslog("DGL: %s is playing %s: %s", pname, gname, fname)
dglgames[tag] = fname;
} }
else if (chunk[0] == "C") { else if (chunk[0] == "C") {
tslog("DGL: %s started playing %s: %s", pname, gname, fname) tslog("DGL: %s started playing %s: %s", pname, gname, fname)
dglgames[tag] = fname;
} }
else if (chunk[0] == "D") { else if (chunk[0] == "D") {
tslog("DGL: %s finished playing %s: %s", pname, gname, fname) tslog("DGL: %s finished playing %s: %s", pname, gname, fname)
delete dglgames[tag];
} }
else { else {
tslog("Watcher says: %s", chunk) tslog("Watcher says: %s", chunk)
@ -1054,6 +1059,10 @@ function getStatus(callback) {
gamedesc["g"] = sessions[sessid].game.uname; gamedesc["g"] = sessions[sessid].game.uname;
statusinfo["g"].push(gamedesc); statusinfo["g"].push(gamedesc);
} }
statusinfo["dgl"] = [];
for (var tag in dglgames) {
statusinfo["dgl"].push(tag);
}
if (statusinfo.g.length == 0) { if (statusinfo.g.length == 0) {
callback(statusinfo); callback(statusinfo);
return; return;