John "Elwin" Edwards
1bb3671a58
Improve the probability of detecting numpad 5.
...
Firefox now, in some circumstances, thinks numpad 5 is the clear key,
with keycode 12. This makes it detectable.
2012-08-12 08:22:55 -07:00
John "Elwin" Edwards
51978efd4e
Correct the clear sequence for srogue.
...
rlgwebd sets TERM to xterm-256color, which uses CSI H CSI 2J to clear
the screen. The description of srogue had been CSI H CSI J, which is
the sequence for screen.
2012-08-11 21:30:12 -07:00
John "Elwin" Edwards
e4ce0b48a3
Add support for Advanced Rogue 5.
2012-08-11 19:48:25 -07:00
John "Elwin" Edwards
85708c5810
sqlickrypt: add setpw command.
...
Allow changing a user's password.
2012-07-28 07:49:33 -07:00
John "Elwin" Edwards
f1c5196829
rlgterm.js: display the game's proper name when starting.
2012-07-23 09:32:46 -07:00
John "Elwin" Edwards
931bc5cb87
sqlickrypt: add getmail and setmail commands.
...
Add the ability to retrieve and alter users' e-mail addresses, and
clean up some of the code too.
2012-07-18 17:00:05 -07:00
John "Elwin" Edwards
55f7c3e7de
Fix WebSocket support checking.
...
Check for window.WebSocket instead of WebSocket.
2012-07-16 14:52:04 -07:00
John "Elwin" Edwards
59f3a10220
Added tag beta5 for changeset 86c1b79cf662
2012-07-16 10:28:55 -07:00
John "Elwin" Edwards
078bcbb836
Call this beta5.
...
Increment the version number and update some documentation.
2012-07-16 10:28:49 -07:00
John "Elwin" Edwards
2f37cf2d94
RLG-Web server: update timestamps for WebSocket games.
...
The login timestamps will now be refreshed when games are started via
WebSockets or stopped.
2012-07-16 10:09:57 -07:00
John "Elwin" Edwards
f7f56fedae
RLG-Web: improvements to choices and status messaging.
...
Server-side, have gamemux 'end' events include the name and game, so
they can be sent to WebSockets connected to /status. This means a
WebSocket client only needs to update its choice list when it gets a
begin or end message with its own username. So it only needs to check
/pstatus/<name> at those times and can stop polling.
2012-07-16 08:23:51 -07:00
John "Elwin" Edwards
a0be18657b
Replace taking over games with forced saves.
...
Instead of reusing the id, just SIGHUP the game process. This works
whether it is using polling, WebSockets, or dgamelaunch.
2012-07-15 22:33:44 -07:00
John "Elwin" Edwards
a847191450
RLG-Web: fix lockfile mixup.
...
Put the terminal dimensions into the lockfile in the proper order.
2012-07-15 21:03:36 -07:00
John "Elwin" Edwards
854519a7bd
RLG-Web: improve taking over sessions.
...
WebSocket sessions should not be taken over, and polling sessions are
not yet convertible to WebSockets. Eventually the current method of
taking over via Player#reset() should be replaced with autosaving the
game, which will always work.
2012-07-15 20:30:33 -07:00
John "Elwin" Edwards
3abb05683e
RLG-Web client: add playing through WebSockets.
...
Add client-side support for WebSocket play.
2012-07-15 18:18:53 -07:00
John "Elwin" Edwards
d11eb5e22a
RLG-Web server: add playing through WebSockets.
...
Games can be played with a WebSocket connection to
/play/<game>?key=<loginkey>&w=<cols>&h=<rows>
2012-07-15 09:04:39 -07:00
John "Elwin" Edwards
185ea6a9ef
RLG-Web client: determine the host for WebSocket connections.
...
Construct the URLs for WebSocket connections using window.location.host
instead of hardcoding them.
2012-07-14 10:11:13 -07:00
John "Elwin" Edwards
1ef1b16014
RLG-Web client: use WebSockets for game lists.
...
Use the WebSocket connection to /status to create the list of current
games.
2012-07-14 09:46:26 -07:00
John "Elwin" Edwards
bec02aea9e
RLG-Web server: send status events over WebSockets.
...
A WebSocket connection to /status will be sent periodic listings, along
with notifications of the beginning and end of games.
2012-07-13 22:26:20 -07:00
John "Elwin" Edwards
4174840c3e
RLG-Web server: refactor statusmsg() to work with WebSockets.
...
Separate the game-listing and http-responding components of statusmsg()
so the listing function can be reused for WebSockets.
2012-07-13 09:17:05 -07:00
John "Elwin" Edwards
031bc239f8
RLG-Web server: code cleanup.
...
Delete some TermSession code left over from the first attempt at
Websockets. Also don't bother logging the disconnection of watchers
after the game has ended.
2012-07-13 08:52:17 -07:00
John "Elwin" Edwards
f4c4f5e0f1
RLG-Web: Complete the WebSocket watcher.
...
Watching via WebSockets now takes into account terminal size, player
name, etc.
2012-07-13 08:39:39 -07:00
John "Elwin" Edwards
aee00a29d5
RLG-Web: begin converting to WebSockets.
...
Use WebSockets for watching, if the browser supports it. Functionality
is not complete yet.
2012-07-12 22:16:15 -07:00
John "Elwin" Edwards
e143ac7d20
Added tag beta4 for changeset 75a016c49076
2012-07-12 07:58:23 -07:00
John "Elwin" Edwards
25f40eaf3e
Designate as beta4.
2012-07-12 07:57:50 -07:00
John "Elwin" Edwards
73bf867839
rlgterm.js: remove unnecessary debugging messages.
2012-07-11 15:45:22 -07:00
John "Elwin" Edwards
3dc15a18e7
RLG-Web client: improvements to UI messages.
...
Improve the appearance of the message area, make warnings a different
color from other messages, and make some message texts more helpful.
2012-07-11 11:10:50 -07:00
John "Elwin" Edwards
16df3d2a7a
RLG-Web client: hide debugging information.
...
Remove the button that shows div#debug. Alerting the user should be
done with message().
2012-07-11 10:43:40 -07:00
John "Elwin" Edwards
2828b5f33c
RLG-Web: Allow games to be taken over.
...
Make it possible to reconnect to a game if the user has left the page
without saving.
2012-07-11 10:30:33 -07:00
John "Elwin" Edwards
8ebcf32a4d
rlgterm.js: improve registration failure messages.
...
Provide more user-friendly explanations when registration fails.
2012-07-11 07:37:56 -07:00
John "Elwin" Edwards
91a3111d29
RLG-Web client: replace setTitle() with message().
...
Remove the title line, and make setTitle() add a message instead.
Also remove setTitle() from termemu.js, because shterm.js duplicates
the code.
2012-07-10 18:39:36 -07:00
John "Elwin" Edwards
24879b8123
RLG-Web: improve game-starting messages.
...
Include the name of the player and game when watching or playing.
2012-07-10 16:32:49 -07:00
John "Elwin" Edwards
db242817fd
RLG-Web client: distinguish playing and watching in UI.
...
Don't show the keyboard when watching games, and display appropriate
messages when playing or watching.
2012-07-10 13:53:38 -07:00
John "Elwin" Edwards
5af0160769
RLG-Web: add a new message framework.
...
Add a message() function meant for UI messages, not debugging info.
2012-07-10 08:08:54 -07:00
John "Elwin" Edwards
06614ac0aa
RLG-Web: make /pstatus/* differentiate between dgl and RLG-Web games.
...
The /pstatus/ API now responds with "p" for games being played in
RLG-Web and "d" for games being played in dgamelaunch.
2012-07-09 12:51:12 -07:00
John "Elwin" Edwards
9c45f52722
RLG-Web: use the pty module.
...
Convert the RLG-Web server to use the pty.js module instead of the
ptyhelper binary.
2012-07-09 12:24:03 -07:00
John "Elwin" Edwards
b9a6a1e303
WebTTY: use the pty.js module.
...
Convert TermSessions to spawn with the pty.js module instead of piping
everything through ptyhelper.
2012-07-08 21:20:56 -07:00
John "Elwin" Edwards
286626df57
rlgwebd.js: Unlink control socket at startup.
...
Unlinking at shutdown doesn't work because at that time, the process is
chroot'ed and unprivileged.
2012-07-08 17:49:43 -07:00
John "Elwin" Edwards
d0ea0471c0
rlgwebd.js: set the width and height on Player objects.
...
Fixes the client not being informed of the pty size.
2012-07-08 08:40:08 -07:00
John "Elwin" Edwards
02b76e1faf
rlgterm.js: fix debugging messages for registration.
2012-07-08 08:10:55 -07:00
John "Elwin" Edwards
35d07ca85d
Add an information page.
...
Add about.html and create a link to it.
2012-07-08 08:07:09 -07:00
John "Elwin" Edwards
e3dd70ce08
Switch to node v0.8.
...
In node v0.8, path.exists() has been moved to the fs module.
2012-07-08 08:02:17 -07:00
John "Elwin" Edwards
cf3388a566
Added tag beta3 for changeset 3fd410c52a61
2012-06-23 19:45:25 -07:00
John "Elwin" Edwards
46c08a404b
Call this beta3.
2012-06-23 19:45:06 -07:00
John "Elwin" Edwards
fcd1965cd0
Try to guess a good text size.
...
When starting, resize the fonts if there isn't room for the terminal,
or if there is a lot of empty space.
2012-06-23 19:13:34 -07:00
John "Elwin" Edwards
a48b02dc13
Make font resizing affect the keyboard too.
...
The keyboard font size now changes along with the terminal font size.
This allows the keyboard to work at page widths down at least to 600px.
2012-06-23 17:41:27 -07:00
John "Elwin" Edwards
2ab0de0799
Improvements to the keyboard.
...
Add a number pad to the keyboard. Make it hidden by default for
RLG-Web.
2012-06-23 17:11:51 -07:00
John "Elwin" Edwards
9ddc3c685c
Begin handling XMLHttpRequest errors.
...
Add an error handler to the various XMLHttpRequest objects. Eventually
it will inform the user if the server is unreachable.
2012-06-21 23:44:51 -07:00
John "Elwin" Edwards
6baed7ccf1
Remove the refresh button.
...
Since the lists refresh automatically now, a button isn't needed.
2012-06-21 22:15:20 -07:00
John "Elwin" Edwards
2180af99a0
Automatically update the lists of current games and actions.
...
Add some window.*interval() code to getcurrent() so it will register
itself as an interval and clear this interval when the list is not
visible (i.e. playing or watching.) It also calls getchoices() if the
user is logged in, so that will be updated as well.
2012-06-21 21:57:04 -07:00