Fix `CVector::DotProduct` address, and unhook `CVector2D`/`CMatrix`/`CQuaternion` for better performance (#1102)

This commit is contained in:
Pirulax 2025-06-04 23:17:45 +02:00 committed by GitHub
parent 1b34baea7b
commit a5d5edb314
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 4 deletions

View File

@ -623,9 +623,14 @@ void InjectHooksMain() {
CKeyboardState::InjectHooks();
CMouseControllerState::InjectHooks();
CRect::InjectHooks();
CVector2D::InjectHooks();
CQuaternion::InjectHooks();
CMatrix::InjectHooks();
/******* Don't hook these, performance is bad ********
/* CVector::InjectHooks();
/* CVector2D::InjectHooks();
/* CQuaternion::InjectHooks();
/* CMatrix::InjectHooks();
/****************************************************/
CMatrixLink::InjectHooks();
CMatrixLinkList::InjectHooks();
CEntryInfoNode::InjectHooks();

View File

@ -25,7 +25,7 @@ void CVector::InjectHooks()
RH_ScopedInstall(FromMultiply, 0x59C670);
RH_ScopedInstall(FromMultiply3x3, 0x59C6D0);
RH_ScopedGlobalOverloadedInstall(CrossProduct, "out", 0x59C730, CVector*(*)(CVector*, CVector*, CVector*));
RH_ScopedGlobalOverloadedInstall(DotProduct, "v3d*v3d*", 0x59C6D0, float(*)(CVector*, CVector*));
RH_ScopedGlobalOverloadedInstall(DotProduct, "v3d*v3d*", 0x40FDB0, float(*)(CVector*, CVector*));
}
/*!