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