First batch

This commit is contained in:
disinvite 2024-12-03 16:18:39 -05:00
parent 5693b1a266
commit 9f0018e60c
10 changed files with 35 additions and 11 deletions

View File

@ -130,8 +130,9 @@ void Ambulance::CreateState()
MxLong Ambulance::Notify(MxParam& p_param)
{
MxLong result = 0;
MxNotificationParam& param = (MxNotificationParam&) p_param;
switch (((MxNotificationParam&) p_param).GetNotification()) {
switch (param.GetNotification()) {
case c_notificationType0:
result = HandleNotification0();
break;

View File

@ -33,10 +33,12 @@ BumpBouy::~BumpBouy()
MxLong BumpBouy::Notify(MxParam& p_param)
{
MxLong result = 0;
MxNotificationParam& param = (MxNotificationParam&) p_param;
IslePathActor* user = (IslePathActor*) UserActor();
assert(user);
if (user->IsA("Jetski") && ((MxNotificationParam&) p_param).GetNotification() == c_notificationClick) {
if (user->IsA("Jetski") && param.GetNotification() == c_notificationClick) {
VideoManager()->SetRender3D(FALSE);
user->SetWorldSpeed(0);
user->Exit();

View File

@ -196,9 +196,12 @@ void MxBackgroundAudioManager::FadeInOrFadeOut()
}
// FUNCTION: LEGO1 0x1007f170
// FUNCTION: BETA10 0x100e8eb6
MxLong MxBackgroundAudioManager::Notify(MxParam& p_param)
{
switch (((MxNotificationParam&) p_param).GetNotification()) {
MxNotificationParam& param = (MxNotificationParam&) p_param;
switch (param.GetNotification()) {
case c_notificationStartAction:
StartAction(p_param);
return 1;

View File

@ -656,9 +656,10 @@ MxResult LegoCarBuild::Tickle()
MxLong LegoCarBuild::Notify(MxParam& p_param)
{
MxLong result = LegoWorld::Notify(p_param);
MxNotificationParam& param = (MxNotificationParam&) p_param;
if (m_worldStarted) {
switch (((MxNotificationParam*) &p_param)->GetNotification()) {
switch (param.GetNotification()) {
case c_notificationType0:
FUN_10024c20((LegoEventNotificationParam*) &p_param);
result = 1;

View File

@ -215,9 +215,9 @@ void LegoAnimMMPresenter::DoneTickle()
MxLong LegoAnimMMPresenter::Notify(MxParam& p_param)
{
AUTOLOCK(m_criticalSection);
MxNotificationParam& param = (MxNotificationParam&) p_param;
if (((MxNotificationParam&) p_param).GetNotification() == c_notificationEndAction &&
((MxNotificationParam&) p_param).GetSender() == m_presenter) {
if (param.GetNotification() == c_notificationEndAction && param.GetSender() == m_presenter) {
m_presenter = NULL;
}

View File

@ -12,6 +12,7 @@
#include "mxtimer.h"
#include "roi/legoroi.h"
#include <assert.h>
#include <stdio.h>
#include <vec.h>
@ -148,7 +149,9 @@ MxResult Act2Brick::Tickle()
// FUNCTION: BETA10 0x10012ec4
MxLong Act2Brick::Notify(MxParam& p_param)
{
if (((MxNotificationParam&) p_param).GetNotification() == c_notificationClick && m_roi->GetVisibility()) {
MxNotificationParam& param = (MxNotificationParam&) p_param;
if (param.GetNotification() == c_notificationClick && m_roi->GetVisibility()) {
m_roi->SetVisibility(FALSE);
if (m_whistleSound != NULL) {
@ -160,6 +163,7 @@ MxLong Act2Brick::Notify(MxParam& p_param)
return 1;
}
assert(0);
return 0;
}

View File

@ -89,10 +89,11 @@ LegoRace::~LegoRace()
MxLong LegoRace::Notify(MxParam& p_param)
{
LegoWorld::Notify(p_param);
MxNotificationParam& param = (MxNotificationParam&) p_param;
MxLong result = 0;
if (m_worldStarted) {
switch (((MxNotificationParam&) p_param).GetNotification()) {
switch (param.GetNotification()) {
case c_notificationType0:
HandleType0Notification((MxNotificationParam&) p_param);
break;

View File

@ -124,7 +124,9 @@ MxLong LegoRaceMap::Notify(MxParam& p_param)
return 1;
}
if (((MxNotificationParam&) p_param).GetNotification() == c_notificationControl &&
MxNotificationParam& param = (MxNotificationParam&) p_param;
if (param.GetNotification() == c_notificationControl &&
m_Map_Ctl->GetAction()->GetObjectId() ==
((LegoControlManagerNotificationParam&) p_param).GetClickedObjectId()) {

View File

@ -106,13 +106,15 @@ MxResult Hospital::Create(MxDSAction& p_dsAction)
}
// FUNCTION: LEGO1 0x10074990
// FUNCTION: BETA10 0x1002ca3b
MxLong Hospital::Notify(MxParam& p_param)
{
MxLong result = 0;
MxNotificationParam& param = (MxNotificationParam&) p_param;
LegoWorld::Notify(p_param);
if (m_worldStarted) {
switch (((MxNotificationParam&) p_param).GetNotification()) {
switch (param.GetNotification()) {
case c_notificationEndAction:
result = HandleEndAction((MxEndActionNotificationParam&) p_param);
break;

View File

@ -8,6 +8,8 @@
#include "mxnotificationmanager.h"
#include "mxobjectfactory.h"
#include <assert.h>
DECOMP_SIZE_ASSERT(MxCompositePresenter, 0x4c);
// FUNCTION: LEGO1 0x100b60b0
@ -107,16 +109,22 @@ void MxCompositePresenter::EndAction()
}
// FUNCTION: LEGO1 0x100b6760
// FUNCTION: BETA10 0x1013771e
MxLong MxCompositePresenter::Notify(MxParam& p_param)
{
AUTOLOCK(m_criticalSection);
MxNotificationParam& param = (MxNotificationParam&) p_param;
switch (((MxNotificationParam&) p_param).GetNotification()) {
switch (param.GetNotification()) {
case c_notificationEndAction:
VTable0x58((MxEndActionNotificationParam&) p_param);
break;
case c_notificationPresenter:
VTable0x5c((MxNotificationParam&) p_param);
break;
default:
assert(0);
break;
}
return 0;