diff --git a/TODO b/TODO index 3f0829c..0ac4411 100644 --- a/TODO +++ b/TODO @@ -3,124 +3,7 @@ file command "chmod file mode" -allow setting the new rcfile access rights. -allow configuring the ttyrec dir location & file format. - - - --add new config file commands: - x -chpasswd (change user's password) - 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) - -game_menu "x" (go to game menu "x") - -return (return to main menu) - -start_game (start the selected game) - --maybe allow new menu options configurable in config file, like - commands['O', "Edit config file with foo"] = exec "foo" "rcfile" - - 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? - - 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; - }; - - - - - +-maybe allow changing the watching-screen &c layouts too? -add commandline parameters to dgamelaunch: dgamelaunch --chpasswd "nick" "newpass" dgamelaunch --wall "message to mail everyone"