Beta 0026
---------
-Class/structure updates
-Cast Spell On Condition Mod: Fixed wrong target text in the contingency info screen
-Expanded Triggers: Fixed certain 0x0XXX triggers like Heard() not working correctly
-Poison Resistance Mod: Added temporary workaround for invalid nParam2 messages caused by BG2Fixpack, until BG2Fixpack is updated
-Remove all race-class restrictions: Disabled dwarven paladins because dwarves do not meet the charisma requirement to be paladins, which caused an infinite loop
-Saving Throw Fix: Fixed a bug where abilities with multiple effects with the save type would only allow a saving throw against the first effect (fixes issues such as saving against an effect but still showing the portrait icon or visual effect)
-Use EFF File Fix: Fixed a bug where the parent effect parameters were used to determine whether the child effect was applied or not (fixes issues such as not getting experience for items that instantly kill undead)

Beta 0025
---------
-Class/structure updates
-User Patches: No longer spouts an error when the ./TobEx_ini/patch directory is non-existent or empty
-Added: Clone Creature Fix
-Added: Externalise Bard Song Effects
-Added: Externalise Difficulty Settings
-Added: Launcher Proficiency Fix
-Added: Poison Resistance Mod
-Added: Saving Throw Fix
-Added: TakePartyItem Fix
-Renamed: Disable Duplicate Effect Stacking -> Configurable Effect Stacking
-Configurable Damage Effect Bypasses Mirror Images: Fixed implementation as per the reference; bit 24 of the effect save type field is used rather than the parent item ability flag of spell flag; this flag is thus different from tob_hacks and Spell Revisions
-Disable Duplicate Effect Stacking: Fixed issue with timing mode 10, where Bard Song would continue for a prolonged period of time
-Expanded Actions: Assign() now recognises special type sp[], which currently allows putting the source's coordinates into trigger block variables
-Expanded Actions: Eval() expressions now recognise and(), or(), band(), and bor() functions
-Expanded Stats: Fixed bitwise AND and bitwise OR types for Set Stat [318] effect
-Expanded Triggers: Added 0x411F CheckStatBAND()
-Expanded Triggers: Assign() now recognises special type sp[], which currently allows putting the source's coordinates into trigger block variables
-Expanded Triggers: Eval() expressions now recognise and(), or(), band(), and bor() functions
-Item Recharge Mod: Fixed bugs where stackable items with 0 quantity in store files were valued at 1 gold, did not register a quantity when bought, and did not stack properly when bought

Beta 0024
---------
-Class/structure updates
-Some changes to internal code
-Added: AttackOnce Action Fix
-Added: Attacks Are All Genuine
-Added: ChangeAnimation Action Fix
-Added: Expanded LUA Console
-Added: Optimise Variables Code
-Added: Polymorph Fix
-Added: Use EFF File Fix
-Modified and Renamed: Item Recharge in Bag Fix->Item Recharge Mod
-Awaken On Damage: Fixed a bug where creatures hit unconscious by FIST/STUNNING damage would still be a target and would recover consciousness in the same around
-Expanded Actions: Added actions 356-358 allowing for script variable substitution
-Expanded Triggers: Added triggers 0x411A-0x411E allowing for script variable substitution
-Expanded Triggers: Internal script compiler (for dialogues) now recognises more trigger parameter combinations for new triggers in the future

Beta 0023
---------
-Class/structure updates
-Added feature to apply custom user patches in the ./TobEx_ini/patch directory, see template.patch in that directory
-Improved installation text compatibility with Linux systems
-Improved stability of hex patching code
-Added: Castilian translation (by Lisandro)
-Added: Charisma Mod Fix
-Added: Constitution Mod Fix
-Added: Enable Auto-Pause On All Screens
-Added: Fake Talk Exploit Fix
-Added: Fatigue Mod Fix
-Added: Find Traps Mod Fix
-Added: Intelligence Mod Fix
-Added: Intoxication Mod Fix
-Added: Item Recharge in Bag Fix
-Added: JoinParty Action Class Ability Refresh Fix
-Added: Level Mod Fix
-Added: Lore Mod Fix
-Added: Morale Break Mod Fix
-Added: Move Areas Fix
-Added: Open Locks Mod Fix
-Added: Pick Pockets Mod Fix
-Added: Reputation Mod Fix
-Added: Spell Turning Fix
-Added: Spell Turning Animation Fix
-Added: Stealth Mod Fix
-Added: Strength Extra Mod Fix
-Added: Summon Limit Fix
-Added: Tracking Mod Fix
-Added: Wisdom Mod Fix
-Updated: French translation
-Updated: Russian translation
-Damage Fix: Additionally fixes a memory leak bug when fist damage would make the target unconscious
-Dexterity Mod: Added information to reference that this hack also fixes incorrect wrapping of attribute values
-Dispel Formula Fix: Re-implemented the hack, now overrides tob_hacks and other mods
-Save Vs <> Mod: Added information to reference that these hacks also fix incorrect wrapping of save values
-Enable PickpocketFailed Trigger: Re-implemented the hack, old hack has been renamed (see below), now sends PickPocketFailed() in addition to the original AttackedBy() trigger, moved to core hacks, now overrides tob_hacks
-Externalise Item-Creature Exclusions: Re-implemented the hack to closer reflect the GemRB implementation
-PickpocketFailed Trigger Only: Renamed from the previous tweak hack Enabled PickpocketFailed Trigger
-Enlarge Tooltip Scroll: Fixed the DDERR_INVALIDRECT issue in software renderer causing the tooltip to get stuck on the screen, re-enabled by default
-Remain Hidden On Pickpocket Success: Re-implemented the hack, re-classified the hack as of type Action, now overrides tob_hacks
-Scrollable Mage Spellbook: Fixed a bug in calculating the maximum scroll bar position
-Scrollable Priest Spellbook: Fixed a bug in calculating the maximum scroll bar position
-Strength Mod: Added information to reference that this hack also fixes incorrect wrapping of attribute values
-Subtitles For Standard Soundsets: Fixed a typo in the FEMALE3 soundset subtitles

Beta 0022
---------
-Assertion updates
-Class/structure updates
-Upgraded to use the Detours Express 3.0 library, removing need for detoured.dll
-Added: Externalise Mage Spells Cap
-Updated: Italian translation (by Salk)
-Updated: Simplified and Traditional Chinese translations (by Hindo's Doom)
-Blindness As Spell Description: Fixed a typo that prevented this hack from working
-Blindness As Spell Description: Should now overwrite the Blindness Fix hack as intended
-Contingency Detects Select Spell: Fixed memorised spells in lowercase not displaying correctly
-Disease Fix: Fixed a bug where a creature slowed on death remained alive and untargettable
-Kit Trigger Fix: Fixed breaking of vanilla behaviour when Kit(*, 0) was specifically used to detect Barbarian and Wild Mage kits
-Log Assertion Failures: Missing spell icons for spells in the spell selection screen correctly display an assertion failure
-Log Missing Resources: Fixed an issue that prevented this hack from working
-Optimise Bag Search Code: (?) Hopefully now fixed occasional client-side crash when accessing bags or stores
-Poison Fix: Fixed a bug where a creature poisoned on death remained alive and untargettable

Beta 0021
---------
-Included French translation (by Isaya)
-Included Italian translation (by ilot)
-Included Simplified and Traditional Chinese translations (by Hindo's Doom)
-Added: Casting Fixes
-Fixed: Crash-to-desktop on startup if installed after Fishing for Trouble (due to clash in externalise race strref component)
-Fixed: Damage hit sounds not playing
-Fixed: EasyTutu displayed no journal entries
-Fixed: Damage opcode set value not working properly (such as in the Harm spell item)
-Fixed: Machine of Lum the Mad dialogue would not work properly
-Fixed: Magic damage resistance was broken
-Removed: Correct Experience Reporting
-Removed: Instantly Set Dialogue Variables
-Disable Experience Boost: Merged with hack that corrects experience reporting in dialogue bar
-Disintegrate Fix: Fixed a bug where IDS targetting was ignored
-Expanded Actions: Added DialogueSetGlobal(), DialogueIncrementGlobal(), DialogueSG()
-Expanded Stats: Fixed loss of character animations on network players on saving multiplayer game
-Expanded Stats: Fixed network communication of new stats
-Externalise Mage Spell Hiding: Fixed a bug where Lightning (SPWI938) was selectable in Sorceror level-up mage spell selection (added SPWI927-949 to HIDESPL.2DA to preserve vanilla behaviour)
-Magic Resistance Mod Fix: Swapped implementation of parameter 2 values 0 and 3 to preserve vanilla behaviour
-Optimise Bag Search Code: (?) Fixed occasional client-side crash when accessing bags or stores
-Poison Fix: Fixed a typo that caused crashes with effect opcode #41 (Sparkle) and prevented this hack from working
-Scrollable Chargen Mage Spell Selection: Fixed intermittent bugs with scroll bars not scrolling when there were spells that could fit onto one page
-Scrollable Level Up Mage Spell Selection: Fixed intermittent bugs with scroll bars not scrolling when there were spells that could fit onto one page
-Strength Mod: Removed all changes to Cumulative Modifier (param1 = 0), correcting issues with equipped items not keeping strength bonus on loading a game, and issues with strength incrementation with items such as the Manual of Gainful Exercise, Evil Tear of Bhaal, and Blackrazor
-Strength Mod: Strength Spell (param1 = 3) now increments Strength through 18/XX based on differences detected in STRMODEX.2DA
-Subtitles For Standard Soundsets: Fixed a typo in the FEMALE3 soundset subtitles
-Use Caster Level On Mirror Image: Fixed a typo that prevented this hack from working

Beta 0020
---------
-Assertion updates
-Class/structure updates
-Included modder reference
-Included Russian translation (by Silent)
-Revised readmes
-Added: Ability-specific Use Item Animations
-Added: Button Effects Mod
-Added: Configurable Items Cannot Target Invisible
-Added: Configurable Spells Can Be Unvoiced
-Added: Container Use EFF File Fix
-Added: Contingency Detects Select Spell
-Added: Disable End On Player1 Dead
-Added: Drop Inventory on Disintegrate
-Added: Drop Inventory on Frozen Death
-Added: Drop Inventory on Stone Death
-Added: Enable Arenas Game Type
-Added: Expanded Actions
-Added: Instantly Set Dialogue Variables
-Added: Log Network Errors
-Added: Luck Mod
-Added: Optimise Bag Search Code
-Added: Proficiency Modifier Mod
-Added: Save Vs Breath Mod
-Added: Save Vs Death Mod
-Added: Save Vs Poly Mod
-Added: Save Vs Spell Mod
-Added: Save Vs Wands Mod
-Added: VVC Shadow Animation Fix
-Removed: Brighten On Disable Brightest No3d Fix
-Renamed: Extend Cut Scene 2 -> Cut Scene 2 Mod
-Renamed: IWD Style Cat's Grace Dexterity Mod -> Dexterity Mod
-Renamed: IWD Style Mage Spell Slots Mod -> Mage Spell Slots Mod
-Renamed: IWD Style Priest Spell Slots Mod -> Priest Spell Slots Mod
-Renamed: IWD Style Strength Mod -> Strength Mod
-Attacks Per Round Mod Fix: Corrected the use of incorrect base value for percentage type
-Configurable Backstab Restrictions: Fixed a bug where non-barbarians with immunity to backstab could still get backstabbed
-Expanded Stats: Added a number of effect-associated hard-coded non-modifiable stats (opcodes 308-331)
-Expanded Stats: Added damage-type specific percentage modifier stats (opcodes 387-399)
-Expanded Triggers: Added triggers 0x4101-0x4119
-Externalise Mage Spell Hiding: Modified the column label in HIDESPL.2DA to prevent confusion
-Level One Proficiency Restrictions: Fixed some consistency issues
-IWD Style Strength Mod: Corrected the use of incorrect base value for percentage type
-IWD Style Strength Mod: Fixed a bug where this hack was never enabled
-IWD Style Cats Grace Dexterity Mod: Corrected the use of incorrect base value for percentage type
-Magic Resistance Mod Fix: Added instantaneous sum type
-Repeating Effect Fix: Fixed a bug where the effect would not work properly on permanent timings

Beta 0019
---------
-Assertion updates
-Class/structure updates
-Added: Expanded Triggers
-Attacks Per Round Mod Fix: Moved invalid number of attacks console message to verbose logging
-Configurable Critical Hit Aversion: Fixed a typo that prevented this hack from being activated ("Critial")
-Expanded Stats: Shifted stats to 300 and above for GemRB compatibility
-Enable PickpocketFailed Trigger: Fixed a typo that prevented this hack from being activated ("Tweak:")
-Scrollable Level Up Mage Spell Selection: Prevented assertion failed crash if TobEx-modified GUIREC.CHU is overwritten by a modification
-Scrollable Mage Spellbook: Fixed a bug where the maximum scroll bar position was calculated incorrectly
-Scrollable Priest Spellbook: Fixed a bug where the maximum scroll bar position was calculated incorrectly

Beta 0018
---------
-Overhauled installation process: TobEx can now be included in mods in a redistributable format. Please see readme.txt for more details.
-Overhauled tweaks: These are in the Extras group for optional installation
-Assertion updates
-Class/structure updates
-Added: Allow Zero Starting Experience
-Added: Custom Shadows of Amn Starting Experience
-Added: Custom Throne of Bhaal Starting Experience
-Added: Enable More Paperdolls
-Added: Weapon Specialisation Number of Attacks Mod
-Disabled By Default: Enlarge Tooltip Scroll (this is due to a graphical bug that is yet to be fixed)
-Disabled By Default: Disable Duplicate Effect Stacking (this causes bard songs to last forever)
-Enabled: Learn Spell Mod
-Renamed: Apply Casting Level Bonus -> Casting Level Mod Fix
-Renamed: Custom Contingency Trigger Check Delay -> Cast Spell On Condition Mod
-Added some colouring to the console messages
-Added some programming readme information (found with the source code archive)
-Added version information to TobEx.dll, which is also displayed on the console at startup
-Fixed a typo that caused incorrect damage scaling via difficulty multiplier when any of Damage Fix, Apply Concentration Check On Damage, or No Spell Interruption On Zero Damage were activated
-Fixed a crash when damage is done when none of Damage Fix, Apply Concentration Check On Damage, and No Spell Interruption On Zero Damage were activated
-Allow 99 Priest Known Spells Per Level: Removed external resource changes
-Blindness Fix: Split into Blindness Fix and Blindness As Per Spell Description
-Configurable Spells Can Target Invisible: Removed external resource changes
-Correct Experience Gain: Split into Correct Experience Reporting, and Disable Experience Boost
-Customisable Critical Hit Aversion: Removed external resource changes
-Expanded Stats: Added stat 300 WEIGHTALLOWANCEMOD
-Externalise Animation Walking Sounds: Fixed a bug where the 0xE*** animations still used vanilla walking sound code
-Externalise Class-Race Restrictions: Fixed a bug where players could select a true class mage using the Enter hotkey even if not allowed by MGSRCREQ.2DA
-Externalise Race Selection StrRef: Fixed a bug where basilisk, bear, fairy, mist, mimic, and giant races could display nonsense text in the record screen
-Soundset Subtitles: Removed external resource changes
-Use Animation Percentages for Throwing Weapons: Fixed a bug with non-ammo ranged weapons causing crashes/warnings
-Updated TobEx_ini.txt with compatibility information for tob_hacks version 0.6
-Updated readme files

Beta 0017
---------
-Assertion updates
-Class/structure updates
(-Added: Learn Spell Mod) - this hack is WIP and cannot be enabled
-Added: Non-Ammo Launcher Damage Fix
-Expanded Stats: Fixed incorrect logging of a problem that occurred when this hack was disabled
-Externalise Encumbrance Restrictions: Prevented divide by zero crashes
-Configurable Spells Can Target Invisible: Fixed incorrect TobEx.ini detection that prevented this hack from being enabled
-Log Assertion Errors/Log Assertion Warnings: Started compiling some more informative messages for assertions with uninformative expressions

Beta 0016
---------
-Class/structure updates
-Added: AddKit Actions Fix
-Added: Apply Concentration Check On Damage
-Added: Cleric-Ranger HLA Fix
-Added: Configurable Spells Can Target Invisible
-Added: Damage Fix
-Added: Externalise HP Tables
-Added: Log Missing Resources
-Added: No Spell Interruption On Zero Damage
-Added: Targetting Dead Animations Fix
-Core: Fixed a bug with incorrect patching of SPELLS.2DA
-Externalise Encumbrance Restrictions: Fixed a bug with encumbrance calculation
-Externalise Logging: Moved to debug QUICK_MENU
-Expanded Stats: Added hard-coded stats 202-208
-Expanded Stats: Prevented divide by zero crashes
-Reviewed TobEx_ini.txt

Beta 0015
---------
-Class/structure updates
-Added: Allow Equipping Armor in Combat
-Added: Assassin and Bounty Hunter Penalty to Similar Kits
-Added: Disable Force Inventory Pause
-Added: EquipRanged Action Fix
-Added: Expanded Stats
-Added: Externalise Encumbrance Restrictions
-Added: Externalise Item-Creature Exclusions
-Added: Kit Trigger Fix
-Added: Rest Spawns Advance Time
-Added: Use Animation Percentages for Throwing Weapons
-Removed: Opcode 0x13E
-Streamlined config installation
-Reviewed TobEx_ini.txt


Beta 0014
---------
-Custom Dialogue Bar Buffer Size: Fixed a dialogue crash bug when this hack was disabled (set to 0)
-Log Dialogue Bar: Fixed a crash bug when trying to log text larger than 256 characters
-Soundset Subtitles: Corrected a typo in the FEMALE2 soundset subtitles
-Modified config installation to allow quick and manual configurations
-Reviewed TobEx_ini.txt


Beta 0013
---------
-Class/structure updates
-Added: Allow All Races to Dual Class
-Added: Apply Effect Item Fix
-Added: Apply Effect Itemtype Fix
-Added: Custom Dialogue Bar Buffer Size
-Added: Dialogue Greeting Subtitles
-Added: Disable Duplicate Effect Stacking
-Added: Disintegrate Fix (thanks to Avenger for the tip)
-Added: IWD Animation Attack 3 Fix (thanks to Avenger for the tip)
-Added: IWD Style Cat's Grace Dexterity Mod (thanks to FlameWing)
-Added: IWD Style Mage Spell Slots Mod (thanks to FlameWing)
-Added: IWD Style Priest Spell Slots Mod (thanks to FlameWing)
-Added: IWD Style Strength Mod (thanks to FlameWing)
-Added: Log Dialogue Bar
-Added: Log File Mode
-Added: Remove Dependency on TobEx Loader
-Added: Remove Projectile Mod
-Added: Verbose Logging
-Externalise Class-Race Restrictions: Fixed a bug where the standard gnome and dwarf multi-class options were swapped
-Magic Resistance Mod Fix: Fixed a bug with non-instant/limited timings (timing != 1) using increment (param2 = 0) type
-Scrollable Level Up Mage Spell Selection: Fixed a bug with selecting high-level abilities
-Condensed WeiDU components for more convenient installation
-Split core and configuration installations


Beta 0012
---------
-Class/structure updates
-Some more code revision
-Added: Attacks Per Round Mod Fix
-Added: Configurable Backstab Every Hit
-Added: Configurable Backstab Restrictions
-Added: Configurable Critical Hit Aversion
-Added: Configurable Damage Effect Bypasses Mirror Images
-Added: Configurable Magical Item Dispel Behaviour
-Added: Custom Contingency Trigger Check Delay
-Added: Forbid Item Type Fix
-Added: Regeneration Fix
-Added: Repeating Effect Fix
-Added: Restore Extra Combat Info Text
-[WeiDU] Recommended component for Soundset Subtitles: optimised component installation (thanks to the bigg)
-Enable 99 Random Treasure Rows: Fixed a bug where this hack could never be enabled due to incorrect hack category
-Externalise Animation Walking Sounds/Externalise Class-Race Restrictions: Fixed a bug where the animation walking sound 2DA files were loaded under the wrong hack
-Scroll bar hacks: Scroll bars are now automatically hidden from view if not required
-Updated compatibility and troubleshooting information in the readme


Beta 0011
---------
-Class/structure updates
-Fixed memory leaks and reduced some overhead associated with loading 2DA files
-Added components: Externalise Animation Walking Sounds, Externalise Class-Race Restrictions
-Externalise Race Selection StrRef: Fixed a bug where the dwarf and gnome race texts were mixed up


Beta 0010
---------
-Awaken On Damage: Fixed a bug where creatures were made unkillable


Beta 0009
---------
-Class/structure updates
-Completed major revision of code
-Updated to Visual C++ 2010
-Added fail safes for a few cases where required WeiDU components are not installed
-Added component: Critical Error Message Box Fix
-Added some troubleshooting information to readme
-Recommended files for Soundset Subtitles: Fixed a CSound.2da patching bug if custom subtitles were installed prior to TobEx

NOTE: this version cannot be compared to the previous version due to a major change to program architecture


Beta 0008
---------
-Class/structure updates
-Commenced major revision of code
-Added components: Allow 99 Priest Known Spells Per Level
-Removed TobEx.def
-Renamed all components
-Extended Songlist: Now completely removes the row limit in SONGLIST.2DA


Beta 0007
---------
-Class/structure updates
-Added components: ChargenMageSpellScroll, RecMageSpellScroll, FourWeaponSlots, OpcodeCutScene2, ExternSpellHide
-Renamed components: MageScroll->MageBookScroll, PriestScroll->PriestBookScroll
-Fixed crash when ExternLog, MoreLog, and RaceStrRef are enabled together
-RandomTreasure99: Fixed some bad patching issues
-ExternLog: Fixed a patching issue that caused crashes and problems with detecting saved games
-Added TobEx.def to source


Beta 0006
---------
-Class/structure updates
-Added components: ExistSound, NoCrashAlphaRender, MoreLog, BrightenNo3dFix, AttackSounds


Beta 0005
---------
-Class/structure updates
-Added components: AnimSound
-Updated components: revised description of A6CharmPatch


Beta 0004
---------
-Class/structure updates
-Added components: MagicResistMod


Beta 0003
---------
-Class/structure updates
-Clear various memory structures before exit
-Added components: KitExtend


Beta 0002
---------
-Class/structure updates
-Removed dependency on a number of DLL files and reduced size of TobEx.dll
-Added two varieties of TobEx.ini: Tob_hacks-safe and default
-Added components: BiggerTooltip, CastLevelBonus, RaceStrRef, MageScroll, PriestScroll, BlindCumPen, OpcodeBlindOrig
-Updated components: KitScroll (guicg.chu now dynamically patched)


Beta 0001
---------
-Now installed via WeiDU
-Reorganised all code
-Class/structure updates
-Removed components: GreenMsg, AltAssertion, SongDebug
-Added components: OpcodeCureDrunk, RandomTreasure99, OpcodeInvisible, PickpocketSuccessInvisible, PickpocketFailed, NormalStoneskin, FixDispelFormula, MirrorImageLevel, DamageAwaken, ExternLog, ProfsMax, SoundsetSubtitles, LogAssertFails, LogAssertWarnings
-Updated components: Effect013E (now does something slightly more meaningful)


Alpha
-----
-First release
-New components: A6CharmPatch, A6XPPatch, OpcodeAwaken, KitScroll, Songlist200, GreenMsg, AltAssertion, Effect013E, SongDebug