This is an experimental reverse engineered library for Skyrim VR (ported from CommonLibSSE). There are two main branches (VR) which is based on po3's using ifdefs, and NG which is an updated NG build.
Additionally, added a fix for CTD when deleting a WorldSpaceMenu, such as in QuicklootVR. The menu's menuNode is already deleted when the pointer is reset if it has no ref counts, leading to code that calls DeleteThis twice:
// Decompiled C code from QuickLoot DLL
if ( v3 )
{
(v3->DetachChild2)(v3);
this->menuNode._ptr->DeleteThis(this->menuNode._ptr);
v4 = this->menuNode._ptr;
if ( v4 )
{
if ( _InterlockedExchangeAdd(&v4->_refCount, 0xFFFFFFFF) == 1 )
v4->DeleteThis(v4);
this->menuNode._ptr = 0i64;
}
}
Additionally, added a fix for CTD when deleting a WorldSpaceMenu, such as in QuicklootVR. The menu's
menuNode
is already deleted when the pointer is reset if it has no ref counts, leading to code that callsDeleteThis
twice:Removed the explicit
DeleteThis
call to fix this.