diff --git a/doc/window.doc b/doc/window.doc index e13f82eca..c9b052b4c 100644 --- a/doc/window.doc +++ b/doc/window.doc @@ -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 diff --git a/include/qt_win.h b/include/qt_win.h index feadfd1d1..ddb72d5cd 100644 --- a/include/qt_win.h +++ b/include/qt_win.h @@ -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(); diff --git a/include/trampoli.h b/include/trampoli.h index 3830d7485..865da44c1 100644 --- a/include/trampoli.h +++ b/include/trampoli.h @@ -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_() diff --git a/include/winX.h b/include/winX.h index c2b698c8b..4b132582a 100644 --- a/include/winX.h +++ b/include/winX.h @@ -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); diff --git a/include/wingem.h b/include/wingem.h index b71b42e86..61c7e7c87 100644 --- a/include/wingem.h +++ b/include/wingem.h @@ -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); diff --git a/include/winprocs.h b/include/winprocs.h index 47b71c9ad..b76d9e1de 100644 --- a/include/winprocs.h +++ b/include/winprocs.h @@ -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)); diff --git a/include/wintty.h b/include/wintty.h index 12b1771f4..4191cf349 100644 --- a/include/wintty.h +++ b/include/wintty.h @@ -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); diff --git a/src/display.c b/src/display.c index b3ea39ce8..ae1dc0b2f 100644 --- a/src/display.c +++ b/src/display.c @@ -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; } } diff --git a/src/windows.c b/src/windows.c index 5ba25a448..125fcba0d 100644 --- a/src/windows.c +++ b/src/windows.c @@ -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; } diff --git a/sys/amiga/winami.p b/sys/amiga/winami.p index e2504c026..7d24a2cee 100644 --- a/sys/amiga/winami.p +++ b/sys/amiga/winami.p @@ -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 )); diff --git a/sys/amiga/winfuncs.c b/sys/amiga/winfuncs.c index 55bb35f91..d565b1af4 100644 --- a/sys/amiga/winfuncs.c +++ b/sys/amiga/winfuncs.c @@ -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; diff --git a/sys/amiga/winproto.h b/sys/amiga/winproto.h index 79d172e14..9c249b0a0 100644 --- a/sys/amiga/winproto.h +++ b/sys/amiga/winproto.h @@ -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); diff --git a/sys/wince/mswproc.c b/sys/wince/mswproc.c index 3ac72737d..5a0ff989d 100644 --- a/sys/wince/mswproc.c +++ b/sys/wince/mswproc.c @@ -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)) { diff --git a/sys/wince/winMS.h b/sys/wince/winMS.h index 5562479b0..e9b78bd99 100644 --- a/sys/wince/winMS.h +++ b/sys/wince/winMS.h @@ -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); diff --git a/win/Qt/qt_win.cpp b/win/Qt/qt_win.cpp index 957823bef..4b3e5dd19 100644 --- a/win/Qt/qt_win.cpp +++ b/win/Qt/qt_win.cpp @@ -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); diff --git a/win/X11/winmap.c b/win/X11/winmap.c index e65f850b5..73745efb6 100644 --- a/win/X11/winmap.c +++ b/win/X11/winmap.c @@ -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; diff --git a/win/chain/wc_chainin.c b/win/chain/wc_chainin.c index b184c20de..66362bd0b 100644 --- a/win/chain/wc_chainin.c +++ b/win/chain/wc_chainin.c @@ -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 diff --git a/win/chain/wc_chainout.c b/win/chain/wc_chainout.c index a9240681f..85b265117 100644 --- a/win/chain/wc_chainout.c +++ b/win/chain/wc_chainout.c @@ -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 diff --git a/win/chain/wc_trace.c b/win/chain/wc_trace.c index 042f6a750..9073e062a 100644 --- a/win/chain/wc_trace.c +++ b/win/chain/wc_trace.c @@ -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; } diff --git a/win/gem/wingem.c b/win/gem/wingem.c index 2501e1ed5..33b370275 100644 --- a/win/gem/wingem.c +++ b/win/gem/wingem.c @@ -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 && diff --git a/win/gem/wingem1.c b/win/gem/wingem1.c index b1721648f..368aff27e 100644 --- a/win/gem/wingem1.c +++ b/win/gem/wingem1.c @@ -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]; diff --git a/win/gnome/gnbind.c b/win/gnome/gnbind.c index f90fa5db1..cc40bb137 100644 --- a/win/gnome/gnbind.c +++ b/win/gnome/gnbind.c @@ -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 */ /* 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; diff --git a/win/tty/wintty.c b/win/tty/wintty.c index a59ad11d7..df28f485f 100644 --- a/win/tty/wintty.c +++ b/win/tty/wintty.c @@ -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; diff --git a/win/win32/mswproc.c b/win/win32/mswproc.c index 77c33b2cf..f3fc54e2b 100644 --- a/win/win32/mswproc.c +++ b/win/win32/mswproc.c @@ -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)) { diff --git a/win/win32/winMS.h b/win/win32/winMS.h index 049b2900c..e344572f5 100644 --- a/win/win32/winMS.h +++ b/win/win32/winMS.h @@ -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);