Commit Graph

484 Commits

Author SHA1 Message Date
nhmall
d792f7625d Merge branch 'master' into nhmall-booktribute
Conflicts:
	sys/winnt/Makefile.msc
2015-03-22 15:22:17 -04:00
nhmall
b8515fb5fd throw in a windows sysconf skeleton 2015-03-21 15:54:30 -04:00
nhmall
734d118d39 a sys/winnt/Makefile.msc update 2015-03-21 15:50:03 -04:00
Pasi Kallinen
2649cb385c Merge branch 'master' into paxed-new_lev_comp
Conflicts:
	.gitignore
	doc/fixes35.0
	include/obj.h
	include/patchlevel.h
	src/dig.c
	src/mklev.c
	src/rumors.c
	src/save.c
	src/topten.c
	src/trap.c
	sys/winnt/Makefile.msc
	util/makedefs.c
	win/win32/levstuff.mak
2015-03-21 19:39:48 +02:00
nhmall
a0d3224834 Merge branch 'master' into nhmall-booktribute
Conflicts:
	sys/winnt/Makefile.msc
2015-03-21 10:59:49 -04:00
nhmall
d7ff451301 More book tribute integration 2015-03-21 10:33:59 -04:00
nhmall
66d642fad9 more mswin cmdline Makefile tweaks 2015-03-20 22:06:28 -04:00
nhmall
0a8d24d87d more updates to the bookstore tribute 2015-03-20 00:58:29 -04:00
nhmall
d182920655 update cmdline Makefile 2015-03-18 23:00:46 -04:00
nhmall
5174eb157f One VS Makefile for Nethack that works with VS2010-VS2015 2015-03-17 18:47:21 +02:00
Sean Hunt
5fb3fea9c6 Remove experimental Unicode support.
This reverts commit 7f0f43e6f9 and some related
subsequent commits.

This compiles, but I have not done extensive testing.

Conflicts:
	include/config.h
	include/decl.h
	include/extern.h
	include/global.h
	include/tradstdc.h
	include/wintty.h
	src/drawing.c
	src/files.c
	src/hacklib.c
	src/mapglyph.c
	src/options.c
	sys/winnt/nttty.c
	win/tty/getline.c
	win/tty/topl.c
	win/tty/wintty.c
2015-03-17 18:46:45 +02:00
Sean Hunt
cc7ab4a2da Make WIZARD unconditional. 2015-03-17 18:46:17 +02:00
keni
69356cc77d Another batch of manual header var additions 2015-03-17 18:45:43 +02:00
keni
28a53d5081 Fix lost mode bits. 2015-03-17 18:45:40 +02:00
keni
25cd007c48 Bulk recovery of file CVS headers and addition of NHDT- headers. 2015-03-17 18:45:12 +02:00
keni
55a9ad84de Add .gitattribute files. 2015-03-17 18:44:59 +02:00
nhmall
00efbc5f8c cmd line Makefile should work on VS2010 and up 2015-03-14 12:29:27 -04:00
nhmall
285eea5bf2 one Makefile for all VS versions 2015-03-11 08:43:17 -04:00
nhmall
7c65f47dfd One VS Makefile for Nethack that works with VS2010-VS2015 2015-03-10 14:25:54 -04:00
Derek S. Ray
6ebb7db138 fix build order for nhdefkey, add to nhsetup
also minor cosmetics; clean up two warnings in Release mode,
turn off multi-processor, and fix /Oi /Oi- discrepancy
2015-02-28 22:56:03 -05:00
nhmall
5411039780 more work on getting nethack.exe to build along with nethackw.exe via VS 2015-02-28 11:44:08 -05:00
nhmall
796f6f85d0 VS 2013 build of NetHack.exe and also fix level file locking 2015-02-28 00:37:05 -05:00
Derek S. Ray
b1a7bbbbdb pull in the recent unconditionals merge from master 2015-02-27 21:25:00 -05:00
Sean Hunt
a3faa93403 Remove experimental Unicode support.
This reverts commit 7f0f43e6f9 and some related
subsequent commits.

This compiles, but I have not done extensive testing.

Conflicts:
	include/config.h
	include/decl.h
	include/extern.h
	include/global.h
	include/tradstdc.h
	include/wintty.h
	src/drawing.c
	src/files.c
	src/hacklib.c
	src/mapglyph.c
	src/options.c
	sys/winnt/nttty.c
	win/tty/getline.c
	win/tty/topl.c
	win/tty/wintty.c
2015-02-27 19:34:29 -05:00
Sean Hunt
4f59f5c6fd Make WIZARD unconditional. 2015-02-27 19:33:22 -05:00
Derek S. Ray
7f0ff8f011 Make nhsetup smart enough to see VC2013, VC2010
Only detects Express editions for now until I can verify
what registry keys correspond to each set of full editions.
2015-02-27 18:14:10 -05:00
Derek S. Ray
2f8d6502fd Initial changes to support both VS2010 and VS2013
Mostly it's just project formats, but VS2013 does require
parallel compilation to be turned off and synchronous
PDB writes to be turned on (since we reuse intermediate
output directories).

Cleaning that up is for some time in the future.
2015-02-27 16:00:58 -05:00
keni
7d9ea49e92 Another batch of manual header var additions 2015-02-26 17:43:47 -05:00
keni
971ff1d4f3 Fix lost mode bits. 2015-02-26 09:22:52 -05:00
keni
03140969ee Bulk recovery of file CVS headers and addition of NHDT- headers. 2015-02-26 09:19:03 -05:00
keni
9480f880c4 Add .gitattribute files. 2015-02-26 08:54:12 -05:00
nethack.allison
99a51ab3b2 more windows 32 bit vs 64 bit Makefile fiddling 2012-04-14 00:38:09 +00:00
nethack.allison
28aace3fd4 x64 command line build cleanup
64-bit linker had a number of warnings that the 32-bit linker did not.
It turned out to be because the 64-bit compiler is more picky about
declaring DLL exports 2-different ways, even if they are essentially
the same. The 32-bit linkder didn't complain. It is described here:
http://support.microsoft.com/kb/835326

The warnings that this suppresses are:

nhdefkey.c
Linking hdefkey.dll
Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation.  All rights reserved.

nhdefkey.o : warning LNK4197: export 'ProcessKeystroke' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'NHkbhit' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'CheckInput' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'SourceWhere' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'SourceAuthor' specified multiple times; using first specification
nhdefkey.o : warning LNK4197: export 'KeyHandlerName' specified multiple times; using first specification
   Creating library o\nhdefkey.lib and object o\nhdefkey.exp

nh340key.c
Linking h340key.dll
nh340key.o : warning LNK4197: export 'ProcessKeystroke' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'NHkbhit' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'CheckInput' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'SourceWhere' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'SourceAuthor' specified multiple times; using first specification
nh340key.o : warning LNK4197: export 'KeyHandlerName' specified multiple times; using first specification
   Creating library o\nh340key.lib and object o\nh340key.exp

nhraykey.c
Linking hraykey.dll
nhraykey.o : warning LNK4197: export 'ProcessKeystroke' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'CheckInput' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'NHkbhit' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'SourceWhere' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'SourceAuthor' specified multiple times; using first specification
nhraykey.o : warning LNK4197: export 'KeyHandlerName' specified multiple times; using first specification
   Creating library o\nhraykey.lib and object o\nhraykey.exp
2012-01-29 16:50:56 +00:00
nethack.allison
ef914be827 sync MS Makefile dependencies
sync some Makefile dependencies with sys/unix/Makefile.src
2012-01-20 13:05:21 +00:00
nethack.allison
bf106e38f2 Identify type of executable in Windows
For Windows, this just uses the RUNTIME_PORT_ID hook that was already in the code
to identify which executable you are running

Mike
2012-01-15 19:11:41 +00:00
nethack.allison
ead5101e0a More Microsoft Visual Studio 2010 Express compiler build
More updates to support the latest freely downloadable Microsoft compiler.
2012-01-15 17:43:54 +00:00
keni
4e5e720334 display version and build info at startup (trunk only)
Tested on the unix port; I've updated as many other ports as I can figure
out but they're not tested.  See window.doc for info on the changed banner
lines.  Also adds the ability to override the generic "Unix" port - used now to get
"MacOSX" into the version line instead of "Unix" (so we don't scare people who don't
know what's going on).
2011-10-11 02:37:31 +00:00
nethack.allison
aac052f0f0 Clean up the visual studio express build further
Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/
2010-09-05 14:22:20 +00:00
nethack.allison
0fa41c557d I missed removal of some unnecessary complication on the first pass of this.
Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/
2010-08-30 13:35:05 +00:00
nethack.allison
094e7c710a Update Install.nt instructions for VS Express 2010.
Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/
2010-08-30 13:14:41 +00:00
nethack.allison
7b7b396afc Enable build under current MS Visual Studio Express 2010 tools
Since the current suite is freely downloadable, remove the older VS files.

Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/
2010-08-30 13:00:53 +00:00
nethack.allison
0823f48b7d Enable build under current MS Visual Studio Express 2010 tools
Since the current suite is freely downloadable, remove the older VS files.

Committed on the Free edition of March Hare Software CVSNT Server.
Upgrade to CVS Suite for more features and support:
http://march-hare.com/cvsnt/
2010-08-30 12:34:10 +00:00
keni
4036a6727c Add RCS version lines 2009-05-06 10:55:43 +00:00
keni
6f0e178368 more SYSCF and related bits - cleanup and features
infrastructure for "system options" - things currently specified at build
 time that should be changeable at install time or run time but not really
 under user control
generalize contact info so it can be localized and it doesn't have to be
 an email address
move recently introduced WIZARDS into sysopt
drop bogus OPTIONS=wizards possibility
new function build_english_list() to comma-ize and add 'or' from a whitespace separated list: A.  A or B.  A, B, or C.
syscf file now handles: WIZARDS SUPPORT RECOVER
 SUPPORT specifies local support information
 RECOVER will eventually supply port-specific and/or localized info on how
  to run recover (or get it run for you).
Note: in sys/msdos I changed sys.o (generated from pcsys.c) to pcsys.o
Note: sys/msdos/Makefile.GCC has 2 rules for sys.o (now pcsys.o)
2008-01-31 00:56:59 +00:00
nethack.allison
d430db0718 remove time_t from struct you (trunk only)
There was an issue reported where save files between different
versions of a manufacturer's compiler were incompatible because the time_t
ubirthday field was changed from 32 bits to 64 bits.

32 bit time_t implementations will break at 19:14:07 on  January 18, 2038.
64 bit time_t implementations will break at 23:59:59 on December 31, 3000.

This removes the dependency on the size of time_t from the save file.
The ubirthday field is no longer embedded in struct you.
This also adds two general purpose routines to hacklib.c, one to convert a time
value to a 14 character char representation and the other to convert that
back to time_t. Those are used by the save/restore routines.

This is a savefile breaking change, so editlevel in patchlevel.h was
incremented.
2007-12-19 03:19:25 +00:00
nethack.allison
76345fb40c win32 build
- force time_t to be 32 bits via Makefile. (If struct u gets changed to not
store a time_t field, this can be removed).

- Latest Windows SDK (supporting Vista) causes a warning due to
a prototype in sys/winnt/nttty. Since we don't actually link with that
function and rely on a DLL find procedure at run time, comment out
the prototype. The function is now officially in the SDK in the
windows header files anyway.
2007-01-05 23:08:46 +00:00
nethack.allison
4169a3a308 Remove win32 mapi mail from distribution (trunk only) 2006-10-19 13:26:54 +00:00
nethack.allison
aed3d37e17 more unicode follow up
Set the unicode restriction bit when loading a symset when appropriate,
and a win32 console refinement.
2006-10-18 04:10:43 +00:00
nethack.allison
7f0f43e6f9 add some unicode support (trunk only)
This patch attempts to add some levels of unicode support
to NetHack.

The master on/off switch for any Unicode support is
defining UNICODE_SUPPORT in config.h. Currently
there is code support for two subsets of unicode support:

UNICODE_DRAWING

If UNICODE_DRAWING is defined, then the data
structures used to house drawing symbols are expanded
to the size of wchar_t, big enough to hold unicode characters.
A typdef called `nhsym' is involved and if UNICODE_DRAWING
is defined, it is wchar_t, otherwise it is uchar.

UNICODE_WIDEWINPORT

If UNICODE_WIDEWINPORT is defined, then the data
structures inside the window port are expanded to the size of
wchar_t, big enough to hold unicode characters.  Both map
symbols and text within the window port are expanded, in order
for potential support for displaying multinational characters some
day, but this patch only provides viewing of map symbols.
A typdef called `nhwchar' is involved and if UNICODE_WIDEWINPORT
is defined, it is wchar_t, otherwise it is char.

The only window port with code support for UNICODE_WIDEWINPORT
currently is the TTY port.  Don't enable UNICODE_WIDEWINPORT
unless:
- it is a TTY port
- the underlying platform specific routines can
handle the larger data structures.

Don't enable UNICODE_SUPPORT unless:
- your compiler can handle wchar_t.
- your compiler can accept L'a' characters.
- your compiler can accept L"wide" strings.

Note that if your compiler can handle the above, you could
enable the larger data structures (currently if TTY) even if your
platform can't actually display unicode or UTF-8, by messing
with u_putch() in win/tty/wintty.c to only deal regular chars.
That should be the only function that actually pushes wide characters
out to the display.

If you enable UNICODE_SUPPORT, and your platform is capable
you will need to turn on the unicode run-time option to be able to
load unicode character sets from the symbol file, to be able to
push unicode characters to the display. You'll also want to load
a unicode symbol set once the unicode option is toggled on. In
a config file you would do that via these two lines:
OPTIONS=unicode
OPTIONS=symset:Unicode_non_US

The repository was stamped with NETHACK_PRE_UNICODE
prior to applying this patch, and stamped with
NETHACK_POST_UNICODE afterwards. The code differences
between those two tagged versions are this patch.
2006-10-17 23:55:42 +00:00
nethack.allison
4ba3b7da34 win32 palette option tweak
The palette option is supposed to be allowed in the config file
without a value for win32 to trigger a load of a predefined
NetHack palette, but that wasn't working.

This fixes that. To prevent the use of any palette modification
code at all, just leave the palette option out of the config
file entirely.
2006-10-05 03:11:52 +00:00