isle/LEGO1/mxpresenter.h
Cydra 07912eb05a
Class layout for LEGO1 classes (#43)
* Stubbed a bunch of classes and annotated them for later use. Heavily wip and more of pseudocode right now.

* Converted pseudocode into real code!

* Created a bunch more classes and added more information to exisiting ones
Did not error check, this was pushed just for reference

* More classes and implementation details. Still not checked for any errors

* Fixed code and decided on a way to handle virtual table stubs

* Some additional fixes

* More smaller fixes

* Added classes to project and made it compile

* Fixed function adresses that caused the python script to fail

* More classes and virtual function resolves. Builds and compares fine.

* Again more classes and virtual function resolves. Builds and compares fine.

* No clue, I guess forced update for line endings

* Finished up some work, compiles fine. All functions are STUB annotated to not pollute reccmp.py output.

* line ending change

* rename GetClassName/IsClass

Mirroring recent changes from master

* further conform to current master

* update project

* cleanup

* project only updates when you close msdev

---------

Co-authored-by: Cydra <cydra95@gmail.com>
Co-authored-by: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
2023-06-29 01:10:08 -07:00

71 lines
1.9 KiB
C++

#ifndef MXPRESENTER_H
#define MXPRESENTER_H
#include "mxcore.h"
#include "mxcriticalsection.h"
class MxStreamController;
class MxDSAction;
#ifndef undefined4
#define undefined4 int
#endif
#ifndef undefined
#define undefined int
#endif
class MxPresenter : public MxCore
{
public:
__declspec(dllexport) virtual ~MxPresenter(); // vtable+0x0
// OFFSET: LEGO1 0x1000bfe0
inline virtual const char *ClassName() const // vtable+0xc
{
// 0x100f0740
return "MxPresenter";
}
// OFFSET: LEGO1 0x1000bff0
inline virtual MxBool IsA(const char *name) const // vtable+0x10
{
return !strcmp(name, MxPresenter::ClassName()) || MxCore::IsA(name);
}
__declspec(dllexport) virtual long Tickle(); // vtable+0x8
virtual void VTable0x14(); // vtable+0x14
virtual void VTable0x18(); // vtable+0x18
virtual void VTable0x1c(); // vtable+0x1c
virtual void VTable0x20(); // vtable+0x20
virtual void VTable0x24(); // vtable+0x24
virtual void VTable0x28(); // vtable+0x28
virtual undefined4 VTable0x34(); // vtable+0x34
virtual void InitVirtual(); // vtable+0x38
virtual void VTable0x44(undefined4 param); // vtable+0x44
virtual undefined4 VTable0x48(undefined4 param); // vtable+0x48
virtual undefined4 VTable0x4c(); // vtable+0x4c
virtual undefined VTable0x50(); // vtable+0x50
protected:
__declspec(dllexport) virtual void DoneTickle(); // vtable+0x2c
__declspec(dllexport) void Init();
__declspec(dllexport) virtual void ParseExtra(); // vtable+0x30
public:
__declspec(dllexport) virtual long StartAction(MxStreamController *, MxDSAction *); // vtable+0x3c
__declspec(dllexport) virtual void EndAction(); // vtable+0x40
__declspec(dllexport) virtual void Enable(unsigned char); // vtable+0x54
int m_unk0x8;
int m_unk0xc;
int m_unk0x10;
int m_unk0x14;
int m_unk0x18;
MxDSAction* m_action; // 0
MxCriticalSection m_criticalSection;
int m_unk0x3c;
// VTABLE 0x100d4d38
};
#endif // MXPRESENTER_H