PWMAngband 1.1.8 is out!
Posted: Sat 26.11.2011, 18:28
Six bloody months since last release... this has been a while! And finally...
New PWMAngband 1.1.8 (aka build 1) released!
The 1.1.8 version is a milestone version... it ports many features from the Angband 3.3.x series, and even some features and fixes from the 3.4 development version. This includes new dungeon rooms and levels (caverns, labyrinths, ...), new level feelings, multiple pval system finally complete, more consistent resistances, many item tweaks, more dangerous mimics (they *really* mimic items now -- be VERY careful with innocent swords lying around in the dungeon, they may eat you!)... and many other gameplay changes. Macros no longer exist... but the new keymap system allows to enter vital customized commands that can be mapped to special keys just like before. See readme.txt for the full story, or below for the full list of changes.
Files updated: client, server, lib, source code.
Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr.
Don't forget to update both clients and servers...
Note: some basic entities have changed, so savefiles are incompatible again; please start a clean server instance with the new version
Important note: all older files have been deleted from the usual download location; please upgrade to 1.1.8 if you're still running old servers.
List of changes below (HUGE):
Gameplay changes
================
Angband 3.3.0:
- New level feelings
- Refactoring of and enhancements to cave generation code, including circular
rooms, labyrinths, and cavern levels
- Improved monster pain messages
- Moved fear, blindness, and confusion from resists to protections, and
separated damage resistance from effect resistance
- Add protection from stunning
- Remove now-incorrect hint about sound resistance
- Remove confusion as a breath attack, along with bronze monsters/DSM
- Remove confusion resistance or chaos resistance from artifacts with both, and
change confusion resistance to blindness resistance for Amulets of the Magi
- Multiple pval support (improved from the first draft in PWMAngband 1.1.7)
- Rewrite of object_power for slot-dependent price balancing, and pricing of
light radius
- Drain charges only drains as many charges as a recharge gives
- Afraid monsters now have increased spell failure chance
- General store now only buys lights, food, oil and spikes (for PWMAngband, the
General store also accept tools)
- Stat drain now repairs on level up: restore stat potions removed
- Prevent unusually high AC armour from being detected from afar
- Toned down +dam and +speed on nonweapon standarts and removed brands from
rings
- New flags for "weak" brands (x2 dice damage instead of x3)
- Paurnimmen's brand changed to x2
- Rebalanced ego DSM
- Make lurkers, mimics, and creeping coins more convincing
- Create doors, create stairs, and glyph of warding push items in adjacent
squares away
- Rebalancing of some artifacts and ego items (for PWMAngband, remove most
extra abilities added previously to buff Angband standard artifacts and ego
items -- they are obsolete after this)
- Added a few new artifacts/ego items
- Allow locking of doors with the Disarm command, improve spikes
- Monster hindrance (sleep/slow/confuse/scare) now more useful
- Make Teleport Other a bolt and make Destruction remove artifacts
- Remove percentage healing for potions, switch CLW/CSW/CCW to healing
20/40/60hp respectively
- Tone down the price of CLW
- Add a neutral gender
- Scale no_selling gold multiplier in early levels, and reduce money from
selling by 1/3rd
- Tone down flask of oil damage
- Remove random (pointless) curses on jewelry
- Poison melee damage now reduced by poison resistance
- High AC no longer grants quite such overpowered protection in melee
- Replace delay factor input as the square root of the desired time in
miliseconds with the far more intuitive "time in milliseconds"
- Add Potions of Neutralize Poison to the Alchemist shop
- Master and grand master mystics now have a second PARALYZE attack instead of
a POISON attack
- Remove IGNORE_FIRE from mithril arrows and bolts for consistency with other
mithril items
- Increase commonness of basic ammo a bit
- Decrease price of staff of Magic Mapping
- Remove ammo of Backbiting
- Add HURT_COLD/FIRE to some monsters
Angband 3.3.1:
- Rebalance to-hit vs. AC (take two)
- Ensure that PDSM can't get the Resistance ego
- Make a mimic on a pile of objects look like a pile
Angband 3.3.2:
- Allow RES_STUN on randarts
Angband 3.4 (experimental):
- Rebalance stealth and monster detection
- Revisit stacks of consumables
- Fizzix's summoning changes
- CunningGabe's improvements to pits
- CunningGabe's mimic updates
- Add NO_STUN/NO_SLEEP flag on all undead monsters (for PWMAngband, make
player ghosts resistant to stunning)
- Change alertness values so that they are saner
PWMAngband:
- Turn on power-based pricing for wearable items
- Set depth and commonness of randarts according to power
- Remove purse multiplier
- Decrease minimum value of stocked items to 10 for Black Market and 1000 for
Expensive Black Market
- Don't generate a vault if part of that vault would be generated out of bounds
- Don't make stair creation fail when generating up staircases on "force-down"
levels, but generate down staircases instead
- Rework archer spells: add two new spells (Farsight and Explosive Shots),
tweak mana cost/fail rate/experience gain of other spells
- Third evolution of dragons is called "mature" again
- Give "law" dragons immunity to cold and "chaos" dragons immunity to fire
("balance" dragons get both)
- The Temple sells prayer books again
- Library renamed to "House of Arcanes"
- Silver Dragon Scale Mails and Dracolisk Scale Mails give immunity to their
element again
- Use depth/weight/AC/to-hit/to-dam from base item for most artifacts (until
artifact.txt is reworked for Angband 3.4)
- Allow +2 extra might/shots on missile launchers
- Doubled the rarity of PWMAngband artifacts compared to standard artifacts
- Unbias teleport: try very hard to avoid teleporting back to the same spot
when teleporting twice
- Removed ATTR_MULTI from Emperor Mimic
- Player ghosts don't get a free turn anymore when floating up/down
- Forbid all artifacts from being sent to other players via telekinesis
- Change the way artifacts are logged in player history: add one entry per
artifact with the same index and the same name; add a new entry each time an
artifact is "generated", marking "lost" any active entry; only mark an artifact
as "found" the first time it is picked up
User interface
==============
Angband 3.3.0:
- Added NPP's visible path-to-target
- Major input layer refactor: remove macros, create internal keyset, provide
facility for recognizing modifier keys, improve and document the keymap editor
- Added a "pile of items" tile for all tilesets
- Added content to the SDL port's About box
- Adam Bolt tileset element mappings fixed
- Subwindows set properly when loaded from a pref file
- SDL client: handle transparency properly for 8x8 tiles
- Fix slowdown caused by map redrawing
- Fonts now listed in logical order in the SDL interface
- More consistent capitalisation of definite article
- Fix display of quiver slot when inventory is empty
- Pval descriptions no longer displayed in object name
- Add updated tiles from buzzkill and juggle5
- Add skill, race, class info to birth UI
- Artifact description revisions
- Change recalled monster spell damage to max values instead of averages
- Use <angle brackets> for pvals so that two pvals are not confused with
(+hit,+dam)
- Display tile selections in decimal
- Renamed novice monsters to apprentices, gallants, acolytes etc.
- Allow overriding of keymaps
- Added support for new keycode KC_BEGIN (keypad 5)
- Added keypad support for running and tunneling to pref.prf
- Print a message when Deep Descent cannot be completed
- Remove weird colour-setting lines from the pref files
- Show distance in target-out-of-range message
- Prevent messages about damaged items referring to post-damage values
- Add wizard mode command to show new GF_ graphics (added in Dungeon Master
command menu in PWMAngband)
- Improve (e)quipment command output, especially while naked
- Add code to describe_combat() to handle num_blows increments lesser than 0.1
- Add monster recall for NONLIVING flag
- Make projected attacks from unseen foes give messages to non-blind players
- Remove ai_sound option (make it always on)
- Prevent the 'l'ook command showing monster inventories except for Dungeon
Masters
- SDL client: ensure tile width/height are left at 1 if graphics are not
selected
- Replace impair mana with stun resistance on the character details screen
Angband 3.3.1:
- Make "purple uniques" display correctly
- Nomad's updated tiles
Angband 3.4 (experimental):
- Blubaron's improved tile support
- Added ability to save PNG screen shot on windows platform
- Make monster timed effects give messages for unseen monsters
PWMAngband:
- Don't display "(nothing)" in the inventory subwindow when carrying nothing in
the inventory
- Swap the behavior for the "g" and "," commands: "," will now bypass
auto-squelch settings
- Remove "Appraise artifacts" from Dungeon Master command menu (obsolete)
- Remap the missing entries in graf-nmd.prf
- Rework the knowledge menu (port parts from Angband 3.x)
- Rework main-screen object/monster list to display object/monster symbols
Bugs fixed
==========
Angband 3.3.0:
- Fixed ID of "bad" pvals
- Fix origin crash for no-longer-valid monster entries
- Make ego_apply_minima work properly for 0 and allow a NO_MINIMUM value
- Patch by agoodman to support 64-bit windows
- Fix ammo breakage and make breakage message more timely
- Fix noticing of brands on wield
- Level dimensions are not loaded or saved
- Fix randarts init crash
- Fix flagless pvals on creation of food, potions and flasks
- Fix monster.txt typos/inconsistencies
- Redraw stats in main screen after draining and level up
Angband 3.3.1:
- Fix saving and loading so that savefile.{old|new} are ignored
- Fix loading of graphics pref files in non-graphics mode
- Ensure that devices ID'd by use on unseen monsters provide feedback
- Prevent excessive durations of monster timed effects
- Increase MAX_ITEMLIST to cope with new ignore/squelch approach
- Save progress towards level feelings
Angband 3.3.2:
- Add lines to use ctrl and alt with main keyboard number keys
PWMAngband:
- Fix bug in base randart power calculation
- Fix bug in randart generation which was always leading to crappy randart
light sources
- Fix bug in object power calculation for missile launchers
- Fix artifact.txt entries for The Great Hammer of Aulë and The Wicker Shield
'Durin'
- Fix failed assertion when applying rating bonus for newly generated Dragon
Scale Mails
- Altering a grid containing a trap while confused should trigger "disarming"
- Fix potential crashes (monster name access) when monster.txt has "empty"
entries
- Fix Dungeon Master item generation menu: wands, staves and chests
- Fix duplicated "You have slain..." messages and display these messages in the
correct color
- Fix missing spell header in spell browsing menu
- Fix endless loop in setup_contact_socket() if socket address is already in
use
- Fix potential endless loop in sched() if for any reason the timer handler is
set to NULL while the game is still running
- Fix nasty memory overwrite error by moving num_clones into cave structure, so
it gets defined for negative depths
- Fix potential client crash when selecting an item on the floor
- Fix bug in slay cache... preventing slay combinations to be cached
- Fix neuter gender ("it" instead of "she", ...)
- Fix minimap bug (incorrect priorities)
- Fix bug that treated lost random artifacts as if preserve mode was off in all
cases
- Fix crash when a pval-based ego item was generated with zero pval (Witan
Boots of Stealth for example)
- Fix crash when trying to generate a Dungeon Master of the Shapechanger class
- Fix polymorphing into a form with one page of mimic spells from a form with
two pages of mimic spells leaving bogus entries on the second page when
browsing/casting mimic spells
- Fix bug that allowed friendly monsters to kill uniques in melee
- Fix truncated spell descriptions
- Fix artifacts appearing on the artifact knowledge screen when generated
instead of found
- Fix incoherent server socket buffer sizes
- Fix "Net output write error" messages by increasing SERVER_SEND_SIZE to 128Kb
- Fix incorrect string format in get_connp()
- Win client: fix incorrect display when using 32x32 tiles in a large window by
limiting term_data.cols and term_data.rows to 255 since they're stored in a
byte
- Dragon players should start at full health
- Fix crash when trying to inspect missiles branded with flames/frost
- Fix random crash when displaying inventory
- Fix "bell" messages being incorrectly repeated after receiving a repeated
message from the server
Coding changes
==============
Angband 3.3.0:
- Removed cptr
- Object flags now held by the object
- Windows port now uses libpng
- Unified message code
- Consolidated monster entries (and added new FRIEND flag)
- Refactored monster spells and GF_ types into tables
- Make monster haste/slow temporary status effects (MON_TMD_*)
- Boost monster saves against timed effects, and reduce duration and effect of
slow monster
- Create drops at monster creation, and add more ORIGIN_* values (for
PWMAngband, drops are created continuously while the player is wandering
through the dungeon; drops will be systematically created when object feeling
is triggered or when a monster dies)
- Implemented m_ptr->known_pflags; removed SM_* and DRS_*
- Major object edit file and description refactoring
- Introduction of object/slays.[ch] to encapsulate slay_table[]
- Refactoring of object flags and introduction of obj-flag.[ch]
- Improved handling of player state (timed effects, resists etc.)
- Check for resistance to timed effects inside inc_timed
- Support for monster and object templates (monster_base and object_base)
- Refactoring of shooting/throwing code in attack.c
- Clean-up of code commented as "hack" or "mega-hack" etc.
- Refactoring of pickup and autopickup code
- Refactor obj-make.c
- Move from o_ptr->name/name2 to o_ptr->artifact and o_ptr->ego
- Improved handling of null objects
- Remove some variably-sized arrays
- Refactor info structures
- Add support for specific monster drops (for PWMAngband, get rid of RF_NAZGUL
and make Rings of Power specific monster drops)
- Add more accessor functions to reduce dependence on #defines
- Numerous memory leaks fixed
- Nullfame's improvements to monster power evaluation
- New grid_light_level enum based on FEAT_LIGHTING_*
- New menu API that allows dynamic building of menus easily
- Tidy up defines.h and remove EGO_ indices
- Remove many of the hardcoded spell limits
- Refactor bolt/ball spell graphics
- Make recharge() function more readable
- Added circular queue implementation
- Move monster pits/nests to an edit file
- Remove old monster power hack from .raw file days
- Fix compiler signed/unsigned comparison warnings
- Remove hexchars[]
- Add documentation to option.h
- Rewrite history generation using history charts explicitely
- Remove an unnecessary quit() for when we can't find a flavour specified in a
pref file
- Get rid of the horrible PICT() macro
- Ensure that branded jewelry displays active_verb on wield
- Remove pointless pref files, combine others
- Refactor birth items
- Add buildid.c, containing access functions for version strings, so that all
parts of the game always use the same version data, and move all VERSION_*
constants to buildid.h
- Move constants where they belong
- Remove references to o_ptr->k_idx, use o_ptr->kind instead
- Make options case-sensitive in main() routine
- Refactor monster list (for PWMAngband, remove the "fast" array and process
monsters on each "allocated" dungeon level instead of globally)
- Move pval stuff into pval.c
- Adjust origin combining to cope with multiple drop types
- Refactor ego generation and id to use OFTs for extra ego powers
- Message, effect, status, and sound support for the new TMD_BOLD flag
- Use the priority field of the terrain feature rather than a hardcoded array
- Split init.c, moving the monster initialisation to monster/init.c
- Get rid of temp_[xyn], replacing them with a dynamically allocated structure
- Move more logic from cmd0.c into game-cmd.c
- Nuke ANGBAND_DIR_XTRA_HELP
- Refactor store code
- Remove now-unused BMP tiles
- Rationalise screen saving around menus
- Tidy up event handlers before exit
- Make menus either 'popup' or not, to allow choice of whether screen is saved
- First part of moving ego types to the alloc_prob system
- Small change to allow female player character images
- Refactor monster code
Angband 3.3.1:
- Replace S_IREAD and S_IWRITE by more standard defines
Angband 3.4 (experimental):
- CunningGabe's cleanup of monster code
- Change pit/nest logic regarding items
PWMAngband:
- Increase PLAY_TIMEOUT to 30 seconds
- Replace all server-side occurences of the "assert" macro by new "my_assert"
macro to ensure that, when an assertion fails, the panic save handler is called
before aborting the program
- Remove MAX_FLVR_IDX, MAX_O_IDX and MAX_M_IDX
- Always scan through the slots backwards when calling inven_item_optimize() in
a loop
- Dungeon Master menu: prevent changing "ghost" status if the character is a
Dragon
- Update PWMAngband monsters in monster.txt to attach them more closely to
monster templates
- Only display "You are too afraid to attack..." messages once per player turn
to avoid spamming
- Automatically compute art rarities for PWMAngband's artifacts
- New monster flags: HUMANOID (for corpses), HAS_LEGS (for special slowing
attacks)
- Refactor polymorphing (dragon races): remove RACE_XXX constants and add
functions to get dragon races from name templates
- Add PNG support for SDL (port from Angband 3.x)
- Ensure that confusion is always applied server-side, not client-side
- Refactor function calls: replace most "Ind" parameters by "struct player *p"
- Remove SHOW_MODS: show to-hit/to-dam systematically for weapons and any item
with non-null values
- Refactor PvP code in project_p()
Documentation changes
=====================
Angband 3.3.0:
- Update copyright info
PWMAngband:
- New setup.bat file to help generate and deploy PWMAngband more easily
- Updated help files to reflect all changes
New PWMAngband 1.1.8 (aka build 1) released!
The 1.1.8 version is a milestone version... it ports many features from the Angband 3.3.x series, and even some features and fixes from the 3.4 development version. This includes new dungeon rooms and levels (caverns, labyrinths, ...), new level feelings, multiple pval system finally complete, more consistent resistances, many item tweaks, more dangerous mimics (they *really* mimic items now -- be VERY careful with innocent swords lying around in the dungeon, they may eat you!)... and many other gameplay changes. Macros no longer exist... but the new keymap system allows to enter vital customized commands that can be mapped to special keys just like before. See readme.txt for the full story, or below for the full list of changes.
Files updated: client, server, lib, source code.
Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr.
Don't forget to update both clients and servers...
Note: some basic entities have changed, so savefiles are incompatible again; please start a clean server instance with the new version
Important note: all older files have been deleted from the usual download location; please upgrade to 1.1.8 if you're still running old servers.
List of changes below (HUGE):
Gameplay changes
================
Angband 3.3.0:
- New level feelings
- Refactoring of and enhancements to cave generation code, including circular
rooms, labyrinths, and cavern levels
- Improved monster pain messages
- Moved fear, blindness, and confusion from resists to protections, and
separated damage resistance from effect resistance
- Add protection from stunning
- Remove now-incorrect hint about sound resistance
- Remove confusion as a breath attack, along with bronze monsters/DSM
- Remove confusion resistance or chaos resistance from artifacts with both, and
change confusion resistance to blindness resistance for Amulets of the Magi
- Multiple pval support (improved from the first draft in PWMAngband 1.1.7)
- Rewrite of object_power for slot-dependent price balancing, and pricing of
light radius
- Drain charges only drains as many charges as a recharge gives
- Afraid monsters now have increased spell failure chance
- General store now only buys lights, food, oil and spikes (for PWMAngband, the
General store also accept tools)
- Stat drain now repairs on level up: restore stat potions removed
- Prevent unusually high AC armour from being detected from afar
- Toned down +dam and +speed on nonweapon standarts and removed brands from
rings
- New flags for "weak" brands (x2 dice damage instead of x3)
- Paurnimmen's brand changed to x2
- Rebalanced ego DSM
- Make lurkers, mimics, and creeping coins more convincing
- Create doors, create stairs, and glyph of warding push items in adjacent
squares away
- Rebalancing of some artifacts and ego items (for PWMAngband, remove most
extra abilities added previously to buff Angband standard artifacts and ego
items -- they are obsolete after this)
- Added a few new artifacts/ego items
- Allow locking of doors with the Disarm command, improve spikes
- Monster hindrance (sleep/slow/confuse/scare) now more useful
- Make Teleport Other a bolt and make Destruction remove artifacts
- Remove percentage healing for potions, switch CLW/CSW/CCW to healing
20/40/60hp respectively
- Tone down the price of CLW
- Add a neutral gender
- Scale no_selling gold multiplier in early levels, and reduce money from
selling by 1/3rd
- Tone down flask of oil damage
- Remove random (pointless) curses on jewelry
- Poison melee damage now reduced by poison resistance
- High AC no longer grants quite such overpowered protection in melee
- Replace delay factor input as the square root of the desired time in
miliseconds with the far more intuitive "time in milliseconds"
- Add Potions of Neutralize Poison to the Alchemist shop
- Master and grand master mystics now have a second PARALYZE attack instead of
a POISON attack
- Remove IGNORE_FIRE from mithril arrows and bolts for consistency with other
mithril items
- Increase commonness of basic ammo a bit
- Decrease price of staff of Magic Mapping
- Remove ammo of Backbiting
- Add HURT_COLD/FIRE to some monsters
Angband 3.3.1:
- Rebalance to-hit vs. AC (take two)
- Ensure that PDSM can't get the Resistance ego
- Make a mimic on a pile of objects look like a pile
Angband 3.3.2:
- Allow RES_STUN on randarts
Angband 3.4 (experimental):
- Rebalance stealth and monster detection
- Revisit stacks of consumables
- Fizzix's summoning changes
- CunningGabe's improvements to pits
- CunningGabe's mimic updates
- Add NO_STUN/NO_SLEEP flag on all undead monsters (for PWMAngband, make
player ghosts resistant to stunning)
- Change alertness values so that they are saner
PWMAngband:
- Turn on power-based pricing for wearable items
- Set depth and commonness of randarts according to power
- Remove purse multiplier
- Decrease minimum value of stocked items to 10 for Black Market and 1000 for
Expensive Black Market
- Don't generate a vault if part of that vault would be generated out of bounds
- Don't make stair creation fail when generating up staircases on "force-down"
levels, but generate down staircases instead
- Rework archer spells: add two new spells (Farsight and Explosive Shots),
tweak mana cost/fail rate/experience gain of other spells
- Third evolution of dragons is called "mature" again
- Give "law" dragons immunity to cold and "chaos" dragons immunity to fire
("balance" dragons get both)
- The Temple sells prayer books again
- Library renamed to "House of Arcanes"
- Silver Dragon Scale Mails and Dracolisk Scale Mails give immunity to their
element again
- Use depth/weight/AC/to-hit/to-dam from base item for most artifacts (until
artifact.txt is reworked for Angband 3.4)
- Allow +2 extra might/shots on missile launchers
- Doubled the rarity of PWMAngband artifacts compared to standard artifacts
- Unbias teleport: try very hard to avoid teleporting back to the same spot
when teleporting twice
- Removed ATTR_MULTI from Emperor Mimic
- Player ghosts don't get a free turn anymore when floating up/down
- Forbid all artifacts from being sent to other players via telekinesis
- Change the way artifacts are logged in player history: add one entry per
artifact with the same index and the same name; add a new entry each time an
artifact is "generated", marking "lost" any active entry; only mark an artifact
as "found" the first time it is picked up
User interface
==============
Angband 3.3.0:
- Added NPP's visible path-to-target
- Major input layer refactor: remove macros, create internal keyset, provide
facility for recognizing modifier keys, improve and document the keymap editor
- Added a "pile of items" tile for all tilesets
- Added content to the SDL port's About box
- Adam Bolt tileset element mappings fixed
- Subwindows set properly when loaded from a pref file
- SDL client: handle transparency properly for 8x8 tiles
- Fix slowdown caused by map redrawing
- Fonts now listed in logical order in the SDL interface
- More consistent capitalisation of definite article
- Fix display of quiver slot when inventory is empty
- Pval descriptions no longer displayed in object name
- Add updated tiles from buzzkill and juggle5
- Add skill, race, class info to birth UI
- Artifact description revisions
- Change recalled monster spell damage to max values instead of averages
- Use <angle brackets> for pvals so that two pvals are not confused with
(+hit,+dam)
- Display tile selections in decimal
- Renamed novice monsters to apprentices, gallants, acolytes etc.
- Allow overriding of keymaps
- Added support for new keycode KC_BEGIN (keypad 5)
- Added keypad support for running and tunneling to pref.prf
- Print a message when Deep Descent cannot be completed
- Remove weird colour-setting lines from the pref files
- Show distance in target-out-of-range message
- Prevent messages about damaged items referring to post-damage values
- Add wizard mode command to show new GF_ graphics (added in Dungeon Master
command menu in PWMAngband)
- Improve (e)quipment command output, especially while naked
- Add code to describe_combat() to handle num_blows increments lesser than 0.1
- Add monster recall for NONLIVING flag
- Make projected attacks from unseen foes give messages to non-blind players
- Remove ai_sound option (make it always on)
- Prevent the 'l'ook command showing monster inventories except for Dungeon
Masters
- SDL client: ensure tile width/height are left at 1 if graphics are not
selected
- Replace impair mana with stun resistance on the character details screen
Angband 3.3.1:
- Make "purple uniques" display correctly
- Nomad's updated tiles
Angband 3.4 (experimental):
- Blubaron's improved tile support
- Added ability to save PNG screen shot on windows platform
- Make monster timed effects give messages for unseen monsters
PWMAngband:
- Don't display "(nothing)" in the inventory subwindow when carrying nothing in
the inventory
- Swap the behavior for the "g" and "," commands: "," will now bypass
auto-squelch settings
- Remove "Appraise artifacts" from Dungeon Master command menu (obsolete)
- Remap the missing entries in graf-nmd.prf
- Rework the knowledge menu (port parts from Angband 3.x)
- Rework main-screen object/monster list to display object/monster symbols
Bugs fixed
==========
Angband 3.3.0:
- Fixed ID of "bad" pvals
- Fix origin crash for no-longer-valid monster entries
- Make ego_apply_minima work properly for 0 and allow a NO_MINIMUM value
- Patch by agoodman to support 64-bit windows
- Fix ammo breakage and make breakage message more timely
- Fix noticing of brands on wield
- Level dimensions are not loaded or saved
- Fix randarts init crash
- Fix flagless pvals on creation of food, potions and flasks
- Fix monster.txt typos/inconsistencies
- Redraw stats in main screen after draining and level up
Angband 3.3.1:
- Fix saving and loading so that savefile.{old|new} are ignored
- Fix loading of graphics pref files in non-graphics mode
- Ensure that devices ID'd by use on unseen monsters provide feedback
- Prevent excessive durations of monster timed effects
- Increase MAX_ITEMLIST to cope with new ignore/squelch approach
- Save progress towards level feelings
Angband 3.3.2:
- Add lines to use ctrl and alt with main keyboard number keys
PWMAngband:
- Fix bug in base randart power calculation
- Fix bug in randart generation which was always leading to crappy randart
light sources
- Fix bug in object power calculation for missile launchers
- Fix artifact.txt entries for The Great Hammer of Aulë and The Wicker Shield
'Durin'
- Fix failed assertion when applying rating bonus for newly generated Dragon
Scale Mails
- Altering a grid containing a trap while confused should trigger "disarming"
- Fix potential crashes (monster name access) when monster.txt has "empty"
entries
- Fix Dungeon Master item generation menu: wands, staves and chests
- Fix duplicated "You have slain..." messages and display these messages in the
correct color
- Fix missing spell header in spell browsing menu
- Fix endless loop in setup_contact_socket() if socket address is already in
use
- Fix potential endless loop in sched() if for any reason the timer handler is
set to NULL while the game is still running
- Fix nasty memory overwrite error by moving num_clones into cave structure, so
it gets defined for negative depths
- Fix potential client crash when selecting an item on the floor
- Fix bug in slay cache... preventing slay combinations to be cached
- Fix neuter gender ("it" instead of "she", ...)
- Fix minimap bug (incorrect priorities)
- Fix bug that treated lost random artifacts as if preserve mode was off in all
cases
- Fix crash when a pval-based ego item was generated with zero pval (Witan
Boots of Stealth for example)
- Fix crash when trying to generate a Dungeon Master of the Shapechanger class
- Fix polymorphing into a form with one page of mimic spells from a form with
two pages of mimic spells leaving bogus entries on the second page when
browsing/casting mimic spells
- Fix bug that allowed friendly monsters to kill uniques in melee
- Fix truncated spell descriptions
- Fix artifacts appearing on the artifact knowledge screen when generated
instead of found
- Fix incoherent server socket buffer sizes
- Fix "Net output write error" messages by increasing SERVER_SEND_SIZE to 128Kb
- Fix incorrect string format in get_connp()
- Win client: fix incorrect display when using 32x32 tiles in a large window by
limiting term_data.cols and term_data.rows to 255 since they're stored in a
byte
- Dragon players should start at full health
- Fix crash when trying to inspect missiles branded with flames/frost
- Fix random crash when displaying inventory
- Fix "bell" messages being incorrectly repeated after receiving a repeated
message from the server
Coding changes
==============
Angband 3.3.0:
- Removed cptr
- Object flags now held by the object
- Windows port now uses libpng
- Unified message code
- Consolidated monster entries (and added new FRIEND flag)
- Refactored monster spells and GF_ types into tables
- Make monster haste/slow temporary status effects (MON_TMD_*)
- Boost monster saves against timed effects, and reduce duration and effect of
slow monster
- Create drops at monster creation, and add more ORIGIN_* values (for
PWMAngband, drops are created continuously while the player is wandering
through the dungeon; drops will be systematically created when object feeling
is triggered or when a monster dies)
- Implemented m_ptr->known_pflags; removed SM_* and DRS_*
- Major object edit file and description refactoring
- Introduction of object/slays.[ch] to encapsulate slay_table[]
- Refactoring of object flags and introduction of obj-flag.[ch]
- Improved handling of player state (timed effects, resists etc.)
- Check for resistance to timed effects inside inc_timed
- Support for monster and object templates (monster_base and object_base)
- Refactoring of shooting/throwing code in attack.c
- Clean-up of code commented as "hack" or "mega-hack" etc.
- Refactoring of pickup and autopickup code
- Refactor obj-make.c
- Move from o_ptr->name/name2 to o_ptr->artifact and o_ptr->ego
- Improved handling of null objects
- Remove some variably-sized arrays
- Refactor info structures
- Add support for specific monster drops (for PWMAngband, get rid of RF_NAZGUL
and make Rings of Power specific monster drops)
- Add more accessor functions to reduce dependence on #defines
- Numerous memory leaks fixed
- Nullfame's improvements to monster power evaluation
- New grid_light_level enum based on FEAT_LIGHTING_*
- New menu API that allows dynamic building of menus easily
- Tidy up defines.h and remove EGO_ indices
- Remove many of the hardcoded spell limits
- Refactor bolt/ball spell graphics
- Make recharge() function more readable
- Added circular queue implementation
- Move monster pits/nests to an edit file
- Remove old monster power hack from .raw file days
- Fix compiler signed/unsigned comparison warnings
- Remove hexchars[]
- Add documentation to option.h
- Rewrite history generation using history charts explicitely
- Remove an unnecessary quit() for when we can't find a flavour specified in a
pref file
- Get rid of the horrible PICT() macro
- Ensure that branded jewelry displays active_verb on wield
- Remove pointless pref files, combine others
- Refactor birth items
- Add buildid.c, containing access functions for version strings, so that all
parts of the game always use the same version data, and move all VERSION_*
constants to buildid.h
- Move constants where they belong
- Remove references to o_ptr->k_idx, use o_ptr->kind instead
- Make options case-sensitive in main() routine
- Refactor monster list (for PWMAngband, remove the "fast" array and process
monsters on each "allocated" dungeon level instead of globally)
- Move pval stuff into pval.c
- Adjust origin combining to cope with multiple drop types
- Refactor ego generation and id to use OFTs for extra ego powers
- Message, effect, status, and sound support for the new TMD_BOLD flag
- Use the priority field of the terrain feature rather than a hardcoded array
- Split init.c, moving the monster initialisation to monster/init.c
- Get rid of temp_[xyn], replacing them with a dynamically allocated structure
- Move more logic from cmd0.c into game-cmd.c
- Nuke ANGBAND_DIR_XTRA_HELP
- Refactor store code
- Remove now-unused BMP tiles
- Rationalise screen saving around menus
- Tidy up event handlers before exit
- Make menus either 'popup' or not, to allow choice of whether screen is saved
- First part of moving ego types to the alloc_prob system
- Small change to allow female player character images
- Refactor monster code
Angband 3.3.1:
- Replace S_IREAD and S_IWRITE by more standard defines
Angband 3.4 (experimental):
- CunningGabe's cleanup of monster code
- Change pit/nest logic regarding items
PWMAngband:
- Increase PLAY_TIMEOUT to 30 seconds
- Replace all server-side occurences of the "assert" macro by new "my_assert"
macro to ensure that, when an assertion fails, the panic save handler is called
before aborting the program
- Remove MAX_FLVR_IDX, MAX_O_IDX and MAX_M_IDX
- Always scan through the slots backwards when calling inven_item_optimize() in
a loop
- Dungeon Master menu: prevent changing "ghost" status if the character is a
Dragon
- Update PWMAngband monsters in monster.txt to attach them more closely to
monster templates
- Only display "You are too afraid to attack..." messages once per player turn
to avoid spamming
- Automatically compute art rarities for PWMAngband's artifacts
- New monster flags: HUMANOID (for corpses), HAS_LEGS (for special slowing
attacks)
- Refactor polymorphing (dragon races): remove RACE_XXX constants and add
functions to get dragon races from name templates
- Add PNG support for SDL (port from Angband 3.x)
- Ensure that confusion is always applied server-side, not client-side
- Refactor function calls: replace most "Ind" parameters by "struct player *p"
- Remove SHOW_MODS: show to-hit/to-dam systematically for weapons and any item
with non-null values
- Refactor PvP code in project_p()
Documentation changes
=====================
Angband 3.3.0:
- Update copyright info
PWMAngband:
- New setup.bat file to help generate and deploy PWMAngband more easily
- Updated help files to reflect all changes