Changeset 684 for trunk/changes.txt

Show
Ignore:
Timestamp:
02/01/08 23:21:45 (6 months ago)
Author:
takkaria
Message:

Update the changelog.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/changes.txt

    r312 r684  
    44This is an Angband development version -- it may be buggy, so be warned! 
    55 
    6 Thanks go to Eytan Zweig, pelpel, and Leon Marrick for patches used in 
    7 this version. 
    8  
    9 Changes up to now: 
    10  
    11 Bigger 
    12 ------ 
    13  
    14 * Add Ey-style quickstart.  (Eytan Zweig) 
    15  
    16 * Add trap detection indicator. (pelpel)  Also, make detection spells 
    17   circular, of radius 22, and magic mapping circular of radius 30. 
    18  
    19 * Adopted various parts of the OAngband dungeon generation code. 
    20   (Leon Marrick) For more information, please see: 
    21   http://dev.rephial.org/trac/attachment/ticket/156/notes.txt 
    22  
    23 * Transient indicators now appear on the bottom line, starting at the 
    24   left of the dungeon display; things like depth and speed appear on 
    25   the main sidebar.  As a result of this, every timed effect is now 
    26   displayed on the status bar. 
    27  
    28 Smaller 
    29 ------- 
    30  
    31 * Monster recall colours changed somewhat, they're now closer to Ey, 
    32   which I find much more readable. 
    33  
    34 Invisible (or almost so) 
    35 --------- 
    36  
     6Thanks for this release go to: Eytan Zweig, pelpel, Kenneth Boyd, 
     7J.D. White, and more 
     8XXX fill in before release 
     9 
     10Leon Marrick's dungeon generator from O was imported briefly, but since 
     11he wasn't around to answer questions or improve it at all, it's been 
     12reverted (see revisions 306 and 612).  Also, using the 3.0.x dungeon 
     13generator makes it much easier to balance the object allocation changes. 
     14The dungeon generator is scheduled for some attention sometime in the 
     153.1.x series, but it's not my main concern right now. 
     16 
     17Noticeable up-front UI changes 
     18------------------------------ 
     19 
     20 * Add EyAngband-style quickstart option. 
     21 * Notes, like NPP and FA, except with brand new code by J.D. White. 
     22   (#10) 
     23 * Add a trap detection indicator (#19) 
     24 * Make status bar display all timed effects, left-to-right, which 
     25   involves moving the dungeon level to the bottom of the left-hand 
     26   display. (#191) 
     27 * Add show_lists option, which is the same as always_show_lists in 
     28   Ey. (#25) 
     29 * Auto-wield birth items (#24) 
     30 * Change the object information screen quite a bit: (#214, #26) 
     31   - Show average damage for weapons and ammo (#26) 
     32   - Make descriptions a fair bit terser (#399) 
     33   - Show breakage chance for ammo 
     34   - Track item origin, so every item has a tag telling you where it 
     35     came from (#149) 
     36 * Recolour the monster recall: (part of #152) 
     37   - Monster's depth is in red if it's beyond maximum depth, light green 
     38     otherwise. 
     39 * Add how many items the player already has when buying something at 
     40   the store.  (closes #151) 
     41 * Allow use of the space bar to advance a screenful in all 
     42   menus.  (#244) 
     43 * Make all menus wraparound at the top/bottom.  (#244) 
     44 * Monster recall display now cycles through monsters in level order, 
     45   not in the order that the monster definition file is written 
     46   in.  (#302) 
     47 * Add an indication of maximum capacity in the inventory 
     48   display.  (#358) 
     49 * Menus should use 1234567890 as little as possible for "tags".  (#292) 
     50 * Remove the "depth_in_feet" option, instead displaying both the 
     51   dungeon level and the depth everywhere. 
     52 * Ensure that store-bought and birth-given torches have the same number 
     53   of turns for stacking purposes. 
     54 * Death screen now uses scrollable menu. (#416) 
     55 * Drop squelched items 
     56 * Append {tried} to tried items in the object browser (r606) 
     57 * Put {tried} items before untried items in the object browser 
     58 * The monster list display has a little more colour-coding 
     59 * Death menu now uses a scrolly menu. 
     60 
     61 
     62Gameplay 
     63-------- 
     64 
     65 * Remove autoscum.  (#365) 
     66 * Make point-based points worth less gold. 
     67 
     68Detection: 
     69Try a different approach at detection: make all of magic mapping and 
     70detect trap/door/stair/monster/item/treasure use the same width and 
     71height rectangular area around the player. 
     72 
     73Stores: 
     74 * Phase Door is now a staple item. 
     75 * Start stocking deeper items as the character descends. 
     76 
     77ID: 
     78 * Make ID reveal all powers of an object, and remove *ID*.  (#158) 
     79 * Make pseudo-id not occur whilst resting, but also make pseudo-ID 
     80   lengths shorter (by a little over half) to compensate. 
     81 * Some items, when worn long enough, get automatically ID'd 
     82 * Items pseudo-id'd as {average} are automatically ID'd, and thus will 
     83   stack properly 
     84 * Make wands/staffs stack even when un-ID'd 
     85 * Remove "good" pseudo-ID, replace with "magical" -- for non-cursed 
     86   non-average non-ego non-artifacts 
     87 * Add "strange" pseudo-ID, for when items have mixed blessings 
     88 * Stop automatically cursing all bad weaponry 
     89 * Make weak pseudo-id notice the difference between magical and 
     90   excellent 
     91 * Stop making rings of Stupidity, Weakness, and Woe. 
     92 * Allow any/all rings/amulets to be cursed if the game wants to 
     93   generate a "bad" item.  This is liable to be rethought in the future. 
     94 
     95 
     96Combat: 
     97 * On shooters, slays affect rolled damage, not total damage, like 
     98   combat.  Also, transfer slays and brands from the shooter to 
     99   ammunition. e.g. Cubragol is firebranded.  This tones down ranged 
     100   combat quite a bit at the high end. 
     101 
     102Monsters: 
     103 
     104Monsters have only had one change, but it's not a very noticeable one 
     105(hopefully): monster HP is specified as an average value around which to 
     106randomise, instead of using a "12d5"-type calculation.  Uniques always 
     107have the number of HPs specified in the monster.txt file, like before. 
     108 
     109Pack AI for trying to confront the player in rooms was exploitable: it 
     110was not considering open spaces created by digging creatures or 
     111stone-to-mud, making it possible for the player to clear "safe" open 
     112space at the side of a room.  Now the pack AI tries to attack in any 
     113open space where the player can be surrounded, not just room interiors. 
     114 
     115 
     116Objects: 
     117#310 #228 #311 #313 #316 
     118 
     119There is a new object allocation algorithm, something like the Sangband 
     120system but not quite the same.  This made it possible to rebalance the 
     121object rarities with better accuracy and knowledge of how such changes 
     122would affect the game. 
     123 
     124As a result, object rarities have undergone fairly extensive changes, 
     125especially with regard to consumables and rechargeables.  Some items 
     126have been removed, some new ones have been added, and most rarities have 
     127been changed.  There are a few quirks with the allocations as they 
     128stand, like speed potions being abnormally common on the first few 
     129dungeon levels. 
     130 
     131A selection of the most notable changes appear below: 
     132 
     133 - Water and Apple Juice are gone. 
     134 - Various potions have a tendency to appear in stacks. 
     135 - Reduce the number of food varities in the game. 
     136 - Add a new timed telepathy effect to some items 
     137 - Make potions of CLW, CSW, CCW heal a proportion of wounds, not just 
     138   a set value.  In the process, make all the potions more useful, to 
     139   the point where even CLW can be used usefully; CSW is about as useful 
     140   as the old CCW, and CCW is now only found in the dungeon -- albeit in 
     141   piles.  (#313) 
     142 - Add a selection of "gain one, lose one" stat potions to replace the 
     143   old stat loss potions-- they guarantee a stat to raise and reduce one 
     144   randomly. 
     145 - Stop Broken Daggers being generated, make Filthy Rags [0,+0], and 
     146   make Broken Swords (+0,+0) by default. 
     147 - Stop fixing the flavour for slime mold juice. 
     148 - The Elven Rings have a variety of healings, at the suggestion of 
     149   Timo.  Also, apply some other changes from the TV-patch (r428) 
     150 - Bad potions (confusion and the like) have a more damaging effect than 
     151   good potions when thrown.  This is like a lazy version of potions 
     152   actually having the proper effect on monsters they hit. 
     153 - Make torches always be found at 5000 turns, and lanterns at 7500 
     154   turns 
     155 
     156 
     157Port 
     158---- 
     159 
     160 * X11: Add -x commandline option for choosing the location of the 
     161   settings file (#333, patch by morth) 
     162 * GTK2: Continue work; add term windows, graphics, etc. and also some 
     163   special dedicated display windows, like "messages" and "monster 
     164   list". (shanoah) 
     165 
     166 
     167Code-level 
     168---------- 
     169 
     170A lot of code-level cleanup has been applied to this release, much of it 
     171still in flux.  Many new files have been split out of existing files, 
     172which should now have much more self-explanitory names. 
     173 
     174There is also a new generic effects handler so that all item activations 
     175and use abilities share the same code; this replaces use-obj.c and a lot 
     176of descriptions from lib/edit/object.txt. (#234) 
     177 
     178Memory handling has been reviewed.  Now, all code should assume that 
     179allocation will succeed, just like it did already.  There is also a 
     180realloc()-style function along with its own hook.  string_make() has 
     181been modified to no longer return a "const char *", and so all the code 
     182now only uses "const" when it means "const".  Some macros have been 
     183removed. 
     184 
     185"Elly" rewrote the message and quark packages, previously in util.c, 
     186and in the process split them out into their own z- files.  The z-msg 
     187package is now much more understandable but marginally less "efficient", 
     188and certainly less "optimised". 
     189 
     190Option definitions have moved to option.h, and the names and 
     191descriptions for options have moved to option.c.  Option data is now 
     192stored in a much more visually compact way, much more suitable for 
     193editing than the old system was. (#64) 
     194 
     195Additionally, a new file API has been introduced which combines the 
     196previous mishmash of fd_*() and my_f*() calls into a simpler, better 
     197documented interface.  (#137) 
     198 
     199Set up an event system for UI display updates, where the game 
     200communicates with the UI by sending messages saying that something's 
     201changed that the UI might be interested in, rather than deciding that 
     202specific things should be redraw.  The main screen updates all use this 
     203system now.  Amongst other things, this system should help things like 
     204the borg and graphical frontends, because they can hook right into 
     205changes in state.  (#348) 
     206 
     207object1.c and object2.c have been split out into a series of files, 
     208obj-{desc,make,ui,util}.c.  This makes it much easier to remember what 
     209is where.  Also, object_desc() has seen a rewrite, so hopefully it's a 
     210lot more hackable now. 
     211 
     212The beginnings of an organised code documentation scheme have started, 
     213using doxygen.  Makefile.std provides an easy mechanism to generate docs 
     214(try "make docs"). 
     215 
     216There is some new and preliminary load/save code, which has involved 
     217creating a host of new files: 
     218 - z-blockfile deals with "tar"-like blocks of data, where each block 
     219   contains a number of records 
     220 - z-smap is a serialisable map type, used to store values in the 
     221   blockfile 
     222 - compress is a quick and space-efficient compression algorithm stolen 
     223   from "liblzf". 
     224 
     225The new code is much easier to use and read, but it's not ready for use 
     226by anyone who cares about their characters yet. 
     227 
     228Other assorted changes: 
     229 * Remove a whole load of useless or unused configuration options from 
     230   config.h. 
     231 * "make -f Makefile.inc depgen" will output "Makefile.new", which then 
     232   contains up-to-date dependencies for the project. 
     233 * Add "flags" back to object_type, removing the need for the hacky 
     234   "xtra" bytes.  This paves the way for e.g. fireproofing scrolls 
     235   later. (#120) 
     236 * Makefile for MSVC/NMAKE command-line build.  Currently works with 
     237   MSVC 6+; flags could use tweaking for MSVC 8+. 
     238 * Clean up racial and class skill values into arrays.  (Kenneth Boyd) 
     239 * Use header file guards in all header files, and use a consistent 
     240   naming scheme for them ("Elly") 
     241 * Add a very basic test harness for "unit testing" of the game's code, 
     242   though this is barely used at present.  Thanks to Fennec for cleaning 
     243   this up a bit. 
     244 * Introduce the one_in_() notation to the game, for percentile dice. 
     245