Merge branch 'NetHack-3.6.2'
This commit is contained in:
+41
-41
@@ -229,44 +229,44 @@ particularly intriguing modification to help out with the game. The gods
|
|||||||
of the dungeon sometimes make note of the names of the worst of these
|
of the dungeon sometimes make note of the names of the worst of these
|
||||||
miscreants in this, the list of Dungeoneers:
|
miscreants in this, the list of Dungeoneers:
|
||||||
|
|
||||||
Adam Aronow J. Ali Harlow Mikko Juola
|
Adam Aronow Janet Walz Nathan Eady
|
||||||
Alex Kompel Janet Walz Nathan Eady
|
Alex Kompel Janne Salmijarvi Norm Meluch
|
||||||
Alex Smith Janne Salmijarvi Norm Meluch
|
Alex Smith Jean-Christophe Collet Olaf Seibert
|
||||||
Andreas Dorn Jean-Christophe Collet Olaf Seibert
|
Andreas Dorn Jeff Bailey Pasi Kallinen
|
||||||
Andy Church Jeff Bailey Pasi Kallinen
|
Andy Church Jochen Erwied Pat Rankin
|
||||||
Andy Swanson Jochen Erwied Pat Rankin
|
Andy Swanson John Kallen Patric Mueller
|
||||||
Ari Huttunen John Kallen Patric Mueller
|
Ari Huttunen John Rupley Paul Winner
|
||||||
Barton House John Rupley Paul Winner
|
Barton House John S. Bien Pierre Martineau
|
||||||
Benson I. Margulies John S. Bien Pierre Martineau
|
Benson I. Margulies Johnny Lee Ralf Brown
|
||||||
Bill Dyer Johnny Lee Ralf Brown
|
Bill Dyer Jon W{tte Ray Chason
|
||||||
Boudewijn Waijers Jon W{tte Ray Chason
|
Boudewijn Waijers Jonathan Handler Richard Addison
|
||||||
Bruce Cox Jonathan Handler Richard Addison
|
Bruce Cox Joshua Delahunty Richard Beigel
|
||||||
Bruce Holloway Joshua Delahunty Richard Beigel
|
Bruce Holloway Karl Garrison Richard P. Hughey
|
||||||
Bruce Mewborne Keizo Yamamoto Richard P. Hughey
|
Bruce Mewborne Keizo Yamamoto Rob Menke
|
||||||
Carl Schelin Ken Arnold Rob Menke
|
Carl Schelin Ken Arnold Robin Bandy
|
||||||
Chris Russo Ken Arromdee Robin Bandy
|
Chris Russo Ken Arromdee Robin Johnson
|
||||||
David Cohrs Ken Lorber Robin Johnson
|
David Cohrs Ken Lorber Roderick Schertler
|
||||||
David Damerell Ken Washikita Roderick Schertler
|
David Damerell Ken Washikita Roland McGrath
|
||||||
David Gentzel Kevin Darcy Roland McGrath
|
David Gentzel Kevin Darcy Ron Van Iwaarden
|
||||||
David Hairston Kevin Hugo Ron Van Iwaarden
|
David Hairston Kevin Hugo Ronnen Miller
|
||||||
Dean Luick Kevin Sitze Ronnen Miller
|
Dean Luick Kevin Sitze Ross Brown
|
||||||
Del Lamb Kevin Smolkowski Ross Brown
|
Del Lamb Kevin Smolkowski Sascha Wostmann
|
||||||
Derek S. Ray Kevin Sweet Sascha Wostmann
|
Derek S. Ray Kevin Sweet Scott Bigham
|
||||||
Deron Meranda Lars Huttar Scott Bigham
|
Deron Meranda Lars Huttar Scott R. Turner
|
||||||
Dion Nicolaas Leon Arnott Scott R. Turner
|
Dion Nicolaas Leon Arnott Sean Hunt
|
||||||
Dylan O'Donnell M. Drew Streib Sean Hunt
|
Dylan O'Donnell M. Drew Streib Stephen Spackman
|
||||||
Eric Backus Malcolm Ryan Stephen Spackman
|
Eric Backus Malcolm Ryan Stefan Thielscher
|
||||||
Eric Hendrickson Mark Gooderum Stefan Thielscher
|
Eric Hendrickson Mark Gooderum Stephen White
|
||||||
Eric R. Smith Mark Modrall Stephen White
|
Eric R. Smith Mark Modrall Steve Creps
|
||||||
Eric S. Raymond Marvin Bressler Steve Creps
|
Eric S. Raymond Marvin Bressler Steve Linhart
|
||||||
Erik Andersen Matthew Day Steve Linhart
|
Erik Andersen Matthew Day Steve VanDevender
|
||||||
Frederick Roeber Merlyn LeRoy Steve VanDevender
|
Frederick Roeber Merlyn LeRoy Teemu Suikki
|
||||||
Gil Neiger Michael Allison Teemu Suikki
|
Gil Neiger Michael Allison Tim Lennan
|
||||||
Greg Laskin Michael Feir Tim Lennan
|
Greg Laskin Michael Feir Timo Hakulinen
|
||||||
Greg Olson Michael Hamel Timo Hakulinen
|
Greg Olson Michael Hamel Tom Almy
|
||||||
Gregg Wonderly Michael Sokolov Tom Almy
|
Gregg Wonderly Michael Sokolov Tom West
|
||||||
Hao-yang Wang Mike Engber Tom West
|
Hao-yang Wang Mike Engber Warren Cheung
|
||||||
Helge Hafting Mike Gallop Warren Cheung
|
Helge Hafting Mike Gallop Warwick Allison
|
||||||
Irina Rempt-Drijfhout Mike Passaretti Warwick Allison
|
Irina Rempt-Drijfhout Mike Passaretti Yitzhak Sapir
|
||||||
Izchak Miller Mike Stephenson Yitzhak Sapir
|
Izchak Miller Mike Stephenson
|
||||||
|
J. Ali Harlow Mikko Juola
|
||||||
|
|||||||
+42
-41
@@ -24,7 +24,7 @@
|
|||||||
.ds vr "NetHack 3.6
|
.ds vr "NetHack 3.6
|
||||||
.ds f0 "\*(vr
|
.ds f0 "\*(vr
|
||||||
.ds f1
|
.ds f1
|
||||||
.ds f2 "November 27, 2018
|
.ds f2 "November 29, 2018
|
||||||
.
|
.
|
||||||
.\" A note on some special characters:
|
.\" A note on some special characters:
|
||||||
.\" \(lq = left double quote
|
.\" \(lq = left double quote
|
||||||
@@ -4950,46 +4950,47 @@ in this, the list of Dungeoneers:
|
|||||||
center;
|
center;
|
||||||
c c c.
|
c c c.
|
||||||
.\"TABLE_START
|
.\"TABLE_START
|
||||||
Adam Aronow J. Ali Harlow Mikko Juola
|
Adam Aronow Janet Walz Nathan Eady
|
||||||
Alex Kompel Janet Walz Nathan Eady
|
Alex Kompel Janne Salmijarvi Norm Meluch
|
||||||
Alex Smith Janne Salmijarvi Norm Meluch
|
Alex Smith Jean-Christophe Collet Olaf Seibert
|
||||||
Andreas Dorn Jean-Christophe Collet Olaf Seibert
|
Andreas Dorn Jeff Bailey Pasi Kallinen
|
||||||
Andy Church Jeff Bailey Pasi Kallinen
|
Andy Church Jochen Erwied Pat Rankin
|
||||||
Andy Swanson Jochen Erwied Pat Rankin
|
Andy Swanson John Kallen Patric Mueller
|
||||||
Ari Huttunen John Kallen Patric Mueller
|
Ari Huttunen John Rupley Paul Winner
|
||||||
Barton House John Rupley Paul Winner
|
Barton House John S. Bien Pierre Martineau
|
||||||
Benson I. Margulies John S. Bien Pierre Martineau
|
Benson I. Margulies Johnny Lee Ralf Brown
|
||||||
Bill Dyer Johnny Lee Ralf Brown
|
Bill Dyer Jon W{tte Ray Chason
|
||||||
Boudewijn Waijers Jon W{tte Ray Chason
|
Boudewijn Waijers Jonathan Handler Richard Addison
|
||||||
Bruce Cox Jonathan Handler Richard Addison
|
Bruce Cox Joshua Delahunty Richard Beigel
|
||||||
Bruce Holloway Joshua Delahunty Richard Beigel
|
Bruce Holloway Karl Garrison Richard P. Hughey
|
||||||
Bruce Mewborne Keizo Yamamoto Richard P. Hughey
|
Bruce Mewborne Keizo Yamamoto Rob Menke
|
||||||
Carl Schelin Ken Arnold Rob Menke
|
Carl Schelin Ken Arnold Robin Bandy
|
||||||
Chris Russo Ken Arromdee Robin Bandy
|
Chris Russo Ken Arromdee Robin Johnson
|
||||||
David Cohrs Ken Lorber Robin Johnson
|
David Cohrs Ken Lorber Roderick Schertler
|
||||||
David Damerell Ken Washikita Roderick Schertler
|
David Damerell Ken Washikita Roland McGrath
|
||||||
David Gentzel Kevin Darcy Roland McGrath
|
David Gentzel Kevin Darcy Ron Van Iwaarden
|
||||||
David Hairston Kevin Hugo Ron Van Iwaarden
|
David Hairston Kevin Hugo Ronnen Miller
|
||||||
Dean Luick Kevin Sitze Ronnen Miller
|
Dean Luick Kevin Sitze Ross Brown
|
||||||
Del Lamb Kevin Smolkowski Ross Brown
|
Del Lamb Kevin Smolkowski Sascha Wostmann
|
||||||
Derek S. Ray Kevin Sweet Sascha Wostmann
|
Derek S. Ray Kevin Sweet Scott Bigham
|
||||||
Deron Meranda Lars Huttar Scott Bigham
|
Deron Meranda Lars Huttar Scott R. Turner
|
||||||
Dion Nicolaas Leon Arnott Scott R. Turner
|
Dion Nicolaas Leon Arnott Sean Hunt
|
||||||
Dylan O'Donnell M. Drew Streib Sean Hunt
|
Dylan O'Donnell M. Drew Streib Stephen Spackman
|
||||||
Eric Backus Malcolm Ryan Stephen Spackman
|
Eric Backus Malcolm Ryan Stefan Thielscher
|
||||||
Eric Hendrickson Mark Gooderum Stefan Thielscher
|
Eric Hendrickson Mark Gooderum Stephen White
|
||||||
Eric R. Smith Mark Modrall Stephen White
|
Eric R. Smith Mark Modrall Steve Creps
|
||||||
Eric S. Raymond Marvin Bressler Steve Creps
|
Eric S. Raymond Marvin Bressler Steve Linhart
|
||||||
Erik Andersen Matthew Day Steve Linhart
|
Erik Andersen Matthew Day Steve VanDevender
|
||||||
Frederick Roeber Merlyn LeRoy Steve VanDevender
|
Frederick Roeber Merlyn LeRoy Teemu Suikki
|
||||||
Gil Neiger Michael Allison Teemu Suikki
|
Gil Neiger Michael Allison Tim Lennan
|
||||||
Greg Laskin Michael Feir Tim Lennan
|
Greg Laskin Michael Feir Timo Hakulinen
|
||||||
Greg Olson Michael Hamel Timo Hakulinen
|
Greg Olson Michael Hamel Tom Almy
|
||||||
Gregg Wonderly Michael Sokolov Tom Almy
|
Gregg Wonderly Michael Sokolov Tom West
|
||||||
Hao-yang Wang Mike Engber Tom West
|
Hao-yang Wang Mike Engber Warren Cheung
|
||||||
Helge Hafting Mike Gallop Warren Cheung
|
Helge Hafting Mike Gallop Warwick Allison
|
||||||
Irina Rempt-Drijfhout Mike Passaretti Warwick Allison
|
Irina Rempt-Drijfhout Mike Passaretti Yitzhak Sapir
|
||||||
Izchak Miller Mike Stephenson Yitzhak Sapir
|
Izchak Miller Mike Stephenson
|
||||||
|
J. Ali Harlow Mikko Juola
|
||||||
.\"TABLE_END Do not delete this line.
|
.\"TABLE_END Do not delete this line.
|
||||||
.TE
|
.TE
|
||||||
.pg
|
.pg
|
||||||
|
|||||||
+42
-41
@@ -45,7 +45,7 @@
|
|||||||
%.au
|
%.au
|
||||||
\author{Original version - Eric S. Raymond\\
|
\author{Original version - Eric S. Raymond\\
|
||||||
(Edited and expanded for 3.6 by Mike Stephenson and others)}
|
(Edited and expanded for 3.6 by Mike Stephenson and others)}
|
||||||
\date{November 27, 2018}
|
\date{November 29, 2018}
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
|
||||||
@@ -5523,46 +5523,47 @@ in this, the list of Dungeoneers:
|
|||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tabular}{llll}
|
\begin{tabular}{llll}
|
||||||
%TABLE_START
|
%TABLE_START
|
||||||
Adam Aronow & J. Ali Harlow & Mikko Juola\\
|
Adam Aronow & Janet Walz & Nathan Eady\\
|
||||||
Alex Kompel & Janet Walz & Nathan Eady\\
|
Alex Kompel & Janne Salmij\"{a}rvi & Norm Meluch\\
|
||||||
Alex Smith & Janne Salmij\"{a}rvi & Norm Meluch\\
|
Alex Smith & Jean-Christophe Collet & Olaf Seibert\\
|
||||||
Andreas Dorn & Jean-Christophe Collet & Olaf Seibert\\
|
Andreas Dorn & Jeff Bailey & Pasi Kallinen\\
|
||||||
Andy Church & Jeff Bailey & Pasi Kallinen\\
|
Andy Church & Jochen Erwied & Pat Rankin\\
|
||||||
Andy Swanson & Jochen Erwied & Pat Rankin\\
|
Andy Swanson & John Kallen & Patric Mueller\\
|
||||||
Ari Huttunen & John Kallen & Patric Mueller\\
|
Ari Huttunen & John Rupley & Paul Winner\\
|
||||||
Barton House & John Rupley & Paul Winner\\
|
Barton House & John S. Bien & Pierre Martineau\\
|
||||||
Benson I. Margulies & John S. Bien & Pierre Martineau\\
|
Benson I. Margulies & Johnny Lee & Ralf Brown\\
|
||||||
Bill Dyer & Johnny Lee & Ralf Brown\\
|
Bill Dyer & Jon W\{tte & Ray Chason\\
|
||||||
Boudewijn Waijers & Jon W\{tte & Ray Chason\\
|
Boudewijn Waijers & Jonathan Handler & Richard Addison\\
|
||||||
Bruce Cox & Jonathan Handler & Richard Addison\\
|
Bruce Cox & Joshua Delahunty & Richard Beigel\\
|
||||||
Bruce Holloway & Joshua Delahunty & Richard Beigel\\
|
Bruce Holloway & Karl Garrison & Richard P. Hughey\\
|
||||||
Bruce Mewborne & Keizo Yamamoto & Richard P. Hughey\\
|
Bruce Mewborne & Keizo Yamamoto & Rob Menke\\
|
||||||
Carl Schelin & Ken Arnold & Rob Menke\\
|
Carl Schelin & Ken Arnold & Robin Bandy\\
|
||||||
Chris Russo & Ken Arromdee & Robin Bandy\\
|
Chris Russo & Ken Arromdee & Robin Johnson\\
|
||||||
David Cohrs & Ken Lorber & Robin Johnson\\
|
David Cohrs & Ken Lorber & Roderick Schertler\\
|
||||||
David Damerell & Ken Washikita & Roderick Schertler\\
|
David Damerell & Ken Washikita & Roland McGrath\\
|
||||||
David Gentzel & Kevin Darcy & Roland McGrath\\
|
David Gentzel & Kevin Darcy & Ron Van Iwaarden\\
|
||||||
David Hairston & Kevin Hugo & Ron Van Iwaarden\\
|
David Hairston & Kevin Hugo & Ronnen Miller\\
|
||||||
Dean Luick & Kevin Sitze & Ronnen Miller\\
|
Dean Luick & Kevin Sitze & Ross Brown\\
|
||||||
Del Lamb & Kevin Smolkowski & Ross Brown\\
|
Del Lamb & Kevin Smolkowski & Sascha Wostmann\\
|
||||||
Derek S. Ray & Kevin Sweet & Sascha Wostmann\\
|
Derek S. Ray & Kevin Sweet & Scott Bigham\\
|
||||||
Deron Meranda & Lars Huttar & Scott Bigham\\
|
Deron Meranda & Lars Huttar & Scott R. Turner\\
|
||||||
Dion Nicolaas & Leon Arnott & Scott R. Turner\\
|
Dion Nicolaas & Leon Arnott & Sean Hunt\\
|
||||||
Dylan O'Donnell & M. Drew Streib & Sean Hunt\\
|
Dylan O'Donnell & M. Drew Streib & Stephen Spackman\\
|
||||||
Eric Backus & Malcolm Ryan & Stephen Spackman\\
|
Eric Backus & Malcolm Ryan & Stefan Thielscher\\
|
||||||
Eric Hendrickson & Mark Gooderum & Stefan Thielscher\\
|
Eric Hendrickson & Mark Gooderum & Stephen White\\
|
||||||
Eric R. Smith & Mark Modrall & Stephen White\\
|
Eric R. Smith & Mark Modrall & Steve Creps\\
|
||||||
Eric S. Raymond & Marvin Bressler & Steve Creps\\
|
Eric S. Raymond & Marvin Bressler & Steve Linhart\\
|
||||||
Erik Andersen & Matthew Day & Steve Linhart\\
|
Erik Andersen & Matthew Day & Steve VanDevender\\
|
||||||
Frederick Roeber & Merlyn LeRoy & Steve VanDevender\\
|
Frederick Roeber & Merlyn LeRoy & Teemu Suikki\\
|
||||||
Gil Neiger & Michael Allison & Teemu Suikki\\
|
Gil Neiger & Michael Allison & Tim Lennan\\
|
||||||
Greg Laskin & Michael Feir & Tim Lennan\\
|
Greg Laskin & Michael Feir & Timo Hakulinen\\
|
||||||
Greg Olson & Michael Hamel & Timo Hakulinen\\
|
Greg Olson & Michael Hamel & Tom Almy\\
|
||||||
Gregg Wonderly & Michael Sokolov & Tom Almy\\
|
Gregg Wonderly & Michael Sokolov & Tom West\\
|
||||||
Hao-yang Wang & Mike Engber & Tom West\\
|
Hao-yang Wang & Mike Engber & Warren Cheung\\
|
||||||
Helge Hafting & Mike Gallop & Warren Cheung\\
|
Helge Hafting & Mike Gallop & Warwick Allison\\
|
||||||
Irina Rempt-Drijfhout & Mike Passaretti & Warwick Allison\\
|
Irina Rempt-Drijfhout & Mike Passaretti & Yitzhak Sapir\\
|
||||||
Izchak Miller & Mike Stephenson & Yitzhak Sapir
|
Izchak Miller & Mike Stephenson\\
|
||||||
|
J. Ali Harlow & Mikko Juola
|
||||||
%TABLE_END Do not delete this line.
|
%TABLE_END Do not delete this line.
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|||||||
+22
-1
@@ -225,6 +225,15 @@ scattering of objects might leave source location with wrong thing displayed
|
|||||||
for configurations with 'long int' larger than 'int', lev_comp wrote some
|
for configurations with 'long int' larger than 'int', lev_comp wrote some
|
||||||
garbage into the *.lev files, but nethack seemed unaffected by that
|
garbage into the *.lev files, but nethack seemed unaffected by that
|
||||||
(at least on little-endian hardare) and loaded the levels successfully
|
(at least on little-endian hardare) and loaded the levels successfully
|
||||||
|
stinking cloud placed near water could kill underwater creatures
|
||||||
|
applying--rather than wielding--a cursed polearm or weapon-tool didn't report
|
||||||
|
that it had become welded to hero's hand(s)
|
||||||
|
the message when riding a steed into a pit was composed but not shown
|
||||||
|
dismount that kills steed because there is no room to put it on map blamed the
|
||||||
|
hero; change that to only blame hero if dismount was voluntary
|
||||||
|
to emphasize that it's not a light source, change description of wielded Sting
|
||||||
|
from "(glowing light blue)" to "(light blue aura)" when sighted and
|
||||||
|
from "(glowing)" to nothing (not warm enough to feel) when blind
|
||||||
|
|
||||||
|
|
||||||
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository
|
||||||
@@ -242,6 +251,8 @@ ensure tmp_at() structures are initialized for all code paths when swallowed
|
|||||||
trapped-vs-levitation/flying change broke Sting releasing hero from web
|
trapped-vs-levitation/flying change broke Sting releasing hero from web
|
||||||
life-saving while poly'd and Unchanging wasn't restoring u.mh (HP as monster)
|
life-saving while poly'd and Unchanging wasn't restoring u.mh (HP as monster)
|
||||||
change in searching stopped finding unseen monsters except hiders and eels
|
change in searching stopped finding unseen monsters except hiders and eels
|
||||||
|
buliding with EXTRA_SANITY_CHECKS enabled would issue "no monster to remove"
|
||||||
|
warning if steed was killed out from under the hero
|
||||||
tty: turn off an optimization that is the suspected cause of Windows reported
|
tty: turn off an optimization that is the suspected cause of Windows reported
|
||||||
partial status lines following level changes
|
partial status lines following level changes
|
||||||
tty: ensure that current status fields are always copied to prior status
|
tty: ensure that current status fields are always copied to prior status
|
||||||
@@ -263,6 +274,8 @@ windows-gui: In nethackw, there could be conflicts between menu accelerators
|
|||||||
and an extra choice accelerator to fix H7132.
|
and an extra choice accelerator to fix H7132.
|
||||||
windows-gui: recognize new BL_RESET in status_update; no change in behavior yet
|
windows-gui: recognize new BL_RESET in status_update; no change in behavior yet
|
||||||
windows-gui: align hpbar behavior at zero hit points with tty behavior
|
windows-gui: align hpbar behavior at zero hit points with tty behavior
|
||||||
|
windows-gui: add support for status_hilites for the player condition field
|
||||||
|
such as stone, slime, strngl, blind, deaf, stun, conf, etc.
|
||||||
windows-tty: Specify both width and height when creating font for width testing
|
windows-tty: Specify both width and height when creating font for width testing
|
||||||
windows-tty: To counter lag problems that were occuring with the Win32 console
|
windows-tty: To counter lag problems that were occuring with the Win32 console
|
||||||
port, implement a console back buffer to reduce the number of calls
|
port, implement a console back buffer to reduce the number of calls
|
||||||
@@ -281,9 +294,14 @@ windows-tty: augment codepage850-to-Unicode mappings that are not displayable
|
|||||||
with codepage437-to-Unicode mappings that are, to help ensure
|
with codepage437-to-Unicode mappings that are, to help ensure
|
||||||
that rogue-level characters in the status line match their appearance
|
that rogue-level characters in the status line match their appearance
|
||||||
on the map
|
on the map
|
||||||
|
windows-tty: add support for mouse_support:0 (disabled), mouse_support:1
|
||||||
|
(fully-functional including disabling QuickEdit on Windows console
|
||||||
|
because QuickEdit intercepts the mouse clicks so NetHack never sees
|
||||||
|
them), or mouse_support:2 (NetHack support on but QuickEdit left as is)
|
||||||
windows: Added ntassert() mechanism for Windows based port use
|
windows: Added ntassert() mechanism for Windows based port use
|
||||||
windows: heed OPTIONS=symset:default in config file if it is present
|
windows: heed OPTIONS=symset:default in config file if it is present
|
||||||
windows: add curses window port
|
windows: add curses window port which can co-exist with tty in exe and be
|
||||||
|
selectable in user config file via OPTIONS=windowtype:curses
|
||||||
tty: significant optimizations for performance and per field rendering
|
tty: significant optimizations for performance and per field rendering
|
||||||
tty: use WC2_FLUSH_STATUS to buffer changes until BL_FLUSH is received
|
tty: use WC2_FLUSH_STATUS to buffer changes until BL_FLUSH is received
|
||||||
tty: support BL_RESET in status_update to force an update to all status fields
|
tty: support BL_RESET in status_update to force an update to all status fields
|
||||||
@@ -315,6 +333,9 @@ X11: don't reuse perm_invent window for picking an object
|
|||||||
X11: obey mouse_support and allow toggling it in game
|
X11: obey mouse_support and allow toggling it in game
|
||||||
X11: obey menu movement keys
|
X11: obey menu movement keys
|
||||||
X11: enable menu [cancel] button for PICK_NONE menus
|
X11: enable menu [cancel] button for PICK_NONE menus
|
||||||
|
X11: text popups on OSX wouldn't accept keyboard input unless the 'autofocus'
|
||||||
|
resource was enabled; most noticeable when trying to dismiss 'things
|
||||||
|
that are here' while walking over object piles
|
||||||
|
|
||||||
|
|
||||||
General New Features
|
General New Features
|
||||||
|
|||||||
@@ -94,6 +94,15 @@ extern void FDECL(interject, (int));
|
|||||||
*===============================================
|
*===============================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
#ifdef strncasecmp
|
||||||
|
#undef strncasecmp
|
||||||
|
#endif
|
||||||
|
#ifdef strcasecmp
|
||||||
|
#undef strcasecmp
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#if (_MSC_VER > 1000)
|
#if (_MSC_VER > 1000)
|
||||||
/* Visual C 8 warning elimination */
|
/* Visual C 8 warning elimination */
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ struct menu_info_t {
|
|||||||
boolean cancelled; /* Menu has been explicitly cancelled. */
|
boolean cancelled; /* Menu has been explicitly cancelled. */
|
||||||
boolean counting; /* true when menu_count has a valid value */
|
boolean counting; /* true when menu_count has a valid value */
|
||||||
boolean permi;
|
boolean permi;
|
||||||
|
boolean disable_mcolors; /* disable menucolors */
|
||||||
|
|
||||||
int permi_x, permi_y; /* perm_invent window x,y */
|
int permi_x, permi_y; /* perm_invent window x,y */
|
||||||
int permi_w, permi_h; /* perm_invent window wid, hei */
|
int permi_w, permi_h; /* perm_invent window wid, hei */
|
||||||
|
|||||||
+5
-10
@@ -7,16 +7,11 @@
|
|||||||
|
|
||||||
/* Global declarations for curses interface */
|
/* Global declarations for curses interface */
|
||||||
|
|
||||||
int term_rows, term_cols; /* size of underlying terminal */
|
extern int term_rows, term_cols; /* size of underlying terminal */
|
||||||
|
extern int orig_cursor; /* Preserve initial cursor state */
|
||||||
WINDOW *base_term; /* underlying terminal window */
|
extern WINDOW *base_term; /* underlying terminal window */
|
||||||
|
extern boolean counting; /* Count window is active */
|
||||||
WINDOW *mapwin, *statuswin, *messagewin; /* Main windows */
|
extern WINDOW *mapwin, *statuswin, *messagewin; /* Main windows */
|
||||||
|
|
||||||
int orig_cursor; /* Preserve initial cursor state */
|
|
||||||
|
|
||||||
boolean counting; /* Count window is active */
|
|
||||||
|
|
||||||
|
|
||||||
#define TEXTCOLOR /* Allow color */
|
#define TEXTCOLOR /* Allow color */
|
||||||
#define NHW_END 19
|
#define NHW_END 19
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 mon.c $NHDT-Date: 1543100460 2018/11/24 23:01:00 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.271 $ */
|
/* NetHack 3.6 mon.c $NHDT-Date: 1543455827 2018/11/29 01:43:47 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.272 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -483,13 +483,18 @@ register struct monst *mtmp;
|
|||||||
|
|
||||||
/* [what about ceiling clingers?] */
|
/* [what about ceiling clingers?] */
|
||||||
inpool = (is_pool(mtmp->mx, mtmp->my)
|
inpool = (is_pool(mtmp->mx, mtmp->my)
|
||||||
&& !(is_flyer(mtmp->data) || is_floater(mtmp->data)));
|
&& (!(is_flyer(mtmp->data) || is_floater(mtmp->data))
|
||||||
|
/* there's no "above the surface" on the plane of water */
|
||||||
|
|| Is_waterlevel(&u.uz)));
|
||||||
inlava = (is_lava(mtmp->mx, mtmp->my)
|
inlava = (is_lava(mtmp->mx, mtmp->my)
|
||||||
&& !(is_flyer(mtmp->data) || is_floater(mtmp->data)));
|
&& !(is_flyer(mtmp->data) || is_floater(mtmp->data)));
|
||||||
infountain = IS_FOUNTAIN(levl[mtmp->mx][mtmp->my].typ);
|
infountain = IS_FOUNTAIN(levl[mtmp->mx][mtmp->my].typ);
|
||||||
|
|
||||||
/* Flying and levitation keeps our steed out of the liquid */
|
/* Flying and levitation keeps our steed out of the liquid
|
||||||
/* (but not water-walking or swimming) */
|
(but not water-walking or swimming; note: if hero is in a
|
||||||
|
water location on the Plane of Water, flight and levitating
|
||||||
|
are blocked so this (Flying || Levitation) test fails there
|
||||||
|
and steed will be subject to water effects, as intended) */
|
||||||
if (mtmp == u.usteed && (Flying || Levitation))
|
if (mtmp == u.usteed && (Flying || Levitation))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|||||||
+5
-1
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 mondata.c $NHDT-Date: 1539938825 2018/10/19 08:47:05 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.67 $ */
|
/* NetHack 3.6 mondata.c $NHDT-Date: 1543545188 2018/11/30 02:33:08 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.69 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -739,6 +739,10 @@ const char *in_str;
|
|||||||
/* Outdated names */
|
/* Outdated names */
|
||||||
{ "invisible stalker", PM_STALKER },
|
{ "invisible stalker", PM_STALKER },
|
||||||
{ "high-elf", PM_ELVENKING }, /* PM_HIGH_ELF is obsolete */
|
{ "high-elf", PM_ELVENKING }, /* PM_HIGH_ELF is obsolete */
|
||||||
|
/* other misspellings or incorrect words */
|
||||||
|
{ "wood-elf", PM_WOODLAND_ELF },
|
||||||
|
{ "wood elf", PM_WOODLAND_ELF },
|
||||||
|
{ "woodland nymph", PM_WOOD_NYMPH },
|
||||||
{ "halfling", PM_HOBBIT }, /* potential guess for polyself */
|
{ "halfling", PM_HOBBIT }, /* potential guess for polyself */
|
||||||
{ "genie", PM_DJINNI }, /* potential guess for ^G/#wizgenesis */
|
{ "genie", PM_DJINNI }, /* potential guess for ^G/#wizgenesis */
|
||||||
/* Hyphenated names -- it would be nice to handle these via
|
/* Hyphenated names -- it would be nice to handle these via
|
||||||
|
|||||||
+5
-5
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 objnam.c $NHDT-Date: 1539938837 2018/10/19 08:47:17 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.214 $ */
|
/* NetHack 3.6 objnam.c $NHDT-Date: 1543544340 2018/11/30 02:19:00 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.226 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -1154,11 +1154,11 @@ unsigned doname_flags;
|
|||||||
(obj->otyp == AKLYS) ? "tethered " : "", hand_s);
|
(obj->otyp == AKLYS) ? "tethered " : "", hand_s);
|
||||||
|
|
||||||
if (warn_obj_cnt && obj == uwep && (EWarn_of_mon & W_WEP) != 0L) {
|
if (warn_obj_cnt && obj == uwep && (EWarn_of_mon & W_WEP) != 0L) {
|
||||||
/* presumably can be felt when blind */
|
/* this used to be "(glowing <color>)" when sighted or
|
||||||
Strcat(bp, " (glowing");
|
"(glowing)" when blind (via feeling warmth), but it
|
||||||
|
isn't a light source so describe something fainter */
|
||||||
if (!Blind)
|
if (!Blind)
|
||||||
Sprintf(eos(bp), " %s", glow_color(obj->oartifact));
|
Sprintf(eos(bp), " (%s aura)", glow_color(obj->oartifact));
|
||||||
Strcat(bp, ")");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-2
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 region.c $NHDT-Date: 1542765361 2018/11/21 01:56:01 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.42 $ */
|
/* NetHack 3.6 region.c $NHDT-Date: 1543455828 2018/11/29 01:43:48 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.43 $ */
|
||||||
/* Copyright (c) 1996 by Jean-Christophe Collet */
|
/* Copyright (c) 1996 by Jean-Christophe Collet */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -947,10 +947,16 @@ genericptr_t p2;
|
|||||||
struct monst *mtmp;
|
struct monst *mtmp;
|
||||||
int dam;
|
int dam;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Gas clouds can't be targetted at water locations, but they can
|
||||||
|
* start next to water and spread over it.
|
||||||
|
*/
|
||||||
|
|
||||||
reg = (NhRegion *) p1;
|
reg = (NhRegion *) p1;
|
||||||
dam = reg->arg.a_int;
|
dam = reg->arg.a_int;
|
||||||
if (p2 == (genericptr_t) 0) { /* This means *YOU* Bozo! */
|
if (p2 == (genericptr_t) 0) { /* This means *YOU* Bozo! */
|
||||||
if (u.uinvulnerable || nonliving(youmonst.data) || Breathless)
|
if (u.uinvulnerable || nonliving(youmonst.data) || Breathless
|
||||||
|
|| Underwater)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!Blind) {
|
if (!Blind) {
|
||||||
Your("%s sting.", makeplural(body_part(EYE)));
|
Your("%s sting.", makeplural(body_part(EYE)));
|
||||||
@@ -973,6 +979,11 @@ genericptr_t p2;
|
|||||||
adult green dragon is not affected by gas cloud, baby one is */
|
adult green dragon is not affected by gas cloud, baby one is */
|
||||||
if (!(nonliving(mtmp->data) || is_vampshifter(mtmp))
|
if (!(nonliving(mtmp->data) || is_vampshifter(mtmp))
|
||||||
&& !breathless(mtmp->data)
|
&& !breathless(mtmp->data)
|
||||||
|
/* not is_swimmer(); assume that non-fish are swimming on
|
||||||
|
the surface and breathing the air above it periodically
|
||||||
|
unless located at water spot on plane of water */
|
||||||
|
&& !((mtmp->data->mlet == S_EEL || Is_waterlevel(&u.uz))
|
||||||
|
&& is_pool(mtmp->mx, mtmp->my))
|
||||||
/* exclude monsters with poison gas breath attack:
|
/* exclude monsters with poison gas breath attack:
|
||||||
adult green dragon and Chromatic Dragon (and iron golem,
|
adult green dragon and Chromatic Dragon (and iron golem,
|
||||||
but nonliving() and breathless() tests also catch that) */
|
but nonliving() and breathless() tests also catch that) */
|
||||||
|
|||||||
+67
-22
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 steed.c $NHDT-Date: 1542765364 2018/11/21 01:56:04 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.57 $ */
|
/* NetHack 3.6 steed.c $NHDT-Date: 1543543362 2018/11/30 02:02:42 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.59 $ */
|
||||||
/* Copyright (c) Kevin Hugo, 1998-1999. */
|
/* Copyright (c) Kevin Hugo, 1998-1999. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -481,7 +481,7 @@ int reason; /* Player was thrown off etc. */
|
|||||||
{
|
{
|
||||||
struct monst *mtmp;
|
struct monst *mtmp;
|
||||||
struct obj *otmp;
|
struct obj *otmp;
|
||||||
coord cc;
|
coord cc, steedcc;
|
||||||
const char *verb = "fall";
|
const char *verb = "fall";
|
||||||
boolean repair_leg_damage = (Wounded_legs != 0L);
|
boolean repair_leg_damage = (Wounded_legs != 0L);
|
||||||
unsigned save_utrap = u.utrap;
|
unsigned save_utrap = u.utrap;
|
||||||
@@ -548,19 +548,55 @@ int reason; /* Player was thrown off etc. */
|
|||||||
/* Release the steed and saddle */
|
/* Release the steed and saddle */
|
||||||
u.usteed = 0;
|
u.usteed = 0;
|
||||||
u.ugallop = 0L;
|
u.ugallop = 0L;
|
||||||
|
/*
|
||||||
/* Set player and steed's position. Try moving the player first
|
* rloc(), rloc_to(), and monkilled()->mondead()->m_detach() all
|
||||||
unless we're in the midst of creating a bones file. */
|
* expect mtmp to be on the map or else have mtmp->mx be 0, but
|
||||||
if (reason == DISMOUNT_BONES) {
|
* setting the latter to 0 here would interfere with dropping
|
||||||
/* move the steed to an adjacent square */
|
* the saddle. Prior to 3.6.2, being off the map didn't matter.
|
||||||
if (enexto(&cc, u.ux, u.uy, mtmp->data))
|
*
|
||||||
rloc_to(mtmp, cc.x, cc.y);
|
* place_monster() expects mtmp to be alive and not be u.usteed.
|
||||||
else /* evidently no room nearby; move steed elsewhere */
|
*
|
||||||
(void) rloc(mtmp, FALSE);
|
* Unfortunately, <u.ux,u.uy> (former steed's implicit location)
|
||||||
return;
|
* might now be occupied by an engulfer, so we can't just put mtmp
|
||||||
|
* at that spot. An engulfer's previous spot will be unoccupied
|
||||||
|
* but we don't know where that was and even if we did, it might
|
||||||
|
* be hostile terrain.
|
||||||
|
*/
|
||||||
|
steedcc.x = u.ux, steedcc.y = u.uy;
|
||||||
|
if (m_at(u.ux, u.uy)) {
|
||||||
|
/* hero's spot has a monster in it; hero must have been plucked
|
||||||
|
from saddle as engulfer moved into his spot--other dismounts
|
||||||
|
shouldn't run into this situation; find nearest viable spot */
|
||||||
|
if (!enexto(&steedcc, u.ux, u.uy, mtmp->data)
|
||||||
|
/* no spot? must have been engulfed by a lurker-above over
|
||||||
|
water or lava; try requesting a location for a flyer */
|
||||||
|
&& !enexto(&steedcc, u.ux, u.uy, &mons[PM_BAT]))
|
||||||
|
/* still no spot; last resort is any spot within bounds */
|
||||||
|
(void) enexto(&steedcc, u.ux, u.uy, &mons[PM_GHOST]);
|
||||||
}
|
}
|
||||||
|
if (!m_at(steedcc.x, steedcc.y)) {
|
||||||
|
if (mtmp->mhp < 1)
|
||||||
|
mtmp->mhp = 0; /* make sure it isn't negative */
|
||||||
|
mtmp->mhp++; /* force at least one hit point, possibly resurrecting */
|
||||||
|
place_monster(mtmp, steedcc.x, steedcc.y);
|
||||||
|
mtmp->mhp--; /* take the extra hit point away: cancel resurrection */
|
||||||
|
} else {
|
||||||
|
impossible("Dismounting: can't place former steed on map.");
|
||||||
|
}
|
||||||
|
|
||||||
if (!DEADMONSTER(mtmp)) {
|
if (!DEADMONSTER(mtmp)) {
|
||||||
place_monster(mtmp, u.ux, u.uy);
|
/* if for bones, there's no reason to place the hero;
|
||||||
|
we want to make room for potential ghost, so move steed */
|
||||||
|
if (reason == DISMOUNT_BONES) {
|
||||||
|
/* move the steed to an adjacent square */
|
||||||
|
if (enexto(&cc, u.ux, u.uy, mtmp->data))
|
||||||
|
rloc_to(mtmp, cc.x, cc.y);
|
||||||
|
else /* evidently no room nearby; move steed elsewhere */
|
||||||
|
(void) rloc(mtmp, FALSE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set hero's and/or steed's positions. Try moving the hero first. */
|
||||||
if (!u.uswallow && !u.ustuck && have_spot) {
|
if (!u.uswallow && !u.ustuck && have_spot) {
|
||||||
struct permonst *mdat = mtmp->data;
|
struct permonst *mdat = mtmp->data;
|
||||||
|
|
||||||
@@ -614,20 +650,29 @@ int reason; /* Player was thrown off etc. */
|
|||||||
if (save_utrap)
|
if (save_utrap)
|
||||||
(void) mintrap(mtmp);
|
(void) mintrap(mtmp);
|
||||||
}
|
}
|
||||||
/* Couldn't... try placing the steed */
|
|
||||||
|
/* Couldn't move hero... try moving the steed. */
|
||||||
} else if (enexto(&cc, u.ux, u.uy, mtmp->data)) {
|
} else if (enexto(&cc, u.ux, u.uy, mtmp->data)) {
|
||||||
/* Keep player here, move the steed to cc */
|
/* Keep player here, move the steed to cc */
|
||||||
rloc_to(mtmp, cc.x, cc.y);
|
rloc_to(mtmp, cc.x, cc.y);
|
||||||
/* Player stays put */
|
/* Player stays put */
|
||||||
/* Otherwise, kill the steed */
|
|
||||||
} else {
|
|
||||||
killed(mtmp);
|
|
||||||
adjalign(-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return the player to the floor */
|
/* Otherwise, kill the steed. */
|
||||||
if (reason != DISMOUNT_ENGULFED) {
|
} else {
|
||||||
|
if (reason == DISMOUNT_BYCHOICE) {
|
||||||
|
/* [un]#ride: hero gets credit/blame for killing steed */
|
||||||
|
killed(mtmp);
|
||||||
|
adjalign(-1);
|
||||||
|
} else {
|
||||||
|
/* other dismount: kill former steed with no penalty;
|
||||||
|
damage type is just "neither AD_DGST nor -AD_RBRE" */
|
||||||
|
monkilled(mtmp, "", -AD_PHYS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} /* !DEADMONST(mtmp) */
|
||||||
|
|
||||||
|
/* usually return the hero to the surface */
|
||||||
|
if (reason != DISMOUNT_ENGULFED && reason != DISMOUNT_BONES) {
|
||||||
in_steed_dismounting = TRUE;
|
in_steed_dismounting = TRUE;
|
||||||
(void) float_down(0L, W_SADDLE);
|
(void) float_down(0L, W_SADDLE);
|
||||||
in_steed_dismounting = FALSE;
|
in_steed_dismounting = FALSE;
|
||||||
|
|||||||
+4
-2
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 trap.c $NHDT-Date: 1543100476 2018/11/24 23:01:16 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.311 $ */
|
/* NetHack 3.6 trap.c $NHDT-Date: 1543515862 2018/11/29 18:24:22 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.312 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -1185,6 +1185,7 @@ unsigned trflags;
|
|||||||
if (!Sokoban) {
|
if (!Sokoban) {
|
||||||
char verbbuf[BUFSZ];
|
char verbbuf[BUFSZ];
|
||||||
|
|
||||||
|
*verbbuf = '\0';
|
||||||
if (u.usteed) {
|
if (u.usteed) {
|
||||||
if ((trflags & RECURSIVETRAP) != 0)
|
if ((trflags & RECURSIVETRAP) != 0)
|
||||||
Sprintf(verbbuf, "and %s fall",
|
Sprintf(verbbuf, "and %s fall",
|
||||||
@@ -1202,8 +1203,9 @@ unsigned trflags;
|
|||||||
} else {
|
} else {
|
||||||
Strcpy(verbbuf,
|
Strcpy(verbbuf,
|
||||||
!plunged ? "fall" : (Flying ? "dive" : "plunge"));
|
!plunged ? "fall" : (Flying ? "dive" : "plunge"));
|
||||||
You("%s into %s pit!", verbbuf, a_your[trap->madeby_u]);
|
|
||||||
}
|
}
|
||||||
|
if (*verbbuf)
|
||||||
|
You("%s into %s pit!", verbbuf, a_your[trap->madeby_u]);
|
||||||
}
|
}
|
||||||
/* wumpus reference */
|
/* wumpus reference */
|
||||||
if (Role_if(PM_RANGER) && !trap->madeby_u && !trap->once
|
if (Role_if(PM_RANGER) && !trap->madeby_u && !trap->once
|
||||||
|
|||||||
+8
-3
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 wield.c $NHDT-Date: 1525012623 2018/04/29 14:37:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.56 $ */
|
/* NetHack 3.6 wield.c $NHDT-Date: 1543492132 2018/11/29 11:48:52 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.58 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2009. */
|
/*-Copyright (c) Robert Patrick Rankin, 2009. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -575,8 +575,13 @@ const char *verb; /* "rub",&c */
|
|||||||
} else {
|
} else {
|
||||||
struct obj *oldwep = uwep;
|
struct obj *oldwep = uwep;
|
||||||
|
|
||||||
You("now wield %s.", doname(obj));
|
if (will_weld(obj)) {
|
||||||
setuwep(obj);
|
/* hope none of ready_weapon()'s early returns apply here... */
|
||||||
|
(void) ready_weapon(obj);
|
||||||
|
} else {
|
||||||
|
You("now wield %s.", doname(obj));
|
||||||
|
setuwep(obj);
|
||||||
|
}
|
||||||
if (flags.pushweapon && oldwep && uwep != oldwep)
|
if (flags.pushweapon && oldwep && uwep != oldwep)
|
||||||
setuswapwep(oldwep);
|
setuswapwep(oldwep);
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-4
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 pcmain.c $NHDT-Date: 1524413707 2018/04/22 16:15:07 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.74 $ */
|
/* NetHack 3.6 pcmain.c $NHDT-Date: 1543465755 2018/11/29 04:29:15 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.101 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -87,9 +87,12 @@ unsigned _stklen = STKSIZ;
|
|||||||
* to help MinGW decide which entry point to choose. If both main and
|
* to help MinGW decide which entry point to choose. If both main and
|
||||||
* WinMain exist, the resulting executable won't work correctly.
|
* WinMain exist, the resulting executable won't work correctly.
|
||||||
*/
|
*/
|
||||||
#ifndef __MINGW32__
|
|
||||||
int
|
int
|
||||||
|
#ifndef __MINGW32__
|
||||||
main(argc, argv)
|
main(argc, argv)
|
||||||
|
#else
|
||||||
|
mingw_main(argc, argv)
|
||||||
|
#endif
|
||||||
int argc;
|
int argc;
|
||||||
char *argv[];
|
char *argv[];
|
||||||
{
|
{
|
||||||
@@ -115,7 +118,6 @@ char *argv[];
|
|||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
boolean
|
boolean
|
||||||
pcmain(argc, argv)
|
pcmain(argc, argv)
|
||||||
@@ -177,7 +179,7 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
|
|||||||
choose_windows(DEFAULT_WINDOW_SYS);
|
choose_windows(DEFAULT_WINDOW_SYS);
|
||||||
#else
|
#else
|
||||||
choose_windows(default_window_sys);
|
choose_windows(default_window_sys);
|
||||||
if (argc > 1
|
if (argc >= 1
|
||||||
&& !strcmpi(default_window_sys, "mswin")
|
&& !strcmpi(default_window_sys, "mswin")
|
||||||
&& strstri(argv[0], "nethackw.exe"))
|
&& strstri(argv[0], "nethackw.exe"))
|
||||||
iflags.windowtype_locked = TRUE;
|
iflags.windowtype_locked = TRUE;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# NetHack Makefile (VMS) - for building nethack itself.
|
# NetHack Makefile (VMS) - for building nethack itself.
|
||||||
# NetHack 3.6 Makefile.src $NHDT-Date: 1542388601 2018/11/16 17:16:41 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.31 $
|
# NetHack 3.6 Makefile.src $NHDT-Date: 1543545915 2018/11/30 02:45:15 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.32 $
|
||||||
# Copyright (c) 2011 by Robert Patrick Rankin
|
# Copyright (c) 2011 by Robert Patrick Rankin
|
||||||
# NetHack may be freely redistributed. See license for details.
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|
||||||
@@ -140,9 +140,9 @@ VERSOURCES = $(HACKCSRC) $(SYSSRC) $(WINSRC) $(RANDSRC) $(GENCSRC)
|
|||||||
HACKINCL = align.h amiconf.h artifact.h artilist.h attrib.h beconf.h color.h \
|
HACKINCL = align.h amiconf.h artifact.h artilist.h attrib.h beconf.h color.h \
|
||||||
config.h config1.h context.h coord.h decl.h def_os2.h display.h \
|
config.h config1.h context.h coord.h decl.h def_os2.h display.h \
|
||||||
dlb.h dungeon.h engrave.h extern.h flag.h func_tab.h global.h \
|
dlb.h dungeon.h engrave.h extern.h flag.h func_tab.h global.h \
|
||||||
hack.h lev.h macconf.h mextra.h mfndpos.h micro.h \
|
hack.h lev.h macconf.h mextra.h mfndpos.h micro.h mkroom.h \
|
||||||
mkroom.h monattk.h mondata.h monflag.h monst.h monsym.h obj.h \
|
monattk.h mondata.h monflag.h monst.h monsym.h obj.h objclass.h \
|
||||||
objclass.h os2conf.h patchlevel.h pcconf.h permonst.h prop.h rect.h \
|
os2conf.h patchlevel.h pcconf.h permonst.h prop.h rect.h \
|
||||||
region.h rm.h sp_lev.h spell.h sys.h system.h tcap.h timeout.h \
|
region.h rm.h sp_lev.h spell.h sys.h system.h tcap.h timeout.h \
|
||||||
tosconf.h tradstdc.h trampoli.h trap.h unixconf.h vision.h \
|
tosconf.h tradstdc.h trampoli.h trap.h unixconf.h vision.h \
|
||||||
vmsconf.h wintty.h winX.h winprocs.h wintype.h you.h youprop.h
|
vmsconf.h wintty.h winX.h winprocs.h wintype.h you.h youprop.h
|
||||||
@@ -206,8 +206,8 @@ nethack.opt : $(MAKEFILE) # this file
|
|||||||
@ write f f$edit("$(HOBJ5)","COLLAPSE")
|
@ write f f$edit("$(HOBJ5)","COLLAPSE")
|
||||||
@ write f f$edit("$(HOBJ6)","COLLAPSE")
|
@ write f f$edit("$(HOBJ6)","COLLAPSE")
|
||||||
@ write f "sys$library:starlet.olb/Include=(lib$initialize)
|
@ write f "sys$library:starlet.olb/Include=(lib$initialize)
|
||||||
@ write f \
|
@ write f "! psect_attributes Usr, noPic, and Long removed"
|
||||||
"psect_attr=lib$initialize, Con,Usr,noPic,Rel,Gbl,noShr,noExe,Rd,noWrt,Long"
|
@ write f "psect_attr=lib$initialize, Con,Rel,Gbl,noShr,noExe,Rd,noWrt"
|
||||||
@ write f "iosegment=128"
|
@ write f "iosegment=128"
|
||||||
close f
|
close f
|
||||||
|
|
||||||
@@ -378,7 +378,7 @@ attrib.obj : attrib.c $(HACK_H)
|
|||||||
ball.obj : ball.c $(HACK_H)
|
ball.obj : ball.c $(HACK_H)
|
||||||
bones.obj : bones.c $(HACK_H) $(INC)lev.h
|
bones.obj : bones.c $(HACK_H) $(INC)lev.h
|
||||||
botl.obj : botl.c $(HACK_H)
|
botl.obj : botl.c $(HACK_H)
|
||||||
cmd.obj : cmd.c $(HACK_H) $(INC)func_tab.h
|
cmd.obj : cmd.c $(HACK_H) $(INC)lev.h $(INC)func_tab.h
|
||||||
dbridge.obj : dbridge.c $(HACK_H)
|
dbridge.obj : dbridge.c $(HACK_H)
|
||||||
decl.obj : decl.c $(HACK_H)
|
decl.obj : decl.c $(HACK_H)
|
||||||
detect.obj : detect.c $(HACK_H) $(INC)artifact.h
|
detect.obj : detect.c $(HACK_H) $(INC)artifact.h
|
||||||
|
|||||||
+456
-390
File diff suppressed because it is too large
Load Diff
+186
-201
@@ -71,8 +71,7 @@ DEBUGINFO = Y
|
|||||||
#
|
#
|
||||||
# You'll have to set PDCURSES_H to the correct location of the
|
# You'll have to set PDCURSES_H to the correct location of the
|
||||||
# PDCurses header (.h) files and PDCURSES_C to the location
|
# PDCurses header (.h) files and PDCURSES_C to the location
|
||||||
# of your PDCurses C files which must already be resident on
|
# of your PDCurses C files.
|
||||||
# your machine.
|
|
||||||
#
|
#
|
||||||
ADD_CURSES=Y
|
ADD_CURSES=Y
|
||||||
PDCURSES_TOP=..\..\pdcurses
|
PDCURSES_TOP=..\..\pdcurses
|
||||||
@@ -90,9 +89,13 @@ PDCURSES_TOP=..\..\pdcurses
|
|||||||
# Nothing below here should have to be changed.#
|
# Nothing below here should have to be changed.#
|
||||||
# #
|
# #
|
||||||
################################################
|
################################################
|
||||||
|
|
||||||
#
|
#
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
|
|
||||||
|
# Set the gamedir according to your preference.
|
||||||
|
# If not present prior to compilation it gets created.
|
||||||
|
|
||||||
#
|
#
|
||||||
# Source directories. Makedefs hardcodes these, don't change them.
|
# Source directories. Makedefs hardcodes these, don't change them.
|
||||||
#
|
#
|
||||||
@@ -115,10 +118,11 @@ WSHR = ..\win\share # Tile support files
|
|||||||
|
|
||||||
OBJ = o
|
OBJ = o
|
||||||
|
|
||||||
cc=cl
|
#
|
||||||
link=link
|
#==========================================
|
||||||
rc=Rc
|
# Exe File Info.
|
||||||
|
#==========================================
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Optional high-quality BSD random number generation routines
|
# Optional high-quality BSD random number generation routines
|
||||||
@@ -151,93 +155,6 @@ DLBFLG =
|
|||||||
|
|
||||||
#ZLIB = zlib.lib
|
#ZLIB = zlib.lib
|
||||||
|
|
||||||
#==========================================
|
|
||||||
#==========================================
|
|
||||||
# Setting up the compiler and linker
|
|
||||||
#==========================================
|
|
||||||
#==========================================
|
|
||||||
|
|
||||||
# Before we get started, this section is used to determine the version of
|
|
||||||
# Visual Studio we are using. We set VSVER to 0000 to flag any version that
|
|
||||||
# is too old or untested.
|
|
||||||
#
|
|
||||||
#NMAKE version 1414264330 is distributed with VS 15.7.5
|
|
||||||
|
|
||||||
#!MESSAGE $(MAKEFLAGS)
|
|
||||||
#!MESSAGE $(MAKEDIR)
|
|
||||||
#!MESSAGE $(MAKE)
|
|
||||||
|
|
||||||
MAKEVERSION=$(_NMAKE_VER:.= )
|
|
||||||
MAKEVERSION=$(MAKEVERSION: =)
|
|
||||||
#!MESSAGE $(_NMAKE_VER)
|
|
||||||
#!MESSAGE $(MAKEVERSION)
|
|
||||||
|
|
||||||
VSNEWEST=2017
|
|
||||||
!IF ($(MAKEVERSION) < 1000000000)
|
|
||||||
VSVER=0000 #untested ancient version
|
|
||||||
!ELSEIF ($(MAKEVERSION) > 1000000000) && ($(MAKEVERSION) < 1100000000)
|
|
||||||
VSVER=2010
|
|
||||||
!ELSEIF ($(MAKEVERSION) > 1100000000) && ($(MAKEVERSION) < 1200000000)
|
|
||||||
VSVER=2012
|
|
||||||
!ELSEIF ($(MAKEVERSION) > 1200000000) && ($(MAKEVERSION) < 1400000000)
|
|
||||||
VSVER=2013
|
|
||||||
!ELSEIF ($(MAKEVERSION) > 1400000000) && ($(MAKEVERSION) < 1411000000)
|
|
||||||
VSVER=2015
|
|
||||||
!ELSEIF ($(MAKEVERSION) > 1411000000) && ($(MAKEVERSION) < 1414264331)
|
|
||||||
VSVER=$(VSNEWEST)
|
|
||||||
!ELSEIF ($(MAKEVERSION) > 1414264330)
|
|
||||||
VSVER=2999 #untested future version
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF ($(VSVER) >= 2012)
|
|
||||||
!MESSAGE Autodetected Visual Studio $(VSVER)
|
|
||||||
!ELSEIF ($(VSVER) == 2999
|
|
||||||
!MESSAGE The version of Visual Studio is newer than the most recent at
|
|
||||||
!MESSAGE the time this Makefile was crafted (Visual Studio $(VSNEWEST)).
|
|
||||||
!MESSAGE Because it is newer we'll proceed expecting that the
|
|
||||||
!MESSAGE VS$(VSNEWEST) processing will still work.
|
|
||||||
!ELSEIF ($(VSVER) == 0000)
|
|
||||||
!MESSAGE The version of Visual Studio appears to be quite old, older
|
|
||||||
!MESSAGE than VS2010 which is the oldest supported version by this
|
|
||||||
!MESSAGE Makefile, so we'll stop now.
|
|
||||||
!ERROR Untested old Visual Studio version with NMAKE $(_NMAKE_VER).
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF ($(VSVER) == 2010)
|
|
||||||
# For VS2010 use "setenv /x86" or "setenv /x64" before invoking make process
|
|
||||||
# DO NOT DELETE THE FOLLOWING LINE
|
|
||||||
!include <win32.mak>
|
|
||||||
! ENDIF
|
|
||||||
|
|
||||||
#These will be in the environment variables with one of the VS2017
|
|
||||||
#developer command prompts.
|
|
||||||
#VSCMD_ARG_HOST_ARCH=x64
|
|
||||||
#VSCMD_ARG_TGT_ARCH=x86
|
|
||||||
|
|
||||||
!IFDEF VSCMD_ARG_HOST_ARCH
|
|
||||||
!MESSAGE Host architecture is $(VSCMD_ARG_HOST_ARCH)
|
|
||||||
!MESSAGE Target architecture is $(VSCMD_ARG_TGT_ARCH)
|
|
||||||
! IFNDEF TARGET_CPU
|
|
||||||
! IF "$(VSCMD_ARG_TGT_ARCH)"=="x64"
|
|
||||||
TARGET_CPU=x64
|
|
||||||
! ELSE
|
|
||||||
TARGET_CPU=x86
|
|
||||||
! ENDIF
|
|
||||||
! ENDIF
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(TARGET_CPU)" == ""
|
|
||||||
TARGET_CPU=x86
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF ($(VSVER) == 2010)
|
|
||||||
CL_RECENT=
|
|
||||||
!ELSE
|
|
||||||
! IF ($(VSVER) > 2010)
|
|
||||||
CL_RECENT=-sdl
|
|
||||||
! ENDIF
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
#================ MACROS ==================
|
#================ MACROS ==================
|
||||||
@@ -272,7 +189,7 @@ RECOVOBJS = $(O)recover.o
|
|||||||
TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
|
TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
|
||||||
|
|
||||||
#
|
#
|
||||||
# These are not invoked during a normal game build in 3.4+
|
# These are not invoked during a normal game build in 3.4
|
||||||
#
|
#
|
||||||
TEXT_IO = $(O)tiletext.o $(O)tiletxt.o $(O)drawing.o \
|
TEXT_IO = $(O)tiletext.o $(O)tiletxt.o $(O)drawing.o \
|
||||||
$(O)decl.o $(O)monst.o $(O)objects.o
|
$(O)decl.o $(O)monst.o $(O)objects.o
|
||||||
@@ -298,19 +215,19 @@ VOBJ06 = $(O)dothrow.o $(O)drawing.o $(O)dungeon.o $(O)eat.o
|
|||||||
VOBJ07 = $(O)end.o $(O)engrave.o $(O)exper.o $(O)explode.o
|
VOBJ07 = $(O)end.o $(O)engrave.o $(O)exper.o $(O)explode.o
|
||||||
VOBJ08 = $(O)extralev.o $(O)files.o $(O)fountain.o $(O)hack.o
|
VOBJ08 = $(O)extralev.o $(O)files.o $(O)fountain.o $(O)hack.o
|
||||||
VOBJ09 = $(O)hacklib.o $(O)invent.o $(O)light.o $(O)lock.o
|
VOBJ09 = $(O)hacklib.o $(O)invent.o $(O)light.o $(O)lock.o
|
||||||
VOBJ10 = $(O)mail.o $(O)pcmain.o $(O)makemon.o $(O)mapglyph.o
|
VOBJ10 = $(O)mail.o $(O)pcmain.o $(O)makemon.o $(O)mapglyph.o $(O)mcastu.o
|
||||||
VOBJ11 = $(O)mcastu.o $(O)mhitm.o $(O)mhitu.o $(O)minion.o
|
VOBJ11 = $(O)mhitm.o $(O)mhitu.o $(O)minion.o $(O)mklev.o
|
||||||
VOBJ12 = $(O)mklev.o $(O)mkmap.o $(O)mkmaze.o $(O)mkobj.o
|
VOBJ12 = $(O)mkmap.o $(O)mkmaze.o $(O)mkobj.o $(O)mkroom.o
|
||||||
VOBJ13 = $(O)mkroom.o $(O)mon.o $(O)mondata.o $(O)monmove.o
|
VOBJ13 = $(O)mon.o $(O)mondata.o $(O)monmove.o $(O)monst.o
|
||||||
VOBJ14 = $(O)monst.o $(O)mplayer.o $(O)mthrowu.o $(O)muse.o
|
VOBJ14 = $(O)mplayer.o $(O)mthrowu.o $(O)muse.o
|
||||||
VOBJ15 = $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o
|
VOBJ15 = $(O)music.o $(O)o_init.o $(O)objects.o $(O)objnam.o
|
||||||
VOBJ16 = $(O)options.o $(O)pager.o $(O)pickup.o $(O)pline.o
|
VOBJ16 = $(O)options.o $(O)pager.o $(O)pickup.o $(O)pline.o
|
||||||
VOBJ17 = $(O)polyself.o $(O)potion.o $(O)pray.o $(O)priest.o
|
VOBJ17 = $(O)polyself.o $(O)potion.o $(O)pray.o $(O)priest.o
|
||||||
VOBJ18 = $(O)quest.o $(O)questpgr.o $(RANDOM) $(O)read.o
|
VOBJ18 = $(O)quest.o $(O)questpgr.o $(RANDOM) $(O)read.o
|
||||||
VOBJ19 = $(O)rect.o $(O)region.o $(O)restore.o $(O)rip.o
|
VOBJ19 = $(O)rect.o $(O)region.o $(O)restore.o $(O)rip.o
|
||||||
VOBJ20 = $(O)rnd.o $(O)role.o $(O)rumors.o $(O)save.o
|
VOBJ20 = $(O)rnd.o $(O)role.o $(O)rumors.o $(O)save.o
|
||||||
VOBJ21 = $(O)shk.o $(O)shknam.o $(O)sit.o $(O)sounds.o
|
VOBJ21 = $(O)shk.o $(O)shknam.o $(O)sit.o $(O)sounds.o
|
||||||
VOBJ22 = $(O)sp_lev.o $(O)spell.o $(O)steal.o $(O)steed.o
|
VOBJ22 = $(O)sp_lev.o $(O)spell.o $(O)steal.o $(O)steed.o
|
||||||
VOBJ23 = $(O)sys.o $(O)teleport.o $(O)timeout.o $(O)topten.o
|
VOBJ23 = $(O)sys.o $(O)teleport.o $(O)timeout.o $(O)topten.o
|
||||||
VOBJ24 = $(O)track.o $(O)trap.o $(O)u_init.o $(O)uhitm.o
|
VOBJ24 = $(O)track.o $(O)trap.o $(O)u_init.o $(O)uhitm.o
|
||||||
VOBJ25 = $(O)vault.o $(O)vis_tab.o $(O)vision.o $(O)weapon.o
|
VOBJ25 = $(O)vault.o $(O)vis_tab.o $(O)vision.o $(O)weapon.o
|
||||||
@@ -354,8 +271,7 @@ GUIHDR = $(MSWIN)\mhaskyn.h $(MSWIN)\mhdlg.h $(MSWIN)\mhfont.h \
|
|||||||
|
|
||||||
COMCTRL = comctl32.lib
|
COMCTRL = comctl32.lib
|
||||||
|
|
||||||
KEYDLLS = $(GAMEDIR)\nhdefkey.dll $(GAMEDIR)\nh340key.dll \
|
KEYDLLS = $(GAMEDIR)\nhdefkey.dll $(GAMEDIR)\nh340key.dll $(GAMEDIR)\nhraykey.dll
|
||||||
$(GAMEDIR)\nhraykey.dll
|
|
||||||
|
|
||||||
TILEUTIL16 = $(UTIL)\tile2bmp.exe
|
TILEUTIL16 = $(UTIL)\tile2bmp.exe
|
||||||
TILEBMP16 = $(SRC)\tiles.bmp
|
TILEBMP16 = $(SRC)\tiles.bmp
|
||||||
@@ -437,31 +353,109 @@ TILE_H = ..\win\share\tile.h
|
|||||||
|
|
||||||
DATABASE = $(DAT)\data.base
|
DATABASE = $(DAT)\data.base
|
||||||
|
|
||||||
|
#==========================================
|
||||||
|
#==========================================
|
||||||
|
# Setting up the compiler and linker
|
||||||
|
#==========================================
|
||||||
|
#==========================================
|
||||||
|
|
||||||
|
cc=cl
|
||||||
|
link=link
|
||||||
|
rc=Rc
|
||||||
|
|
||||||
|
# Before we get started, this section is used to determine the version of
|
||||||
|
# Visual Studio we are using. We set VSVER to 0000 to flag any version that
|
||||||
|
# is too old or untested.
|
||||||
|
#
|
||||||
|
#NMAKE version 1414264330 is distributed with VS 15.7.5
|
||||||
|
|
||||||
|
#!MESSAGE $(MAKEFLAGS)
|
||||||
|
#!MESSAGE $(MAKEDIR)
|
||||||
|
#!MESSAGE $(MAKE)
|
||||||
|
|
||||||
|
MAKEVERSION=$(_NMAKE_VER:.= )
|
||||||
|
MAKEVERSION=$(MAKEVERSION: =)
|
||||||
|
#!MESSAGE $(_NMAKE_VER)
|
||||||
|
#!MESSAGE $(MAKEVERSION)
|
||||||
|
|
||||||
|
VSNEWEST=2017
|
||||||
|
!IF ($(MAKEVERSION) < 1000000000)
|
||||||
|
VSVER=0000 #untested ancient version
|
||||||
|
!ELSEIF ($(MAKEVERSION) > 1000000000) && ($(MAKEVERSION) < 1100000000)
|
||||||
|
VSVER=2010
|
||||||
|
!ELSEIF ($(MAKEVERSION) > 1100000000) && ($(MAKEVERSION) < 1200000000)
|
||||||
|
VSVER=2012
|
||||||
|
!ELSEIF ($(MAKEVERSION) > 1200000000) && ($(MAKEVERSION) < 1400000000)
|
||||||
|
VSVER=2013
|
||||||
|
!ELSEIF ($(MAKEVERSION) > 1400000000) && ($(MAKEVERSION) < 1411000000)
|
||||||
|
VSVER=2015
|
||||||
|
!ELSEIF ($(MAKEVERSION) > 1411000000) && ($(MAKEVERSION) < 1414264331)
|
||||||
|
VSVER=$(VSNEWEST)
|
||||||
|
!ELSEIF ($(MAKEVERSION) > 1414264330)
|
||||||
|
VSVER=2999 #untested future version
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
!IF ($(VSVER) >= 2012)
|
||||||
|
!MESSAGE Autodetected Visual Studio $(VSVER)
|
||||||
|
!ELSEIF ($(VSVER) == 2999
|
||||||
|
!MESSAGE The version of Visual Studio is newer than the most recent at
|
||||||
|
!MESSAGE the time this Makefile was crafted (Visual Studio $(VSNEWEST)).
|
||||||
|
!MESSAGE Because it is newer we'll proceed expecting that the
|
||||||
|
!MESSAGE VS$(VSNEWEST) processing will still work.
|
||||||
|
!ELSEIF ($(VSVER) == 0000)
|
||||||
|
!MESSAGE The version of Visual Studio appears to be quite old, older
|
||||||
|
!MESSAGE than VS2010 which is the oldest supported version by this
|
||||||
|
!MESSAGE Makefile, so we'll stop now.
|
||||||
|
!ERROR Untested old Visual Studio version with NMAKE $(_NMAKE_VER).
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
!IF ($(VSVER) == 2010)
|
||||||
|
# For VS2010 use "setenv /x86" or "setenv /x64" before invoking make process
|
||||||
|
# DO NOT DELETE THE FOLLOWING LINE
|
||||||
|
!include <win32.mak>
|
||||||
|
! ENDIF
|
||||||
|
|
||||||
|
#These will be in the environment variables with one of the VS2017
|
||||||
|
#developer command prompts.
|
||||||
|
#VSCMD_ARG_HOST_ARCH=x64
|
||||||
|
#VSCMD_ARG_TGT_ARCH=x86
|
||||||
|
|
||||||
|
!IFDEF VSCMD_ARG_HOST_ARCH
|
||||||
|
!MESSAGE Host architecture is $(VSCMD_ARG_HOST_ARCH)
|
||||||
|
!MESSAGE Target architecture is $(VSCMD_ARG_TGT_ARCH)
|
||||||
|
! IFNDEF TARGET_CPU
|
||||||
|
! IF "$(VSCMD_ARG_TGT_ARCH)"=="x64"
|
||||||
|
TARGET_CPU=x64
|
||||||
|
! ELSE
|
||||||
|
TARGET_CPU=x86
|
||||||
|
! ENDIF
|
||||||
|
! ENDIF
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
!IF "$(TARGET_CPU)" == ""
|
||||||
|
TARGET_CPU=x86
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
!IF ($(VSVER) == 2010)
|
||||||
|
CL_RECENT=
|
||||||
|
!ELSE
|
||||||
|
! IF ($(VSVER) > 2010)
|
||||||
|
CL_RECENT=-sdl
|
||||||
|
! ENDIF
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# More compiler setup post-macros
|
# More compiler setup post-macros
|
||||||
#==========================================
|
#==========================================
|
||||||
#----------------------------------------------------------------
|
#----------------------------------------------------------------
|
||||||
|
|
||||||
!IF "$(ADD_CURSES)" == "Y"
|
!IF "$(ADD_CURSES)" == "Y"
|
||||||
#CURSESDEF=-D"PDC_DLL_BUILD" -D"CURSES_GRAPHICS" -D"CURSES_BRIEF_INCLUDE"
|
|
||||||
CURSESDEF=-D"CURSES_GRAPHICS" -D"CURSES_BRIEF_INCLUDE"
|
CURSESDEF=-D"CURSES_GRAPHICS" -D"CURSES_BRIEF_INCLUDE"
|
||||||
CURSESINCL=..\win\curses
|
|
||||||
!ELSE
|
!ELSE
|
||||||
CURSDEF=
|
CURSDEF=
|
||||||
CURSESLIB=
|
CURSESLIB=
|
||||||
CURSESINCL=
|
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
!IFNDEF ADD_CURSES
|
|
||||||
INCLDIR= /I..\include /I..\sys\winnt
|
|
||||||
!ELSE
|
|
||||||
INCLDIR= /I..\include /I..\sys\winnt /I$(CURSESINCL)
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
#===========================================
|
|
||||||
#---- start of Visual Studio Specific macros
|
|
||||||
#===========================================
|
|
||||||
|
|
||||||
ccommon= -c -nologo -D"_CONSOLE" -D"_CRT_NONSTDC_NO_DEPRECATE" -D"_CRT_SECURE_NO_DEPRECATE" \
|
ccommon= -c -nologo -D"_CONSOLE" -D"_CRT_NONSTDC_NO_DEPRECATE" -D"_CRT_SECURE_NO_DEPRECATE" \
|
||||||
-D"_LIB" -D"_SCL_SECURE_NO_DEPRECATE" -D"_VC80_UPGRADE=0x0600" -D"DLB" -D"_MBCS" \
|
-D"_LIB" -D"_SCL_SECURE_NO_DEPRECATE" -D"_VC80_UPGRADE=0x0600" -D"DLB" -D"_MBCS" \
|
||||||
-DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -D"NDEBUG" -D"YY_NO_UNISTD_H" $(CURSESDEF) \
|
-DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -D"NDEBUG" -D"YY_NO_UNISTD_H" $(CURSESDEF) \
|
||||||
@@ -531,6 +525,12 @@ conlibs = $(baselibs)
|
|||||||
guilibs = $(winlibs)
|
guilibs = $(winlibs)
|
||||||
#
|
#
|
||||||
|
|
||||||
|
!IFNDEF ADD_CURSES
|
||||||
|
INCLDIR= /I..\include /I..\sys\winnt
|
||||||
|
!ELSE
|
||||||
|
INCLDIR= /I..\include /I..\sys\winnt
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# Util builds
|
# Util builds
|
||||||
#==========================================
|
#==========================================
|
||||||
@@ -550,10 +550,6 @@ DLB = nhdat
|
|||||||
DLB =
|
DLB =
|
||||||
! ENDIF
|
! ENDIF
|
||||||
|
|
||||||
#==========================================
|
|
||||||
#---- end of Visual Studio Specific macros
|
|
||||||
#==========================================
|
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
#================ RULES ==================
|
#================ RULES ==================
|
||||||
#==========================================
|
#==========================================
|
||||||
@@ -632,6 +628,9 @@ DLB =
|
|||||||
{$(WCURSES)}.c{$(OBJ)}.o:
|
{$(WCURSES)}.c{$(OBJ)}.o:
|
||||||
@$(cc) $(PDCINCL) $(cflagsBuild) -Fo$@ $<
|
@$(cc) $(PDCINCL) $(cflagsBuild) -Fo$@ $<
|
||||||
|
|
||||||
|
#{$(WCURSES)}.txt{$(DAT)}.txt:
|
||||||
|
# @copy $< $@
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# Rules for files in PDCurses
|
# Rules for files in PDCurses
|
||||||
#==========================================
|
#==========================================
|
||||||
@@ -683,12 +682,10 @@ $(O)install.tag: $(DAT)\data $(DAT)\rumors $(DAT)\dungeon \
|
|||||||
if exist $(DAT)\symbols copy $(DAT)\symbols $(GAMEDIR)
|
if exist $(DAT)\symbols copy $(DAT)\symbols $(GAMEDIR)
|
||||||
if exist $(DOC)\guidebook.txt copy $(DOC)\guidebook.txt $(GAMEDIR)\Guidebook.txt
|
if exist $(DOC)\guidebook.txt copy $(DOC)\guidebook.txt $(GAMEDIR)\Guidebook.txt
|
||||||
if exist $(DOC)\nethack.txt copy $(DOC)\nethack.txt $(GAMEDIR)\NetHack.txt
|
if exist $(DOC)\nethack.txt copy $(DOC)\nethack.txt $(GAMEDIR)\NetHack.txt
|
||||||
$(U)makedefs -c
|
|
||||||
-if not exist $(GAMEDIR)\defaults.nh copy fixed_defaults.nh $(GAMEDIR)\defaults.nh
|
|
||||||
-if not exist $(GAMEDIR)\defaults.nh copy $(MSWSYS)\defaults.nh $(GAMEDIR)\defaults.nh
|
|
||||||
-if not exist $(GAMEDIR)\record. goto>$(GAMEDIR)\record.
|
|
||||||
@if exist $(GAMEDIR)\NetHack.PDB echo NOTE: You may want to remove $(GAMEDIR:\=/)/NetHack.PDB to conserve space
|
@if exist $(GAMEDIR)\NetHack.PDB echo NOTE: You may want to remove $(GAMEDIR:\=/)/NetHack.PDB to conserve space
|
||||||
@if exist $(GAMEDIR)\NetHackW.PDB echo NOTE: You may want to remove $(GAMEDIR:\=/)/NetHackW.PDB to conserve space
|
@if exist $(GAMEDIR)\NetHackW.PDB echo NOTE: You may want to remove $(GAMEDIR:\=/)/NetHackW.PDB to conserve space
|
||||||
|
-if not exist $(GAMEDIR)\defaults.nh copy $(MSWSYS)\defaults.nh $(GAMEDIR)\defaults.nh
|
||||||
|
-if not exist $(GAMEDIR)\record. goto>$(GAMEDIR)\record.
|
||||||
echo install done > $@
|
echo install done > $@
|
||||||
|
|
||||||
# copy $(MSWSYS)\winnt.hlp $(GAMEDIR)
|
# copy $(MSWSYS)\winnt.hlp $(GAMEDIR)
|
||||||
@@ -753,10 +750,10 @@ $(O)console.res: $(MSWSYS)\console.rc $(MSWSYS)\NetHack.ico
|
|||||||
@$(rc) -r -fo$@ -i$(MSWSYS) -dNDEBUG $(MSWSYS)\console.rc
|
@$(rc) -r -fo$@ -i$(MSWSYS) -dNDEBUG $(MSWSYS)\console.rc
|
||||||
|
|
||||||
|
|
||||||
#==========================================================================
|
#==========================================
|
||||||
# The game targets.
|
# The game targets.
|
||||||
#==========================================================================
|
#==========================================
|
||||||
#[VS-start] Visual C
|
|
||||||
# The section for linking the NetHack image looks a little strange at
|
# The section for linking the NetHack image looks a little strange at
|
||||||
# first, especially if you are used to UNIX makes, or NDMAKE. It is
|
# first, especially if you are used to UNIX makes, or NDMAKE. It is
|
||||||
# Microsoft nmake specific, and it gets around the problem of the
|
# Microsoft nmake specific, and it gets around the problem of the
|
||||||
@@ -778,8 +775,6 @@ $(O)console.res: $(MSWSYS)\console.rc $(MSWSYS)\NetHack.ico
|
|||||||
# with ^ as we have done below. Every occurence
|
# with ^ as we have done below. Every occurence
|
||||||
# of a <tab> in $(ALLOBJ) is replaced by
|
# of a <tab> in $(ALLOBJ) is replaced by
|
||||||
# <+><return><tab>.
|
# <+><return><tab>.
|
||||||
#[VS-end]
|
|
||||||
#==========================================================================
|
|
||||||
|
|
||||||
GAMEOBJ=$(ALLOBJ:^ =^
|
GAMEOBJ=$(ALLOBJ:^ =^
|
||||||
)
|
)
|
||||||
@@ -898,14 +893,20 @@ $(GAMEDIR)\nhraykey.dll : $(O)$(@B).o $(O)gamedir.tag $(O)$(@B).def
|
|||||||
/PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).map" /DEF:$(O)$(@B).def \
|
/PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).map" /DEF:$(O)$(@B).def \
|
||||||
/IMPLIB:$(O)$(@B).lib -out:$@ $(O)$(@B).o
|
/IMPLIB:$(O)$(@B).lib -out:$@ $(O)$(@B).o
|
||||||
|
|
||||||
|
#
|
||||||
#==========================================
|
# Secondary Targets.
|
||||||
#=========== SECONDARY TARGETS ============
|
#
|
||||||
#==========================================
|
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# Makedefs Stuff
|
# Makedefs Stuff
|
||||||
#==========================================
|
#==========================================
|
||||||
|
$(U)nhsizes.exe: $(O)nhsizes.o
|
||||||
|
@echo Linking $(@:\=/)
|
||||||
|
$(link) $(lflagsBuild) -out:$@ $(O)nhsizes.o $(O)panic.o $(O)alloc.o
|
||||||
|
|
||||||
|
$(O)nhsizes.o: $(CONFIG_H) nhsizes.c
|
||||||
|
@$(cc) $(cflagsBuild) -Fo$@ nhsizes.c
|
||||||
|
|
||||||
$(U)makedefs.exe: $(MAKEOBJS)
|
$(U)makedefs.exe: $(MAKEOBJS)
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(MAKEOBJS)
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(MAKEOBJS)
|
||||||
@@ -1057,24 +1058,6 @@ $(U)dgncomp.exe: $(DGNCOMPOBJS)
|
|||||||
)
|
)
|
||||||
<<
|
<<
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# For a couple of devteam utilities
|
|
||||||
#=================================================
|
|
||||||
|
|
||||||
$(U)nhsizes.exe: $(O)nhsizes.o
|
|
||||||
@echo Linking $(@:\=/)
|
|
||||||
$(link) $(lflagsBuild) -out:$@ $(O)nhsizes.o $(O)panic.o $(O)alloc.o
|
|
||||||
|
|
||||||
$(U)nhsizes2.exe: $(O)nhsizes2.o
|
|
||||||
@echo Linking $(@:\=/)
|
|
||||||
$(link) $(lflagsBuild) -out:$@ $(O)nhsizes2.o $(O)panic.o $(O)alloc.o
|
|
||||||
|
|
||||||
$(O)nhsizes.o: $(CONFIG_H) nhsizes.c
|
|
||||||
@$(cc) $(cflagsBuild) -Fo$@ nhsizes.c
|
|
||||||
|
|
||||||
$(O)nhsizes2.o: $(CONFIG_H) nhsizes2.c
|
|
||||||
@$(cc) $(cflagsBuild) -Fo$@ nhsizes2.c
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# Create directory for holding object files
|
# Create directory for holding object files
|
||||||
#=================================================
|
#=================================================
|
||||||
@@ -1084,6 +1067,34 @@ $(O)obj.tag:
|
|||||||
@if not exist $(OBJ)\*.* mkdir $(OBJ)
|
@if not exist $(OBJ)\*.* mkdir $(OBJ)
|
||||||
@echo directory created >$@
|
@echo directory created >$@
|
||||||
|
|
||||||
|
#==========================================
|
||||||
|
# Notify of any CL environment variables
|
||||||
|
# in effect since they change the compiler
|
||||||
|
# options.
|
||||||
|
#==========================================
|
||||||
|
|
||||||
|
$(O)envchk.tag: $(O)obj.tag
|
||||||
|
! IF "$(TARGET_CPU)"=="x64"
|
||||||
|
@echo Windows x64 64-bit target build
|
||||||
|
! ELSE
|
||||||
|
@echo Windows x86 32-bit target build
|
||||||
|
! ENDIF
|
||||||
|
!IFDEF TTYOBJ
|
||||||
|
@echo tty window support included
|
||||||
|
! IF "$(ADD_CURSES)"=="Y"
|
||||||
|
@echo curses window support also included
|
||||||
|
! ENDIF
|
||||||
|
!ENDIF
|
||||||
|
! IF "$(CL)"!=""
|
||||||
|
# @echo Warning, the CL Environment variable is defined:
|
||||||
|
# @echo CL=$(CL)
|
||||||
|
! ENDIF
|
||||||
|
echo envchk >$@
|
||||||
|
|
||||||
|
#==========================================
|
||||||
|
#=========== SECONDARY TARGETS ============
|
||||||
|
#==========================================
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# DLB utility and nhdat file creation
|
# DLB utility and nhdat file creation
|
||||||
#==========================================
|
#==========================================
|
||||||
@@ -1244,40 +1255,19 @@ $(O)tile2bmp.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
|||||||
$(O)til2bm32.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
$(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
|
@$(cc) $(cflagsBuild) -I$(WSHR) /DPACKED_FILE /DTILE_X=32 /DTILE_Y=32 /Fo$@ $(WSHR)\tile2bmp.c
|
||||||
|
|
||||||
#==========================================
|
#===============================================================================
|
||||||
# PDCurses Library
|
# PDCurses
|
||||||
#==========================================
|
#===============================================================================
|
||||||
|
|
||||||
$(O)pdcurses.lib : $(PDCLIBOBJS) $(PDCOBJS)
|
$(O)pdcurses.lib : $(PDCLIBOBJS) $(PDCOBJS)
|
||||||
lib -nologo /out:$@ $(PDCLIBOBJS) $(PDCOBJS)
|
lib -nologo /out:$@ $(PDCLIBOBJS) $(PDCOBJS)
|
||||||
|
|
||||||
#==========================================
|
$(O)pdcscrn.o : $(PDCURSES_HEADERS) $(PDCWINCON)\pdcscrn.c $(MSWSYS)\stub-pdcscrn.c
|
||||||
# Notify of any CL environment variables
|
$(cc) $(PDCINCL) $(cflagsBuild) -Fo$@ $(MSWSYS)\stub-pdcscrn.c
|
||||||
# in effect since they change the compiler
|
|
||||||
# options.
|
|
||||||
#==========================================
|
|
||||||
|
|
||||||
$(O)envchk.tag: $(O)obj.tag
|
#===============================================================================
|
||||||
! IF "$(TARGET_CPU)"=="x64"
|
|
||||||
@echo Windows x64 64-bit target build
|
|
||||||
! ELSE
|
|
||||||
@echo Windows x86 32-bit target build
|
|
||||||
! ENDIF
|
|
||||||
!IFDEF TTYOBJ
|
|
||||||
@echo tty window support included
|
|
||||||
! IF "$(ADD_CURSES)"=="Y"
|
|
||||||
@echo curses window support also included
|
|
||||||
! ENDIF
|
|
||||||
!ENDIF
|
|
||||||
! IF "$(CL)"!=""
|
|
||||||
# @echo Warning, the CL Environment variable is defined:
|
|
||||||
# @echo CL=$(CL)
|
|
||||||
! ENDIF
|
|
||||||
echo envchk >$@
|
|
||||||
|
|
||||||
#==========================================
|
|
||||||
# Housekeeping
|
# Housekeeping
|
||||||
#==========================================
|
#===============================================================================
|
||||||
|
|
||||||
spotless: clean
|
spotless: clean
|
||||||
! IF ("$(OBJ)"!="")
|
! IF ("$(OBJ)"!="")
|
||||||
@@ -1370,7 +1360,6 @@ clean:
|
|||||||
if exist $(U)dgncomp.exe del $(U)dgncomp.exe
|
if exist $(U)dgncomp.exe del $(U)dgncomp.exe
|
||||||
if exist $(SRC)\*.lnk del $(SRC)\*.lnk
|
if exist $(SRC)\*.lnk del $(SRC)\*.lnk
|
||||||
if exist $(SRC)\*.map del $(SRC)\*.map
|
if exist $(SRC)\*.map del $(SRC)\*.map
|
||||||
if exist $(SRC)\fixed_defaults.nh del $(SRC)\fixed_defaults.nh
|
|
||||||
if exist $(O)install.tag del $(O)install.tag
|
if exist $(O)install.tag del $(O)install.tag
|
||||||
if exist $(O)console.res del $(O)console.res
|
if exist $(O)console.res del $(O)console.res
|
||||||
if exist $(O)dgncomp.MAP del $(O)dgncomp.MAP
|
if exist $(O)dgncomp.MAP del $(O)dgncomp.MAP
|
||||||
@@ -1480,8 +1469,6 @@ $(O)winhack.o: $(HACK_H) $(MSWIN)\winhack.c
|
|||||||
$(O)ttystub.o: $(HACK_H) $(MSWSYS)\stubs.c
|
$(O)ttystub.o: $(HACK_H) $(MSWSYS)\stubs.c
|
||||||
@$(cc) $(cflagsBuild) -DTTYSTUB -Fo$@ $(MSWSYS)\stubs.c
|
@$(cc) $(cflagsBuild) -DTTYSTUB -Fo$@ $(MSWSYS)\stubs.c
|
||||||
|
|
||||||
$(O)tile.o: $(SRC)\tile.c $(HACK_H)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# util dependencies
|
# util dependencies
|
||||||
#
|
#
|
||||||
@@ -1495,21 +1482,18 @@ $(O)panic.o: $(U)panic.c $(CONFIG_H)
|
|||||||
|
|
||||||
(O)cppregex.o: $(O)cppregex.cpp $(HACK_H)
|
(O)cppregex.o: $(O)cppregex.cpp $(HACK_H)
|
||||||
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\cppregex.cpp
|
@$(CC) $(cflagsBuild) -Fo$@ ..\sys\share\cppregex.cpp
|
||||||
#
|
|
||||||
# Other dependencies needed by some ports
|
|
||||||
#
|
#
|
||||||
|
|
||||||
# curses window port dependencies
|
# curses window port dependencies
|
||||||
|
#
|
||||||
$(O)cursdial.o: $(WCURSES)\cursdial.c $(WCURSES)\cursdial.h $(INCL)\wincurs.h
|
$(O)\cursdial.o: $(WCURSES)\cursdial.c $(WCURSES)\cursdial.h $(INCL)\wincurs.h
|
||||||
$(O)cursinit.c: $(WCURSES)\cursinit.c $(WCURSES)\cursinit.h $(INCL)\wincurs.h
|
$(O)\cursinit.c: $(WCURSES)\cursinit.c $(WCURSES)\cursinit.h $(INCL)\wincurs.h
|
||||||
$(O)cursinvt.c: $(WCURSES)\cursinvt.c $(WCURSES)\cursinvt.h $(INCL)\wincurs.h
|
$(O)\cursinvt.c: $(WCURSES)\cursinvt.c $(WCURSES)\cursinvt.h $(INCL)\wincurs.h
|
||||||
$(O)cursmain.c: $(WCURSES)\cursmain.c $(WCURSES)\cursmain.h $(INCL)\wincurs.h
|
$(O)\cursmain.c: $(WCURSES)\cursmain.c $(WCURSES)\cursmain.h $(INCL)\wincurs.h
|
||||||
$(O)cursmesg.c: $(WCURSES)\cursmesg.c $(WCURSES)\cursmesg.h $(INCL)\wincurs.h
|
$(O)\cursmesg.c: $(WCURSES)\cursmesg.c $(WCURSES)\cursmesg.h $(INCL)\wincurs.h
|
||||||
$(O)cursmisc.c: $(WCURSES)\cursmisc.c $(WCURSES)\cursmisc.h $(INCL)\wincurs.h
|
$(O)\cursmisc.c: $(WCURSES)\cursmisc.c $(WCURSES)\cursmisc.h $(INCL)\wincurs.h
|
||||||
$(O)cursstat.c: $(WCURSES)\cursstat.c $(WCURSES)\cursstat.h $(INCL)\wincurs.h
|
$(O)\cursstat.c: $(WCURSES)\cursstat.c $(WCURSES)\cursstat.h $(INCL)\wincurs.h
|
||||||
$(O)curswins.c: $(WCURSES)\curswins.c $(WCURSES)\curswins.h $(INCL)\wincurs.h
|
$(O)\curswins.c: $(WCURSES)\curswins.c $(WCURSES)\curswins.h $(INCL)\wincurs.h
|
||||||
|
|
||||||
#
|
#
|
||||||
# The rest are stolen from sys/unix/Makefile.src,
|
# The rest are stolen from sys/unix/Makefile.src,
|
||||||
# with the following changes:
|
# with the following changes:
|
||||||
@@ -1582,6 +1566,7 @@ $(O)wintext.o: ..\win\X11\wintext.c $(HACK_H) $(INCL)\winX.h $(INCL)\xwindow.h
|
|||||||
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\wintext.c
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\wintext.c
|
||||||
$(O)winval.o: ..\win\X11\winval.c $(HACK_H) $(INCL)\winX.h
|
$(O)winval.o: ..\win\X11\winval.c $(HACK_H) $(INCL)\winX.h
|
||||||
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\winval.c
|
@$(CC) $(cflagsBuild) -Fo$@ ..\win\X11\winval.c
|
||||||
|
$(O)tile.o: $(SRC)\tile.c $(HACK_H)
|
||||||
$(O)gnaskstr.o: ..\win\gnome\gnaskstr.c ..\win\gnome\gnaskstr.h \
|
$(O)gnaskstr.o: ..\win\gnome\gnaskstr.c ..\win\gnome\gnaskstr.h \
|
||||||
..\win\gnome\gnmain.h
|
..\win\gnome\gnmain.h
|
||||||
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnaskstr.c
|
@$(CC) $(cflagsBuild) $(GNOMEINC) -Fo$@ ..\win\gnome\gnaskstr.c
|
||||||
|
|||||||
+1
-1
@@ -1889,7 +1889,7 @@ void nethack_enter_nttty()
|
|||||||
error("Unable to load nhraykey.dll");
|
error("Unable to load nhraykey.dll");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif TTY_GRAPHICS
|
#endif /* TTY_GRAPHICS */
|
||||||
|
|
||||||
/* this is used as a printf() replacement when the window
|
/* this is used as a printf() replacement when the window
|
||||||
* system isn't initialized yet
|
* system isn't initialized yet
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
* Use this stub to insert a needed pragma prior
|
||||||
|
* to compiling $(PDCWINCON)\pdcscrn.c in the
|
||||||
|
* PDCurses distribution.
|
||||||
|
*
|
||||||
|
* We don't want to ask NetHack builders to
|
||||||
|
* modify the PDCurses distribution in any way,
|
||||||
|
* we only ask that they have the original intact
|
||||||
|
* PDCurses source tree available during the build.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma warning(disable : 4996)
|
||||||
|
#include "pdcscrn.c"
|
||||||
|
|
||||||
+3
-5
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#ifdef GUISTUB
|
#ifdef GUISTUB
|
||||||
#ifdef TTYSTUB
|
#ifdef TTYSTUB
|
||||||
#error You can't compile this with both GUISTUB and TTYSTUB defined.
|
#error You cannot compile this with both GUISTUB and TTYSTUB defined.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int GUILaunched;
|
int GUILaunched;
|
||||||
@@ -29,6 +29,7 @@ mswin_destroy_reg()
|
|||||||
*/
|
*/
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
extern char default_window_sys[];
|
extern char default_window_sys[];
|
||||||
|
extern int mingw_main(int argc, char **argv);
|
||||||
|
|
||||||
int
|
int
|
||||||
main(argc, argv)
|
main(argc, argv)
|
||||||
@@ -37,10 +38,7 @@ char *argv[];
|
|||||||
{
|
{
|
||||||
boolean resuming;
|
boolean resuming;
|
||||||
|
|
||||||
sys_early_init();
|
resuming = mingw_main(argc, argv);
|
||||||
Strcpy(default_window_sys, "tty");
|
|
||||||
resuming = pcmain(argc, argv);
|
|
||||||
moveloop(resuming);
|
|
||||||
nethack_exit(EXIT_SUCCESS);
|
nethack_exit(EXIT_SUCCESS);
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -1962,6 +1962,7 @@ boolean complain;
|
|||||||
wp->title = dupstr(str);
|
wp->title = dupstr(str);
|
||||||
|
|
||||||
wp->menu_information->permi = FALSE;
|
wp->menu_information->permi = FALSE;
|
||||||
|
wp->menu_information->disable_mcolors = TRUE;
|
||||||
(void) X11_select_menu(newwin, PICK_NONE, &menu_list);
|
(void) X11_select_menu(newwin, PICK_NONE, &menu_list);
|
||||||
X11_destroy_nhwindow(newwin);
|
X11_destroy_nhwindow(newwin);
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1162,7 +1162,7 @@ struct menu *curr_menu;
|
|||||||
XtSetArg(args[num_args], nhStr(XtNborderWidth), 0); num_args++;
|
XtSetArg(args[num_args], nhStr(XtNborderWidth), 0); num_args++;
|
||||||
XtSetArg(args[num_args], nhStr(XtNvertDistance), 0); num_args++;
|
XtSetArg(args[num_args], nhStr(XtNvertDistance), 0); num_args++;
|
||||||
|
|
||||||
if (!iflags.use_menu_color
|
if (!iflags.use_menu_color || wp->menu_information->disable_mcolors
|
||||||
|| !get_menu_coloring(curr->str, &color, &attr))
|
|| !get_menu_coloring(curr->str, &color, &attr))
|
||||||
attr = curr->attr;
|
attr = curr->attr;
|
||||||
|
|
||||||
|
|||||||
+6
-7
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 wintext.c $NHDT-Date: 1450453309 2015/12/18 15:41:49 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.15 $ */
|
/* NetHack 3.6 wintext.c $NHDT-Date: 1543622533 2018/12/01 00:02:13 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.16 $ */
|
||||||
/* Copyright (c) Dean Luick, 1992 */
|
/* Copyright (c) Dean Luick, 1992 */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -281,11 +281,9 @@ struct xwindow *wp;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], XtNallowShellResize, True);
|
XtSetArg(args[num_args], XtNallowShellResize, True), num_args++;
|
||||||
num_args++;
|
|
||||||
XtSetArg(args[num_args], XtNtranslations,
|
XtSetArg(args[num_args], XtNtranslations,
|
||||||
XtParseTranslationTable(text_translations));
|
XtParseTranslationTable(text_translations)), num_args++;
|
||||||
num_args++;
|
|
||||||
|
|
||||||
#ifdef TRANSIENT_TEXT
|
#ifdef TRANSIENT_TEXT
|
||||||
wp->popup = XtCreatePopupShell("text", transientShellWidgetClass,
|
wp->popup = XtCreatePopupShell("text", transientShellWidgetClass,
|
||||||
@@ -299,8 +297,9 @@ struct xwindow *wp;
|
|||||||
XtParseTranslationTable("<Message>WM_PROTOCOLS: delete_text()"));
|
XtParseTranslationTable("<Message>WM_PROTOCOLS: delete_text()"));
|
||||||
|
|
||||||
num_args = 0;
|
num_args = 0;
|
||||||
XtSetArg(args[num_args], XtNallowShellResize, True);
|
XtSetArg(args[num_args], XtNallowShellResize, True), num_args++;
|
||||||
num_args++;
|
XtSetArg(args[num_args], XtNtranslations,
|
||||||
|
XtParseTranslationTable(text_translations)), num_args++;
|
||||||
form = XtCreateManagedWidget("form", formWidgetClass, wp->popup, args,
|
form = XtCreateManagedWidget("form", formWidgetClass, wp->popup, args,
|
||||||
num_args);
|
num_args);
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,16 @@ struct window_procs curses_procs = {
|
|||||||
genl_can_suspend_yes,
|
genl_can_suspend_yes,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Global variables for curses interface
|
||||||
|
*/
|
||||||
|
|
||||||
|
int term_rows, term_cols; /* size of underlying terminal */
|
||||||
|
int orig_cursor; /* Preserve initial cursor state */
|
||||||
|
WINDOW *base_term; /* underlying terminal window */
|
||||||
|
boolean counting; /* Count window is active */
|
||||||
|
WINDOW *mapwin, *statuswin, *messagewin; /* Main windows */
|
||||||
|
|
||||||
/* Track if we're performing an update to the permanent window.
|
/* Track if we're performing an update to the permanent window.
|
||||||
Needed since we aren't using the normal menu functions to handle
|
Needed since we aren't using the normal menu functions to handle
|
||||||
the inventory window. */
|
the inventory window. */
|
||||||
|
|||||||
@@ -371,12 +371,12 @@ curses_message_win_getline(const char *prompt, char *answer, int buffer)
|
|||||||
char *tmpstr; /* for free() */
|
char *tmpstr; /* for free() */
|
||||||
int maxy, maxx; /* linewrap / scroll */
|
int maxy, maxx; /* linewrap / scroll */
|
||||||
int ch;
|
int ch;
|
||||||
|
|
||||||
WINDOW *win = curses_get_nhwin(MESSAGE_WIN);
|
WINDOW *win = curses_get_nhwin(MESSAGE_WIN);
|
||||||
int border_space = 0;
|
int border_space = 0;
|
||||||
int len = 0; /* of answer string */
|
int len = 0; /* of answer string */
|
||||||
boolean border = curses_window_has_border(MESSAGE_WIN);
|
boolean border = curses_window_has_border(MESSAGE_WIN);
|
||||||
int orig_cursor = curs_set(0);
|
|
||||||
|
orig_cursor = curs_set(0);
|
||||||
|
|
||||||
curses_get_window_size(MESSAGE_WIN, &height, &width);
|
curses_get_window_size(MESSAGE_WIN, &height, &width);
|
||||||
if (border) {
|
if (border) {
|
||||||
|
|||||||
@@ -0,0 +1,93 @@
|
|||||||
|
# $NHDT-Date: 1524689255 2018/04/25 20:47:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.12 $
|
||||||
|
# Copyright (c) 2018 by Michael Allison
|
||||||
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|
||||||
|
# Set all of these or none of them.
|
||||||
|
#
|
||||||
|
# bison and flex are the ones found in GnuWin32, which
|
||||||
|
# is probably the easiest set of these tools to find
|
||||||
|
# on Windows.
|
||||||
|
#
|
||||||
|
#YACC = bison.exe -y
|
||||||
|
#LEX = flex.exe
|
||||||
|
#YTABC = y.tab.c
|
||||||
|
#YTABH = y.tab.h
|
||||||
|
#LEXYYC = lex.yy.c
|
||||||
|
SHELL=cmd.exe
|
||||||
|
|
||||||
|
default: all
|
||||||
|
|
||||||
|
all: tools ../util/dgn_yacc.c ../util/dgn_lex.c
|
||||||
|
|
||||||
|
rebuild: clean all
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-del ..\util\dgn_lex.c
|
||||||
|
-del ..\util\dgn_yacc.c
|
||||||
|
-del ..\include\dgn_comp.h
|
||||||
|
|
||||||
|
tools:
|
||||||
|
ifneq "$(YACC)" ""
|
||||||
|
@echo Yacc-alike set to $(YACC)
|
||||||
|
@echo YTABC set to $(YTABC)
|
||||||
|
@echo YTABH set to $(YTABH)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq "$(LEX)" ""
|
||||||
|
@echo Lex-alike set to $(LEX)
|
||||||
|
@echo LEXYYC set to $(LEXYYC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
#==========================================
|
||||||
|
# Dungeon Compiler Stuff
|
||||||
|
#==========================================
|
||||||
|
|
||||||
|
../include/dgn_comp.h : ../util/dgn_comp.y
|
||||||
|
ifeq "$(YACC)" ""
|
||||||
|
@echo Using pre-built dgn_comp.h
|
||||||
|
chdir ..\include
|
||||||
|
copy /y ..\sys\share\dgn_comp.h
|
||||||
|
copy /b dgn_comp.h+,,
|
||||||
|
chdir ..\src
|
||||||
|
else
|
||||||
|
chdir ..\util
|
||||||
|
$(YACC) -d dgn_comp.y
|
||||||
|
copy $(YTABC) $@
|
||||||
|
copy $(YTABH) ..\include\dgn_comp.h
|
||||||
|
@del $(YTABC)
|
||||||
|
@del $(YTABH)
|
||||||
|
chdir ..\build
|
||||||
|
endif
|
||||||
|
|
||||||
|
../util/dgn_yacc.c : ../util/dgn_comp.y
|
||||||
|
ifeq "$(YACC)" ""
|
||||||
|
@echo Using pre-built dgn_yacc.c
|
||||||
|
chdir ..\util
|
||||||
|
copy /y ..\sys\share\dgn_yacc.c
|
||||||
|
copy /b dgn_yacc.c+,,
|
||||||
|
chdir ..\src
|
||||||
|
else
|
||||||
|
chdir ..\util
|
||||||
|
$(YACC) -d dgn_comp.y
|
||||||
|
copy $(YTABC) $@
|
||||||
|
copy $(YTABH) ..\include\dgn_comp.h
|
||||||
|
@del $(YTABC)
|
||||||
|
@del $(YTABH)
|
||||||
|
chdir ..\build
|
||||||
|
endif
|
||||||
|
|
||||||
|
../util/dgn_lex.c: ../util/dgn_comp.l
|
||||||
|
ifeq "$(LEX)" ""
|
||||||
|
@echo Using pre-built dgn_lex.c
|
||||||
|
chdir ..\util
|
||||||
|
copy /y ..\sys\share\dgn_lex.c
|
||||||
|
copy /b dgn_lex.c+,,
|
||||||
|
chdir ..\src
|
||||||
|
else
|
||||||
|
chdir ..\util
|
||||||
|
$(LEX) dgn_comp.l
|
||||||
|
copy $(LEXYYC) $@
|
||||||
|
@del $(LEXYYC)
|
||||||
|
chdir ..\build
|
||||||
|
endif
|
||||||
|
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
# $NHDT-Date: 1524689255 2018/04/25 20:47:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.12 $
|
||||||
|
# Copyright (c) 2018 by Michael Allison
|
||||||
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|
||||||
|
# Set all of these or none of them.
|
||||||
|
#
|
||||||
|
# bison and flex are the ones found in GnuWin32, which
|
||||||
|
# is probably the easiest set of these tools to find
|
||||||
|
# on Windows.
|
||||||
|
#
|
||||||
|
#YACC = bison.exe -y
|
||||||
|
#LEX = flex.exe
|
||||||
|
#YTABC = y.tab.c
|
||||||
|
#YTABH = y.tab.h
|
||||||
|
#LEXYYC = lex.yy.c
|
||||||
|
SHELL = cmd.exe
|
||||||
|
|
||||||
|
default: all
|
||||||
|
|
||||||
|
all: tools ../util/lev_yacc.c ../util/lev_lex.c
|
||||||
|
|
||||||
|
rebuild: clean all
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-del ..\util\lev_lex.c
|
||||||
|
-del ..\util\lev_yacc.c
|
||||||
|
-del ..\include\lev_comp.h
|
||||||
|
|
||||||
|
tools:
|
||||||
|
ifneq "$(YACC)" ""
|
||||||
|
@echo Yacc-alike set to "$(YACC)"
|
||||||
|
@echo YTABC set to $(YTABC)
|
||||||
|
@echo YTABH set to $(YTABH)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq "$(LEX)" ""
|
||||||
|
@echo Lex-alike set to "$(LEX)"
|
||||||
|
@echo LEXYYC set to $(LEXYYC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
#==========================================
|
||||||
|
# Level Compiler Stuff
|
||||||
|
#==========================================
|
||||||
|
|
||||||
|
../include/lev_comp.h: ../util/lev_comp.y
|
||||||
|
@echo Yacc-alike set to "$(YACC)"
|
||||||
|
ifeq "$(YACC)" ""
|
||||||
|
@echo Using pre-built lev_comp.h
|
||||||
|
chdir ..\include
|
||||||
|
copy /y ..\sys\share\lev_comp.h
|
||||||
|
copy /b lev_comp.h+,,
|
||||||
|
chdir ..\src
|
||||||
|
else
|
||||||
|
@echo Generating lev_yacc.c and lev_comp.h
|
||||||
|
chdir ..\util
|
||||||
|
$(YACC) -d lev_comp.y
|
||||||
|
copy $(YTABC) $@
|
||||||
|
copy $(YTABH) ..\include\lev_comp.h
|
||||||
|
@del $(YTABC)
|
||||||
|
@del $(YTABH)
|
||||||
|
chdir ..\src
|
||||||
|
endif
|
||||||
|
|
||||||
|
../util/lev_yacc.c: ../util/lev_comp.y
|
||||||
|
@echo Yacc-alike set to "$(YACC)"
|
||||||
|
ifeq "$(YACC)" ""
|
||||||
|
@echo Using pre-built lev_yacc.c
|
||||||
|
chdir ..\util
|
||||||
|
copy /y ..\sys\share\lev_yacc.c
|
||||||
|
copy /b lev_yacc.c+,,
|
||||||
|
chdir ..\src
|
||||||
|
else
|
||||||
|
@echo Generating lev_yacc.c and lev_comp.h
|
||||||
|
chdir ..\util
|
||||||
|
$(YACC) -d lev_comp.y
|
||||||
|
copy $(YTABC) $@
|
||||||
|
copy $(YTABH) ..\include\lev_comp.h
|
||||||
|
@del $(YTABC)
|
||||||
|
@del $(YTABH)
|
||||||
|
chdir ..\src
|
||||||
|
endif
|
||||||
|
|
||||||
|
../util/lev_lex.c: ../util/lev_comp.l
|
||||||
|
@echo Lex-alike set to "$(LEX)"
|
||||||
|
ifeq "$(LEX)" ""
|
||||||
|
@echo Using pre-built lev_lex.c
|
||||||
|
chdir ..\util
|
||||||
|
copy /y ..\sys\share\lev_lex.c
|
||||||
|
copy /b lev_lex.c+,,
|
||||||
|
chdir ..\src
|
||||||
|
else
|
||||||
|
@echo Generating lev_lex.c
|
||||||
|
chdir ..\util
|
||||||
|
$(LEX) lev_comp.l
|
||||||
|
copy $(LEXYYC) $@
|
||||||
|
@del $(LEXYYC)
|
||||||
|
chdir ..\src
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#$NHDT-Date: 1524689255 2018/04/25 20:47:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.4 $
|
||||||
|
# Copyright (c) 2002 by Michael Allison
|
||||||
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|
||||||
|
SHELL=cmd.exe
|
||||||
|
|
||||||
|
default: all
|
||||||
|
|
||||||
|
all: ../win/win32/tiles.bmp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-del ..\src\win\win32\tiles.bmp
|
||||||
|
-del ..\win\win32\tiles.bmp
|
||||||
|
|
||||||
|
#==========================================
|
||||||
|
# Building the tiles file tile.bmp
|
||||||
|
#==========================================
|
||||||
|
|
||||||
|
../src/tiles.bmp : ../win/share/monsters.txt ../win/share/objects.txt \
|
||||||
|
../win/share/other.txt
|
||||||
|
chdir ..\src
|
||||||
|
..\util\tile2bmp.exe tiles.bmp
|
||||||
|
chdir ..\build
|
||||||
|
|
||||||
|
..\win\win32\tiles.bmp: ..\src\tiles.bmp
|
||||||
|
@copy ..\src\tiles.bmp ..\win\win32\tiles.bmp
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<AdditionalDependencies>comctl32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>comctl32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<Manifest>
|
<Manifest>
|
||||||
<AdditionalManifestFiles>NethackW.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
<AdditionalManifestFiles>$(WinWin32Dir)NethackW.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||||
</Manifest>
|
</Manifest>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -184,4 +184,4 @@
|
|||||||
<Target Name="AfterRebuild">
|
<Target Name="AfterRebuild">
|
||||||
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
|
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
Reference in New Issue
Block a user