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*/