Commit Graph
692 Commits
Author SHA1 Message Date
nhmall 00f2feb83d Merge branch 'NetHack-3.6.2' 2019-01-21 06:47:42 -05:00
nhmall a6c290399b Windows warning fix 2019-01-19 11:04:26 -05:00
nhmall 5b3168e1c5 Merge branch 'NetHack-3.6.2' 2018-12-30 08:43:54 -05:00
nhmall 83e8033f72 remove curses date.h dependency in Windows Makefiles 2018-12-30 07:58:39 -05:00
nhmall fac470096b Merge branch 'NetHack-3.6.2' 2018-12-29 12:37:27 -05:00
nhmall eed7c4bdd1 nttty topten output processing
switch back to using the safe routines
after tty port exits on Windows console
tty port.

Fixes H7758
1613
2018-12-29 12:26:33 -05:00
nhmall 1d7f75ac9e Merge branch 'NetHack-3.6.2' 2018-12-28 12:57:16 -05:00
nhmall fc504dfa89 yet more Windows Makefile
Now that the dependency lines are corrected for the
correct output files in the Makefile, it revealed a
dependency on a non-existent file.
2018-12-28 12:51:11 -05:00
nhmall 49b70c1c10 Merge branch 'NetHack-3.6.2' 2018-12-28 12:39:05 -05:00
nhmall be67656932 More Windows Makefile corrections 2018-12-28 12:34:41 -05:00
nhmall 1cdb9c561c Windows Makefile updates 2018-12-28 12:29:12 -05:00
Bart House ed096f74c3 shk followmsg moved to instance globals. early_init introduced. 2018-12-25 17:46:52 -08:00
Bart House c67f7e5122 globals from files.c moved to instance globals. 2018-12-25 12:56:27 -08:00
Bart House b1ab64db43 program_state moved to g. 2018-12-25 10:09:04 -08:00
Bart House 0763046c38 zeroX, tc_gbl_data and fqn_prefix moved to instance globals. 2018-12-25 08:09:37 -08:00
Bart House 8c1a4d9a97 invent, youmonst, hackdir moved to g. 2018-12-24 21:04:15 -08:00
Bart House 74edf42f1c Moved decl.c globals into instance globals. 2018-12-22 18:44:22 -08:00
Bart House 576eece500 More globals moved to instance_globals. 2018-12-19 21:26:35 -08:00
Bart House 3645e415e3 Moved more globals to instance_globals. 2018-12-19 20:01:55 -08:00
nhmall 616a469f0f Merge branch 'NetHack-3.6.2' 2018-12-19 06:47:30 -05:00
nhmall a2296d043f eliminate sys/share/pcsys.c from Windows build
Windows build was actually only using a single function
in there, so just add a similar function to sys/winnt/winnt.c
and eliminate the need for including sys/share/pcsys.c in
the build.
2018-12-19 06:43:00 -05:00
nhmall 16f651c338 Merge branch 'NetHack-3.6.2' 2018-12-16 08:00:30 -05:00
nhmall 42d9af1b23 don't show stubs in window port valid list 2018-12-15 23:11:52 -05:00
nhmall 9b16cf373c Merge branch 'NetHack-3.6.2' 2018-12-15 23:00:49 -05:00
nhmall 1b1ea19e57 comment out PDCurses bt default again 2018-12-15 22:04:55 -05:00
nhmall 1b0719a8cc Makefile.msc update
Tell people where to find the latest PDCurses git
repository
2018-12-15 21:52:00 -05:00
nhmall 3709fcbffa Merge branch 'NetHack-3.6.2' 2018-12-15 18:25:08 -05:00
nhmall be9d974c4d Makefile.msc update 2018-12-15 02:17:15 -05:00
nhmall 16cda0882c fix up PDCurses cursor placement for prompts 2018-12-14 23:08:41 -05:00
nhmall f6625995d4 Merge branch 'NetHack-3.6.2' 2018-12-14 17:27:26 -05:00
nhmall 5e37d5b5d4 commented out by default 2018-12-13 20:11:03 -05:00
nhmall 36d27b11bd pdcurses expected objs
Match the required curses obj's in most recent updates from
git clone https://git.code.sf.net/p/pdcurses/code pdcurses
2018-12-13 20:07:22 -05:00
nhmall e89a278f4b Merge branch 'NetHack-3.6.2' 2018-12-13 08:46:02 -05:00
Bart House 0cd50847fb Changes to get fuzzer working in NetHackW. 2018-12-12 21:46:14 -08:00
nhmall ca84486133 clean master after moving of newer content to feature branch 2018-12-10 22:16:08 -05:00
nhmall e0a3bc928b Merge branch 'NetHack-3.6.2' 2018-12-10 09:18:20 -05:00
nhmall 56dc7e150c allow a deferred windowport init during options processing
When options processing encountered OPTIONS=windowtype:X,
the code would immediately attempt to switch over to that
windowtype right in the midst of options processing.

This stores the chosen option into
chosen_window[WINTYPELEN]
thus allowing the startup code to choose it after
options processing has been completed.
2018-12-10 00:44:18 -05:00
Bart House 04d3be930b Changes to font size and vary_msgcount options for Windows nethack ports. 2018-12-09 14:37:07 -08:00
nhmall 46d2724f58 some early startup adjustments 2018-12-09 13:09:30 -05:00
nhmall cb191e6a0e more windmain 2018-12-09 10:14:19 -05:00
nhmall f706ba094c clean up some tear-down
Windows continued to use function pointers belonging
to particular window ports that were still assigned
even after that port (tty) had gone through its
shutdown procedures when requested by the core.
Fix that and return to the minimal function pointers
that are not part of any of the actual WindowPorts.
2018-12-08 23:04:53 -05:00
nhmall 8d516d4358 clean up Windows exit routines 2018-12-08 22:34:50 -05:00
nhmall 01625455d9 more startup tweaking for Windows 2018-12-08 21:17:34 -05:00
nhmall 4d2abbe23f Makefile.msc bit 2018-12-08 20:11:25 -05:00
nhmall b853c6a75b Makefile.msc update 2018-12-08 18:45:48 -05:00
nhmall dc1e2da359 Windows startup modifications
Changes to be committed:
	modified:   include/winprocs.h
	modified:   src/options.c
	modified:   sys/share/pcmain.c
	new file:   sys/share/safeproc.c
	modified:   sys/winnt/Makefile.msc
	modified:   sys/winnt/stubs.c
	new file:   sys/winnt/windmain.c
	modified:   sys/winnt/winnt.c
	modified:   win/win32/vs2017/NetHack.vcxproj
	modified:   win/win32/vs2017/NetHackW.vcxproj
	modified:   win/win32/winhack.c

Because multiple window ports are supported on Windows
now, even in the same executable and selectable via
config file in some cases, some adjustments became
necessary. There will likely be some further refining
of this over the next day or two.

List of changes:

Move Windows startup from sys/share/pcmain.c and
into its own sys/winnt/windmain.c so that it can
be modified to fix some current breakage, and
allow altering the order of some things.

There is startup processing code that is common to
all of the Windows WindowPorts, but that startup
processing code needs to have no dependency on
any one of those WindowPorts.

Yet, during startup processing, some of the initialization
routines can end up calling NetHack functions that
expect an active Window port underneath, and if there
isn't one, routines like pline, impossible, panic can
end up invoking null function pointers.

Place a new file sys/share/safeproc.c, in which a complete
window port is available for early startup processing
purposes. It's WindowPort name field is set to
"safe-startup" just for reference.  The prototypes in
include/winprocs.h require that SAFEPROCS be

Usage:

 windowprocs = get_safe_procs(0);
initializes a set of winprocs function pointers that ensure
none of the function pointers are left null, but that's all it does.

 windowprocs = get_safe_procs(1);
initializes a set of winprocs functions pointers that ensure
none of the function pointers are left null, but also
provides some basic output and input functionality using nothing
other than C stdio routines (no platform or OS specific code).

The conditional code related to WIN32 has been removed from
sys/share/pcmain.c

The code common to all of the Windows WindowPorts calls
get_safe_procs() almost immediately to ensure that
there is a set of WindowPort winprocs available.
2018-12-08 17:56:20 -05:00
nhmall f94c6f2615 Merge branch 'NetHack-3.6.2' 2018-12-04 21:38:30 -05:00
Bart House f3dcdc7fda Splash dialog and main window handle dpi change notifications. 2018-12-02 18:09:34 -08:00
nhmall 680be48ef0 Merge branch 'NetHack-3.6.2' 2018-12-02 10:01:27 -05:00
nhmall 4a4b3fb8f1 add a macro to ease conditional testing based on active window port
Add WINDOWPORT macro

example:
if (WINDOWPORT("tty"))
	pline("Look at me, I'm on tty at the moment!");
2018-12-02 09:56:44 -05:00