Jump to content


Photo

TobEx AfterLife


  • Please log in to reply
89 replies to this topic

#1 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 17 June 2021 - 09:42 AM

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.


#2 Salk

Salk
  • Member
  • 1344 posts

Donator

Posted 17 June 2021 - 11:07 PM

My antivirus (BitDefender Free) object to the TobEx.dll file in both version 29 and 29.1. 

 

It doesn't complain with version 28 (Magus).



#3 Andrea C.

Andrea C.
  • Member
  • 447 posts

Posted 18 June 2021 - 12:51 AM

Can you add an exception to it?

 

It works well with mine (I've got a paid subscription to AVG.)



#4 Salk

Salk
  • Member
  • 1344 posts

Donator

Posted 18 June 2021 - 01:03 AM

I have added an exception and submitted the file as non positive to BitDefender.

 

I just wanted to inform Insomniator that for some reason his version of ToBEx.dll is being detected by my own antivirus (and four others) as malware while v28 did not have this kind of issue.

 

Insomniator,

 

it seems that the .tp2 version for 29.1 is still 29. The Read Me is also only updated to version 29.



#5 ALIEN

ALIEN
  • Member
  • 943 posts

Posted 18 June 2021 - 01:57 AM

Renaming the tp2 will prevent all mods that require TobEx to detect this version. You have all credits for this new version but can you please revert name change?


Project Infinity public BETA - mod manager for Infinity Engine games

Infinity Auto Packager - automatically generate and adds mod packages to GitHub release

Modder's Guide to GitHub - you cannot have progress without committing changes


#6 Salk

Salk
  • Member
  • 1344 posts

Donator

Posted 18 June 2021 - 07:23 AM

ALIEN is very correct about that.



#7 The Imp

The Imp

    Not good, see EVIL is better. You'll LIVE.

  • Member
  • 5143 posts

Posted 18 June 2021 - 12:53 PM

My antivirus (BitDefender Free) object to the TobEx.dll file in both version 29 and 29.1.

You might want to switch, as it bases it's desition on file name, and the corporation sponsors that bought up it's services. Aka, corruption. The skill to do this is called craft.


Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit). 
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.


#8 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 19 June 2021 - 04:53 AM

Hi Alien

Renaming the tp2 will prevent all mods that require TobEx to detect this version. You have all credits for this new version but can you please revert name change?

Project is not original TobEx anymore, it is FORK with many changes in codestyle/formatting/etc, so it got own name to avoid mislead. You are right, many mods check existing TobEx installation by checking MOD_IS_INSTALLED or directly TobEx_ini folder, it is problem if original TobEx was not installed and mod use only MOD_IS_INSTALLED way
 
I want to fix issue as create dummy directory/files/... to pass MOD_IS_INSTALLED (if it will work). Temporary solution is install orig TobEx package before, i already updated description.


Edited by Insomniator, 19 June 2021 - 05:24 AM.


#9 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 19 June 2021 - 05:20 AM

Hi Salk

I have added an exception and submitted the file as non positive to BitDefender.
 
I just wanted to inform Insomniator that for some reason his version of ToBEx.dll is being detected by my own antivirus (and four others) as malware while v28 did not have this kind of issue.

I can do nothing with this, main .DLL and TobExLoader.exe produced by Microsoft Visual Studio 2010 compiler with all optimizations enabled, TobEx itself is injector/hooker of bgmain.exe, probably BitDefender explore it deeper and make positive, AsmJit.dll taken from TobEx v26 package.


Edited by Insomniator, 19 June 2021 - 05:23 AM.


#10 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 19 June 2021 - 05:31 AM

it seems that the .tp2 version for 29.1 is still 29. The Read Me is also only updated to version 29.


29.1 is name of zip, inside .tp2 and other files version will be still 29. You cannot install new version above previous, this is as i understand weidu installer, it uninstall prev changes and write new changes from scratch



#11 ALIEN

ALIEN
  • Member
  • 943 posts

Posted 19 June 2021 - 09:06 AM

it seems that the .tp2 version for 29.1 is still 29. The Read Me is also only updated to version 29.


29.1 is name of zip, inside .tp2 and other files version will be still 29. You cannot install new version above previous, this is as i understand weidu installer, it uninstall prev changes and write new changes from scratch

WeiDU won't allow to have two the same Mod ID (tp2 filename) inside weidu.log twice, correct. But keeping the correct VERSION keyword inside tp2 is to inform players which exact version they use. Otherwise, how the player would know if he install the version that contains 'Continuous Battle Music Fix' if the tp2 VERSION (and weidu.log) still has '29' in it?


Project Infinity public BETA - mod manager for Infinity Engine games

Infinity Auto Packager - automatically generate and adds mod packages to GitHub release

Modder's Guide to GitHub - you cannot have progress without committing changes


#12 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 21 June 2021 - 09:55 AM

updated to 29.2:

Removed standalone installer mode, now require original TobEx installed



#13 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 21 June 2021 - 10:30 AM

Hi Alien,

WeiDU won't allow to have two the same Mod ID (tp2 filename) inside weidu.log twice, correct. But keeping the correct VERSION keyword inside tp2 is to inform players which exact version they use. Otherwise, how the player would know if he install the version that contains 'Continuous Battle Music Fix' if the tp2 VERSION (and weidu.log) still has '29' in it?

fixed, tp2 has correct version 29.x, TobExVer.txt is still "29" because some mods try do math with this value as integer
 



#14 ALIEN

ALIEN
  • Member
  • 943 posts

Posted 21 June 2021 - 10:58 AM

Hi Alien,
WeiDU won't allow to have two the same Mod ID (tp2 filename) inside weidu.log twice, correct. But keeping the correct VERSION keyword inside tp2 is to inform players which exact version they use. Otherwise, how the player would know if he install the version that contains 'Continuous Battle Music Fix' if the tp2 VERSION (and weidu.log) still has '29' in it?

fixed, tp2 has correct version 29.x, TobExVer.txt is still "29" because some mods try do math with this value as integer
 

Thanks. I know it's a PITA to keep things synchronized. Automate those  :shifty:

 

BTW: Which mods are checking "TobExVer.txt" ?


Project Infinity public BETA - mod manager for Infinity Engine games

Infinity Auto Packager - automatically generate and adds mod packages to GitHub release

Modder's Guide to GitHub - you cannot have progress without committing changes


#15 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 21 June 2021 - 11:40 AM

BTW: Which mods are checking "TobExVer.txt" ?


Mod directly dont open TobExVer.txt, instead it include embedded TobEx Redistributable

For example stratagems v31, it includes "tobex_redist" subfolder, as i see setup.tp2 may load tobex.tpa, then tobex.tpa try to detect version from "TobExVer.txt"

  COPY "TobEx_ini/TobExVer.txt" "TobEx_ini/TobExVer.txt"
    READ_2DA_ENTRY 0 0 1 tobex_installed_version
  BUT_ONLY

  ACTION_IF (%tobex_redist_version% > %tobex_installed_version%) BEGIN

last line fails on "29.1" or "29,1"

 



#16 Salk

Salk
  • Member
  • 1344 posts

Donator

Posted 21 June 2021 - 08:26 PM

BTW: Which mods are checking "TobExVer.txt" ?


Mod directly dont open TobExVer.txt, instead it include embedded TobEx Redistributable

For example stratagems v31, it includes "tobex_redist" subfolder, as i see setup.tp2 may load tobex.tpa, then tobex.tpa try to detect version from "TobExVer.txt"

  COPY "TobEx_ini/TobExVer.txt" "TobEx_ini/TobExVer.txt"
    READ_2DA_ENTRY 0 0 1 tobex_installed_version
  BUT_ONLY

  ACTION_IF (%tobex_redist_version% > %tobex_installed_version%) BEGIN

last line fails on "29.1" or "29,1"

 

 

But couldn't you have simply changed from v29 to v30 then?



#17 Gwendolyne

Gwendolyne
  • Staff
  • 1012 posts

Posted 21 June 2021 - 09:38 PM

I usually use the following code, unless I check a special Tobex feature. ;)

 

        OUTER_SET is_tobex = (FILE_EXISTS ~tobex_ini/tobexcore.ini~) ? 1 : 0 // ToBEx is installed


 


CARPE DIEM ....
 

In progress : Menace sur le Royaume de Diamant Éternel there.

#18 skellytz

skellytz
  • Member
  • 216 posts

Posted 25 June 2021 - 04:26 AM

Thank you. Just like everybody else here I think it should be the new version of TobEx. A GitHub repo forked off the original would be a great way to show that. If we all renamed mods because of forks the collaborative process would get needlessly complicated. Think about it; I'm sure Ascension64 would approve all the updates but wouldn't like to see the mod renamed every time the maintainer changes. Maybe I'll just rename BGT to BGT Back from the Grave Pt. II Special Edition and require the installation of v1.18 prior to v1.22 ;)



#19 Insomniator

Insomniator
  • Member
  • 303 posts

Posted 25 June 2021 - 07:38 AM

Hi skellytz

Thank you. Just like everybody else here I think it should be the new version of TobEx. A GitHub repo forked off the original would be a great way to show that. If we all renamed mods because of forks the collaborative process would get needlessly complicated.

And again - this is not TobEx anymore , it is fan fork with all code from my parent project with many hacks/fixes/new bugs/etc

Please leave orig TobEx alone ! (fingers crossed :doh:)



#20 Arthas

Arthas
  • Member
  • 119 posts

Posted 25 June 2021 - 11:45 AM

Hi skellytz
Thank you. Just like everybody else here I think it should be the new version of TobEx. A GitHub repo forked off the original would be a great way to show that. If we all renamed mods because of forks the collaborative process would get needlessly complicated.

And again - this is not TobEx anymore , it is fan fork with all code from my parent project with many hacks/fixes/new bugs/etc

Please leave orig TobEx alone ! (fingers crossed :doh:)

Why are you requiring to install Tobex as a prerequisite? 


Edited by Arthas, 25 June 2021 - 11:53 AM.