| 23 | | Major visible changes |
|---|
| 24 | | --------------------- |
|---|
| 25 | | |
|---|
| 26 | | - New splash screen. |
|---|
| 27 | | |
|---|
| 28 | | - The Ey/Un-style knowledge browser has been imported. You can set |
|---|
| 29 | | autoinscription settings through that browser now. |
|---|
| 30 | | |
|---|
| 31 | | - Mouse support a la FAangband added, but nowhere near as advanced or |
|---|
| 32 | | useful. Most of the menus you encounter can be selected using the |
|---|
| 33 | | mouse now, as well as using keypresses. Clicking somewhere on the |
|---|
| 34 | | map will now "walk" there, within certain constraints. It's a tad |
|---|
| 35 | | bizarre in the town, but seems to work OK otherwise. |
|---|
| 36 | | |
|---|
| 37 | | - Massive options clearout/reorganisation/redefaulting: |
|---|
| 38 | | - many options have been removed (20 or so, I think) |
|---|
| 39 | | - a large number have new default settings |
|---|
| 40 | | - new option: remaining HP changes the colour of the '@' sign. |
|---|
| 41 | | - experience to next level always displayed until clev50 |
|---|
| 42 | | - macros/visuals/colours are now accessible (only) from the options |
|---|
| 43 | | menu |
|---|
| 44 | | |
|---|
| 45 | | - Sangband-style object handling, which makes it much easier to sift |
|---|
| 46 | | through things in the dungeon. |
|---|
| 47 | | |
|---|
| 48 | | - Item squelching support. |
|---|
| 49 | | |
|---|
| 50 | | This can operate in one of two ways. If you prefer your squelchables |
|---|
| 51 | | hidden, then turn on hide_squelchable, and whenever you find an item |
|---|
| 52 | | which matches your squelch settings, it will be dropped but not |
|---|
| 53 | | destroyed. This means that you can unsquelch it by changing your |
|---|
| 54 | | settings later if you so desire. |
|---|
| 55 | | |
|---|
| 56 | | If you prefer squelch to just help automate item destruction, then |
|---|
| 57 | | you can press '!' at the "destroy" prompt to destroy all squelchables |
|---|
| 58 | | on the floor or in your inventory. |
|---|
| 59 | | |
|---|
| 60 | | You can set individual squelch settings for only those items which do |
|---|
| 61 | | not get pseudo-ID'd. For those that do, you can choose to mark things |
|---|
| 62 | | as "squelch" depending on the feeling you get when you first ID them |
|---|
| 63 | | in that way. These categories are much broader than those found in |
|---|
| 64 | | other variants; complain if necessary. |
|---|
| 65 | | |
|---|
| 66 | | Worthless items and emptied chests are automatically squelched, |
|---|
| 67 | | saving some micromanagement. All item destruction now takes 0 |
|---|
| 68 | | energy. |
|---|
| 69 | | |
|---|
| 70 | | When objects are compressed, gold and squelched items are the first |
|---|
| 71 | | to be destroyed. |
|---|
| 72 | | |
|---|
| 73 | | - Two kinds of ego-light added. You'll know when you find one; there's |
|---|
| 74 | | no ID required to figure out if your lantern is special or not. |
|---|
| 75 | | |
|---|
| 76 | | - Lights now don't use fuel in the daylight in the town. |
|---|
| 77 | | |
|---|
| 78 | | - Amnesia (the monster attack) is now a timed effect (a la confusion), |
|---|
| 79 | | and has makes you forget how to read scrolls/pray/cast spells one |
|---|
| 80 | | time in two. Fewer monsters now have the attack, too. |
|---|
| 81 | | |
|---|
| 82 | | CCW, Healing, *Healing* and Life are the only things which will get |
|---|
| 83 | | rid of amnesia early, but it goes away within a few turns. |
|---|
| 84 | | |
|---|
| 85 | | - Defined potions of life, healing, *healing*, augmentation as 'good' |
|---|
| 86 | | drops, as well as restore mana for spell casters, and stat potions, |
|---|
| 87 | | when the stat is not maximised. |
|---|
| 88 | | |
|---|
| 89 | | |
|---|
| 90 | | Minor visible changes |
|---|
| 91 | | --------------------- |
|---|
| 92 | | - Allow weapons and armour to be damaged instead of destroyed by |
|---|
| 93 | | inventory damage effects, thus making swap weapons more viable. |
|---|
| 94 | | - Browsing books now displays information about the spells therein, if |
|---|
| 95 | | requested. As part of this, move spell names/descriptions/locations |
|---|
| 96 | | out into a new file, spell.txt. (Hugo Kornelis) |
|---|
| 97 | | - Arrow keys are now distinct from the numeric movement keys, and |
|---|
| 98 | | because of this you can now edit text at prompts in game properly. |
|---|
| 99 | | Supported on Windows, Mac (untested), and curses. If you get it |
|---|
| 100 | | working for anything else, please send the patch! |
|---|
| 101 | | - Resizing the game window automatically updates its contents, on |
|---|
| 102 | | platforms which support this. |
|---|
| 103 | | - Inscribing an item with '!t' will now confirm if you try to take it |
|---|
| 104 | | off. |
|---|
| 105 | | - If a stack of rods is recharging, you'll get a message when the first |
|---|
| 106 | | rod is recharged and another message when they are all recharged. |
|---|
| 107 | | There is no message when the second, third, etc., rod is recharged. |
|---|
| 108 | | (Hugo Kornelis) |
|---|
| 109 | | - The recharge notification will now disturb you if you have set the |
|---|
| 110 | | option to be disturbed when boring things happen (disturb_minor) to |
|---|
| 111 | | yes. (Hugo Kornelis) |
|---|
| 112 | | - Add the recharging fix from V CVS -- things can now explode when you |
|---|
| 113 | | recharge them once more. |
|---|
| 114 | | - Added support for improved pluralization of object names. Allow |
|---|
| 115 | | custom plurals for words which need them (e.g. "Kni|fe|ves" and |
|---|
| 116 | | "M|ous|ic|e"). Unused at present. (Hugo Kornelis) |
|---|
| 117 | | - Bugfix: Monsters that resist one or more of acid, lightning, fire, |
|---|
| 118 | | cold, poison and water *and* resist one or more of nether, plasma, |
|---|
| 119 | | nexus and disenchantment had two "it resists ..." sentences in the |
|---|
| 120 | | monster info. (Hugo Kornelis) |
|---|
| 121 | | - Bugfix: Sustain CON was reported before Sustain DEX in self knowledge. |
|---|
| 122 | | Since DEX is reported before CON in all other situations, this is now |
|---|
| 123 | | reversed. (Hugo Kornelis) |
|---|
| 124 | | - Set wrapping width to 72 for character dumps' item information, to |
|---|
| 125 | | avoid well-behaved newsreaders messing them up. |
|---|
| 126 | | - Move back to pre-3.0.6 panel changing behaviour. |
|---|
| 127 | | - Semi-rewrite of the store code; now uses a scrolling menu with a |
|---|
| 128 | | slightly more streamlined interface. Bigscreen support in stores. |
|---|
| 129 | | Ammo is treated in more aesthetically pleasing quantities. |
|---|
| 130 | | General Store always stocks what it stocks now, and doesn't buy |
|---|
| 131 | | anything back off the player. |
|---|
| 132 | | - Remove double-rate spellcasting with the smart_monsters option. |
|---|
| 133 | | (imported from V CVS; Julian Lighton). |
|---|
| 134 | | - '[' command displays a monster list in the main terminal window. |
|---|
| 135 | | - "Enter" key brings up a little window in the middle of the screen, |
|---|
| 136 | | from which you can select what command you would like to use. This |
|---|
| 137 | | is inspired by (but not derived from) Hengband. |
|---|
| 138 | | - Prompt for overwriting savefiles. |
|---|
| 139 | | - Added echo to macro trigger entry. |
|---|
| 140 | | - Restore some pre-Ben flavour text. |
|---|
| 141 | | |
|---|
| 142 | | |
|---|
| 143 | | Major code cleanup |
|---|
| 144 | | ------------------ |
|---|
| 145 | | |
|---|
| 146 | | Most of the cleanup has been related to removing ancient or |
|---|
| 147 | | non-functional cruft. |
|---|
| 148 | | |
|---|
| 149 | | - A powerful generic menu interface has been added and used throughout |
|---|
| 150 | | the code. It reduces code duplication and makes it much much easier |
|---|
| 151 | | to create menus in various styles; e.g. scrolling or multicolumn. |
|---|
| 152 | | See ui.c. |
|---|
| 153 | | - Event handler added. (Menus can listen to each other, etc.) |
|---|
| 154 | | - Lots and lots of code duplication removed: |
|---|
| 155 | | - pref file dumping now has much less boilerplate |
|---|
| 156 | | - the status line, sidebar, and term window update code is much more |
|---|
| 157 | | streamlined. |
|---|
| 158 | | - Nuked a lot of old ports: cap, lsl, sla, xpj, ibm, dos, vcs, lfb, ami, |
|---|
| 159 | | emx, vme. |
|---|
| 160 | | - As a result of the above, makefiles considerably simplified. As many |
|---|
| 161 | | makefiles as possible use a common list of source files in |
|---|
| 162 | | "Makefile.src", which simplifies maintainance. Makefile.std has also |
|---|
| 163 | | been rewritten and contains much less cruft. |
|---|
| 164 | | - Timed player modifiers (blind, confused, etc.) are now kept in an |
|---|
| 165 | | array, rather than being seperate variables in p_ptr. This |
|---|
| 166 | | simplifies a *lot* of code, and makes it trivial to add new effects. |
|---|
| 167 | | The majority of the work was done using sed scripts. |
|---|
| 168 | | - Use a new autoconf/automake system, called OMK. |
|---|
| 169 | | - Removed Lua. |
|---|
| 170 | | - Charges for wands/staves are customisable in the lib/edit/ files. |
|---|
| 171 | | - Considerably simplify and speed up main-gcu.c. (Thanks to Christer |
|---|
| 172 | | Nyfalt.) |
|---|
| 173 | | - Removed trivial-to-hack-around or non-functional compile-time options |
|---|
| 174 | | (VERIFY_SAVEFILE, _TIMESTAMP, and _HONOR, CHECK_TIME). |
|---|
| 175 | | - Combine the various h-*.h files into a single header file; remove a |
|---|
| 176 | | lot of cruft, use C99 types when available, |
|---|
| 177 | | - Clean up file locking, move file handling functions into z-file.c, |
|---|
| 178 | | remove usleep() function, add a "portable" directory scanning |
|---|
| 179 | | interface (works on Windows and Unixes at the moment), and |
|---|
| 180 | | my_fexists(). |
|---|
| 181 | | - Use the safer string handling functions much more; the only use of |
|---|
| 182 | | the "unsafe" built-ins are in the various main-* files. |
|---|
| 183 | | - Split random name code from randart code into its own file with a bit |
|---|
| 184 | | of a rewrite. Use this code for scroll names. |
|---|
| 185 | | - Move lots of things out of defines.h to more appropriate places, like |
|---|
| 186 | | h-basic.h and config.h. |
|---|
| 187 | | - Replace various magic numbers with constants or N_ELEMENTS(). |
|---|
| 188 | | (Hallvard Furuseth) |
|---|
| 189 | | - Use C99 types where appropriate (for bools and ints). |
|---|
| 190 | | - Import Sangband's/Steamband's code to put chance of generating piles |
|---|
| 191 | | of items in object.txt. |
|---|
| 192 | | - Use tables of commands instead of a big switch, to allow doing thing |
|---|
| 193 | | like the new command menu easily without duplication. (See cmd0.c.) |
|---|
| 194 | | - Switch to new model for producing sound: instead of a TERM_XTRA_SOUND |
|---|
| 195 | | hook, we now have a simple "sound_hook" which should be set to the |
|---|
| 196 | | appropriate function to play a sound. Introduce a new modular system |
|---|
| 197 | | for sound modules for ports that use main.c (for the future, in case |
|---|
| 198 | | we want to use e.g. gstreamer). Allow sound to be toggled as an |
|---|
| 199 | | in-game option. |
|---|
| 200 | | - Remove hardcoded values for p_ptr->noscore. |
|---|
| 201 | | |
|---|
| 202 | | |
|---|
| 203 | | Platform |
|---|
| 204 | | -------- |
|---|
| 205 | | - Modernize Mac support; now works on OS X 10.3 onwards, but the old |
|---|
| 206 | | main-mac has been removed, as has the MPW makefile. (Pete Mack) |
|---|
| 207 | | - OSX font selection problem fixed. |
|---|
| 208 | | - Add console mode patch for Windows (Frank Palazzolo). This is |
|---|
| 209 | | basically playing the game in an old-school terminal window for |
|---|
| 210 | | those who like uncluttered gameplay. |
|---|
| 211 | | - main-x11 now reads window placement from x11-settings.prf. |
|---|
| 212 | | - Fixed Windows bug where you can't move one of the font files after |
|---|
| 213 | | having played a game this reboot. (Thanks to Leon Marrick.) |
|---|
| 214 | | - Add platform-specific ifdefs to readdib.c and main-ami.c. |
|---|
| 215 | | - Allow ^S without freezing the game on the console. (Hallvard |
|---|
| 216 | | Furuseth) |
|---|
| 217 | | - Mouse support on RISC OS. |
|---|
| 218 | | - Sort out licences for the various fonts distributed with the game. |
|---|
| 219 | | - Import the old DOS/IBM fonts for use in the Windows port. |
|---|
| 220 | | - Include SDL_mixer sound module, useable on any port that uses the |
|---|
| 221 | | main.c mechanism. Thanks to Brendon Oliver for the initial code |
|---|
| 222 | | for this. |
|---|
| 223 | | - GTK port is a GTK2 port, and uses pango and cairo. (Shanoah Alkire) |
|---|
| 224 | | - Added a new SDL port by Iain McFall, based on the ToME and Sang ports. |
|---|
| 225 | | Both the SDL and GTK ports are disabled by default, as neither is |
|---|
| 226 | | quite finished, though both are perfectly functional. |
|---|
| | 19 | * Transient indicators now appear on the bottom line, starting at the |
|---|
| | 20 | left of the dungeon display; things like depth and speed appear on |
|---|
| | 21 | the main sidebar. As a result of this, every timed effect is now |
|---|
| | 22 | displayed on the status bar. |
|---|