Refactor LegoOmni into LegoMain/Scripts (#883)

* Refactor LegoOmni into LegoMain/Scripts

* Fix guard
This commit is contained in:
Christian Semmler 2024-05-04 08:06:32 -04:00 committed by GitHub
parent 6382347f73
commit 1b1d2ecde6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
46 changed files with 301 additions and 281 deletions

View file

@ -367,7 +367,8 @@ add_library(lego1 SHARED
LEGO1/lego/legoomni/src/isle/beachhouseentity.cpp
LEGO1/lego/legoomni/src/isle/jukeboxstate.cpp
LEGO1/lego/legoomni/src/isle/radiostate.cpp
LEGO1/lego/legoomni/src/main/legoomni.cpp
LEGO1/lego/legoomni/src/main/legomain.cpp
LEGO1/lego/legoomni/src/main/scripts.cpp
LEGO1/lego/legoomni/src/notify/legoeventnotificationparam.cpp
LEGO1/lego/legoomni/src/paths/legoanimactor.cpp
LEGO1/lego/legoomni/src/paths/legoextraactor.cpp

View file

@ -6,8 +6,8 @@
#include "legobuildingmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legomain.h"
#include "legomodelpresenter.h"
#include "legoomni.h"
#include "legopartpresenter.h"
#include "legovideomanager.h"
#include "legoworldpresenter.h"

View file

@ -1,5 +1,5 @@
#ifndef LEGOOMNI_H
#define LEGOOMNI_H
#ifndef LEGOMAIN_H
#define LEGOMAIN_H
#include "compat.h"
#include "mxdsaction.h"
@ -27,35 +27,6 @@ class MxBackgroundAudioManager;
class MxTransitionManager;
class ViewLODListManager;
extern MxAtomId* g_copterScript;
extern MxAtomId* g_dunecarScript;
extern MxAtomId* g_jetskiScript;
extern MxAtomId* g_racecarScript;
extern MxAtomId* g_carraceScript;
extern MxAtomId* g_carracerScript;
extern MxAtomId* g_jetraceScript;
extern MxAtomId* g_jetracerScript;
extern MxAtomId* g_isleScript;
extern MxAtomId* g_elevbottScript;
extern MxAtomId* g_infodoorScript;
extern MxAtomId* g_infomainScript;
extern MxAtomId* g_infoscorScript;
extern MxAtomId* g_regbookScript;
extern MxAtomId* g_histbookScript;
extern MxAtomId* g_hospitalScript;
extern MxAtomId* g_policeScript;
extern MxAtomId* g_garageScript;
extern MxAtomId* g_act2mainScript;
extern MxAtomId* g_act3Script;
extern MxAtomId* g_jukeboxScript;
extern MxAtomId* g_pz5Script;
extern MxAtomId* g_introScript;
extern MxAtomId* g_testScript;
extern MxAtomId* g_jukeboxwScript;
extern MxAtomId* g_sndAnimScript;
extern MxAtomId* g_creditsScript;
extern MxAtomId* g_nocdSourceName;
// VTABLE: LEGO1 0x100d8638
// SIZE 0x140
class LegoOmni : public MxOmni {
@ -205,12 +176,4 @@ class LegoOmni : public MxOmni {
MxBool m_unk0x13c; // 0x13c
};
const char* GetNoCD_SourceName();
LegoEntity* PickEntity(MxLong, MxLong);
LegoROI* PickROI(MxLong, MxLong);
void CreateScripts();
void DestroyScripts();
#endif // LEGOOMNI_H
#endif // LEGOMAIN_H

View file

@ -11,8 +11,11 @@ class LegoEntity;
class LegoFile;
class LegoAnimPresenter;
class LegoNamedTexture;
class LegoROI;
class LegoTreeNode;
LegoEntity* PickEntity(MxLong, MxLong);
LegoROI* PickROI(MxLong, MxLong);
MxS16 CountTotalTreeNodes(LegoTreeNode* p_node);
void FUN_1003e050(LegoAnimPresenter* p_presenter);
Extra::ActionType MatchActionString(const char*);

View file

@ -0,0 +1,39 @@
#ifndef SCRIPTS_H
#define SCRIPTS_H
class MxAtomId;
extern MxAtomId* g_copterScript;
extern MxAtomId* g_dunecarScript;
extern MxAtomId* g_jetskiScript;
extern MxAtomId* g_racecarScript;
extern MxAtomId* g_carraceScript;
extern MxAtomId* g_carracerScript;
extern MxAtomId* g_jetraceScript;
extern MxAtomId* g_jetracerScript;
extern MxAtomId* g_isleScript;
extern MxAtomId* g_elevbottScript;
extern MxAtomId* g_infodoorScript;
extern MxAtomId* g_infomainScript;
extern MxAtomId* g_infoscorScript;
extern MxAtomId* g_regbookScript;
extern MxAtomId* g_histbookScript;
extern MxAtomId* g_hospitalScript;
extern MxAtomId* g_policeScript;
extern MxAtomId* g_garageScript;
extern MxAtomId* g_act2mainScript;
extern MxAtomId* g_act3Script;
extern MxAtomId* g_jukeboxScript;
extern MxAtomId* g_pz5Script;
extern MxAtomId* g_introScript;
extern MxAtomId* g_testScript;
extern MxAtomId* g_jukeboxwScript;
extern MxAtomId* g_sndAnimScript;
extern MxAtomId* g_creditsScript;
extern MxAtomId* g_nocdSourceName;
void CreateScripts();
void DestroyScripts();
const char* GetNoCD_SourceName();
#endif // SCRIPTS_H

View file

@ -4,7 +4,6 @@
#include "decomp.h"
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legovariables.h"
#include "legoworld.h"
#include "misc.h"
@ -12,6 +11,7 @@
#include "mxticklemanager.h"
#include "mxtimer.h"
#include "mxvariabletable.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(Ambulance, 0x184)

View file

@ -3,10 +3,10 @@
#include "isle_actions.h"
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(Bike, 0x164)

View file

@ -12,11 +12,11 @@
#include "legocameracontroller.h"
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(Helicopter, 0x230)
DECOMP_SIZE_ASSERT(Mx3DPointFloat, 0x14)

View file

@ -1,10 +1,10 @@
#include "isleactor.h"
#include "legoentity.h"
#include "legoomni.h"
#include "legoworld.h"
#include "misc.h"
#include "mxnotificationparam.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(IsleActor, 0x7c)

View file

@ -4,13 +4,13 @@
#include "jukebox_actions.h"
#include "legoanimationmanager.h"
#include "legonavcontroller.h"
#include "legoomni.h"
#include "legopathboundary.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"
#include "mxnotificationparam.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(IslePathActor, 0x160)
DECOMP_SIZE_ASSERT(IslePathActor::SpawnLocation, 0x38)

View file

@ -6,7 +6,6 @@
#include "jukebox_actions.h"
#include "jukeboxstate.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
@ -14,6 +13,7 @@
#include "mxnotificationmanager.h"
#include "mxnotificationparam.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(JukeBoxEntity, 0x6c)

View file

@ -3,7 +3,6 @@
#include "isle_actions.h"
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoworld.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
@ -12,6 +11,7 @@
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "radiostate.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(Radio, 0x10)

View file

@ -7,7 +7,6 @@
#include "jukebox_actions.h"
#include "legoanimationmanager.h"
#include "legocontrolmanager.h"
#include "legoomni.h"
#include "legoutils.h"
#include "misc.h"
#include "mxmisc.h"
@ -15,6 +14,7 @@
#include "mxstillpresenter.h"
#include "mxtransitionmanager.h"
#include "pizza.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(SkateBoard, 0x168)

View file

@ -1,6 +1,6 @@
#include "mxbackgroundaudiomanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "misc.h"
#include "mxaudiopresenter.h"
#include "mxcompositepresenter.h"

View file

@ -2,7 +2,7 @@
#include "define.h"
#include "extra.h"
#include "legoomni.h"
#include "legomain.h"
#include "legoutils.h"
#include "mxcompositepresenter.h"
#include "mxdssubscriber.h"

View file

@ -7,7 +7,7 @@
#include "legoendanimnotificationparam.h"
#include "legoextraactor.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legomain.h"
#include "legoroilist.h"
#include "legovideomanager.h"
#include "legoworld.h"

View file

@ -33,8 +33,8 @@
#include "legobuildingmanager.h"
#include "legocharactermanager.h"
#include "legofullscreenmovie.h"
#include "legomain.h"
#include "legonavcontroller.h"
#include "legoomni.h"
#include "legoplantmanager.h"
#include "legostate.h"
#include "legoutils.h"
@ -54,6 +54,7 @@
#include "racecar_actions.h"
#include "regbook_actions.h"
#include "roi/legoroi.h"
#include "scripts.h"
#include "sndanim_actions.h"
#include <stdio.h>

View file

@ -7,8 +7,8 @@
#include "legoanimpresenter.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legomain.h"
#include "legonamedtexture.h"
#include "legoomni.h"
#include "legosoundmanager.h"
#include "legovideomanager.h"
#include "legoworld.h"
@ -23,11 +23,25 @@
#include "mxutilities.h"
#include "mxvariabletable.h"
#include "realtime/realtime.h"
#include "scripts.h"
#include <process.h>
#include <string.h>
#include <vec.h>
// FUNCTION: LEGO1 0x1003dd70
LegoROI* PickROI(MxLong p_a, MxLong p_b)
{
return (LegoROI*) VideoManager()->Get3DManager()->GetLego3DView()->Pick(p_a, p_b);
}
// STUB: LEGO1 0x1003ddc0
LegoEntity* PickEntity(MxLong, MxLong)
{
// TODO
return NULL;
}
// FUNCTION: LEGO1 0x1003df90
MxS16 CountTotalTreeNodes(LegoTreeNode* p_node)
{

View file

@ -2,11 +2,12 @@
#include "3dmanager/lego3dmanager.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "legovideomanager.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
#include "roi/legoroi.h"
#include "scripts.h"
// GLOBAL: LEGO1 0x100f4c58
MxBool g_isWorldActive = TRUE;

View file

@ -7,7 +7,7 @@
#include "legocameralocations.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "legosoundmanager.h"
#include "legoutils.h"
#include "legovideomanager.h"

View file

@ -1,7 +1,7 @@
#include "3dmanager/lego3dview.h"
#include "legoentity.h"
#include "legomain.h"
#include "legonavcontroller.h"
#include "legoomni.h"
#include "legopointofviewcontroller.h"
#include "legosoundmanager.h"
#include "misc.h"

View file

@ -11,8 +11,8 @@
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legolocomotionanimpresenter.h"
#include "legomain.h"
#include "legonavcontroller.h"
#include "legoomni.h"
#include "legoplantmanager.h"
#include "legosoundmanager.h"
#include "legoutils.h"

View file

@ -5,8 +5,8 @@
#include "legoanimationmanager.h"
#include "legobuildingmanager.h"
#include "legoentity.h"
#include "legomain.h"
#include "legomodelpresenter.h"
#include "legoomni.h"
#include "legopartpresenter.h"
#include "legoplantmanager.h"
#include "legotexturepresenter.h"

View file

@ -6,11 +6,11 @@
#include "islepathactor.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(GasStationEntity, 0x68)

View file

@ -6,11 +6,11 @@
#include "islepathactor.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(HospitalEntity, 0x68)

View file

@ -12,11 +12,11 @@
#include "legoact2state.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(InfoCenterEntity, 0x68)

View file

@ -2,7 +2,8 @@
#include "legocameracontroller.h"
#include "legocontrolmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"

View file

@ -6,11 +6,11 @@
#include "islepathactor.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(BeachHouseEntity, 0x68)

View file

@ -2,9 +2,9 @@
#include "jukebox.h"
#include "jukebox_actions.h"
#include "legoomni.h"
#include "mxmisc.h"
#include "mxtimer.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(RadioState, 0x30)

View file

@ -1,4 +1,4 @@
#include "legoomni.h"
#include "legomain.h"
#include "3dmanager/lego3dmanager.h"
#include "islepathactor.h"
@ -30,6 +30,7 @@
#include "mxticklemanager.h"
#include "mxtransitionmanager.h"
#include "mxvariabletable.h"
#include "scripts.h"
#include "viewmanager/viewmanager.h"
DECOMP_SIZE_ASSERT(LegoOmni, 0x140)
@ -37,209 +38,10 @@ DECOMP_SIZE_ASSERT(LegoOmni::ScriptContainer, 0x1c)
DECOMP_SIZE_ASSERT(LegoWorldList, 0x18)
DECOMP_SIZE_ASSERT(LegoWorldListCursor, 0x10)
// GLOBAL: LEGO1 0x100f451c
MxAtomId* g_copterScript = NULL;
// GLOBAL: LEGO1 0x100f4520
MxAtomId* g_dunecarScript = NULL;
// GLOBAL: LEGO1 0x100f4524
MxAtomId* g_jetskiScript = NULL;
// GLOBAL: LEGO1 0x100f4528
MxAtomId* g_racecarScript = NULL;
// GLOBAL: LEGO1 0x100f452c
MxAtomId* g_carraceScript = NULL;
// GLOBAL: LEGO1 0x100f4530
MxAtomId* g_carracerScript = NULL;
// GLOBAL: LEGO1 0x100f4534
MxAtomId* g_jetraceScript = NULL;
// GLOBAL: LEGO1 0x100f4538
MxAtomId* g_jetracerScript = NULL;
// GLOBAL: LEGO1 0x100f453c
MxAtomId* g_isleScript = NULL;
// GLOBAL: LEGO1 0x100f4540
MxAtomId* g_elevbottScript = NULL;
// GLOBAL: LEGO1 0x100f4544
MxAtomId* g_infodoorScript = NULL;
// GLOBAL: LEGO1 0x100f4548
MxAtomId* g_infomainScript = NULL;
// GLOBAL: LEGO1 0x100f454c
MxAtomId* g_infoscorScript = NULL;
// GLOBAL: LEGO1 0x100f4550
MxAtomId* g_regbookScript = NULL;
// GLOBAL: LEGO1 0x100f4554
MxAtomId* g_histbookScript = NULL;
// GLOBAL: LEGO1 0x100f4558
MxAtomId* g_hospitalScript = NULL;
// GLOBAL: LEGO1 0x100f455c
MxAtomId* g_policeScript = NULL;
// GLOBAL: LEGO1 0x100f4560
MxAtomId* g_garageScript = NULL;
// GLOBAL: LEGO1 0x100f4564
MxAtomId* g_act2mainScript = NULL;
// GLOBAL: LEGO1 0x100f4568
MxAtomId* g_act3Script = NULL;
// GLOBAL: LEGO1 0x100f456c
MxAtomId* g_jukeboxScript = NULL;
// GLOBAL: LEGO1 0x100f4570
MxAtomId* g_pz5Script = NULL;
// GLOBAL: LEGO1 0x100f4574
MxAtomId* g_introScript = NULL;
// GLOBAL: LEGO1 0x100f4578
MxAtomId* g_testScript = NULL;
// GLOBAL: LEGO1 0x100f457c
MxAtomId* g_jukeboxwScript = NULL;
// GLOBAL: LEGO1 0x100f4580
MxAtomId* g_sndAnimScript = NULL;
// GLOBAL: LEGO1 0x100f4584
MxAtomId* g_creditsScript = NULL;
// GLOBAL: LEGO1 0x100f4588
MxAtomId* g_nocdSourceName = NULL;
// GLOBAL: LEGO1 0x100f6718
// STRING: LEGO1 0x100f6710
const char* g_current = "current";
// FUNCTION: LEGO1 0x1003dd70
LegoROI* PickROI(MxLong p_a, MxLong p_b)
{
return (LegoROI*) VideoManager()->Get3DManager()->GetLego3DView()->Pick(p_a, p_b);
}
// STUB: LEGO1 0x1003ddc0
LegoEntity* PickEntity(MxLong, MxLong)
{
// TODO
return NULL;
}
// FUNCTION: LEGO1 0x100528e0
void CreateScripts()
{
g_copterScript = new MxAtomId("\\lego\\scripts\\build\\copter", e_lowerCase2);
g_dunecarScript = new MxAtomId("\\lego\\scripts\\build\\dunecar", e_lowerCase2);
g_jetskiScript = new MxAtomId("\\lego\\scripts\\build\\jetski", e_lowerCase2);
g_racecarScript = new MxAtomId("\\lego\\scripts\\build\\racecar", e_lowerCase2);
g_carraceScript = new MxAtomId("\\lego\\scripts\\race\\carrace", e_lowerCase2);
g_carracerScript = new MxAtomId("\\lego\\scripts\\race\\carracer", e_lowerCase2);
g_jetraceScript = new MxAtomId("\\lego\\scripts\\race\\jetrace", e_lowerCase2);
g_jetracerScript = new MxAtomId("\\lego\\scripts\\race\\jetracer", e_lowerCase2);
g_isleScript = new MxAtomId("\\lego\\scripts\\isle\\isle", e_lowerCase2);
g_elevbottScript = new MxAtomId("\\lego\\scripts\\infocntr\\elevbott", e_lowerCase2);
g_infodoorScript = new MxAtomId("\\lego\\scripts\\infocntr\\infodoor", e_lowerCase2);
g_infomainScript = new MxAtomId("\\lego\\scripts\\infocntr\\infomain", e_lowerCase2);
g_infoscorScript = new MxAtomId("\\lego\\scripts\\infocntr\\infoscor", e_lowerCase2);
g_regbookScript = new MxAtomId("\\lego\\scripts\\infocntr\\regbook", e_lowerCase2);
g_histbookScript = new MxAtomId("\\lego\\scripts\\infocntr\\histbook", e_lowerCase2);
g_hospitalScript = new MxAtomId("\\lego\\scripts\\hospital\\hospital", e_lowerCase2);
g_policeScript = new MxAtomId("\\lego\\scripts\\police\\police", e_lowerCase2);
g_garageScript = new MxAtomId("\\lego\\scripts\\garage\\garage", e_lowerCase2);
g_act2mainScript = new MxAtomId("\\lego\\scripts\\act2\\act2main", e_lowerCase2);
g_act3Script = new MxAtomId("\\lego\\scripts\\act3\\act3", e_lowerCase2);
g_jukeboxScript = new MxAtomId("\\lego\\scripts\\isle\\jukebox", e_lowerCase2);
g_pz5Script = new MxAtomId("\\lego\\scripts\\isle\\pz5", e_lowerCase2);
g_introScript = new MxAtomId("\\lego\\scripts\\intro", e_lowerCase2);
g_testScript = new MxAtomId("\\lego\\scripts\\test\\test", e_lowerCase2);
g_jukeboxwScript = new MxAtomId("\\lego\\scripts\\isle\\jukeboxw", e_lowerCase2);
g_sndAnimScript = new MxAtomId("\\lego\\scripts\\sndanim", e_lowerCase2);
g_creditsScript = new MxAtomId("\\lego\\scripts\\credits", e_lowerCase2);
g_nocdSourceName = new MxAtomId("\\lego\\scripts\\nocd", e_lowerCase2);
}
// FUNCTION: LEGO1 0x100530c0
void DestroyScripts()
{
delete g_copterScript;
delete g_dunecarScript;
delete g_jetskiScript;
delete g_racecarScript;
delete g_carraceScript;
delete g_carracerScript;
delete g_jetraceScript;
delete g_jetracerScript;
delete g_isleScript;
delete g_elevbottScript;
delete g_infodoorScript;
delete g_infomainScript;
delete g_infoscorScript;
delete g_regbookScript;
delete g_histbookScript;
delete g_hospitalScript;
delete g_policeScript;
delete g_garageScript;
delete g_act2mainScript;
delete g_act3Script;
delete g_jukeboxScript;
delete g_pz5Script;
delete g_introScript;
delete g_testScript;
delete g_jukeboxwScript;
delete g_sndAnimScript;
delete g_creditsScript;
delete g_nocdSourceName;
g_copterScript = NULL;
g_dunecarScript = NULL;
g_jetskiScript = NULL;
g_racecarScript = NULL;
g_carraceScript = NULL;
g_carracerScript = NULL;
g_jetraceScript = NULL;
g_jetracerScript = NULL;
g_isleScript = NULL;
g_elevbottScript = NULL;
g_infodoorScript = NULL;
g_infomainScript = NULL;
g_infoscorScript = NULL;
g_regbookScript = NULL;
g_histbookScript = NULL;
g_hospitalScript = NULL;
g_policeScript = NULL;
g_garageScript = NULL;
g_act2mainScript = NULL;
g_act3Script = NULL;
g_jukeboxScript = NULL;
g_pz5Script = NULL;
g_introScript = NULL;
g_testScript = NULL;
g_testScript = NULL;
g_jukeboxwScript = NULL;
g_sndAnimScript = NULL;
g_creditsScript = NULL;
g_nocdSourceName = NULL;
}
// FUNCTION: LEGO1 0x10053430
const char* GetNoCD_SourceName()
{
return g_nocdSourceName->GetInternal();
}
// FUNCTION: LEGO1 0x10058a00
LegoOmni::LegoOmni()
{

View file

@ -0,0 +1,189 @@
#include "scripts.h"
#include "mxatom.h"
// GLOBAL: LEGO1 0x100f451c
MxAtomId* g_copterScript = NULL;
// GLOBAL: LEGO1 0x100f4520
MxAtomId* g_dunecarScript = NULL;
// GLOBAL: LEGO1 0x100f4524
MxAtomId* g_jetskiScript = NULL;
// GLOBAL: LEGO1 0x100f4528
MxAtomId* g_racecarScript = NULL;
// GLOBAL: LEGO1 0x100f452c
MxAtomId* g_carraceScript = NULL;
// GLOBAL: LEGO1 0x100f4530
MxAtomId* g_carracerScript = NULL;
// GLOBAL: LEGO1 0x100f4534
MxAtomId* g_jetraceScript = NULL;
// GLOBAL: LEGO1 0x100f4538
MxAtomId* g_jetracerScript = NULL;
// GLOBAL: LEGO1 0x100f453c
MxAtomId* g_isleScript = NULL;
// GLOBAL: LEGO1 0x100f4540
MxAtomId* g_elevbottScript = NULL;
// GLOBAL: LEGO1 0x100f4544
MxAtomId* g_infodoorScript = NULL;
// GLOBAL: LEGO1 0x100f4548
MxAtomId* g_infomainScript = NULL;
// GLOBAL: LEGO1 0x100f454c
MxAtomId* g_infoscorScript = NULL;
// GLOBAL: LEGO1 0x100f4550
MxAtomId* g_regbookScript = NULL;
// GLOBAL: LEGO1 0x100f4554
MxAtomId* g_histbookScript = NULL;
// GLOBAL: LEGO1 0x100f4558
MxAtomId* g_hospitalScript = NULL;
// GLOBAL: LEGO1 0x100f455c
MxAtomId* g_policeScript = NULL;
// GLOBAL: LEGO1 0x100f4560
MxAtomId* g_garageScript = NULL;
// GLOBAL: LEGO1 0x100f4564
MxAtomId* g_act2mainScript = NULL;
// GLOBAL: LEGO1 0x100f4568
MxAtomId* g_act3Script = NULL;
// GLOBAL: LEGO1 0x100f456c
MxAtomId* g_jukeboxScript = NULL;
// GLOBAL: LEGO1 0x100f4570
MxAtomId* g_pz5Script = NULL;
// GLOBAL: LEGO1 0x100f4574
MxAtomId* g_introScript = NULL;
// GLOBAL: LEGO1 0x100f4578
MxAtomId* g_testScript = NULL;
// GLOBAL: LEGO1 0x100f457c
MxAtomId* g_jukeboxwScript = NULL;
// GLOBAL: LEGO1 0x100f4580
MxAtomId* g_sndAnimScript = NULL;
// GLOBAL: LEGO1 0x100f4584
MxAtomId* g_creditsScript = NULL;
// GLOBAL: LEGO1 0x100f4588
MxAtomId* g_nocdSourceName = NULL;
// FUNCTION: LEGO1 0x100528e0
void CreateScripts()
{
g_copterScript = new MxAtomId("\\lego\\scripts\\build\\copter", e_lowerCase2);
g_dunecarScript = new MxAtomId("\\lego\\scripts\\build\\dunecar", e_lowerCase2);
g_jetskiScript = new MxAtomId("\\lego\\scripts\\build\\jetski", e_lowerCase2);
g_racecarScript = new MxAtomId("\\lego\\scripts\\build\\racecar", e_lowerCase2);
g_carraceScript = new MxAtomId("\\lego\\scripts\\race\\carrace", e_lowerCase2);
g_carracerScript = new MxAtomId("\\lego\\scripts\\race\\carracer", e_lowerCase2);
g_jetraceScript = new MxAtomId("\\lego\\scripts\\race\\jetrace", e_lowerCase2);
g_jetracerScript = new MxAtomId("\\lego\\scripts\\race\\jetracer", e_lowerCase2);
g_isleScript = new MxAtomId("\\lego\\scripts\\isle\\isle", e_lowerCase2);
g_elevbottScript = new MxAtomId("\\lego\\scripts\\infocntr\\elevbott", e_lowerCase2);
g_infodoorScript = new MxAtomId("\\lego\\scripts\\infocntr\\infodoor", e_lowerCase2);
g_infomainScript = new MxAtomId("\\lego\\scripts\\infocntr\\infomain", e_lowerCase2);
g_infoscorScript = new MxAtomId("\\lego\\scripts\\infocntr\\infoscor", e_lowerCase2);
g_regbookScript = new MxAtomId("\\lego\\scripts\\infocntr\\regbook", e_lowerCase2);
g_histbookScript = new MxAtomId("\\lego\\scripts\\infocntr\\histbook", e_lowerCase2);
g_hospitalScript = new MxAtomId("\\lego\\scripts\\hospital\\hospital", e_lowerCase2);
g_policeScript = new MxAtomId("\\lego\\scripts\\police\\police", e_lowerCase2);
g_garageScript = new MxAtomId("\\lego\\scripts\\garage\\garage", e_lowerCase2);
g_act2mainScript = new MxAtomId("\\lego\\scripts\\act2\\act2main", e_lowerCase2);
g_act3Script = new MxAtomId("\\lego\\scripts\\act3\\act3", e_lowerCase2);
g_jukeboxScript = new MxAtomId("\\lego\\scripts\\isle\\jukebox", e_lowerCase2);
g_pz5Script = new MxAtomId("\\lego\\scripts\\isle\\pz5", e_lowerCase2);
g_introScript = new MxAtomId("\\lego\\scripts\\intro", e_lowerCase2);
g_testScript = new MxAtomId("\\lego\\scripts\\test\\test", e_lowerCase2);
g_jukeboxwScript = new MxAtomId("\\lego\\scripts\\isle\\jukeboxw", e_lowerCase2);
g_sndAnimScript = new MxAtomId("\\lego\\scripts\\sndanim", e_lowerCase2);
g_creditsScript = new MxAtomId("\\lego\\scripts\\credits", e_lowerCase2);
g_nocdSourceName = new MxAtomId("\\lego\\scripts\\nocd", e_lowerCase2);
}
// FUNCTION: LEGO1 0x100530c0
void DestroyScripts()
{
delete g_copterScript;
delete g_dunecarScript;
delete g_jetskiScript;
delete g_racecarScript;
delete g_carraceScript;
delete g_carracerScript;
delete g_jetraceScript;
delete g_jetracerScript;
delete g_isleScript;
delete g_elevbottScript;
delete g_infodoorScript;
delete g_infomainScript;
delete g_infoscorScript;
delete g_regbookScript;
delete g_histbookScript;
delete g_hospitalScript;
delete g_policeScript;
delete g_garageScript;
delete g_act2mainScript;
delete g_act3Script;
delete g_jukeboxScript;
delete g_pz5Script;
delete g_introScript;
delete g_testScript;
delete g_jukeboxwScript;
delete g_sndAnimScript;
delete g_creditsScript;
delete g_nocdSourceName;
g_copterScript = NULL;
g_dunecarScript = NULL;
g_jetskiScript = NULL;
g_racecarScript = NULL;
g_carraceScript = NULL;
g_carracerScript = NULL;
g_jetraceScript = NULL;
g_jetracerScript = NULL;
g_isleScript = NULL;
g_elevbottScript = NULL;
g_infodoorScript = NULL;
g_infomainScript = NULL;
g_infoscorScript = NULL;
g_regbookScript = NULL;
g_histbookScript = NULL;
g_hospitalScript = NULL;
g_policeScript = NULL;
g_garageScript = NULL;
g_act2mainScript = NULL;
g_act3Script = NULL;
g_jukeboxScript = NULL;
g_pz5Script = NULL;
g_introScript = NULL;
g_testScript = NULL;
g_testScript = NULL;
g_jukeboxwScript = NULL;
g_sndAnimScript = NULL;
g_creditsScript = NULL;
g_nocdSourceName = NULL;
}
// FUNCTION: LEGO1 0x10053430
const char* GetNoCD_SourceName()
{
return g_nocdSourceName->GetInternal();
}

View file

@ -6,11 +6,11 @@
#include "islepathactor.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(PoliceEntity, 0x68)

View file

@ -1,12 +1,12 @@
#include "policestate.h"
#include "islepathactor.h"
#include "legoomni.h"
#include "misc.h"
#include "mxdsaction.h"
#include "mxmisc.h"
#include "police.h"
#include "police_actions.h"
#include "scripts.h"
#include <stdlib.h>

View file

@ -6,11 +6,11 @@
#include "islepathactor.h"
#include "legoanimationmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(RaceStandsEntity, 0x68)

View file

@ -1,6 +1,6 @@
#include "legolocomotionanimpresenter.h"
#include "legoomni.h"
#include "legomain.h"
#include "legoworld.h"
#include "misc.h"

View file

@ -2,7 +2,7 @@
#include "3dmanager/lego3dmanager.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "misc.h"
#include "mxdirectx/mxdirect3d.h"
#include "mxdirectx/mxstopwatch.h"

View file

@ -7,7 +7,7 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "legovariables.h"
#include "misc.h"
#include "mxmisc.h"

View file

@ -8,7 +8,7 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
@ -18,6 +18,7 @@
#include "mxtimer.h"
#include "mxtransitionmanager.h"
#include "radio.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(GasStation, 0x128)

View file

@ -8,7 +8,7 @@
#include "jukebox_actions.h"
#include "legocontrolmanager.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "legoutils.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
@ -19,6 +19,7 @@
#include "mxticklemanager.h"
#include "mxtimer.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(Hospital, 0x12c)

View file

@ -14,7 +14,7 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "legoplantmanager.h"
#include "legoutils.h"
#include "legovideomanager.h"
@ -30,6 +30,7 @@
#include "mxtransitionmanager.h"
#include "mxutilities.h"
#include "radiostate.h"
#include "scripts.h"
#include "sndanim_actions.h"
#include "viewmanager/viewmanager.h"

View file

@ -7,13 +7,14 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxtransitionmanager.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(InfocenterDoor, 0xfc)

View file

@ -17,7 +17,7 @@
#include "legobackgroundcolor.h"
#include "legocontrolmanager.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "legoutils.h"
#include "legovariables.h"
#include "legovideomanager.h"
@ -31,6 +31,7 @@
#include "mxtransitionmanager.h"
#include "mxvariabletable.h"
#include "pizza.h"
#include "scripts.h"
#include "skateboard.h"
#include "towtrack.h"

View file

@ -7,7 +7,7 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "misc.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"

View file

@ -5,7 +5,7 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
#include "mxbackgroundaudiomanager.h"

View file

@ -5,7 +5,6 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
#include "mxbackgroundaudiomanager.h"
@ -17,6 +16,7 @@
#include "mxtimer.h"
#include "mxtransitionmanager.h"
#include "regbook_actions.h"
#include "scripts.h"
DECOMP_SIZE_ASSERT(RegistrationBook, 0x2d0)

View file

@ -9,7 +9,7 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legomain.h"
#include "misc.h"
#include "misc/legocontainer.h"
#include "mxactionnotificationparam.h"
@ -20,6 +20,7 @@
#include "pizzamissionstate.h"
#include "racestate.h"
#include "scorestate.h"
#include "scripts.h"
#include "towtrackmissionstate.h"
DECOMP_SIZE_ASSERT(Score, 0x104)