mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 15:48:09 -05:00
Refactor LegoActorStruct into unknown class in misc lib (#782)
This commit is contained in:
parent
b394770864
commit
1bfe47357b
5 changed files with 50 additions and 34 deletions
|
@ -173,6 +173,7 @@ add_library(misc STATIC
|
|||
LEGO1/lego/sources/misc/legostorage.cpp
|
||||
LEGO1/lego/sources/misc/legotexture.cpp
|
||||
LEGO1/lego/sources/misc/legotree.cpp
|
||||
LEGO1/lego/sources/misc/legounknown.cpp
|
||||
)
|
||||
register_lego1_target(misc)
|
||||
set_property(TARGET misc PROPERTY ARCHIVE_OUTPUT_NAME "misc$<$<CONFIG:Debug>:d>")
|
||||
|
|
|
@ -3,19 +3,12 @@
|
|||
|
||||
#include "legoactor.h"
|
||||
#include "legopathboundary.h"
|
||||
#include "misc/legounknown.h"
|
||||
#include "mxtypes.h"
|
||||
#include "realtime/matrix.h"
|
||||
|
||||
class LegoPathController;
|
||||
|
||||
struct LegoActorStruct {
|
||||
LegoActorStruct();
|
||||
~LegoActorStruct();
|
||||
void FUN_1009a140(Vector3& p_point1, Vector3& p_point2, Vector3& p_point3, Vector3& p_point4);
|
||||
|
||||
Mx3DPointFloat m_unk0x00[4]; // 0x00
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d6e28
|
||||
// SIZE 0x154
|
||||
class LegoPathActor : public LegoActor {
|
||||
|
@ -114,7 +107,7 @@ class LegoPathActor : public LegoActor {
|
|||
MxFloat m_actorTime; // 0x80
|
||||
MxFloat m_lastTime; // 0x84
|
||||
LegoPathBoundary* m_boundary; // 0x88
|
||||
LegoActorStruct m_unk0x8c; // 0x8c
|
||||
LegoUnknown m_unk0x8c; // 0x8c
|
||||
MxU32 m_state; // 0xdc
|
||||
Edge* m_destEdge; // 0xe0
|
||||
undefined4 m_unk0xe4; // 0xe4
|
||||
|
|
|
@ -124,28 +124,3 @@ void LegoPathActor::VTable0xa8()
|
|||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1009a0f0
|
||||
LegoActorStruct::LegoActorStruct()
|
||||
{
|
||||
for (MxS32 i = 0; i < _countof(m_unk0x00); i++) {
|
||||
m_unk0x00[i].Clear();
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1009a130
|
||||
LegoActorStruct::~LegoActorStruct()
|
||||
{
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1009a140
|
||||
void LegoActorStruct::FUN_1009a140(Vector3& p_point1, Vector3& p_point2, Vector3& p_point3, Vector3& p_point4)
|
||||
{
|
||||
m_unk0x00[0] = p_point1;
|
||||
m_unk0x00[1] = p_point2;
|
||||
|
||||
for (MxS32 i = 0; i < 3; i++) {
|
||||
m_unk0x00[2][i] = (p_point3[i] - p_point1[i]) * 3.0f - p_point2[i] * 2.0f - p_point4[i];
|
||||
m_unk0x00[3][i] = (p_point1[i] - p_point3[i]) * 2.0f + p_point4[i] + p_point2[i];
|
||||
}
|
||||
}
|
||||
|
|
28
LEGO1/lego/sources/misc/legounknown.cpp
Normal file
28
LEGO1/lego/sources/misc/legounknown.cpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#include "legounknown.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(LegoUnknown, 0x50)
|
||||
|
||||
// FUNCTION: LEGO1 0x1009a0f0
|
||||
LegoUnknown::LegoUnknown()
|
||||
{
|
||||
for (LegoS32 i = 0; i < _countof(m_unk0x00); i++) {
|
||||
m_unk0x00[i].Clear();
|
||||
}
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1009a130
|
||||
LegoUnknown::~LegoUnknown()
|
||||
{
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1009a140
|
||||
void LegoUnknown::FUN_1009a140(Vector3& p_point1, Vector3& p_point2, Vector3& p_point3, Vector3& p_point4)
|
||||
{
|
||||
m_unk0x00[0] = p_point1;
|
||||
m_unk0x00[1] = p_point2;
|
||||
|
||||
for (LegoS32 i = 0; i < 3; i++) {
|
||||
m_unk0x00[2][i] = (p_point3[i] - p_point1[i]) * 3.0f - p_point2[i] * 2.0f - p_point4[i];
|
||||
m_unk0x00[3][i] = (p_point1[i] - p_point3[i]) * 2.0f + p_point4[i] + p_point2[i];
|
||||
}
|
||||
}
|
19
LEGO1/lego/sources/misc/legounknown.h
Normal file
19
LEGO1/lego/sources/misc/legounknown.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
#ifndef __LEGOUNKNOWN_H
|
||||
#define __LEGOUNKNOWN_H
|
||||
|
||||
#include "legotypes.h"
|
||||
#include "mxgeometry/mxgeometry3d.h"
|
||||
|
||||
// SIZE 0x50
|
||||
class LegoUnknown {
|
||||
public:
|
||||
LegoUnknown();
|
||||
~LegoUnknown();
|
||||
|
||||
void FUN_1009a140(Vector3& p_point1, Vector3& p_point2, Vector3& p_point3, Vector3& p_point4);
|
||||
|
||||
private:
|
||||
Mx3DPointFloat m_unk0x00[4]; // 0x00
|
||||
};
|
||||
|
||||
#endif // __LEGOUNKNOWN_H
|
Loading…
Reference in a new issue