Merge branch 'NetHack-3.6'

This commit is contained in:
nhmall
2019-10-06 09:16:23 -04:00
14 changed files with 91 additions and 87 deletions

View File

@@ -495,12 +495,10 @@ tty_end_screen()
/* Cursor movements */
/* Note to overlay tinkerers. The placement of this overlay controls the
location
of the function xputc(). This function is not currently in trampoli.[ch]
files for what is deemed to be performance reasons. If this define is
moved
and or xputc() is taken out of the ROOT overlay, then action must be taken
in trampoli.[ch]. */
location of the function xputc(). This function is not currently in
trampoli.[ch] files for what is deemed to be performance reasons. If
this define is moved and or xputc() is taken out of the ROOT overlay,
then action must be taken in trampoli.[ch]. */
void
nocmov(x, y)
@@ -528,7 +526,7 @@ int x, y;
cmov(x, y);
} else {
while ((int) ttyDisplay->cury < y) {
xputc('\n');
(void) xputc('\n');
ttyDisplay->curx = 0;
ttyDisplay->cury++;
}
@@ -561,16 +559,27 @@ register int x, y;
ttyDisplay->curx = x;
}
/* See note above. xputc() is a special function. */
void
/* See note above. xputc() is a special function for overlays. */
int
xputc(c)
#if defined(apollo)
int c;
#else
char c;
#endif
int c; /* actually char, but explicitly specify its widened type */
{
(void) putchar(c);
/*
* Note: xputc() as a direct all to putchar() doesn't make any
* sense _if_ putchar() is a function. But if it is a macro, an
* overlay configuration would want to avoid hidden code bloat
* from multiple putchar() expansions. And it gets passed as an
* argument to tputs() so we have to guarantee an actual function
* (while possibly lacking ANSI's (func) syntax to override macro).
*
* xputc() used to be declared as 'void xputc(c) char c; {}' but
* avoiding the proper type 'int' just to avoid (void) casts when
* ignoring the result can't have been sufficent reason to add it.
* It also had '#if apollo' conditional to have the arg be int.
* Matching putchar()'s declaration and using explicit casts where
* warranted is more robust, so we're just a jacket around that.
*/
return putchar(c);
}
void
@@ -579,13 +588,9 @@ const char *s;
{
#ifndef TERMLIB
(void) fputs(s, stdout);
#else
#if defined(NHSTDC) || defined(ULTRIX_PROTO)
tputs(s, 1, (int (*) ()) xputc);
#else
tputs(s, 1, xputc);
#endif
#endif
}
void
@@ -599,7 +604,7 @@ cl_end()
/* this looks terrible, especially on a slow terminal
but is better than nothing */
while (cx < CO) {
xputc(' ');
(void) xputc(' ');
cx++;
}
tty_curs(BASE_WINDOW, (int) ttyDisplay->curx + 1,
@@ -754,25 +759,18 @@ tty_delay_output()
/* BUG: if the padding character is visible, as it is on the 5620
then this looks terrible. */
if (flags.null) {
tputs(
#ifdef TERMINFO
/* cbosgd!cbcephus!pds for SYS V R2 */
#ifdef NHSTDC
tputs("$<50>", 1, (int (*) ()) xputc);
"$<50>",
#else
tputs("$<50>", 1, xputc);
#endif
#else
#if defined(NHSTDC) || defined(ULTRIX_PROTO)
tputs("50", 1, (int (*) ()) xputc);
#else
tputs("50", 1, xputc);
#endif
"50",
#endif
1, xputc);
} else if (ospeed > 0 && ospeed < SIZE(tmspc10) && nh_CM) {
/* delay by sending cm(here) an appropriate number of times */
register int cmlen =
strlen(tgoto(nh_CM, ttyDisplay->curx, ttyDisplay->cury));
(int) strlen(tgoto(nh_CM, ttyDisplay->curx, ttyDisplay->cury));
register int i = 500 + tmspc10[ospeed] / 2;
while (i > 0) {
@@ -794,7 +792,7 @@ cl_eos() /* free after Robert Viduya */
while (cy <= LI - 2) {
cl_end();
xputc('\n');
(void) xputc('\n');
cy++;
}
cl_end();