Implemented MxVector4::UnknownQuaternionOp

65% similar to the original
This commit is contained in:
Angel Tomkins 2023-10-08 19:40:31 -04:00
parent 10265c37a0
commit c188537a15

View File

@ -453,8 +453,19 @@ MxResult MxVector4::NormalizeQuaternion()
return FAILURE;
}
// OFFSET: LEGO1 0x10002bf0 STUB
// OFFSET: LEGO1 0x10002bf0
void MxVector4::UnknownQuaternionOp(MxVector4 *p_a, MxVector4 *p_b)
{
MxFloat *bDat = p_b->m_data;
MxFloat *aDat = p_a->m_data;
}
this->m_data[3] = aDat[3] * bDat[3] - (bDat[0] * aDat[0] + aDat[2] *bDat[2] + aDat[1] * aDat[1]);
this->m_data[0] = bDat[2] * aDat[1] - bDat[1] * aDat[2];
this->m_data[1] = aDat[2] * bDat[0] - bDat[2] * aDat[0];
this->m_data[2] = bDat[1] * aDat[0] - aDat[1] * bDat[0];
m_data[0] = p_b->m_data[3] * p_a->m_data[0] + p_a->m_data[3] * p_b->m_data[0] + m_data[0];
m_data[1] = p_b->m_data[1] * p_a->m_data[3] + p_a->m_data[1] * p_b->m_data[3] + m_data[1];
m_data[2] = p_b->m_data[2] * p_a->m_data[3] + p_a->m_data[2] * p_b->m_data[3] + m_data[2];
}