Changeset 161

Show
Ignore:
Timestamp:
06/06/07 17:51:14 (3 years ago)
Author:
takkaria
Message:

Spend the best part of the evening compiling a fairly comprehensive changelog for 3.0.8.

Files:

Legend:

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

    r71 r161  
    11Angband 3.0.8 
    2 - "knowledge menu" browser imported from Un/NPP. 
    3   "~" command now shows "lore" about monsters, objects, etc. 
    4 - True menu support added; (almost) all menus now use a generic API rather 
    5   than ad hoc event loops (aka spaghetti).  Commonly used menu layouts are scrolling 
    6   or multi-column, (other layouts aka "skins" are easy to add). All menu actions 
    7   (print, handle event, etc) are defined as "virtual functions" (callbacks) so you can 
    8   write your own row-function provider, rather than depend on fitting data into a 
    9   common data structure.  (About 1/2 the menus fit this one-off model best; the other 
    10   half are built using a handful of common data structures, like arrays of strings.) 
    11 - Event handler added. (Menus can listen to each other, etc.) 
    12 - pref files and macro files are generated with an "API" (a simple callback wrapper.) 
    13 - Mouse support added.  Menu browsing & selection can be done with either keystrokes 
    14   or the mouse. 
    15 - [TBD] Pathfind. 
    16 - Makefiles are cleaned up. Where appropriate, they include the list of object files 
    17   as a common include. Makefile.std now uses primitive "modules" to add/remove support 
    18   of various terminal interfaces. (No more uncommenting compile lines.) 
    19 - IBM/emx & Amiga/ami support removed. (If somebody would verify them, they will be 
    20   added back, with pleasure.) 
    21 - Timed player modifiers (blind, confused, etc) now are kept in an array, not separate 
    22   elements.  This makes it possible to iterate over them, or find them "unconditionally" 
    23   by table access. 
    24 - "HP changes color" option for ASCII graphics imported from NPP. 
    25 - Some options set to new defaults 
    26   (HP Changes color, flow-by-smell, flow-by-sound -- true by default) 
    27   (run-ignore-doors, run-ignore-stairs, disturb-motion -- false by default) 
    28 - Some options eliminated 
    29 - Menu API added. 
    30 - Event API added. 
     2============= 
     3 
     4This is Angband 3.0.8, the "final" release of the Angband 3.0.7s series. 
     5Quite a number of people have been involved in this version, and thanks 
     6must be given to Hugo Kornelis, Pete Mack, Marco K and Frank Palazzolo, 
     7Christer Nyfalt, Leon Marrick, Antony Sidwell, Andrew Doull, Kenneth 
     8Boyd, Iain McFall, Kiyoshi Aman, and Brendon Oliver. 
     9 
     10Changes from 3.0.6 are now sectioned, because some people will care about 
     11low-level changes, and others won't. 
     12 
     13All gameplay options are now only alterable at birth.  Be careful when 
     14importing savefiles to make sure that the AI and scumming options are as 
     15you want them for the entire game! 
     16 
     17 
     18 
     19Major visible changes 
     20--------------------- 
     21 
     22- New splash screen. 
     23 
     24- Steam Mecha class added (may be a bit hard to play right now). 
     25 
     26- The Ey/Un-style knowledge browser has been imported. 
     27 
     28- Mouse support a la FAangband added, but nowhere near as advanced or 
     29  useful.  Most of the menus you encounter can be selected using the 
     30  mouse now, as well as using keypresses.  Clicking somewhere on the 
     31  map will now "walk" there, within certain constraints.  It's a tad 
     32  bizarre in the town, but seems to work OK otherwise. 
     33 
     34- Massive options clearout/reorganisation/redefaulting: 
     35  - many options have been removed (20 or so, I think) 
     36  - a large number have new default settings 
     37  - new option: remaining HP changes the colour of the '@' sign. 
     38  - new option: always pick up things matching an item in the inventory 
     39  - experience to next level always displayed until clev50 
     40  - macros/visuals/colours are now accessible from the options menu. 
     41 
     42- Sangband-style object handling added, which makes it much easier to 
     43  sift through things in the dungeon. 
     44 
     45- Item squelching support, EyAngband-style.  Instead of being 
     46  automatically destroyed, items are instead marked with the inscription 
     47  "squelch" (if there is no already existing inscription), and all items 
     48  in your inventory and on the floor inscribed with this will be 
     49  destroyed if you press '!' at the "destroy" command. 
     50 
     51  You can set individual squelch settings for only those items which do 
     52  not get pseudo-ID'd.  For those that do, you can choose to mark things 
     53  as "squelch" depending on the feeling you get when you first ID them 
     54  in that way.  These categories are much broader than those found in 
     55  other variants; if you want a less coarse selection, give me a shout 
     56  and I'll see what I can do. 
     57 
     58  Worthless items and emptied chests are automatically inscribed with 
     59  "squelch", saving some micromanagement. 
     60 
     61- Ego-lanterns now exist, despite existence not being a predicate. 
     62  There are four brands, and you'll know when you find one; there's 
     63  no ID required to figure out if your lantern is special or not. 
     64 
     65- Lights now don't use fuel in the daylight in the town. 
     66 
     67- Amnesia (the monster attack) is now a timed effect (a la confusion), 
     68  and has a real gameplay effect, that lasts 25 turns: 
     69  - casting/praying and zapping rods has a 1 in 3 success rate 
     70  - reading scrolls, using staves and aiming wands has a 1 in 4 success 
     71    rate 
     72 
     73  Potions of Healing, *Healing* and Life are the only three things which 
     74  will get rid of amnesia early.  In the future, maybe eating mushrooms 
     75  of hallucination will cure it... 
     76 
     77 
     78Minor visible changes 
     79--------------------- 
    3180- Added echo to macro trigger entry. 
    32  
    33  
    34 Bug fixes. 
    35 - OSX font selection problem fixed. 
    36  
    37  
    38 Angband 3.0.7s3 
    39 Suggestions and (more) patches welcomed. 
    40  
    41 Another, probably mildly annoying, release of Angband "3.0.7s".  This is really 
    42 almost entirely other people's work; thanks go to Hugo Kornelis, Pete Mack, 
    43 Marco K and Frank Palazzolo.  The main gameplay difference is that wands and 
    44 staves now have sensible starting charges again. 
    45  
    46 Changes: 
    4781- Browsing books now displays information about the spells therein, if 
    4882  requested.  As part of this, move spell names/descriptions/locations 
    4983  out into a new file, spell.txt.  (Hugo Kornelis) 
     84- Arrow keys are now distinct from the numeric movement keys, and because 
     85  of this you can now edit text at prompts in game properly.  Supported 
     86  on Windows, Mac (untested), and curses.  If you get it working for 
     87  anything else, please send the patch! 
     88- Resizing the game window automatically updates its contents, on 
     89  platforms which support this. 
     90- Inscribing an item with '!t' will now confirm if you try to take it 
     91  off. 
    5092- If a stack of rods is recharging, you'll get a message when the first  
    5193  rod is recharged and another message when they are all recharged. 
     
    5597  option to be disturbed when boring things happen (disturb_minor) to  
    5698  yes.  (Hugo Kornelis) 
    57 - Add console mode patch for Windows (Frank Palazzolo).  This is  
    58   basically playing the game in an old-school terminal window for 
    59   those who like uncluttered gameplay. 
    60 - Get "./configure" working properly again (Marco K). 
    61 - Modernize Mac support; now works on OS X 10.3 onwards, but the old  
    62   main-mac has been removed, as has the MPW makefile.  (Pete Mack) 
     99- Add the recharging fix from V CVS -- things can now explode when you 
     100  recharge them once more. 
    63101- Added support for improved pluralization of object names.  Allow 
    64102  custom plurals for words which need them (e.g. "Kni|fe|ves" and 
     
    71109  Since DEX is reported before CON in all other situations, this is now 
    72110  reversed.  (Hugo Kornelis) 
     111- Set wrapping width to 72 for character dumps' item information, to 
     112  avoid well-behaved newsreaders messing them up. 
     113- Move back to pre-3.0.6 panel changing behaviour. 
     114- Semi-rewrite of the store code; now uses a scrolling menu with a 
     115  slightly more streamlined interface.  Bigscreen support in stores. 
     116  Ammo is treated in more aesthetically pleasing quantities. 
     117  General Store always stocks what it stocks now. 
     118- Remove double-rate spellcasting with the smart_monsters option. 
     119  (imported from V CVS; Julian Lighton). 
     120- '[' command displays a monster list in the main terminal window. 
     121- "Enter" key brings up a little window in the middle of the screen, 
     122  from which you can select what command you would like to use.  This 
     123  is inspired by (but not derived from) Hengband. 
     124- Prompt for overwriting savefiles. 
     125- Restore some pre-Ben flavour text. 
     126 
     127 
     128Major code cleanup 
     129------------------ 
     130 
     131Most of the cleanup has been related to removing ancient or 
     132non-functional cruft. 
     133 
     134- A powerful generic menu interface has been added and used throughout 
     135  the code.  It reduces code duplication and makes it much much easier 
     136  to create menus in various styles; e.g. scrolling or multicolumn. 
     137  See ui.c. 
     138- Event handler added. (Menus can listen to each other, etc.) 
     139- Lots and lots of code duplication removed: 
     140  - pref file dumping now has much less boilerplate 
     141  - the status line, sidebar, and term window update code is much more 
     142    streamlined. 
     143- Nuked a lot of old ports: cap, lsl, sla, xpj, ibm, dos, vcs, lfb, ami, 
     144  emx, vme. 
     145- Added a new SDL port by Iain McFall, based on the ToME and Sang ports. 
     146- As a result of the above, makefiles considerably simplified.  As many 
     147  makefiles as possible use a common list of source files in 
     148  "Makefile.src", which simplifies maintainance.  Makefile.std has also 
     149  been rewritten and contains much less cruft. 
     150- Timed player modifiers (blind, confused, etc.) are now kept in an 
     151  array, rather than being seperate variables in p_ptr.  This simplifies 
     152  a *lot* of code, and makes it trivial to add new effects.  The majority 
     153  of the work was done using sed scripts. 
     154- Use a new autoconf/automake system, called OMK. 
    73155- Removed Lua. 
    74 - Arrow keys are now distinct from the numeric movement keys, and because 
    75   of this you can now edit text at prompts in game properly.  Supported 
    76   on Windows, Mac (untested), and main-gcu.c.  If you get it working for 
    77   anything else, please tell me so I can update the patch. 
    78156- Charges for wands/staves are customisable in the lib/edit/ files. 
    79 - Autosquelch support.  (Taken originally from NPP, but heavily 
    80   cleaned up.) 
    81157- Considerably simplify and speed up main-gcu.c.  (Thanks to Christer 
    82158  Nyfalt.) 
    83 - Various code cleanups (including removing VMS support, cleaning up 
    84   file handling, and fixing memory leaks). 
     159- Removed trivial-to-hack-around or non-functional compile-time options 
     160  (VERIFY_SAVEFILE, _TIMESTAMP, and _HONOR, CHECK_TIME). 
     161- Combine the various h-*.h files into a single header file; remove a 
     162  lot of cruft, use C99 types when available,  
     163- Clean up file locking, move file handling functions into z-file.c, 
     164  remove usleep() function, add a "portable" directory scanning interface 
     165  (works on Windows and Unixes at the moment), and my_fexists(). 
     166- Use the safer string handling functions much more; the only use of 
     167  the "unsafe" built-ins are in the various main-* files. 
     168- Split random name code from randart code into its own file with a bit 
     169  of a rewrite.  Use this code for scroll names. 
     170- Move lots of things out of defines.h to more appropriate places, like 
     171  h-basic.h and config.h. 
     172- Replace various magic numbers with constants or N_ELEMENTS(). 
     173  (Hallvard Furuseth) 
     174- Use C99 types where appropriate (for bools and ints). 
     175- Import Sangband's/Steamband's code to put chance of generating piles 
     176  of items in object.txt. 
     177- Use tables of commands instead of a big switch, to allow doing thing 
     178  like the new command menu easily without duplication.  (See cmd0.c.) 
     179- Switch to new model for producing sound: instead of a TERM_XTRA_SOUND 
     180  hook, we now have a simple "sound_hook" which should be set to the 
     181  appropriate function to play a sound.  Introduce a new modular system 
     182  for sound modules for ports that use main.c (for the future, in case 
     183  we want to use e.g. gstreamer).  Allow sound to be toggled as an 
     184  in-game option. 
     185- Remove hardcoded values for p_ptr->noscore. 
     186 
     187 
     188Platform 
     189-------- 
     190- Modernize Mac support; now works on OS X 10.3 onwards, but the old  
     191  main-mac has been removed, as has the MPW makefile.  (Pete Mack) 
     192- OSX font selection problem fixed. 
     193- Add console mode patch for Windows (Frank Palazzolo).  This is  
     194  basically playing the game in an old-school terminal window for 
     195  those who like uncluttered gameplay. 
    85196- main-x11 now reads window placement from x11-settings.prf. 
    86197- Fixed Windows bug where you can't move one of the font files after 
    87198  having played a game this reboot.  (Thanks to Leon Marrick.) 
    88 - Resizing the game window automatically updates its contents, on 
    89   platforms which support this. 
    90 - 'next_xp' option to show experience needed for the next level, 
    91   rather than how much you have now (fixed in s2). 
    92 - Inscribing an item with '!t' will now confirm if you try to take it 
    93   off. 
    94 - Set wrapping width to 72 for character dumps' item information, to 
    95   avoid well-behaved newsreaders messing them up. 
    96199- Add platform-specific ifdefs to readdib.c and main-ami.c. 
    97 - Add the recharging fix from V CVS -- things can now explode when you 
    98   recharge them once more. 
     200- Allow ^S without freezing the game on the console.  (Hallvard Furuseth) 
     201- Mouse support on RISC OS. 
     202- Sort out licences for the various fonts distributed with the game. 
     203- Import the old DOS/IBM fonts for use in the Windows port. 
     204- Include SDL_mixer sound module, useable on any port that uses the 
     205  main.c mechanism.  Thanks to Brendon Oliver for the initial code 
     206  for this.