Open SlavicPotato opened 4 years ago
Interesting. The delta itself shouldn't be that large normally, I've changed the implementation to not use qsort.
I've never observed deltas that large using skyrim's memory manager, only with os/tbb allocators. (pl > pr) - (pl < pr) idiom should work too.
Narrowed down, this overflow bug somehow is back in latest version on Nexus for AE version. Many people have failed morphs using OBody and AutoBody when using along side with EngineFixes's Memory Manager...
The issue is in skse
NiObjectNET::AddExtraData
, the comparison function used while sortingm_extraData
can overflow since it casts the pointer difference directly to an int. This happens frequently when using Engine Fixes' memory manager, causing random issues with morphs/transforms since binary searches on the array fail at random.