Match simple BETA10 vector calls (#1382)

* Add BETA10 for Vector2

* BETA10 match the remaining vector vtables

* Match vector implementations to BETA10

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
This commit is contained in:
jonschz
2025-02-10 18:08:49 +01:00
committed by GitHub
parent 82453f62d8
commit 956c900ec6
5 changed files with 65 additions and 32 deletions

View File

@@ -20,26 +20,29 @@ void Vector3::EqualsCross(const Vector3& p_a, const Vector3& p_b)
}
// FUNCTION: LEGO1 0x100022e0
// FUNCTION: BETA10 0x10011470
void Vector3::EqualsCross(const Vector3& p_a, const float* p_b)
{
EqualsCrossImpl(p_a.m_data, p_b);
}
// FUNCTION: LEGO1 0x10002300
// FUNCTION: BETA10 0x100114b0
void Vector3::EqualsCross(const float* p_a, const Vector3& p_b)
{
EqualsCrossImpl(p_a, p_b.m_data);
}
// FUNCTION: LEGO1 0x10003a60
// 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];
}
// FUNCTION: LEGO1 0x10003a90
// FUNCTION: BETA10 0x10011150
void Vector3::AddImpl(float p_value)
{
m_data[0] += p_value;
@@ -48,41 +51,42 @@ void Vector3::AddImpl(float p_value)
}
// FUNCTION: LEGO1 0x10003ac0
// 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];
}
// FUNCTION: LEGO1 0x10003af0
// 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];
}
// FUNCTION: LEGO1 0x10003b20
// 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;
}
// FUNCTION: LEGO1 0x10003b50
// 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;
}
// FUNCTION: LEGO1 0x10003b80
// 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
@@ -107,6 +111,7 @@ float Vector3::LenSquared() const
}
// FUNCTION: LEGO1 0x10003bf0
// FUNCTION: BETA10 0x100115a0
void Vector3::Fill(const float& p_value)
{
m_data[0] = p_value;