Always draw the whole banner.
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@621 db0b04b0-f4d1-0310-9a6d-de3e77497b0e
This commit is contained in:
parent
228be4b554
commit
85d39473fb
9
TODO
9
TODO
|
@ -1,4 +1,9 @@
|
||||||
|
|
||||||
|
-occasionally dgl crashes, leaving the shmem semaphore in a state
|
||||||
|
where the shmem block has to be freed.
|
||||||
|
|
||||||
|
-configure option --ncurses and --ncursesw
|
||||||
|
|
||||||
< kerio> paxed: it would also be cool to have %g and %s work within a game definition too
|
< kerio> paxed: it would also be cool to have %g and %s work within a game definition too
|
||||||
|
|
||||||
< kerio> paxed: is this intended behavior? i can't set two different spooldirs for two different games
|
< kerio> paxed: is this intended behavior? i can't set two different spooldirs for two different games
|
||||||
|
@ -45,8 +50,6 @@
|
||||||
key not defined in other commands):
|
key not defined in other commands):
|
||||||
commands[default] = ...
|
commands[default] = ...
|
||||||
|
|
||||||
-change dgl-banner handling; we only use the top line of it nowadays...
|
|
||||||
(maybe make that info config line: bannerline = "## $SERVERID" or something)
|
|
||||||
-allow the admin to config the watching menu:
|
-allow the admin to config the watching menu:
|
||||||
-top banner
|
-top banner
|
||||||
-bottom banner
|
-bottom banner
|
||||||
|
@ -74,6 +77,8 @@
|
||||||
into a menu def. auto=try to detect it from file extension.
|
into a menu def. auto=try to detect it from file extension.
|
||||||
would be useful to be able to define a program to run that
|
would be useful to be able to define a program to run that
|
||||||
generates the banner? (eg. nethack hiscore list via nethack itself)
|
generates the banner? (eg. nethack hiscore list via nethack itself)
|
||||||
|
to output raw escape codes under ncurses, use write(1, "foo", strlen("foo"))
|
||||||
|
(must restore cursor position after printing or ncurses is confoosed)
|
||||||
-BUG: cannot quit watching until caught up with the stream.
|
-BUG: cannot quit watching until caught up with the stream.
|
||||||
-allow configuring the watching, new user registration,
|
-allow configuring the watching, new user registration,
|
||||||
email/passwd change, etc. screens.
|
email/passwd change, etc. screens.
|
||||||
|
|
|
@ -540,17 +540,14 @@ loadbanner (char *fname, struct dg_banner *ban)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
drawbanner (struct dg_banner *ban, unsigned int start_line, unsigned int howmany)
|
drawbanner (struct dg_banner *ban)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
if (!ban) return;
|
if (!ban) return;
|
||||||
|
|
||||||
if (howmany > ban->len || howmany == 0)
|
for (i = 0; i < ban->len; i++)
|
||||||
howmany = ban->len;
|
mvaddstr (1 + i, 1, ban->lines[i]);
|
||||||
|
|
||||||
for (i = 0; i < howmany; i++)
|
|
||||||
mvaddstr (start_line + i, 1, ban->lines[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -965,7 +962,7 @@ inprogressmenu (int gameid)
|
||||||
offset = 0;
|
offset = 0;
|
||||||
|
|
||||||
erase ();
|
erase ();
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
if (len > 0) {
|
if (len > 0) {
|
||||||
while (offset >= len) { offset -= max_height; }
|
while (offset >= len) { offset -= max_height; }
|
||||||
|
@ -1340,7 +1337,7 @@ change_email ()
|
||||||
clear();
|
clear();
|
||||||
|
|
||||||
if (me->flags & DGLACCT_EMAIL_LOCK) {
|
if (me->flags & DGLACCT_EMAIL_LOCK) {
|
||||||
drawbanner(&banner, 1, 1);
|
drawbanner(&banner);
|
||||||
mvprintw(5, 1, "Sorry, you cannot change the email.--More--");
|
mvprintw(5, 1, "Sorry, you cannot change the email.--More--");
|
||||||
dgl_getch();
|
dgl_getch();
|
||||||
return;
|
return;
|
||||||
|
@ -1348,7 +1345,7 @@ change_email ()
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
drawbanner(&banner, 1,1);
|
drawbanner(&banner);
|
||||||
|
|
||||||
mvprintw(3, 1, "Your current email is: %s", me->email);
|
mvprintw(3, 1, "Your current email is: %s", me->email);
|
||||||
mvaddstr(4, 1, "Please enter a new one (max 80 chars; blank line aborts)");
|
mvaddstr(4, 1, "Please enter a new one (max 80 chars; blank line aborts)");
|
||||||
|
@ -1405,7 +1402,7 @@ changepw (int dowrite)
|
||||||
|
|
||||||
if (me->flags & DGLACCT_PASSWD_LOCK) {
|
if (me->flags & DGLACCT_PASSWD_LOCK) {
|
||||||
clear();
|
clear();
|
||||||
drawbanner(&banner, 1, 1);
|
drawbanner(&banner);
|
||||||
mvprintw(5, 1, "Sorry, you cannot change the password.--More--");
|
mvprintw(5, 1, "Sorry, you cannot change the password.--More--");
|
||||||
dgl_getch();
|
dgl_getch();
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1416,7 +1413,7 @@ changepw (int dowrite)
|
||||||
char repeatbuf[DGL_PASSWDLEN+1];
|
char repeatbuf[DGL_PASSWDLEN+1];
|
||||||
clear ();
|
clear ();
|
||||||
|
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
mvprintw (5, 1,
|
mvprintw (5, 1,
|
||||||
"Please enter a%s password. Remember that this is sent over the net",
|
"Please enter a%s password. Remember that this is sent over the net",
|
||||||
|
@ -1554,7 +1551,7 @@ domailuser (char *username)
|
||||||
|
|
||||||
/* print the enter your message line */
|
/* print the enter your message line */
|
||||||
clear ();
|
clear ();
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
mvprintw (5, 1,
|
mvprintw (5, 1,
|
||||||
"Enter your message here. It is to be one line only and %i characters or less.",
|
"Enter your message here. It is to be one line only and %i characters or less.",
|
||||||
DGL_MAILMSGLEN);
|
DGL_MAILMSGLEN);
|
||||||
|
@ -1706,7 +1703,7 @@ loginprompt (int from_ttyplay)
|
||||||
{
|
{
|
||||||
clear ();
|
clear ();
|
||||||
|
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
if (from_ttyplay == 1)
|
if (from_ttyplay == 1)
|
||||||
mvaddstr (4, 1, "This operation requires you to be logged in.");
|
mvaddstr (4, 1, "This operation requires you to be logged in.");
|
||||||
|
@ -1742,7 +1739,7 @@ loginprompt (int from_ttyplay)
|
||||||
|
|
||||||
clear ();
|
clear ();
|
||||||
|
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
mvaddstr (5, 1, "Please enter your password.");
|
mvaddstr (5, 1, "Please enter your password.");
|
||||||
mvaddstr (7, 1, "=> ");
|
mvaddstr (7, 1, "=> ");
|
||||||
|
@ -1796,7 +1793,7 @@ newuser ()
|
||||||
{
|
{
|
||||||
clear ();
|
clear ();
|
||||||
|
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
mvaddstr (5, 1, "Sorry, too many users have registered now.");
|
mvaddstr (5, 1, "Sorry, too many users have registered now.");
|
||||||
mvaddstr (6, 1, "You might email the server administrator.");
|
mvaddstr (6, 1, "You might email the server administrator.");
|
||||||
|
@ -1818,7 +1815,7 @@ newuser ()
|
||||||
|
|
||||||
sprintf(buf, "%i character max.", globalconfig.max_newnick_len);
|
sprintf(buf, "%i character max.", globalconfig.max_newnick_len);
|
||||||
|
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
mvaddstr (5, 1, "Welcome new user. Please enter a username.");
|
mvaddstr (5, 1, "Welcome new user. Please enter a username.");
|
||||||
mvaddstr (6, 1,
|
mvaddstr (6, 1,
|
||||||
|
@ -1886,7 +1883,7 @@ newuser ()
|
||||||
{
|
{
|
||||||
clear ();
|
clear ();
|
||||||
|
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
mvaddstr (5, 1, "Please enter your email address.");
|
mvaddstr (5, 1, "Please enter your email address.");
|
||||||
mvaddstr (6, 1, "This is sent _nowhere_ but will be used if you ask"
|
mvaddstr (6, 1, "This is sent _nowhere_ but will be used if you ask"
|
||||||
|
@ -2425,7 +2422,7 @@ purge_stale_locks (int game)
|
||||||
if (firsttime)
|
if (firsttime)
|
||||||
{
|
{
|
||||||
clear ();
|
clear ();
|
||||||
drawbanner (&banner, 1, 1);
|
drawbanner (&banner);
|
||||||
|
|
||||||
#define HUP_WAIT 10 /* seconds before HUPPING */
|
#define HUP_WAIT 10 /* seconds before HUPPING */
|
||||||
mvprintw (3, 1,
|
mvprintw (3, 1,
|
||||||
|
@ -2521,7 +2518,7 @@ runmenuloop(struct dg_menu *menu)
|
||||||
if (globalconfig.utf8esc) write(1, "\033%G", 3);
|
if (globalconfig.utf8esc) write(1, "\033%G", 3);
|
||||||
clear();
|
clear();
|
||||||
}
|
}
|
||||||
drawbanner(&ban, 1, 0);
|
drawbanner(&ban);
|
||||||
if (menu->cursor_x >= 0 && menu->cursor_y >= 0)
|
if (menu->cursor_x >= 0 && menu->cursor_y >= 0)
|
||||||
mvprintw(menu->cursor_y, menu->cursor_x, "");
|
mvprintw(menu->cursor_y, menu->cursor_x, "");
|
||||||
refresh();
|
refresh();
|
||||||
|
|
|
@ -280,7 +280,7 @@ extern char *gen_ttyrec_filename(void);
|
||||||
extern char *gen_inprogress_lock(int game, pid_t pid, char *ttyrec_filename);
|
extern char *gen_inprogress_lock(int game, pid_t pid, char *ttyrec_filename);
|
||||||
extern void catch_sighup(int signum);
|
extern void catch_sighup(int signum);
|
||||||
extern void loadbanner(char *fname, struct dg_banner *ban);
|
extern void loadbanner(char *fname, struct dg_banner *ban);
|
||||||
extern void drawbanner(struct dg_banner *ban, unsigned int start_line, unsigned int howmany);
|
extern void drawbanner(struct dg_banner *ban);
|
||||||
extern void banner_var_add(char *name, char *value);
|
extern void banner_var_add(char *name, char *value);
|
||||||
extern char *banner_var_value(char *name);
|
extern char *banner_var_value(char *name);
|
||||||
extern void banner_var_free(void);
|
extern void banner_var_free(void);
|
||||||
|
|
|
@ -51,9 +51,9 @@ bannervars = [ "$MOTDTIME" = "2011.10.08",
|
||||||
"$SERVERID" = "nethack.alt.org - http://nethack.alt.org/"
|
"$SERVERID" = "nethack.alt.org - http://nethack.alt.org/"
|
||||||
]
|
]
|
||||||
|
|
||||||
# From inside the jail, location of a banner file, the topmost line will be
|
# From inside the jail, location of a banner file, which is
|
||||||
# shown in submenus that cannot be defined separately.
|
# shown in submenus that cannot be defined separately.
|
||||||
# Some string substitution is done for the file:
|
# Some string substitution is done for every banner file contents:
|
||||||
# - bannervars from above
|
# - bannervars from above
|
||||||
# - $VERSION replaced with "dgamelaunch v" + dgl version number.
|
# - $VERSION replaced with "dgamelaunch v" + dgl version number.
|
||||||
# - $USERNAME replaced with logged-in user's name, or with "[Anonymous]"
|
# - $USERNAME replaced with logged-in user's name, or with "[Anonymous]"
|
||||||
|
|
Loading…
Reference in New Issue