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