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(); float sq = LenSquared();
if (sq > 0.0f) { if (sq > 0.0f) {
float root = sqrt(sq); sq = sqrt(sq);
if (root > 0.0f) { if (sq > 0.0f) {
DivImpl(root); DivImpl(sq);
return 0; return 0;
} }
} }

View File

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

View File

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