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/legostorage.cpp
|
||||||
LEGO1/lego/sources/misc/legotexture.cpp
|
LEGO1/lego/sources/misc/legotexture.cpp
|
||||||
LEGO1/lego/sources/misc/legotree.cpp
|
LEGO1/lego/sources/misc/legotree.cpp
|
||||||
|
LEGO1/lego/sources/misc/legounknown.cpp
|
||||||
)
|
)
|
||||||
register_lego1_target(misc)
|
register_lego1_target(misc)
|
||||||
set_property(TARGET misc PROPERTY ARCHIVE_OUTPUT_NAME "misc$<$<CONFIG:Debug>:d>")
|
set_property(TARGET misc PROPERTY ARCHIVE_OUTPUT_NAME "misc$<$<CONFIG:Debug>:d>")
|
||||||
|
|
|
@ -3,19 +3,12 @@
|
||||||
|
|
||||||
#include "legoactor.h"
|
#include "legoactor.h"
|
||||||
#include "legopathboundary.h"
|
#include "legopathboundary.h"
|
||||||
|
#include "misc/legounknown.h"
|
||||||
#include "mxtypes.h"
|
#include "mxtypes.h"
|
||||||
#include "realtime/matrix.h"
|
#include "realtime/matrix.h"
|
||||||
|
|
||||||
class LegoPathController;
|
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
|
// VTABLE: LEGO1 0x100d6e28
|
||||||
// SIZE 0x154
|
// SIZE 0x154
|
||||||
class LegoPathActor : public LegoActor {
|
class LegoPathActor : public LegoActor {
|
||||||
|
@ -114,7 +107,7 @@ class LegoPathActor : public LegoActor {
|
||||||
MxFloat m_actorTime; // 0x80
|
MxFloat m_actorTime; // 0x80
|
||||||
MxFloat m_lastTime; // 0x84
|
MxFloat m_lastTime; // 0x84
|
||||||
LegoPathBoundary* m_boundary; // 0x88
|
LegoPathBoundary* m_boundary; // 0x88
|
||||||
LegoActorStruct m_unk0x8c; // 0x8c
|
LegoUnknown m_unk0x8c; // 0x8c
|
||||||
MxU32 m_state; // 0xdc
|
MxU32 m_state; // 0xdc
|
||||||
Edge* m_destEdge; // 0xe0
|
Edge* m_destEdge; // 0xe0
|
||||||
undefined4 m_unk0xe4; // 0xe4
|
undefined4 m_unk0xe4; // 0xe4
|
||||||
|
|
|
@ -124,28 +124,3 @@ void LegoPathActor::VTable0xa8()
|
||||||
{
|
{
|
||||||
// TODO
|
// 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