Match vector implementations to BETA10

This commit is contained in:
jonschz 2025-02-09 23:25:37 +01:00
parent 16cce39a3f
commit d780ce4316
3 changed files with 14 additions and 29 deletions

View File

@ -138,9 +138,9 @@ int Vector2::Unitize()
float sq = LenSquared();
if (sq > 0.0f) {
float root = sqrt(sq);
if (root > 0.0f) {
DivImpl(root);
sq = sqrt(sq);
if (sq > 0.0f) {
DivImpl(sq);
return 0;
}
}

View File

@ -37,8 +37,7 @@ void Vector3::EqualsCross(const float* p_a, const Vector3& p_b)
// FUNCTION: BETA10 0x10011100
void Vector3::AddImpl(const float* p_value)
{
m_data[0] += p_value[0];
m_data[1] += p_value[1];
Vector2::AddImpl(p_value);
m_data[2] += p_value[2];
}
@ -55,8 +54,7 @@ void Vector3::AddImpl(float p_value)
// FUNCTION: BETA10 0x100111c0
void Vector3::SubImpl(const float* p_value)
{
m_data[0] -= p_value[0];
m_data[1] -= p_value[1];
Vector2::SubImpl(p_value);
m_data[2] -= p_value[2];
}
@ -64,8 +62,7 @@ void Vector3::SubImpl(const float* p_value)
// FUNCTION: BETA10 0x10011210
void Vector3::MulImpl(const float* p_value)
{
m_data[0] *= p_value[0];
m_data[1] *= p_value[1];
Vector2::MulImpl(p_value);
m_data[2] *= p_value[2];
}
@ -73,8 +70,7 @@ void Vector3::MulImpl(const float* p_value)
// FUNCTION: BETA10 0x10011260
void Vector3::MulImpl(const float& p_value)
{
m_data[0] *= p_value;
m_data[1] *= p_value;
Vector2::MulImpl(p_value);
m_data[2] *= p_value;
}
@ -82,8 +78,7 @@ void Vector3::MulImpl(const float& p_value)
// FUNCTION: BETA10 0x100112b0
void Vector3::DivImpl(const float& p_value)
{
m_data[0] /= p_value;
m_data[1] /= p_value;
Vector2::DivImpl(p_value);
m_data[2] /= p_value;
}
@ -91,7 +86,7 @@ void Vector3::DivImpl(const float& p_value)
// FUNCTION: BETA10 0x10011300
float Vector3::DotImpl(const float* p_a, const float* p_b) const
{
return p_a[0] * p_b[0] + p_a[2] * p_b[2] + p_a[1] * p_b[1];
return p_a[0] * p_b[0] + p_a[1] * p_b[1] + p_a[2] * p_b[2];
}
// FUNCTION: LEGO1 0x10003ba0

View File

@ -10,9 +10,7 @@
// FUNCTION: BETA10 0x10048500
void Vector4::AddImpl(const float* p_value)
{
m_data[0] += p_value[0];
m_data[1] += p_value[1];
m_data[2] += p_value[2];
Vector3::AddImpl(p_value);
m_data[3] += p_value[3];
}
@ -30,9 +28,7 @@ void Vector4::AddImpl(float p_value)
// FUNCTION: BETA10 0x100485e0
void Vector4::SubImpl(const float* p_value)
{
m_data[0] -= p_value[0];
m_data[1] -= p_value[1];
m_data[2] -= p_value[2];
Vector3::SubImpl(p_value);
m_data[3] -= p_value[3];
}
@ -40,9 +36,7 @@ void Vector4::SubImpl(const float* p_value)
// FUNCTION: BETA10 0x10048630
void Vector4::MulImpl(const float* p_value)
{
m_data[0] *= p_value[0];
m_data[1] *= p_value[1];
m_data[2] *= p_value[2];
Vector3::MulImpl(p_value);
m_data[3] *= p_value[3];
}
@ -50,9 +44,7 @@ void Vector4::MulImpl(const float* p_value)
// FUNCTION: BETA10 0x10048680
void Vector4::MulImpl(const float& p_value)
{
m_data[0] *= p_value;
m_data[1] *= p_value;
m_data[2] *= p_value;
Vector3::MulImpl(p_value);
m_data[3] *= p_value;
}
@ -60,9 +52,7 @@ void Vector4::MulImpl(const float& p_value)
// FUNCTION: BETA10 0x100486d0
void Vector4::DivImpl(const float& p_value)
{
m_data[0] /= p_value;
m_data[1] /= p_value;
m_data[2] /= p_value;
Vector3::DivImpl(p_value);
m_data[3] /= p_value;
}