This file is indexed.

/usr/share/doc/angband-doc/mods-27X.html is in angband-doc 3.0.3.5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
<HTML>

<HEAD>
<TITLE>Angband -- Changes</TITLE>
</HEAD>

<BODY>

<H1>Angband -- Changes</H1>

<P>
This page lists "changes" in older versions of
<A HREF="http://www.phial.com/angband/">Angband</A>.
</P>

<H2>Table of Contents</H2>

<UL>
  <LI><A HREF="#A279v6">Changes made for Angband 2.7.9v6</A></LI>
  <LI><A HREF="#A279v5">Changes made for Angband 2.7.9v5</A></LI>
  <LI><A HREF="#A279v4">Changes made for Angband 2.7.9v4</A></LI>
  <LI><A HREF="#A279v3">Changes made for Angband 2.7.9v3</A></LI>
  <LI><A HREF="#A279v2">Changes made for Angband 2.7.9v2</A></LI>
  <LI><A HREF="#A279v1">Changes made for Angband 2.7.9v1</A></LI>
</UL>

<HR>



<A NAME="A279v6"></A>

<H2>Changes made for Angband 2.7.9v6</H2>

<UL>
  <LI>
    The savefile loading process was repaired and improved.  It is
    now possible to correctly load pre-2.7.0 savefiles, including
    old "MacAngband 1.0" savefiles, old "MacAngband 2.0.3" savefiles,
    old "PC Angband 1.4" savefiles.
  </LI>
  <LI>
    The Borg has been updated, and is no longer included with the
    official source archive, but can now be found in "/angband/Borg/",
    along with various other materials related to the Borg.  There is
    a new "Borg" section on the Official Angband Home Page.
  </LI>
  <LI>
    The "debug" commands have been separated from "wizard mode", with
    their own "savefile marker" flag, and independant verification of
    usage, similar to the method used for the "borg" commands.
  </LI>
  <LI>
    The "-w" option will now allow you to correctly restore a dead
    character, using the "cheat death" code.  The "cheat death" code
    now kicks in after the player has "died", and cancels the "death".
  </LI>
  <LI>
    The "update_view()" and "update_lite()" functions were optimized
    (again) since "update_view()" is a major bottleneck when resting.
  </LI>
  <LI>
    The class titles were restored, with one title per five levels.
  </LI>
  <LI>
    The source files were re-formatted, using four space indentation
    per block, and aligned stand-alone curly braces.  A few of the
    "main-xxx.c" files were ignored because they were beyond repair.
  </LI>
  <LI>
    The "mirror" window can now be used to show debugging messages
    (currently used only for the Borg).
  </LI>
  <LI>
    The "mirror" window can now be used to show an overhead view
    of the map (normally updated only when the map sector changes).
  </LI>
  <LI>
    The "windows" now work correctly with the Windows version.  Note
    that the scrolls bars were removed, and all windows are resizable,
    up to the maximum size of 80x24.
  </LI>
  <LI>
    The "lib" folder now "works" with older Macintosh computers.
  </LI>
  <LI>
    Memory wiping now clears inscriptions generated by "sensing".
  </LI>
  <LI>
    Reading unknown scrolls of identify is no longer dangerous, and using
    unaware wands/staffs/etc now works correctly with the choice window.
  </LI>
  <LI>
    The "handle_stuff()" function was broken into three sub-functions,
    "notice_stuff()", "update_stuff()", and "redraw_stuff()", each using
    a separate bit flag set, for various reasons.  The "notice_stuff()"
    function now handles everything which can only be done between player
    turns, including pack rearrangement.
  </LI>
  <LI>
    The colors for "main-ibm.c" and "main-win.c" were changed slightly
    to match the "official" colors (red, light red, and violet), and
    "main-win.c" was changed to use the new "color_table" array.  The
    "Term_user()" hook in "main-win.c" is now used to allow the user to
    force complex color or palette abilities.
  </LI>
  <LI>
    All messages are now split if they exceed 72 characters.
  </LI>
  <LI>
    The "msg_print()" and "get_xxx()" functions have been changed,
    primarily to simplify the "msg_print()" function.  The top line
    of the screen should now, in general, be used only for "messages",
    temporary queries, and certain special full screen interactions.
  </LI>
  <LI>
    Player ghosts are no longer created, nor loaded from savefiles.
    They will now be restored until the player ghost code has been
    completely rewritten.
  </LI>
  <LI>
    The refueling code was repaired and improved.
  </LI>
  <LI>
    Item inscriptions now resist destruction by stacking.
  </LI>
  <LI>
    Changing the "rogue-like commands" option works "better".
  </LI>
  <LI>
    Some more options were removed or modified slightly.
  </LI>
  <LI>
    Artifacts are marked "(charging)" when they are charging.
  </LI>
  <LI>
    The "DELAY_R_INFO_TEXT" compilation option is now functional,
    and allows the "monster race descriptions" to be read from disk
    as needed, instead of keeping them in memory and using 60K.
  </LI>
  <LI>
    The "verification" code was moved from "init_file_paths()" to
    "show_news()", allowing system-specific path modification.
  </LI>
</UL>

<HR>


<A NAME="A279v5"></A>

<H2>Changes made for Angband 2.7.9v5</H2>

<UL>
  <LI>
    Many of the source files were reorganized for various reasons.
  </LI>
  <LI>
    Several "Makefile.xxx" files were updated for the new files.
  </LI>
  <LI>
    Some changes were made to the "term.c" package to optimize stuff,
    and to allow the use of the new "Term_pict()" hook in various
    situations.  Most "main-xxx.c" files needed some minor changes,
    look for "TERM_XTRA_BEVIS", "TERM_XTRA_INVIS", and "scan_events".
  </LI>
  <LI>
    The "teleport player" spells now act instantaneously.
  </LI>
  <LI>
    You are now correctly notified when you can learn new spells.
  </LI>
  <LI>
    Changing equipment now correctly updates the lite radius.
  </LI>
  <LI>
    The running code has been optimized some more, and now stops next
    to rubble, and can now take a "maximal run distance" argument.
  </LI>
  <LI>
    Various options have been removed, modified, or moved around.
  </LI>
  <LI>
    The "disturb" options now work "better" with "telepathy".
  </LI>
  <LI>
    The "show uniques" and "show artifacts" no longer crash if the
    "tmpnam()" function fails.  In fact, there is a new "path_temp()"
    function to acquire a temporary file name, since the standard one
    seems to fail on many machines.  Also, these commands now use the
    same interface as the "on line help" commands.
  </LI>
  <LI>
    The "request_command()" function is now used in stores, allowing
    the "keyset" and "command macro" code to work in stores.  Using
    "p" and "s" to "buy" and "sell" in stores is handled by a hack.
  </LI>
  <LI>
    Creating a new character using a reduced savefile will not clear
    the "aware" flags on objects.  In "player_wipe()" in "birth.c",
    change "if (k_ptr->has_flavor) k_ptr->aware = FALSE" into
    "k_ptr->aware = FALSE".
  </LI>
  <LI>
    Every call to "get_mon_num()" and "get_obj_num()" should check for
    "failure" (a return value of zero), since otherwise, weird things
    may happen, including the creation of bizarre "player" monsters,
    and division by zero errors if you "look" at it.  These checks
    must be done AFTER any "global restrictions" are reset.
  </LI>
  <LI>
    The Borg no longer has problems "swapping" his rings.
  </LI>
  <LI>
    Using "angband -n" now correctly loads the old savefile.
  </LI>
  <LI>
    The Cloaks of Aman, Cloaks of Stealth, and Boots of Quiet,
    should all say "(+X to stealth)" not just "(+X)".
  </LI>
  <LI>
    The "user abort" code in "borg-ben.c" needs a little work.
  </LI>
  <LI>
    The "main-win.c" file (and support files) are almost ready.
  </LI>
  <LI>
    The "main-ami.c" file (and support files) are almost ready.
  </LI>
</UL>

<HR>


<A NAME="A279v4"></A>

<H2>Changes made for Angband 2.7.9v4</H2>

<UL>
  <LI>
    Running no longer stops next to secret doors (early release bug).
  </LI>
  <LI>
    Wimpy monsters no longer induce cuts/stuns (early release bug).
  </LI>
  <LI>
    The "disturb_other" option now induces disturbance when the player
    status changes.  This includes various subtle changes in "food",
    "cuts" and "stuns", that do not induce actual messages.
  </LI>
  <LI>
    The "tombstone" picture is now loaded from "lib/file/dead.txt".
  </LI>
  <LI>
    The "character dump" code has been cleaned up and optimized.
  </LI>
  <LI>
    The "list artifacts" and "list uniques" commands now use a generic
    "display file" method using a temporary file.
  </LI>
  <LI>
    The "list artifacts" command can now be used in the dungeon, since
    it does not show the unknown artifacts on the dungeon floor, or in
    the player inventory.
  </LI>
  <LI>
    You can now put "tab" characters in "help" files and other text
    files used by Angband.  They are expanded using eight character
    tab stops.
  </LI>
  <LI>
    There are nice new generic "my_fgets()" and "my_fputs()" functions.
  </LI>
  <LI>
    Cheating death now restores your hitpoints and spellpoints, and your
    food, and such, and "recalls" you to the town.
  </LI>
  <LI>
    The "main-xaw.c" file now uses the "GRAPHIC_xxx" defines, and uses
    the color set from "main-x11.c" which is apparently "better".
  </LI>
  <LI>
    The "handle_stuff()" routine, and the functions which induce it, were
    cleaned up and verified.
  </LI>
  <LI>
    The player can now directly drop/sell "equipment" items in stores.
  </LI>
  <LI>
    The player inventory is correctly combined and reordered in stores,
    and the "do_cmd_redraw()" function works in almost all situations.
  </LI>
  <LI>
    The "character_icky" flag is now used only to indicate that the
    "dungeon" is not currently displayed in the main window.  Most of
    the special screens were modified to allow the use of "msg_print()".
  </LI>
  <LI>
    The character display is no longer shown when loading a saved game,
    for increased efficiency and code simplification.
  </LI>
  <LI>
    The "notice_stuff()" function has been completely removed, and broken
    out into various "set_xxx()" functions, and the functions that update
    the bonuses, mana, and spells.  This should increase efficiency and
    enforce more correct semantics for blindness and related things.
  </LI>
  <LI>
    Each store has been given an additional two "base items" from which
    to choose its "stock", making certain items more common (low level
    books, lanterns/oil, boots/armor, scrolls of identify/recall, and
    arrows/bolts), and the temple sells more potions of restore life
    levels and no potions of restore wisdom.
  </LI>
  <LI>
    The "halberds" now do "3d5" damage not "3d4", some of the artifacts
    have been given slightly different rarities or minimum levels, the
    "electric" and "acid" brands now do "x3" damage not "x5" or "x2",
    and a few monsters have been given new abilities.
  </LI>
  <LI>
    The "fiddle" flag is now used only to show extra debugging messages.
  </LI>
  <LI>
    There are new "main-win.c", "main-ibm.c", "main-ami.c", and
    "main-acn.c" files.
  </LI>
  <LI>
    There are some new spoiler files, and an "info.tar.gz" spoiler archive.
    Many (but not all) of the files have been updated for Angband 2.7.9v4.
  </LI>
  <LI>
    Items can no longer provide "immunity" to poison, only resistance,
    this affected only a single artifact, and simplified some code.
  </LI>
  <LI>
    The "food" code needed some work.  There is now a generic "set_food()"
    function, and much simpler "digestion" code.  The result is faster,
    has fewer possible bugs, and is much more sensitive to player speed.
  </LI>
  <LI>
    The eyes, icky things, jellies, oozes, molds, and mushrooms are no
    longer "animals".
  </LI>
  <LI>
    The "animal nest" code now uses the "animal" flag to choose contents.
  </LI>
  <LI>
    Some more attr/char changes were made to the monster list, for example,
    the "snakes" are now a special race using the "J" symbol.
  </LI>
  <LI>
    Some of the global arrays were made non-dynamic for efficiency.
  </LI>
  <LI>
    Monster pits/nests now include all "acceptable" non-unique monsters,
    including invisible, teleporting, and multiplying, monsters.
  </LI>
  <LI>
    Repeated commands are now handled by the command itself.  The "repeat"
    count is not displayed until the command is actually repeating.
  </LI>
  <LI>
    The player can no longer target non-projectable monsters, except
    via the "target a location" command.  This allows the use of macros
    which assume that the "nearest" target is actually projectable.
  </LI>
  <LI>
    The player can no longer "accidentally" run into a wall, running now
    stops next to embedded treasure and rubble, and the running code has
    been optimized some more.
  </LI>
  <LI>
    The "attr/char" info from the "I" lines in the "x_info.txt" files have
    been split out into a separate "G" line to fix some "sscanf()" problems.
  </LI>
  <LI>
    The user can now modify the attr/char of terrain feature zero (used
    for "unseen" grids), object zero (used eventually for "stacks" of
    items), and monster zero (used for the "player").
  </LI>
  <LI>
    Mushrooms of restore strength now cost 350 gold.
  </LI>
  <LI>
    There are now new command line arguments to activate "graphics"
    mode (-g) and "sound" mode (-v), when supported.
  </LI>
  <LI>
    The "auto-scum" code now accepts any non-boring feeling on the
    first four dungeon levels.
  </LI>
  <LI>
    The chance of out-of-depth monsters has been doubled, in such a way that
    it is "possible" to get monsters which are up to 10 levels out of depth.
  </LI>
  <LI>
    Out of depth monsters now contribute more to the level rating.
  </LI>
  <LI>
    Autorolling is now "aborted" after a million rounds, and uses
    the same "semi-efficient" method on all machines.
  </LI>
  <LI>
    Several of the "stat tables" have been adjusted slightly, the main
    change is that the player should get multiple blows more easily.
  </LI>
  <LI>
    The "main-ibm.c" file now uses new "true color palette code", and
    allows the use of the new "color specification" methods.
  </LI>
  <LI>
    Faulty use of the "GetAppDir()" function in the Macintosh version
    may have been "fixed".
  </LI>
  <LI>
    Invisible traps can be given different attr/char codes from floors,
    but the attr/char codes for invisible traps are never used.
  </LI>
  <LI>
    The "trapper" and "lurker" monsters are now "translucent".
  </LI>
  <LI>
    The "main-x11.c" file now handles the "mirror" window correctly.
  </LI>
  <LI>
    Cursed shovels can no longer have a positive "pval" bonus.
  </LI>
  <LI>
    There is a new "interact with colors" command which allows the user
    to modify the internal representations of various colors, on systems
    which support such modification, such as the Macintosh.
  </LI>
  <LI>
    The special "Term_user(0)" command is now be reserved for "weird"
    stuff like changing graphics/sound mode, or executing "shell" commands.
  </LI>
  <LI>
    The "command.txt" file has been updated to correctly describe the new
    "Interact with macros", "Interact with visuals", "Interact with colors",
    "Interact with options", and "Interact with the system" commands.
  </LI>
  <LI>
    Most of the commands available in the dungeon are now available in
    stores, though the "keymaps" are ignored.
  </LI>
  <LI>
    Various things are now updated more often in stores.
  </LI>
  <LI>
    The "Term_pict()" function, and the related hooks, now take an
    attr/char pair instead of a picture index for optimal usage.
  </LI>
  <LI>
    Trap doors are no longer improperly created at dungeon level 99.
  </LI>
  <LI>
    The create staircase spell now "memorizes" the new stairs.
  </LI>
  <LI>
    Angband now autoloads the "user.prf" and "user-xxx.prf" user pref
    files, plus one of "font-xxx.prf" or "graf-xxx.prf" as appropriate.
  </LI>
  <LI>
    The "pref-xaw.prf" file now simply includes "pref-x11.prf".
  </LI>
  <LI>
    A typo in the "pref-ibm.prf" file was fixed, and part of the file
    was split off a "font-ibm.prf" file.  The "pref-win.prf" file now
    simply includes "pref-ibm.prf".
  </LI>
  <LI>
    The Windows version has a new "graf-win.prf" file that "correctly"
    encodes the various bitmap entries using the new row/col metaphor,
    plus a "font-win.prf" file with the "non-bitmap" attr/char mappings.
  </LI>
  <LI>
    Various "graf-xxx.prf" files were fixed to handle the four new items,
    and/or the change from "seedy looking human" to "novice paladin".
  </LI>
  <LI>
    The "Ettin" monster was restored to full hitpoints.
  </LI>
  <LI>
    The "dehex()" function was fixed.
  </LI>
  <LI>
    The "look" / "target" commands now start at the "closest" location.
  </LI>
  <LI>
    The "message recall" command now allows the use of the "/" key for
    a primitive "search" ability.
  </LI>
</UL>

<HR>


<A NAME="A279v3"></A>

<H2>Changes made for Angband 2.7.9v3</H2>

<UL>
  <LI>
    The "main-ibm.c" file had to be rewritten several more times.  It now
    handles all known environments correctly.  It was given a new default
    color scheme, and a method to allow the user to choose among several
    pre-defined color sets.  The keypress code was cleaned up once and for
    all, and the "main-win.c" file was changed to use the same macro triggers,
    and a new "pref-ibm.prf" file was created using the new triggers.
  </LI>
  <LI>
    A pre-compiled version using "main-ibm.c" for DOS-286 is now available.
  </LI>
  <LI>
    The "main-x11.c" and "main-xaw.c" files now support the "mirror"
    window, and correctly handle the "TERM_XTRA_CLEAR" command.
  </LI>
  <LI>
    Some minor bugs in "main-cap.c" and "main-gcu.c" were fixed.
  </LI>
  <LI>
    The "repeat count" is now used for various things, such as the
    "quantity" of the "drop" or "destroy" command, if it is not being
    used for anything else.
  </LI>
  <LI>
    The "show reduced map" command was optimized a lot.
  </LI>
  <LI>
    There is a new "recall most recent message" command ("ctrl-O").
  </LI>
  <LI>
    The "notice_stuff()" function was broken up into several generic
    "set_xxx()" functions, to handle "changes" in various "properties"
    of the player, such as "blindness" or "paralysis".  This now only
    made the game faster, but also provided better "world semantics",
    and fixed some "bugs" involving "blindness", "see invisible", etc.
  </LI>
  <LI>
    One of the shop-keepers had an incorrect tolerance of zero.
  </LI>
  <LI>
    Importing pre-2.7.9 no longer causes "Calris" to become re-cursed,
    as long as the "uncursed" inscription is still present.
  </LI>
  <LI>
    When an object is picked up (or a trap is disarmed) in a dark hallway
    or room, a "marked" floor grid is no longer left behind.
  </LI>
  <LI>
    The "note_spot()" function is now called when an object is dropped
    into a grid (by the player or monsters).  Also, neither "note_spot()"
    nor "lite_spot()" are called during dungeon level generation.
  </LI>
  <LI>
    Objects and terrain features now have separate "memorized" flags to
    prevent visual glitches when memorized objects are picked up by the
    player or by monsters.  This had the side effect that "detected"
    dungeon objects converted from pre-2.7.9v3 savefiles will lose
    their "detection" status, leaving behind a "known" floor grid.
  </LI>
  <LI>
    The "earthquake" spell now correctly creates "wall" grids.
  </LI>
  <LI>
    The "monster health bar" is now updated after a monster casts a
    "heal" spell on itself, drains mana/charges to heal self, or is
    hit by a "heal monster" attack.
  </LI>
  <LI>
    The "staff of darkness" now attempts to blind the player.
  </LI>
  <LI>
    Aiming a wand of wonder on the ground at itself can no longer
    destroy the wand, since this could have "messy" results.
  </LI>
  <LI>
    Several uses of the "saving throw" now have better "semantics"
    and/or "messages".
  </LI>
  <LI>
    The "get_item()" function no longer has any visual glitches.
  </LI>
  <LI>
    The "get_spell()" function now correctly uses the "mirror" window.
  </LI>
  <LI>
    The player's total gold is now displayed in the Home.
  </LI>
  <LI>
    The "Giant clear centipeed" is now "clear".  The "Giant purple worm"
    now resists poison.  The "Umber Hulk" is now a light umber "X" monster.
    The "clear" monsters are now "white" in the recall window.
  </LI>
  <LI>
    The "color scheme" of several monsters has been changed.  See the new
    "r_info.txt" file for more information.  Most of the changes involve
    new color schemes for "elemental" monsters (dragons, hounds, etc) and
    "people" monsters (mages, warriors, etc).
  </LI>
  <LI>
    The object distribution was cleaned up slightly.  The artifact damage
    sides were brought in line with the underlying object damage sides.
  </LI>
  <LI>
    A nice generic quick-sort function now allows all of the sorting to
    be done by one optimized function, and allows many more things to be
    sorted at low cost.
  </LI>
  <LI>
    The character description screen was cleaned up a bit, making room
    for on-screen display of blows/round and shots/round.
  </LI>
  <LI>
    The "options", "pref", and "macro" commands were made into full screen
    commands starting at line two, and were cleaned up a lot.
  </LI>
  <LI>
    A new command was added to directly specify a "user pref command",
    as if it came from a "user pref file".
  </LI>
  <LI>
    The Borg was given a few patches, and was optimized some more.  Also,
    it was taught to consider all possible equipment combinations, and to
    use the home to "stockpile" certain items.
  </LI>
  <LI>
    The glyph of protection now uses the "semi-colon" symbol.
  </LI>
  <LI>
    Several terrain features got new colors, and the special lighting
    effects now only affect floor grids.  The result is much faster, and
    still rather interesting to watch.
  </LI>
  <LI>
    Some patches for EM/ESA and Amiga and DOS-286 were added.
  </LI>
  <LI>
    More optimizations were performed (visual display of the map grids,
    full screen map, running, the Borg, the player command loop, message
    memorization, update monster).
  </LI>
  <LI>
    Several messages about traps now include the name of the trap.
  </LI>
</UL>

<HR>


<A NAME="A279v2"></A>

<H2>Changes made for Angband 2.7.9v2</H2>

<UL>
  <LI>
    Throwing an object no longer causes a SEGV error.
  </LI>
  <LI>
    Bashing non-doors no longer creates open doors.
  </LI>
  <LI>
    The "destroy traps/doors" effects now works.
  </LI>
  <LI>
    The Macintosh "save bug" was squashed by using "absolute" path names.
  </LI>
  <LI>
    The "great" objects (ego-items and artifacts) are now more common.
  </LI>
  <LI>
    Several of the "main-xxx.c", "Makefile.xxx", and "pref-xxx.prf"
    files were updated.
  </LI>
  <LI>
    The "main-ibm.c" file absorbed the "main-wat.c" and "main-286.c"
    files, and uses the new "TERM_XTRA_FROSH" command for efficiency.
  </LI>
  <LI>
    Some "typos" in various files were fixed.
  </LI>
  <LI>
    The cursor is no longer misplaced in the "choose_sex()" function.
  </LI>
  <LI>
    Monsters can no longer be summoned, created, or teleported, on top
    of a glyph of warding.
  </LI>
  <LI>
    The priest prayer "Confuse Creature" was renamed "Scare Monster",
    and the mage spell "Confusion" was renamed "Confuse Monster".
  </LI>
  <LI>
    The mage spells of the "Resistance" variety are no longer worth
    as much experience.
  </LI>
  <LI>
    The priest prayers of the "healing" variety now heal more than
    the corresponding potions (Nd10 vs Nd8).
  </LI>
  <LI>
    Several hard-coded numerical constants were replaced by symbolic
    constants (player race, player class, etc).
  </LI>
  <LI>
    Various functions were optimized.
  </LI>
  <LI>
    The "note_spot()" function is used more often.
  </LI>
  <LI>
    When the area around the player is "forgotten", for example, by
    earthquake, darkness, or sunset, and the memorize torch lit grids
    option is set, the grids near the player are now re-memorized.
  </LI>
  <LI>
    Some "color" glitches in "main-gcu.c" were fixed.
  </LI>
  <LI>
    Some of the on-line help files and such were updated.
  </LI>
  <LI>
    The "preserve" mode now only preserves "unknown" artifacts.
  </LI>
</UL>

<HR>


<A NAME="A279v1"></A>

<H2>Changes made for Angband 2.7.9v1</H2>

<UL>
  <LI>
    I may have missed some other changes, since I just started a
    complete change log with this version.
  </LI>
  <LI>
    Filling a level with too many objects no longer causes nasty
    visual errors.
  </LI>
  <LI>
    Generating a level with "too many" objects or monsters now causes
    the level to be regenerated, with no "annoying" messages.
  </LI>
  <LI>
    The *enchant* weapon and *enchant* armor scrolls were fixed.
  </LI>
  <LI>
    The Borg is very different (and for the better).
  </LI>
  <LI>
    The "l_list"/"r_list" arrays have been absorbed by "r_info".
    The "x_list"/"k_list" arrays have been absorbed by "k_info".
    The "v_list" array is now "a_info", and "e_info" was added,
    for "ego-item" info.
  </LI>
  <LI>
    The "init.c" file is MUCH faster and prettier.
  </LI>
  <LI>
    The "main-cur.c" file is gone (ancient curses support), and
    the "main-cap.c" file is complete (play without "curses").
  </LI>
  <LI>
    All high starting stats affect starting gold negatively.
    The auto-roller shows max-stats before asking for min-stats.
  </LI>
  <LI>
    Multi-hued and Clear monsters look better with "use_graphics".
  </LI>
  <LI>
    Several arrays are now malloc'd instead of staticly declared.
    Several tables have been moved into "init.c" or "birth.c".
    Several tables have been modified to use 40 (not 80) bytes.
  </LI>
  <LI>
    Monster death messages via missiles now resemble by spells.
  </LI>
  <LI>
    The "bash monster" code has been removed.
  </LI>
  <LI>
    All "commands" that take directions check for "legality" first.
    All "commands" that take directions will "attack" monsters in way.
    The "get_a_dir()" spawned "get_aim_dir()" and "get_rep_dir()".
  </LI>
  <LI>
    There are new global "running" and "resting" variables.
  </LI>
  <LI>
    Granite is harder than quartz is harder than magma.
    Quartz is actually rather hard, consider a digger.
  </LI>
  <LI>
    There are "generic" routines to "lose"/"gain" a stat
  </LI>
  <LI>
    Some "Random" checks now use "percentage" code.
  </LI>
  <LI>
    Spiking is now the only command that does not ask for an item.
  </LI>
  <LI>
    There is now a "generic" option manager, with an option table.
    You can now specify "forced values" for options in pref files.
  </LI>
  <LI>
    A few variables and defines were renamed for consistency.
    A few more variables have more precise types (bool,byte,s16b).
  </LI>
  <LI>
    The "make macro" function is simpler, and also easier to use.
  </LI>
  <LI>
    The "message recall" code is hyper-efficient, space-wise anyway.
  </LI>
  <LI>
    There is a generic "get_spell()" routine for casting and studying.
  </LI>
  <LI>
    Studying spells/prayers takes a turn, and requires a book choice.
  </LI>
  <LI>
    Curing of various maladies takes (blind, etc) place right away.
  </LI>
  <LI>
    Curse weapon affects only weapons, curse armor only body armor.
  </LI>
  <LI>
    There is now a "get_lib_path()" function for each machine.
  </LI>
  <LI>
    The "lib/README" and "lib/RECORD" files have been "moved".
    The "lib/README" file is now required (to verify "lib" folder).
    The "lib/RECORD" file (high scores) is portable between platforms.
  </LI>
  <LI>
    There is now a maximum limit (of 128) on all "depth" values.
    You cannot descend below level 128 (6400 feet) except as a wizard.
  </LI>
  <LI>
    You can customize the macro/message/quark support in "config.h".
  </LI>
  <LI>
    The ego-item indexes have been re-arranged, and renamed, etc.
    There has been some modification of the ego-item "textual names".
    Each "ego-item" can only apply to a given "equipment slot" now.
  </LI>
  <LI>
    The "attack to cause earthquakes" is now an actual blow effect.
  </LI>
  <LI>
    You now get a "You die." message when you die, ala "nethack".
  </LI>
  <LI>
    A lot of code is now conditional on "SET_UID", which is cleaner.
  </LI>
  <LI>
    You get better messages if the "lib/RECORD" file is "locked".
    Empty and missing files ("load.txt" or "time.txt") are different.
    A missing "permissions" file defaults to maximal permissions.
    An empty "permissions" file defaults to "standard" restrictions.
  </LI>
  <LI>
    The stores are now a slightly more complex structure.
  </LI>
  <LI>
    An explicit "break" is placed in the message recall at birth.
  </LI>
  <LI>
    The dungeon generation code has been cleaned up some more.
  </LI>
  <LI>
    Support for the "ACORN" Risk OS has been added.
  </LI>
  <LI>
    The "Q" key (suicide) has been re-installed for roguelike keyset.
  </LI>
  <LI>
    The internal direction "5" is now "target" and "zero" is nothing.
  </LI>
  <LI>
    The "inkey()" function now handles ALL keypress input.
  </LI>
  <LI>
    The "use_stat" array is now recalculated by "calc_bonuses()".
  </LI>
  <LI>
    The "handle_stuff()" function is slightly cleaner/faster.
  </LI>
  <LI>
    The "hardcoded arrays" have removed except from "save-old.c".
  </LI>
  <LI>
    Genocide (and mass genocide) no longer work on Unique monsters.
  </LI>
  <LI>
    The "name" and "text" fields of various arrays have been optimized.
    You can now specify a "description" for objects, artifacts, ego-items.
    This description, however, is not currently used for anything.
  </LI>
  <LI>
    The "player ghost" code is still a hack and a half.
  </LI>
  <LI>
    Sometime soon we should see variable energy actions.
  </LI>
  <LI>
    Sometime soon we might see a separate "unique" array.
  </LI>
  <LI>
    Some of the "ego-item extensions" are now actual "ego-items".
    Thus, a "Mace of Kill Evil (+1 to WIS)", and other such items.
  </LI>
  <LI>
    All "boosted" ammo is an ego-item, usually "of Wounding".
  </LI>
  <LI>
    The "recharge" scode has been "fixed" and now handles stacks.
  </LI>
  <LI>
    Turning off haggling results in fixed prices being displayed.
    Haggling and then turning off haggling also works "correctly".
  </LI>
  <LI>
    Picking up an item describes the entire resulting slot.
  </LI>
  <LI>
    Low dexterity no longer penalizes disarming ability.
  </LI>
  <LI>
    Clearing the screen now induces an actual screen clear.
    Clearing a portion of the screen now takes (x,y,w,h).
  </LI>
  <LI>
    Some unused functions (umask, chmod, etc) were removed.
  </LI>
</UL>

<HR>


<P>
Go back to the <A HREF="http://www.phial.com/angband/">
Official Angband Home Page</A>
</P>



<ADDRESS>
See also Ben Harrison's Home Page / 
<A HREF="http://www.phial.com/benh/">Ben Harrison</A> / 
<A HREF="mailto:benh@phial.com">benh@phial.com</A>
</ADDRESS>

</BODY>

</HTML>