view index-rlg.html @ 174:dc12ba30d559

Fix further crashes when following dgamelaunch games. The crashes apparently resulted from reading a ttyrec header and then trying to read the data chunk before dgamelaunch produced it. When the data chunk did become available, it would be read by the header function. The simplest solution was to store the position for reading the ttyrec file in the DGLSession, and to leave it unchanged if anything unexpected occurs when reading.
author John "Elwin" Edwards
date Mon, 12 Jan 2015 17:10:35 +0000
parents db27b91578f0
children bf518a00190b
line wrap: on
line source

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>RLG-Web β7</title>
<script type="text/javascript" src="termemu.js"></script>
<script type="text/javascript" src="termemu-keys.js"></script>
<script type="text/javascript" src="rlgterm.js"></script>
<link rel="stylesheet" type="text/css" href="tty.css">
<link rel="stylesheet" type="text/css" href="style-rlg.css">
</head>
<body onload="setup()" onkeydown="sendkey(event)">
<h1>RLG-Web β7</h1>
<div id ="top">
  <img src="/bell.svg" alt="bell" id="bell">
</div>
<div id="termwrap">RLG-Web won't work without JavaScript. It's not as bad as Flash, I promise.</div>
<div class="modal" id="keyboard">
<div id="keys">
<div class="keyrow">
  <div class="key" onclick="vkey('`')">`</div>
  <div class="key" onclick="vkey('1')">1</div>
  <div class="key" onclick="vkey('2')">2</div>
  <div class="key" onclick="vkey('3')">3</div>
  <div class="key" onclick="vkey('4')">4</div>
  <div class="key" onclick="vkey('5')">5</div>
  <div class="key" onclick="vkey('6')">6</div>
  <div class="key" onclick="vkey('7')">7</div>
  <div class="key" onclick="vkey('8')">8</div>
  <div class="key" onclick="vkey('9')">9</div>
  <div class="key" onclick="vkey('0')">0</div>
  <div class="key" onclick="vkey('-')">-</div>
  <div class="key" onclick="vkey('=')">=</div>
  <div class="key" onclick="vkey('\b')" style="width: 2.5em">Bksp</div>
  <div class="rkey" onclick="vkey('KP9')">↗</div>
  <div class="rkey" onclick="vkey('KP8')">↑</div>
  <div class="rkey" onclick="vkey('KP7')">↖</div>
</div>
<div class="keyrow">
  <div class="key" onclick="vkey('\t')" style="width: 2.5em">Tab</div>
  <div class="key" onclick="vkey('q')">Q</div>
  <div class="key" onclick="vkey('w')">W</div>
  <div class="key" onclick="vkey('e')">E</div>
  <div class="key" onclick="vkey('r')">R</div>
  <div class="key" onclick="vkey('t')">T</div>
  <div class="key" onclick="vkey('y')">Y</div>
  <div class="key" onclick="vkey('u')">U</div>
  <div class="key" onclick="vkey('i')">I</div>
  <div class="key" onclick="vkey('o')">O</div>
  <div class="key" onclick="vkey('p')">P</div>
  <div class="key" onclick="vkey('[')">[</div>
  <div class="key" onclick="vkey(']')">]</div>
  <div class="key" onclick="vkey('\\')">\</div>
  <div class="rkey" onclick="vkey('KP6')">→</div>
  <div class="rkey" onclick="vkey('KP5')">·</div>
  <div class="rkey" onclick="vkey('KP4')">←</div>
</div>
<div class="keyrow">
  <div class="key" onclick="togglectrl()" id="ctrlkey">Ctrl</div>
  <div class="key" onclick="vkey('a')">A</div>
  <div class="key" onclick="vkey('s')">S</div>
  <div class="key" onclick="vkey('d')">D</div>
  <div class="key" onclick="vkey('f')">F</div>
  <div class="key" onclick="vkey('g')">G</div>
  <div class="key" onclick="vkey('h')">H</div>
  <div class="key" onclick="vkey('j')">J</div>
  <div class="key" onclick="vkey('k')">K</div>
  <div class="key" onclick="vkey('l')">L</div>
  <div class="key" onclick="vkey(';')">;</div>
  <div class="key" onclick="vkey('\'')">'</div>
  <div class="key" onclick="vkey('\n')" style="width: 4em">Ret</div>
  <div class="rkey" onclick="vkey('KP3')">↘</div>
  <div class="rkey" onclick="vkey('KP2')">↓</div>
  <div class="rkey" onclick="vkey('KP1')">↙</div>
</div>
<div class="keyrow">
  <div class="key" onclick="toggleshift()" id="shiftkey">Shift</div>
  <div class="key" onclick="vkey('z')">Z</div>
  <div class="key" onclick="vkey('x')">X</div>
  <div class="key" onclick="vkey('c')">C</div>
  <div class="key" onclick="vkey('v')">V</div>
  <div class="key" onclick="vkey('b')">B</div>
  <div class="key" onclick="vkey('n')">N</div>
  <div class="key" onclick="vkey('m')">M</div>
  <div class="key" onclick="vkey(',')">,</div>
  <div class="key" onclick="vkey('.')">.</div>
  <div class="key" onclick="vkey('/')">/</div>
</div>
<div class="keyrow">
  <div class="key" onclick="vkey(' ')" id="spacebar"></div>
</div>
</div>
<div class="centerb"><span class="ibutton" onclick="toggleBlock('keys')">Keyboard</span></div>
</div>
<div class="modal" id="playctl">
<div class="rfloat"><span class="ibutton" onclick="stop()">Stop</span></div>
<div class="rfloat">Font:
<span onclick="textsize(false)" class="ibutton">Smaller</span>
<span onclick="textsize(true)" class="ibutton">Larger</span>
</div>
</div>
<div class="modal" id="current">
<div id="gametable" class="formtable">
 <div class="tcapt">Games in Progress</div>
 <div><div>Player</div><div>Game</div><div>Idle time</div><div>Actions</div></div>
</div>
<div id="nogames">No one is playing right now.</div>
</div>
<div class="modal" id="startgame">
<div id="opttable" class="formtable"><div><div>Game</div><div>Actions</div></div></div>
</div>
<div class="modal" id="login">
<div class="formtable">
<div><div>Name:</div><div><input type="text" name="name" id="input_name"></div></div>
<div><div>Password:</div><div><input type="password" name="pw" id="input_pw"></div></div>
<div><div><span class="ibutton" onclick="formlogin(event)">Log in</span></div></div>
</div>
<div class="rfloat"><span class="ibutton" onclick="setmode('register')">New name</span></div>
</div>
<div class="modal" id="register">
<div class="formtable">
<div><div>Name:</div><div><input type="text" name="name" id="regin_name" maxlength="20"></div></div>
<div><div>Password:</div><div><input type="password" name="pw" id="regin_pw"></div></div>
<div><div>E-mail (optional):</div><div><input type="text" name="email" id="regin_email"></div></div>
<div>
<div><span class="ibutton" onclick="formreg(event)">Sign up</span></div>
<div><span class="ibutton" onclick="setmode('login')">Cancel</span></div>
</div>
</div>
</div>
<div class="modal" id="messages">
</div>
<div class="modal" id="misc">
<div class="centerb"><a href="/options.html">Options</a></div>
<div class="centerb"><a href="/about.html">Information</a></div>
</div>
<div id="debug">
</div>
</body>
</html>