mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-30 19:51:15 +00:00
Fixes
This commit is contained in:
parent
cf63efe230
commit
a82eb65f48
@ -6,6 +6,7 @@
|
|||||||
#include "legostate.h"
|
#include "legostate.h"
|
||||||
#include "legoutil.h"
|
#include "legoutil.h"
|
||||||
#include "legovideomanager.h"
|
#include "legovideomanager.h"
|
||||||
|
#include "legoworld.h"
|
||||||
#include "mxbackgroundaudiomanager.h"
|
#include "mxbackgroundaudiomanager.h"
|
||||||
#include "mxobjectfactory.h"
|
#include "mxobjectfactory.h"
|
||||||
#include "mxstring.h"
|
#include "mxstring.h"
|
||||||
@ -447,6 +448,7 @@ void LegoGameState::SwitchArea(MxU32 p_area)
|
|||||||
|
|
||||||
MxAtomId* script = g_isleScript;
|
MxAtomId* script = g_isleScript;
|
||||||
LegoWorld* world;
|
LegoWorld* world;
|
||||||
|
|
||||||
switch (p_area) {
|
switch (p_area) {
|
||||||
case 1:
|
case 1:
|
||||||
break;
|
break;
|
||||||
@ -465,6 +467,7 @@ void LegoGameState::SwitchArea(MxU32 p_area)
|
|||||||
case 6:
|
case 6:
|
||||||
case 7:
|
case 7:
|
||||||
world = FindWorld(*g_isleScript, 0);
|
world = FindWorld(*g_isleScript, 0);
|
||||||
|
|
||||||
if (world == NULL) {
|
if (world == NULL) {
|
||||||
InvokeAction(Extra::ActionType::e_opendisk, *g_isleScript, 0, NULL);
|
InvokeAction(Extra::ActionType::e_opendisk, *g_isleScript, 0, NULL);
|
||||||
}
|
}
|
||||||
@ -472,10 +475,10 @@ void LegoGameState::SwitchArea(MxU32 p_area)
|
|||||||
#ifdef COMPAT_MODE
|
#ifdef COMPAT_MODE
|
||||||
{
|
{
|
||||||
MxNotificationParam param(c_notificationType20, NULL);
|
MxNotificationParam param(c_notificationType20, NULL);
|
||||||
NotificationManager()->Send((MxCore*) world, ¶m);
|
NotificationManager()->Send(world, ¶m);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
NotificationManager()->Send((MxCore*) world, &MxNotificationParam(c_notificationType20, NULL));
|
NotificationManager()->Send(world, &MxNotificationParam(c_notificationType20, NULL));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -128,11 +128,10 @@ MxControlPresenter* LegoControlManager::FUN_100294e0(MxS32 p_x, MxS32 p_y)
|
|||||||
{
|
{
|
||||||
if (m_presenterList) {
|
if (m_presenterList) {
|
||||||
MxPresenterListCursor cursor(m_presenterList);
|
MxPresenterListCursor cursor(m_presenterList);
|
||||||
|
MxPresenter* control;
|
||||||
MxVideoPresenter* presenter = (MxVideoPresenter*) VideoManager()->GetPresenterAt(p_x, p_y);
|
MxVideoPresenter* presenter = (MxVideoPresenter*) VideoManager()->GetPresenterAt(p_x, p_y);
|
||||||
if (presenter) {
|
|
||||||
MxPresenter* control;
|
|
||||||
|
|
||||||
|
if (presenter) {
|
||||||
while (cursor.Next(control)) {
|
while (cursor.Next(control)) {
|
||||||
if (((MxControlPresenter*) control)->FUN_10044270(p_x, p_y, presenter)) {
|
if (((MxControlPresenter*) control)->FUN_10044270(p_x, p_y, presenter)) {
|
||||||
return (MxControlPresenter*) control;
|
return (MxControlPresenter*) control;
|
||||||
|
|||||||
@ -104,7 +104,7 @@ MxResult Infocenter::Create(MxDSAction& p_dsAction)
|
|||||||
for (MxS16 i = 0; i < count; i++) {
|
for (MxS16 i = 0; i < count; i++) {
|
||||||
MxStillPresenter* still = m_infocenterState->GetInfocenterBufferElement(i);
|
MxStillPresenter* still = m_infocenterState->GetInfocenterBufferElement(i);
|
||||||
if (still) {
|
if (still) {
|
||||||
still->Enable(FALSE);
|
still->Enable(TRUE);
|
||||||
still->SetTickleState(MxPresenter::e_repeating);
|
still->SetTickleState(MxPresenter::e_repeating);
|
||||||
still->VTable0x88(((7 - count) / 2 + i), 45);
|
still->VTable0x88(((7 - count) / 2 + i), 45);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -229,8 +229,7 @@ void MxMediaPresenter::RepeatingTickle()
|
|||||||
// FUNCTION: LEGO1 0x100b5ef0
|
// FUNCTION: LEGO1 0x100b5ef0
|
||||||
void MxMediaPresenter::DoneTickle()
|
void MxMediaPresenter::DoneTickle()
|
||||||
{
|
{
|
||||||
m_previousTickleStates |= 1 << m_currentTickleState;
|
ProgressTickleState(e_idle);
|
||||||
m_currentTickleState = e_idle;
|
|
||||||
EndAction();
|
EndAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user