| 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 | |
|---|
| | 4 | This is Angband 3.0.8, the "final" release of the Angband 3.0.7s series. |
|---|
| | 5 | Quite a number of people have been involved in this version, and thanks |
|---|
| | 6 | must be given to Hugo Kornelis, Pete Mack, Marco K and Frank Palazzolo, |
|---|
| | 7 | Christer Nyfalt, Leon Marrick, Antony Sidwell, Andrew Doull, Kenneth |
|---|
| | 8 | Boyd, Iain McFall, Kiyoshi Aman, and Brendon Oliver. |
|---|
| | 9 | |
|---|
| | 10 | Changes from 3.0.6 are now sectioned, because some people will care about |
|---|
| | 11 | low-level changes, and others won't. |
|---|
| | 12 | |
|---|
| | 13 | All gameplay options are now only alterable at birth. Be careful when |
|---|
| | 14 | importing savefiles to make sure that the AI and scumming options are as |
|---|
| | 15 | you want them for the entire game! |
|---|
| | 16 | |
|---|
| | 17 | |
|---|
| | 18 | |
|---|
| | 19 | Major 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 | |
|---|
| | 78 | Minor visible changes |
|---|
| | 79 | --------------------- |
|---|
| | 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 | |
|---|
| | 128 | Major code cleanup |
|---|
| | 129 | ------------------ |
|---|
| | 130 | |
|---|
| | 131 | Most of the cleanup has been related to removing ancient or |
|---|
| | 132 | non-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. |
|---|
| 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 | |
|---|
| | 188 | Platform |
|---|
| | 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. |
|---|