2023-06-29 04:10:08 -04:00
|
|
|
#include "legoworld.h"
|
2023-10-24 19:38:27 -04:00
|
|
|
|
2023-10-23 07:16:21 -04:00
|
|
|
#include "legoinputmanager.h"
|
2023-10-24 19:38:27 -04:00
|
|
|
#include "legoomni.h"
|
2023-10-25 16:51:59 -04:00
|
|
|
#include "mxactionnotificationparam.h"
|
|
|
|
#include "mxnotificationparam.h"
|
|
|
|
#include "mxomni.h"
|
2023-10-23 07:16:21 -04:00
|
|
|
#include "mxticklemanager.h"
|
|
|
|
|
|
|
|
DECOMP_SIZE_ASSERT(LegoWorld, 0xf8);
|
|
|
|
|
|
|
|
MxBool g_isWorldActive;
|
2023-06-29 04:10:08 -04:00
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x10015820
|
2023-12-13 05:48:14 -05:00
|
|
|
void FUN_10015820(MxU32, MxU32)
|
2023-11-21 03:44:45 -05:00
|
|
|
{
|
|
|
|
// TODO
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x10015910
|
2023-12-13 05:48:14 -05:00
|
|
|
void FUN_10015910(MxU32)
|
2023-11-21 03:44:45 -05:00
|
|
|
{
|
|
|
|
// TODO
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x100159c0
|
2023-11-21 03:44:45 -05:00
|
|
|
void SetIsWorldActive(MxBool p_isWorldActive)
|
|
|
|
{
|
|
|
|
if (!p_isWorldActive)
|
|
|
|
LegoOmni::GetInstance()->GetInputManager()->SetCamera(NULL);
|
|
|
|
g_isWorldActive = p_isWorldActive;
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x1001ca40
|
2023-06-29 04:10:08 -04:00
|
|
|
LegoWorld::LegoWorld()
|
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
// TODO
|
2023-06-29 04:10:08 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x1001d670
|
2023-11-21 03:44:45 -05:00
|
|
|
MxBool LegoWorld::VTable0x5c()
|
|
|
|
{
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x1001d680
|
2023-11-21 03:44:45 -05:00
|
|
|
MxBool LegoWorld::VTable0x64()
|
|
|
|
{
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x1001dfa0
|
2023-06-29 04:10:08 -04:00
|
|
|
LegoWorld::~LegoWorld()
|
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
// TODO
|
2023-06-29 04:10:08 -04:00
|
|
|
}
|
2023-10-23 07:16:21 -04:00
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x1001e0b0
|
2023-11-21 03:44:45 -05:00
|
|
|
MxResult LegoWorld::SetAsCurrentWorld(MxDSObject& p_dsObject)
|
2023-10-23 07:16:21 -04:00
|
|
|
{
|
2023-11-21 03:44:45 -05:00
|
|
|
// TODO
|
|
|
|
return SUCCESS;
|
2023-10-23 07:16:21 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x1001f5e0
|
2023-10-25 16:51:59 -04:00
|
|
|
MxLong LegoWorld::Notify(MxParam& p_param)
|
|
|
|
{
|
|
|
|
MxLong ret = 0;
|
|
|
|
switch (((MxNotificationParam&) p_param).GetNotification()) {
|
|
|
|
case c_notificationEndAction: {
|
|
|
|
MxPresenter* presenter = (MxPresenter*) ((MxEndActionNotificationParam&) p_param).GetSender();
|
|
|
|
EndAction(presenter);
|
|
|
|
ret = 1;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case c_notificationNewPresenter:
|
|
|
|
TickleManager()->RegisterClient(this, 100);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x1001f630
|
2023-10-23 07:16:21 -04:00
|
|
|
void LegoWorld::VTable0x54()
|
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
// TODO
|
2023-10-23 07:16:21 -04:00
|
|
|
}
|
|
|
|
|
2023-12-14 11:50:29 -05:00
|
|
|
// STUB: LEGO1 0x1001fc80
|
|
|
|
void LegoWorld::FUN_1001fc80(IslePathActor* p_actor)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2023-12-16 13:14:01 -05:00
|
|
|
// STUB: LEGO1 0x10020120
|
|
|
|
MxS32 LegoWorld::GetCurrPathInfo(LegoPathBoundary** p_path, MxS32& p_value)
|
|
|
|
{
|
|
|
|
// TODO
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x10020220
|
2023-10-24 19:38:27 -04:00
|
|
|
void LegoWorld::VTable0x58(MxCore* p_object)
|
2023-10-23 07:16:21 -04:00
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
// TODO
|
2023-10-23 07:16:21 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x10020f10
|
2023-12-15 17:29:32 -05:00
|
|
|
void LegoWorld::EndAction(MxCore* p_object)
|
2023-10-23 07:16:21 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x10021a70
|
2023-10-24 19:38:27 -04:00
|
|
|
void LegoWorld::VTable0x68(MxBool p_add)
|
2023-10-23 07:16:21 -04:00
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
// TODO
|
2023-10-23 07:16:21 -04:00
|
|
|
}
|
|
|
|
|
2023-12-14 11:50:29 -05:00
|
|
|
// STUB: LEGO1 0x10022080
|
|
|
|
MxResult LegoWorld::Tickle()
|
|
|
|
{
|
|
|
|
return SUCCESS;
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x10022340
|
2023-11-21 03:44:45 -05:00
|
|
|
void LegoWorld::Stop()
|
2023-10-23 07:16:21 -04:00
|
|
|
{
|
2023-11-21 03:44:45 -05:00
|
|
|
TickleManager()->UnregisterClient(this);
|
2023-10-25 14:51:59 -04:00
|
|
|
}
|
2023-12-14 11:50:29 -05:00
|
|
|
|
|
|
|
// STUB: LEGO1 0x100727e0
|
|
|
|
MxBool LegoWorld::FUN_100727e0(MxU32, Vector3Data& p_loc, Vector3Data& p_dir, Vector3Data& p_up)
|
|
|
|
{
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
// STUB: LEGO1 0x10072980
|
|
|
|
MxBool LegoWorld::FUN_10072980(MxU32, Vector3Data& p_loc, Vector3Data& p_dir, Vector3Data& p_up)
|
|
|
|
{
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
// STUB: LEGO1 0x10073400
|
|
|
|
void LegoWorld::FUN_10073400()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
// STUB: LEGO1 0x10073400
|
|
|
|
void LegoWorld::FUN_10073430()
|
|
|
|
{
|
|
|
|
}
|