Modify the window interface for print_glyph

Changes to be committed:
	modified:   doc/window.doc
	modified:   include/qt_win.h
	modified:   include/trampoli.h
	modified:   include/winX.h
	modified:   include/wingem.h
	modified:   include/winprocs.h
	modified:   include/wintty.h
	modified:   src/display.c
	modified:   src/windows.c
	modified:   sys/amiga/winami.p
	modified:   sys/amiga/winfuncs.c
	modified:   sys/amiga/winproto.h
	modified:   sys/wince/mswproc.c
	modified:   sys/wince/winMS.h
	modified:   win/Qt/qt_win.cpp
	modified:   win/X11/winmap.c
	modified:   win/chain/wc_chainin.c
	modified:   win/chain/wc_chainout.c
	modified:   win/chain/wc_trace.c
	modified:   win/gem/wingem.c
	modified:   win/gem/wingem1.c
	modified:   win/gnome/gnbind.c
	modified:   win/tty/wintty.c
	modified:   win/win32/mswproc.c
	modified:   win/win32/winMS.h

print_glyph now takes a second parameter.

Tiles on tiled ports always looked odd on places like the plane of air
where the background color of the tile didn't match the general background
of the surrounding area.

3.6 made that even worse and more glaringly noticeable with the introduction
of darkened room tiles.

The code to actually send something useful through the new parameter
for window ports to take advantage if they want will follow.
This commit is contained in:
nhmall
2015-06-08 19:37:26 -04:00
parent 9070d129de
commit c3a77914a9
25 changed files with 84 additions and 73 deletions

View File

@@ -1,4 +1,4 @@
NetHack 3.6 window.doc $NHDT-Date: 1432512786 2015/05/25 00:13:06 $ $NHDT-Branch: master $:$NHDT-Revision: 1.39 $
NetHack 3.6 window.doc $NHDT-Date: 1433806574 2015/06/08 23:36:14 $ $NHDT-Branch: master $:$NHDT-Revision: 1.40 $
Introduction
@@ -192,11 +192,16 @@ int nh_poskey(int *x, int *y, int *mod)
B. High-level routines:
print_glyph(window, x, y, glyph)
print_glyph(window, x, y, glyph, bkglyph)
-- Print the glyph at (x,y) on the given window. Glyphs are
integers at the interface, mapped to whatever the window-
port wants (symbol, font, color, attributes, ...there's
a 1-1 map between glyphs and distinct things on the map).
-- bkglyph is a background glyph for potential use by some
graphical or tiled environments to allow the depiction
to fall against a background consistent with the grid
around x,y.
char yn_function(const char *ques, const char *choices, char default)
-- Print a prompt made up of ques, choices and default.
Read a single character response that is contained in

View File

@@ -1,4 +1,4 @@
// NetHack 3.6 qt_win.h $NHDT-Date: 1432512782 2015/05/25 00:13:02 $ $NHDT-Branch: master $:$NHDT-Revision: 1.15 $
// NetHack 3.6 qt_win.h $NHDT-Date: 1433806580 2015/06/08 23:36:20 $ $NHDT-Branch: master $:$NHDT-Revision: 1.16 $
// Copyright (c) Warwick Allison, 1999.
// NetHack may be freely redistributed. See license for details.
//
@@ -863,7 +863,7 @@ class NetHackQtBind : NetHackQtBindBase
static void qt_cliparound(int x, int y);
static void qt_cliparound_window(winid wid, int x, int y);
static void qt_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph);
static void qt_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph, int bkglyph);
static void qt_raw_print(const char *str);
static void qt_raw_print_bold(const char *str);
static int qt_nhgetch();

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 trampoli.h $NHDT-Date: 1432512776 2015/05/25 00:12:56 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $ */
/* NetHack 3.6 trampoli.h $NHDT-Date: 1433806581 2015/06/08 23:36:21 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $ */
/* Copyright (c) 1989, by Norm Meluch and Stephen Spackman */
/* NetHack may be freely redistributed. See license for details. */
@@ -277,7 +277,7 @@
#ifdef POSITIONBAR
#define tty_update_positionbar(x) tty_update_positionbar_(x)
#endif
#define tty_print_glyph(a, b, c, d) tty_print_glyph_(a, b, c, d)
#define tty_print_glyph(a, b, c, d, e) tty_print_glyph_(a, b, c, d, e)
#define tty_raw_print(x) tty_raw_print_(x)
#define tty_raw_print_bold(x) tty_raw_print_bold_(x)
#define tty_nhgetch() tty_nhgetch_()

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winX.h $NHDT-Date: 1432512780 2015/05/25 00:13:00 $ $NHDT-Branch: master $:$NHDT-Revision: 1.14 $ */
/* NetHack 3.6 winX.h $NHDT-Date: 1433806583 2015/06/08 23:36:23 $ $NHDT-Branch: master $:$NHDT-Revision: 1.15 $ */
/* Copyright (c) Dean Luick, 1992 */
/* NetHack may be freely redistributed. See license for details. */
@@ -389,7 +389,7 @@ E void NDECL(X11_wait_synch);
#ifdef CLIPPING
E void FDECL(X11_cliparound, (int, int));
#endif
E void FDECL(X11_print_glyph, (winid, XCHAR_P, XCHAR_P, int));
E void FDECL(X11_print_glyph, (winid, XCHAR_P, XCHAR_P, int, int));
E void FDECL(X11_raw_print, (const char *));
E void FDECL(X11_raw_print_bold, (const char *));
E int NDECL(X11_nhgetch);

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wingem.h $NHDT-Date: 1432512781 2015/05/25 00:13:01 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $ */
/* NetHack 3.6 wingem.h $NHDT-Date: 1433806582 2015/06/08 23:36:22 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ */
/* Copyright (c) Christian Bressler, 1999 */
/* NetHack may be freely redistributed. See license for details. */
@@ -36,7 +36,7 @@ E char NDECL(mar_ask_class);
E char *NDECL(mar_ask_name);
E int FDECL(mar_create_window, (int));
E void FDECL(mar_destroy_nhwindow, (int));
E void FDECL(mar_print_glyph, (int, int, int, int));
E void FDECL(mar_print_glyph, (int, int, int, int, int));
E void FDECL(mar_print_line, (int, int, int, char *));
E void FDECL(mar_set_message, (char *, char *, char *));
E Gem_menu_item *NDECL(mar_hol_inv);
@@ -84,7 +84,7 @@ E void FDECL(Gem_cliparound, (int, int));
#ifdef POSITIONBAR
E void FDECL(Gem_update_positionbar, (char *));
#endif
E void FDECL(Gem_print_glyph, (winid, XCHAR_P, XCHAR_P, int));
E void FDECL(Gem_print_glyph, (winid, XCHAR_P, XCHAR_P, int, int));
E void FDECL(Gem_raw_print, (const char *));
E void FDECL(Gem_raw_print_bold, (const char *));
E int NDECL(Gem_nhgetch);

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winprocs.h $NHDT-Date: 1433207914 2015/06/02 01:18:34 $ $NHDT-Branch: master $:$NHDT-Revision: 1.35 $ */
/* NetHack 3.6 winprocs.h $NHDT-Date: 1433806582 2015/06/08 23:36:22 $ $NHDT-Branch: master $:$NHDT-Revision: 1.36 $ */
/* Copyright (c) David Cohrs, 1992 */
/* NetHack may be freely redistributed. See license for details. */
@@ -45,7 +45,7 @@ struct window_procs {
#ifdef POSITIONBAR
void FDECL((*win_update_positionbar), (char *));
#endif
void FDECL((*win_print_glyph), (winid, XCHAR_P, XCHAR_P, int));
void FDECL((*win_print_glyph), (winid, XCHAR_P, XCHAR_P, int, int));
void FDECL((*win_raw_print), (const char *));
void FDECL((*win_raw_print_bold), (const char *));
int NDECL((*win_nhgetch));
@@ -353,7 +353,7 @@ struct chain_procs {
#ifdef POSITIONBAR
void FDECL((*win_update_positionbar), (CARGS, char *));
#endif
void FDECL((*win_print_glyph), (CARGS, winid, XCHAR_P, XCHAR_P, int));
void FDECL((*win_print_glyph), (CARGS, winid, XCHAR_P, XCHAR_P, int, int));
void FDECL((*win_raw_print), (CARGS, const char *));
void FDECL((*win_raw_print_bold), (CARGS, const char *));
int FDECL((*win_nhgetch), (CARGS));

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wintty.h $NHDT-Date: 1432512782 2015/05/25 00:13:02 $ $NHDT-Branch: master $:$NHDT-Revision: 1.21 $ */
/* NetHack 3.6 wintty.h $NHDT-Date: 1433806583 2015/06/08 23:36:23 $ $NHDT-Branch: master $:$NHDT-Revision: 1.24 $ */
/* Copyright (c) David Cohrs, 1991,1992 */
/* NetHack may be freely redistributed. See license for details. */
@@ -195,7 +195,7 @@ E void FDECL(tty_cliparound, (int, int));
#ifdef POSITIONBAR
E void FDECL(tty_update_positionbar, (char *));
#endif
E void FDECL(tty_print_glyph, (winid, XCHAR_P, XCHAR_P, int));
E void FDECL(tty_print_glyph, (winid, XCHAR_P, XCHAR_P, int, int));
E void FDECL(tty_raw_print, (const char *));
E void FDECL(tty_raw_print_bold, (const char *));
E int NDECL(tty_nhgetch);

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 display.c $NHDT-Date: 1432946532 2015/05/30 00:42:12 $ $NHDT-Branch: master $:$NHDT-Revision: 1.56 $ */
/* NetHack 3.6 display.c $NHDT-Date: 1433806584 2015/06/08 23:36:24 $ $NHDT-Branch: master $:$NHDT-Revision: 1.59 $ */
/* Copyright (c) Dean Luick, with acknowledgements to Kevin Darcy */
/* and Dave Cohrs, 1990. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1426,7 +1426,7 @@ int start, stop, y;
for (x = start; x <= stop; x++)
if (gbuf[y][x].glyph != cmap_to_glyph(S_stone))
print_glyph(WIN_MAP, x, y, gbuf[y][x].glyph);
print_glyph(WIN_MAP, x, y, gbuf[y][x].glyph, NO_GLYPH);
}
void
@@ -1475,7 +1475,7 @@ int cursor_on_u;
register gbuf_entry *gptr = &gbuf[y][x = gbuf_start[y]];
for (; x <= gbuf_stop[y]; gptr++, x++)
if (gptr->new) {
print_glyph(WIN_MAP, x, y, gptr->glyph);
print_glyph(WIN_MAP, x, y, gptr->glyph, NO_GLYPH);
gptr->new = 0;
}
}

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 windows.c $NHDT-Date: 1433161992 2015/06/01 12:33:12 $ $NHDT-Branch: status_hilite $:$NHDT-Revision: 1.33 $ */
/* NetHack 3.6 windows.c $NHDT-Date: 1433806591 2015/06/08 23:36:31 $ $NHDT-Branch: master $:$NHDT-Revision: 1.34 $ */
/* Copyright (c) D. Cohrs, 1993. */
/* NetHack may be freely redistributed. See license for details. */
@@ -444,7 +444,7 @@ static void FDECL(hup_add_menu, (winid, int, const anything *, CHAR_P, CHAR_P,
int, const char *, BOOLEAN_P));
static void FDECL(hup_end_menu, (winid, const char *));
static void FDECL(hup_putstr, (winid, int, const char *));
static void FDECL(hup_print_glyph, (winid, XCHAR_P, XCHAR_P, int));
static void FDECL(hup_print_glyph, (winid, XCHAR_P, XCHAR_P, int, int));
static void FDECL(hup_outrip, (winid, int, time_t));
static void FDECL(hup_curs, (winid, int, int));
static void FDECL(hup_display_nhwindow, (winid, BOOLEAN_P));
@@ -662,10 +662,11 @@ const char *text UNUSED;
/*ARGSUSED*/
static void
hup_print_glyph(window, x, y, glyph)
hup_print_glyph(window, x, y, glyph, bkglyph)
winid window UNUSED;
xchar x UNUSED, y UNUSED;
int glyph UNUSED;
int bkglyph UNUSED;
{
return;
}

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winami.p $NHDT-Date: 1432512795 2015/05/25 00:13:15 $ $NHDT-Branch: master $:$NHDT-Revision: 1.6 $ */
/* NetHack 3.6 winami.p $NHDT-Date: 1433806595 2015/06/08 23:36:35 $ $NHDT-Branch: master $:$NHDT-Revision: 1.7 $ */
/* Copyright (c) Gregg Wonderly, Naperville, IL, 1992, 1993 */
/* NetHack may be freely redistributed. See license for details. */
/* winami.c */
@@ -35,7 +35,7 @@ int NDECL(amii_doprev_message );
void FDECL(amii_display_nhwindow, (winid , boolean ));
void FDECL(amii_display_file, (const char * , boolean ));
void FDECL(amii_curs, (winid , int , int ));
void FDECL(amii_print_glyph, (winid , xchar , xchar , int ));
void FDECL(amii_print_glyph, (winid , xchar , xchar , int, int ));
void FDECL(DoMenuScroll, (int , int ));
void FDECL(DisplayData, (int , int , int ));
void FDECL(SetPropInfo, (struct Window * , struct Gadget * , long , long , long ));

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winfuncs.c $NHDT-Date: 1432512796 2015/05/25 00:13:16 $ $NHDT-Branch: master $:$NHDT-Revision: 1.14 $ */
/* NetHack 3.6 winfuncs.c $NHDT-Date: 1433806596 2015/06/08 23:36:36 $ $NHDT-Branch: master $:$NHDT-Revision: 1.15 $ */
/* Copyright (c) Gregg Wonderly, Naperville, Illinois, 1991,1992,1993,1996.
*/
/* NetHack may be freely redistributed. See license for details. */
@@ -1936,10 +1936,10 @@ port_help()
*/
void
amii_print_glyph(win, x, y, glyph)
amii_print_glyph(win, x, y, glyph, bkglyph)
winid win;
xchar x, y;
int glyph;
int glyph, bkglyph;
{
struct amii_WinDesc *cw;
uchar ch;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winproto.h $NHDT-Date: 1432512795 2015/05/25 00:13:15 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $ */
/* NetHack 3.6 winproto.h $NHDT-Date: 1433806597 2015/06/08 23:36:37 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $ */
/* Copyright (c) Gregg Wonderly, Naperville, Illinois, 1991,1992,1993. */
/* NetHack may be freely redistributed. See license for details. */
@@ -65,7 +65,7 @@ void Abort(long rc);
#endif
void CleanUp(void);
void flush_glyph_buffer(struct Window *w);
void amiga_print_glyph(winid window, int color_index, int glyph);
void amiga_print_glyph(winid window, int color_index, int glyph, int bkglyph);
void start_glyphout(winid window);
void amii_end_glyphout(winid window);
struct NewWindow *DupNewWindow(struct NewWindow *win);
@@ -101,7 +101,7 @@ void amii_resume_nhwindows(void);
void amii_bell(void);
void removetopl(int cnt);
void port_help(void);
void amii_print_glyph(winid win, xchar x, xchar y, int glyph);
void amii_print_glyph(winid win, xchar x, xchar y, int glyph, int bkglyph);
void amii_raw_print(const char *s);
void amii_raw_print_bold(const char *s);
void amii_update_inventory(void);

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 mswproc.c $NHDT-Date: 1432512801 2015/05/25 00:13:21 $ $NHDT-Branch: master $:$NHDT-Revision: 1.59 $ */
/* NetHack 3.6 mswproc.c $NHDT-Date: 1433806606 2015/06/08 23:36:46 $ $NHDT-Branch: master $:$NHDT-Revision: 1.60 $ */
/* Copyright (C) 2001 by Alex Kompel */
/* NetHack may be freely redistributed. See license for details. */
@@ -1205,16 +1205,16 @@ mswin_cliparound(int x, int y)
}
/*
print_glyph(window, x, y, glyph)
print_glyph(window, x, y, glyph, bkglyph)
-- Print the glyph at (x,y) on the given window. Glyphs are
integers at the interface, mapped to whatever the window-
port wants (symbol, font, color, attributes, ...there's
a 1-1 map between glyphs and distinct things on the map).
*/
void
mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph)
mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph, int bkglyph)
{
logDebug("mswin_print_glyph(%d, %d, %d, %d)\n", wid, x, y, glyph);
logDebug("mswin_print_glyph(%d, %d, %d, %d, %d)\n", wid, x, y, glyph, bkglyph);
if ((wid >= 0) && (wid < MAXWINDOWS)
&& (GetNHApp()->windowlist[wid].win != NULL)) {

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winMS.h $NHDT-Date: 1432512798 2015/05/25 00:13:18 $ $NHDT-Branch: master $:$NHDT-Revision: 1.28 $ */
/* NetHack 3.6 winMS.h $NHDT-Date: 1433806609 2015/06/08 23:36:49 $ $NHDT-Branch: master $:$NHDT-Revision: 1.29 $ */
/* Copyright (C) 2001 by Alex Kompel */
/* NetHack may be freely redistributed. See license for details. */
@@ -138,7 +138,7 @@ void mswin_update_inventory(void);
void mswin_mark_synch(void);
void mswin_wait_synch(void);
void mswin_cliparound(int x, int y);
void mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph);
void mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph, int bkglyph);
void mswin_raw_print(const char *str);
void mswin_raw_print_bold(const char *str);
int mswin_nhgetch(void);

View File

@@ -4832,7 +4832,7 @@ void NetHackQtBind::qt_cliparound_window(winid wid, int x, int y)
NetHackQtWindow* window=id_to_window[wid];
window->ClipAround(x,y);
}
void NetHackQtBind::qt_print_glyph(winid wid,XCHAR_P x,XCHAR_P y,int glyph)
void NetHackQtBind::qt_print_glyph(winid wid,XCHAR_P x,XCHAR_P y,int glyph, int bkglyph)
{
NetHackQtWindow* window=id_to_window[wid];
window->PrintGlyph(x,y,glyph);

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winmap.c $NHDT-Date: 1432512808 2015/05/25 00:13:28 $ $NHDT-Branch: master $:$NHDT-Revision: 1.21 $ */
/* NetHack 3.6 winmap.c $NHDT-Date: 1433806622 2015/06/08 23:37:02 $ $NHDT-Branch: master $:$NHDT-Revision: 1.22 $ */
/* Copyright (c) Dean Luick, 1992 */
/* NetHack may be freely redistributed. See license for details. */
@@ -71,10 +71,10 @@ static void FDECL(display_cursor, (struct xwindow *));
*/
void
X11_print_glyph(window, x, y, glyph)
X11_print_glyph(window, x, y, glyph, bkglyph)
winid window;
xchar x, y;
int glyph;
int glyph, bkglyph;
{
struct map_info_t *map_info;
boolean update_bbox = FALSE;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wc_chainin.c $NHDT-Date: 1432512804 2015/05/25 00:13:24 $ $NHDT-Branch: master $:$NHDT-Revision: 1.6 $ */
/* NetHack 3.6 wc_chainin.c $NHDT-Date: 1433806610 2015/06/08 23:36:50 $ $NHDT-Branch: master $:$NHDT-Revision: 1.7 $ */
/* Copyright (c) Kenneth Lorber, 2012 */
/* NetHack may be freely redistributed. See license for details. */
@@ -267,12 +267,12 @@ char *posbar;
/* XXX can we decode the glyph in a meaningful way? */
void
chainin_print_glyph(window, x, y, glyph)
chainin_print_glyph(window, x, y, glyph, bkglyph)
winid window;
xchar x, y;
int glyph;
int glyph, bkglyph;
{
(*cibase->nprocs->win_print_glyph)(cibase->ndata, window, x, y, glyph);
(*cibase->nprocs->win_print_glyph)(cibase->ndata, window, x, y, glyph, bkglyph);
}
void

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wc_chainout.c $NHDT-Date: 1432512804 2015/05/25 00:13:24 $ $NHDT-Branch: master $:$NHDT-Revision: 1.6 $ */
/* NetHack 3.6 wc_chainout.c $NHDT-Date: 1433806611 2015/06/08 23:36:51 $ $NHDT-Branch: master $:$NHDT-Revision: 1.7 $ */
/* Copyright (c) Kenneth Lorber, 2012 */
/* NetHack may be freely redistributed. See license for details. */
@@ -333,15 +333,15 @@ char *posbar;
#endif
void
chainout_print_glyph(vp, window, x, y, glyph)
chainout_print_glyph(vp, window, x, y, glyph, bkglyph)
void *vp;
winid window;
xchar x, y;
int glyph;
int glyph, bkglyph;
{
struct chainout_data *tdp = vp;
(*tdp->nprocs->win_print_glyph)(window, x, y, glyph);
(*tdp->nprocs->win_print_glyph)(window, x, y, glyph, bkglyph);
}
void

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wc_trace.c $NHDT-Date: 1432512804 2015/05/25 00:13:24 $ $NHDT-Branch: master $:$NHDT-Revision: 1.6 $ */
/* NetHack 3.6 wc_trace.c $NHDT-Date: 1433806611 2015/06/08 23:36:51 $ $NHDT-Branch: master $:$NHDT-Revision: 1.7 $ */
/* Copyright (c) Kenneth Lorber, 2012 */
/* NetHack may be freely redistributed. See license for details. */
@@ -571,19 +571,19 @@ char *posbar;
/* XXX can we decode the glyph in a meaningful way? see mapglyph()?
genl_putmixed? */
void
trace_print_glyph(vp, window, x, y, glyph)
trace_print_glyph(vp, window, x, y, glyph, bkglyph)
void *vp;
winid window;
xchar x, y;
int glyph;
int glyph, bkglyph;
{
struct trace_data *tdp = vp;
fprintf(wc_tracelogf, "%sprint_glyph(%d, %d, %d, %d)\n", INDENT, window,
x, y, glyph);
fprintf(wc_tracelogf, "%sprint_glyph(%d, %d, %d, %d, %d)\n", INDENT, window,
x, y, glyph, bkglyph);
PRE;
(*tdp->nprocs->win_print_glyph)(tdp->ndata, window, x, y, glyph);
(*tdp->nprocs->win_print_glyph)(tdp->ndata, window, x, y, glyph, bkglyph);
POST;
}

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wingem.c $NHDT-Date: 1432512810 2015/05/25 00:13:30 $ $NHDT-Branch: master $:$NHDT-Revision: 1.24 $ */
/* NetHack 3.6 wingem.c $NHDT-Date: 1433806613 2015/06/08 23:36:53 $ $NHDT-Branch: master $:$NHDT-Revision: 1.25 $ */
/* Copyright (c) Christian Bressler, 1999 */
/* NetHack may be freely redistributed. See license for details. */
@@ -899,10 +899,10 @@ extern int mar_set_rogue(int);
extern void mar_add_pet_sign(winid, int, int);
void
Gem_print_glyph(window, x, y, glyph)
Gem_print_glyph(window, x, y, glyph, bkglyph)
winid window;
xchar x, y;
int glyph;
int glyph, bkglyph;
{
/* Move the cursor. */
Gem_curs(window, x, y);
@@ -911,7 +911,7 @@ int glyph;
x--; /* MAR -- because x ranges from 1 to COLNO */
if (mar_set_tile_mode(-1)) {
mar_print_glyph(window, x, y, glyph2tile[glyph]);
mar_print_glyph(window, x, y, glyph2tile[glyph], glyph2tile[bkglyph]);
if (
#ifdef TEXTCOLOR
iflags.hilite_pet &&

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wingem1.c $NHDT-Date: 1432512809 2015/05/25 00:13:29 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ */
/* NetHack 3.6 wingem1.c $NHDT-Date: 1433806613 2015/06/08 23:36:53 $ $NHDT-Branch: master $:$NHDT-Revision: 1.13 $ */
/* Copyright (c) Christian Bressler 1999 */
/* NetHack may be freely redistributed. See license for details. */
@@ -2918,9 +2918,9 @@ int x, y;
}
void
mar_print_glyph(window, x, y, gl)
mar_print_glyph(window, x, y, gl, bkgl)
winid window;
int x, y, gl;
int x, y, gl, bkgl;
{
if (window != WIN_ERR && window == WIN_MAP) {
static int pla[8];

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 gnbind.c $NHDT-Date: 1432512804 2015/05/25 00:13:24 $ $NHDT-Branch: master $:$NHDT-Revision: 1.31 $ */
/* NetHack 3.6 gnbind.c $NHDT-Date: 1433806614 2015/06/08 23:36:54 $ $NHDT-Branch: master $:$NHDT-Revision: 1.32 $ */
/* Copyright (C) 1998 by Erik Andersen <andersee@debian.org> */
/* NetHack may be freely redistributed. See license for details. */
@@ -849,14 +849,14 @@ gnome_cliparound_proper(winid wid, int x, int y)
}
/*
print_glyph(window, x, y, glyph)
print_glyph(window, x, y, glyph, bkglyph)
-- Print the glyph at (x,y) on the given window. Glyphs are
integers at the interface, mapped to whatever the window-
port wants (symbol, font, color, attributes, ...there's
a 1-1 map between glyphs and distinct things on the map).
*/
void
gnome_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph)
gnome_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph, int bkglyph)
{
if (wid != -1 && gnome_windowlist[wid].win != NULL) {
GdkImlibImage *im;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 wintty.c $NHDT-Date: 1433212192 2015/06/02 02:29:52 $ $NHDT-Branch: status_hilite $:$NHDT-Revision: 1.103 $ */
/* NetHack 3.6 wintty.c $NHDT-Date: 1433806618 2015/06/08 23:36:58 $ $NHDT-Branch: master $:$NHDT-Revision: 1.104 $ */
/* Copyright (c) David Cohrs, 1991 */
/* NetHack may be freely redistributed. See license for details. */
@@ -2999,10 +2999,10 @@ int x, y;
*/
void
tty_print_glyph(window, x, y, glyph)
tty_print_glyph(window, x, y, glyph, bkglyph)
winid window;
xchar x, y;
int glyph;
int glyph, bkglyph;
{
int ch;
boolean reverse_on = FALSE;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 mswproc.c $NHDT-Date: 1432512812 2015/05/25 00:13:32 $ $NHDT-Branch: master $:$NHDT-Revision: 1.88 $ */
/* NetHack 3.6 mswproc.c $NHDT-Date: 1433806620 2015/06/08 23:37:00 $ $NHDT-Branch: master $:$NHDT-Revision: 1.90 $ */
/* Copyright (C) 2001 by Alex Kompel */
/* NetHack may be freely redistributed. See license for details. */
@@ -1256,16 +1256,21 @@ mswin_cliparound(int x, int y)
}
/*
print_glyph(window, x, y, glyph)
print_glyph(window, x, y, glyph, bkglyph)
-- Print the glyph at (x,y) on the given window. Glyphs are
integers at the interface, mapped to whatever the window-
port wants (symbol, font, color, attributes, ...there's
a 1-1 map between glyphs and distinct things on the map).
-- bkglyph is a background glyph for potential use by some
graphical or tiled environments to allow the depiction
to fall against a background consistent with the grid
around x,y.
*/
void
mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph)
mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph, int bkglyph)
{
logDebug("mswin_print_glyph(%d, %d, %d, %d)\n", wid, x, y, glyph);
logDebug("mswin_print_glyph(%d, %d, %d, %d, %d)\n", wid, x, y, glyph, bkglyph);
if ((wid >= 0) && (wid < MAXWINDOWS)
&& (GetNHApp()->windowlist[wid].win != NULL)) {

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 winMS.h $NHDT-Date: 1432512810 2015/05/25 00:13:30 $ $NHDT-Branch: master $:$NHDT-Revision: 1.36 $ */
/* NetHack 3.6 winMS.h $NHDT-Date: 1433806621 2015/06/08 23:37:01 $ $NHDT-Branch: master $:$NHDT-Revision: 1.37 $ */
/* Copyright (C) 2001 by Alex Kompel */
/* NetHack may be freely redistributed. See license for details. */
@@ -142,7 +142,7 @@ void mswin_update_inventory(void);
void mswin_mark_synch(void);
void mswin_wait_synch(void);
void mswin_cliparound(int x, int y);
void mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph);
void mswin_print_glyph(winid wid, XCHAR_P x, XCHAR_P y, int glyph, int bkglyph);
void mswin_raw_print(const char *str);
void mswin_raw_print_bold(const char *str);
int mswin_nhgetch(void);