Merge branch 'win-minor' into NetHack-3.6.2-beta01

This commit is contained in:
nhmall
2018-11-12 23:15:13 -05:00
62 changed files with 517 additions and 2306 deletions

View File

@@ -249,13 +249,13 @@ extern int FDECL(alternative_palette, (char *));
#endif
#ifdef NDEBUG
#define ntassert(expression) ((void)0)
#define nhassert(expression) ((void)0)
#else
extern void FDECL(ntassert_failed, (const char * exp, const char * file,
extern void FDECL(nhassert_failed, (const char * exp, const char * file,
int line));
#define ntassert(expression) (void)((!!(expression)) || \
(ntassert_failed(#expression, __FILE__, __LINE__), 0))
#define nhassert(expression) (void)((!!(expression)) || \
(nhassert_failed(#expression, __FILE__, __LINE__), 0))
#endif
#define nethack_enter(argc, argv) nethack_enter_winnt()

View File

@@ -5,6 +5,10 @@
/* main.c - MSDOS, OS/2, ST, Amiga, and Windows NetHack */
#ifdef WIN32
#include "win32api.h" /* for GetModuleFileName */
#endif
#include "hack.h"
#include "dlb.h"
@@ -22,10 +26,6 @@
#endif
#endif
#ifdef WIN32
#include "win32api.h" /* for GetModuleFileName */
#endif
#ifdef __DJGPP__
#include <unistd.h> /* for getcwd() prototype */
#endif

View File

@@ -22,7 +22,6 @@ You can build a TTY version of NetHack and a Windows Graphical
version. You can use one of the following build environments:
o A copy of Microsoft Visual Studio 2017 Community Edition
OR Microsoft Visual Studio 2015 Express
OR
@@ -35,20 +34,15 @@ version. You can use one of the following build environments:
Graphical version.
/--------------------------------------------------------\
| Building And Running Using Visual Studio 2015 or |
| Visual Studio 2017 |
| Building And Running Using Visual Studio 2017 |
\--------------------------------------------------------/
If you are NOT using Visual Studio 2015 or Visual Studio 2017 IDE, or
you prefer to build using a Make utility and a Makefile proceed
to "Building Using Make".
If you are NOT using Visual Studio 2017 IDE, or you prefer to build
using a Make utility and a Makefile proceed to "Building Using Make".
When using either Visual Studio 2015 or Visual Studio 2017, you simply
need to load the solution file within the IDE, build the solution and
run the version of NetHack you wish to run.
The Visual Studio 2015 NetHack solution file can be found here:
win\win32\vs2015\NetHack.sln
When using either Visual Studio 2017, you simply need to load the
solution file within the IDE, build the solution and run the version
of NetHack you wish to run.
The Visual Studio 2017 NetHack solution file can be found here:
win\win32\vs2017\NetHack.sln
@@ -64,8 +58,7 @@ You can also build all the projects for all platforms and configurations
using a "build.bat" batch file found in the same directory as the solution.
Open a developer command prompt for the version of Visual Studio you are
using. Change to the appropriate directory (i.e. win\win32\vs2015 for
VS2015 builds, win\win32\vs2017 for VS2017 builds) and run "build.bat".
using. Change to the directory win\win32\vs2017 and run "build.bat".
/-----------------------------------\
| Building Using Make |

View File

@@ -300,7 +300,7 @@ conlibs = $(baselibs)
guilibs = $(winlibs)
#
INCLDIR= /I..\include
INCLDIR= /I..\include /I..\sys\winnt
#==========================================
# Util builds
@@ -997,14 +997,6 @@ $(O)envchk.tag: $(O)obj.tag
#=========== SECONDARY TARGETS ============
#==========================================
#===========================================
# Header files NOT distributed in $(INCL)
#===========================================
$(INCL)\win32api.h: $(MSWSYS)\win32api.h
copy $(MSWSYS)\win32api.h $@
#==========================================
# DLB utility and nhdat file creation
#==========================================
@@ -1065,7 +1057,7 @@ $(U)recover.exe: $(RECOVOBJS)
@echo Linking $(@:\=/)
$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(RECOVOBJS)
$(O)recover.o: $(CONFIG_H) $(U)recover.c $(INCL)\win32api.h
$(O)recover.o: $(CONFIG_H) $(U)recover.c $(MSWSYS)\win32api.h
@$(cc) $(cflagsBuild) -Fo$@ $(U)recover.c
#==========================================
@@ -1159,10 +1151,10 @@ $(U)til2bm32.exe: $(O)til2bm32.o $(TEXT_IO32)
)
<<
$(O)tile2bmp.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(INCL)\win32api.h
$(O)tile2bmp.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
@$(cc) $(cflagsBuild) -I$(WSHR) /DPACKED_FILE /Fo$@ $(WSHR)\tile2bmp.c
$(O)til2bm32.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(INCL)\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
#==========================================
@@ -1235,7 +1227,6 @@ spotless: clean
if exist $(O)gamedir.tag del $(O)gamedir.tag
if exist $(O)nh*key.lib del $(O)nh*key.lib
if exist $(O)nh*key.exp del $(O)nh*key.exp
if exist $(INCL)\win32api.h del $(INCL)\win32api.h
if exist $(MSWIN)\mnsel.bmp del $(MSWIN)\mnsel.bmp
if exist $(MSWIN)\mnselcnt.bmp del $(MSWIN)\mnselcnt.bmp
if exist $(MSWIN)\mnunsel.bmp del $(MSWIN)\mnunsel.bmp
@@ -1340,11 +1331,10 @@ $(DAT)\dungeon: $(O)utility.tag $(DAT)\dungeon.def
# NT dependencies
#
$(O)nttty.o: $(HACK_H) $(TILE_H) $(INCL)\win32api.h $(MSWSYS)\nttty.c
$(O)nttty.o: $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h $(MSWSYS)\nttty.c
@$(cc) $(cflagsBuild) -I$(WSHR) -Fo$@ $(MSWSYS)\nttty.c
$(O)win10.o: $(HACK_H) $(MSWSYS)\win10.c
$(O)winnt.o: $(HACK_H) $(MSWSYS)\win32api.h $(MSWSYS)\winnt.c
@$(cc) $(cflagsBuild) -I$(MSWSYS) -I$(MSWIN) -Fo$@ $(MSWSYS)\win10.c
$(O)winnt.o: $(HACK_H) $(INCL)\win32api.h $(MSWSYS)\winnt.c
@$(cc) $(cflagsBuild) -Fo$@ $(MSWSYS)\winnt.c
$(O)ntsound.o: $(HACK_H) $(MSWSYS)\ntsound.c
@$(cc) $(cflagsBuild) -Fo$@ $(MSWSYS)\ntsound.c
@@ -1400,7 +1390,7 @@ $(O)panic.o: $(U)panic.c $(CONFIG_H)
$(O)tos.o: ..\sys\atari\tos.c $(HACK_H) $(INCL)\tcap.h
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\atari\tos.c
$(O)pcmain.o: ..\sys\share\pcmain.c $(HACK_H) $(INCL)\dlb.h \
$(INCL)\win32api.h
$(MSWSYS)\win32api.h
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\pcmain.c
$(O)pcsys.o: ..\sys\share\pcsys.c $(HACK_H)
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\pcsys.c

View File

@@ -13,9 +13,9 @@
static char where_to_get_source[] = "http://www.nethack.org/";
static char author[] = "The NetHack Development Team";
#include "win32api.h"
#include "hack.h"
#include "wintty.h"
#include "win32api.h"
extern HANDLE hConIn;
extern INPUT_RECORD ir;

View File

@@ -19,9 +19,9 @@
static char where_to_get_source[] = "http://www.nethack.org/";
static char author[] = "The NetHack Development Team";
#include "win32api.h"
#include "hack.h"
#include "wintty.h"
#include "win32api.h"
extern HANDLE hConIn;
extern INPUT_RECORD ir;

View File

@@ -160,9 +160,9 @@
static char where_to_get_source[] = "http://www.nethack.org/";
static char author[] = "Ray Chason";
#include "win32api.h"
#include "hack.h"
#include "wintty.h"
#include "win32api.h"
extern HANDLE hConIn;
extern INPUT_RECORD ir;

View File

@@ -10,8 +10,8 @@
*
*/
#include "hack.h"
#include "win32api.h"
#include "hack.h"
#include <mmsystem.h>
#ifdef USER_SOUNDS

View File

@@ -16,11 +16,12 @@
#ifdef WIN32
#define NEED_VARARGS /* Uses ... */
#include "win32api.h"
#include "winos.h"
#include "hack.h"
#include "wintty.h"
#include <sys\types.h>
#include <sys\stat.h>
#include "win32api.h"
extern boolean getreturn_enabled; /* from sys/share/pcsys.c */
extern int redirect_stdout;
@@ -241,8 +242,8 @@ static void back_buffer_flip()
void buffer_fill_to_end(cell_t * buffer, cell_t * fill, int x, int y)
{
ntassert(x >= 0 && x < console.width);
ntassert(y >= 0 && ((y < console.height) || (y == console.height &&
nhassert(x >= 0 && x < console.width);
nhassert(y >= 0 && ((y < console.height) || (y == console.height &&
x == 0)));
cell_t * dst = buffer + console.width * y + x;
@@ -256,8 +257,8 @@ void buffer_fill_to_end(cell_t * buffer, cell_t * fill, int x, int y)
static void buffer_clear_to_end_of_line(cell_t * buffer, int x, int y)
{
ntassert(x >= 0 && x < console.width);
ntassert(y >= 0 && ((y < console.height) || (y == console.height &&
nhassert(x >= 0 && x < console.width);
nhassert(y >= 0 && ((y < console.height) || (y == console.height &&
x == 0)));
cell_t * dst = buffer + console.width * y + x;
cell_t *sentinel = buffer + console.width * (y + 1);
@@ -271,8 +272,8 @@ static void buffer_clear_to_end_of_line(cell_t * buffer, int x, int y)
void buffer_write(cell_t * buffer, cell_t * cell, COORD pos)
{
ntassert(pos.X >= 0 && pos.X < console.width);
ntassert(pos.Y >= 0 && pos.Y < console.height);
nhassert(pos.X >= 0 && pos.X < console.width);
nhassert(pos.Y >= 0 && pos.Y < console.height);
cell_t * dst = buffer + (console.width * pos.Y) + pos.X;
*dst = *cell;
@@ -464,8 +465,8 @@ int *x, *y, *mod;
static void set_console_cursor(int x, int y)
{
ntassert(x >= 0 && x < console.width);
ntassert(y >= 0 && y < console.height);
nhassert(x >= 0 && x < console.width);
nhassert(y >= 0 && y < console.height);
console.cursor.X = max(0, min(console.width - 1, x));
console.cursor.Y = max(0, min(console.height - 1, y));
@@ -546,8 +547,8 @@ void
xputc_core(ch)
char ch;
{
ntassert(console.cursor.X >= 0 && console.cursor.X < console.width);
ntassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
nhassert(console.cursor.X >= 0 && console.cursor.X < console.width);
nhassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
boolean inverse = FALSE;
cell_t cell;
@@ -569,6 +570,9 @@ char ch;
}
break;
default:
// Temporary fix. Tty putstatusfield()
inverse = (console.current_nhattr[ATR_INVERSE] && iflags.wc_inverse);
console.attr = (inverse) ?
ttycolors_inv[console.current_nhcolor] :
@@ -592,8 +596,8 @@ char ch;
}
}
ntassert(console.cursor.X >= 0 && console.cursor.X < console.width);
ntassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
nhassert(console.cursor.X >= 0 && console.cursor.X < console.width);
nhassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
}
/*
@@ -601,42 +605,6 @@ char ch;
* for win32. It is used for glyphs only, not text.
*/
/* CP437 to Unicode mapping according to the Unicode Consortium */
static const WCHAR cp437[] = {
0x0020, 0x263A, 0x263B, 0x2665, 0x2666, 0x2663, 0x2660, 0x2022,
0x25D8, 0x25CB, 0x25D9, 0x2642, 0x2640, 0x266A, 0x266B, 0x263C,
0x25BA, 0x25C4, 0x2195, 0x203C, 0x00B6, 0x00A7, 0x25AC, 0x21A8,
0x2191, 0x2193, 0x2192, 0x2190, 0x221F, 0x2194, 0x25B2, 0x25BC,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x2302,
0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,
0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
};
void
g_putch(in_ch)
int in_ch;
@@ -1014,7 +982,7 @@ register char *op;
void unload_keyboard_handler()
{
ntassert(keyboard_handler.hLibrary != NULL);
nhassert(keyboard_handler.hLibrary != NULL);
FreeLibrary(keyboard_handler.hLibrary);
memset(&keyboard_handler, 0, sizeof(keyboard_handler_t));
@@ -1651,10 +1619,10 @@ set_known_good_console_font()
L"Consolas");
success = SetConsoleOutputCP(437);
ntassert(success);
nhassert(success);
success = SetCurrentConsoleFontEx(console.hConOut, FALSE, &console_font_info);
ntassert(success);
nhassert(success);
}
/* restore_original_console_font will restore the console font and code page
@@ -1690,12 +1658,17 @@ void set_cp_map()
if (console.has_unicode) {
UINT codePage = GetConsoleOutputCP();
for (int i = 0; i < 256; i++) {
char c = (char)i;
int count = MultiByteToWideChar(codePage, 0, &c, 1,
&console.cpMap[i], 1);
ntassert(count == 1);
if (codePage == 437) {
memcpy(console.cpMap, cp437, sizeof(console.cpMap));
} else {
for (int i = 0; i < 256; i++) {
char c = (char)i;
int count = MultiByteToWideChar(codePage, 0, &c, 1,
&console.cpMap[i], 1);
nhassert(count == 1);
}
}
}
}
@@ -1712,8 +1685,8 @@ void early_raw_print(const char *s)
if (console.hConOut == NULL)
return;
ntassert(console.cursor.X >= 0 && console.cursor.X < console.width);
ntassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
nhassert(console.cursor.X >= 0 && console.cursor.X < console.width);
nhassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
WORD attribute = FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE;
DWORD unused;
@@ -1752,8 +1725,8 @@ void early_raw_print(const char *s)
s++;
}
ntassert(console.cursor.X >= 0 && console.cursor.X < console.width);
ntassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
nhassert(console.cursor.X >= 0 && console.cursor.X < console.width);
nhassert(console.cursor.Y >= 0 && console.cursor.Y < console.height);
SetConsoleCursorPosition(console.hConOut, console.cursor);
@@ -1789,7 +1762,7 @@ void nethack_enter_nttty()
windowprocs.win_raw_print = early_raw_print;
console.hConOut = GetStdHandle(STD_OUTPUT_HANDLE);
ntassert(console.hConOut != NULL); // NOTE: this assert will not print
nhassert(console.hConOut != NULL); // NOTE: this assert will not print
GetConsoleScreenBufferInfo(console.hConOut, &console.origcsbi);
@@ -1830,7 +1803,7 @@ void nethack_enter_nttty()
/* At this point early_raw_print will work */
console.hConIn = GetStdHandle(STD_INPUT_HANDLE);
ntassert(console.hConIn != NULL);
nhassert(console.hConIn != NULL);
/* grow the size of the console buffer if it is not wide enough */
if (console.origcsbi.dwSize.X < console.width) {

View File

@@ -2,6 +2,7 @@
/* Copyright (c) 2015 by Michael Allison */
/* NetHack may be freely redistributed. See license for details. */
#include "win32api.h"
#include "hack.h"
#ifdef GUISTUB
@@ -52,9 +53,6 @@ char *argv[];
#ifdef TTYSTUB
#include "hack.h"
#include "win32api.h"
HANDLE hConIn;
HANDLE hConOut;
int GUILaunched;

View File

@@ -2,12 +2,12 @@
/* Copyright (C) 2018 by Bart House */
/* NetHack may be freely redistributed. See license for details. */
#include <process.h>
#include "winMS.h"
#include "hack.h"
#include "win10.h"
#include <process.h>
#include <VersionHelpers.h>
#include "hack.h"
Win10 gWin10 = { 0 };
void win10_init()
@@ -27,6 +27,10 @@ void win10_init()
if (gWin10.AreDpiAwarenessContextsEqual == NULL)
panic("Unable to get address of AreDpiAwarenessContextsEqual");
gWin10.GetDpiForWindow = (GetDpiForWindowProc) GetProcAddress(hUser32, "GetDpiForWindow");
if (gWin10.GetDpiForWindow == NULL)
panic("Unable to get address of GetDpiForWindow");
FreeLibrary(hUser32);
gWin10.Valid = TRUE;
@@ -35,7 +39,7 @@ void win10_init()
if (gWin10.Valid) {
if (!gWin10.AreDpiAwarenessContextsEqual(
gWin10.GetThreadDpiAwarenessContext(),
DPI_AWARENESS_CONTEXT_UNAWARE))
DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2))
panic("Unexpected DpiAwareness state");
}

View File

@@ -2,16 +2,25 @@
/* Copyright (C) 2018 by Bart House */
/* NetHack may be freely redistributed. See license for details. */
typedef DPI_AWARENESS_CONTEXT(WINAPI * GetThreadDpiAwarenessContextProc)(VOID);
typedef BOOL (WINAPI *AreDpiAwarenessContextsEqualProc)(DPI_AWARENESS_CONTEXT dpiContextA, DPI_AWARENESS_CONTEXT dpiContextB);
#ifndef WIN10_H
#define WIN10_H
#include "win32api.h"
typedef DPI_AWARENESS_CONTEXT(WINAPI *GetThreadDpiAwarenessContextProc)(VOID);
typedef BOOL(WINAPI *AreDpiAwarenessContextsEqualProc)(
DPI_AWARENESS_CONTEXT dpiContextA, DPI_AWARENESS_CONTEXT dpiContextB);
typedef UINT(WINAPI *GetDpiForWindowProc)(HWND hwnd);
typedef struct {
BOOL Valid;
GetThreadDpiAwarenessContextProc GetThreadDpiAwarenessContext;
AreDpiAwarenessContextsEqualProc AreDpiAwarenessContextsEqual;
GetDpiForWindowProc GetDpiForWindow;
} Win10;
extern Win10 gWin10;
void win10_init();
#endif // WIN10_H

View File

@@ -7,22 +7,36 @@
* header files & NetHack before including windows.h, so all NetHack
* files should include "win32api.h" rather than <windows.h>.
*/
#ifndef WIN32API
#define WIN32API
#if defined(_MSC_VER)
#undef strcmpi
#undef min
#undef max
#pragma warning(disable : 4142) /* Warning, Benign redefinition of type */
#pragma pack(8)
#if defined(HACK_H)
#error win32api.h must be included before hack.h
#endif
#define WIN32_LEAN_AND_MEAN
#if defined(strcmpi)
#error win32api.h should be included first
#endif
#undef Protection /* We have a global name space collision. No source file
using win32api.h should be using the Protection macro
from youprop.h.
A better fix would be to ensure we include all window
header files before we start clobbering the global name
space with NetHack specific macros. */
#if defined(min)
#error win32api.h should be included first
#endif
#if defined(max)
#error win32api.h should be included first
#endif
#if defined(Protection)
#error win32api.h should be included first
#endif
#pragma warning(disable : 4142) /* Warning, Benign redefinition of type */
#pragma pack(8)
#endif // _MSC_VER
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <commctrl.h>
@@ -31,4 +45,6 @@
#pragma pack()
#endif
#endif // WIN32API
/*win32api.h*/

View File

@@ -11,6 +11,8 @@
*
*/
#include "winos.h"
#define NEED_VARARGS
#include "hack.h"
#include <dos.h>
@@ -18,7 +20,6 @@
#include <direct.h>
#endif
#include <ctype.h>
#include "win32api.h"
#ifdef TTY_GRAPHICS
#include "wintty.h"
#endif
@@ -467,8 +468,8 @@ char *buf;
}
#endif /* RUNTIME_PORT_ID */
/* ntassert_failed is called when an ntassert's condition is false */
void ntassert_failed(const char * exp, const char * file, int line)
/* nhassert_failed is called when an nhassert's condition is false */
void nhassert_failed(const char * exp, const char * file, int line)
{
char message[128];
_snprintf(message, sizeof(message),
@@ -491,6 +492,95 @@ void nethack_enter_winnt()
nethack_enter_nttty();
#endif
}
/* CP437 to Unicode mapping according to the Unicode Consortium */
const WCHAR cp437[256] = {
0x0020, 0x263A, 0x263B, 0x2665, 0x2666, 0x2663, 0x2660, 0x2022,
0x25D8, 0x25CB, 0x25D9, 0x2642, 0x2640, 0x266A, 0x266B, 0x263C,
0x25BA, 0x25C4, 0x2195, 0x203C, 0x00B6, 0x00A7, 0x25AC, 0x21A8,
0x2191, 0x2193, 0x2192, 0x2190, 0x221F, 0x2194, 0x25B2, 0x25BC,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x2302,
0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,
0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,
0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,
0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,
0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,
0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,
0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,
0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,
0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,
0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,
0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,
0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,
0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,
0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,
0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0
};
WCHAR *
winos_ascii_to_wide_str(const unsigned char * src, WCHAR * dst, size_t dstLength)
{
size_t i = 0;
while(i < dstLength - 1 && src[i] != 0)
dst[i++] = cp437[src[i]];
dst[i] = 0;
return dst;
}
WCHAR
winos_ascii_to_wide(const unsigned char c)
{
return cp437[c];
}
BOOL winos_font_support_cp437(HFONT hFont)
{
BOOL allFound = FALSE;
HDC hdc = GetDC(NULL);
HFONT oldFont = SelectObject(hdc, hFont);
DWORD size = GetFontUnicodeRanges(hdc, NULL);
GLYPHSET *glyphSet = (GLYPHSET *) malloc(size);
if (glyphSet != NULL) {
GetFontUnicodeRanges(hdc, glyphSet);
allFound = TRUE;
for (int i = 0; i < 256 && allFound; i++) {
WCHAR wc = cp437[i];
BOOL found = FALSE;
for (DWORD j = 0; j < glyphSet->cRanges && !found; j++) {
WCHAR first = glyphSet->ranges[j].wcLow;
WCHAR last = first + glyphSet->ranges[j].cGlyphs - 1;
if (wc >= first && wc <= last)
found = TRUE;
}
if (!found)
allFound = FALSE;
}
free(glyphSet);
}
SelectObject(hdc, oldFont);
ReleaseDC(NULL, hdc);
return allFound;
}
#endif /* WIN32 */
/*winnt.c*/
/*winnt.c*/

20
sys/winnt/winos.h Normal file
View File

@@ -0,0 +1,20 @@
/* NetHack 3.6 winos.h $NHDT-Date: 1524321419 2018/04/21 14:36:59 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.30 $ */
/* Copyright (c) NetHack PC Development Team 2018 */
/* NetHack may be freely redistributed. See license for details. */
#ifndef WINOS_H
#define WINOS_H
#include "win32api.h"
extern const WCHAR cp437[256];
WCHAR *
winos_ascii_to_wide_str(const unsigned char * src, WCHAR * dst, size_t dstLength);
WCHAR
winos_ascii_to_wide(const unsigned char c);
BOOL winos_font_support_cp437(HFONT hFont);
#endif // WINOS_H

View File

@@ -7,15 +7,16 @@
* level files. Requires that the `checkpoint' option be enabled at the
* time NetHack creates those level files.
*/
#include "config.h"
#if !defined(O_WRONLY) && !defined(LSC) && !defined(AZTEC_C)
#include <fcntl.h>
#endif
#ifdef WIN32
#include <errno.h>
#include "win32api.h"
#endif
#include "config.h"
#if !defined(O_WRONLY) && !defined(LSC) && !defined(AZTEC_C)
#include <fcntl.h>
#endif
#ifdef VMS
extern int FDECL(vms_creat, (const char *, unsigned));
extern int FDECL(vms_open, (const char *, int, unsigned));

View File

@@ -12,12 +12,13 @@
/* #pragma warning(4103:disable) */
#include "hack.h"
#include "tile.h"
#ifndef __GNUC__
#include "win32api.h"
#endif
#include "hack.h"
#include "tile.h"
#include <stdint.h>
#if defined(UINT32_MAX) && defined(INT32_MAX) && defined(UINT16_MAX)
#define UINT8 uint8_t

View File

@@ -4,6 +4,7 @@
/* font management and such */
#include "winos.h"
#include "mhfont.h"
#define MAXFONTS 64
@@ -12,6 +13,7 @@
static struct font_table_entry {
int code;
HFONT hFont;
BOOL supportsUnicode;
} font_table[MAXFONTS];
static int font_table_size = 0;
HFONT version_splash_font;
@@ -50,6 +52,16 @@ mswin_destroy_splashfonts()
DeleteObject(version_splash_font);
}
BOOL
mswin_font_supports_unicode(HFONT hFont)
{
for (int i = 0; i < font_table_size; i++)
if (font_table[i].hFont == hFont)
return font_table[i].supportsUnicode;
return FALSE;
}
/* create font based on window type, charater attributes and
window device context */
HGDIOBJ
@@ -198,6 +210,8 @@ mswin_get_font(int win_type, int attr, HDC hdc, BOOL replace)
font_table[font_index].code = NHFONT_CODE(win_type, attr);
font_table[font_index].hFont = fnt;
font_table[font_index].supportsUnicode = winos_font_support_cp437(fnt);
return fnt;
}

View File

@@ -9,6 +9,7 @@
#include "winMS.h"
BOOL mswin_font_supports_unicode(HFONT hFont);
HGDIOBJ mswin_get_font(int win_type, int attr, HDC hdc, BOOL replace);
void mswin_init_splashfonts(HWND hWnd);
void mswin_destroy_splashfonts(void);

View File

@@ -2,39 +2,52 @@
/* Copyright (C) 2001 by Alex Kompel */
/* NetHack may be freely redistributed. See license for details. */
#include "win10.h"
#include "winMS.h"
#include "resource.h"
#include "winos.h"
#include "mhfont.h"
#include "mhinput.h"
#include "mhmap.h"
#include "mhmsg.h"
#include "mhinput.h"
#include "mhfont.h"
#include "resource.h"
#include "color.h"
#include "patchlevel.h"
//#define NHMAP_FONT_NAME TEXT("Terminal")
#define NHMAP_FONT_NAME TEXT("Terminal")
#define MAXWINDOWTEXT 255
extern short glyph2tile[];
#define TILEBMP_X(ntile) ((ntile % GetNHApp()->mapTilesPerLine) * GetNHApp()->mapTile_X)
#define TILEBMP_Y(ntile) ((ntile / GetNHApp()->mapTilesPerLine) * GetNHApp()->mapTile_Y)
#define TILEBMP_X(ntile) \
((ntile % GetNHApp()->mapTilesPerLine) * GetNHApp()->mapTile_X)
#define TILEBMP_Y(ntile) \
((ntile / GetNHApp()->mapTilesPerLine) * GetNHApp()->mapTile_Y)
/* map window data */
typedef struct mswin_nethack_map_window {
int map[COLNO][ROWNO]; /* glyph map */
int map[COLNO][ROWNO]; /* glyph map */
int bkmap[COLNO][ROWNO]; /* backround glyph map */
int mapMode; /* current map mode */
boolean bAsciiMode; /* switch ASCII/tiled mode */
boolean bFitToScreenMode; /* switch Fit map to screen mode on/off */
int xPos, yPos; /* scroll position */
int xPageSize, yPageSize; /* scroll page size */
int xCur, yCur; /* position of the cursor */
int xScrTile, yScrTile; /* size of display tile */
POINT map_orig; /* map origin point */
int mapMode; /* current map mode */
boolean bAsciiMode; /* switch ASCII/tiled mode */
boolean bFitToScreenMode; /* switch Fit map to screen mode on/off */
int xPos, yPos; /* scroll position */
int xPageSize, yPageSize; /* scroll page size */
int xMin, xMax, yMin, yMax; /* scroll range */
int xCur, yCur; /* position of the cursor */
int xScrTile, yScrTile; /* size of tile on screen in pixels */
POINT map_orig; /* map origin point */
HFONT hMapFont; /* font for ASCII mode */
boolean bUnicodeFont; /* font supports unicode page 437 */
int tileWidth; /* width of tile in pixels at 96 dpi */
int tileHeight; /* height of tile in pixels at 96 dpi */
double scale; /* scale factor */
HFONT hMapFont; /* font for ASCII mode */
} NHMapWindow, *PNHMapWindow;
static TCHAR szNHMapWindowClass[] = TEXT("MSNethackMapWndClass");
@@ -96,88 +109,64 @@ mswin_init_map_window()
}
void
mswin_map_stretch(HWND hWnd, LPSIZE lpsz, BOOL redraw)
mswin_map_stretch(HWND hWnd, LPSIZE map_size, BOOL redraw)
{
PNHMapWindow data;
RECT client_rt;
SCROLLINFO si;
SIZE wnd_size;
LOGFONT lgfnt;
/* check arguments */
if (!IsWindow(hWnd) || !lpsz || lpsz->cx <= 0 || lpsz->cy <= 0)
if (!IsWindow(hWnd) || !map_size || map_size->cx <= 0
|| map_size->cy <= 0)
return;
PNHMapWindow data = (PNHMapWindow) GetWindowLongPtr(hWnd, GWLP_USERDATA);
/* calculate window size */
RECT client_rt;
GetClientRect(hWnd, &client_rt);
SIZE wnd_size;
wnd_size.cx = client_rt.right - client_rt.left;
wnd_size.cy = client_rt.bottom - client_rt.top;
if (wnd_size.cx > 0 && wnd_size.cy > 0 && data->bFitToScreenMode) {
double windowAspectRatio =
(double) wnd_size.cx / (double) wnd_size.cy;
UINT mapWidth = COLNO * data->tileWidth;
UINT mapHeight = ROWNO * data->tileHeight;
double mapAspectRatio = (double) mapWidth / (double) mapHeight;
if (windowAspectRatio > mapAspectRatio)
data->scale = (double) wnd_size.cy / (double) mapHeight;
else
data->scale = (double) wnd_size.cx / (double) mapWidth;
} else {
// Auto size window
UINT windowDpi = 96;
if (gWin10.Valid) {
windowDpi = gWin10.GetDpiForWindow(hWnd);
if (windowDpi == 0)
windowDpi = 96;
}
windowDpi = max(96, windowDpi);
data->scale = (double) windowDpi / 96.0;
}
/* set new screen tile size */
data = (PNHMapWindow) GetWindowLongPtr(hWnd, GWLP_USERDATA);
data->xScrTile =
max(1, (data->bFitToScreenMode ? wnd_size.cx : lpsz->cx) / COLNO);
data->yScrTile =
max(1, (data->bFitToScreenMode ? wnd_size.cy : lpsz->cy) / ROWNO);
data->xScrTile = (int) (data->tileWidth * data->scale);
data->yScrTile = (int) (data->tileHeight * data->scale);
/* set map origin point */
data->map_orig.x =
max(0, client_rt.left + (wnd_size.cx - data->xScrTile * COLNO) / 2);
data->map_orig.y =
max(0, client_rt.top + (wnd_size.cy - data->yScrTile * ROWNO) / 2);
data->map_orig.x -= data->map_orig.x % data->xScrTile;
data->map_orig.y -= data->map_orig.y % data->yScrTile;
/* adjust horizontal scroll bar */
if (data->bFitToScreenMode)
data->xPageSize = COLNO + 1; /* disable scroll bar */
else
data->xPageSize = wnd_size.cx / data->xScrTile;
if (data->xPageSize >= COLNO) {
data->xPos = 0;
GetNHApp()->bNoHScroll = TRUE;
} else {
GetNHApp()->bNoHScroll = FALSE;
data->xPos = max(
0, min(COLNO - data->xPageSize + 1, u.ux - data->xPageSize / 2));
}
si.cbSize = sizeof(si);
si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
si.nMin = 0;
si.nMax = COLNO;
si.nPage = data->xPageSize;
si.nPos = data->xPos;
SetScrollInfo(hWnd, SB_HORZ, &si, TRUE);
/* adjust vertical scroll bar */
if (data->bFitToScreenMode)
data->yPageSize = ROWNO + 1; /* disable scroll bar */
else
data->yPageSize = wnd_size.cy / data->yScrTile;
if (data->yPageSize >= ROWNO) {
data->yPos = 0;
GetNHApp()->bNoVScroll = TRUE;
} else {
GetNHApp()->bNoVScroll = FALSE;
data->yPos = max(
0, min(ROWNO - data->yPageSize + 1, u.uy - data->yPageSize / 2));
}
si.cbSize = sizeof(si);
si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
si.nMin = 0;
si.nMax = ROWNO;
si.nPage = data->yPageSize;
si.nPos = data->yPos;
SetScrollInfo(hWnd, SB_VERT, &si, TRUE);
data->xScrTile = max(1, data->xScrTile);
data->yScrTile = max(1, data->yScrTile);
/* create font */
if (data->hMapFont)
DeleteObject(data->hMapFont);
LOGFONT lgfnt;
ZeroMemory(&lgfnt, sizeof(lgfnt));
lgfnt.lfHeight = -data->yScrTile; // height of font
lgfnt.lfWidth = -data->xScrTile; // average character width
@@ -190,7 +179,7 @@ mswin_map_stretch(HWND hWnd, LPSIZE lpsz, BOOL redraw)
lgfnt.lfCharSet = mswin_charset(); // character set identifier
lgfnt.lfOutPrecision = OUT_DEFAULT_PRECIS; // output precision
lgfnt.lfClipPrecision = CLIP_DEFAULT_PRECIS; // clipping precision
lgfnt.lfQuality = DEFAULT_QUALITY; // output quality
lgfnt.lfQuality = NONANTIALIASED_QUALITY; // output quality
if (iflags.wc_font_map && *iflags.wc_font_map) {
lgfnt.lfPitchAndFamily = DEFAULT_PITCH; // pitch and family
NH_A2W(iflags.wc_font_map, lgfnt.lfFaceName, LF_FACESIZE);
@@ -198,7 +187,86 @@ mswin_map_stretch(HWND hWnd, LPSIZE lpsz, BOOL redraw)
lgfnt.lfPitchAndFamily = FIXED_PITCH; // pitch and family
NH_A2W(NHMAP_FONT_NAME, lgfnt.lfFaceName, LF_FACESIZE);
}
data->hMapFont = CreateFontIndirect(&lgfnt);
TEXTMETRIC textMetrics;
while (1) {
data->hMapFont = CreateFontIndirect(&lgfnt);
HDC hdc = GetDC(NULL);
HFONT savedFont = SelectObject(hdc, data->hMapFont);
GetTextMetrics(hdc, &textMetrics);
SelectObject(hdc, savedFont);
ReleaseDC(NULL, hdc);
if (textMetrics.tmHeight > data->yScrTile) {
lgfnt.lfHeight++;
continue;
}
if (textMetrics.tmAveCharWidth > data->xScrTile) {
lgfnt.lfWidth++;
continue;
}
break;
}
data->bUnicodeFont = winos_font_support_cp437(data->hMapFont);
// set tile size to match font metrics
if (data->bAsciiMode) {
data->xScrTile = textMetrics.tmAveCharWidth;
data->yScrTile = textMetrics.tmHeight;
}
/* set map origin point */
data->map_orig.x =
max(0, client_rt.left + (wnd_size.cx - data->xScrTile * COLNO) / 2);
data->map_orig.y =
max(0, client_rt.top + (wnd_size.cy - data->yScrTile * ROWNO) / 2);
data->map_orig.x -= data->map_orig.x % data->xScrTile;
data->map_orig.y -= data->map_orig.y % data->yScrTile;
// Set horizontal scroll
data->xPageSize = min(COLNO, wnd_size.cx / data->xScrTile);
GetNHApp()->bNoHScroll = (data->xPageSize == COLNO);
data->xMin = 0;
data->xMax = COLNO - data->xPageSize;
data->xPos = max(0, min(data->xMax, u.ux - (data->xPageSize / 2)));
SCROLLINFO si;
si.cbSize = sizeof(si);
si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
si.nMin = data->xMin;
si.nMax = data->xMax;
si.nPage = 1;
si.nPos = data->xPos;
SetScrollInfo(hWnd, SB_HORZ, &si, TRUE);
data->yPageSize = min(ROWNO, wnd_size.cy / data->yScrTile);
GetNHApp()->bNoVScroll = (data->yPageSize == ROWNO);
data->yMin = 0;
data->yMax = ROWNO - data->yPageSize;
data->yPos = max(0, min(data->yMax, u.uy - (data->yPageSize / 2)));
si.cbSize = sizeof(si);
si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS;
si.nMin = data->yMin;
si.nMax = data->yMax;
si.nPage = 1;
si.nPos = data->yPos;
SetScrollInfo(hWnd, SB_VERT, &si, TRUE);
mswin_cliparound(data->xCur, data->yCur);
@@ -225,95 +293,92 @@ mswin_map_mode(HWND hWnd, int mode)
case MAP_MODE_ASCII4x6:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 4 * COLNO;
mapSize.cy = 6 * ROWNO;
data->tileWidth = 4;
data->tileHeight = 6;
break;
case MAP_MODE_ASCII6x8:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 6 * COLNO;
mapSize.cy = 8 * ROWNO;
data->tileWidth = 6;
data->tileHeight = 8;
break;
case MAP_MODE_ASCII8x8:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 8 * COLNO;
mapSize.cy = 8 * ROWNO;
data->tileWidth = 8;
data->tileHeight = 8;
break;
case MAP_MODE_ASCII16x8:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 16 * COLNO;
mapSize.cy = 8 * ROWNO;
data->tileWidth = 16;
data->tileHeight = 8;
break;
case MAP_MODE_ASCII7x12:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 7 * COLNO;
mapSize.cy = 12 * ROWNO;
data->tileWidth = 7;
data->tileHeight = 12;
break;
case MAP_MODE_ASCII8x12:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 8 * COLNO;
mapSize.cy = 12 * ROWNO;
data->tileWidth = 8;
data->tileHeight = 12;
break;
case MAP_MODE_ASCII16x12:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 16 * COLNO;
mapSize.cy = 12 * ROWNO;
data->tileWidth = 16;
data->tileHeight = 12;
break;
case MAP_MODE_ASCII12x16:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 12 * COLNO;
mapSize.cy = 16 * ROWNO;
data->tileWidth = 12;
data->tileHeight = 16;
break;
case MAP_MODE_ASCII10x18:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = FALSE;
mapSize.cx = 10 * COLNO;
mapSize.cy = 18 * ROWNO;
data->tileWidth = 10;
data->tileHeight = 18;
break;
case MAP_MODE_ASCII_FIT_TO_SCREEN: {
RECT client_rt;
GetClientRect(hWnd, &client_rt);
mapSize.cx = client_rt.right - client_rt.left;
mapSize.cy = client_rt.bottom - client_rt.top;
case MAP_MODE_ASCII_FIT_TO_SCREEN:
data->bAsciiMode = TRUE;
data->bFitToScreenMode = TRUE;
} break;
case MAP_MODE_TILES_FIT_TO_SCREEN: {
RECT client_rt;
GetClientRect(hWnd, &client_rt);
mapSize.cx = client_rt.right - client_rt.left;
mapSize.cy = client_rt.bottom - client_rt.top;
data->tileWidth = 12;
data->tileHeight = 16;
break;
case MAP_MODE_TILES_FIT_TO_SCREEN:
data->bAsciiMode = FALSE;
data->bFitToScreenMode = TRUE;
} break;
data->tileWidth = GetNHApp()->mapTile_X;
data->tileHeight = GetNHApp()->mapTile_Y;
break;
case MAP_MODE_TILES:
default:
data->bAsciiMode = FALSE;
data->bFitToScreenMode = FALSE;
mapSize.cx = GetNHApp()->mapTile_X * COLNO;
mapSize.cy = GetNHApp()->mapTile_Y * ROWNO;
data->tileWidth = GetNHApp()->mapTile_X;
data->tileHeight = GetNHApp()->mapTile_Y;
break;
}
mapSize.cx = data->tileWidth * COLNO;
mapSize.cy = data->tileHeight * ROWNO;
mswin_map_stretch(hWnd, &mapSize, TRUE);
mswin_update_inventory(); /* for perm_invent to hide/show tiles */
@@ -460,13 +525,13 @@ onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
data->map[msg_data->x][msg_data->y] = msg_data->glyph;
data->bkmap[msg_data->x][msg_data->y] = msg_data->bkglyph;
/* invalidate the update area. Erase backround if there
/* invalidate the update area. Erase backround if there
is nothing to paint or we are in text mode */
nhcoord2display(data, msg_data->x, msg_data->y, &rt);
InvalidateRect(hWnd, &rt,
(((msg_data->glyph == NO_GLYPH) && (msg_data->bkglyph == NO_GLYPH))
|| data->bAsciiMode
|| Is_rogue_level(&u.uz)));
InvalidateRect(hWnd, &rt,
(((msg_data->glyph == NO_GLYPH)
&& (msg_data->bkglyph == NO_GLYPH))
|| data->bAsciiMode || Is_rogue_level(&u.uz)));
}
} break;
@@ -612,6 +677,8 @@ onCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
data->xScrTile = GetNHApp()->mapTile_X;
data->yScrTile = GetNHApp()->mapTile_Y;
data->tileWidth = GetNHApp()->mapTile_X;
data->tileHeight = GetNHApp()->mapTile_Y;
SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR) data);
}
@@ -664,7 +731,7 @@ onPaint(HWND hWnd)
for (j = paint_rt.top; j < paint_rt.bottom; j++)
if (data->map[i][j] >= 0) {
char ch;
TCHAR wch;
WCHAR wch;
RECT glyph_rect;
int color;
unsigned special;
@@ -703,9 +770,17 @@ onPaint(HWND hWnd)
OldFg = SetTextColor(hDC, nhcolor_to_RGB(color));
}
#endif
if (data->bUnicodeFont) {
wch = winos_ascii_to_wide(ch);
DrawTextW(hDC, &wch, 1, &glyph_rect,
DT_CENTER | DT_VCENTER | DT_NOPREFIX
| DT_SINGLELINE);
} else {
DrawTextA(hDC, &ch, 1, &glyph_rect,
DT_CENTER | DT_VCENTER | DT_NOPREFIX
| DT_SINGLELINE);
}
DrawText(hDC, NH_A2W(&ch, &wch, 1), 1, &glyph_rect,
DT_CENTER | DT_VCENTER | DT_NOPREFIX);
SetTextColor(hDC, OldFg);
}
SelectObject(hDC, oldFont);
@@ -741,7 +816,7 @@ onPaint(HWND hWnd)
data->xScrTile, data->yScrTile, tileDC,
t_x, t_y, GetNHApp()->mapTile_X,
GetNHApp()->mapTile_Y, SRCCOPY);
layer ++;
layer++;
}
if ((glyph != NO_GLYPH) && (glyph != bkglyph)) {
@@ -753,8 +828,8 @@ onPaint(HWND hWnd)
if (layer > 0) {
(*GetNHApp()->lpfnTransparentBlt)(
hDC, glyph_rect.left, glyph_rect.top,
data->xScrTile, data->yScrTile, tileDC,
t_x, t_y, GetNHApp()->mapTile_X,
data->xScrTile, data->yScrTile, tileDC, t_x,
t_y, GetNHApp()->mapTile_X,
GetNHApp()->mapTile_Y, TILE_BK_COLOR);
} else {
StretchBlt(hDC, glyph_rect.left, glyph_rect.top,
@@ -763,18 +838,18 @@ onPaint(HWND hWnd)
GetNHApp()->mapTile_Y, SRCCOPY);
}
layer ++;
}
layer++;
}
#ifdef USE_PILEMARK
/* rely on NetHack core helper routine */
(void) mapglyph(data->map[i][j], &mgch, &color,
&special, i, j);
if ((glyph != NO_GLYPH) && (special & MG_PET)
/* rely on NetHack core helper routine */
(void) mapglyph(data->map[i][j], &mgch, &color, &special,
i, j);
if ((glyph != NO_GLYPH) && (special & MG_PET)
#else
if ((glyph != NO_GLYPH) && glyph_is_pet(glyph)
if ((glyph != NO_GLYPH) && glyph_is_pet(glyph)
#endif
&& iflags.wc_hilite_pet) {
&& iflags.wc_hilite_pet) {
/* apply pet mark transparently over
pet image */
HDC hdcPetMark;
@@ -782,35 +857,35 @@ onPaint(HWND hWnd)
/* this is DC for petmark bitmap */
hdcPetMark = CreateCompatibleDC(hDC);
bmPetMarkOld = SelectObject(
hdcPetMark, GetNHApp()->bmpPetMark);
bmPetMarkOld =
SelectObject(hdcPetMark, GetNHApp()->bmpPetMark);
(*GetNHApp()->lpfnTransparentBlt)(
hDC, glyph_rect.left, glyph_rect.top,
data->xScrTile, data->yScrTile, hdcPetMark, 0,
0, TILE_X, TILE_Y, TILE_BK_COLOR);
data->xScrTile, data->yScrTile, hdcPetMark, 0, 0,
TILE_X, TILE_Y, TILE_BK_COLOR);
SelectObject(hdcPetMark, bmPetMarkOld);
DeleteDC(hdcPetMark);
}
#ifdef USE_PILEMARK
if ((glyph != NO_GLYPH)
&& (special & MG_OBJPILE) && iflags.hilite_pile) {
if ((glyph != NO_GLYPH) && (special & MG_OBJPILE)
&& iflags.hilite_pile) {
/* apply pilemark transparently over other image */
HDC hdcPileMark;
HBITMAP bmPileMarkOld;
/* this is DC for pilemark bitmap */
hdcPileMark = CreateCompatibleDC(hDC);
bmPileMarkOld = SelectObject(
hdcPileMark, GetNHApp()->bmpPileMark);
bmPileMarkOld = SelectObject(hdcPileMark,
GetNHApp()->bmpPileMark);
(*GetNHApp()->lpfnTransparentBlt)(
hDC, glyph_rect.left, glyph_rect.top,
data->xScrTile, data->yScrTile, hdcPileMark, 0,
0, TILE_X, TILE_Y, TILE_BK_COLOR);
data->xScrTile, data->yScrTile, hdcPileMark, 0, 0,
TILE_X, TILE_Y, TILE_BK_COLOR);
SelectObject(hdcPileMark, bmPileMarkOld);
DeleteDC(hdcPileMark);
}
DeleteDC(hdcPileMark);
}
#endif
}
@@ -875,7 +950,7 @@ onMSNH_VScroll(HWND hWnd, WPARAM wParam, LPARAM lParam)
yNewPos = data->yPos;
}
yNewPos = max(0, min(ROWNO - data->yPageSize + 1, yNewPos));
yNewPos = max(0, min(data->yMax, yNewPos));
if (yNewPos == data->yPos)
return;
@@ -936,7 +1011,7 @@ onMSNH_HScroll(HWND hWnd, WPARAM wParam, LPARAM lParam)
xNewPos = data->xPos;
}
xNewPos = max(0, min(COLNO - data->xPageSize + 1, xNewPos));
xNewPos = max(0, min(data->xMax, xNewPos));
if (xNewPos == data->xPos)
return;
@@ -1030,4 +1105,3 @@ nhcolor_to_RGB(int c)
return GetNHApp()->regMapColors[c];
return RGB(0x00, 0x00, 0x00);
}

View File

@@ -561,7 +561,7 @@ onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
saveFont =
SelectObject(hdc, mswin_get_font(NHW_MENU, ATR_NONE, hdc, FALSE));
SetRect(&text_rt, 0, 0, 0, 0);
DrawText(hdc, msg_data->text, strlen(msg_data->text), &text_rt,
DrawTextA(hdc, msg_data->text, strlen(msg_data->text), &text_rt,
DT_CALCRECT | DT_TOP | DT_LEFT | DT_NOPREFIX
| DT_SINGLELINE);
data->text.text_box_size.cx =

View File

@@ -3,6 +3,7 @@
/* NetHack may be freely redistributed. See license for details. */
#include <assert.h>
#include "winos.h"
#include "winMS.h"
#include "mhstatus.h"
#include "mhmsg.h"
@@ -278,7 +279,7 @@ onWMPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
int **fop;
SIZE sz;
HGDIOBJ normalFont, boldFont;
TCHAR wbuf[BUFSZ];
WCHAR wbuf[BUFSZ];
RECT rt;
PAINTSTRUCT ps;
HDC hdc;
@@ -335,7 +336,8 @@ onWMPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
clr = data->colors[*f] & 0x00ff;
atr = (data->colors[*f] & 0xff00) >> 8;
vlen = strlen(data->vals[*f]);
NH_A2W(data->vals[*f], wbuf, SIZE(wbuf));
const char *str = data->vals[*f];
if (atr & HL_BOLD)
fntatr = ATR_BOLD;
@@ -347,7 +349,13 @@ onWMPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
fntatr = ATR_BLINK;
else if (atr & HL_DIM)
fntatr = ATR_DIM;
fnt = mswin_get_font(NHW_STATUS, fntatr, hdc, FALSE);
BOOL useUnicode = mswin_font_supports_unicode(fnt);
winos_ascii_to_wide_str(str, wbuf, SIZE(wbuf));
nFg = (clr == NO_COLOR ? status_fg_color
: ((clr >= 0 && clr < CLR_MAX) ? nhcolor_to_RGB(clr)
: status_fg_color));
@@ -365,11 +373,19 @@ onWMPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
/* SetTextColor(hdc, nhcolor_to_RGB(hpbar_color)); */
SetTextColor(hdc, status_fg_color);
/* get bounding rectangle */
GetTextExtentPoint32(hdc, wbuf, vlen, &sz);
if (useUnicode) {
/* get bounding rectangle */
GetTextExtentPoint32W(hdc, wbuf, vlen, &sz);
/* first draw title normally */
DrawText(hdc, wbuf, vlen, &rt, DT_LEFT);
/* first draw title normally */
DrawTextW(hdc, wbuf, vlen, &rt, DT_LEFT);
} else {
/* get bounding rectangle */
GetTextExtentPoint32A(hdc, str, vlen, &sz);
/* first draw title normally */
DrawTextA(hdc, str, vlen, &rt, DT_LEFT);
}
if (hpbar_percent > 0) {
/* calc bar length */
@@ -385,7 +401,11 @@ onWMPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
FillRect(hdc, &barrect, back_brush);
SetBkMode(hdc, TRANSPARENT);
SetTextColor(hdc, nBg);
DrawText(hdc, wbuf, vlen, &barrect, DT_LEFT);
if (useUnicode)
DrawTextW(hdc, wbuf, vlen, &barrect, DT_LEFT);
else
DrawTextA(hdc, str, vlen, &barrect, DT_LEFT);
}
DeleteObject(back_brush);
} else {
@@ -401,11 +421,19 @@ onWMPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
SetBkColor(hdc, nBg);
SetTextColor(hdc, nFg);
/* get bounding rectangle */
GetTextExtentPoint32(hdc, wbuf, vlen, &sz);
if (useUnicode) {
/* get bounding rectangle */
GetTextExtentPoint32W(hdc, wbuf, vlen, &sz);
/* draw */
DrawText(hdc, wbuf, vlen, &rt, DT_LEFT);
/* draw */
DrawTextW(hdc, wbuf, vlen, &rt, DT_LEFT);
} else {
/* get bounding rectangle */
GetTextExtentPoint32A(hdc, str, vlen, &sz);
/* draw */
DrawTextA(hdc, str, vlen, &rt, DT_LEFT);
}
}
assert(sz.cy >= 0);

View File

@@ -1,197 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetHackW", "NetHackW.vcxproj", "{CEC5D360-8804-454F-8591-002184C23499}"
ProjectSection(ProjectDependencies) = postProject
{93F10526-209E-41D7-BBEA-775787876895} = {93F10526-209E-41D7-BBEA-775787876895}
{63F9B82B-F589-4082-ABE5-D4F0682050AB} = {63F9B82B-F589-4082-ABE5-D4F0682050AB}
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA} = {9DD9C52E-E8C9-4533-BD22-83C055C0AABA}
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
{642BC75D-ABAF-403E-8224-7C725FD4CB42} = {642BC75D-ABAF-403E-8224-7C725FD4CB42}
{6813477F-64B6-4B97-B230-438D0D233385} = {6813477F-64B6-4B97-B230-438D0D233385}
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC} = {0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}
{8A3F81C7-2968-49A8-86BF-2669412AD7DE} = {8A3F81C7-2968-49A8-86BF-2669412AD7DE}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dgncomp", "dgncomp.vcxproj", "{8A3F81C7-2968-49A8-86BF-2669412AD7DE}"
ProjectSection(ProjectDependencies) = postProject
{642BC75D-ABAF-403E-8224-7C725FD4CB42} = {642BC75D-ABAF-403E-8224-7C725FD4CB42}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dlb", "dlb.vcxproj", "{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}"
ProjectSection(ProjectDependencies) = postProject
{63F9B82B-F589-4082-ABE5-D4F0682050AB} = {63F9B82B-F589-4082-ABE5-D4F0682050AB}
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA} = {9DD9C52E-E8C9-4533-BD22-83C055C0AABA}
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
{8A3F81C7-2968-49A8-86BF-2669412AD7DE} = {8A3F81C7-2968-49A8-86BF-2669412AD7DE}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "levcomp", "levcomp.vcxproj", "{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}"
ProjectSection(ProjectDependencies) = postProject
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "makedefs", "makedefs.vcxproj", "{BA3DD34C-04B7-40D0-B373-9329AA9E8945}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "recover", "recover.vcxproj", "{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tile2bmp", "tile2bmp.vcxproj", "{642BC75D-ABAF-403E-8224-7C725FD4CB42}"
ProjectSection(ProjectDependencies) = postProject
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA} = {9DD9C52E-E8C9-4533-BD22-83C055C0AABA}
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tilemap", "tilemap.vcxproj", "{93F10526-209E-41D7-BBEA-775787876895}"
ProjectSection(ProjectDependencies) = postProject
{8A3F81C7-2968-49A8-86BF-2669412AD7DE} = {8A3F81C7-2968-49A8-86BF-2669412AD7DE}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uudecode", "uudecode.vcxproj", "{63F9B82B-F589-4082-ABE5-D4F0682050AB}"
ProjectSection(ProjectDependencies) = postProject
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetHack", "NetHack.vcxproj", "{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}"
ProjectSection(ProjectDependencies) = postProject
{63F9B82B-F589-4082-ABE5-D4F0682050AB} = {63F9B82B-F589-4082-ABE5-D4F0682050AB}
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA} = {9DD9C52E-E8C9-4533-BD22-83C055C0AABA}
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
{6813477F-64B6-4B97-B230-438D0D233385} = {6813477F-64B6-4B97-B230-438D0D233385}
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC} = {0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}
{8A3F81C7-2968-49A8-86BF-2669412AD7DE} = {8A3F81C7-2968-49A8-86BF-2669412AD7DE}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nhdefkey", "nhdefkey.vcxproj", "{6813477F-64B6-4B97-B230-438D0D233385}"
ProjectSection(ProjectDependencies) = postProject
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nh340key", "nh340key.vcxproj", "{BE04E242-A1E9-4593-B95B-057F37330B76}"
ProjectSection(ProjectDependencies) = postProject
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nhraykey", "nhraykey.vcxproj", "{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}"
ProjectSection(ProjectDependencies) = postProject
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CEC5D360-8804-454F-8591-002184C23499}.Debug|Win32.ActiveCfg = Debug|Win32
{CEC5D360-8804-454F-8591-002184C23499}.Debug|Win32.Build.0 = Debug|Win32
{CEC5D360-8804-454F-8591-002184C23499}.Debug|x64.ActiveCfg = Debug|x64
{CEC5D360-8804-454F-8591-002184C23499}.Debug|x64.Build.0 = Debug|x64
{CEC5D360-8804-454F-8591-002184C23499}.Release|Win32.ActiveCfg = Release|Win32
{CEC5D360-8804-454F-8591-002184C23499}.Release|Win32.Build.0 = Release|Win32
{CEC5D360-8804-454F-8591-002184C23499}.Release|x64.ActiveCfg = Release|x64
{CEC5D360-8804-454F-8591-002184C23499}.Release|x64.Build.0 = Release|x64
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Debug|Win32.ActiveCfg = Debug|Win32
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Debug|Win32.Build.0 = Debug|Win32
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Debug|x64.ActiveCfg = Debug|x64
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Debug|x64.Build.0 = Debug|x64
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Release|Win32.ActiveCfg = Release|Win32
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Release|Win32.Build.0 = Release|Win32
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Release|x64.ActiveCfg = Release|x64
{8A3F81C7-2968-49A8-86BF-2669412AD7DE}.Release|x64.Build.0 = Release|x64
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Debug|Win32.ActiveCfg = Debug|Win32
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Debug|Win32.Build.0 = Debug|Win32
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Debug|x64.ActiveCfg = Debug|x64
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Debug|x64.Build.0 = Debug|x64
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Release|Win32.ActiveCfg = Release|Win32
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Release|Win32.Build.0 = Release|Win32
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Release|x64.ActiveCfg = Release|x64
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}.Release|x64.Build.0 = Release|x64
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Debug|Win32.ActiveCfg = Debug|Win32
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Debug|Win32.Build.0 = Debug|Win32
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Debug|x64.ActiveCfg = Debug|x64
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Debug|x64.Build.0 = Debug|x64
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Release|Win32.ActiveCfg = Release|Win32
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Release|Win32.Build.0 = Release|Win32
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Release|x64.ActiveCfg = Release|x64
{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}.Release|x64.Build.0 = Release|x64
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Debug|Win32.ActiveCfg = Debug|Win32
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Debug|Win32.Build.0 = Debug|Win32
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Debug|x64.ActiveCfg = Debug|x64
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Debug|x64.Build.0 = Debug|x64
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Release|Win32.ActiveCfg = Release|Win32
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Release|Win32.Build.0 = Release|Win32
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Release|x64.ActiveCfg = Release|x64
{BA3DD34C-04B7-40D0-B373-9329AA9E8945}.Release|x64.Build.0 = Release|x64
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Debug|Win32.ActiveCfg = Debug|Win32
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Debug|Win32.Build.0 = Debug|Win32
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Debug|x64.ActiveCfg = Debug|x64
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Debug|x64.Build.0 = Debug|x64
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Release|Win32.ActiveCfg = Release|Win32
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Release|Win32.Build.0 = Release|Win32
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Release|x64.ActiveCfg = Release|x64
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}.Release|x64.Build.0 = Release|x64
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Debug|Win32.ActiveCfg = Debug|Win32
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Debug|Win32.Build.0 = Debug|Win32
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Debug|x64.ActiveCfg = Debug|x64
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Debug|x64.Build.0 = Debug|x64
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Release|Win32.ActiveCfg = Release|Win32
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Release|Win32.Build.0 = Release|Win32
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Release|x64.ActiveCfg = Release|x64
{642BC75D-ABAF-403E-8224-7C725FD4CB42}.Release|x64.Build.0 = Release|x64
{93F10526-209E-41D7-BBEA-775787876895}.Debug|Win32.ActiveCfg = Debug|Win32
{93F10526-209E-41D7-BBEA-775787876895}.Debug|Win32.Build.0 = Debug|Win32
{93F10526-209E-41D7-BBEA-775787876895}.Debug|x64.ActiveCfg = Debug|x64
{93F10526-209E-41D7-BBEA-775787876895}.Debug|x64.Build.0 = Debug|x64
{93F10526-209E-41D7-BBEA-775787876895}.Release|Win32.ActiveCfg = Release|Win32
{93F10526-209E-41D7-BBEA-775787876895}.Release|Win32.Build.0 = Release|Win32
{93F10526-209E-41D7-BBEA-775787876895}.Release|x64.ActiveCfg = Release|x64
{93F10526-209E-41D7-BBEA-775787876895}.Release|x64.Build.0 = Release|x64
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Debug|Win32.ActiveCfg = Debug|Win32
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Debug|Win32.Build.0 = Debug|Win32
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Debug|x64.ActiveCfg = Debug|x64
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Debug|x64.Build.0 = Debug|x64
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Release|Win32.ActiveCfg = Release|Win32
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Release|Win32.Build.0 = Release|Win32
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Release|x64.ActiveCfg = Release|x64
{63F9B82B-F589-4082-ABE5-D4F0682050AB}.Release|x64.Build.0 = Release|x64
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Debug|Win32.ActiveCfg = Debug|Win32
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Debug|Win32.Build.0 = Debug|Win32
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Debug|x64.ActiveCfg = Debug|x64
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Debug|x64.Build.0 = Debug|x64
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Release|Win32.ActiveCfg = Release|Win32
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Release|Win32.Build.0 = Release|Win32
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Release|x64.ActiveCfg = Release|x64
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}.Release|x64.Build.0 = Release|x64
{6813477F-64B6-4B97-B230-438D0D233385}.Debug|Win32.ActiveCfg = Debug|Win32
{6813477F-64B6-4B97-B230-438D0D233385}.Debug|Win32.Build.0 = Debug|Win32
{6813477F-64B6-4B97-B230-438D0D233385}.Debug|x64.ActiveCfg = Debug|x64
{6813477F-64B6-4B97-B230-438D0D233385}.Debug|x64.Build.0 = Debug|x64
{6813477F-64B6-4B97-B230-438D0D233385}.Release|Win32.ActiveCfg = Release|Win32
{6813477F-64B6-4B97-B230-438D0D233385}.Release|Win32.Build.0 = Release|Win32
{6813477F-64B6-4B97-B230-438D0D233385}.Release|x64.ActiveCfg = Release|x64
{6813477F-64B6-4B97-B230-438D0D233385}.Release|x64.Build.0 = Release|x64
{BE04E242-A1E9-4593-B95B-057F37330B76}.Debug|Win32.ActiveCfg = Debug|Win32
{BE04E242-A1E9-4593-B95B-057F37330B76}.Debug|Win32.Build.0 = Debug|Win32
{BE04E242-A1E9-4593-B95B-057F37330B76}.Debug|x64.ActiveCfg = Debug|x64
{BE04E242-A1E9-4593-B95B-057F37330B76}.Debug|x64.Build.0 = Debug|x64
{BE04E242-A1E9-4593-B95B-057F37330B76}.Release|Win32.ActiveCfg = Release|Win32
{BE04E242-A1E9-4593-B95B-057F37330B76}.Release|Win32.Build.0 = Release|Win32
{BE04E242-A1E9-4593-B95B-057F37330B76}.Release|x64.ActiveCfg = Release|x64
{BE04E242-A1E9-4593-B95B-057F37330B76}.Release|x64.Build.0 = Release|x64
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Debug|Win32.ActiveCfg = Debug|Win32
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Debug|Win32.Build.0 = Debug|Win32
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Debug|x64.ActiveCfg = Debug|x64
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Debug|x64.Build.0 = Debug|x64
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Release|Win32.ActiveCfg = Release|Win32
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Release|Win32.Build.0 = Release|Win32
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Release|x64.ActiveCfg = Release|x64
{2E1F4BB3-3BD7-43AD-8E64-D3B8A2F5D7B2}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,232 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>NetHack</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<PropertyGroup>
<OutDir>$(BinDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>/Gs /Oi- %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>$(WinWin32Dir);$(IncDir);$(SysWinntDir);$(SysShareDir);$(WinShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>TILES;WIN32CON;DLB;MSWIN_GRAPHICS;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)allmain.c" />
<ClCompile Include="$(SrcDir)alloc.c" />
<ClCompile Include="$(SrcDir)apply.c" />
<ClCompile Include="$(SrcDir)artifact.c" />
<ClCompile Include="$(SrcDir)attrib.c" />
<ClCompile Include="$(SrcDir)ball.c" />
<ClCompile Include="$(SrcDir)bones.c" />
<ClCompile Include="$(SrcDir)botl.c" />
<ClCompile Include="$(SrcDir)cmd.c" />
<ClCompile Include="$(SrcDir)dbridge.c" />
<ClCompile Include="$(SrcDir)decl.c" />
<ClCompile Include="$(SrcDir)detect.c" />
<ClCompile Include="$(SrcDir)dig.c" />
<ClCompile Include="$(SrcDir)display.c" />
<ClCompile Include="$(SrcDir)dlb.c" />
<ClCompile Include="$(SrcDir)do.c" />
<ClCompile Include="$(SrcDir)dog.c" />
<ClCompile Include="$(SrcDir)dogmove.c" />
<ClCompile Include="$(SrcDir)dokick.c" />
<ClCompile Include="$(SrcDir)dothrow.c" />
<ClCompile Include="$(SrcDir)do_name.c" />
<ClCompile Include="$(SrcDir)do_wear.c" />
<ClCompile Include="$(SrcDir)drawing.c" />
<ClCompile Include="$(SrcDir)dungeon.c" />
<ClCompile Include="$(SrcDir)eat.c" />
<ClCompile Include="$(SrcDir)end.c" />
<ClCompile Include="$(SrcDir)engrave.c" />
<ClCompile Include="$(SrcDir)exper.c" />
<ClCompile Include="$(SrcDir)explode.c" />
<ClCompile Include="$(SrcDir)extralev.c" />
<ClCompile Include="$(SrcDir)files.c" />
<ClCompile Include="$(SrcDir)fountain.c" />
<ClCompile Include="$(SrcDir)hack.c" />
<ClCompile Include="$(SrcDir)hacklib.c" />
<ClCompile Include="$(SrcDir)invent.c" />
<ClCompile Include="$(SrcDir)light.c" />
<ClCompile Include="$(SrcDir)lock.c" />
<ClCompile Include="$(SrcDir)mail.c" />
<ClCompile Include="$(SrcDir)makemon.c" />
<ClCompile Include="$(SrcDir)mapglyph.c" />
<ClCompile Include="$(SrcDir)mcastu.c" />
<ClCompile Include="$(SrcDir)mhitm.c" />
<ClCompile Include="$(SrcDir)mhitu.c" />
<ClCompile Include="$(SrcDir)minion.c" />
<ClCompile Include="$(SrcDir)mklev.c" />
<ClCompile Include="$(SrcDir)mkmap.c" />
<ClCompile Include="$(SrcDir)mkmaze.c" />
<ClCompile Include="$(SrcDir)mkobj.c" />
<ClCompile Include="$(SrcDir)mkroom.c" />
<ClCompile Include="$(SrcDir)mon.c" />
<ClCompile Include="$(SrcDir)mondata.c" />
<ClCompile Include="$(SrcDir)monmove.c" />
<ClCompile Include="$(SrcDir)monst.c" />
<ClCompile Include="$(SrcDir)mplayer.c" />
<ClCompile Include="$(SrcDir)mthrowu.c" />
<ClCompile Include="$(SrcDir)muse.c" />
<ClCompile Include="$(SrcDir)music.c" />
<ClCompile Include="$(SrcDir)objects.c" />
<ClCompile Include="$(SrcDir)objnam.c" />
<ClCompile Include="$(SrcDir)options.c" />
<ClCompile Include="$(SrcDir)o_init.c" />
<ClCompile Include="$(SrcDir)pager.c" />
<ClCompile Include="$(SrcDir)pickup.c" />
<ClCompile Include="$(SrcDir)pline.c" />
<ClCompile Include="$(SrcDir)polyself.c" />
<ClCompile Include="$(SrcDir)potion.c" />
<ClCompile Include="$(SrcDir)pray.c" />
<ClCompile Include="$(SrcDir)priest.c" />
<ClCompile Include="$(SrcDir)quest.c" />
<ClCompile Include="$(SrcDir)questpgr.c" />
<ClCompile Include="$(SrcDir)read.c" />
<ClCompile Include="$(SrcDir)rect.c" />
<ClCompile Include="$(SrcDir)region.c" />
<ClCompile Include="$(SrcDir)restore.c" />
<ClCompile Include="$(SrcDir)rip.c" />
<ClCompile Include="$(SrcDir)rnd.c" />
<ClCompile Include="$(SrcDir)role.c" />
<ClCompile Include="$(SrcDir)rumors.c" />
<ClCompile Include="$(SrcDir)save.c" />
<ClCompile Include="$(SrcDir)shk.c" />
<ClCompile Include="$(SrcDir)shknam.c" />
<ClCompile Include="$(SrcDir)sit.c" />
<ClCompile Include="$(SrcDir)sounds.c" />
<ClCompile Include="$(SrcDir)spell.c" />
<ClCompile Include="$(SrcDir)sp_lev.c" />
<ClCompile Include="$(SrcDir)steal.c" />
<ClCompile Include="$(SrcDir)steed.c" />
<ClCompile Include="$(SrcDir)sys.c" />
<ClCompile Include="$(SrcDir)teleport.c" />
<ClCompile Include="$(SrcDir)tile.c" />
<ClCompile Include="$(SrcDir)timeout.c" />
<ClCompile Include="$(SrcDir)topten.c" />
<ClCompile Include="$(SrcDir)track.c" />
<ClCompile Include="$(SrcDir)trap.c" />
<ClCompile Include="$(SrcDir)uhitm.c" />
<ClCompile Include="$(SrcDir)u_init.c" />
<ClCompile Include="$(SrcDir)vault.c" />
<ClCompile Include="$(SrcDir)version.c" />
<ClCompile Include="$(SrcDir)vision.c" />
<ClCompile Include="$(SrcDir)weapon.c" />
<ClCompile Include="$(SrcDir)were.c" />
<ClCompile Include="$(SrcDir)wield.c" />
<ClCompile Include="$(SrcDir)windows.c" />
<ClCompile Include="$(SrcDir)wizard.c" />
<ClCompile Include="$(SrcDir)worm.c" />
<ClCompile Include="$(SrcDir)worn.c" />
<ClCompile Include="$(SrcDir)write.c" />
<ClCompile Include="$(SrcDir)zap.c" />
<ClCompile Include="$(SysShareDir)cppregex.cpp" />
<ClCompile Include="$(SysShareDir)nhlan.c" />
<ClCompile Include="$(SysShareDir)pcmain.c" />
<ClCompile Include="$(SysShareDir)pcsys.c" />
<ClCompile Include="$(SysShareDir)pcunix.c" />
<ClCompile Include="$(SysShareDir)random.c" />
<ClCompile Include="$(SysWinntDir)ntsound.c" />
<ClCompile Include="$(SysWinntDir)nttty.c" />
<ClCompile Include="$(SysWinntDir)stubs.c">
<PreprocessorDefinitions>GUISTUB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="$(SysWinntDir)winnt.c" />
<ClCompile Include="$(WinTtyDir)getline.c" />
<ClCompile Include="$(WinTtyDir)topl.c" />
<ClCompile Include="$(WinTtyDir)wintty.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)align.h" />
<ClInclude Include="$(IncDir)artifact.h" />
<ClInclude Include="$(IncDir)artilist.h" />
<ClInclude Include="$(IncDir)attrib.h" />
<ClInclude Include="$(IncDir)botl.h" />
<ClInclude Include="$(IncDir)color.h" />
<ClInclude Include="$(IncDir)config.h" />
<ClInclude Include="$(IncDir)config1.h" />
<ClInclude Include="$(IncDir)context.h" />
<ClInclude Include="$(IncDir)coord.h" />
<ClInclude Include="$(IncDir)date.h" />
<ClInclude Include="$(IncDir)decl.h" />
<ClInclude Include="$(IncDir)display.h" />
<ClInclude Include="$(IncDir)dlb.h" />
<ClInclude Include="$(IncDir)dungeon.h" />
<ClInclude Include="$(IncDir)engrave.h" />
<ClInclude Include="$(IncDir)extern.h" />
<ClInclude Include="$(IncDir)flag.h" />
<ClInclude Include="$(IncDir)func_tab.h" />
<ClInclude Include="$(IncDir)global.h" />
<ClInclude Include="$(IncDir)hack.h" />
<ClInclude Include="$(IncDir)lev.h" />
<ClInclude Include="$(IncDir)mextra.h" />
<ClInclude Include="$(IncDir)mfndpos.h" />
<ClInclude Include="$(IncDir)mkroom.h" />
<ClInclude Include="$(IncDir)monattk.h" />
<ClInclude Include="$(IncDir)mondata.h" />
<ClInclude Include="$(IncDir)monflag.h" />
<ClInclude Include="$(IncDir)monst.h" />
<ClInclude Include="$(IncDir)monsym.h" />
<ClInclude Include="$(IncDir)ntconf.h" />
<ClInclude Include="$(IncDir)obj.h" />
<ClInclude Include="$(IncDir)objclass.h" />
<ClInclude Include="$(IncDir)onames.h" />
<ClInclude Include="$(IncDir)patchlevel.h" />
<ClInclude Include="$(IncDir)permonst.h" />
<ClInclude Include="$(IncDir)pm.h" />
<ClInclude Include="$(IncDir)prop.h" />
<ClInclude Include="$(IncDir)qtext.h" />
<ClInclude Include="$(IncDir)quest.h" />
<ClInclude Include="$(IncDir)rect.h" />
<ClInclude Include="$(IncDir)region.h" />
<ClInclude Include="$(IncDir)rm.h" />
<ClInclude Include="$(IncDir)skills.h" />
<ClInclude Include="$(IncDir)spell.h" />
<ClInclude Include="$(IncDir)sp_lev.h" />
<ClInclude Include="$(IncDir)timeout.h" />
<ClInclude Include="$(IncDir)tradstdc.h" />
<ClInclude Include="$(IncDir)trap.h" />
<ClInclude Include="$(IncDir)vision.h" />
<ClInclude Include="$(IncDir)winprocs.h" />
<ClInclude Include="$(IncDir)wintty.h" />
<ClInclude Include="$(IncDir)wintype.h" />
<ClInclude Include="$(IncDir)you.h" />
<ClInclude Include="$(IncDir)youprop.h" />
<ClInclude Include="$(WinWin32Dir)nhresource.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="$(WinWin32Dir)NetHack.rc" />
</ItemGroup>
<ItemGroup>
<Image Include="$(WinWin32Dir)nethack.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afternethack.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,191 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{CEC5D360-8804-454F-8591-002184C23499}</ProjectGuid>
<RootNamespace>NetHackW</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<PropertyGroup>
<OutDir>$(BinDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalOptions>/Gs /Oi- %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>$(WinWin32Dir);$(IncDir);$(SysWinntDir);$(SysShareDir);$(WinShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>TILES;_WINDOWS;DLB;MSWIN_GRAPHICS;WIN32CONNDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
<!-- TODO common.props has SubSystem Console -->
<SubSystem>Windows</SubSystem>
<AdditionalDependencies>comctl32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)allmain.c" />
<ClCompile Include="$(SrcDir)alloc.c" />
<ClCompile Include="$(SrcDir)apply.c" />
<ClCompile Include="$(SrcDir)artifact.c" />
<ClCompile Include="$(SrcDir)attrib.c" />
<ClCompile Include="$(SrcDir)ball.c" />
<ClCompile Include="$(SrcDir)bones.c" />
<ClCompile Include="$(SrcDir)botl.c" />
<ClCompile Include="$(SrcDir)cmd.c" />
<ClCompile Include="$(SrcDir)dbridge.c" />
<ClCompile Include="$(SrcDir)decl.c" />
<ClCompile Include="$(SrcDir)detect.c" />
<ClCompile Include="$(SrcDir)dig.c" />
<ClCompile Include="$(SrcDir)display.c" />
<ClCompile Include="$(SrcDir)dlb.c" />
<ClCompile Include="$(SrcDir)do.c" />
<ClCompile Include="$(SrcDir)dog.c" />
<ClCompile Include="$(SrcDir)dogmove.c" />
<ClCompile Include="$(SrcDir)dokick.c" />
<ClCompile Include="$(SrcDir)dothrow.c" />
<ClCompile Include="$(SrcDir)do_name.c" />
<ClCompile Include="$(SrcDir)do_wear.c" />
<ClCompile Include="$(SrcDir)drawing.c" />
<ClCompile Include="$(SrcDir)dungeon.c" />
<ClCompile Include="$(SrcDir)eat.c" />
<ClCompile Include="$(SrcDir)end.c" />
<ClCompile Include="$(SrcDir)engrave.c" />
<ClCompile Include="$(SrcDir)exper.c" />
<ClCompile Include="$(SrcDir)explode.c" />
<ClCompile Include="$(SrcDir)extralev.c" />
<ClCompile Include="$(SrcDir)files.c" />
<ClCompile Include="$(SrcDir)fountain.c" />
<ClCompile Include="$(SrcDir)hack.c" />
<ClCompile Include="$(SrcDir)hacklib.c" />
<ClCompile Include="$(SrcDir)invent.c" />
<ClCompile Include="$(SrcDir)light.c" />
<ClCompile Include="$(SrcDir)lock.c" />
<ClCompile Include="$(SrcDir)mail.c" />
<ClCompile Include="$(SrcDir)makemon.c" />
<ClCompile Include="$(SrcDir)mapglyph.c" />
<ClCompile Include="$(SrcDir)mcastu.c" />
<ClCompile Include="$(SrcDir)mhitm.c" />
<ClCompile Include="$(SrcDir)mhitu.c" />
<ClCompile Include="$(SrcDir)minion.c" />
<ClCompile Include="$(SrcDir)mklev.c" />
<ClCompile Include="$(SrcDir)mkmap.c" />
<ClCompile Include="$(SrcDir)mkmaze.c" />
<ClCompile Include="$(SrcDir)mkobj.c" />
<ClCompile Include="$(SrcDir)mkroom.c" />
<ClCompile Include="$(SrcDir)mon.c" />
<ClCompile Include="$(SrcDir)mondata.c" />
<ClCompile Include="$(SrcDir)monmove.c" />
<ClCompile Include="$(SrcDir)monst.c" />
<ClCompile Include="$(SrcDir)mplayer.c" />
<ClCompile Include="$(SrcDir)mthrowu.c" />
<ClCompile Include="$(SrcDir)muse.c" />
<ClCompile Include="$(SrcDir)music.c" />
<ClCompile Include="$(SrcDir)objects.c" />
<ClCompile Include="$(SrcDir)objnam.c" />
<ClCompile Include="$(SrcDir)options.c" />
<ClCompile Include="$(SrcDir)o_init.c" />
<ClCompile Include="$(SrcDir)pager.c" />
<ClCompile Include="$(SrcDir)pickup.c" />
<ClCompile Include="$(SrcDir)pline.c" />
<ClCompile Include="$(SrcDir)polyself.c" />
<ClCompile Include="$(SrcDir)potion.c" />
<ClCompile Include="$(SrcDir)pray.c" />
<ClCompile Include="$(SrcDir)priest.c" />
<ClCompile Include="$(SrcDir)quest.c" />
<ClCompile Include="$(SrcDir)questpgr.c" />
<ClCompile Include="$(SrcDir)read.c" />
<ClCompile Include="$(SrcDir)rect.c" />
<ClCompile Include="$(SrcDir)region.c" />
<ClCompile Include="$(SrcDir)restore.c" />
<ClCompile Include="$(SrcDir)rip.c" />
<ClCompile Include="$(SrcDir)rnd.c" />
<ClCompile Include="$(SrcDir)role.c" />
<ClCompile Include="$(SrcDir)rumors.c" />
<ClCompile Include="$(SrcDir)save.c" />
<ClCompile Include="$(SrcDir)shk.c" />
<ClCompile Include="$(SrcDir)shknam.c" />
<ClCompile Include="$(SrcDir)sit.c" />
<ClCompile Include="$(SrcDir)sounds.c" />
<ClCompile Include="$(SrcDir)spell.c" />
<ClCompile Include="$(SrcDir)sp_lev.c" />
<ClCompile Include="$(SrcDir)steal.c" />
<ClCompile Include="$(SrcDir)steed.c" />
<ClCompile Include="$(SrcDir)sys.c" />
<ClCompile Include="$(SrcDir)teleport.c" />
<ClCompile Include="$(SrcDir)tile.c" />
<ClCompile Include="$(SrcDir)timeout.c" />
<ClCompile Include="$(SrcDir)topten.c" />
<ClCompile Include="$(SrcDir)track.c" />
<ClCompile Include="$(SrcDir)trap.c" />
<ClCompile Include="$(SrcDir)uhitm.c" />
<ClCompile Include="$(SrcDir)u_init.c" />
<ClCompile Include="$(SrcDir)vault.c" />
<ClCompile Include="$(SrcDir)version.c" />
<ClCompile Include="$(SrcDir)vision.c" />
<ClCompile Include="$(SrcDir)vis_tab.c" />
<ClCompile Include="$(SrcDir)weapon.c" />
<ClCompile Include="$(SrcDir)were.c" />
<ClCompile Include="$(SrcDir)wield.c" />
<ClCompile Include="$(SrcDir)windows.c" />
<ClCompile Include="$(SrcDir)wizard.c" />
<ClCompile Include="$(SrcDir)worm.c" />
<ClCompile Include="$(SrcDir)worn.c" />
<ClCompile Include="$(SrcDir)write.c" />
<ClCompile Include="$(SrcDir)zap.c" />
<ClCompile Include="$(SysShareDir)cppregex.cpp" />
<ClCompile Include="$(SysShareDir)nhlan.c" />
<ClCompile Include="$(SysShareDir)pcmain.c" />
<ClCompile Include="$(SysShareDir)pcsys.c" />
<ClCompile Include="$(SysShareDir)pcunix.c" />
<ClCompile Include="$(SysShareDir)random.c" />
<ClCompile Include="$(SysWinntDir)ntsound.c" />
<ClCompile Include="$(SysWinntDir)stubs.c">
<PreprocessorDefinitions>TTYSTUB;</PreprocessorDefinitions>
</ClCompile>
<ClCompile Include="$(SysWinntDir)winnt.c" />
<ClCompile Include="$(WinWin32Dir)mhaskyn.c" />
<ClCompile Include="$(WinWin32Dir)mhdlg.c" />
<ClCompile Include="$(WinWin32Dir)mhfont.c" />
<ClCompile Include="$(WinWin32Dir)mhinput.c" />
<ClCompile Include="$(WinWin32Dir)mhmain.c" />
<ClCompile Include="$(WinWin32Dir)mhmap.c" />
<ClCompile Include="$(WinWin32Dir)mhmenu.c" />
<ClCompile Include="$(WinWin32Dir)mhmsgwnd.c" />
<ClCompile Include="$(WinWin32Dir)mhrip.c" />
<ClCompile Include="$(WinWin32Dir)mhsplash.c" />
<ClCompile Include="$(WinWin32Dir)mhstatus.c" />
<ClCompile Include="$(WinWin32Dir)mhtext.c" />
<ClCompile Include="$(WinWin32Dir)mswproc.c" />
<ClCompile Include="$(WinWin32Dir)winhack.c" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="$(WinWin32Dir)winhack.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afternethack.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,12 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="$(ToolsDir)dgncomp.exe;$(DatDir)dungeon.pdf"
Outputs="$(DatDir)dungeon">
<Exec Command="$(ToolsDir)dgncomp.exe dungeon.pdf" WorkingDirectory="$(DatDir)"/>
</Target>
<Target Name="Clean">
<Delete Files="$(DatDir)dungeon"/>
</Target>
</Project>

View File

@@ -1,17 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="$(ToolsDir)dlb.exe;@(DlbList);$(SysWinntDir)porthelp"
Outputs="$(BinDir)nhdat">
<Copy SourceFiles="$(SysWinntDir)porthelp" DestinationFolder="$(DatDir)"/>
<WriteLinesToFile File="$(DatDir)dlb.lst" Lines="@(DlbList->'%(filename)%(extension)')" Overwrite="true"/>
<Exec Command="$(ToolsDir)dlb.exe cIf $(DatDir)dlb.lst $(BinDir)nhdat" WorkingDirectory="$(DatDir)"/>
<Delete Files="$(DatDir)porthelp"/>
</Target>
<Target Name="Clean">
<Delete Files="$(BinDir)nhdat"/>
</Target>
</Project>

View File

@@ -1,12 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="@(Desfiles->'$(DatDir)%(filename)%(extension)');$(BinDir)levcomp.exe"
Outputs="@(Levfiles->'$(DatDir)%(filename)%(extension)')">
<Exec Command="$(ToolsDir)levcomp.exe @(Desfiles, ' ')" WorkingDirectory="$(DatDir)"/>
</Target>
<Target Name="Clean">
<Delete Files="@(Levfiles->'$(DatDir)%(filename)%(extension)')"/>
</Target>
</Project>

View File

@@ -1,21 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="$(ToolsDir)makedefs.exe"
Outputs="@(Defs)">
<Exec Command="$(ToolsDir)makedefs.exe -v" WorkingDirectory="$(UtilDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -o" WorkingDirectory="$(UtilDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -p" WorkingDirectory="$(UtilDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -z" WorkingDirectory="$(UtilDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -d" WorkingDirectory="$(DatDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -r" WorkingDirectory="$(DatDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -s" WorkingDirectory="$(DatDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -q" WorkingDirectory="$(DatDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -h" WorkingDirectory="$(DatDir)"/>
<Exec Command="$(ToolsDir)makedefs.exe -e" WorkingDirectory="$(DatDir)"/>
</Target>
<Target Name="Clean">
<Delete Files="@(Defs)"/>
</Target>
</Project>

View File

@@ -1,15 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<!-- TODO not copying record -->
<Target Name="Build"
Inputs="$(SysWinntDir)defaults.nh;$(DocDir)Guidebook.txt;$(DatDir)license;$(SysWinntDir)sysconf;$(DocDir)nethack.txt;$(DatDir)symbols;$(WinWin32Dir)record;$(DatDir)opthelp"
Outputs="$(BinDir)defaults.nh;$(BinDir)Guidebook.txt;$(BinDir)license;$(BinDir)sysconf;$(BinDir)symbols;$(BinDir)record;$(BinDir)opthelp">
<Copy SourceFiles="$(SysWinntDir)defaults.nh;$(DocDir)Guidebook.txt;$(DatDir)license;$(SysWinntDir)sysconf;$(DocDir)nethack.txt;$(DatDir)symbols;$(WinWin32Dir)record;$(DatDir)opthelp" DestinationFolder="$(BinDir)"/>
</Target>
<Target Name="Clean">
<Delete Files="$(BinDir)defaults.nh;$(BinDir)Guidebook.txt;$(BinDir)license;$(BinDir)sysconf;$(BinDir)nethack.txt;$(BinDir)symbols;$(BinDir)record;$(BinDir)opthelp"/>
</Target>
</Project>

View File

@@ -1,12 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="$(DocDir)recover.txt"
Outputs="$(BinDir)recover.txt">
<Copy SourceFiles="$(DocDir)recover.txt" DestinationFiles="$(BinDir)recover.txt"/>
</Target>
<Target Name="Clean">
<Delete Files="$(BinDir)recover.txt"/>
</Target>
</Project>

View File

@@ -1,13 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="$(ToolsDir)tile2bmp.exe;$(WinShareDir)monsters.txt;$(WinShareDir)objects.txt"
Outputs="$(WinWin32Dir)tiles.bmp">
<Exec Command="$(ToolsDir)tile2bmp.exe tiles.bmp" WorkingDirectory="$(SrcDir)"/>
<Move SourceFiles="$(SrcDir)tiles.bmp" DestinationFolder="$(WinWin32Dir)"/>
</Target>
<Target Name="Clean">
<Delete Files="$(WinWin32Dir)tiles.bmp"/>
</Target>
</Project>

View File

@@ -1,12 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="$(ToolsDir)tilemap.exe"
Outputs="$(SrcDir)tile.c">
<Exec Command="$(ToolsDir)tilemap.exe" WorkingDirectory="$(SrcDir)"/>
</Target>
<Target Name="Clean">
<Delete Files="$(SrcDir)tile.c"/>
</Target>
</Project>

View File

@@ -1,20 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dirs.props"/>
<Import Project="files.props"/>
<Target Name="Build"
Inputs="$(ToolsDir)uudecode.exe;@(UUFiles)"
Outputs="@(IconFiles);@(BmpFiles);@(RecordFiles)">
<Exec Command="$(ToolsDir)uudecode.exe $(SysWinntDir)nhico.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)mnsel.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)mnselcnt.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)mnunsel.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)petmark.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)pilemark.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)splash.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)rip.uu" WorkingDirectory="$(WinWin32Dir)"/>
<Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)record.uu" WorkingDirectory="$(WinWin32Dir)"/>
</Target>
<Target Name="Clean">
<Delete Files="@(IconFiles);@(BmpFiles);@(RecordFiles)"/>
</Target>
</Project>

View File

@@ -1,44 +0,0 @@
@echo off
if "%VisualStudioVersion%"=="" (
echo MSBuild environment not set ... attempting to setup build environment.
call :setup_environment
)
if "%VisualStudioVersion%"=="" (
echo Unable to setup build environment. Exiting.
goto :EOF
)
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=Win32
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=x64
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=Win32
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=x64
goto :EOF
:setup_environment
if "%VS140COMNTOOLS%"=="" (
call :set_vs14comntools
)
if "%VS140COMNTOOLS%"=="" (
echo Can not find Visual Studio 2015 Common Tools path.
echo Set VS140COMNTOOLS appropriately.
goto :EOF
)
call "%VS140COMNTOOLS%VsMSBuildCmd.bat"
cd %~dp0
goto :EOF
:set_vs14comntools
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\Tools" (
set "VS140COMNTOOLS=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\Tools\"
)
goto :EOF

View File

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<ProgramDatabaseFile>$(SymbolsDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
</Project>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
<LocalDebuggerWorkingDirectory>$(BinDir)</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" >
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" >
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
</Project>

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" >
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" >
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
</Project>

View File

@@ -1,125 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{8A3F81C7-2968-49A8-86BF-2669412AD7DE}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);$(SysShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)alloc.c" />
<ClCompile Include="$(SysShareDir)\dgn_lex.c" />
<ClCompile Include="$(UtilDir)dgn_main.c" />
<ClCompile Include="$(SysShareDir)dgn_yacc.c" />
<ClCompile Include="$(UtilDir)panic.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)align.h" />
<ClInclude Include="$(IncDir)attrib.h" />
<ClInclude Include="$(IncDir)color.h" />
<ClInclude Include="$(IncDir)config.h" />
<ClInclude Include="$(IncDir)config1.h" />
<ClInclude Include="$(IncDir)context.h" />
<ClInclude Include="$(IncDir)coord.h" />
<ClInclude Include="$(IncDir)decl.h" />
<ClInclude Include="$(IncDir)dgn_comp.h" />
<ClInclude Include="$(IncDir)dgn_file.h" />
<ClInclude Include="$(IncDir)display.h" />
<ClInclude Include="$(IncDir)dungeon.h" />
<ClInclude Include="$(IncDir)engrave.h" />
<ClInclude Include="$(IncDir)flag.h" />
<ClInclude Include="$(IncDir)global.h" />
<ClInclude Include="$(IncDir)mkroom.h" />
<ClInclude Include="$(IncDir)monattk.h" />
<ClInclude Include="$(IncDir)monst.h" />
<ClInclude Include="$(IncDir)monsym.h" />
<ClInclude Include="$(IncDir)ntconf.h" />
<ClInclude Include="$(IncDir)obj.h" />
<ClInclude Include="$(IncDir)objclass.h" />
<ClInclude Include="$(IncDir)onames.h" />
<ClInclude Include="$(IncDir)permonst.h" />
<ClInclude Include="$(IncDir)pm.h" />
<ClInclude Include="$(IncDir)prop.h" />
<ClInclude Include="$(IncDir)quest.h" />
<ClInclude Include="$(IncDir)rect.h" />
<ClInclude Include="$(IncDir)region.h" />
<ClInclude Include="$(IncDir)rm.h" />
<ClInclude Include="$(IncDir)skills.h" />
<ClInclude Include="$(IncDir)spell.h" />
<ClInclude Include="$(IncDir)timeout.h" />
<ClInclude Include="$(IncDir)tradstdc.h" />
<ClInclude Include="$(IncDir)trampoli.h" />
<ClInclude Include="$(IncDir)trap.h" />
<ClInclude Include="$(IncDir)vision.h" />
<ClInclude Include="$(IncDir)winprocs.h" />
<ClInclude Include="$(IncDir)wintty.h" />
<ClInclude Include="$(IncDir)wintype.h" />
<ClInclude Include="$(IncDir)you.h" />
<ClInclude Include="$(IncDir)youprop.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Choose>
<When Condition=" '$(YACC)'!='' ">
<PropertyGroup>
<BuildDependsOn>
Lex;
Yacc;
$(BuildDependsOn);
</BuildDependsOn>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<BuildDependsOn>
NoLex;
NoYacc;
$(BuildDependsOn);
</BuildDependsOn>
</PropertyGroup>
</Otherwise>
</Choose>
<Target Name="Yacc" Inputs="$(UtilDir)dgn_comp.y" Outputs="$(UtilDir)dgn_yacc.c;$(IncDir)dgn_comp.h">
<Message Text="Running Yacc" Importance="high" />
<Exec Command="$(YACC) -d dgn_comp.y" WorkingDirectory="$(UtilDir)" />
<Move SourceFiles="$(UtilDir)y.tab.c;$(UtilDir)y.tab.h" DestinationFiles="$(UtilDir)dgn_yacc.c;$(IncDir)dgn_comp.h" />
</Target>
<Target Name="Lex" Inputs="$(UtilDir)lev_comp.l" Outputs="$(UtilDir)dgn_lex.c">
<Message Text="Running Lex" Importance="high" />
<Exec Command="$(LEX) dgn_comp.l" WorkingDirectory="$(UtilDir)" />
<Move SourceFiles="$(UtilDir)lex.yy.c" DestinationFiles="$(UtilDir)dgn_lex.c" />
</Target>
<Target Name="NoYacc" Inputs="$(SysShareDir)dgn_yacc.c;$(SysShareDir)dgn_comp.h" Outputs="$(UtilDir)dgn_yacc.c;$(IncDir)dgn_comp.h">
<Message Text="No Yacc using pre-built files" Importance="high" />
<Copy SourceFiles="$(SysShareDir)dgn_yacc.c;$(SysShareDir)dgn_comp.h" DestinationFiles="$(UtilDir)dgn_yacc.c;$(IncDir)dgn_comp.h" />
</Target>
<Target Name="NoLex" Inputs="$(SysShareDir)dgn_lex.c" Outputs="$(UtilDir)dgn_lex.c">
<Message Text="No Lex using pre-built files" Importance="high" />
<Copy SourceFiles="$(SysShareDir)dgn_lex.c" DestinationFiles="$(UtilDir)dgn_lex.c" />
</Target>
<Target Name="AfterBuild">
<MSBuild Projects="afterdgncomp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afterdgncomp.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
<Delete Files="$(UtilDir)dgn_yacc.c;$(IncDir)dgn_comp.h;$(UtilDir)dgn_lex.c" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afterdgncomp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RootDir>$(MSBuildProjectDirectory)\..\..\..\</RootDir>
<BinDir>$(RootDir)bin\$(Configuration)\$(Platform)\</BinDir>
<ObjDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(TargetName)\</ObjDir>
<SymbolsDir>$(ProjectDir)symbols\$(Configuration)\$(Platform)\$(TargetName)\</SymbolsDir>
<ToolsDir>$(RootDir)tools\$(Configuration)\$(Platform)\</ToolsDir>
<UtilDir>$(RootDir)util\</UtilDir>
<DatDir>$(RootDir)dat\</DatDir>
<DocDir>$(RootDir)doc\</DocDir>
<IncDir>$(RootDir)include\</IncDir>
<SrcDir>$(RootDir)src\</SrcDir>
<SysDir>$(RootDir)sys\</SysDir>
<UtilDir>$(RootDir)util\</UtilDir>
<SysShareDir>$(RootDir)sys\share\</SysShareDir>
<SysWinntDir>$(RootDir)sys\winnt\</SysWinntDir>
<WinShareDir>$(RootDir)win\share\</WinShareDir>
<WinTtyDir>$(RootDir)win\tty\</WinTtyDir>
<WinWin32Dir>$(RootDir)win\win32\</WinWin32Dir>
<OutDir>$(ToolsDir)</OutDir>
<IntDir>$(ObjDir)</IntDir>
</PropertyGroup>
</Project>

View File

@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);$(SysShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)alloc.c" />
<ClCompile Include="$(SrcDir)dlb.c" />
<ClCompile Include="$(UtilDir)dlb_main.c" />
<ClCompile Include="$(UtilDir)panic.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)dlb.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="afterdlb.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afterdlb.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afterdlb.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>WIN32CON;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@@ -1,227 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<!-- -v -->
<Defs Include = "$(DatDir)options"/>
<Defs Include = "$(IncDir)date.h"/>
<!-- -o -->
<Defs Include = "$(IncDir)onames.h"/>
<!-- -p -->
<Defs Include = "$(IncDir)pm.h"/>
<!-- -z -->
<Defs Include = "$(IncDir)vis_tab.h"/>
<Defs Include = "$(SrcDir)vis_tab.c"/>
<!-- -d -->
<Defs Include = "$(DatDir)data"/>
<!-- -r -->
<Defs Include = "$(DatDir)rumors"/>
<!-- -s -->
<Defs Include = "$(DatDir)engrave"/>
<Defs Include = "$(DatDir)epitaph"/>
<Defs Include = "$(DatDir)bogusmon"/>
<!-- -q -->
<Defs Include = "$(DatDir)quest.dat"/>
<!-- -h -->
<Defs Include = "$(DatDir)oracles"/>
<!-- -e -->
<Defs Include = "$(DatDir)dungeon.pdf"/>
</ItemGroup>
<ItemGroup>
<Desfiles Include = "arch.des"/>
<Desfiles Include = "barb.des"/>
<Desfiles Include = "bigroom.des"/>
<Desfiles Include = "castle.des"/>
<Desfiles Include = "caveman.des"/>
<Desfiles Include = "endgame.des"/>
<Desfiles Include = "gehennom.des"/>
<Desfiles Include = "healer.des"/>
<Desfiles Include = "knight.des"/>
<Desfiles Include = "knox.des"/>
<Desfiles Include = "medusa.des"/>
<Desfiles Include = "mines.des"/>
<Desfiles Include = "monk.des"/>
<Desfiles Include = "oracle.des"/>
<Desfiles Include = "priest.des"/>
<Desfiles Include = "ranger.des"/>
<Desfiles Include = "rogue.des"/>
<Desfiles Include = "samurai.des"/>
<Desfiles Include = "sokoban.des"/>
<Desfiles Include = "tourist.des"/>
<Desfiles Include = "tower.des"/>
<Desfiles Include = "valkyrie.des"/>
<Desfiles Include = "wizard.des"/>
<Desfiles Include = "yendor.des"/>
</ItemGroup>
<ItemGroup>
<Levfiles Include = "bigrm-1.lev"/>
<Levfiles Include = "bigrm-2.lev"/>
<Levfiles Include = "bigrm-3.lev"/>
<Levfiles Include = "bigrm-4.lev"/>
<Levfiles Include = "bigrm-5.lev"/>
<Levfiles Include = "bigrm-6.lev"/>
<Levfiles Include = "bigrm-7.lev"/>
<Levfiles Include = "bigrm-8.lev"/>
<Levfiles Include = "bigrm-9.lev"/>
<Levfiles Include = "bigrm-10.lev"/>
<Levfiles Include = "castle.lev"/>
<Levfiles Include = "air.lev"/>
<Levfiles Include = "astral.lev"/>
<Levfiles Include = "earth.lev"/>
<Levfiles Include = "fire.lev"/>
<Levfiles Include = "water.lev"/>
<Levfiles Include = "asmodeus.lev"/>
<Levfiles Include = "baalz.lev"/>
<Levfiles Include = "juiblex.lev"/>
<Levfiles Include = "orcus.lev"/>
<Levfiles Include = "sanctum.lev"/>
<Levfiles Include = "valley.lev"/>
<Levfiles Include = "knox.lev"/>
<Levfiles Include = "minefill.lev"/>
<Levfiles Include = "minend-1.lev"/>
<Levfiles Include = "minend-2.lev"/>
<Levfiles Include = "minend-3.lev"/>
<Levfiles Include = "minetn-1.lev"/>
<Levfiles Include = "minetn-2.lev"/>
<Levfiles Include = "minetn-3.lev"/>
<Levfiles Include = "minetn-4.lev"/>
<Levfiles Include = "minetn-5.lev"/>
<Levfiles Include = "minetn-6.lev"/>
<Levfiles Include = "minetn-7.lev"/>
<Levfiles Include = "medusa-1.lev"/>
<Levfiles Include = "medusa-2.lev"/>
<Levfiles Include = "medusa-3.lev"/>
<Levfiles Include = "medusa-4.lev"/>
<Levfiles Include = "oracle.lev"/>
<Levfiles Include = "soko1-1.lev"/>
<Levfiles Include = "soko1-2.lev"/>
<Levfiles Include = "soko2-1.lev"/>
<Levfiles Include = "soko2-2.lev"/>
<Levfiles Include = "soko3-1.lev"/>
<Levfiles Include = "soko3-2.lev"/>
<Levfiles Include = "soko4-1.lev"/>
<Levfiles Include = "soko4-2.lev"/>
<Levfiles Include = "tower1.lev"/>
<Levfiles Include = "tower2.lev"/>
<Levfiles Include = "tower3.lev"/>
<Levfiles Include = "fakewiz1.lev"/>
<Levfiles Include = "fakewiz2.lev"/>
<Levfiles Include = "wizard1.lev"/>
<Levfiles Include = "wizard2.lev"/>
<Levfiles Include = "wizard3.lev"/>
<Levfiles Include = "arc-fila.lev"/>
<Levfiles Include = "arc-filb.lev"/>
<Levfiles Include = "arc-goal.lev"/>
<Levfiles Include = "arc-loca.lev"/>
<Levfiles Include = "arc-strt.lev"/>
<Levfiles Include = "bar-fila.lev"/>
<Levfiles Include = "bar-filb.lev"/>
<Levfiles Include = "bar-goal.lev"/>
<Levfiles Include = "bar-loca.lev"/>
<Levfiles Include = "bar-strt.lev"/>
<Levfiles Include = "cav-fila.lev"/>
<Levfiles Include = "cav-filb.lev"/>
<Levfiles Include = "cav-goal.lev"/>
<Levfiles Include = "cav-loca.lev"/>
<Levfiles Include = "cav-strt.lev"/>
<Levfiles Include = "hea-fila.lev"/>
<Levfiles Include = "hea-filb.lev"/>
<Levfiles Include = "hea-goal.lev"/>
<Levfiles Include = "hea-loca.lev"/>
<Levfiles Include = "hea-strt.lev"/>
<Levfiles Include = "kni-fila.lev"/>
<Levfiles Include = "kni-filb.lev"/>
<Levfiles Include = "kni-goal.lev"/>
<Levfiles Include = "kni-loca.lev"/>
<Levfiles Include = "kni-strt.lev"/>
<Levfiles Include = "mon-fila.lev"/>
<Levfiles Include = "mon-filb.lev"/>
<Levfiles Include = "mon-goal.lev"/>
<Levfiles Include = "mon-loca.lev"/>
<Levfiles Include = "mon-strt.lev"/>
<Levfiles Include = "pri-fila.lev"/>
<Levfiles Include = "pri-filb.lev"/>
<Levfiles Include = "pri-goal.lev"/>
<Levfiles Include = "pri-loca.lev"/>
<Levfiles Include = "pri-strt.lev"/>
<Levfiles Include = "ran-fila.lev"/>
<Levfiles Include = "ran-filb.lev"/>
<Levfiles Include = "ran-goal.lev"/>
<Levfiles Include = "ran-loca.lev"/>
<Levfiles Include = "ran-strt.lev"/>
<Levfiles Include = "rog-fila.lev"/>
<Levfiles Include = "rog-filb.lev"/>
<Levfiles Include = "rog-goal.lev"/>
<Levfiles Include = "rog-loca.lev"/>
<Levfiles Include = "rog-strt.lev"/>
<Levfiles Include = "sam-fila.lev"/>
<Levfiles Include = "sam-filb.lev"/>
<Levfiles Include = "sam-goal.lev"/>
<Levfiles Include = "sam-loca.lev"/>
<Levfiles Include = "sam-strt.lev"/>
<Levfiles Include = "tou-fila.lev"/>
<Levfiles Include = "tou-filb.lev"/>
<Levfiles Include = "tou-goal.lev"/>
<Levfiles Include = "tou-loca.lev"/>
<Levfiles Include = "tou-strt.lev"/>
<Levfiles Include = "val-fila.lev"/>
<Levfiles Include = "val-filb.lev"/>
<Levfiles Include = "val-goal.lev"/>
<Levfiles Include = "val-loca.lev"/>
<Levfiles Include = "val-strt.lev"/>
<Levfiles Include = "wiz-fila.lev"/>
<Levfiles Include = "wiz-filb.lev"/>
<Levfiles Include = "wiz-goal.lev"/>
<Levfiles Include = "wiz-loca.lev"/>
<Levfiles Include = "wiz-strt.lev"/>
</ItemGroup>
<ItemGroup>
<UUFiles Include = "$(SysWinntDir)nhico.uu"/>
<UUFiles Include = "$(WinWin32Dir)mnsel.uu"/>
<UUFiles Include = "$(WinWin32Dir)mnselcnt.uu"/>
<UUFiles Include = "$(WinWin32Dir)mnunsel.uu"/>
<UUFiles Include = "$(WinWin32Dir)petmark.uu"/>
<UUFiles Include = "$(WinWin32Dir)pilemark.uu"/>
<UUFiles Include = "$(WinWin32Dir)splash.uu"/>
<UUFiles Include = "$(WinWin32Dir)rip.uu"/>
<UUFiles Include = "$(WinWin32Dir)record.uu"/>
</ItemGroup>
<ItemGroup>
<IconFiles Include = "$(WinWin32Dir)nethack.ico"/>
</ItemGroup>
<ItemGroup>
<RecordFiles Include = "$(WinWin32Dir)record"/>
</ItemGroup>
<ItemGroup>
<BmpFiles Include = "$(WinWin32Dir)mnsel.bmp"/>
<BmpFiles Include = "$(WinWin32Dir)mnselcnt.bmp"/>
<BmpFiles Include = "$(WinWin32Dir)mnunsel.bmp"/>
<BmpFiles Include = "$(WinWin32Dir)petmark.bmp"/>
<BmpFiles Include = "$(WinWin32Dir)pilemark.bmp"/>
<BmpFiles Include = "$(WinWin32Dir)rip.bmp"/>
<BmpFiles Include = "$(WinWin32Dir)splash.bmp"/>
</ItemGroup>
<ItemGroup>
<DlbList Include = "$(DatDir)data"/>
<DlbList Include = "$(DatDir)oracles"/>
<DlbList Include = "$(DatDir)options" Condition="Exists('$(DatDir)options')"/>
<DlbList Include = "$(DatDir)ttyoptions" Condition="Exists('$(DatDir)ttyoptions')"/>
<DlbList Include = "$(DatDir)guioptions" Condition="Exists('$(DatDir)guioptions')"/>
<DlbList Include = "$(DatDir)quest.dat"/>
<DlbList Include = "$(DatDir)rumors"/>
<DlbList Include = "$(DatDir)engrave"/>
<DlbList Include = "$(DatDir)epitaph"/>
<DlbList Include = "$(DatDir)bogusmon"/>
<DlbList Include = "$(DatDir)tribute"/>
<DlbList Include = "$(DatDir)help"/>
<DlbList Include = "$(DatDir)porthelp"/>
<DlbList Include = "$(DatDir)hh"/>
<DlbList Include = "$(DatDir)cmdhelp"/>
<DlbList Include = "$(DatDir)keyhelp"/>
<DlbList Include = "$(DatDir)history"/>
<DlbList Include = "$(DatDir)opthelp"/>
<DlbList Include = "$(DatDir)wizhelp"/>
<DlbList Include = "$(DatDir)dungeon"/>
<DlbList Include = "$(DatDir)license"/>
<DlbList Include = "$(DatDir)*.lev"/>
</ItemGroup>
</Project>

View File

@@ -1,88 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);$(SysShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)alloc.c" />
<ClCompile Include="$(SrcDir)decl.c" />
<ClCompile Include="$(SrcDir)drawing.c" />
<ClCompile Include="$(UtilDir)lev_lex.c" />
<ClCompile Include="$(UtilDir)lev_main.c" />
<ClCompile Include="$(UtilDir)lev_yacc.c" />
<ClCompile Include="$(SrcDir)monst.c" />
<ClCompile Include="$(SrcDir)objects.c" />
<ClCompile Include="$(UtilDir)panic.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)lev_comp.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Choose>
<When Condition=" '$(YACC)'!='' ">
<PropertyGroup>
<BuildDependsOn>
Lex;
Yacc;
$(BuildDependsOn);
</BuildDependsOn>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<BuildDependsOn>
NoLex;
NoYacc;
$(BuildDependsOn);
</BuildDependsOn>
</PropertyGroup>
</Otherwise>
</Choose>
<Target Name="Yacc" Inputs="$(UtilDir)lev_comp.y" Outputs="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h">
<Message Text="Running Yacc" Importance="high" />
<Exec Command="$(YACC) -d lev_comp.y" WorkingDirectory="$(UtilDir)" />
<Move SourceFiles="$(UtilDir)y.tab.c;$(UtilDir)y.tab.h" DestinationFiles="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h" />
</Target>
<Target Name="Lex" Inputs="$(UtilDir)lev_comp.l" Outputs="$(UtilDir)lev_lex.c">
<Message Text="Running Lex" Importance="high" />
<Exec Command="$(LEX) lev_comp.l" WorkingDirectory="$(UtilDir)" />
<Move SourceFiles="$(UtilDir)lex.yy.c" DestinationFiles="$(UtilDir)lev_lex.c" />
</Target>
<Target Name="NoYacc" Inputs="$(SysShareDir)lev_yacc.c;$(SysShareDir)lev_comp.h" Outputs="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h">
<Message Text="No Yacc using pre-built files" Importance="high" />
<Copy SourceFiles="$(SysShareDir)lev_yacc.c;$(SysShareDir)lev_comp.h" DestinationFiles="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h" />
</Target>
<Target Name="NoLex" Inputs="$(SysShareDir)lev_lex.c" Outputs="$(UtilDir)lev_lex.c">
<Message Text="No Lex using pre-built files" Importance="high" />
<Copy SourceFiles="$(SysShareDir)lev_lex.c" DestinationFiles="$(UtilDir)lev_lex.c" />
</Target>
<Target Name="AfterBuild">
<MSBuild Projects="afterlevcomp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afterlevcomp.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
<Delete Files="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h;$(UtilDir)lev_lex.c" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afterlevcomp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,55 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{BA3DD34C-04B7-40D0-B373-9329AA9E8945}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\util\makedefs.c" />
<ClCompile Include="..\..\..\src\monst.c" />
<ClCompile Include="..\..\..\src\objects.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\include\config.h" />
<ClInclude Include="..\..\..\include\config1.h" />
<ClInclude Include="..\..\..\include\context.h" />
<ClInclude Include="..\..\..\include\coord.h" />
<ClInclude Include="..\..\..\include\global.h" />
<ClInclude Include="..\..\..\include\monattk.h" />
<ClInclude Include="..\..\..\include\monflag.h" />
<ClInclude Include="..\..\..\include\monsym.h" />
<ClInclude Include="..\..\..\include\ntconf.h" />
<ClInclude Include="..\..\..\include\objclass.h" />
<ClInclude Include="..\..\..\include\patchlevel.h" />
<ClInclude Include="..\..\..\include\qtext.h" />
<ClInclude Include="..\..\..\include\tradstdc.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="aftermakedefs.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="aftermakedefs.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="aftermakedefs.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,8 +0,0 @@
LIBRARY nh340key
EXPORTS
ProcessKeystroke
NHkbhit
CheckInput
SourceWhere
SourceAuthor
KeyHandlerName

View File

@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{be04e242-a1e9-4593-b95b-057f37330b76}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>nh340key</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default_dll.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="dll.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<PropertyGroup>
<OutDir>$(BinDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ImportLibrary>$(ToolsDir)$(TargetName).lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<Link>
<ModuleDefinitionFile>nh340key.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SysWinntDir)nh340key.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)hack.h" />
<ClInclude Include="$(IncDir)ntconf.h" />
<ClInclude Include="$(IncDir)wintty.h" />
<ClInclude Include="$(SysWinntDir)win32api.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@@ -1,8 +0,0 @@
LIBRARY nhdefkey
EXPORTS
ProcessKeystroke
NHkbhit
CheckInput
SourceWhere
SourceAuthor
KeyHandlerName

View File

@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{6813477F-64B6-4B97-B230-438D0D233385}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>nhdefkey</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default_dll.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="dll.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<PropertyGroup>
<OutDir>$(BinDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ImportLibrary>$(ToolsDir)$(TargetName).lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<Link>
<ModuleDefinitionFile>nhdefkey.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SysWinntDir)nhdefkey.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)hack.h" />
<ClInclude Include="$(IncDir)ntconf.h" />
<ClInclude Include="$(IncDir)wintty.h" />
<ClInclude Include="$(SysWinntDir)win32api.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@@ -1,8 +0,0 @@
LIBRARY nhraykey
EXPORTS
ProcessKeystroke
NHkbhit
CheckInput
SourceWhere
SourceAuthor
KeyHandlerName

View File

@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{2e1f4bb3-3bd7-43ad-8e64-d3b8a2f5d7b2}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>nhraykey</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default_dll.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="dll.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<PropertyGroup>
<OutDir>$(BinDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ImportLibrary>$(ToolsDir)$(TargetName).lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
<Link>
<ModuleDefinitionFile>nhraykey.def</ModuleDefinitionFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SysWinntDir)nhraykey.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)hack.h" />
<ClInclude Include="$(IncDir)ntconf.h" />
<ClInclude Include="$(IncDir)wintty.h" />
<ClInclude Include="$(SysWinntDir)win32api.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

View File

@@ -1,45 +0,0 @@
Changes made to vs2015 build
To Do
Questions
1. Why is /Gs used? This initiates stack probes for every function call (not just functions that use more then 4k)?
2. Why is /Oi- used? This turns off compiler intrinsics.
3. Why is /FS used? This forces serialization of writes to PDB. This really isn't needed.
4. Why are we disabling optimizations for release builds?
5. Why are we omitting frame pointers? Makes debugging harder. Crash dumps less usefull.
6. Why are we forcing function level linking?
7. Why are we turning off intrinsics (again)?
8. Why are we enabling additional security checks? (SDLCheck)
9. Why are we using string pooling?
10. Why do we turn off multi-processor compilation?
Nethack Compiler Settings - Release
/Gs
/Oi-
/FS
Optimizations:Disabled
WarningLevel:Level3
InlineFunctionExpansion:Default
FavorSizeOrSpeed:Speed
OmitFramePointers:true
Optimization:MaxSpeed
FunctionLevelLinking:true
IntrinsicFunctions:false
PreprocessorDefinitions:TILES;MSWIN_GRAPHICS;WIN32;WIN32CON;DLB;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_CONSOLE;_LIB;
SDLCheck:true
AdditionalIncludeDirectories:..\win\win32;..\include;..\sys\winnt;..\sys\share;..\win\share;
StringPooling:true
RuntimeLibrary:MultiThreaded
SuppressStartupBanner:true
MultiProcessorCompilation:false
Nethack Link Settings - Release
SubSystem:Console
GenetateDebugInformation:true
EnableCOMDATFolding:true
OptimizeReferenes:true
AdditionalDependencies:kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib;
SuppressStartupBanner:true
TargetMachine:MachineX86

View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<PropertyGroup>
<OutDir>$(BinDir)</OutDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(UtilDir)recover.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)config.h" />
<ClInclude Include="$(IncDir)config1.h" />
<ClInclude Include="$(IncDir)coord.h" />
<ClInclude Include="$(IncDir)global.h" />
<ClInclude Include="$(IncDir)ntconf.h" />
<ClInclude Include="$(IncDir)tradstdc.h" />
<ClInclude Include="$(SysWinntDir)win32api.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="afterrecover.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afterrecover.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afterrecover.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,47 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{642BC75D-ABAF-403E-8224-7C725FD4CB42}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);$(SysShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)decl.c" />
<ClCompile Include="$(SrcDir)drawing.c" />
<ClCompile Include="$(SrcDir)monst.c" />
<ClCompile Include="$(SrcDir)objects.c" />
<ClCompile Include="$(WinShareDir)tile2bmp.c" />
<ClCompile Include="$(WinShareDir)tiletext.c" />
<ClCompile Include="$(WinShareDir)tilemap.c">
<PreprocessorDefinitions>TILETEXT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="aftertile2bmp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="aftertile2bmp.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="aftertile2bmp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,81 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{93F10526-209E-41D7-BBEA-775787876895}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);$(SysShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(WinShareDir)tilemap.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)align.h" />
<ClInclude Include="$(IncDir)attrib.h" />
<ClInclude Include="$(IncDir)color.h" />
<ClInclude Include="$(IncDir)config.h" />
<ClInclude Include="$(IncDir)config1.h" />
<ClInclude Include="$(IncDir)context.h" />
<ClInclude Include="$(IncDir)coord.h" />
<ClInclude Include="$(IncDir)decl.h" />
<ClInclude Include="$(IncDir)dgn_comp.h" />
<ClInclude Include="$(IncDir)dgn_file.h" />
<ClInclude Include="$(IncDir)display.h" />
<ClInclude Include="$(IncDir)dungeon.h" />
<ClInclude Include="$(IncDir)engrave.h" />
<ClInclude Include="$(IncDir)flag.h" />
<ClInclude Include="$(IncDir)global.h" />
<ClInclude Include="$(IncDir)mkroom.h" />
<ClInclude Include="$(IncDir)monattk.h" />
<ClInclude Include="$(IncDir)monst.h" />
<ClInclude Include="$(IncDir)monsym.h" />
<ClInclude Include="$(IncDir)ntconf.h" />
<ClInclude Include="$(IncDir)obj.h" />
<ClInclude Include="$(IncDir)objclass.h" />
<ClInclude Include="$(IncDir)onames.h" />
<ClInclude Include="$(IncDir)permonst.h" />
<ClInclude Include="$(IncDir)pm.h" />
<ClInclude Include="$(IncDir)prop.h" />
<ClInclude Include="$(IncDir)quest.h" />
<ClInclude Include="$(IncDir)rect.h" />
<ClInclude Include="$(IncDir)region.h" />
<ClInclude Include="$(IncDir)rm.h" />
<ClInclude Include="$(IncDir)skills.h" />
<ClInclude Include="$(IncDir)spell.h" />
<ClInclude Include="$(IncDir)timeout.h" />
<ClInclude Include="$(IncDir)tradstdc.h" />
<ClInclude Include="$(IncDir)trampoli.h" />
<ClInclude Include="$(IncDir)trap.h" />
<ClInclude Include="$(IncDir)vision.h" />
<ClInclude Include="$(IncDir)winprocs.h" />
<ClInclude Include="$(IncDir)wintty.h" />
<ClInclude Include="$(IncDir)wintype.h" />
<ClInclude Include="$(IncDir)you.h" />
<ClInclude Include="$(IncDir)youprop.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="aftertilemap.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="aftertilemap.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="aftertilemap.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,124 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{55946465-FC65-47B3-BB48-742C7694C0D6}</ProjectGuid>
<Keyword>MakeFileProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\util\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\util\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\Debug\</IntDir>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f "tiles.mak"</NMakeBuildCommandLine>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f "tiles.mak"</NMakeBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f "tiles.mak" /a</NMakeReBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f "tiles.mak" /a</NMakeReBuildCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\win\win32\tiles.bmp</NMakeOutput>
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\win\win32\tiles.bmp</NMakeOutput>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\util\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\util\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\Release\</IntDir>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f "tiles.mak"</NMakeBuildCommandLine>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f "tiles.mak"</NMakeBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f "tiles.mak" /a</NMakeReBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f "tiles.mak" /a</NMakeReBuildCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\win\win32\tiles.bmp</NMakeOutput>
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\win\win32\tiles.bmp</NMakeOutput>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
</PropertyGroup>
<ItemDefinitionGroup>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="tile2bmp.vcxproj">
<Project>{642bc75d-abaf-403e-8224-7c725fd4cb42}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,29 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{63F9B82B-F589-4082-ABE5-D4F0682050AB}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemGroup>
<ClCompile Include="$(SysShareDir)uudecode.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="AfterBuild">
<MSBuild Projects="afteruudecode.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afteruudecode.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afteruudecode.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>

View File

@@ -1,4 +1,4 @@
!NetHack.sln
*.db-shm
*.db-wal
paniclog

View File

@@ -2,9 +2,7 @@
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">unaware</dpiAwareness>
<!-- <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness> -->
<!-- <gdiScaling xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">true</gdiScaling> -->
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
</windowsSettings>
</application>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">

View File

@@ -5,14 +5,15 @@
// winhack.cpp : Defines the entry point for the application.
//
#include "win10.h"
#include <process.h>
#include "winMS.h"
#include "hack.h"
#include "dlb.h"
#include "resource.h"
#include "mhmain.h"
#include "mhmap.h"
#include "win10.h"
/* Borland and MinGW redefine "boolean" in shlwapi.h,
so just use the little bit we need */