TobEx AfterLife
TobEx AfterLife is custom version of TobEx v26/v28 from BG2 Improved GUI project, but only TobEx options/fixes are enabled. Codebase was changed to custom one, this is no more original TobEx v26 by Ascension64, use at your own risk.Share same C++ sources with "Improved GUI", source files available from main project.
Require original TobEx v26 or v28 installed, no other mod dependies or install order
Selectable fixes:
Disarm Trap Distance [Fix]
Add safe distance around trap to disarm, original code move char to centre of trap without any safe zones
Character Behind Polygon [Fix]
Make character behind big polygon (door/passes/...) selectable for mouse actions.
There is other types of objects like containers on ground, they are always unavailable if overlapped by polygon from LIST_FRONT list because these objects belong to LIST_MIDDLE or LIST_BACK lists
Continuous Battle Music [Fix]
Battle Music plays without reseting when GUI/Screen switched from main Game screen
Set BG1 Animation during Character Generation [Tweak]
Set "BG1 Type" animation to main character, require Infinity Animation installed.
GNOME and HALFORC animation missed in BG1 set, animation of GNOME become DWARF, HALFORC become HUMAN
Flickering Cursor Fix [Fix]
In fullscreen mode for unknow reason engine renders cursor two times - first on backbuffer, then on primary surface. Writing to primary surface is bad idea because this surface is what graphic chip shows currently on monitor. Fix remove writing to primary surface and keep only one way to render cursor - to backbuffer
Cpu Idle [Mod]
1) Graphic Render uses infinite CPU cycle to synchronize with AI part of game(AI synchronized with constant timer). Mod changes synchronization type to "events", events uses Windows API and don't load CPU
2) Timing in Movie player changed from CPU Cycles to sleep states
3) When switched from BG2 to other Application, put engine to sleep states
Over Target Visual Effect Fixes [Tweak]
Some spells/weapons/items use "Over target (unattached) Visual Effect", this type of effect has adavantage(bug ?) - it ignores timing, always play animation only one time. And has visual disadvantage - no tracking to target/owner, animation plays always at same point on area, even target/owner moved far from this point. Tweak changes "Over target (unattached) Visual Effect" to be like "attached" version, e.g. move animation together with target/owner, also stop animation if owner is died/disappeared
Skip OpenGL Fullscreen Display Modes with Fixed Interpolation [Fix]
Since Windows XP, vendor's video driver can report same display mode tree times: 1) default mode,
2)centered in larger screen space, 3)stretched to fill larger screen space. In Intel/NVidia control panel default mode can be overrided to few selectable option - scale by display/scale by driver/...
BG2 engine don't expect same mode few times and always fetch first in line. Depending on video driver, it can be any of three modes, control panel in this case ignores user's preferences and rely directly on application request (Intel control panel has "Override Application Settings" to ignore application request, but this option not available for all possible scaling methods and doesn't work properly with OpenGL apps). Fix skips centered/stretched modes and prefers mode without any interpolation
OpenGL VSync On [Tweak]
Enable OpenGL VSync by game itself, useful with Intel VGA latest drivers when in Graphics Control Panel VSYNC and TripleBuffering can be enabled always together and no way to enable VSync only (all Infinity Engines don't compatible with triple buffering)
Protection From Spell for Contingency Fix [F]
Fix Protection From Spell opcode to work with Contingency/Sequencer.
Normaly engine parse all spells in Contingency list and place it to two queue, apply all available effects from first queue and only after this process second queue. Fix place Protection From Spell and other opcodes to first(Message) queue to process one spell as one job
Run In Background [T]
Run game even in inactive window on screen, works only in window mode, at fullscreen game always pause if switched to other window
Stop Animation/Sound of Interrupted Casting [F]
Adds handling "non-damage" events to stop animation/sound when NPC/Party interrupted casting or died.
Mixed Soundset for BGT [M]
For BGT changes default BG2 selection sounds to BG1/Mix/Max soundset for listed creatures. Requires external BGSNDSET.2DA:
2DA V1.00
*
Type
AASIM BG1
ABELA BG2
IMOEN10 Mix
IMOEN15 Max
... ...
first column - creature filename
BG1 - CRE file has BG1 soundset: BG1_SELECT_ACTION1-3 (0x124-0x12C) + BG1_SELECT_RARE1-4 (0x130-0x13c)
BG2 - CRE file has BG2 soundset: BG2_SELECT_ACTION1-7 (0x124-0x13C) + BG2_SELECT_RARE1-2 (0x1a0-0x1a4)
Mix - CRE file has Mixed soundset: BG2_SELECT_ACTION1-7 (0x124-0x13C) + BG2_SELECT_RARE1-2 (0x1a0-0x1a4) + BG2EE_SELECT_RARE1-4 (0x1d0-0x1dc)(slots #75-78)
Max - same as Mix + all unused slots in 0x1e0-0x230 range used as additional sounds
1 MORALE2 1e0 (slot #79)
2 HAPPY2 1e4 (slot #80)
3 UNHAPPY_ANNOYED2 1e8 (slot #81)
4 UNHAPPY_SERIOUS2 1ec (slot #82)
5 UNHAPPY_BREAKING_POINT2 1f0 (slot #83)
6 LEADER2 1f4 (slot #84)
7 TIRED2 1f8 (slot #85)
8 BORED2 1fc (slot #86)
18 DAMAGE2 200 (slot #87)
19 DYING2 204 (slot #88)
20 HURT2 208 (slot #89)
21 AREA_FOREST2 20c (slot #90)
22 AREA_CITY2 210 (slot #91)
23 AREA_DUNGEON2 214 (slot #92)
24 AREA_DAY2 218 (slot #93)
25 AREA_NIGHT2 21c (slot #94)
27 SELECT_COMMON7 220 (slot #95)
28 SELECT_COMMON8 224 (slot #96)
29 SELECT_COMMON9 228 (slot #97)
32 SELECT_ACTION8 22C (slot #98)
33 SELECT_ACTION9 230 (slot #99)
For example char with Max type will play MORALE sound from original offset 0xA8 and from additional 0x1E0 by random order. Max type plays rare sounds after 13 clicks.
BG2EE_SELECT_RARE1-4 works as BG1_SELECT_RARE1-4, plays rare sounds after 9 clicks.
Due engine bug when it lost first char of creaature filename in savegame files, this option requires starting new game.
External Crashdump Saving Utility [D]
Uses external Library (ExceptionHandler © 1998 Bruce Dawson) to save MS WinDbg compatible crashdump file to disk
Externalise Animation Sound Reference Override [M]
Each animation sound 2da contains soundset information associated with each animation with the same 4-letter animation code (see reference ANIMSND.2DA). Unfortunately engine doesn't use ANIMSND.2DA, instead all 4-letter soundset filenames hardcoded to game code. Option externalises animation_id->sound_2da_filename mapping to ANISNDEX.2DA for override hardcoded values:
2DA V1.0
****
File Description
0x7101 MBAS2 BASILISK_GREATER
0x7200 MBER4 BEAR_BLACK
0x7202 MBER3 BEAR_CAVE
0x7203 MBER2 BEAR_POLAR
0x7401 MDOG2 DOG_WAR
0x7501 MDOP2 DOPPLEGANGER_GREATER
0x7702 MGHL2 GHOUL_GHAST
0x7B01 MWLF5 WOLF_WORG
0x7B02 MWLF6 WOLF_DIRE
0xA000 MWYV2 SMALL_WYVERN
...... ..... ..................
Externalise Animation Config Override [M]
See TobEx_ini.txt for full description
Sound:Mute Generic Animation Attack Sound [T]
If creature doesn't have personal attack sounds, on every melee attack engine plays ATTACK sound from animation sound 2DA file. TobEx's "Enable Animation Attack Sounds" option introduced playing additional specific attack animation sound together with ATTACK sound.
This option disable first ATTACK sound and plays only specic attack animation sound.
Sound:Disable Hardcoded BG1 Item Sounds [T]
BG2 engine has one of BG1 legacy - some monster's weapons have hardcoded specific sounds. Same goal can be reached using new animation sound 2da files. Option disables hardcoded item mapping if this mapping will be rely on 2da files. For example hardcoded melee ANGHEG1.itm->ANKHG06.wav and range ANGHEG2.itm->ANKHG05.wav can be implemented in 2da format:
ATTACK or ATTACK_SLASH/ATTACK_BACKSLASH/ATTACK_JAB ANKHG06
SHOOT ANKHG05
Self-Patched Effect Removing Fix [F]
Color setting effects (effect codes 7,8,9,51,52) may self-modify if applied on item in off hand. These effects can not be removed due 100% match requirement with original item's ability. Fix enables removing effects with these codes.
Sequence Sound Override Fix [F]
Most animation types have hardcoded sequence overrides for animation sound 2da files. For example when Ankheg (animation_id 3xxx) does range attack, engine overrides SHOOT sound to READY. Fix removes most overrides and makes using sound 2da files more precisely
Ankheg Range Weapon Animation Fix [F]
Vanilla engine assigns range animation for melee JAB attack and assigns empty animation for SHOOT/Range attack. Fix set range animation for SHOOT attack and SLASH/BACKSLASH animation for JAB attack.
Sound:Creature Embedded Sound overrides 2DA Entry [T]
Tweak removes playing of attack animation sounds from 2da if creature has personal sounds.
Mapping:
DAMAGE mute 2DA's DAMAGE
DYING mute 2DA's DIE
ATTACK1 mute 2DA's ATTACK and ATTACK_SLASH
ATTACK2 mute 2DA's ATTACK and ATTACK_BACKSLASH
ATTACK3 mute 2DA's ATTACK and ATTACK_JAB
ATTACK4 mute 2DA's SHOOT
Sound:Restore Creature Attack Sounds #1 [T]
Engine has bug with Creature Attack[2-4] (0xe0-0xe8 offsets) sounds, it always play Attack1 sound only.
Restore sounds with mapping:
ATTACK1 – on slash animation
ATTACK2 – on backslash animation
ATTACK3 – on jab animation
ATTACK4 – on shoot/range animation
ATTACK4 wasn't used in original engine and has unknow original purpose, Skellytz introduced new mapping when need to set creature personal range weapon sound.
Sound:Restore Creature Attack Sounds #2 [T]
If creature equipped with one of weapon with specific swing sound, game mutes personal(embedded) ATTACK1-4 sounds, but still plays attack sounds from animation sound 2da at same time. Fix restores playing ATTACK1-4 sounds together with weapon swing sound (even for Darts and Touch weapons with special "mute all swing sounds" mode)
Path Search Party Bumpable When Moving [T]
Alternate Path Search algorithm to ignore Party/Ally current position to eliminate famous bug when char can not directly move to destionation point if other party member currently is blocking passage.
Original algorithm may change current direction to other side of map, then recalculate after timeout and back to "right" way
Enable Off Hand Weapon BG1 Animation [T]
1)Enable paperdoll off hand weapon animation for IA BG1 Chars, filename calculation:
WP[S/M/L] + WeaponCode + "O" + "IN.BAM"
2)Main animation forced to use main hand weapon animation, there is no off hand weapon animation files in BG1
Autoenabled fixes:
Wild Mage school NONE-Generalist [Fix]
By design any kit size is double word, but in some part of code kit handled as single word
Most mage kits fit to single word, except WILDMAGE.School detection procedure handle as single word, in result wild mage don't belong to any school.Wild mage after fix has same school as unkitted Mage/Sorcerer
Removed +2/-2 bonus "Unschooled weapon/item Effects versus Chars with any Kit" [Fix]
Add missed check for empty school of effects from weapon/item(they always have empty school). Original code always add bonus/penalty to any kitted chars against such effects
Allow equip armour items(Robes) to mages with BG1 type animation [Mod]
Unlock feature in Inventory screen, mainly useful together with InfinityAnimation mod
Restore "Minimal Leve" field in .ITM [Fix]
Engine normaly handles only when Item level is higher than Char level and crash if lower
Fix remove crash and allow full usage of this field
Robe Armor Sound [T]
Enable disabled ARM_01*.wav for Mages with Robes.
For using with InfinityAnimation random Mage AnimID, requires anim_class=W in EXTANIM60.2DA/EXTANIM64.2DA
Reset Idle Timer After Weapon Equipped [T]
Enable long-timed SEQ_READY animation sequence if char equipped/re-equiped weapon or shield
Removes bug when SEQ_READY showed only for 1 or 2 animation frames and changed instantly to SEQ_HEAD_TURN
Weapon Speed Fix [F]
1) Ignores ammo speed (usualy = 0, max speed) for ranged weapon, instead uses launcher speed
2) Restores WSPECIAL.2DA's SPEED column speed bonus
Disable Hidden TobEx Patches [F]
Disable undocumented small patches, usefull when you want to disable most options and leave only few:
- Extended combat text mistypos
- Clear "unstealable" bit when putting item to Bag to allow stacking
- Remove hardcoded check for mage animation X2XX for Infinity Animation BG1 type Mage animation
- Remove Armor sound for Infinity Animation BG1 type Mage animation
- Remove WAL_77*.wav Ready Sound for Infinity Animation 0x10XX animation monsters
- Enable dual-classing for Infinity Animation BG1 type animation
- Green highlight stats(with +bonus) on inventory screen
- Undefined creating/assign CString from not null-ended ResRef::GetResRef()
- Enable any resolution in window mode
- Mouse Wheel on some ScrollBars
- Assign SPACE key as ENTER in dialogs
- Bugged Mislead clone for Creatures with >327 HitPoints
- Missing first char of .CRE filename in save games
- Trigger AreaCheckObject() crash
- Remove doubling sound in dialogs
- Remove spell hotkeys exploit
- Gender Change opcode fix
- Remove multi-target items/spell swap exploit
- Disable 2DA sounds when playing SELECT_ACTION from .CRE
- Add missed Bow/Crossbow/Sling Elf/Halfling race bonus when weapon in "ranged" mode (without ammo)
- CAnimation1200() forget to set wAnimId
- CreateInventoryItem(opcode=122) forgot to set "undroppable" item flag for Simulacrum clone
- Disable resetting sequence to SEQ_READY in ClearActions() if:
1) Char going to walk after idle
2) Char already in idle state (has SEQ_HEAD_TURN sequence)
Saving Throw Improved Invisible Bonus [C]
Enable +4 Saving Throw Bonus at engine level, not compatible with BG2FIXPACK !
Option added to remove doubled BG2Fixpack + TobEx saving throw bonuses
Download Link + Full Changelog
Edited by Insomniator, 17 June 2022 - 08:19 AM.