llde / xOBSE

Oblivion Script extender source
250 stars 36 forks source link

Dynamic mesh swap mods have issues #200

Open Allnarta opened 1 year ago

Allnarta commented 1 year ago

Mesh swap mods that operate on inventory references have issues with all xOBSE versions 22+ (confirmed to work on any pre-22 versions).

My example is MESS PUnique Player Equipment+BreakArmor mod:

-I use MESS Unique Player Equipment (which works fine). -I use MESS Break Armor that also takes PE meshes in account (i.e. uses own folder for player armor meshes and swaps them, and also recognised that folder for BA break stages meshes). -When player equips any armor that has mesh replacement, it forcefully unequipped. Using armor that has no unique mesh swap doesn't cause any issues.

I didn't test BA without UP combo, so I am not sure if it will also cause issues.

MESS can be found here (sorry for LL link, mod is not adult by itself, but hosted only there): https://www.loverslab.com/topic/65969-mesh-extended-swap-system/

Akrotluv commented 1 year ago

Can confirm that the last official silverlocke OBSE version (0.21) doesn't have this issue, while xOBSE 22 does.

Personally I'm using MESS, primarily SetBodyMess (SBM), PlayerClothingReplacer (PCR), BreakArmor (BA) and TamagoSetBody (TSB). PCR, SBM and TSB are all throwing occassional errors in relation to "Attempting to call function GetSelf without a reference". With BA added on top, this becomes an insane console spam. As well as BA seems to be deleting the meshes for the baseline armor and the arrays in relation to BA's mesh swapping, regardless of the MESS version or the older 1.10f version from years back is used.

Load order doesn't change anything with the issue, nor updating Blockhead to the latest version or the one bundled with MESS, and considering the old BA is breaking in the same way and leaving everyone running around in their undies, it's definitely related to the changes made to GetSelf between OBSE.21 and xOBSE.22.