refactor, add annotations

This commit is contained in:
Christian Semmler 2024-04-11 07:48:38 -04:00
parent 35dc5ac9f1
commit e8eabab701
4 changed files with 43 additions and 28 deletions

View File

@ -3,7 +3,6 @@
#include "decomp.h" #include "decomp.h"
#include "isleactor.h" #include "isleactor.h"
#include "mxactionnotificationparam.h"
// VTABLE: LEGO1 0x100d7380 // VTABLE: LEGO1 0x100d7380
// SIZE 0x9c // SIZE 0x9c
@ -27,29 +26,23 @@ class Pizza : public IsleActor {
return !strcmp(p_name, Pizza::ClassName()) || IsleActor::IsA(p_name); return !strcmp(p_name, Pizza::ClassName()) || IsleActor::IsA(p_name);
} }
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
undefined4 VTable0x68() override; // vtable+0x68
// STUB: LEGO1 0x100383f0 undefined4 HandleEndAction(MxEndActionNotificationParam&) override; // vtable+0x74
undefined4 VTable0x68() override { return 0; } // vtable+0x68 undefined4 VTable0x80(MxParam&) override; // vtable+0x80
// STUB: LEGO1 0x10038b10
undefined4 HandleEndAction(MxEndActionNotificationParam&) override { return 0; } // vtable+0x74
// STUB: LEGO1 0x100384f0
undefined4 VTable0x80(MxParam&) override { return 0; } // vtable+0x80
// SYNTHETIC: LEGO1 0x100380e0 // SYNTHETIC: LEGO1 0x100380e0
// Pizza::`scalar deleting destructor' // Pizza::`scalar deleting destructor'
private: private:
undefined4 m_unk0x7c; undefined4 m_unk0x7c; // 0x7c
undefined4 m_unk0x80; undefined4 m_unk0x80; // 0x80
undefined4 m_unk0x84; undefined4 m_unk0x84; // 0x84
undefined4 m_unk0x88; undefined4 m_unk0x88; // 0x88
undefined4 m_unk0x8c; undefined4 m_unk0x8c; // 0x8c
undefined4 m_unk0x90; undefined4 m_unk0x90; // 0x90
undefined4 m_unk0x94; undefined4 m_unk0x94; // 0x94
undefined m_unk0x98; undefined m_unk0x98; // 0x98
}; };
#endif // PIZZA_H #endif // PIZZA_H

View File

@ -24,8 +24,7 @@ class Pizzeria : public IsleActor {
} }
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
undefined4 VTable0x68() override; // vtable+0x68
undefined4 VTable0x68() override; // vtable+0x68
// SYNTHETIC: LEGO1 0x1000e8d0 // SYNTHETIC: LEGO1 0x1000e8d0
// Pizzeria::`scalar deleting destructor' // Pizzeria::`scalar deleting destructor'

View File

@ -15,10 +15,12 @@ MxResult IsleActor::Create(MxDSAction& p_dsAction)
if (ret == SUCCESS) { if (ret == SUCCESS) {
m_world = CurrentWorld(); m_world = CurrentWorld();
if (!m_world) { if (!m_world) {
ret = FAILURE; ret = FAILURE;
} }
} }
return ret; return ret;
} }
@ -29,25 +31,25 @@ MxLong IsleActor::Notify(MxParam& p_param)
switch (((MxNotificationParam&) p_param).GetNotification()) { switch (((MxNotificationParam&) p_param).GetNotification()) {
case c_notificationType0: case c_notificationType0:
result = this->VTable0x6c(); result = VTable0x6c();
break; break;
case c_notificationEndAction: case c_notificationEndAction:
result = this->HandleEndAction((MxEndActionNotificationParam&) p_param); result = HandleEndAction((MxEndActionNotificationParam&) p_param);
break; break;
case c_notificationButtonUp: case c_notificationButtonUp:
result = this->HandleButtonUp((MxNotificationParam&) p_param); result = HandleButtonUp((MxNotificationParam&) p_param);
break; break;
case c_notificationButtonDown: case c_notificationButtonDown:
result = this->HandleButtonDown((MxNotificationParam&) p_param); result = HandleButtonDown((MxNotificationParam&) p_param);
break; break;
case c_notificationType11: case c_notificationType11:
result = this->VTable0x68(); result = VTable0x68();
break; break;
case c_notificationType18: case c_notificationType18:
result = this->VTable0x70(); result = VTable0x70();
break; break;
case c_notificationType19: case c_notificationType19:
result = this->VTable0x80((MxParam&) p_param); result = VTable0x80(p_param);
break; break;
} }

View File

@ -30,9 +30,30 @@ MxResult Pizza::Create(MxDSAction& p_dsAction)
return SUCCESS; return SUCCESS;
} }
// STUB: LEGO1 0x100383f0
undefined4 Pizza::VTable0x68()
{
// TODO
return 0;
}
// STUB: LEGO1 0x100384f0
undefined4 Pizza::VTable0x80(MxParam&)
{
// TODO
return 0;
}
// STUB: LEGO1 0x100388a0 // STUB: LEGO1 0x100388a0
MxResult Pizza::Tickle() MxResult Pizza::Tickle()
{ {
// TODO // TODO
return SUCCESS; return SUCCESS;
} }
// STUB: LEGO1 0x10038b10
undefined4 Pizza::HandleEndAction(MxEndActionNotificationParam&)
{
// TODO
return 0;
}