-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathChangeLog.91-94
427 lines (427 loc) · 21.6 KB
/
ChangeLog.91-94
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
::::::: 1991 ::::::::
---------- 1/4
spells.c: light_area(), always light area immediately next to player even if
in a room, could be standing on the edge of a room
monsters.c: Grave Wight, no longer has confusion spell, no other wight/wraith
has it
misc2.c: get_spell(), when enter invalid character, print "You don't know
that prayer." instead of "spell" for priests/etc.
creature.c: make_attack(), creatures which are repelled should not be confused
because they did not hit the player
death.c: exit_game(), delete #ifndef TURBOC around the restore_term() call
io.c: restore_term(), delete the call to clear() in the MSDOS code, it was
trying to use curses after curses had been exited
---------- 1/22
files.c: call pause_line(23) after printing hours file
constant.h, config.h: constant.h should always be included before config.h,
because some systems redefine constants in config.h
rnd.c: include config.h after constant.h
main.c, misc2.c, save.c, signals.c: include constants.h before config.h
misc2.c, vms/getch.c: new function user_name() for VMS, fix get_name()
in misc2.c to call it
------- 1/30
moria2.c: hit_trap(), add msg_print(CNIL) for the trap door case
-------- 2/4
io.c: for ATARIST_MWC, use 240 instead of '#' for walls
save.c: for ATARIST_MWC, convert 240 to '#' when saving, and '#' to 240
when loading, to avoid conversion problems
--------- 2/8
create.c: monval(), cast i to int, otherwise some compilers do the arithmetic
with unsigned characters
--------- 2/19
makefile: add new macro CURSES, define it for BSD/SYS V/and Xenix
config.h: add config info for XENIX, define SYS_V and unix, only undefine
register for MSC versions less than 600 (6.00?)
creature.c: mon_move, comment out register decl for r_ptr for XENIX systems
to avoid a compiler bug
misc2.c: place_gold, comment out register decl for t_ptr for XENIX systems
to avoid a compiler bug
unix.c: ifdef out include of termio.h, for XENIX add include of sys/types.h
and define bzero as memset, test for unix or M_XENIX at the top
Makefile: add optional commands to install target which chown/chgrp everythin
to bin, and put pointer to it at the top
---------- 2/25
util/score: Two new utilities, prscore to print scorefiles, and delscore to
delete one entry from a scorefile.
config.h: add MORIA_* macros for the Atari ST with GCC
death.c, externs.h, io.c, main.c, signals.c, variable.c: Apply Atari ST/GCC
patches from Scott Kolodzieski.
-------- 3/1
death.c: Amiga must open/close scorefile like MSDOS&VMS
io.c: init_curses(),restore_term(), fix bugs in AMIGA code,
add code to release resources
amiga/*: updated versions of amiga source files, from
cg37717@lion.eng.clemson.edu, Corey Gehman
atari_st/curscomp: complete rewrite of the curses code by Hildo Biersma
store2.c: get_haggle(), do not accept an increment value of zero, turn off
increment flag instead of accepting it
-------- 3/2
store2.c: store_purchase(), store_prt_gold call was inside `if' now after,
did not update gold if store had 13 items and you bought the 13th
-------- 3/11
moria1.c: sub3_move_light(), don't print over old location if find_flag
is true, unless find_prself is also true, this speeds up movement
in find mode by eliminating unnecessary drawing of characters
moria2.c: hit_trap(), call move_light() for the teleport trap case, to light
up the trap
misc1.c, save.c, treasure.c: change ATARIST_MWC ifdefs for using graphic
character to ATARI_ST which is true for both MWC and TC
io.c: remove all ATARIST_MWC diffs which were needed for the old non-standard
curses, change the rest to be ATARI_ST, since both MWC and TC need them
-------- 3/14
source/*: add Mac THINK C support
mac/dumpres/*: add Mac THINK C support
mac/scrnmgr/*: add Mac Think C support
moria1.c: find_init(), when !light_flag and !find_prself, must erase the
player's '@', because sub3_move_light() won't, see 3/11 change above
------- 3/15
mac/*: add Mac THINK C support
*: put file name and 1991 copyrights in all source files
------- 3/23
save.c: prevent resurrection of a total winner character
constants.h, creature.c, monsters.c, recall.c: add new flag CM_ONLY_MAGIC,
set this flag in creature.c, check the flag in recall.c, allows
recall to print movement speed for Quylthulgs
creature.c: when a wand is drained of charges, inscribe it as {empty} if
it is not known2
-------- 3/24
files.c, ibmpc/ms_misc.c: ifdefed out msdos_intro(), since that routine is
obsolete now
doc/moria.6: add -S option to list at the top
ibmpc/CONFIG.DOC: update for Umoria 5.x, remove kneller's address, and put in
my address
------- 3/25
config.h, constant.h, */*.c: move VMS definition for ESCAPE from config.h
to constant.h, now all files include config.h before constant.h
*: linted all sources files, changed version numbers to 5.3
------- 3/30
vms/*, ibmpc/ms_misc.c, config.h, death.c, dungeon.c, externs.h, files.c,
io.c, save.c: merge in changes from Ralph Waters, which are needed to compile
the sources under VMS and IBM-PC/Turbo C.
moria2.c, store2.c, *.c: get_item(), show_inven() take new parameter mask,
if mask is non-zero, they only list items indicated by mask array,
store_sell() calculates a mask based on what store will buy
store2.c: purchase_haggle(), sell_haggle(), if the auto increment is larger
than the difference between the store's offer and the player's offer,
then set the auto increment to the exact difference
dungeon.c, externs.h, moria1.c, moria2.c, variable.c: eliminate search_flag,
it was redundant, replace all uses with (py.flags.status & PY_SEARCH)
tables.c: remove good armor items from armory, to force players to search for
them in the dungeons, hard leather boots, iron helm, partial plate,
full plate
misc1.c: alloc_monster(), always create dragons sleeping here, to give the
player a sporting chance
moria1.c: inven_command(), when pack not empty and show_weights flag true,
display capacity along with weigth carried on first line of inventory
spells.c: build_wall(), permanently light walls created within range of
player's lamp
spells.c: earthquake(), fix it to act just like build_wall when a monster is
trapped in a wall
creature.c, externs.h: movement_rate(), now static
*: release 5.3.1 sources
------- 4/27
ms_misc.c, externs.h: change declarations of warn() to match definition,
change declaration and definition of error() to match warn(),
externs.h: fix declarations for sleep(), find_init(), show_inven(), get_item()
death.c: display_scores(), don't set player_uid for non UNIX/VMS system
duplicate_character(), ifdef out code which is unreachable for non
UNIX/VMS system, make all returns have a value
sets.c: set_null(), add a #pragma argused for TURBO C
ms_misc.c: fix three lines that had an assignment inside an if
externs.h: add prototypes/declarations for VMS files getch.c and uexit.c
moria1.c: see_wall(), change ATARIST_MWC ifdef to ATARI_ST
atari_st/curscomp/curses.c: winsch(), first loop ran in wrong direction
externs.h: add declarations for atari st functions
atari_st/moria.prj: new file, TC project file for Umoria
death.c: highscores (), change fseed to fseek, typing error
creature.c, death.c, desc.c, dungeon.c, files.c, io.c, moria1.c, moria2.c,
store2.c, wizard.c, atarist.c: include stdlib.h if ATARIST_TC to get
prototypes for standard library functions
generate.c: for ATARIST_TC, include <string.h>
atarist/curscomp/curses.h: change mvadd* macros from compound statements to
conditional expressions, so that all returns values are error checked
io.c: for ATARIST_TC, include ext.h to properly define (?) sleep
config.h: for ATARIST_TC, define index strchr
save.c: sv_write()/get_char(), define t_ptr for both MSDOS and ATARI_ST;
get_char(), change ATARIST_MWC ifdef around chmod call to ATARI_ST
include time.h for ATARIST_TC
unix/Makefile: change ONWER to OWNER
creature.c: creatures(), give moves to monsters trapped in rock, so that they
will die/dig out immediately, mon_move() if a monster in rock is
already dead, don't kill it again
*: update address info in all files
io.c: change __GNU_C_ to __GNUC__
config.h: the test for undefining 'register' was wrong, it was undefing it
for all non-MSC compilers
moria2.c: tunnel(), heavy weapon code wrong, eliminate >>2 of penalty, add
penalty instead of subtracting it
help.c: ident_char(), add period after Giant Frog.
monsters.c: novice priest, change sleep from 10 to 5 to match other novice 'p'
moria1.c, store2.c, *.c: get_item() new parameter 'message', when invalid
letter hit, print this message if non-zero instead of beeping,
store_sell() pass message "I do not buy such items.", fix all other
callers to pass CNIL
-------- 4/28
misc2.c, files.c: put_misc2(), file_character(), when player at max level,
don't print a number for Exp to Adv, instead print ******
io.c: msg_print(), put multiple messages on the same line if they are short
enough
------- 5/22
externs.h: ifdef out declaration of sprintf for NeXT
io.c (init_curses): correct atarist/GNUC code for signal call, ifdef was wrong
------- 7/6
spells.c (unlight_area): Unlight all floor spaces with `lr' set, instead of
just the room floors spaces. This darkens the doorways.
moria1.c (light_room): Add code to set the fm flag, necessary so that the
above fix does not unlight doors that it shouldn't.
io.c (msg_print): Don't combine NULL messages with other messages.
save.c (get_char): Use msg_print when printing the `departed spirit' message.
-------- 7/26
store2.c (purchase_haggle, sell_haggle): If the automatic increment plus the
last offer passes the shop keepers current ask, then clear the incr.
-------- 10/5
*: Add changes needed to prevent warnings from the IBM-PC TURBO C compiler.
misc[1234].c, moria[1234].c: misc[12].c and moria[12].c were each split into
two files, because they were too large for TURBO C's integrated
environment
*: adjust all makefiles, externs.h, etc to account for new moria/misc files
TCCONFIG.TCU, TCPICK.TCU: new files, uuencoded copies of Turbo C setup files
config.h, ms_misc.c: New define USING_TCIO, used to prevent including curses.h
in ms_misc.c. Defaults to defined if using TURBOC on an IBM-PC.
io.c: delete special purpose AMIGA code, it now uses curses
amiga/amiga.h: Deleted.
amiga/amiga.c: Delete all curses stubs.
-------- 10/6
macrsrc.h: change type of resType, ResID to long
macrsrc.c: eliminated search_flag from macrsrc.c (see 3/30 changes)
config.h: put back switches RSRC, RSRC_PART1 and RSRC_PART2
ScrnMgr.ro: changed def of MBAR #228 (fixes crash on Mac Plus) and INFO #1
(Make default window be full screen)
ScrnMgr.c: check for reconfig flag enabled for THINK_C, add recognition
of MacClassic (and LC?) keyboard, now assumes unknown keyboard type
has control key, other misc cleanups
moria.ro: changes version string
macconf.c: config.h included for consistency
mac.c: added support for 8-column tabs
mac/Install.doc: new file, installation instructions for THINK C
macconf.c, machelp.c, macscore.c scrnmgr.c: covered up error in THINK C
includes files OK/Cancel for ok/cancel
death.c, save.c: delete setmode calls for IBM-PC, instead open files in binary
mode
--------- 10/12
*: Changed version number to 5.4.
save.c: change code to accept savefiles with version numbers greater than the
version number of the game, savefile format frozen as of 5.2.2
externs.h: ifdef out the troublesome sprintf declaration
config.h: force `unix' to be defined for unix systems, since some stupid
systems (e.g. AIX) don't already define it
--------- 10/15
externs.h, moria4.c, ms_misc.c: correct typos discovered under MSDOS
--------- 10/19
spells.doc, exp.doc: New documentation files.
--------- 10/26
vms/uexit.c, externs.h, io.c, signals.c: Define uexit as void, and ifdef out
exit declarations when VMS.
vms/moria.opt: add misc[34].obj and moria[34].obj
ibmpc/ms_misc.c: correct typo in error()
pr_items.c, pr_monst.c: main now returns 0
CONFIG.DOC, TERMCAP, ms_ansi.c: use le/do instead of obsolete bc/xd
dragon.inf: moved from util/weapons to doc, and updated it to be accurate
spoilers: Update from USENET FAQ posting.
--------- 11/17
io.c: ifdef out code checking for 8 char TABS, because it assumes that the
screen is exactly 80 characters wide
moria[12].[ms/txt]: Correct a few typos.
*: Fix all file permissions.
::::::: 1992 ::::::::
Maintenance taken over by David Grabiner
--------- 7/16
moria4.c: bash(), use random direction if player is confused
spells.c: fire_ball(), fire_bolt(), don't update recall if monster not lit;
this can happen if bolt hits an invisible monster
spells.c: speed_monsters(), sleep_monsters2(), dispel_creature(),
turn_undead(), only affect creatures within MAX_SIGHT
spells.c: mass_poly(), area of effect should be <= MAX_SIGHT, was <
spells.c: destroy_area(), remove light from player's spot
spells.c: enchant(), add new variable limit, chance of failure is now
(plusses/limit), with very slight chance of success over limit
scrolls.c: when enchanting melee weapons to damage, set limit to weapon's
maximum damage, otherwise use 10 to give behavior similar to old method
misc2.c: magic_treasure(), make standard deviation of damage bonus on a melee
weapon proportional to weapon's maximum damage; these changes mean
that daggers can no longer become powerful weapons
treasure.c: the Zweihander has now become a great weapon, value increased from
1000 to 1500
externs.h: fix declaration for enchant()
staffs.c, wands.c: give everyone a slight chance to use difficult wands and
staffs, otherwise a warrior will never be able to use many items
--------- 7/23
death.c: print_tomb(), insert msg_print(CNIL) so that "You are using:" and
"You are carrying:" don't get combined as one message; this made it
impossible to see the equipment list
store2.c: haggle_insults(), insert msg_print(CNIL) so that insult is always
recognizable
store2.c: purchase_haggle() and sell_haggle(), new variable didnt_haggle,
don't call updatebargain if no haggle
store1.c: noneedtobargain(), changed to sliding scale, (good-3*bad) must
be more than 5 + (price/50) to skip haggling, so that haggling for
cheap items is over quickly, but can still eventually skip
haggle for all items
store1.c: updatebargain(), now update for all items worth >9 gold, instead
of just 10-999, since it is now possible to skip haggling for more
valuable items as well
--------- 7/25
moria4.c: bash(), unsuccessful bash takes a turn; otherwise, you can
attempt to bash in different directions while confused or to locate
invisible monsters; eliminate variable no_bash
--------- 7/27
check all above changes
moria4.c: bash(), get "You bash at empty space" method when bashing a
wall, corrected to "nothing interesting happens"; this also
prevents bashing from locating a secret door
--------- 8/9
merge in all changes from 5.4.0 to 5.4.1
creature.c: update attack information only if monster is visible; update
death information even if monster is not visible, since
information will be on tombstone
*: change version number to 5.5.0
--------- 8/12
spells.c: enchant(), guard against randint(0) if called with limit of 0
(it shouldn't be).
moria4.c: throw_object(), py_bash(), don't do negative damage
shortnam.sed, spells.c: fire_ball(), fix spelling of "envelops"
doc/faq: remove old spoilers file, and put current FAQ here instead
*: put my name (DJG) in credits as contact
*: change copyright date in all source files to 1992
---------- 8/13
release umoria 5.5.0
---------- 10/26
doc/moria[12].[ms,txt]: correct some typos, and make changes for 5.5.0
---------- 10/31
misc4.c: scribe_object() allowed inscriptions longer than 12 characters
if 13-24 characters availble for inscription, could overwrite
other data
::::::: 1994 ::::::::
---------- 6/6
scrolls.c: aggravate monster should give "humming noise" before "stirring"
scrolls.c: always identify scrolls which print a message
unix/unix.c: change from obsolete getpw() to getpwuid() to get UID
death.c: #include<sys/types.h> seems to be needed on XENIX and SYSV
death.c: fix #ifdef (...) || defined(...)
save.c: set fd=-1 after closing file to prevent double close
dungeon.c: move hero/superhero to first status check so that player's HP won't
go below 0 in mid-turn (killing him) and then become positive
doc/moria[12].ms: fixes so that file works with groff
store1.c: sell_price(), check for consistent sale prices compared
pointers rather than values
create.c: get_all_stats(), set player level to 1 before calling set_use_stat
with constitution (which used level to check hit points)
misc3.c: misspelled variable "holderr" in MWC-specific code
misc3.c: prt_experience(), put check against max level in while loop
so that level gain is never tested if player is max level
misc3.c: gain_level(), corrected comment for loss of extra experience
when player gains multiple levels
moria3.c: monster_death(), don't make player a winner if already dead
store2.c: get_haggle(), %d should be %ld
misc3.c: todis_adj(), case of dexterity 3 was omitted
spells.c: wall_to_mud(), may find objects in rubble as with tunneling
---------- 6/7
io.c, signals.c: included changes from Andrew Chernov for 386BSD support
io.c, config.h: included changes from Berthold Gunreben for HP-UX support
config.h, death.c, files.c: added patches for HP Apollo, which doesn't allow
multiple processes to use the same file
config.h: defined MORIA_LIB to contain pathname for moria/files, to
simplify configuration
moria1.c: inven_command(), get_item(), added code from Harry Johnston
which allows use of 0-9 to specify an item with the
corresponding inscription
doc/moria[12].ms: documented above change
files/version.hlp: my name appeared both as author and "other contributor"
scrolls.c: set AC bonus on cursed weapon, hit/dam bonuses on cursed armor
to zero (in case HA/DF/gauntlets of slaying had bonus)
creature.c: don't print message when invisible monsters recover from bash
creature.c, moria3.c, spells.c: reworked monster confusion, monster's
confused value now gives duration, turn_undead has guaranteed
duration equal to player's level, other confusion random
creature.c: undead which have been turned will flee rather than moving
randomly, attack only if cornered
recall.c: print "It is resistant to" if monster has not cast any spells
but breath flag is known (because monster resisted an attack)
monsters.c: allow monsters to resist attacks if they have no breath
weapon but use the attack type (so fire giants resist fire)
sets.c: new function set_large(), identifies objects too large to fit in
a chest or be carried by small creatures
misc3.c: get_obj_num(), new parameter must_be_small to generate only
small objects when appropriate; place_object() passes it
files.c: random object sample passes must_be_small
constant.h, treasure.c, monsters.c, moria3.c, recall.c: new constant
CM_SMALL_OBJ for chests, and for monsters carrying only small
objects, check it in monster_death() by setting a bit in
treasure type, allow it to be recalled
moria3.c: summon_object(), object must be small if bit flagged above
many: change all other calls to place_object to set must_be_small to FALSE
externs.h: fix declaration of get_obj_num(), place_object(), add set_large()
store1.c: noneedtobargain(), change scale again, (good-3*bad-5) must be
positive and its square must be at least price/50, this allows
high-level characters to become good bargainers for expensive
items
---------- 6/8
lint all above changes, fix assorted typos
recall.c: recalled spell frequency for non-spellcasters in wizard mode
monsters.c: checked small objects/resistances for consistency, fixed error
creature.c: creatures given resistance by setting of breath bits tried
to cast spell, calling randint(0)
moria3.c: error in testing type caused all monsters which should drop
both objects and gold to drop only gold
creature.c: turned undead must call get_moves so they know which way to flee
---------- 6/9
moria1.c: inven_command(), get_item(), print 0-9 in prompt message when
appropriate
moria[12].ms: clarified that digit inscriptions work only on items in pack
prayer.c: strengthened Holy Word
player.c: reduced failure chance for Holy Word
check all changes, fixed more typos
---------- 6/10
moria1.c: inven_command(), get_item(), 0-9 was printed in wrong place
---------- 6/22
spells.c: td_destroy(), td_destroy2(), don't disarm/unlock chests that
are already empty
treasure.c: up staircase had extra space after name
doc/moria[12].ms: proofread, fix many typos
---------- 6/25
monsters.c: allow thieves to pick up objects on the floor
main.c,config.h,amiga/amiga.c,amiga/timer.c: included changes from
Ronald Cook for Lattice C support on Amiga
death.c,io.c,signals.c,unix.c,config.h: included changes from Brian
Johnson for Linux support
changed version number to 5.5.1
fix more lint errors
util/mergemem: code from Eric Bazin to merge monster memories
*: changed all copyright dates to 1994
released version 5.5.1
---------- 7/5
death.c: || !defined(APOLLO) should be &&
---------- 7/11
store2.c: get_haggle, changed %ld back to %d since variable is 16 bits
---------- 7/20
treasure.c: fixed many inconsistencies, mostly prices and names
misc2.c: magic_treasure(), fixed values of SU and SA, which weren't
changed when see invisible was moved from SA to SU; also changed
magical bonuses for these weapons
store2.c: increase_insults(), don't clear out haggling record if player
is thrown out (it might be worse than zero), just penalize as
for bad bargain
---------- 7/21
treasure.c: fixed a few more inconsistencies with items
files.c, misc32.c: file_character(), put_misc2(), don't print "Exp to
Adv" if over max_level (i.e., winner)
files.c: file_character(), leave enough space for printing 8-digit
experience points
misc3.c: put_misc2(), make display consistent with above change
misc3.c: new function prt_8lnum(), print a long variable in 8 digits of
space, needed by revised put_misc2() above
death.c: need flock hack for HPUX
io.c: #include <termio.h> for HPUX was inside #if 0
ibmpc/*: fix several typos in PC-specific files, also one in config.h
changed version to 5.5.2
released version 5.5.2