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