2008-03-20 18:05:09 +01:00
|
|
|
-allow setting the new rcfile access rights.
|
|
|
|
-allow configuring the ttyrec dir location & file format.
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-13 13:21:31 +01:00
|
|
|
-add new config file commands:
|
2008-01-13 19:18:42 +01:00
|
|
|
x -chpasswd (change user's password)
|
2008-01-14 23:06:32 +01:00
|
|
|
x -chmail (change user's email address)
|
|
|
|
x -watch_menu (go to the watching menu)
|
|
|
|
x -login (login user)
|
|
|
|
x -newuser (register new user)
|
|
|
|
x -quit (quit from dgl)
|
2008-01-13 13:21:31 +01:00
|
|
|
-game_menu "x" (go to game menu "x")
|
|
|
|
-return (return to main menu)
|
|
|
|
-start_game (start the selected game)
|
|
|
|
|
2008-01-06 13:35:41 +01:00
|
|
|
-maybe allow new menu options configurable in config file, like
|
|
|
|
commands['O', "Edit config file with foo"] = exec "foo" "rcfile"
|
2008-01-13 01:26:25 +01:00
|
|
|
|
2008-01-13 13:21:31 +01:00
|
|
|
OR:
|
|
|
|
|
|
|
|
menu "mainmenu_anon" {
|
|
|
|
option {
|
|
|
|
keys = 'l'
|
|
|
|
name = "l) Login"
|
|
|
|
commands = login
|
|
|
|
}
|
|
|
|
option {
|
|
|
|
keys = 'r'
|
|
|
|
name = "r) Register new user"
|
|
|
|
commands = newuser
|
|
|
|
flags = allow_new_nicks
|
|
|
|
}
|
|
|
|
option {
|
|
|
|
keys = 'w'
|
|
|
|
name = "w) Watch games in progress"
|
|
|
|
commands = watch_menu
|
|
|
|
}
|
|
|
|
emptyline
|
|
|
|
option {
|
|
|
|
keys = 'q', 'Q'
|
|
|
|
name = "q) Quit"
|
|
|
|
commands = quit
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
possibly adding a location = (x,y) key into menu option, allowing
|
|
|
|
absolute positioning of the option.
|
|
|
|
|
|
|
|
|
|
|
|
OR: (this looks nicer, but requires also editing the external text files)
|
|
|
|
|
|
|
|
menu "mainmenu_anon" {
|
|
|
|
banner = "dglmenu_main_anon.txt"
|
|
|
|
cursor = (x,y)
|
|
|
|
commands['l'] = login
|
|
|
|
commands['r'] = newuser
|
|
|
|
commands['w'] = watch_menu
|
|
|
|
commands['q'] = quit
|
|
|
|
}
|
|
|
|
|
|
|
|
menu "mainmenu_loggedin" {
|
|
|
|
banner = "dglmenu_main_loggedin.txt"
|
|
|
|
cursor = (x,y)
|
|
|
|
commands['c'] = chpasswd
|
|
|
|
commands['e'] = chmail
|
|
|
|
commands['w'] = watch_menu
|
|
|
|
commands['q', 'Q'] = quit
|
|
|
|
commands['1'] = game_menu "NH343"
|
|
|
|
commands['2'] = game_menu "Crxxx"
|
|
|
|
commands['3'] = game_menu "NhStb"
|
|
|
|
}
|
|
|
|
|
|
|
|
and the game submenus?
|
|
|
|
|
|
|
|
define {
|
|
|
|
blahblahblah game data here
|
|
|
|
short_name = "NH343"
|
|
|
|
menu {
|
|
|
|
banner = "dglmenu_game_nh343.txt"
|
|
|
|
cursor = (x,y)
|
|
|
|
commands['c'] = chpasswd
|
|
|
|
commands['e'] = chmail
|
|
|
|
commands['w'] = watch_menu
|
|
|
|
commands['o'] = exec "virus" "%rrcfiles/%n.nethackrc"
|
|
|
|
commands['q'] = return
|
|
|
|
commands['p'] = # back up savefile
|
|
|
|
commands = cp "/var/games/nethack/save/%u%n.gz" "/var/games/nethack/save/%u%n.gz.bak",
|
|
|
|
# set NETHACKOPTIONS to point to the rcfile
|
|
|
|
setenv "NETHACKOPTIONS" "@%rrcfiles/%n.nethackrc",
|
|
|
|
# set up nethack mail stuff, assuming it's compiled with it...
|
|
|
|
setenv "MAIL" "/var/mail/%n",
|
|
|
|
setenv "SIMPLEMAIL" "1",
|
|
|
|
# don't let the mail file grow
|
|
|
|
unlink "/var/mail/%n",
|
|
|
|
# aannnd we're off!
|
|
|
|
start_game
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
and maybe allow changing the watching-screen layout too?
|
2008-01-13 01:26:25 +01:00
|
|
|
|
2008-01-14 23:06:32 +01:00
|
|
|
struct dg_menuoption
|
|
|
|
{
|
|
|
|
char *keys;
|
|
|
|
struct dg_cmdpart *cmdqueue;
|
|
|
|
struct dg_menuoption *next;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct dg_menu
|
|
|
|
{
|
|
|
|
char *banner_fn;
|
|
|
|
int cursor_x, cursor_y; /* coord to put cursor after drawing banner */
|
|
|
|
struct dg_menuoption *options;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-13 01:26:25 +01:00
|
|
|
|
2008-01-13 19:18:42 +01:00
|
|
|
-add commandline parameters to dgamelaunch:
|
|
|
|
dgamelaunch --chpasswd "nick" "newpass"
|
|
|
|
dgamelaunch --wall "message to mail everyone"
|
|
|
|
these are obviously only for the server admin...
|
2008-01-01 18:03:05 +01:00
|
|
|
-allow setting the default watch-screen sortmode in config file.
|
2008-01-13 13:31:32 +01:00
|
|
|
-some games (robotfindskitten?) are not worth saving into ttyrecs, make it configurable.
|
2007-12-28 13:02:58 +01:00
|
|
|
-allow configuring ttyplay.c; some games may use different clear-screen
|
|
|
|
commands. (see for example crawl)
|
2008-01-14 23:06:32 +01:00
|
|
|
-allow configuring the gfx stripping. (number of chars, types of stripping,
|
|
|
|
include unicode stripping from crawl dgl, etc)
|
2008-01-01 12:45:14 +01:00
|
|
|
-public (no-password) accounts? (a per-user flag) what happens when someone
|
|
|
|
is playing on the account and someone else logins and we start playing?
|
2007-12-22 22:04:03 +01:00
|
|
|
-change the watching screen not to show the 'press 'm' to mail user'
|
|
|
|
part, if spool isn't enabled.
|
|
|
|
-info screen (more than just the banner), for info about the game(s)
|
|
|
|
and the server, etc.
|
2007-04-09 14:57:45 +02:00
|
|
|
-allow more than one editor per dgl
|
|
|
|
-allow users to run recover themselves
|
2007-04-02 20:35:56 +02:00
|
|
|
-make dgl show # of watchers
|
|
|
|
-configurable stuff: allowed chars in usernames,
|
|
|
|
allow char stripping, ...
|
2007-03-29 22:14:55 +02:00
|
|
|
|
2004-01-01 21:57:36 +01:00
|
|
|
- Flags for operators/staff/admins or (optionally) user-bans.
|
|
|
|
|
2004-01-02 12:59:50 +01:00
|
|
|
- Localization of variables, code clean up
|
2004-02-17 02:55:59 +01:00
|
|
|
|
|
|
|
- Use /var/run/nologin and/or dgl-specific nologin file
|
2004-03-04 14:58:03 +01:00
|
|
|
|
|
|
|
- Honor window size changes (currently the player has to relogin if window
|
|
|
|
size changes)
|