OSDN Git Service

fix #39767
[jnethack/source.git] / include / patchlevel.h
1 /* NetHack 3.6  patchlevel.h    $NHDT-Date: 1557254337 2019/05/07 18:38:57 $  $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.126 $ */
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3 /*-Copyright (c) Michael Allison, 2012. */
4 /* NetHack may be freely redistributed.  See license for details. */
5
6 /* NetHack 3.6.x */
7 #define VERSION_MAJOR 3
8 #define VERSION_MINOR 6
9 /*
10  * PATCHLEVEL is updated for each release.
11  */
12 #define PATCHLEVEL 2
13 /*
14  * Incrementing EDITLEVEL can be used to force invalidation of old bones
15  * and save files.
16  */
17 #define EDITLEVEL 0
18
19 #define COPYRIGHT_BANNER_A "NetHack, Copyright 1985-2019"
20 #define COPYRIGHT_BANNER_B \
21     "         By Stichting Mathematisch Centrum and M. Stephenson."
22 /* COPYRIGHT_BANNER_C is generated by makedefs into date.h */
23 #define COPYRIGHT_BANNER_D "         See license for details."
24
25 /*
26  * If two or more successive releases have compatible data files, define
27  * this with the version number of the oldest such release so that the
28  * new release will accept old save and bones files.  The format is
29  *      0xMMmmPPeeL
30  * 0x = literal prefix "0x", MM = major version, mm = minor version,
31  * PP = patch level, ee = edit level, L = literal suffix "L",
32  * with all four numbers specified as two hexadecimal digits.
33  */
34 #define VERSION_COMPATIBILITY 0x03060002L
35
36 /****************************************************************************/
37 /* Version 3.6.x */
38
39 /*  Patch 2, May 7, 2019
40  *  
41  *  Over 320 bug fixes including a couple of crash bug fixes
42  *  More than 15 enhancements or improvements
43  *  Ensuring that unix Makefiles do not rely on features unique to gnu make
44  *  Improvements to hilite_status parsing in an effort to ensure that expected
45  *      and sensible values ranges are more easily specified and accepted
46  *  Performance optimizations for tty
47  *  Windows console tty via use of a back buffer
48  *  Mac OS X build improvements and inclusion of an Xcode project
49  *  Adopted the community curses window port
50  */
51
52 /*  Patch 1, April 27, 2018
53  *  Over four hundred and seventy bug fixes and improvements.
54  */
55
56 /*
57  *  NetHack 3.6.0, December 7, 2015
58  *
59  *  Hundreds of bug fixes.
60  *  Some code reorganization.
61  *  Some new features.
62  *  Variations of some community patches rolled in.
63  */
64
65 /****************************************************************************/
66 /* Version 3.5.x */
67
68 /*  Version 3.5 was never officially released.
69  */
70
71 /****************************************************************************/
72 /* Version 3.4.x */
73
74 /*  Patch 3, December 7, 2003
75  *  Several dozen general bug fixes including at least one fatal bug
76  *  Correct several inconsistencies
77  *  Handle level completely filled with monsters better
78  *  Performance enhancements for win32tty port on Windows 98 and Me
79  *  win32gui player selection fixes
80  *  X11 player selection fixes, one of which could be fatal
81  *  Eliminated a gold-in-shop-container cheat
82  *  Include bones file version compatibility info in options file
83  */
84
85 /*  Patch 2, August 30, 2003
86  *  Fix a fatal bug that caused a crash when applying figurine, candle, or
87  *      bell that gets used up
88  *  Fix a fatal bug that triggered a panic when your secondary weapon was
89  *      cursed during bones file creation
90  *  Several dozen general bug fixes
91  *  Fixed some Gnome compilation problems on Redhat 7.2 and 8.0
92  *  Fixed a problem in the util Makefile
93  *  Use random() by default under linux instead of lrand48()
94  *  win32 tty adjustments and support for loading alternative key handlers
95  */
96
97 /*  Patch 1, February 22, 2003
98  *  Fix a few fatal errors including one for reentering shops, one
99  *     involving land mines and boulders/statues, one for delayed
100  *     polymorph, and one from a chest trap exploding ball and chain
101  *  Fix a buffer overflow that could lead to security problems
102  *  Hundreds of general bug fixes
103  *  Several message and other glitches corrected
104  *  Travel command adjustments and ability to disable travel command
105  *  message recall window extensions (by Christian Cooper)
106  *  win32: some interface improvements
107  *  unix: improved tile support
108  *  gnome: some fixes, and some enhancements by Dylan Alex Simon
109  *  winCE: Windows CE port included (by Alex Kompel)
110  */
111
112 /*
113  *  NetHack 3.4.0, March 20, 2002
114  *
115  *  Hundreds of general bug fixes including some for sliming, zapping,
116  *conduct,
117  *      and several more for riding
118  *  Eliminated a few potentially fatal bugs including one for stone-to-flesh,
119  *      trouble-fixing during prayer, riding down stairs while punished,
120  *      polyd player demon summoning, throwing digging tools into shops, and
121  *      a couple from having the vision system enabled at inappropriate times
122  *  Corrected some incorrect calculations in final scoring
123  *  Enhanced config file processing and alert to duplication of entries
124  *  Player selection prompt enhancements for TTY and X11
125  *  Objects merge in containers
126  *  Wish for "nothing", and genocide "none" to preserve your conduct
127  *  Changes to Wizard quest
128  *  Added the travel command which works by mouse click or '_' command
129  *  Config file BOULDER option to specify the symbol for displaying boulders
130  *  Incorporate modified versions of several 3.3.1 patches that have been
131  *      in circulation in the NetHack community
132  *  New Gnomish Mines levels (courtesy Kelly Bailey)
133  *  Mac: command-key shortcuts in the player selection dialog
134  *  Amiga: screenmode requester, and several amiga specific bug fixes
135  *  Win32 graphical port contributed by Alex Kompel is now included
136  */
137
138 /* Version 3.4 */
139
140 /****************************************************************************/
141 /* Version 3.3.x */
142
143 /*  Patch 1, August 9, 2000
144  *  Many, many general fixes, including a number for riding, twoweapon,
145  *      and invisible monsters
146  *  A security fix for a couple of potentially exploitable buffer overflows
147  *      in previous versions
148  *  Redo Ranger quest
149  *  Introduction of differentiation between different causes of blindness
150  *  Overhaul of warning
151  *  Functionality restored to Amiga (courtesy Janne Salmijarvi) and Atari
152  *      (courtesy Christian "Marvin" Bressler) ports
153  *  Mac: multiple interface fixes
154  *  win32: fixed bug that caused messages to stop displaying after escape
155  *  tty: use ANSI color (AF) over standard color (Sf) when given the choice
156  *  several ports: offer for player selection only choices consistent with
157  *      those already made by config file/command line (e.g., only offer roles
158  *      that are compatible with specified race)
159  */
160
161 /*
162  *  NetHack 3.3.0, December 10, 1999
163  *
164  *  Implement the differentiation of character class or role from the
165  *  character race.
166  *  Removal of the Elf class, in preference to the Elf as a race.
167  *  Introduction of Dwarves, Elves, Gnomes and Orcs as distinct races in
168  *  addition to the Human "norm".
169  *  Addition of the Monk and Ranger classes.
170  *  Integrate some of the features of several branch versions of the game,
171  *  notably NetHack--, NHplus, SLASH, and Slash'em.
172  *  Adopt "the wizard patch" spellcasting system.
173  *  Support for the Qt widget set.
174  *  Y2K fix: use 4 digit year values for the dates in the score file
175  *  updated COPYRIGHT_BANNER_A to reflect year of release.
176  *  Dozens of other bug fixes, and minor improvements.
177  */
178
179 /* Version 3.3 */
180
181 /****************************************************************************/
182 /* Version 3.2.x */
183
184 /*  Patch 3, December 10, 1999
185  *  Released simultaneously with 3.3.0 for the benefit of
186  *  ports and platforms that were unable to get working
187  *  versions of 3.3.0 ready prior to the year 2000. It
188  *  consisted of just a few bug fixes and offered no new
189  *  functionality changes over 3.2.2.
190  *
191  *  Y2K fix: use 4 digit year values for the dates in the score file
192  *  updated COPYRIGHT_BANNER_A to reflect year of release
193  *  Fatal Mac bug removed
194  *  DOS Makefile problem removed
195  *  several bugs that could potentially trigger crashes removed
196  */
197
198 /*  Patch 2, December 10, 1996
199  *  fix the `recover' utility
200  *  fix priest/minion name overflow which could cause Astral Plane crashes
201  *  avoid crash when hit by own thrown boomerang
202  *    "     "    "   worn blindfold pushed off by applying cursed towel
203  *  handle returning live Wizard correctly in deep dungeon levels
204  *  don't occasionally display unseen areas of new levels during level change
205  *  other minor display fixes
206  *  fix several minor reason for death inconsistencies and shop bugs
207  *  high dexterity doesn't guarantee that thrown eggs & potions will hit
208  *
209  *  Selected platform- or configuration-specific changes:
210  *  Mac: update `mrecover'
211  *  MSDOS: don't switch into tiles mode when resuming play on rogue level
212  *  tty: support object class characters for 'I' command in menu mode
213  *  Unix: work around several <curses.h> compilation problems
214  *  X11: as tty above, plus implement tty-style count handling in menus;
215  *      better window placement support for old window managers
216  */
217
218 /*  Patch 1, May 28, 1996
219  *  eliminate `#qualifications'; fix weapon proficiency handling for missiles
220  *  keep Medusa from continuing to move after she's been killed by reflection
221  *      of her own gaze (fixes relmon panic)
222  *  make monsters a little smarter; assorted eating and chatting changes
223  *  fix object amnesia for spellbooks; fix Nazgul's sleep gas attack
224  *  fix bullwhip usage for case of having recently been in a trap
225  *  egg hatching fixes, oil potion fixes, magic marker fixes
226  *  support object class chars as selection accelerators for some menus
227  *  stricter parsing of run-time options at startup time
228  *  interactive setting of options via menu (courtesy Per Liboriussen)
229  *
230  *  Selected platform- or configuration-specific changes:
231  *  Amiga: fix panic for tiles display in Gnomish mines
232  *  BeOS: preliminary support for new BeBox platform; initially tty only
233  *  DLB: avoid excessive fseek calls (major performance hit for MSDOS)
234  *  HPUX: workaround for gcc-2.6.3 bug adversely affecting monster generation
235  *  Mac: avoid MW 68K struct copy optimization bug which caused crashes;
236  *      fix dragging of scrollbar; boost partitions to 2MB minimum
237  *  MSDOS: wasn't safe to enter endgame for MFLOPPY configuration;
238  *      fix re-entry into game after "!" (shell escape) + chdir + EXIT;
239  *      F3/F4/F5 display interface swapping improvements;
240  *      add support for preloading all tiles in protected mode environment
241  *  TERMINFO: colors were wrong for some systems, such as Linux
242  *  X11: display help files properly
243  */
244
245 /*
246  *  NetHack 3.2.0, April 11, 1996
247  *  enhancements to the windowing systems including "tiles" or icons to
248  *      visually represent monsters and objects (courtesy Warwick Allison)
249  *  window based menu system introduced for inventory and selection
250  *  moving light sources besides the player
251  *  improved #untrap (courtesy Helge Hafting)
252  *  spellcasting logic changes to balance spellcasting towards magic-using
253  *      classes (courtesy Stephen White)
254  *  many, many bug fixes and abuse eliminations
255  */
256
257 /* Version 3.2 */
258
259 /****************************************************************************/
260 /* Version 3.1.x */
261
262 /*
263  *  Patch 3, July 12, 1993
264  *  further revise Mac windowing and extend to Think C (courtesy
265  *      Barton House)
266  *  fix confusing black/gray/white display on some MSDOS hardware
267  *  remove fatal bugs dealing with horns of plenty and VMS bones levels,
268  *      as well as more minor ones
269  */
270
271 /*
272  *  Patch 2, June 1, 1993
273  *  add tty windowing to Mac and Amiga ports and revise native windowing
274  *  allow direct screen I/O for MS-DOS versions instead of going through
275  *      termcap routines (courtesy Michael Allison and Kevin Smolkowski)
276  *  changes for NEC PC-9800 and various termcap.zip fixes by Yamamoto Keizo
277  *  SYSV 386 music driver ported to 386BSD (courtesy Andrew Chernov) and
278  *      SCO UNIX (courtesy Andreas Arens)
279  *  enhanced pickup and disclosure options
280  *  removed fatal bugs dealing with cursed bags of holding, renaming
281  *      shopkeepers, objects falling through trapdoors on deep levels,
282  *      and kicking embedded objects loose, and many more minor ones
283  */
284
285 /*
286  *  Patch 1, February 25, 1993
287  *  add Windows NT console port (courtesy Michael Allison)
288  *  polishing of Amiga, Mac, and X11 windowing
289  *  fixing many small bugs, including the infamous 3.0 nurse relmon bug
290  */
291
292 /*
293  *  NetHack 3.1.0, January 25, 1993
294  *  many, many changes and bugfixes -- some of the highlights include:
295  *  display rewrite using line-of-sight vision
296  *  general window interface, with the ability to use multiple interfaces
297  *      in the same executable
298  *  intelligent monsters
299  *  enhanced dungeon mythology
300  *  branching dungeons with more special levels, quest dungeons, and
301  *      multi-level endgame
302  *  more artifacts and more uses for artifacts
303  *  generalization to multiple shops with damage repair
304  *  X11 interface
305  *  ability to recover crashed games
306  *  full rewrite of Macintosh port
307  *  Amiga splitter
308  *  directory rearrangement (dat, doc, sys, win, util)
309  */
310
311 /* Version 3.1 */
312
313 /****************************************************************************/
314 /* Version 3.0 */
315
316 /*
317  *  Patch 10, February 5, 1991
318  *  extend overlay manager to multiple files for easier binary distribution
319  *  allow for more system and compiler variance
320  *  remove more small insects
321  */
322
323 /*
324  *  Patch 9, June 26, 1990
325  *  clear up some confusing documentation
326  *  smooth some more rough edges in various ports
327  *  and fix a couple more bugs
328  */
329
330 /*
331  *  Patch 8, June 3, 1990
332  *  further debug and refine Macintosh port
333  *  refine the overlay manager, rearrange the OVLx breakdown for better
334  *      efficiency, rename the overlay macros, and split off the overlay
335  *      instructions to Install.ovl
336  *  introduce NEARDATA for better Amiga efficiency
337  *  support for more VMS versions (courtesy Joshua Delahunty and Pat Rankin)
338  *  more const fixes
339  *  better support for common graphics (DEC VT and IBM)
340  *  and a number of simple fixes and consistency extensions
341  */
342
343 /*
344  *  Patch 7, February 19, 1990
345  *  refine overlay support to handle portions of .c files through OVLx
346  *      (courtesy above plus Kevin Smolkowski)
347  *  update and extend Amiga port and documentation (courtesy Richard Addison,
348  *      Jochen Erwied, Mark Gooderum, Ken Lorber, Greg Olson, Mike Passaretti,
349  *      and Gregg Wonderly)
350  *  refine and extend Macintosh port and documentation (courtesy Johnny Lee,
351  *      Kevin Sitze, Michael Sokolov, Andy Swanson, Jon Watte, and Tom West)
352  *  refine VMS documentation
353  *  continuing ANSIfication, this time of const usage
354  *  teach '/' about differences within monster classes
355  *  smarter eating code (yet again), death messages, and treatment of
356  *      non-animal monsters, monster unconsciousness, and naming
357  *  extended version command to give compilation options
358  *  and the usual bug fixes and hole plugs
359  */
360
361 /*
362  *  Patch 6, November 19, 1989
363  *  add overlay support for MS-DOS (courtesy Pierre Martineau, Stephen
364  *      Spackman, and Norm Meluch)
365  *  refine Macintosh port
366  *  different door states show as different symbols (courtesy Ari Huttunen)
367  *  smarter drawbridges (courtesy Kevin Darcy)
368  *  add CLIPPING and split INFERNO off HARD
369  *  further refine eating code wrt picking up and resumption
370  *  make first few levels easier, by adding :x monsters and increasing initial
371  *      attribute points and hitting probability
372  *  teach '/' about configurable symbols
373  */
374
375 /*
376  *  Patch 5, October 15, 1989
377  *  add support for Macintosh OS (courtesy Johnny Lee)
378  *  fix annoying dependency loop via new color.h file
379  *  allow interruption while eating -- general handling of partially eaten
380  * food
381  *  smarter treatment of iron balls (courtesy Kevin Darcy)
382  *  a handful of other bug fixes
383  */
384
385 /*
386  *  Patch 4, September 27, 1989
387  *  add support for VMS (courtesy David Gentzel)
388  *  move monster-on-floor references into functions and implement the new
389  *      lookup structure for both objects and monsters
390  *  extend the definitions of objects and monsters to provide "living color"
391  *      in the dungeon, instead of a single monster color
392  *  ifdef varargs usage to satisfy ANSI compilers
393  *  standardize on the color 'gray'
394  *  assorted bug fixes
395  */
396
397 /*
398  *  Patch 3, September 6, 1989
399  *  add war hammers and revise object prices
400  *  extend prototypes to ANSI compilers in addition to the previous MSDOS ones
401  *  move object-on-floor references into functions in preparation for planned
402  *      data structures to allow faster access and better colors
403  *  fix some more bugs, and extend the portability of things added in earlier
404  *      patches
405  */
406
407 /*
408  *  Patch 2, August 16, 1989
409  *  add support for OS/2 (courtesy Timo Hakulinen)
410  *  add a better makefile for MicroSoft C (courtesy Paul Gyugyi)
411  *  more accommodation of compilers and preprocessors
412  *  add better screen-size sensing
413  *  expand color use for PCs and introduce it for SVR3 UNIX machines
414  *  extend '/' to multiple identifications
415  *  allow meta key to be used to invoke extended commands
416  *  fix various minor bugs, and do further code cleaning
417  */
418
419 /*
420  *  Patch 1, July 31, 1989
421  *  add support for Atari TOS (courtesy Eric Smith) and Andrew File System
422  *      (courtesy Ralf Brown)
423  *  include the uuencoded version of termcap.arc for the MSDOS versions that
424  *      was included with 2.2 and 2.3
425  *  make a number of simple changes to accommodate various compilers
426  *  fix a handful of bugs, and do some code cleaning elsewhere
427  *  add more instructions for new environments and things commonly done wrong
428  */
429
430 /*
431  *  NetHack 3.0 baseline release, July, 1989
432  */
433
434 /* Version 3.0 */
435
436 /****************************************************************************/
437
438 /*patchlevel.h*/