[BACK]Return to TODO CVS log [TXT][DIR] Up to [contributed] / dgamelaunch-openbsd

Annotation of dgamelaunch-openbsd/TODO, Revision 1.1

1.1     ! rubenllo    1:
        !             2: -pass the correct terminal size to nethack. (dgl handles
        !             3:  term resizes correctly, but nethack doesn't see the new size)
        !             4:
        !             5: -allow setting banners for the internal menus, with the same method
        !             6:  as normal user-defined menus, but only the banner is used from them.
        !             7:  if no such menu is defined, then uses the default banner file.
        !             8:
        !             9: -update dgamelaunch.8
        !            10:
        !            11: -occasionally dgl crashes, leaving the shmem semaphore in a state
        !            12:  where the shmem block has to be freed.
        !            13:
        !            14: -configure option --ncurses and --ncursesw
        !            15:
        !            16: < kerio> paxed: it would also be cool to have %g and %s work within a game definition too
        !            17:
        !            18: < kerio> paxed: is this intended behavior? i can't set two different spooldirs for two different games
        !            19:
        !            20:
        !            21: [22:45] < kerio> paxed: dgamelaunch bug! :D - you *need* a file called dgamelaunch in the root of the jail -
        !            22:                  otherwise the shared memory craps out
        !            23: [22:48] < kerio> anyway, /dgldir/shmkey would've been better
        !            24:
        !            25:
        !            26:
        !            27: -when no banner file given, try to make a banner automagically?
        !            28:  (needs some way to name the options given as keys... maybe another
        !            29:  format for the keys that includes a string to be used as the name)
        !            30:
        !            31: -cursor keys are not restored after watching a game of
        !            32:  curses-nethack.
        !            33:
        !            34: -$MTIME(filename)
        !            35:
        !            36: < Napkin> I'd suggest the default of DGL_MAILMSGLEN to be less
        !            37: < Napkin> there are 4 digits in front of the prompt, paxed. having
        !            38:    it at 80, will cause display errors if someone types more than 75 letters
        !            39: < Napkin> well, to be precise - not the writing - but deleting
        !            40:    will no longer work, because the cursor won't be moved to the previous
        !            41:    line again
        !            42:
        !            43: -when exiting from watching a player, move the cursor to the last line
        !            44:  of the screen before enabling the ncurses mode; so when we exit dgl,
        !            45:  the watched player's game is all visible and the menu prompt doesn't
        !            46:  mess it up.
        !            47: -watching menu will hilight the first matching username... what if we have
        !            48:  more than one game installed, and someone's playing more than one at the
        !            49:  same time?  Should also save game#, not just the username.
        !            50: -allow admin to disable the 'm' mail key in ttyplay.
        !            51: -update README
        !            52: -whenever config file has a dir, check that it ends with "/"
        !            53: -in domailuser(), we need find_curr_player_game(username)
        !            54: -for menu definitions, allow "default" commands (when user presses a
        !            55:  key not defined in other commands):
        !            56:    commands[default] = ...
        !            57:
        !            58: -allow the admin to config the watching menu:
        !            59:   -top banner
        !            60:   -bottom banner
        !            61:   -set default sort method
        !            62:   -selectorchars:
        !            63:      watch_selectorchars = "abcdefghijklmn" (a-zA-Z, minus qQ)
        !            64:   -keys:
        !            65:      currently: qQ=return, '.'=sort++, ','=sort--, etc
        !            66:
        !            67: -update virus to the newest version.
        !            68:  (virus is originally from busybox:
        !            69:   http://git.busybox.net/busybox/tree/editors/vi.c
        !            70:   but that version needs to be made secure)
        !            71: -allow changing the name where the ttyrecs are saved, like
        !            72:   ttyrec_fn = "%rttyrec/%n/%g/%p.ttyrec"
        !            73: -maybe save more stuff in the db, if we're using the sqlite
        !            74:  (last login timestamp, watch-menu sort-type, etc)
        !            75: -Allow using a ttyrec (or similar screen capture) as the menu
        !            76:  text, instead of a text file.
        !            77:  maybe adding a bannertype={auto,txt,ttyrec,screendump}
        !            78:  into a menu def. auto=try to detect it from file extension.
        !            79:  would be useful to be able to define a program to run that
        !            80:  generates the banner? (eg. nethack hiscore list via nethack itself)
        !            81:  to output raw escape codes under ncurses, use write(1, "foo", strlen("foo"))
        !            82:  (must restore cursor position after printing or ncurses is confoosed)
        !            83: -BUG: cannot quit watching until caught up with the stream.
        !            84: -allow configuring the watching, new user registration,
        !            85:  email/passwd change, etc. screens.
        !            86: -add config file command "chmod file mode"
        !            87: -allow configuring the ttyrec dir location & file format.
        !            88: -add commandline parameters to dgamelaunch:
        !            89:    dgamelaunch --chpasswd "nick" "newpass"
        !            90: -some games (robotfindskitten?) are not worth saving into ttyrecs,
        !            91:  make it configurable. if no ttyrecs, then can't watch the game, which is
        !            92:  a pity. maybe rather just save the latest ttyrec, which ties into
        !            93:  having configurable ttyrec filenames...
        !            94: -allow configuring ttyplay.c; some games may use different clear-screen
        !            95:  commands. (see for example crawl)
        !            96: -allow configuring the gfx stripping. (number of chars, types of stripping,
        !            97:  include unicode stripping from crawl dgl, etc.)
        !            98:  This must be per-game configs; maybe we're running nethack and crawl
        !            99:  on the same server. ...does ttyplay know what game we're watching?
        !           100:
        !           101: charstrip "name" {
        !           102:   start_state = 0;
        !           103:   state = (0 and 0x0e), 0x00, 1;
        !           104:   state = (1 and 0x0f), 0x0f, 0;
        !           105:   state = (1 and 0x1b), 0x1b, 0;
        !           106:   state = (1 and gfxmap), gfxmap, 1;
        !           107:
        !           108:   # initializes the gfxmap from charstrip "name" gfxmap. could also have
        !           109:   # gfxmap_init = zero;
        !           110:   gfxmap_init = from "name";
        !           111:
        !           112:   # the following will replace characters 128-135 with the listed characters.
        !           113:   # accepts:
        !           114:   # 0xff (hexadecimal), 240 (decimal), 001 (octal), 'x' (character)
        !           115:   gfxmap = 128, (' ', '|', '#', 0xb3, 0x00, 240, 241);
        !           116: }
        !           117:
        !           118:
        !           119: in game definition:
        !           120:   char_strips = "name", "name", "name", ...
        !           121: or maybe add a new command '' set_charstrip "name" ''
        !           122:
        !           123:
        !           124: -public (no-password) accounts? (a per-user flag) what happens when someone
        !           125:  is playing on the account and someone else logins and we start playing?
        !           126: -allow users to run recover themselves
        !           127: -configurable stuff: allowed chars in usernames,
        !           128:  allow char stripping, ...
        !           129:
        !           130: - Localization of variables, code clean up
        !           131:
        !           132: - Use /var/run/nologin and/or dgl-specific nologin file

CVSweb