Implement/match Pizzeria::HandleClick ()

This commit is contained in:
Christian Semmler 2024-05-30 09:54:24 -04:00 committed by GitHub
parent ae859fbc19
commit 650903d043
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
57 changed files with 178 additions and 143 deletions

View file

@ -28,13 +28,13 @@ public:
return !strcmp(p_name, Ambulance::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc
void VTable0xe4() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc
void VTable0xe4() override; // vtable+0xe4
void CreateState();
void FUN_10036e60();

View file

@ -23,10 +23,10 @@ public:
return !strcmp(p_name, Bike::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void VTable0xe4() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void VTable0xe4() override; // vtable+0xe4
void FUN_10076b60();

View file

@ -23,12 +23,12 @@ public:
return !strcmp(p_name, DuneBuggy::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
void VTable0xe4() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
void VTable0xe4() override; // vtable+0xe4
void FUN_10068350();

View file

@ -44,7 +44,7 @@ public:
private:
LegoGameState::Area m_destLocation; // 0xf8
MxLong HandleClick(LegoControlManagerEvent& p_param);
MxLong HandleControl(LegoControlManagerEvent& p_param);
};
#endif // ELEVATORBOTTOM_H

View file

@ -32,12 +32,12 @@ public:
return !strcmp(p_name, GasStation::ClassName()) || LegoWorld::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void ReadyWorld() override; // vtable+0x50
MxBool VTable0x5c() override; // vtable+0x5c
MxBool Escape() override; // vtable+0x64
void Enable(MxBool p_enable) override; // vtable+0x68
virtual MxLong HandleClick(LegoControlManagerEvent& p_param); // vtable+0x6c
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void ReadyWorld() override; // vtable+0x50
MxBool VTable0x5c() override; // vtable+0x5c
MxBool Escape() override; // vtable+0x64
void Enable(MxBool p_enable) override; // vtable+0x68
virtual MxLong HandleControl(LegoControlManagerEvent& p_param); // vtable+0x6c
inline void PlayAction(MxU32 p_objectId);

View file

@ -29,8 +29,8 @@ public:
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xd8(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
void VTable0xe4() override; // vtable+0xe4

View file

@ -49,7 +49,7 @@ private:
MxLong HandleKeyPress(MxS8 p_key);
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
MxLong HandleButtonDown(LegoControlManagerEvent& p_param);
MxBool HandleClick(LegoControlManagerEvent& p_param);
MxBool HandleControl(LegoControlManagerEvent& p_param);
MxS16 m_currentActorId; // 0xf8
LegoGameState::Area m_destLocation; // 0xfc

View file

@ -79,7 +79,7 @@ private:
MxLong HandleKeyPress(MxS8 p_key);
MxU8 HandleMouseMove(MxS32 p_x, MxS32 p_y);
MxU8 HandleButtonUp(MxS32 p_x, MxS32 p_y);
MxU8 HandleClick(LegoControlManagerEvent& p_param);
MxU8 HandleControl(LegoControlManagerEvent& p_param);
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
MxLong HandleNotification0(MxNotificationParam& p_param);

View file

@ -43,7 +43,7 @@ public:
private:
LegoGameState::Area m_destLocation; // 0xf8
MxLong HandleClick(LegoControlManagerEvent& p_param);
MxLong HandleControl(LegoControlManagerEvent& p_param);
};
#endif // INFOCENTERDOOR_H

View file

@ -71,7 +71,7 @@ public:
protected:
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
MxLong HandleClick(LegoControlManagerEvent& p_param);
MxLong HandleControl(LegoControlManagerEvent& p_param);
MxLong HandleType19Notification(MxType19NotificationParam& p_param);
MxLong HandleTransitionEnd();
void HandleElevatorEndAction();

View file

@ -29,7 +29,7 @@ public:
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
// FUNCTION: LEGO1 0x1000e5f0
virtual undefined4 VTable0x68() { return 0; } // vtable+0x68
virtual undefined4 HandleClick() { return 0; } // vtable+0x68
// FUNCTION: LEGO1 0x1000e600
virtual undefined4 VTable0x6c() { return 0; } // vtable+0x6c

View file

@ -106,13 +106,13 @@ public:
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
// FUNCTION: LEGO1 0x10002e70
virtual MxU32 VTable0xcc() { return 0; } // vtable+0xcc
virtual MxU32 HandleClick() { return 0; } // vtable+0xcc
// FUNCTION: LEGO1 0x10002df0
virtual MxU32 VTable0xd0() { return 0; } // vtable+0xd0
// FUNCTION: LEGO1 0x10002e80
virtual MxU32 VTable0xd4(LegoControlManagerEvent&) { return 0; } // vtable+0xd4
virtual MxU32 HandleControl(LegoControlManagerEvent&) { return 0; } // vtable+0xd4
// FUNCTION: LEGO1 0x10002e90
virtual MxU32 VTable0xd8(LegoEndAnimNotificationParam&) { return 0; } // vtable+0xd8

View file

@ -25,11 +25,11 @@ public:
return !strcmp(p_name, Jetski::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd4(LegoControlManagerEvent&) override; // vtable+0xd4
void VTable0xe4() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent&) override; // vtable+0xd4
void VTable0xe4() override; // vtable+0xe4
void FUN_1007e990();

View file

@ -41,7 +41,7 @@ public:
// JukeBox::`scalar deleting destructor'
private:
MxBool HandleClick(LegoControlManagerEvent& p_param);
MxBool HandleControl(LegoControlManagerEvent& p_param);
LegoGameState::Area m_destLocation; // 0xf8
JukeBoxState* m_state; // 0xfc

View file

@ -23,12 +23,12 @@ public:
return !strcmp(p_name, Motocycle::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc
void VTable0xe4() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xdc(MxType19NotificationParam&) override; // vtable+0xdc
void VTable0xe4() override; // vtable+0xe4
void FUN_10035e10();

View file

@ -31,11 +31,12 @@ public:
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
undefined4 VTable0x68() override; // vtable+0x68
undefined4 HandleClick() override; // vtable+0x68
undefined4 HandleEndAction(MxEndActionNotificationParam&) override; // vtable+0x74
undefined4 VTable0x80(MxParam&) override; // vtable+0x80
void CreateState();
void FUN_10038220(MxU32 p_objectId);
void FUN_100382b0();
void FUN_10038380();

View file

@ -37,10 +37,8 @@ public:
// SYNTHETIC: LEGO1 0x10039350
// PizzaMissionState::`scalar deleting destructor'
private:
PizzaMissionStateEntry* GetState(MxU8 p_id);
protected:
undefined4 m_unk0x08; // 0x08
undefined4 m_unk0x0c; // 0x0c
PizzaMissionStateEntry m_state[5]; // 0x10

View file

@ -27,7 +27,7 @@ public:
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
undefined4 VTable0x68() override; // vtable+0x68
undefined4 HandleClick() override; // vtable+0x68
void CreateState();

View file

@ -36,6 +36,8 @@ public:
// SYNTHETIC: LEGO1 0x10017ce0
// PizzeriaState::`scalar deleting destructor'
MxU32 FUN_10017d70();
private:
Playlist m_unk0x08[5]; // 0x08
PizzeriaStateStruct m_unk0x44; // 0x44

View file

@ -43,7 +43,7 @@ public:
// Police::`scalar deleting destructor'
private:
MxLong HandleClick(LegoControlManagerEvent& p_param);
MxLong HandleControl(LegoControlManagerEvent& p_param);
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
MxLong HandleKeyPress(LegoEventNotificationParam& p_param);

View file

@ -25,7 +25,7 @@ public:
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 HandleClick() override; // vtable+0xcc
// SYNTHETIC: LEGO1 0x10028400
// RaceCar::`scalar deleting destructor'

View file

@ -45,7 +45,7 @@ private:
MxBool m_audioEnabled; // 0x0d
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
MxLong HandleClick(LegoControlManagerEvent& p_param);
MxLong HandleControl(LegoControlManagerEvent& p_param);
};
#endif // RADIO_H

View file

@ -64,7 +64,7 @@ private:
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
MxLong HandleKeyPress(MxU8 p_key);
MxLong HandleClick(LegoControlManagerEvent& p_param);
MxLong HandleControl(LegoControlManagerEvent& p_param);
MxLong HandleNotification19(MxParam& p_param);
void FUN_100775c0(MxS16 p_playerIndex);
void WriteInfocenterLetters(MxS16);

View file

@ -26,11 +26,11 @@ public:
return !strcmp(p_name, SkateBoard::ClassName()) || IslePathActor::IsA(p_name);
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd0() override; // vtable+0xd0
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void VTable0xe4() override; // vtable+0xe4
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
MxU32 HandleClick() override; // vtable+0xcc
MxU32 VTable0xd0() override; // vtable+0xd0
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
void VTable0xe4() override; // vtable+0xe4
inline void SetUnknown0x160(MxBool p_unk0x160) { m_unk0x160 = p_unk0x160; }

View file

@ -28,8 +28,8 @@ public:
MxLong Notify(MxParam& p_param) override; // vtable+0x04
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void VTable0x70(float p_float) override; // vtable+0x70
MxU32 VTable0xcc() override; // vtable+0xcc
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 HandleClick() override; // vtable+0xcc
MxU32 HandleControl(LegoControlManagerEvent& p_param) override; // vtable+0xd4
MxU32 VTable0xd8(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
void VTable0xe4() override; // vtable+0xe4

View file

@ -103,7 +103,7 @@ MxU32 Ambulance::VTable0xdc(MxType19NotificationParam& p_param)
}
// STUB: LEGO1 0x10036ce0
MxU32 Ambulance::VTable0xcc()
MxU32 Ambulance::HandleClick()
{
// TODO
return 0;
@ -122,7 +122,7 @@ void Ambulance::VTable0xe4()
}
// STUB: LEGO1 0x10036f90
MxU32 Ambulance::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 Ambulance::HandleControl(LegoControlManagerEvent& p_param)
{
// TODO
return 0;

View file

@ -45,14 +45,14 @@ void Bike::VTable0xe4()
}
// STUB: LEGO1 0x100769a0
MxU32 Bike::VTable0xcc()
MxU32 Bike::HandleClick()
{
// TODO
return 0;
}
// STUB: LEGO1 0x10076aa0
MxU32 Bike::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 Bike::HandleControl(LegoControlManagerEvent& p_param)
{
// TODO
return 0;

View file

@ -31,14 +31,14 @@ void DuneBuggy::VTable0xe4()
}
// STUB: LEGO1 0x10068060
MxU32 DuneBuggy::VTable0xcc()
MxU32 DuneBuggy::HandleClick()
{
// TODO
return 0;
}
// STUB: LEGO1 0x100681b0
MxU32 DuneBuggy::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 DuneBuggy::HandleControl(LegoControlManagerEvent& p_param)
{
// TODO
return 0;

View file

@ -104,7 +104,7 @@ void Helicopter::VTable0xe4()
}
// FUNCTION: LEGO1 0x10003480
MxU32 Helicopter::VTable0xcc()
MxU32 Helicopter::HandleClick()
{
if (!FUN_1003ef60()) {
return 1;
@ -153,7 +153,7 @@ MxU32 Helicopter::VTable0xcc()
}
// FUNCTION: LEGO1 0x100035e0
MxU32 Helicopter::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 Helicopter::HandleControl(LegoControlManagerEvent& p_param)
{
MxU32 ret = 0;
MxAtomId script;

View file

@ -42,8 +42,8 @@ MxLong IsleActor::Notify(MxParam& p_param)
case c_notificationButtonDown:
result = HandleButtonDown((MxNotificationParam&) p_param);
break;
case c_notificationType11:
result = VTable0x68();
case c_notificationClick:
result = HandleClick();
break;
case c_notificationEndAnim:
result = VTable0x70();

View file

@ -53,11 +53,11 @@ MxLong IslePathActor::Notify(MxParam& p_param)
case c_notificationType0:
ret = VTable0xd0();
break;
case c_notificationType11:
ret = VTable0xcc();
break;
case c_notificationClick:
ret = VTable0xd4((LegoControlManagerEvent&) p_param);
ret = HandleClick();
break;
case c_notificationControl:
ret = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationEndAnim:
ret = VTable0xd8((LegoEndAnimNotificationParam&) p_param);

View file

@ -30,14 +30,14 @@ void Jetski::VTable0xe4()
}
// STUB: LEGO1 0x1007e750
MxU32 Jetski::VTable0xcc()
MxU32 Jetski::HandleClick()
{
// TODO
return 0;
}
// STUB: LEGO1 0x1007e8e0
MxU32 Jetski::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 Jetski::HandleControl(LegoControlManagerEvent& p_param)
{
// TODO
return 0;

View file

@ -32,7 +32,7 @@ JukeBoxEntity::~JukeBoxEntity()
// FUNCTION: LEGO1 0x10085e40
MxLong JukeBoxEntity::Notify(MxParam& p_param)
{
if (((MxNotificationParam&) p_param).GetType() == c_notificationType11) {
if (((MxNotificationParam&) p_param).GetType() == c_notificationClick) {
if (!FUN_1003ef60()) {
return 1;
}

View file

@ -31,14 +31,14 @@ void Motocycle::VTable0xe4()
}
// STUB: LEGO1 0x10035c50
MxU32 Motocycle::VTable0xcc()
MxU32 Motocycle::HandleClick()
{
// TODO
return 0;
}
// STUB: LEGO1 0x10035d70
MxU32 Motocycle::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 Motocycle::HandleControl(LegoControlManagerEvent& p_param)
{
// TODO
return 0;

View file

@ -56,6 +56,11 @@ void Pizza::CreateState()
}
}
// STUB: LEGO1 0x10038220
void Pizza::FUN_10038220(MxU32 p_objectId)
{
}
// STUB: LEGO1 0x100382b0
void Pizza::FUN_100382b0()
{
@ -67,7 +72,7 @@ void Pizza::FUN_10038380()
}
// STUB: LEGO1 0x100383f0
undefined4 Pizza::VTable0x68()
undefined4 Pizza::HandleClick()
{
// TODO
return 0;

View file

@ -1,7 +1,17 @@
#include "pizzeria.h"
#include "isle_actions.h"
#include "islepathactor.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legopathactor.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "pizza.h"
#include "pizzamissionstate.h"
#include "pizzeriastate.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(Pizzeria, 0x84)
@ -35,9 +45,21 @@ void Pizzeria::CreateState()
m_pizzaMissionState = pizzaMissionState;
}
// STUB: LEGO1 0x10017a50
undefined4 Pizzeria::VTable0x68()
// FUNCTION: LEGO1 0x10017a50
undefined4 Pizzeria::HandleClick()
{
// TODO
return 0;
if (FUN_1003ef60() && m_pizzaMissionState->m_unk0x0c == 0) {
if (CurrentActor()->GetActorId() != GameState()->GetActorId()) {
if (!CurrentActor()->IsA("SkateBoard")) {
((IslePathActor*) CurrentActor())->VTable0xe4();
}
}
AnimationManager()->FUN_10061010(FALSE);
Pizza* pizza = (Pizza*) CurrentWorld()->Find(*g_isleScript, IsleScript::c_Pizza_Actor);
pizza->FUN_10038220(m_pizzeriaState->FUN_10017d70());
}
return 1;
}

View file

@ -26,7 +26,7 @@ MxResult RaceCar::Create(MxDSAction& p_dsAction)
}
// STUB: LEGO1 0x100284d0
MxU32 RaceCar::VTable0xcc()
MxU32 RaceCar::HandleClick()
{
// TODO
return 0;

View file

@ -47,8 +47,8 @@ MxLong Radio::Notify(MxParam& p_param)
case c_notificationEndAction:
result = HandleEndAction((MxEndActionNotificationParam&) p_param);
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
}
}
@ -96,7 +96,7 @@ void Radio::Stop()
}
// FUNCTION: LEGO1 0x1002cbc0
MxLong Radio::HandleClick(LegoControlManagerEvent& p_param)
MxLong Radio::HandleControl(LegoControlManagerEvent& p_param)
{
MxDSAction action; // Unused
MxS32 objectId = p_param.GetClickedObjectId();

View file

@ -72,7 +72,7 @@ void SkateBoard::VTable0xe4()
}
// FUNCTION: LEGO1 0x100100e0
MxU32 SkateBoard::VTable0xcc()
MxU32 SkateBoard::HandleClick()
{
Act1State* state = (Act1State*) GameState()->GetState("Act1State");
@ -107,7 +107,7 @@ MxU32 SkateBoard::VTable0xcc()
}
// FUNCTION: LEGO1 0x10010230
MxU32 SkateBoard::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 SkateBoard::HandleControl(LegoControlManagerEvent& p_param)
{
MxU32 result = 0;

View file

@ -89,7 +89,7 @@ MxU32 TowTrack::VTable0xdc(MxType19NotificationParam& p_param)
}
// STUB: LEGO1 0x1004d690
MxU32 TowTrack::VTable0xcc()
MxU32 TowTrack::HandleClick()
{
// TODO
return 0;
@ -102,7 +102,7 @@ void TowTrack::VTable0xe4()
}
// STUB: LEGO1 0x1004d9e0
MxU32 TowTrack::VTable0xd4(LegoControlManagerEvent& p_param)
MxU32 TowTrack::HandleControl(LegoControlManagerEvent& p_param)
{
// TODO
return 0;

View file

@ -21,7 +21,7 @@ BuildingEntity::~BuildingEntity()
// FUNCTION: LEGO1 0x100150a0
MxLong BuildingEntity::Notify(MxParam& p_param)
{
if (((MxNotificationParam&) p_param).GetType() == c_notificationType11) {
if (((MxNotificationParam&) p_param).GetType() == c_notificationClick) {
return VTable0x50(p_param);
}

View file

@ -184,7 +184,7 @@ MxBool MxControlPresenter::FUN_10044480(LegoControlManagerEvent* p_event, MxPres
p_event->SetClickedObjectId(m_action->GetObjectId());
p_event->SetClickedAtom(m_action->GetAtomId().GetInternal());
VTable0x6c(0);
p_event->SetType(c_notificationClick);
p_event->SetType(c_notificationControl);
p_event->SetUnknown0x28(m_unk0x4e);
return TRUE;
}
@ -194,7 +194,7 @@ MxBool MxControlPresenter::FUN_10044480(LegoControlManagerEvent* p_event, MxPres
p_event->SetClickedObjectId(m_action->GetObjectId());
p_event->SetClickedAtom(m_action->GetAtomId().GetInternal());
VTable0x6c(m_unk0x56);
p_event->SetType(c_notificationClick);
p_event->SetType(c_notificationControl);
p_event->SetUnknown0x28(m_unk0x4e);
return TRUE;
}

View file

@ -337,7 +337,7 @@ MxLong LegoEntity::Notify(MxParam& p_param)
{
LegoEventNotificationParam& param = (LegoEventNotificationParam&) p_param;
if (param.GetNotification() != c_notificationType11) {
if (param.GetNotification() != c_notificationClick) {
return 0;
}

View file

@ -456,7 +456,7 @@ MxBool LegoInputManager::ProcessOneEvent(LegoEventNotificationParam& p_param)
}
if (FUN_1005cdf0(p_param)) {
if (processRoi && p_param.GetType() == c_notificationType11) {
if (processRoi && p_param.GetType() == c_notificationClick) {
LegoROI* roi = PickROI(p_param.GetX(), p_param.GetY());
p_param.SetROI(roi);
@ -498,7 +498,7 @@ MxBool LegoInputManager::FUN_1005cdf0(LegoEventNotificationParam& p_param)
else if (m_unk0x81) {
p_param.SetX(m_x);
p_param.SetY(m_y);
p_param.SetType(c_notificationType11);
p_param.SetType(c_notificationClick);
result = TRUE;
}

View file

@ -18,5 +18,6 @@ PizzaMissionStateEntry* PizzaMissionState::GetState(MxU8 p_id)
return m_state + i;
}
}
return NULL;
}

View file

@ -8,6 +8,12 @@ PizzeriaState::PizzeriaState()
// TODO
}
// STUB: LEGO1 0x10017d70
MxU32 PizzeriaState::FUN_10017d70()
{
return 0;
}
// STUB: LEGO1 0x10017da0
MxResult PizzeriaState::Serialize(LegoFile* p_legoFile)
{

View file

@ -59,8 +59,8 @@ MxLong ElevatorBottom::Notify(MxParam& p_param)
if (m_worldStarted) {
switch (((MxNotificationParam&) p_param).GetType()) {
case c_notificationClick:
ret = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
ret = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:
GameState()->SwitchArea(m_destLocation);
@ -80,7 +80,7 @@ void ElevatorBottom::ReadyWorld()
}
// FUNCTION: LEGO1 0x100181d0
MxLong ElevatorBottom::HandleClick(LegoControlManagerEvent& p_param)
MxLong ElevatorBottom::HandleControl(LegoControlManagerEvent& p_param)
{
MxLong result = 0;

View file

@ -113,8 +113,8 @@ MxLong GasStation::Notify(MxParam& p_param)
case c_notificationButtonDown:
result = HandleButtonDown(((LegoControlManagerEvent&) p_param));
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:
GameState()->SwitchArea(m_destLocation);
@ -313,7 +313,7 @@ MxLong GasStation::HandleButtonDown(LegoControlManagerEvent& p_param)
}
// FUNCTION: LEGO1 0x10005b20
MxLong GasStation::HandleClick(LegoControlManagerEvent& p_param)
MxLong GasStation::HandleControl(LegoControlManagerEvent& p_param)
{
if (p_param.GetUnknown0x28() == 1) {
MxDSAction action;

View file

@ -122,8 +122,8 @@ MxLong Hospital::Notify(MxParam& p_param)
case c_notificationButtonDown:
result = HandleButtonDown(((LegoControlManagerEvent&) p_param));
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:
if (m_destLocation != LegoGameState::e_undefined) {
@ -552,7 +552,7 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerEvent& p_param)
}
// FUNCTION: LEGO1 0x10075f90
MxBool Hospital::HandleClick(LegoControlManagerEvent& p_param)
MxBool Hospital::HandleControl(LegoControlManagerEvent& p_param)
{
if (p_param.GetUnknown0x28() == 1) {
switch (p_param.GetClickedObjectId()) {

View file

@ -170,8 +170,8 @@ MxLong Infocenter::Notify(MxParam& p_param)
((LegoEventNotificationParam&) p_param).GetY()
);
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:
StopBookAnimation();
@ -870,7 +870,7 @@ MxU8 Infocenter::HandleButtonUp(MxS32 p_x, MxS32 p_y)
}
// FUNCTION: LEGO1 0x10070370
MxU8 Infocenter::HandleClick(LegoControlManagerEvent& p_param)
MxU8 Infocenter::HandleControl(LegoControlManagerEvent& p_param)
{
if (p_param.GetUnknown0x28() == 1) {
m_infoManDialogueTimer = 0;

View file

@ -68,8 +68,8 @@ MxLong InfocenterDoor::Notify(MxParam& p_param)
result = 1;
}
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:
GameState()->SwitchArea(m_destLocation);
@ -90,7 +90,7 @@ void InfocenterDoor::ReadyWorld()
}
// FUNCTION: LEGO1 0x10037a90
MxLong InfocenterDoor::HandleClick(LegoControlManagerEvent& p_param)
MxLong InfocenterDoor::HandleControl(LegoControlManagerEvent& p_param)
{
MxLong result = 0;

View file

@ -142,8 +142,8 @@ MxLong Isle::Notify(MxParam& p_param)
break;
}
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationEndAnim:
switch (m_act1state->m_unk0x018) {
@ -278,7 +278,7 @@ void Isle::ReadyWorld()
}
// FUNCTION: LEGO1 0x10031030
MxLong Isle::HandleClick(LegoControlManagerEvent& p_param)
MxLong Isle::HandleControl(LegoControlManagerEvent& p_param)
{
if (p_param.GetUnknown0x28() == 1) {
MxDSAction action;
@ -509,7 +509,7 @@ MxLong Isle::HandleType19Notification(MxType19NotificationParam& p_param)
case 0x136:
LegoEntity* bouy = (LegoEntity*) Find("MxEntity", "bouybump");
if (bouy != NULL) {
NotificationManager()->Send(bouy, LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
NotificationManager()->Send(bouy, LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
}
result = 1;
break;
@ -595,11 +595,11 @@ void Isle::Enable(MxBool p_enable)
#ifdef COMPAT_MODE
{
LegoEventNotificationParam param(c_notificationType11, NULL, 0, 0, 0, 0);
LegoEventNotificationParam param(c_notificationClick, NULL, 0, 0, 0, 0);
m_jetski->Notify(param);
}
#else
m_jetski->Notify(LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
m_jetski->Notify(LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
#endif
break;
case LegoGameState::e_garadoor:
@ -618,11 +618,11 @@ void Isle::Enable(MxBool p_enable)
#ifdef COMPAT_MODE
{
LegoEventNotificationParam param(c_notificationType11, NULL, 0, 0, 0, 0);
LegoEventNotificationParam param(c_notificationClick, NULL, 0, 0, 0, 0);
m_bike->Notify(param);
}
#else
m_bike->Notify(LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
m_bike->Notify(LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
#endif
break;
case LegoGameState::e_dunecar:
@ -631,11 +631,11 @@ void Isle::Enable(MxBool p_enable)
#ifdef COMPAT_MODE
{
LegoEventNotificationParam param(c_notificationType11, NULL, 0, 0, 0, 0);
LegoEventNotificationParam param(c_notificationClick, NULL, 0, 0, 0, 0);
m_dunebuggy->Notify(param);
}
#else
m_dunebuggy->Notify(LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
m_dunebuggy->Notify(LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
#endif
break;
case LegoGameState::e_motocycle:
@ -644,11 +644,11 @@ void Isle::Enable(MxBool p_enable)
#ifdef COMPAT_MODE
{
LegoEventNotificationParam param(c_notificationType11, NULL, 0, 0, 0, 0);
LegoEventNotificationParam param(c_notificationClick, NULL, 0, 0, 0, 0);
m_motocycle->Notify(param);
}
#else
m_motocycle->Notify(LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
m_motocycle->Notify(LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
#endif
break;
case LegoGameState::e_copter:
@ -657,11 +657,11 @@ void Isle::Enable(MxBool p_enable)
#ifdef COMPAT_MODE
{
LegoEventNotificationParam param(c_notificationType11, NULL, 0, 0, 0, 0);
LegoEventNotificationParam param(c_notificationClick, NULL, 0, 0, 0, 0);
m_helicopter->Notify(param);
}
#else
m_helicopter->Notify(LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
m_helicopter->Notify(LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
#endif
break;
case LegoGameState::e_skateboard:
@ -670,11 +670,11 @@ void Isle::Enable(MxBool p_enable)
#ifdef COMPAT_MODE
{
LegoEventNotificationParam param(c_notificationType11, NULL, 0, 0, 0, 0);
LegoEventNotificationParam param(c_notificationClick, NULL, 0, 0, 0, 0);
m_skateboard->Notify(param);
}
#else
m_skateboard->Notify(LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
m_skateboard->Notify(LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
#endif
break;
case LegoGameState::e_jetski:
@ -683,11 +683,11 @@ void Isle::Enable(MxBool p_enable)
#ifdef COMPAT_MODE
{
LegoEventNotificationParam param(c_notificationType11, NULL, 0, 0, 0, 0);
LegoEventNotificationParam param(c_notificationClick, NULL, 0, 0, 0, 0);
m_jetski->Notify(param);
}
#else
m_jetski->Notify(LegoEventNotificationParam(c_notificationType11, NULL, 0, 0, 0, 0));
m_jetski->Notify(LegoEventNotificationParam(c_notificationClick, NULL, 0, 0, 0, 0));
#endif
break;
default:

View file

@ -75,8 +75,8 @@ MxLong JukeBox::Notify(MxParam& p_param)
if (m_worldStarted) {
switch (((MxNotificationParam&) p_param).GetNotification()) {
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:
GameState()->SwitchArea(m_destLocation);
@ -119,7 +119,7 @@ void JukeBox::ReadyWorld()
}
// FUNCTION: LEGO1 0x1005da70
MxBool JukeBox::HandleClick(LegoControlManagerEvent& p_param)
MxBool JukeBox::HandleControl(LegoControlManagerEvent& p_param)
{
MxStillPresenter* presenter;

View file

@ -81,8 +81,8 @@ MxLong Police::Notify(MxParam& p_param)
case c_notificationKeyPress:
result = HandleKeyPress(((LegoEventNotificationParam&) p_param));
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:
GameState()->SwitchArea(m_destLocation);
@ -102,7 +102,7 @@ void Police::ReadyWorld()
}
// FUNCTION: LEGO1 0x1005e550
MxLong Police::HandleClick(LegoControlManagerEvent& p_param)
MxLong Police::HandleControl(LegoControlManagerEvent& p_param)
{
if (p_param.GetUnknown0x28() == 1) {
switch (p_param.GetClickedObjectId()) {

View file

@ -114,8 +114,8 @@ MxLong RegistrationBook::Notify(MxParam& p_param)
case c_notificationButtonDown:
m_registerDialogueTimer = Timer()->GetTime();
break;
case c_notificationClick:
result = HandleClick((LegoControlManagerEvent&) p_param);
case c_notificationControl:
result = HandleControl((LegoControlManagerEvent&) p_param);
break;
case c_notificationType19:
result = HandleNotification19(p_param);
@ -210,7 +210,7 @@ MxLong RegistrationBook::HandleKeyPress(MxU8 p_key)
}
// FUNCTION: LEGO1 0x100774a0
MxLong RegistrationBook::HandleClick(LegoControlManagerEvent& p_param)
MxLong RegistrationBook::HandleControl(LegoControlManagerEvent& p_param)
{
MxS16 unk0x28 = p_param.GetUnknown0x28();

View file

@ -104,7 +104,7 @@ MxLong Score::Notify(MxParam& p_param)
}
ret = 1;
break;
case c_notificationClick:
case c_notificationControl:
ret = FUN_100016d0((LegoControlManagerEvent&) p_param);
break;
case c_notificationTransitioned:

View file

@ -19,12 +19,12 @@ enum NotificationId {
c_notificationButtonUp = 8, // 100d6aa0
c_notificationButtonDown = 9, // 100d6aa0
c_notificationMouseMove = 10, // 100d6aa0
c_notificationType11 = 11, // 100d6aa0
c_notificationClick = 11, // 100d6aa0
c_notificationDragEnd = 12,
c_notificationDragStart = 13,
c_notificationDrag = 14,
c_notificationTimer = 15, // 100d6aa0
c_notificationClick = 17,
c_notificationControl = 17,
c_notificationEndAnim = 18, // 100d7e80
c_notificationType19 = 19, // 100d6230
c_notificationType20 = 20,