mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 23:57:54 -05:00
Start IslePathActor (#93)
* Start IslePathActor * Update types/add needed type in LegoPathActor for Pizza Yes, this is a recommit because last time I pushed my cmake dir * Fix types in islepathactor * Adjust variables * add size asserts --------- Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
This commit is contained in:
parent
db2b98c248
commit
ff13dc691c
10 changed files with 46 additions and 4 deletions
|
@ -45,6 +45,7 @@ add_library(lego1 SHARED
|
||||||
LEGO1/jukeboxentity.cpp
|
LEGO1/jukeboxentity.cpp
|
||||||
LEGO1/jukeboxstate.cpp
|
LEGO1/jukeboxstate.cpp
|
||||||
LEGO1/legoact2state.cpp
|
LEGO1/legoact2state.cpp
|
||||||
|
LEGO1/legoactor.cpp
|
||||||
LEGO1/legoactioncontrolpresenter.cpp
|
LEGO1/legoactioncontrolpresenter.cpp
|
||||||
LEGO1/legoactor.cpp
|
LEGO1/legoactor.cpp
|
||||||
LEGO1/legoanimactor.cpp
|
LEGO1/legoanimactor.cpp
|
||||||
|
|
|
@ -1 +1,17 @@
|
||||||
#include "islepathactor.h"
|
#include "islepathactor.h"
|
||||||
|
|
||||||
|
DECOMP_SIZE_ASSERT(IslePathActor, 0x160)
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x1001a200
|
||||||
|
IslePathActor::IslePathActor()
|
||||||
|
{
|
||||||
|
this->m_pLegoWorld = NULL;
|
||||||
|
this->m_unk13c = 6.0;
|
||||||
|
this->m_unk15c = 1.0;
|
||||||
|
this->m_unk158 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x10002e10
|
||||||
|
IslePathActor::~IslePathActor()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
|
@ -2,12 +2,17 @@
|
||||||
#define ISLEPATHACTOR_H
|
#define ISLEPATHACTOR_H
|
||||||
|
|
||||||
#include "legopathactor.h"
|
#include "legopathactor.h"
|
||||||
|
#include "legoworld.h"
|
||||||
|
#include "mxtypes.h"
|
||||||
|
|
||||||
// VTABLE 0x100d4398
|
// VTABLE 0x100d4398
|
||||||
// SIZE >= 0x230
|
// SIZE 0x160
|
||||||
class IslePathActor : public LegoPathActor
|
class IslePathActor : public LegoPathActor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
IslePathActor();
|
||||||
|
~IslePathActor();
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x10002ea0
|
// OFFSET: LEGO1 0x10002ea0
|
||||||
inline virtual const char *ClassName() const override // vtable+0x0c
|
inline virtual const char *ClassName() const override // vtable+0x0c
|
||||||
{
|
{
|
||||||
|
@ -20,6 +25,11 @@ class IslePathActor : public LegoPathActor
|
||||||
{
|
{
|
||||||
return !strcmp(name, IslePathActor::ClassName()) || LegoPathActor::IsA(name);
|
return !strcmp(name, IslePathActor::ClassName()) || LegoPathActor::IsA(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
LegoWorld* m_pLegoWorld; // 0x154
|
||||||
|
MxFloat m_unk158;
|
||||||
|
MxFloat m_unk15c;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ISLEPATHACTOR_H
|
#endif // ISLEPATHACTOR_H
|
||||||
|
|
|
@ -23,7 +23,7 @@ class LegoActor : public LegoEntity
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
undefined unk04_[0x68];
|
undefined unk68[0x10];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#include "legoentity.h"
|
#include "legoentity.h"
|
||||||
|
|
||||||
|
DECOMP_SIZE_ASSERT(LegoEntity, 0x68)
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x1000c290
|
// OFFSET: LEGO1 0x1000c290
|
||||||
LegoEntity::~LegoEntity()
|
LegoEntity::~LegoEntity()
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include "mxentity.h"
|
#include "mxentity.h"
|
||||||
|
|
||||||
// VTABLE 0x100d4858
|
// VTABLE 0x100d4858
|
||||||
|
// SIZE 0x68 (probably)
|
||||||
class LegoEntity : public MxEntity
|
class LegoEntity : public MxEntity
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#include "legopathactor.h"
|
#include "legopathactor.h"
|
||||||
|
|
||||||
|
DECOMP_SIZE_ASSERT(LegoPathActor, 0x154)
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x1002d700 STUB
|
// OFFSET: LEGO1 0x1002d700 STUB
|
||||||
LegoPathActor::LegoPathActor()
|
LegoPathActor::LegoPathActor()
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#define LEGOPATHACTOR_H
|
#define LEGOPATHACTOR_H
|
||||||
|
|
||||||
#include "legoactor.h"
|
#include "legoactor.h"
|
||||||
|
#include "mxtypes.h"
|
||||||
|
|
||||||
// VTABLE 0x100d6e28
|
// VTABLE 0x100d6e28
|
||||||
// SIZE 0x154 (from inlined construction at 0x1000a346)
|
// SIZE 0x154 (from inlined construction at 0x1000a346)
|
||||||
|
@ -25,6 +26,10 @@ class LegoPathActor : public LegoActor
|
||||||
return !strcmp(name, LegoPathActor::ClassName()) || LegoActor::IsA(name);
|
return !strcmp(name, LegoPathActor::ClassName()) || LegoActor::IsA(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: the types. Pizza needs this as public:
|
||||||
|
undefined unk78[0xc4];
|
||||||
|
MxS32 m_unk13c;
|
||||||
|
undefined unk140[0x14];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // LEGOPATHACTOR_H
|
#endif // LEGOPATHACTOR_H
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#include "mxentity.h"
|
#include "mxentity.h"
|
||||||
|
|
||||||
|
DECOMP_SIZE_ASSERT(MxEntity, 0x68)
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x1001d190
|
// OFFSET: LEGO1 0x1001d190
|
||||||
MxEntity::MxEntity()
|
MxEntity::MxEntity()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
#ifndef MXENTITY_H
|
#ifndef MXENTITY_H
|
||||||
#define MXENTITY_H
|
#define MXENTITY_H
|
||||||
|
|
||||||
|
#include "decomp.h"
|
||||||
#include "mxatomid.h"
|
#include "mxatomid.h"
|
||||||
#include "mxcore.h"
|
#include "mxcore.h"
|
||||||
#include "mxtypes.h"
|
#include "mxtypes.h"
|
||||||
|
|
||||||
// VTABLE 0x100d5390
|
// VTABLE 0x100d5390
|
||||||
|
// SIZE 0x68 or less
|
||||||
class MxEntity : public MxCore
|
class MxEntity : public MxCore
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -27,6 +29,7 @@ class MxEntity : public MxCore
|
||||||
private:
|
private:
|
||||||
MxS32 m_mxEntityId; // 0x8
|
MxS32 m_mxEntityId; // 0x8
|
||||||
MxAtomId m_atom; // 0xc
|
MxAtomId m_atom; // 0xc
|
||||||
|
undefined m_unk10[0x58];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MXENTITY_H
|
#endif // MXENTITY_H
|
||||||
|
|
Loading…
Reference in a new issue