::::::: 1990 ::::::::
------------ 1/1
creatures.c: in mon_cast_spell(), must update_mon() to light monsters before
	they cast a spell
------------- 1/2
moria1.c: inven_command(), could not wear item which replaced equip item if
	inven full, only fail if inven_check_num fails for torches
misc2.c: change spacing for stats on change_character page, was printing in
	last column for max stat
moria2.c: tunnel(), if no shovel/pick, divide total tabil chance by two
monsters.c: change eye-sight and sleep values for consistency, as noted by
	djgrabin
help.c: change the monster recall so that it lists high level monsters first
creature.c: when monster bashes down a door, call disturb() to halt resting
io.c: fix msg_print() so that -more- is always printed on screen, fix
	put_buffer() so that does not fail if col argument greater than 79/80
misc1.c: change chance for ego weapons/missiles to 3*special/2 instead of
	just special, needed because treasure distribution change has made
	ego weapons not as common as before
--------- 1/11
monsters.c: let nether wraith phase, set Black/Red/Multi ancient dragons
	to a sleep value of 700
creature.c: increase r_attacks if either notice true or r_attacks is
	nonzero (i.e. it has been noticed before)
moria2.c: move_char(), when step back after setting off a falling rock trap,
	check to see if have stepped back onto another trap
moria1.c: inven_command(), when restart it after taking off an item, don't
	print the 'have to drop something' message because that is confusing
misc2.c: modify_stat(), could overflow 118 when increasing stats, add extra
	case to enforce max of 118
--------- 1/12
all: apply william setzer's objdes() diffs, 500K patch file, change version
	number to 5.0.10 and distribute
desc.c, misc2.c, store1.c: remove several obsolete uses of index(),
	insert_num() no longer used anywhere
constant.h, desc.c: change ID_TRIED,ID_KNOWN1 to OD_TRIED,OD_KNOWN1
desc.c: eliminate titles[], rename title_space[] to titles[]
all: fixed lint errors
all: make sure that all objdes() strings are bigvtype
desc.c: fix printing of bows/arrows/picks, needed new p1_use define, and
	rearrange code in objdes() switch statement
treasur1.c, treasur2.c: remove -100 tohit from books, was being printed, and
	is silly anyways
constant.h, externs.h, save.c, treasur2.c: change object_ident[] from
	MAX_OBJECTS to OBJECT_IDENT_SIZE = 7*64, see object_offset() in desc.c
	to see why this is necessary
---------- 1/13
externs.h, misc2.c, store1.c: deleted obsolete references to treasure_type
desc.c: always print toac field if known2 and non-negative
config.h, io.c, misc1.c: eliminated BUGGY_CURSES define, caused too much
	trouble, just assume that can never print in last column of screen
constant.h, desc.c, misc1.c, moria2.c, spells.c, treasur1.c, types.h:
	created special_names table to hold all possible name2 strings,
	name2 changed to an int8u which holds index to special_names table
externs.h, main.c, treasure1.c: sort_objects() function deleted, sorting now
	done by init_t_level using O(n) bin sort, into sorted_objects[] array
files.c, misc2.c: object_list[] references that assumed it was sorted now
	indirect through sorted_objects[] array
main.c, variable.c: player_init indexes now point into object_list instead
	of inventory_init
------- 1/14
constant.h, externs.h, main.c, store1.c, treasur1.c, treasur2.c, variable.c:
	deleted inventory_init array, stores objects now in object_list,
	MAX_OBJECT adjusted, MAX_DUNGEON_OBJ defined, store_choice[] fixed
all: put all objects in object_list, trap_list, door_list, store_door,
	gold_list, up_stair, down_stair, rubble, much, blank_treasure,
	scare_monster are not separate variables anymore
all: invcopy now takes an object_list index as second parameter, name field
	deleted from inven_type and fields rearranged
----------- 1/15
store1.c: search_list() deleted, use i_ptr->index instead to get raw item cost
save.c: obsolete treasure_type references deleted, save files work again
creature.c, magic.c, misc2.c, prayer.c, save.c, wands.c: fixed long/short
	problems with shift, mostly change (1 << i) to (1L << i)
all: add new register declaration, check indentation, fix 32/16bit int problems
constant.h: change version number to 5.0.11
------------- 1/17
spells.c: aggravate was not initiallized in aggravate_monster()
monsters.c: novice rogue now evil like other rogues
misc2.c: 2 "... learn ... new spells ..." messages changed to print prayers
	instead for priests
moria2.c: drop_throw(), "The %s hits %s" changed to "The %s hits the %s."
many: fixed problems with setting of free_turn_flag
----------- 1/19
misc2.c: fix inven_carry(), to stack store/dungeon items properly
desc.c: objdes(), set p1_use = IGNORED for food and potions, changed
	is_a_vowel(tmp_val[1]) to [2]
moria2.c: "exceed weight limit?" message now prints item name also
desc.c, spells.c, staffs.c, wands.c: empty wands are not incribed empty if
	known2, empty removed when wands are recharged
desc.c: put spaces between inscribed words
dungeon.c: always inscribe majik when character notices this, not just for
	inventory items as that helps priests more than fighters
store1.c: sell_price(), succeed only if both item->cost and item_value() are
	positive
creature.c: don't increase a number of attacks when monster repelled in
	make_attack(), i.e. no damage done so shouldn't learn about damage
moria1.c: regenhp and regenmana, could get chp/cmana equal to max and _frac
	non-zero, change c > max test to c >= max test
constant.h, dungeon.c, misc2.c: hp and mana were printed while in store/inv,
	fix calc_hitpoints() and calc_mana() to set flags instead of printing,
	in dungeon.c, checks flags and print values
---------- 1/20
store2.c: redisplay store prices if charisma changes during the inven_command
	calls (actually just redraw everything)
moria2.c: monster_death(), dump must be set to 0 is number is 0
constant.h, moria2.c, recall.c, spells.c: recall printing of treasure changed,
	instead of setting CM_ bits, store largest number of treasure ever
	generated in those 5 CM_TREASURE bits, changed monster_death() to set
	the bits the new way, changed uses of monster_death() to replace old
	treasure bits with new ones, the vague print out treasure amounts
	replace with printout of precise number of treasures generated
externs.h, moria2.c: monster_death() changed to int32 monster_death()
moria1.c: new_spot() contained line of code "i = randint(10)" that did not
	belong there, was formerly testing code
desc.c: objdes(), force zero charges to always print, also, always print
	digging plusses even if zero
main.c: items that initialize players inventory are marked store_bought(),
	this is needed so that dagger/armor bonuses will be shown for them
desc.c: objdes(), fixed printing of doors, known1() clear the tried flag,
	magic_init() don't let scroll names end with a blank
misc2.c: gain_spells(), call calc_mana() if py.misc.mana == 0, this is
	for characters who did not know any spells before the 'G' command,
	can't gain spells if blind/no light/confused
moria1.c: infinite loop entered with 'id' and screen_change, also, 'n' to
	the continuing with inventory prompt did not work, must clear
	doing_inven before returning from inven_command() in these cases
desc.c: identify(), don't merge items in equip list, only merge items that
	are single stackable
misc2.c: inven_carry(), inven_check_num(), fix item stacking, items can only
	stack if they are both identified or both unknown (store items are
	always identified)
constant.h: change version number to 5.0.12 and distribute
------------ 1/21
desc.c: objdes() bug, change p1_use = IGNORED to p1_use == IGNORED
moria2.c: move_char(), moving into a wall is no longer a free turn
misc2.c: gain_spells(), priests no longer need book before can learn spells
	from it, mages still need the books, calc_spells() delete unused
	var spells[], remove limit of 23 from number of new spells
dungeon.c: made scribe_object() a free turn again
recall.c: only print monster speed if at least one movement flag known
unix.c: missing */ after Gakk!! -CJS-.
desc.c: stacking did not work right, fixed known1_p() to return OD_KNOWN1
	instead of TRUE for store items, so that known1_p() == known1_p()
	will work consistently
monsters.c: creeping coins hit instead of bite, and touch instead of breath
variable.c: fixed problems with temple/alchemist store inventories
desc.c, store1.c: fixed food prices, only check unknown if subval puts it
	among the molds/mushrooms
------------- 1/24
misc2.c, types.h: change inscrip back to char *, fix inscribe() to malloc
	space for string, and then copy inscription into the malloced space,
save.c: fixed (compatibly) to write/read new inscriptions
desc.c: free malloced inscription space in invcopy
death.c, misc1.c: delete max tcptr code
constant.h, desc.c, misc1.c: define new const ID_SHOW_TOHIT, in magic_treasure
	set this bit for every weapon,digging tool,missile,bow, in objdes()
	print out tohit/todam if this bit set and object identified, this
	makes it easy to tell ident weapons from unident weapons
main.c: char_inven_init() must set ID_SHOW_TOHIT flag for initial weapon
death.c, constant.h, misc1.c: change MAX_TALLOC from 225 to 150,
	delete temporary code which printed out max tcptr values
misc2.c: allow inscriptions of up to 24 characters
constant.h: change version number to 5.0.13 and distribute
-------------- 1/26
wizard.c: wizard_create(), initialize the name2 and inscrip fields to 0,
	init the ident field to known2 and storebought
constant.h: changed MAX_TITLES from 60 to 45
desc.c: magic_init(), wrote to a char *tmp; modified to write to a vtype string
recall.c: change printing of treasure again, only print 'sometimes' is 60% is
	only bit set, otherwise always print 'often' if only one object, for
	two objects, print 'often' only if 60% and 90% are only bits set
scrolls.c: recharge scrolls not used up when read, fixed setting of used_up
spells.c: res = TRUE; moved out of if-stmt so only needed once
treasure.c: change wiz obj name from "& wizard object" to "{wizard object}"
---------- 1/29
moria2.c: tunnel(), give player attack on creature if it is in the way
misc2.c: gain_spell(), remove limit of 22 on learning spells, fix print_spells
	so that it will only show the first 22 spells
constant.h, desc.c, misc1.c: change ID_SHOW_TOHIT to ID_SHOW_HITDAM, set this
	bit for gauntlet/rings of slaying, and irritation/enveloping cloaks,
	fix objdes() so that it only prints both tohit/todam if this bit is set
	otherwise, only prints one number, if either of tohit/todam nonzero
desc.c, treasure.c: remove "the entrance to the " from store doors and put
	in objdes() in desc.c
misc2.c: put_misc2(), add "Exp to Adv." to character display
constant.h, desc.c, misc1.c: added defines for ID_NOSHOW_P1 and ID_SHOW_P1
	to improve printing of object names, objdes() always prints p1 if
	ID_SHOW_P1 set, and never prints it if NOSHOW set, these override
	the default p1_use setting, NOSHOW added to sustain stat rings,
	SHOW added to clumsy/weak gloves, boots of speed/stealth/slowness,
	helms of int/wis/infra/might/lordliness/magi/beauty/seeing/
	stupid/dull/weak/ugly, cloaks of stealth
creature.c: increase effect of aggravate_monster attack from range of 5 to 20
spells.c: dispel_creature(), prt_exp() was only called when visible creatures
	died, now always called when creature dies
misc1.c: added messages to compact_objects() and compact_monsters() so that
	can tell if they are ever called
store1.c: rings/amulets which are not known2 now have base value from object
	list instead of real value
moria2.c, staffs.c, wands.c: cast level to int, so that calculations will be
	done with signed arithmetic, in openobject() change chance of opening
	a chest, instead of -2*level use -level, this help eliminate chests
	which are impossible to open
--------- 1/30
recall.c: print ' at normal speed' for monsters with mspeed = 1
--------- 2/10
spells.c: turn_undead, speed_monsters, sleep_monsters2, and dispel_creature
	modified so that they only affect creatures in los of player
externs.h, misc2.c, variable.c: new array spell_order[], holds order in which
	spells are learned, in calc_spell() spells are now remembered in
	the order that they were learned, and forgotten in the reverse order
	learned, in gain_spell() must modify spell_order when spell learned
main.c: spell_order initialized in inven_char_init to all 99s
save.c: save/restore spell_order, for patch_level <= 13 savefiles create
	a reasonable spell_order on the fly
misc2.c: was erasing wrong line in gain_spells, change `j+2' to `j+1'
all: change file names to be 8.3 characters long
constant.h: change version number to 5.0.14 and release
---------- 2/10
dungeon.c: change rogue-like wiz help key from ^? to \
all: merged in Mac sources, all initialized variables are now in variable.c,
	rearranged directory structure
---------- 2/11
all: merged in VMS sources
changed to 5.0.15 and distribute
--------- 2/13
moria2.c: carry(), printed 'worth of emeralds..' removed '.' from string
desc.c: crowns did not print out AC because it is zero, add special case
	to objdes() so that tval == 33 (crowns) always have AC printed out,
	change (+5 charges) to (5 charges)
----------- 2/14
moria2.c: inven_throw() created second copy of pointer to malloced
	inscription, it now creates new inscription for new object
moria1.c: inven_command(), wear option copied malloced inscription,
	create new inscription for new object
misc2.c: inven_destroy(), free inscription of just deleted object,
	clear inscrip pointer of last objects previous location, so that
	it will not be freed, inven_drop(), create new inscription for
	new item, inven_carry() create new inscription for new item,
	scribe_object() free space for old insription since it is deleted
config.h, externs.h, misc2.c, moria1.c: rename remove() to takeoff() to
	avoid naming conflict with library routines
externs.h, misc2.c, store1.c: deleted join_names(), no longer doing anything
	useful, and was wrongly creating duplicate pointers to malloc blocks
moria2.c: make moving into walls a free turn again, but player can not attack
	invisible creatures in walls by moving into wall (hence preventing
	him from using 6 free turns to search for invis creature), must
	tunnel into wall instead, which always takes a turn
dungeon.c, externs.h, moria2.c: pass direction to tunnel() instead of point
	digging to, eliminates a lot of duplicate code, tunnel() now checks
	confusion, and tries to tunnel in random direction if confused
treasure.c: clone monster wands changed from level 2 to level 15, makes them
	recharge less, max 6 new charges instead of max 18 new charges
files/version.hlp: add Dan Bernstein's name to credits
magic.c, variable.c, wands.c: change stinking cloud from 16 to 12 damage as
	it was too close to lightning bolt at 18, reduce mana for mage/ranger
	from 4/6 to 3/5
moria1.c: show_inven() and show_equip(), don't print first two spaces when
	col is zero, since will blank the whole screen anyways
moria2.c: py_attack(), only cleared confuse_monster flag if monster survived
	attack, now always clear this flag and try to confuse monster
-------------- 2/16
all: add in diffs to get MSDOS version working again, add files from binary
	PC-Moria distribution
types.h: for PC, use 'unsigned char var : 1' to reduce sizeof cave_type
	from 5 to 4
desc.c, misc1.c, misc2.c, moria1.c, moria2.c, save.c, wizard.c, types.h:
	change inven_type inscrip field from pointer to an 13 char array,
	mallocing storage for inscriptions does not work, results in
	dangling pointers when inven_types are copied
save.c: add 'time' to savefiles, use this to calculate age of savefile
	instead of using stat, much more portable, and prevents cheating,
	if time is newer than current time, set age to 0, when save file
	check to see if current time greater than start time, if not,
	then save start time plus one day in save file
mac.c: delete getfileage since no longer used
recall.c: change knowdamage(), add damage parameter so that higher damage
	attacks take longer to learn than lower damage attacks
monsters.c: jellies and molds no longer have treasure
save.c: two places have (*str != NULL), changed to (*str != '\0')
save.c: remove support for pre 5.0.13 versions, rd_item() no longer needs
	patch_level
monsters.c: move crystal ooze from level 31 to level 40, to make raising
	crystal oozes for treasure much more dangerous
--------------- 2/19
all: added defines for tvals, and substituted every where in program
---------- 2/21
ms_misc.c, io.c: remove all uses of mvprintw() for ibmpc port, since PC
	curses also pulls in the fp library if mvprintw is used
dungeon.c: in the recover from blindness code, the disturb() call must
	be before the creatures(FALSE) call
getch.c, io.c, Makefile: more fixes for the VMS port of umoria, new getch.c
	file, and new copy of (4.87) io.c file
---------- 2/22
all: check again for numbers that should be constants
constant.h: change version number to 5.0.17
externs.h, main.c, moria2.c, signals.c, treasure.c: compile with gcc -Wall
	and fix all reported errors
--------- 2/26
prayer.c: change (!class[].spell == PRIEST) to (class[].spell != PRIEST)
store2.c: for good bargaining, use final_ask not min_buy in sell_haggle()
dungeon.c: change "Sorry.." to "Sorry."
misc1.c: for gloves/gauntlets, p1 and ID_SHOW_P1 set in wrong place
creature.c: make_attack(), creature could be visible at start of attack but
	invisible at end due to a teleport, set notice/visible appropriately
	before monster attacks, and don't use m_ptr->ml afterwards
monsters.c: creeping coins always carry gold now, 1d2 for copper, 1d2+60
	for silver, and 1d2+90 for gold
treasure.c, wizard.c: change name of wizard items to empty string, and
	inscribe them with "wizard item"
desc.c: problem with rubble/stone-to-mud, change rubble case from like stairs
	to be like doors
moria1.c: show_equip(), change non-weight limit from 57 to 60, change weight
	limit from 49 to 52 chars, for show_inven(), change limits from
	66/74 to 68/76 characters
creature.c, magic.c, prayer.c, spells.c, wands.c: fix get_flags(), fire_ball(),
	fire_bolt() and breath() to use defined constants for attack types
moria1.c: show_inven(), show_equip(), make sure that col never less than zero
all: merged in Atari ST diffs from Stephen A. Jacobs
--------------- 2/27
creature.c: fixed bug with doors, always open/light door instead of only
	opening/lighting them when in los of player
moria2.c: when bash open door, only break it 50% of the time to be consistent
	with code in creature.c
all: delete some obsolete files, annotate a few others, put README files
	in the subdirectories to explain what is present
save.c: fix old savefile compatibility code to work with new version numbers
constants.h: change version number to 5.1.0 and publicly announce
---------- 2/28
recall.c: creature is worth... sprintf() call used %ld instead of %d
moria2.c: look_ray(), every place GRADF multiplied by y, cast it to long
	to prevent overflow of 16 bit ints
ms_misc.c: were still two refs to 'byteint', changed to 'int8u'
MLINK.LNK: updated for umoria5.0, add undef and recall, change treasur[12]
	to treasure
create.c: delete sleep(1) call in character rerolling code
death.c: put "#ifndef L_SET" around the #define L_SET
io.c: ifdef out suspend code, for USG systems with BSDisms that have SIGTSTP
	defined but don't actually implement it
io.c: change name of variable 'border' to 'screen_border' to avoid naming
	conflict on SGI/SYS V machine
INSTALL: moved from doc subdirectory to root directory, and brought up to date
---------------- 3/1
misc2.c: two places where (1L << j) occurred, and j could be 99 (unknown
	spell from spell_order[]), this is an undefined operation, fixed
	source to not shift if j == 99
------------------- 3/3
misc1.c: set_options(), typing '-' on line 0 gave error, change i=max to
	i=max-1
store1.c: item_value(), calculating digging tool values wrong, subtract off
	objects initial p1 plusses before multiplying p1 by 100
dungeon.c: for paralysed/resting, move cursor to player before refresh call
creature.c: disenchanter bat attacks could put tohit/todam/toac below zero,
	fixed so that they can not go below zero
moria1.c: if have MAX_SHORT hp/mana, then could get overflow in regenhp/mana
	routines, added checks for overflow
dungeon.c, io.c: save on EOF code did not work, in inkey(), remove casts to
	char in eof test, remove call to feof(), in dungeon(), add !eof_flag
	to innermost while loop to ensure it exits on error
save.c: in sv_write(), clear death flag if eof_flag or panic_save set, so 
	player can restart game to see tombstone
main.c: set death flag if hit points are negative, can happen if a HANGUP
	savefile or panic savefile is restored
save.c: if get_char(), don't overwrite died_from string if player is dead
main.c: if specify -r or -o, force rogue_like to appropriate value after
	read the savefile, since get_char() will modify rogue_like_commands
moria1.c: search(), "have found a trap.." fixed, removed extra period
monsters.c: added CD_NO_SLEEP flag to jellies, oozes, elementals and the
	gelatinous cube
dungeon.c: fix "which level" wizard prompt, limited to level 99 max
----------- 3/4
all: merged in more Mac diffs, Mac version should compile now
wizard.c: stealth max 87 should be 18 in printed string
desc.c: identify(), if cursed incscribe with ID_DAMD, unsample(), do not
	clear the ID_DAMD flag, since an unsampled item is still cursed
config: change version number to 5.1.1 and release
------------ 3/5
monsters.c: added CD_NO_SLEEP flag to creeping coins
recall.c: recharge(), change chance of failure from randint((num+40)/10)=1
	to randint((num+40-i_ptr->p1-i_ptr->level)/10)=1 to make it harder
	to recharge high level and highlly charged wands
recall.c: change j from int to int32u, since it is used with flag fields,
	change two %d uses of it to %ld
desc.c: objdes(), don't print ID_TRIED value for store bought items
moria2.c: a slow dart trap now has no effect if have free action
io.c: must ifdef out the tbuf.c_cc code, since this causes the program to
	fail for some reason
--------------- 3/13
signals.c: add void to USG signal_hander definition
externs, ms_misc.c: move fopen declaration from externs.h to ms_misc.c, and
	make static, and make FILE * not struct _iobuf
ms_ansi.c: include stdio.h
generate.c: change #if DEBUG to #ifdef DEBUG
config.h, generate.c, types.h: added ifdefs for IBMPC_TURBO_C
---------  3/16
moria1.c: inven_command() "Wear" prompt changed to "Wear/Wield"
monsters.c: earth elementals/spirits can now move through walls
spells.c: wall_build(), for earth elementals, increase their hit points
files.c: helpfile(), can ESC out now
spells.c: cloning a monster will wake it up now
dungeon.c: allow two-char control character sequences to be used with
	repeated commands (deleted else from "else if (command == '^')")
roglcmds.hlp: document how to avoid problem with repeated dig left command,
	i.e. '13^H' doesn't work, type ^ then H, or type SPACE then ^H
--------- 3/19
unix.c: initialize num_chars to zero in check_input(), in case FIONREAD absent
---------- 3/21
all: fix most SYS_V lint errors
----------- 3/23
dungeon.c, io.c: calling inkey() when check_input true is wrong since it traps
	^R and does other stuff, instead call new function raw_inkey(), which
	only calls getch
io.c: flush(), occasionally caused loss of output, instead of using fancy
	ioctls, drain input by using check_input/raw_inkey
--------- 3/25
dungeon.c, io.c, unix.c, atarist.c:  AIX can't check to see if input is
	pending, but can do non-blocking read, so check_input changed so
	that it consumes input when called
constant.h: change version number to 5.1.2 and distribute
-------- 3/26
save.c: when resurrect, clear poisoned flag and food flag to prevent character
	from immediately dying again
main.c, misc2.c, unix.c, save.c: fix some BSD lint errors
moria1.c: remove unnecessary flush() call from take_hit()
creatures.c, misc1.c, externs.h, variable.c: fixed problem with calls to
	compact_monster() within creatures() by adding a horrible hack,
	new variable hack_monptr defined to hold current creature() monptr
---------- 3/27
variable.c: add infra 3/2 for elf/half-elf, were both previously 0,
	increase gnome infra from 3 to 4
config.h, death.c, dungeon.c, externs.h, main.c, misc2.c, signals.c:
	modify wizard mode code, no longer need password or correct UID to
	enter, prints disclaimer then asks for confirmation
atarist.c, death.c, misc2.c, ms_misc.c, save.c, signals.c: eliminate all
	getuid() etc. code, only place these are still used is in main.c
	and unix.c
all: merge wizard/god mode, god mode nolonger exists
io.c, unix.c: problems with flush() on EOF, don't call check_input if EOF,
	also, check_input returns zero if got an error on the read, also
	inkey() clears msg_flag on EOF to prevent infinite loops exit_game/
	msg_print/inkey/exit_game/etc...
moria2.c: monster_death(), increase tries from 10 to 20 so that treasure will
	be created more often
constant.h: increase MAX_MALLOC from 101 to 125 to reduce compacting monsters
	messages, increase MAX_TALLOC from 150 to 175 because it is possible
	to get compacting objects message during level generation
constant.h: BTH_HIT deleted, no longer used
----------- 3/28
moria2.c: facts(), multiply damage for missile by 2/3/4 instead of adding when
	use proper weapons, makes missiles much more useful
save.c: write store info and time into save file even if dead, so that can
	be restored on a resurrection
constant.h: change version to 5.1.3
-------- 3/30
constant.h, externs.h, files.c, misc2.c, moria1.c, moria2.c, staffs.c, wands.c,
variable.c: modify how misc abilities vary with level, new variable class_level
	_adj, which holds the new adjustment values, bth, bthb, device, disarm
	and save affected
externs.h, misc2.c, moria2.c: critical_hits() has fourth paramter, that
	indicates whether to use CLA_BTH or CLA_BTHB class level adj
moria2.c: penalty for attacking invisible creatures modified, was minus
	lev * BTH_LEV_ADJ-1, now minus lev * BTH_LEV_ADJ/2, hence warriors
	have less penalty than mages/priests
creature.c, externs.h, misc2.c, moria2.c: test_hit has a fifth paramter, that
	indicates whether to use CLA_BTH or CLA_BTHB (or even CLA_SAVE)
io.c: add abort() calls to move_cursor_relative(), print(), and put_buffer()
	to help find bugs in the code
save.c: eliminate support for versions 5.0.11 to 5.0.13
misc2.c: get_spell(), only say 'unknown spell' if it is actually an alphabetic
	character typed
treasure.c: delete one ring of adornment and one amulet of adornment,
	add arrows at level 15, and bolts at level 25
--------- 3/31
store1.c: change missile cost to 5*pluses instead of 10*pluses, since missiles
	appear in groups of 20 or so, this is comparable to normal weapons
	which are 100*pluses
distribute 5.1.3 sources
---------- 4/3
externs.h: ifdef out definition of errno for MSDOS
io.c: moved process.h include for MSDOS from middle of file to start
io.c: in print(), put_buffer(), and move_cursor_relative(), clear msg_flag
	before printing error message, prevents problems with '-more-' prompt
recall.c: roff_recall(), don't set normal movement bit near beginning,
	also delete code that prints 'never moves' if all move bits clear
spells.c: teleport monster will wake it up
scrolls.c: reading a second word of recall scroll does not reset timer
spells.c: wall building now heals Xorns in addition to earth elementals
spells.c: drain life damage increased from 50 to 75, to match other 50th level
	wand damages
constant.h, creature.c, moria2.c, variable.c: defined new class level adj
	CLA_MISC_HIT and replace all test_hit uses of CLA_SAVE with this,
	document that this is identical to save, and assumes all values same
treasure.c: two potions named poison, change first to weakness (lose str)
---------- 4/4
save.c: add some __GNUC__ ifdefs so that the UNIX style code will be used,
	not the code for the broken atari st MWC libraries
---------- 4/6
unix.c: two include files, sys/time.h and sys/resource.h are actually BSD
	specific, put #ifndef USG around them
---------- 4/9
desc.c: remove all uses of "%+d", because AtariST/MWC and convex and probably
	others do not support it
spells.c: replace_spot(), clear lr flag, so that after destruction scroll,
	destroyed areas will not be lit by a light scroll in a room
creature.c: let monsters eat other monsters of equal exp, helps prevent
	using oozes as treasure factories
moria2.c: mon_take_hit(), if kill Balrog, always update recall info even if
	Balrog invisible, since will always know it was the Balrog (winner!)
recall.c: sleep values too hard to learn, change test from r_wake > sleep to
	(r_wake*r_wake)>sleep
-------- 4/13
creature.c, moria2.c: mon_take_hit() was called within creatures() when
	monsters were trapped inside a wall, bracket call in creature.c with
	code to set hack_monptr, and add code to mon_take_hit() to check it
creature.c: add code at end of creatures() loop to fix2_delete_monster() in
	case monster died during movement (maybe it was in a wall?)
externs.h: add DGUX to USG ifdef for the 'extern int sprintf()' declaration
io.c: added code to save/restore local mode word of tty driver, i.e.
	TIOCLSET and TIOCLGET ioctl calls
save.c: for atarist && __GNUC__, call fopen with "rb" and "wb" for binary mode
io.c, unix.c: for atarist && __GNUC__, don't include <sys/wait.h>
externs.h: define sprintf as int (), if defined(atarist)
------------ 4/14
externs.h, unix.c: three new functions tilde(), topen(), and tfopen()
	which perform ~ expansion for file names, in externs.h, define open to
	topen and fopen to tfopen for unix machines
config.h, dungeon.c, main.c, save.c, unix.c: add support for ANDREW distributed
	file system, SECURE define in config.h, disallows inferior shells,
	also instead of giving up setuid priviledges at start, calls ANDREW
	library functions bePlayer(), beGame(), and Authenticate()
unix.c: add ifdefs to use select() when compiling for xenix
------------- 4/15
creature.c, externs.h, files.c, io.c, main.c, misc1.c, moria2.c, recall.c,
save.c, treasure.c:
	more Atari ST MWC fixes, eliminate fdopen(), make loc_symbol() return
	unsigned char, all (var & long_const) constructs assign long const to
	temp var first,
------------ 4/16
Makefile: fixed problems with 'make install'
----------- 4/19
atarist.c: add #include <stdio.h> at start, and #endif at end
misc2.c: tohit_adj() toac_adj() todis_adj() todam_adj() all used cur_stat
	instead of use_stat like they should have
---------- 4/20
moria2.c: mon_take_hit code of 4/13 wrong, use monptr instead of i at end
misc2.c: remembering code wrong, add (i < 32) to stop it at end of spell list
moria1.c: when inven full and take off object, check for object under
	player before allowing/asking her to drop object
save.c: for atarist MWC port, ifdef out all of the open() calls, and only
	leave the fopen() stuff in
misc1.c: compact_monsters(), don't set delete_any if fix1_delete_monster()
	is called, because it does not decrement mfptr, call abort() if
	cur_dis goes below zero (i.e. can't delete any monsters)
all: run lint on 4.3BSD and SYS V
constant.h: change version number to 5.1.4 and distribute	
----------- 4/27
dungeon.c: add prt_map() at top after creatures(FALSE) call for ATARIST_MWC,
	fixes display problems for some reason
---------- 5/1
moria1.c: inven_command(), clear msg line is ESC typed at "Drop all?" prompt
---------- 5/3
all: eliminated upd_log(), and plog variable
doc/*: update all documentation, except moria.ms
---------- 5/4
all: visit every subdirectory, create README or ERRORS files as needed,
	make everything as up to do as possible, split files greater than
	60K so that they can be posted to comp.sources.games easily
all: deleted all tmp.* files
externs.h, moria1.c, moria2.c, et al: moved functions out of moria1.c and
	moria2.c to reduce their size to less than 60K, many functions not
	moved were made static
dungeon.c, externs.h, main.c, misc2.c, save.c, variable.c: new variable
	to_be_wizard, allows resurrect without entering wizard mode,
	resurrect sets noscore = 0x1, wizard mode sets noscore = 0x2,
	prt_winner prints "Is/Was wizard" or "Resurrect" is noscore set
----------- 5/5
misc1.c: moved see invisible from slay animal to slay undead weapons
doc/moria.ms: updated documentation to reflect changes from 4.873 to 5.1,
	added section which explains crowns, added some sections from
	Chris J Stuart's BRUCE Moria's documentation
--------- 5/7
monsters.c: ogre mage is now evil
files.c: added extern int error for MSDOS
moria.ms: proof read it again
misc1.c: reduce plus to dam for slay dragon arrows from +10 to +3, no
	longer need such high damages because ptodam is multiplied now
	when used with right weapon
Makefile: test and fix 'make install'
ibmpc/ms_ansi.c: change two escape characters to \033
mac/moria.r: change many control characters to \xxx, update version info
	strings to 5.1.5
constant.h: change the version number to 5.1.5 and distribute
--------- 5/9
constant.h, mac/moria.r: change the version number to 5.2.0
save.c: fix support code for 5.0 savefiles, because of minor version number
	change, update compatibility code for 5.1 and 5.2 savefiles
save.c: save/restore value of died_from string
------- 5/10
scrnmgr.r, scrntest.r: these files had control characters also, changed
	'...' to \311
resource.hqx: recompiled the mac resource files
macscore.c, mac.c: changed control characters '...' to \311
all: distribute version 5.2.0
----------- 5/14
death.c, externs.h, io.c, ms_misc.c: Turbo C changes, void sleep() instead
	of unsigned sleep(), don't call reset_term() before exiting, ifdef
	out definition of sleep() in ms_misc.c, declare signal handler as
	void not int
generate.c, types.h: change IBMPC_TURBO_C defines to the proper TURBOC define
io.c: shell_out(), MSDOS code parameter to inkey() call deleted
externs.h: count_msg_print() changed from (int) to (char *)
io.c: get_check(), add code to use 'y' if LINT_ARGS defined, pause_exit()
	add code to use 'delay' for MSDOS machines
ms_misc.c: clear_screen(0,0) changed to clear_screen()
main.c: set stack size for TURBOC by declaring the _stksize variable
misc2.c: player_saves(), split expression up because MPW C couldn't handle it
save.c: include time.h for for the Mac, delete var 'i' in save_char (unused),
	get_char() add code for MAC to return FALSE if savefile doesn't exist
mac.c: add call to initsavedefaults() in main()
mac/ERRORS: document problem with mac Makefile
-------- 5/15
externs.h: remove decl of py_bash(), which is in moria2.c and static
--------- 5/17
dungeon.c: move search_off() call after check_view(), as panel_* variables
	must be valid before search_off() is called
-------- 5/18
all: 7 files did not end with newlines, 5 hqx files, and origcmds.hlp,
	misc/README also did not end with a newline
-------- 5/21
constant.h, version.hlp, moria.r: change version number to 5.2.1
ScrnMgr.doc: split all lines greater than 80 characters, to make the file
	more portable
--------- 5/22
death.c: in mac sources, there was a 'true' instead of a 'TRUE'
ms_misc.c: Turbo C sscanf() incorrectly reads a newline from a blank line,
	add check for newline to code that reads configuration file
spells.c: door_creation(), called popt() before calling delete_object()
	which could then invalidate the value returned by popt, moved
	popt() call after the delete_object() call
----------- 5/25
creature.c: fix the invincible/invisible monster bug, multiply_monster()
	was creating children on top of the parent, thus killing the parent
	for carnivorous monsters
death.c, externs.h, generate.c, io.c, main.c, ms_misc.c, signals.c, types.h:
	change all TURBOC defines to __TURBOC__
util/printit: new version of the printit program by Carl Hommel, fixed up
	to be somewhat more portable and to use only moria defined constants 
-------- 5/27
player.c, tables.c, variable.c: Turbo C can not accept any file with more than
	64K global variables, so variable.c split into three parts, also
	updated all makefiles to refer to all three files
mac files: all three mac Makefiles modified to delete obsolete references to
	CInterface.o and CRuntime.o, scrnmgr Makefile modified to automatically
	combine the two ScrnMgr.c parts, README updated to document a problem
	with the Makefile not appending resources and text files sometimes
