mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 18:51:16 +00:00
fixes
This commit is contained in:
parent
a2b88f7d27
commit
821ad27d2e
@ -60,10 +60,10 @@ class Infocenter : public LegoWorld {
|
|||||||
// utility functions
|
// utility functions
|
||||||
void StartCredits();
|
void StartCredits();
|
||||||
static void DeleteCredits();
|
static void DeleteCredits();
|
||||||
void FUN_10071300(MxS32 p_objectId);
|
void PlayDialogue(MxS32 p_objectId);
|
||||||
void FUN_100713d0();
|
void StopCurrentDialogue();
|
||||||
static void FUN_100714a0();
|
static void PlayBookAnimation();
|
||||||
static void FUN_10071550();
|
static void StopBookAnimation();
|
||||||
|
|
||||||
MxS32 m_unk0xf8; // 0xf8
|
MxS32 m_unk0xf8; // 0xf8
|
||||||
MxS16 m_unk0xfc; // 0xfc
|
MxS16 m_unk0xfc; // 0xfc
|
||||||
|
|||||||
@ -43,7 +43,6 @@ Infocenter::~Infocenter()
|
|||||||
// STUB: LEGO1 0x1006ed90
|
// STUB: LEGO1 0x1006ed90
|
||||||
MxResult Infocenter::Create(MxDSAction& p_dsAction)
|
MxResult Infocenter::Create(MxDSAction& p_dsAction)
|
||||||
{
|
{
|
||||||
OutputDebugString("create called\n");
|
|
||||||
if (LegoWorld::Create(p_dsAction) == SUCCESS) {
|
if (LegoWorld::Create(p_dsAction) == SUCCESS) {
|
||||||
InputManager()->SetWorld(this);
|
InputManager()->SetWorld(this);
|
||||||
ControlManager()->Register(this);
|
ControlManager()->Register(this);
|
||||||
@ -78,7 +77,7 @@ MxLong Infocenter::Notify(MxParam& p_param)
|
|||||||
case c_notificationEndAction:
|
case c_notificationEndAction:
|
||||||
return HandleEndAction(p_param);
|
return HandleEndAction(p_param);
|
||||||
case c_notificationKeyPress:
|
case c_notificationKeyPress:
|
||||||
return HandleKeyPress(((LegoEventNotificationParam&) p_param).GetKey()) & 0xff;
|
return HandleKeyPress(((LegoEventNotificationParam&) p_param).GetKey());
|
||||||
case c_notificationButtonUp:
|
case c_notificationButtonUp:
|
||||||
return HandleButtonUp(
|
return HandleButtonUp(
|
||||||
((LegoEventNotificationParam&) p_param).GetX(),
|
((LegoEventNotificationParam&) p_param).GetX(),
|
||||||
@ -94,7 +93,7 @@ MxLong Infocenter::Notify(MxParam& p_param)
|
|||||||
case TYPE17:
|
case TYPE17:
|
||||||
return HandleNotification17(p_param);
|
return HandleNotification17(p_param);
|
||||||
case MXTRANSITIONMANAGER_TRANSITIONENDED:
|
case MXTRANSITIONMANAGER_TRANSITIONENDED:
|
||||||
FUN_10071550();
|
StopBookAnimation();
|
||||||
m_unk0x1d2 = 0;
|
m_unk0x1d2 = 0;
|
||||||
if (m_infocenterState->GetUnknown0x74() == 0xc) {
|
if (m_infocenterState->GetUnknown0x74() == 0xc) {
|
||||||
StartCredits();
|
StartCredits();
|
||||||
@ -112,6 +111,18 @@ MxLong Infocenter::Notify(MxParam& p_param)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// STUB: LEGO1 0x1006f080
|
||||||
|
MxLong Infocenter::HandleEndAction(MxParam& p_param)
|
||||||
|
{
|
||||||
|
MxDSAction* endedAction = ((MxEndActionNotificationParam&) p_param).GetAction();
|
||||||
|
if (endedAction->GetAtomId() == *g_creditsScript && endedAction->GetObjectId() == 499) {
|
||||||
|
Lego()->CloseMainWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1006f4e0
|
// FUNCTION: LEGO1 0x1006f4e0
|
||||||
void Infocenter::VTable0x50()
|
void Infocenter::VTable0x50()
|
||||||
{
|
{
|
||||||
@ -138,7 +149,7 @@ void Infocenter::VTable0x50()
|
|||||||
m_unk0x1d2 = 1;
|
m_unk0x1d2 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
FUN_10071300(504); // Play "Ok, lets get started" dialogue
|
PlayDialogue(504); // Play "Ok, lets get started" dialogue
|
||||||
PlayMusic(11);
|
PlayMusic(11);
|
||||||
FUN_10015820(0, 7);
|
FUN_10015820(0, 7);
|
||||||
return;
|
return;
|
||||||
@ -148,14 +159,14 @@ void Infocenter::VTable0x50()
|
|||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
PlayMusic(11);
|
PlayMusic(11);
|
||||||
FUN_10071300(522); // Are you sure you want to exit lego island?
|
PlayDialogue(522); // Are you sure you want to exit lego island?
|
||||||
FUN_10015820(0, 7);
|
FUN_10015820(0, 7);
|
||||||
return;
|
return;
|
||||||
case 0xf:
|
case 0xf:
|
||||||
if (m_infocenterState->GetInfocenterBufferElement(0) == 0) {
|
if (m_infocenterState->GetInfocenterBufferElement(0) == 0) {
|
||||||
m_unk0x1d2 = 1;
|
m_unk0x1d2 = 1;
|
||||||
}
|
}
|
||||||
FUN_10071300(502);
|
PlayDialogue(502);
|
||||||
PlayMusic(11);
|
PlayMusic(11);
|
||||||
FUN_10015820(0, 7);
|
FUN_10015820(0, 7);
|
||||||
return;
|
return;
|
||||||
@ -174,18 +185,18 @@ void Infocenter::VTable0x50()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10070aa0
|
|
||||||
void Infocenter::VTable0x68(MxBool p_add)
|
|
||||||
{
|
|
||||||
// TODO
|
|
||||||
}
|
|
||||||
|
|
||||||
// STUB: LEGO1 0x1006f9a0
|
// STUB: LEGO1 0x1006f9a0
|
||||||
void Infocenter::InitializeBitmaps()
|
void Infocenter::InitializeBitmaps()
|
||||||
{
|
{
|
||||||
// TODO: Infocenter class size is wrong
|
// TODO: Infocenter class size is wrong
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// STUB: LEGO1 0x10070aa0
|
||||||
|
void Infocenter::VTable0x68(MxBool p_add)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1006fd00
|
// STUB: LEGO1 0x1006fd00
|
||||||
MxLong Infocenter::HandleMouseMove(MxS32 p_x, MxS32 p_y)
|
MxLong Infocenter::HandleMouseMove(MxS32 p_x, MxS32 p_y)
|
||||||
{
|
{
|
||||||
@ -210,18 +221,6 @@ MxU8 Infocenter::HandleNotification17(MxParam&)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1006f080
|
|
||||||
MxLong Infocenter::HandleEndAction(MxParam& p_param)
|
|
||||||
{
|
|
||||||
MxDSAction* endedAction = ((MxEndActionNotificationParam&) p_param).GetAction();
|
|
||||||
if (endedAction->GetAtomId() == *g_creditsScript && endedAction->GetObjectId() == 499) {
|
|
||||||
Lego()->CloseMainWindow();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// STUB: LEGO1 0x10070870
|
// STUB: LEGO1 0x10070870
|
||||||
MxLong Infocenter::HandleNotification0(MxParam&)
|
MxLong Infocenter::HandleNotification0(MxParam&)
|
||||||
{
|
{
|
||||||
@ -287,12 +286,12 @@ void DeleteCredits()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10071300
|
// FUNCTION: LEGO1 0x10071300
|
||||||
void Infocenter::FUN_10071300(MxS32 p_objectId)
|
void Infocenter::PlayDialogue(MxS32 p_objectId)
|
||||||
{
|
{
|
||||||
MxDSAction action;
|
MxDSAction action;
|
||||||
action.SetObjectId(p_objectId);
|
action.SetObjectId(p_objectId);
|
||||||
action.SetAtomId(*g_infomainScript);
|
action.SetAtomId(*g_infomainScript);
|
||||||
FUN_100713d0();
|
StopCurrentDialogue();
|
||||||
|
|
||||||
m_unk0xf8 = p_objectId;
|
m_unk0xf8 = p_objectId;
|
||||||
BackgroundAudioManager()->LowerVolume();
|
BackgroundAudioManager()->LowerVolume();
|
||||||
@ -300,7 +299,7 @@ void Infocenter::FUN_10071300(MxS32 p_objectId)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100713d0
|
// FUNCTION: LEGO1 0x100713d0
|
||||||
void Infocenter::FUN_100713d0()
|
void Infocenter::StopCurrentDialogue()
|
||||||
{
|
{
|
||||||
if (m_unk0xf8 != -1) {
|
if (m_unk0xf8 != -1) {
|
||||||
MxDSAction action;
|
MxDSAction action;
|
||||||
@ -313,7 +312,7 @@ void Infocenter::FUN_100713d0()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100714a0
|
// FUNCTION: LEGO1 0x100714a0
|
||||||
void Infocenter::FUN_100714a0()
|
void Infocenter::PlayBookAnimation()
|
||||||
{
|
{
|
||||||
MxDSAction action;
|
MxDSAction action;
|
||||||
action.SetObjectId(400);
|
action.SetObjectId(400);
|
||||||
@ -322,7 +321,7 @@ void Infocenter::FUN_100714a0()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x10071550
|
// FUNCTION: LEGO1 0x10071550
|
||||||
void Infocenter::FUN_10071550()
|
void Infocenter::StopBookAnimation()
|
||||||
{
|
{
|
||||||
MxDSAction action;
|
MxDSAction action;
|
||||||
action.SetObjectId(400);
|
action.SetObjectId(400);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user