curses follow-up bits
Move the curses global variable defininitions to cursmain.c. Make the references to those global variables extern in include/wincurs.h Get rid of a warning: ../win/curses/cursmesg.c:379:9: warning: declaration shadows a variable in the global scope [-Wshadow] int orig_cursor = curs_set(0); Kludge for Visual Studio compiler: Add a stub- file for use in Windows curses port builds to ensure that a needed #pragma is invoked prior to compiling the file pdcscrn.c in the PDCurses source distribution. All command line options and compile of the file. It is unreasonable to expect a NetHack builder to have to tinker with the PDCurses source files in order to build NetHack. This kludge means the NetHack builder doesn't have to. The file stub-pdcscrn.c contains only two lines: #pragma warning(disable : 4996) #include "pdcscrn.c" Some day, if the PDCurses sources corrects the issue, this can go away.
This commit is contained in:
@@ -7,16 +7,11 @@
|
||||
|
||||
/* Global declarations for curses interface */
|
||||
|
||||
int term_rows, term_cols; /* size of underlying terminal */
|
||||
|
||||
WINDOW *base_term; /* underlying terminal window */
|
||||
|
||||
WINDOW *mapwin, *statuswin, *messagewin; /* Main windows */
|
||||
|
||||
int orig_cursor; /* Preserve initial cursor state */
|
||||
|
||||
boolean counting; /* Count window is active */
|
||||
|
||||
extern int term_rows, term_cols; /* size of underlying terminal */
|
||||
extern int orig_cursor; /* Preserve initial cursor state */
|
||||
extern WINDOW *base_term; /* underlying terminal window */
|
||||
extern boolean counting; /* Count window is active */
|
||||
extern WINDOW *mapwin, *statuswin, *messagewin; /* Main windows */
|
||||
|
||||
#define TEXTCOLOR /* Allow color */
|
||||
#define NHW_END 19
|
||||
|
||||
@@ -73,8 +73,8 @@ DEBUGINFO = Y
|
||||
# PDCurses header (.h) files and PDCURSES_C to the location
|
||||
# of your PDCurses C files.
|
||||
#
|
||||
#ADD_CURSES=Y
|
||||
#PDCURSES_TOP=..\..\pdcurses
|
||||
ADD_CURSES=Y
|
||||
PDCURSES_TOP=..\..\pdcurses
|
||||
#
|
||||
#==============================================================================
|
||||
# This marks the end of the BUILD DECISIONS section.
|
||||
@@ -399,7 +399,7 @@ PDCLIBOBJS = $(O)addch.o $(O)addchstr.o $(O)addstr.o $(O)attr.o $(O)beep.o
|
||||
PDCOBJS = $(O)pdcclip.o $(O)pdcdisp.o $(O)pdcgetsc.o $(O)pdckbd.o $(O)pdcscrn.o \
|
||||
$(O)pdcsetsc.o $(O)pdcutil.o
|
||||
|
||||
PDCLIB = $(O)\pdcurses.lib
|
||||
PDCLIB = $(O)pdcurses.lib
|
||||
|
||||
PDCINCL = /I$(PDCURSES_TOP) /I$(PDCSRC) /I$(PDCWINCON)
|
||||
|
||||
@@ -1257,16 +1257,19 @@ $(O)tile2bmp.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
||||
$(O)til2bm32.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
||||
@$(cc) $(cflagsBuild) -I$(WSHR) /DPACKED_FILE /DTILE_X=32 /DTILE_Y=32 /Fo$@ $(WSHR)\tile2bmp.c
|
||||
|
||||
#==========================================
|
||||
#===============================================================================
|
||||
# PDCurses
|
||||
#==========================================
|
||||
#===============================================================================
|
||||
|
||||
$(O)\pdcurses.lib : $(PDCLIBOBJS) $(PDCOBJS)
|
||||
$(O)pdcurses.lib : $(PDCLIBOBJS) $(PDCOBJS)
|
||||
lib -nologo /out:$@ $(PDCLIBOBJS) $(PDCOBJS)
|
||||
|
||||
#==========================================
|
||||
$(O)pdcscrn.o : $(PDCURSES_HEADERS) $(PDCWINCON)\pdcscrn.c $(MSWSYS)\stub-pdcscrn.c
|
||||
$(cc) $(PDCINCL) $(cflagsBuild) -Fo$@ $(MSWSYS)\stub-pdcscrn.c
|
||||
|
||||
#===============================================================================
|
||||
# Housekeeping
|
||||
#==========================================
|
||||
#===============================================================================
|
||||
|
||||
spotless: clean
|
||||
! IF ("$(OBJ)"!="")
|
||||
|
||||
15
sys/winnt/stub-pdcscrn.c
Normal file
15
sys/winnt/stub-pdcscrn.c
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Use this stub to insert a needed pragma prior
|
||||
* to compiling $(PDCWINCON)\pdcscrn.c in the
|
||||
* PDCurses distribution.
|
||||
*
|
||||
* We don't want to ask NetHack builders to
|
||||
* modify the PDCurses distribution in any way,
|
||||
* we only ask that they have the original intact
|
||||
* PDCurses source tree available during the build.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma warning(disable : 4996)
|
||||
#include "pdcscrn.c"
|
||||
|
||||
@@ -80,6 +80,16 @@ struct window_procs curses_procs = {
|
||||
genl_can_suspend_yes,
|
||||
};
|
||||
|
||||
/*
|
||||
* Global variables for curses interface
|
||||
*/
|
||||
|
||||
int term_rows, term_cols; /* size of underlying terminal */
|
||||
int orig_cursor; /* Preserve initial cursor state */
|
||||
WINDOW *base_term; /* underlying terminal window */
|
||||
boolean counting; /* Count window is active */
|
||||
WINDOW *mapwin, *statuswin, *messagewin; /* Main windows */
|
||||
|
||||
/* Track if we're performing an update to the permanent window.
|
||||
Needed since we aren't using the normal menu functions to handle
|
||||
the inventory window. */
|
||||
|
||||
@@ -371,12 +371,12 @@ curses_message_win_getline(const char *prompt, char *answer, int buffer)
|
||||
char *tmpstr; /* for free() */
|
||||
int maxy, maxx; /* linewrap / scroll */
|
||||
int ch;
|
||||
|
||||
WINDOW *win = curses_get_nhwin(MESSAGE_WIN);
|
||||
int border_space = 0;
|
||||
int len = 0; /* of answer string */
|
||||
boolean border = curses_window_has_border(MESSAGE_WIN);
|
||||
int orig_cursor = curs_set(0);
|
||||
|
||||
orig_cursor = curs_set(0);
|
||||
|
||||
curses_get_window_size(MESSAGE_WIN, &height, &width);
|
||||
if (border) {
|
||||
|
||||
Reference in New Issue
Block a user