From c3a77914a96d51bee50420a33833bedff3f24fb6 Mon Sep 17 00:00:00 2001 From: nhmall Date: Mon, 8 Jun 2015 19:37:26 -0400 Subject: [PATCH] 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. --- doc/window.doc | 9 +++++++-- include/qt_win.h | 4 ++-- include/trampoli.h | 4 ++-- include/winX.h | 4 ++-- include/wingem.h | 6 +++--- include/winprocs.h | 6 +++--- include/wintty.h | 4 ++-- src/display.c | 6 +++--- src/windows.c | 7 ++++--- sys/amiga/winami.p | 4 ++-- sys/amiga/winfuncs.c | 6 +++--- sys/amiga/winproto.h | 6 +++--- sys/wince/mswproc.c | 8 ++++---- sys/wince/winMS.h | 4 ++-- win/Qt/qt_win.cpp | 2 +- win/X11/winmap.c | 6 +++--- win/chain/wc_chainin.c | 8 ++++---- win/chain/wc_chainout.c | 8 ++++---- win/chain/wc_trace.c | 12 ++++++------ win/gem/wingem.c | 8 ++++---- win/gem/wingem1.c | 6 +++--- win/gnome/gnbind.c | 6 +++--- win/tty/wintty.c | 6 +++--- win/win32/mswproc.c | 13 +++++++++---- win/win32/winMS.h | 4 ++-- 25 files changed, 84 insertions(+), 73 deletions(-) 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);