The *BETA* release of Angband 2.8.5 contains the following changes..... === Actual Changes === Incorporated various patches. Cleaned up various things. Defined and used some useful constants (stores, stats, options, etc). Added four new "blocks" of options ("birth", "cheat", "adult", "score"), where "birth" options can appear in user pref files, "birth" and "cheat" options can be changed via "Interact with options", "adult" options are copied from corresponding "birth" options at birth, and "score" options are set whenever the corresponding "cheat" options are set. Moved the "maximize", "preserve", and "auto_roller" birth-time questions into the "birth"/"adult" options, and reduced the old birth-time questions to just the sex/race/class questions, and added a new question to allow the use of the "Interact with options" command before character birth. The player may now select a random sex/race/class. Changed the old "maximize"/"preserve" flags into "adult" options. Added "point_based" birth option to enable point based character creation. Added "ironman" birth option to disable the use of stairs up and recall. Added "no_stores" birth option to disable the use of stores and the home. Added "no_artifacts" birth option to disable the creation of artifacts. Added "rand_artifacts" birth option to enable the Greg Wooledge random artifacts patch (with a few minor changes), using "init3.c" to hold the majority of the new code. You must enable a compilation option to get support for this option. Characters using this option must continue to use the same version of the random artifacts code forever. Added "auto_more" option to disable the display of messages to the main window. This option should only be used when another window is being used to display messages. This option will cause message display used for "prompting" purposes, such as that used during savefile loading, to work incorrectly. Added "smart_monsters" option to activate new monster intelligence code. Added "smart_packs" option to activate new pack monster intelligence code. Added "easy_open" option to make the open/disarm/close commands assume the "obvious" direction if one exists. Added "easy_alter" option to open doors and disarm traps on movement. Added "easy_floor" option to make interaction with floor objects cleaner. Added "show_piles" option to display piles of objects using a special attr/char. Added "center_player" option to scroll the map to center the player whenever possible, along with an updated "Map sector" prompt to show the fractional map sector information. Added "run_avoid_center" option to disable "center_player" when running. Added "scroll_target" option to allow targetting of grids not on the current panel. Added "load"/"append" commands to "interact with options" command. Unified "load user pref file" sub-commands. The player "basename" now defaults to "PLAYER" when appropriate, allowing its use during player birth for user pref file loading prompts. Removed the old "testing_stack" and "testing_carry" options (making them standard features), so now multiple objects can stack in one grid, and dying monsters will drop objects they have picked up. Use the new "score" options instead of the "noscore" cheater hack. Now the "noscore" variable is used only for marking the use of wizard mode, debug commands, borg commands, and cheating death. Display sex/race/class as it is chosen during birth. Objects held by monsters are no longer lost during savefile loading. Changed "Acquire" and "Access" in most comments to "Get". Made VERSION_EXTRA slightly more "official". The object "discount" field has been overloaded to contain information about "special inscriptions" (from object sensing), by using values above 100 for inscriptions and below 100 for discounts. Changed "50% off" discount plus an "on sale" inscription (when shopkeepers retire) to a simple "40% off" discount. Added a new "10% off" discount. Include both "normal" inscriptions and "special" inscriptions in object descriptions, if room is available. Minor tweaks to "main-gcu.c", including better color support, and support for multiple "windows". Minor tweaks to "main-emx.c". Moved rings of poison resistance to dungeon level 40 (was 60). Minor improvements to the refueling code. Ensure generation of at least one of each quest monster on quest levels. Denial of "^g" verification in stores no longer browses to the next page of objects. Earthquake can no longer leave living monsters embedded in walls. It is no longer true that "resist chaos" implies "resist confusion". However, all base objects and artifacts which provide "resist chaos" explicitly provide "resist confusion" as well. Detect doors now detects locked and jammed doors. The player's speed can no longer run off either end of extract_energy. All adverse monster conditions are shown on the health bar, and the monster health bar now changes when monster conditions change. The 'c' debug command permits the entire third column of entries to be created. Entry into debug mode is only confirmed once per character, not once per session. The "update_flow()" function uses FLOW_MAX, instead of TEMP_MAX. The player can now interrupt the special rest commands. The "chest_traps" array is no longer accessed with a negative index. The "earthquake()" function now uses ddd_ddx/ddd_ddy instead of ddx/ddy. The "cheat_know" option now saves the monster into a correctly sized chunk of memory. The "say_comment_6()" function can no longer run off the end of its array. The 'I' command displays multiple pages of info correctly. The character display now indicates sustained bonuses and immunities. Keymaps are dumped in the same format as they are read. Random teleport can no longer interrupt entering a store. The "ALLOW_TERROR" option is now disabled by the "ANGBAND_LITE" option. The debug command 'e' now allows current and maximum experience to be altered. Secret doors the player reveals are sometimes locked or jammed. The spell lists now use color, and distinguishes between spells which have not yet been learned, and which cannot yet be learned. Destroyed levels are now less common. Arrows now break less often. Rods now sort based on recharge time. Wands/Staffs now sort based on charges. Lites now sort based on fuel. The "object_desc()" function has been cleaned up, and a "safer" version can now be selected via a compilation option. The "summon_kin" monster flag has been added, and given to some monsters, to allow the summoning of monsters with the same symbol as the caster. The "summon_hi_demon" monster flag has been added, and given to some monsters, to allow the summoning of powerful daemons. A new command ("^V") has been added to repeat the last command, including the identity of spells and objects, quantities, and directions. Targetting code permits '.' to be used to select the target. The "word of recall" code has been centralized. On systems where Angband is running set-[ug]id, players may put a ".angband.prf" file in their home directory and have it read. This probably violates some security compilation options. Increase maximum number of vaults from 16 to 64. === Possible Future Changes === Don't forget to add "help" for all the new options. XXX The Borg needs to understand (or disable) the new options. XXX The Borg may get confused by the new spell listing. XXX The Borg may get confused by the new special inscription mechanism. XXX The high score file code could be cleaned up a bit, including dealing with values above a billion, and using four digit years. XXX Move auto-roller stat entry lines to top right quadrant. XXX The order of objects in piles could be preserved across savefile loading if more information was saved in the savefile, or if the order of objects in piles was used to resort the object indexes before saving. XXX Make definitions for "scan_floor" constants. XXX Consider making more special inscriptions, for example, to distinguish between "good" as in "better than average" and "good" as in "not great", and between "cursed" and "bad", for future expansion. XXX Prevent creation of char dump files with illegal chars (like spaces). XXX Make special visuals for things like various "player" types, darkness, lighting effects, object piles, etc, and put a magic attr/char in entry zero in the various arrays to help identify weird errors. Perhaps make the race/class based player pictures a special (optional) array. XXX On Unix machines, cannot just go dumping random "user pref files" into the "pref" directory, for all kinds of reasons.... XXX Clean up "relative filenames" assumption in various "dump" routines. XXX Could use better "init" (preference) file for Macintosh Angband.... XXX Make direction "0" do "target nearest monster". XXX Remove macro does not actually remove the macro. XXX Make "main-gcu.c" use initialization file for window locations. XXX Consider drawing borders between "main-gcu.c" windows. XXX Consider vault run-length-encoding patch. XXX Consider allowing disk access at dungeon generation time, and using this to load vaults (and arbitrary special rooms) from disk, so only a small amount of memory would be needed for each vault. XXX Consider writing a bunch of special rooms. XXX Consider unifying special rooms, minor vaults, and major vaults. XXX In "main-gcu.c", the "ctrl-e" command refreshes a sub-window, and leaves the cursor in the sub-window, instead of in the main window. XXX Clean up use of "object" (an object) and "item" (an object index). XXX Clean up use of "stack" (a single object) and "pile" (several objects). XXX Add "speed" to the character display (if non-normal). XXX Secret doors that monsters open should sometimes be locked or jammed. XXX The "scroll_target" option switches to location mode when entering a panel with nothing interesting, which is jarring. XXX The "scroll_target" option is buggy, including that sometimes the cursor is not displayed correctly, and sometimes the game does not recenter on the player when target is selected/aborted. XXX The "MONSTER_AI" compilation option should not affect the game semantics, only the "smart_monsters" option should do that. XXX