mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 16:34:06 +00:00
Implement more infocenter methods (#519)
* push changes * format fix * Update legogamestate.cpp * Update legogamestate.cpp * Fixes * Match Infocenter::Create * Style * Fix InfocenterDoor::HandleClick --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include "legostate.h"
|
||||
#include "legoutil.h"
|
||||
#include "legovideomanager.h"
|
||||
#include "legoworld.h"
|
||||
#include "mxbackgroundaudiomanager.h"
|
||||
#include "mxobjectfactory.h"
|
||||
#include "mxstring.h"
|
||||
@@ -446,6 +447,8 @@ void LegoGameState::SwitchArea(MxU32 p_area)
|
||||
VideoManager()->SetUnk0x554(FALSE);
|
||||
|
||||
MxAtomId* script = g_isleScript;
|
||||
LegoWorld* world;
|
||||
|
||||
switch (p_area) {
|
||||
case 1:
|
||||
break;
|
||||
@@ -461,6 +464,24 @@ void LegoGameState::SwitchArea(MxU32 p_area)
|
||||
case 5:
|
||||
script = g_elevbottScript;
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
world = FindWorld(*g_isleScript, 0);
|
||||
|
||||
if (world == NULL) {
|
||||
InvokeAction(Extra::ActionType::e_opendisk, *g_isleScript, 0, NULL);
|
||||
}
|
||||
else {
|
||||
#ifdef COMPAT_MODE
|
||||
{
|
||||
MxNotificationParam param(c_notificationType20, NULL);
|
||||
NotificationManager()->Send(world, ¶m);
|
||||
}
|
||||
#else
|
||||
NotificationManager()->Send(world, &MxNotificationParam(c_notificationType20, NULL));
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
VideoManager()->SetUnk0x554(TRUE);
|
||||
script = g_regbookScript;
|
||||
|
Reference in New Issue
Block a user