mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 00:31:16 +00:00
LegoWorldList
This commit is contained in:
parent
a7b81539b1
commit
43d79fd818
@ -98,6 +98,7 @@ add_library(lego1 SHARED
|
|||||||
LEGO1/legovehiclebuildstate.cpp
|
LEGO1/legovehiclebuildstate.cpp
|
||||||
LEGO1/legovideomanager.cpp
|
LEGO1/legovideomanager.cpp
|
||||||
LEGO1/legoworld.cpp
|
LEGO1/legoworld.cpp
|
||||||
|
LEGO1/legoworldlist.cpp
|
||||||
LEGO1/legoworldpresenter.cpp
|
LEGO1/legoworldpresenter.cpp
|
||||||
LEGO1/motorcycle.cpp
|
LEGO1/motorcycle.cpp
|
||||||
LEGO1/mxactionnotificationparam.cpp
|
LEGO1/mxactionnotificationparam.cpp
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
#include "legoutil.h"
|
#include "legoutil.h"
|
||||||
#include "legovideomanager.h"
|
#include "legovideomanager.h"
|
||||||
#include "legoworld.h"
|
#include "legoworld.h"
|
||||||
|
#include "legoworldlist.h"
|
||||||
#include "mxautolocker.h"
|
#include "mxautolocker.h"
|
||||||
#include "mxbackgroundaudiomanager.h"
|
#include "mxbackgroundaudiomanager.h"
|
||||||
#include "mxdsfile.h"
|
#include "mxdsfile.h"
|
||||||
@ -358,7 +359,7 @@ void LegoOmni::Init()
|
|||||||
m_inputMgr = NULL;
|
m_inputMgr = NULL;
|
||||||
m_unk6c = 0;
|
m_unk6c = 0;
|
||||||
m_gifManager = NULL;
|
m_gifManager = NULL;
|
||||||
m_unk78 = 0;
|
m_worldList = NULL;
|
||||||
m_currentWorld = NULL;
|
m_currentWorld = NULL;
|
||||||
m_unk80 = FALSE;
|
m_unk80 = FALSE;
|
||||||
m_currentVehicle = NULL;
|
m_currentVehicle = NULL;
|
||||||
@ -427,9 +428,9 @@ MxResult LegoOmni::Create(MxOmniCreateParam& p)
|
|||||||
m_animationManager = new LegoAnimationManager();
|
m_animationManager = new LegoAnimationManager();
|
||||||
m_buildingManager = new LegoBuildingManager();
|
m_buildingManager = new LegoBuildingManager();
|
||||||
m_gameState = new LegoGameState();
|
m_gameState = new LegoGameState();
|
||||||
// TODO: initialize list at m_unk78
|
m_worldList = new LegoWorldList();
|
||||||
|
|
||||||
if (m_unk6c && m_gifManager && m_unk78 && m_plantManager && m_animationManager && m_buildingManager) {
|
if (m_unk6c && m_gifManager && m_worldList && m_plantManager && m_animationManager && m_buildingManager) {
|
||||||
// TODO: initialize a bunch of MxVariables
|
// TODO: initialize a bunch of MxVariables
|
||||||
RegisterScripts();
|
RegisterScripts();
|
||||||
FUN_1001a700();
|
FUN_1001a700();
|
||||||
|
|||||||
@ -21,6 +21,7 @@ class LegoSoundManager;
|
|||||||
class LegoUnkSaveDataWriter;
|
class LegoUnkSaveDataWriter;
|
||||||
class LegoVideoManager;
|
class LegoVideoManager;
|
||||||
class LegoWorld;
|
class LegoWorld;
|
||||||
|
class LegoWorldList;
|
||||||
class MxAtomId;
|
class MxAtomId;
|
||||||
class MxBackgroundAudioManager;
|
class MxBackgroundAudioManager;
|
||||||
class MxDSFile;
|
class MxDSFile;
|
||||||
@ -117,7 +118,7 @@ class LegoOmni : public MxOmni {
|
|||||||
undefined4 m_unk6c;
|
undefined4 m_unk6c;
|
||||||
LegoInputManager* m_inputMgr; // 0x70
|
LegoInputManager* m_inputMgr; // 0x70
|
||||||
GifManager* m_gifManager;
|
GifManager* m_gifManager;
|
||||||
undefined4 m_unk78;
|
LegoWorldList* m_worldList; // 0x78
|
||||||
LegoWorld* m_currentWorld;
|
LegoWorld* m_currentWorld;
|
||||||
MxBool m_unk80;
|
MxBool m_unk80;
|
||||||
LegoNavController* m_navController; // 0x84
|
LegoNavController* m_navController; // 0x84
|
||||||
|
|||||||
36
LEGO1/legoworldlist.cpp
Normal file
36
LEGO1/legoworldlist.cpp
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include "legoworldlist.h"
|
||||||
|
|
||||||
|
#include "legoworld.h"
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x100598d0
|
||||||
|
MxS8 LegoWorldList::Compare(LegoWorld* p_a, LegoWorld* p_b)
|
||||||
|
{
|
||||||
|
return p_a == p_b ? 0 : p_a < p_b ? -1 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TEMPLATE: LEGO1 0x100598f0
|
||||||
|
// MxCollection<LegoWorld *>::Compare
|
||||||
|
|
||||||
|
// TEMPLATE: LEGO1 0x10059900
|
||||||
|
// MxCollection<LegoWorld *>::~MxCollection<LegoWorld *>
|
||||||
|
|
||||||
|
// TEMPLATE: LEGO1 0x10059950
|
||||||
|
// MxCollection<LegoWorld *>::Destroy
|
||||||
|
|
||||||
|
// TEMPLATE: LEGO1 0x10059960
|
||||||
|
// MxList<LegoWorld *>::~MxList<LegoWorld *>
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x100599f0
|
||||||
|
void LegoWorldList::Destroy(LegoWorld* p_world)
|
||||||
|
{
|
||||||
|
delete p_world;
|
||||||
|
}
|
||||||
|
|
||||||
|
// SYNTHETIC: LEGO1 0x10059ac0
|
||||||
|
// MxCollection<LegoWorld *>::`scalar deleting destructor'
|
||||||
|
|
||||||
|
// SYNTHETIC: LEGO1 0x10059b30
|
||||||
|
// MxList<LegoWorld *>::`scalar deleting destructor'
|
||||||
|
|
||||||
|
// SYNTHETIC: LEGO1 0x10059be0
|
||||||
|
// MxPtrList<LegoWorld>::`scalar deleting destructor'
|
||||||
27
LEGO1/legoworldlist.h
Normal file
27
LEGO1/legoworldlist.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#ifndef LEGOWORLDLIST_H
|
||||||
|
#define LEGOWORLDLIST_H
|
||||||
|
|
||||||
|
#include "mxlist.h"
|
||||||
|
#include "mxtypes.h"
|
||||||
|
|
||||||
|
class LegoWorld;
|
||||||
|
|
||||||
|
// VTABLE: LEGO1 0x100d8700
|
||||||
|
// class MxCollection<LegoWorld *>
|
||||||
|
|
||||||
|
// VTABLE: LEGO1 0x100d8718
|
||||||
|
// class MxList<LegoWorld *>
|
||||||
|
|
||||||
|
// VTABLE: LEGO1 0x100d8730
|
||||||
|
// class MxPtrList<LegoWorld>
|
||||||
|
|
||||||
|
// VTABLE: LEGO1 0x100d8680
|
||||||
|
// SIZE 0x18
|
||||||
|
class LegoWorldList : public MxPtrList<LegoWorld> {
|
||||||
|
public:
|
||||||
|
LegoWorldList() : MxPtrList<LegoWorld>(Destroy) {}
|
||||||
|
virtual MxS8 Compare(LegoWorld*, LegoWorld*) override; // vtable+0x14
|
||||||
|
static void Destroy(LegoWorld*);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LEGOWORLDLIST_H
|
||||||
Loading…
Reference in New Issue
Block a user