patchlevel.h

Go to the documentation of this file.
00001 /*      SCCS Id: @(#)patchlevel.h       3.4     2003/12/06      */
00002 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
00003 /* NetHack may be freely redistributed.  See license for details. */
00004 
00005 /* UnNetHack 3.5.0 */
00006 #define GAME_SHORT_NAME "UNH"
00007 #define VERSION_MAJOR   3
00008 #define VERSION_MINOR   5
00009 /*
00010  * PATCHLEVEL is updated for each release.
00011  */
00012 #define PATCHLEVEL      4
00013 /*
00014  * Incrementing EDITLEVEL can be used to force invalidation of old bones
00015  * and save files.
00016  */
00017 #define EDITLEVEL       0
00018 
00019 /*
00020  * UnNetHack follows a more modern approach regarding version numbers:
00021  * major.minor.patchlevel[-revision]
00022  *
00023  * Odd-numbered minor versions are for development releases with no guarantees
00024  * for save and bones compatibility between different patchlevels, whereas
00025  * even-numbered minor releases are considered stable releases with save and
00026  * bones compatibility within the same minor number releases.
00027  *
00028  * Releases with increasing revision numbers are always save and bones compatbile
00029  * and are considered only bugfix releases. Therefore the revision number isn't
00030  * included into VERSION_COMPATIBILITY.
00031  */
00032 /* #define VERSION_REVISION     1 */
00033 
00034 #define COPYRIGHT_BANNER_A \
00035 "UnNetHack, Copyright 2009-2010"
00036 
00037 #define COPYRIGHT_BANNER_B \
00038 "    Based on NetHack, Copyright 1985-2003 by Stichting Mathematisch"
00039 
00040 #define COPYRIGHT_BANNER_C \
00041 "         Centrum and M. Stephenson.  See license for details."
00042 
00043 /*
00044  * If two or more successive releases have compatible data files, define
00045  * this with the version number of the oldest such release so that the
00046  * new release will accept old save and bones files.  The format is
00047  *      0xMMmmPPeeL
00048  * 0x = literal prefix "0x", MM = major version, mm = minor version,
00049  * PP = patch level, ee = edit level, L = literal suffix "L",
00050  * with all four numbers specified as two hexadecimal digits.
00051  */
00052 #define VERSION_COMPATIBILITY 0x03050300L       /* 3.5.3-e0 */
00053 
00054 
00055 /*****************************************************************************/
00056 /* Old vanilla ChangeLog. See top level file ChangeLog for UnNetHack */
00057 /* Version 3.4.x */
00058 
00059 /*  Patch 3, December 7, 2003
00060  *  Several dozen general bug fixes including at least one fatal bug
00061  *  Correct several inconsistencies
00062  *  Handle level completely filled with monsters better
00063  *  Performance enhancements for win32tty port on Windows 98 and Me
00064  *  win32gui player selection fixes
00065  *  X11 player selection fixes, one of which could be fatal
00066  *  Eliminated a gold-in-shop-container cheat
00067  *  Include bones file version compatibility info in options file
00068  */
00069 
00070 /*  Patch 2, August 30, 2003
00071  *  Fix a fatal bug that caused a crash when applying figurine, candle, or
00072  *      bell that gets used up
00073  *  Fix a fatal bug that triggered a panic when your secondary weapon was
00074  *      cursed during bones file creation
00075  *  Several dozen general bug fixes
00076  *  Fixed some Gnome compilation problems on Redhat 7.2 and 8.0
00077  *  Fixed a problem in the util Makefile
00078  *  Use random() by default under linux instead of lrand48()
00079  *  win32 tty adjustments and support for loading alternative key handlers
00080  */
00081 
00082 /*  Patch 1, February 22, 2003
00083  *  Fix a few fatal errors including one for reentering shops, one
00084  *     involving land mines and boulders/statues, one for delayed
00085  *     polymorph, and one from a chest trap exploding ball and chain
00086  *  Fix a buffer overflow that could lead to security problems
00087  *  Hundreds of general bug fixes
00088  *  Several message and other glitches corrected
00089  *  Travel command adjustments and ability to disable travel command
00090  *  message recall window extensions (by Christian Cooper)
00091  *  win32: some interface improvements
00092  *  unix: improved tile support
00093  *  gnome: some fixes, and some enhancements by Dylan Alex Simon
00094  *  winCE: Windows CE port included (by Alex Kompel)
00095  */
00096 
00097 /*
00098  *  NetHack 3.4.0, March 20, 2002
00099  *
00100  *  Hundreds of general bug fixes including some for sliming, zapping, conduct,
00101  *      and several more for riding
00102  *  Eliminated a few potentially fatal bugs including one for stone-to-flesh,
00103  *      trouble-fixing during prayer, riding down stairs while punished,
00104  *      polyd player demon summoning, throwing digging tools into shops, and
00105  *      a couple from having the vision system enabled at inappropriate times 
00106  *  Corrected some incorrect calculations in final scoring
00107  *  Enhanced config file processing and alert to duplication of entries
00108  *  Player selection prompt enhancements for TTY and X11
00109  *  Objects merge in containers
00110  *  Wish for "nothing", and genocide "none" to preserve your conduct
00111  *  Changes to Wizard quest
00112  *  Added the travel command which works by mouse click or '_' command
00113  *  Config file BOULDER option to specify the symbol for displaying boulders
00114  *  Incorporate modified versions of several 3.3.1 patches that have been
00115  *      in circulation in the NetHack community
00116  *  New Gnomish Mines levels (courtesy Kelly Bailey)
00117  *  Mac: command-key shortcuts in the player selection dialog
00118  *  Amiga: screenmode requester, and several amiga specific bug fixes
00119  *  Win32 graphical port contributed by Alex Kompel is now included
00120  */
00121 
00122 /* Version 3.4 */
00123 
00124 /*****************************************************************************/
00125 /* Version 3.3.x */
00126 
00127 /*  Patch 1, August 9, 2000
00128  *  Many, many general fixes, including a number for riding, twoweapon,
00129  *      and invisible monsters
00130  *  A security fix for a couple of potentially exploitable buffer overflows
00131  *      in previous versions
00132  *  Redo Ranger quest
00133  *  Introduction of differentiation between different causes of blindness
00134  *  Overhaul of warning
00135  *  Functionality restored to Amiga (courtesy Janne Salmijarvi) and Atari
00136  *      (courtesy Christian "Marvin" Bressler) ports
00137  *  Mac: multiple interface fixes
00138  *  win32: fixed bug that caused messages to stop displaying after escape
00139  *  tty: use ANSI color (AF) over standard color (Sf) when given the choice
00140  *  several ports: offer for player selection only choices consistent with
00141  *      those already made by config file/command line (e.g., only offer roles
00142  *      that are compatible with specified race)
00143  */
00144 
00145 /*
00146  *  NetHack 3.3.0, December 10, 1999
00147  *
00148  *  Implement the differentiation of character class or role from the
00149  *  character race.
00150  *  Removal of the Elf class, in preference to the Elf as a race.
00151  *  Introduction of Dwarves, Elves, Gnomes and Orcs as distinct races in
00152  *  addition to the Human "norm".
00153  *  Addition of the Monk and Ranger classes.
00154  *  Integrate some of the features of several branch versions of the game,
00155  *  notably NetHack--, NHplus, SLASH, and Slash'em.
00156  *  Adopt "the wizard patch" spellcasting system.
00157  *  Support for the Qt widget set.
00158  *  Y2K fix: use 4 digit year values for the dates in the score file
00159  *  updated COPYRIGHT_BANNER_A to reflect year of release.
00160  *  Dozens of other bug fixes, and minor improvements.
00161  */
00162 
00163 /* Version 3.3 */
00164 
00165 /*****************************************************************************/
00166 /* Version 3.2.x */
00167 
00168 /*  Patch 3, December 10, 1999
00169  *  Released simultaneously with 3.3.0 for the benefit of
00170  *  ports and platforms that were unable to get working
00171  *  versions of 3.3.0 ready prior to the year 2000. It
00172  *  consisted of just a few bug fixes and offered no new
00173  *  functionality changes over 3.2.2.
00174  *
00175  *  Y2K fix: use 4 digit year values for the dates in the score file
00176  *  updated COPYRIGHT_BANNER_A to reflect year of release
00177  *  Fatal Mac bug removed
00178  *  DOS Makefile problem removed
00179  *  several bugs that could potentially trigger crashes removed
00180  */
00181 
00182 /*  Patch 2, December 10, 1996
00183  *  fix the `recover' utility
00184  *  fix priest/minion name overflow which could cause Astral Plane crashes
00185  *  avoid crash when hit by own thrown boomerang
00186  *    "     "    "   worn blindfold pushed off by applying cursed towel
00187  *  handle returning live Wizard correctly in deep dungeon levels
00188  *  don't occasionally display unseen areas of new levels during level change
00189  *  other minor display fixes
00190  *  fix several minor reason for death inconsistencies and shop bugs
00191  *  high dexterity doesn't guarantee that thrown eggs & potions will hit
00192  *
00193  *  Selected platform- or configuration-specific changes:
00194  *  Mac: update `mrecover'
00195  *  MSDOS: don't switch into tiles mode when resuming play on rogue level
00196  *  tty: support object class characters for 'I' command in menu mode
00197  *  Unix: work around several <curses.h> compilation problems
00198  *  X11: as tty above, plus implement tty-style count handling in menus;
00199  *      better window placement support for old window managers
00200  */
00201 
00202 /*  Patch 1, May 28, 1996
00203  *  eliminate `#qualifications'; fix weapon proficiency handling for missiles
00204  *  keep Medusa from continuing to move after she's been killed by reflection
00205  *      of her own gaze (fixes relmon panic)
00206  *  make monsters a little smarter; assorted eating and chatting changes
00207  *  fix object amnesia for spellbooks; fix Nazgul's sleep gas attack
00208  *  fix bullwhip usage for case of having recently been in a trap
00209  *  egg hatching fixes, oil potion fixes, magic marker fixes
00210  *  support object class chars as selection accelerators for some menus
00211  *  stricter parsing of run-time options at startup time
00212  *  interactive setting of options via menu (courtesy Per Liboriussen)
00213  *
00214  *  Selected platform- or configuration-specific changes:
00215  *  Amiga: fix panic for tiles display in Gnomish mines
00216  *  BeOS: preliminary support for new BeBox platform; initially tty only
00217  *  DLB: avoid excessive fseek calls (major performance hit for MSDOS)
00218  *  HPUX: workaround for gcc-2.6.3 bug adversely affecting monster generation
00219  *  Mac: avoid MW 68K struct copy optimization bug which caused crashes;
00220  *      fix dragging of scrollbar; boost partitions to 2MB minimum
00221  *  MSDOS: wasn't safe to enter endgame for MFLOPPY configuration;
00222  *      fix re-entry into game after "!" (shell escape) + chdir + EXIT;
00223  *      F3/F4/F5 display interface swapping improvements;
00224  *      add support for preloading all tiles in protected mode environment
00225  *  TERMINFO: colors were wrong for some systems, such as Linux
00226  *  X11: display help files properly
00227  */
00228 
00229 /*
00230  *  NetHack 3.2.0, April 11, 1996
00231  *  enhancements to the windowing systems including "tiles" or icons to
00232  *      visually represent monsters and objects (courtesy Warwick Allison)
00233  *  window based menu system introduced for inventory and selection
00234  *  moving light sources besides the player
00235  *  improved #untrap (courtesy Helge Hafting)
00236  *  spellcasting logic changes to balance spellcasting towards magic-using
00237  *      classes (courtesy Stephen White)
00238  *  many, many bug fixes and abuse eliminations
00239  */
00240 
00241 /* Version 3.2 */
00242 
00243 /*****************************************************************************/
00244 /* Version 3.1.x */
00245 
00246 /*
00247  *  Patch 3, July 12, 1993
00248  *  further revise Mac windowing and extend to Think C (courtesy
00249  *      Barton House)
00250  *  fix confusing black/gray/white display on some MSDOS hardware
00251  *  remove fatal bugs dealing with horns of plenty and VMS bones levels,
00252  *      as well as more minor ones
00253  */
00254 
00255 /*
00256  *  Patch 2, June 1, 1993
00257  *  add tty windowing to Mac and Amiga ports and revise native windowing
00258  *  allow direct screen I/O for MS-DOS versions instead of going through
00259  *      termcap routines (courtesy Michael Allison and Kevin Smolkowski)
00260  *  changes for NEC PC-9800 and various termcap.zip fixes by Yamamoto Keizo
00261  *  SYSV 386 music driver ported to 386BSD (courtesy Andrew Chernov) and
00262  *      SCO UNIX (courtesy Andreas Arens)
00263  *  enhanced pickup and disclosure options
00264  *  removed fatal bugs dealing with cursed bags of holding, renaming
00265  *      shopkeepers, objects falling through trapdoors on deep levels,
00266  *      and kicking embedded objects loose, and many more minor ones
00267  */
00268 
00269 /*
00270  *  Patch 1, February 25, 1993
00271  *  add Windows NT console port (courtesy Michael Allison)
00272  *  polishing of Amiga, Mac, and X11 windowing
00273  *  fixing many small bugs, including the infamous 3.0 nurse relmon bug
00274  */
00275 
00276 /*
00277  *  NetHack 3.1.0, January 25, 1993
00278  *  many, many changes and bugfixes -- some of the highlights include:
00279  *  display rewrite using line-of-sight vision
00280  *  general window interface, with the ability to use multiple interfaces
00281  *      in the same executable
00282  *  intelligent monsters
00283  *  enhanced dungeon mythology
00284  *  branching dungeons with more special levels, quest dungeons, and
00285  *      multi-level endgame
00286  *  more artifacts and more uses for artifacts
00287  *  generalization to multiple shops with damage repair
00288  *  X11 interface
00289  *  ability to recover crashed games
00290  *  full rewrite of Macintosh port
00291  *  Amiga splitter
00292  *  directory rearrangement (dat, doc, sys, win, util)
00293  */
00294 
00295 /* Version 3.1 */
00296 
00297 /*****************************************************************************/
00298 /* Version 3.0 */
00299 
00300 /*
00301  *  Patch 10, February 5, 1991
00302  *  extend overlay manager to multiple files for easier binary distribution
00303  *  allow for more system and compiler variance
00304  *  remove more small insects
00305  */
00306 
00307 /*
00308  *  Patch 9, June 26, 1990
00309  *  clear up some confusing documentation
00310  *  smooth some more rough edges in various ports
00311  *  and fix a couple more bugs
00312  */
00313 
00314 /*
00315  *  Patch 8, June 3, 1990
00316  *  further debug and refine Macintosh port
00317  *  refine the overlay manager, rearrange the OVLx breakdown for better
00318  *      efficiency, rename the overlay macros, and split off the overlay
00319  *      instructions to Install.ovl
00320  *  introduce NEARDATA for better Amiga efficiency
00321  *  support for more VMS versions (courtesy Joshua Delahunty and Pat Rankin)
00322  *  more const fixes
00323  *  better support for common graphics (DEC VT and IBM)
00324  *  and a number of simple fixes and consistency extensions
00325  */
00326 
00327 /*
00328  *  Patch 7, February 19, 1990
00329  *  refine overlay support to handle portions of .c files through OVLx
00330  *      (courtesy above plus Kevin Smolkowski)
00331  *  update and extend Amiga port and documentation (courtesy Richard Addison,
00332  *      Jochen Erwied, Mark Gooderum, Ken Lorber, Greg Olson, Mike Passaretti,
00333  *      and Gregg Wonderly)
00334  *  refine and extend Macintosh port and documentation (courtesy Johnny Lee,
00335  *      Kevin Sitze, Michael Sokolov, Andy Swanson, Jon Watte, and Tom West)
00336  *  refine VMS documentation
00337  *  continuing ANSIfication, this time of const usage
00338  *  teach '/' about differences within monster classes
00339  *  smarter eating code (yet again), death messages, and treatment of
00340  *      non-animal monsters, monster unconsciousness, and naming
00341  *  extended version command to give compilation options
00342  *  and the usual bug fixes and hole plugs
00343  */
00344 
00345 /*
00346  *  Patch 6, November 19, 1989
00347  *  add overlay support for MS-DOS (courtesy Pierre Martineau, Stephen
00348  *      Spackman, and Norm Meluch)
00349  *  refine Macintosh port
00350  *  different door states show as different symbols (courtesy Ari Huttunen)
00351  *  smarter drawbridges (courtesy Kevin Darcy)
00352  *  add CLIPPING and split INFERNO off HARD
00353  *  further refine eating code wrt picking up and resumption
00354  *  make first few levels easier, by adding :x monsters and increasing initial
00355  *      attribute points and hitting probability
00356  *  teach '/' about configurable symbols
00357  */
00358 
00359 /*
00360  *  Patch 5, October 15, 1989
00361  *  add support for Macintosh OS (courtesy Johnny Lee)
00362  *  fix annoying dependency loop via new color.h file
00363  *  allow interruption while eating -- general handling of partially eaten food
00364  *  smarter treatment of iron balls (courtesy Kevin Darcy)
00365  *  a handful of other bug fixes
00366  */
00367 
00368 /*
00369  *  Patch 4, September 27, 1989
00370  *  add support for VMS (courtesy David Gentzel)
00371  *  move monster-on-floor references into functions and implement the new
00372  *      lookup structure for both objects and monsters
00373  *  extend the definitions of objects and monsters to provide "living color"
00374  *      in the dungeon, instead of a single monster color
00375  *  ifdef varargs usage to satisfy ANSI compilers
00376  *  standardize on the color 'gray'
00377  *  assorted bug fixes
00378  */
00379 
00380 /*
00381  *  Patch 3, September 6, 1989
00382  *  add war hammers and revise object prices
00383  *  extend prototypes to ANSI compilers in addition to the previous MSDOS ones
00384  *  move object-on-floor references into functions in preparation for planned
00385  *      data structures to allow faster access and better colors
00386  *  fix some more bugs, and extend the portability of things added in earlier
00387  *      patches
00388  */
00389 
00390 /*
00391  *  Patch 2, August 16, 1989
00392  *  add support for OS/2 (courtesy Timo Hakulinen)
00393  *  add a better makefile for MicroSoft C (courtesy Paul Gyugyi)
00394  *  more accomodation of compilers and preprocessors
00395  *  add better screen-size sensing
00396  *  expand color use for PCs and introduce it for SVR3 UNIX machines
00397  *  extend '/' to multiple identifications
00398  *  allow meta key to be used to invoke extended commands
00399  *  fix various minor bugs, and do further code cleaning
00400  */
00401 
00402 /*
00403  *  Patch 1, July 31, 1989
00404  *  add support for Atari TOS (courtesy Eric Smith) and Andrew File System
00405  *      (courtesy Ralf Brown)
00406  *  include the uuencoded version of termcap.arc for the MSDOS versions that
00407  *      was included with 2.2 and 2.3
00408  *  make a number of simple changes to accommodate various compilers
00409  *  fix a handful of bugs, and do some code cleaning elsewhere
00410  *  add more instructions for new environments and things commonly done wrong
00411  */
00412 
00413 /*
00414  *  NetHack 3.0 baseline release, July, 1989
00415  */
00416 
00417 /* Version 3.0 */
00418 
00419 /*****************************************************************************/
00420 
00421 /*patchlevel.h*/