Implement Doors::VTable0x94 (#1136)

* Implement Doors::VTable0x94

* Match function

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Joshua Peisach 2024-11-09 12:03:01 -05:00 committed by GitHub
parent c65bc67e3d
commit f4ab226946
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 8 deletions

View file

@ -7,7 +7,7 @@
// SIZE 0x1f8
class Doors : public LegoPathActor {
public:
Doors() : m_unk0x154(0), m_unk0x15c(0), m_unk0x160(0), m_unk0x1f4(0) {}
Doors() : m_unk0x154(0), m_unk0x15c(NULL), m_unk0x160(NULL), m_unk0x1f4(0) {}
// FUNCTION: LEGO1 0x1000e430
const char* ClassName() const override // vtable+0x0c
@ -31,12 +31,12 @@ class Doors : public LegoPathActor {
private:
undefined4 m_unk0x154; // 0x154
undefined4 m_unk0x158; // 0x158
undefined4 m_unk0x15c; // 0x15c
undefined4 m_unk0x160; // 0x160
MxFloat m_unk0x158; // 0x158
Matrix4* m_unk0x15c; // 0x15c
Matrix4* m_unk0x160; // 0x160
MxMatrix m_unk0x164; // 0x164
MxMatrix m_unk0x1ac; // 0x1ac
undefined4 m_unk0x1f4; // 0x1f4
MxFloat m_unk0x1f4; // 0x1f4
};
#endif // DOORS_H

View file

@ -1,12 +1,21 @@
#include "doors.h"
#include "mxmisc.h"
#include "mxtimer.h"
DECOMP_SIZE_ASSERT(Doors, 0x1f8)
// STUB: LEGO1 0x10066100
// FUNCTION: LEGO1 0x10066100
MxResult Doors::VTable0x94(LegoPathActor* p_actor, MxBool p_bool)
{
// TODO
return 0;
if (m_unk0x154 == 1) {
m_unk0x154 = 2;
m_unk0x158 = Timer()->GetTime();
m_unk0x164 = m_unk0x15c[2];
m_unk0x1ac = m_unk0x160[2];
}
return m_unk0x1f4 < 0.001 ? SUCCESS : FAILURE;
}
// STUB: LEGO1 0x10066250