mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
Order functions in binary up to the end of Helicopter
; refactor vector/matrix classes (#1309)
* Order experimentation * Revert IslePathActor * Fix order * Fix inlining * Fixes * WIP * WIP * Refactor * Refactor * Fix operators * Remove obsolete inline keyword * Fix ctors * Refactor * Rename files * Refactor * Remove empty line
This commit is contained in:

committed by
GitHub

parent
b8f1364ac7
commit
c54805fde8
117
LEGO1/realtime/vector3d.inl.h
Normal file
117
LEGO1/realtime/vector3d.inl.h
Normal file
@@ -0,0 +1,117 @@
|
||||
#ifndef VECTOR3D_H
|
||||
#define VECTOR3D_H
|
||||
|
||||
#include "vector2d.inl.h"
|
||||
|
||||
// FUNCTION: LEGO1 0x10002270
|
||||
// FUNCTION: BETA10 0x10011350
|
||||
void Vector3::EqualsCrossImpl(const float* p_a, const float* p_b)
|
||||
{
|
||||
m_data[0] = p_a[1] * p_b[2] - p_a[2] * p_b[1];
|
||||
m_data[1] = p_a[2] * p_b[0] - p_a[0] * p_b[2];
|
||||
m_data[2] = p_a[0] * p_b[1] - p_a[1] * p_b[0];
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100022c0
|
||||
// FUNCTION: BETA10 0x10011430
|
||||
void Vector3::EqualsCross(const Vector3& p_a, const Vector3& p_b)
|
||||
{
|
||||
EqualsCrossImpl(p_a.m_data, p_b.m_data);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100022e0
|
||||
void Vector3::EqualsCross(const Vector3& p_a, const float* p_b)
|
||||
{
|
||||
EqualsCrossImpl(p_a.m_data, p_b);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10002300
|
||||
void Vector3::EqualsCross(const float* p_a, const Vector3& p_b)
|
||||
{
|
||||
EqualsCrossImpl(p_a, p_b.m_data);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003a60
|
||||
void Vector3::AddImpl(const float* p_value)
|
||||
{
|
||||
m_data[0] += p_value[0];
|
||||
m_data[1] += p_value[1];
|
||||
m_data[2] += p_value[2];
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003a90
|
||||
void Vector3::AddImpl(float p_value)
|
||||
{
|
||||
m_data[0] += p_value;
|
||||
m_data[1] += p_value;
|
||||
m_data[2] += p_value;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003ac0
|
||||
void Vector3::SubImpl(const float* p_value)
|
||||
{
|
||||
m_data[0] -= p_value[0];
|
||||
m_data[1] -= p_value[1];
|
||||
m_data[2] -= p_value[2];
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003af0
|
||||
void Vector3::MulImpl(const float* p_value)
|
||||
{
|
||||
m_data[0] *= p_value[0];
|
||||
m_data[1] *= p_value[1];
|
||||
m_data[2] *= p_value[2];
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003b20
|
||||
void Vector3::MulImpl(const float& p_value)
|
||||
{
|
||||
m_data[0] *= p_value;
|
||||
m_data[1] *= p_value;
|
||||
m_data[2] *= p_value;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003b50
|
||||
void Vector3::DivImpl(const float& p_value)
|
||||
{
|
||||
m_data[0] /= p_value;
|
||||
m_data[1] /= p_value;
|
||||
m_data[2] /= p_value;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003b80
|
||||
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];
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003ba0
|
||||
// FUNCTION: BETA10 0x100113f0
|
||||
void Vector3::EqualsImpl(const float* p_data)
|
||||
{
|
||||
memcpy(m_data, p_data, sizeof(float) * 3);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003bc0
|
||||
// FUNCTION: BETA10 0x100114f0
|
||||
void Vector3::Clear()
|
||||
{
|
||||
memset(m_data, 0, sizeof(float) * 3);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003bd0
|
||||
// FUNCTION: BETA10 0x10011530
|
||||
float Vector3::LenSquared() const
|
||||
{
|
||||
return m_data[0] * m_data[0] + m_data[1] * m_data[1] + m_data[2] * m_data[2];
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10003bf0
|
||||
void Vector3::Fill(const float& p_value)
|
||||
{
|
||||
m_data[0] = p_value;
|
||||
m_data[1] = p_value;
|
||||
m_data[2] = p_value;
|
||||
}
|
||||
|
||||
#endif // VECTOR3D_H
|
Reference in New Issue
Block a user