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