Refactor files based on beta debug build (#645)

* Rename LegoUnkSaveDataWriter -> LegoCharacterManager

* Refactor mxomni into mxomni/mxmisc

* Refactor legoomni into legoomni/misc

* Resolve deps

* Refactor atom

* Refactor mxutil

* Refactor mxio

* Rename/relocate files

* Fix format
This commit is contained in:
Christian Semmler 2024-03-09 15:07:52 -05:00 committed by GitHub
parent c62469fef4
commit 8069923651
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
150 changed files with 734 additions and 609 deletions

View file

@ -211,18 +211,18 @@ add_library(omni STATIC
LEGO1/omni/src/audio/mxsoundmanager.cpp
LEGO1/omni/src/audio/mxsoundpresenter.cpp
LEGO1/omni/src/audio/mxwavepresenter.cpp
LEGO1/omni/src/common/mxatomidcounter.cpp
LEGO1/omni/src/common/mxatomid.cpp
LEGO1/omni/src/common/mxatom.cpp
LEGO1/omni/src/common/mxcompositepresenter.cpp
LEGO1/omni/src/common/mxcore.cpp
LEGO1/omni/src/common/mxmediamanager.cpp
LEGO1/omni/src/common/mxmediapresenter.cpp
LEGO1/omni/src/common/mxmisc.cpp
LEGO1/omni/src/common/mxobjectfactory.cpp
LEGO1/omni/src/common/mxpresenter.cpp
LEGO1/omni/src/common/mxstring.cpp
LEGO1/omni/src/common/mxticklemanager.cpp
LEGO1/omni/src/common/mxtimer.cpp
LEGO1/omni/src/common/mxutil.cpp
LEGO1/omni/src/common/mxutilities.cpp
LEGO1/omni/src/common/mxvariable.cpp
LEGO1/omni/src/common/mxvariabletable.cpp
LEGO1/omni/src/entity/mxentity.cpp
@ -241,7 +241,7 @@ add_library(omni STATIC
LEGO1/omni/src/stream/mxdsfile.cpp
LEGO1/omni/src/stream/mxdssource.cpp
LEGO1/omni/src/stream/mxdssubscriber.cpp
LEGO1/omni/src/stream/mxioinfo.cpp
LEGO1/omni/src/stream/mxio.cpp
LEGO1/omni/src/stream/mxramstreamcontroller.cpp
LEGO1/omni/src/stream/mxramstreamprovider.cpp
LEGO1/omni/src/stream/mxstreamchunk.cpp
@ -279,47 +279,62 @@ target_link_libraries(omni PRIVATE dsound winmm Smacker::Smacker)
add_library(lego1 SHARED
LEGO1/define.cpp
LEGO1/lego/legoomni/src/act1/act1state.cpp
LEGO1/lego/legoomni/src/act2/act2brick.cpp
LEGO1/lego/legoomni/src/act2/act2policestation.cpp
LEGO1/lego/legoomni/src/act2/legoact2.cpp
LEGO1/lego/legoomni/src/act2/legoact2state.cpp
LEGO1/lego/legoomni/src/act3/act3.cpp
LEGO1/lego/legoomni/src/act3/act3shark.cpp
LEGO1/lego/legoomni/src/act3/act3state.cpp
LEGO1/lego/legoomni/src/actors/ambulance.cpp
LEGO1/lego/legoomni/src/actors/bike.cpp
LEGO1/lego/legoomni/src/actors/bumpbouy.cpp
LEGO1/lego/legoomni/src/actors/doors.cpp
LEGO1/lego/legoomni/src/actors/dunebuggy.cpp
LEGO1/lego/legoomni/src/actors/helicopter.cpp
LEGO1/lego/legoomni/src/actors/isleactor.cpp
LEGO1/lego/legoomni/src/actors/islepathactor.cpp
LEGO1/lego/legoomni/src/actors/jetski.cpp
LEGO1/lego/legoomni/src/actors/jukeboxentity.cpp
LEGO1/lego/legoomni/src/actors/motorcycle.cpp
LEGO1/lego/legoomni/src/actors/pizza.cpp
LEGO1/lego/legoomni/src/actors/pizzeria.cpp
LEGO1/lego/legoomni/src/actors/racecar.cpp
LEGO1/lego/legoomni/src/actors/radio.cpp
LEGO1/lego/legoomni/src/actors/skateboard.cpp
LEGO1/lego/legoomni/src/actors/towtrack.cpp
LEGO1/lego/legoomni/src/audio/lego3dwavepresenter.cpp
LEGO1/lego/legoomni/src/audio/legocachesound.cpp
LEGO1/lego/legoomni/src/audio/legocachsound.cpp
LEGO1/lego/legoomni/src/audio/legoloadcachesoundpresenter.cpp
LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp
LEGO1/lego/legoomni/src/audio/legounknown100d5778.cpp
LEGO1/lego/legoomni/src/audio/legounknown100d6b4c.cpp
LEGO1/lego/legoomni/src/audio/mxbackgroundaudiomanager.cpp
LEGO1/lego/legoomni/src/build/buildingentity.cpp
LEGO1/lego/legoomni/src/build/dunebuggy.cpp
LEGO1/lego/legoomni/src/build/helicopter.cpp
LEGO1/lego/legoomni/src/build/helicopterstate.cpp
LEGO1/lego/legoomni/src/build/jetski.cpp
LEGO1/lego/legoomni/src/build/legobuildingmanager.cpp
LEGO1/lego/legoomni/src/build/legocarbuild.cpp
LEGO1/lego/legoomni/src/build/legovehiclebuildstate.cpp
LEGO1/lego/legoomni/src/build/racecar.cpp
LEGO1/lego/legoomni/src/common/animstate.cpp
LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp
LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp
LEGO1/lego/legoomni/src/common/legoanimmmpresenter.cpp
LEGO1/lego/legoomni/src/common/legobackgroundcolor.cpp
LEGO1/lego/legoomni/src/common/legocharactermanager.cpp
LEGO1/lego/legoomni/src/common/legofullscreenmovie.cpp
LEGO1/lego/legoomni/src/common/legogamestate.cpp
LEGO1/lego/legoomni/src/common/legoobjectfactory.cpp
LEGO1/lego/legoomni/src/common/legoplantmanager.cpp
LEGO1/lego/legoomni/src/common/legostate.cpp
LEGO1/lego/legoomni/src/common/legotextureinfo.cpp
LEGO1/lego/legoomni/src/common/legounksavedatawriter.cpp
LEGO1/lego/legoomni/src/common/legoutil.cpp
LEGO1/lego/legoomni/src/common/legoutils.cpp
LEGO1/lego/legoomni/src/common/legovariables.cpp
LEGO1/lego/legoomni/src/common/misc.cpp
LEGO1/lego/legoomni/src/common/mxcompositemediapresenter.cpp
LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp
LEGO1/lego/legoomni/src/common/mxtransitionmanager.cpp
LEGO1/lego/legoomni/src/control/legocontrolmanager.cpp
LEGO1/lego/legoomni/src/control/mxcontrolpresenter.cpp
LEGO1/lego/legoomni/src/control/legometerpresenter.cpp
LEGO1/lego/legoomni/src/entity/act2brick.cpp
LEGO1/lego/legoomni/src/entity/act2policestation.cpp
LEGO1/lego/legoomni/src/entity/legoactor.cpp
LEGO1/lego/legoomni/src/entity/legoactorpresenter.cpp
LEGO1/lego/legoomni/src/entity/legoanimactor.cpp
LEGO1/lego/legoomni/src/entity/legocameracontroller.cpp
LEGO1/lego/legoomni/src/entity/legocarraceactor.cpp
LEGO1/lego/legoomni/src/entity/legoentity.cpp
@ -327,79 +342,65 @@ add_library(lego1 SHARED
LEGO1/lego/legoomni/src/entity/legojetski.cpp
LEGO1/lego/legoomni/src/entity/legojetskiraceactor.cpp
LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp
LEGO1/lego/legoomni/src/entity/legopathactor.cpp
LEGO1/lego/legoomni/src/entity/legopovcontroller.cpp
LEGO1/lego/legoomni/src/entity/legorace.cpp
LEGO1/lego/legoomni/src/entity/legoraceactor.cpp
LEGO1/lego/legoomni/src/entity/legoracecar.cpp
LEGO1/lego/legoomni/src/entity/legoworld.cpp
LEGO1/lego/legoomni/src/entity/legoworldpresenter.cpp
LEGO1/lego/legoomni/src/gasstation/gasstation.cpp
LEGO1/lego/legoomni/src/gasstation/gasstationentity.cpp
LEGO1/lego/legoomni/src/gasstation/gasstationstate.cpp
LEGO1/lego/legoomni/src/hospital/ambulance.cpp
LEGO1/lego/legoomni/src/hospital/ambulancemissionstate.cpp
LEGO1/lego/legoomni/src/hospital/hospital.cpp
LEGO1/lego/legoomni/src/hospital/hospitalentity.cpp
LEGO1/lego/legoomni/src/hospital/hospitalstate.cpp
LEGO1/lego/legoomni/src/infocenter/elevatorbottom.cpp
LEGO1/lego/legoomni/src/infocenter/infocenter.cpp
LEGO1/lego/legoomni/src/infocenter/infocenterdoor.cpp
LEGO1/lego/legoomni/src/infocenter/infocenterentity.cpp
LEGO1/lego/legoomni/src/infocenter/infocenterstate.cpp
LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp
LEGO1/lego/legoomni/src/infocenter/score.cpp
LEGO1/lego/legoomni/src/infocenter/scorestate.cpp
LEGO1/lego/legoomni/src/input/legoinputmanager.cpp
LEGO1/lego/legoomni/src/isle/beachhouseentity.cpp
LEGO1/lego/legoomni/src/isle/bike.cpp
LEGO1/lego/legoomni/src/isle/bumpbouy.cpp
LEGO1/lego/legoomni/src/isle/doors.cpp
LEGO1/lego/legoomni/src/isle/historybook.cpp
LEGO1/lego/legoomni/src/isle/isleactor.cpp
LEGO1/lego/legoomni/src/isle/isle.cpp
LEGO1/lego/legoomni/src/isle/islepathactor.cpp
LEGO1/lego/legoomni/src/isle/jukebox.cpp
LEGO1/lego/legoomni/src/isle/jukeboxentity.cpp
LEGO1/lego/legoomni/src/isle/jukeboxstate.cpp
LEGO1/lego/legoomni/src/isle/motocycle.cpp
LEGO1/lego/legoomni/src/isle/radio.cpp
LEGO1/lego/legoomni/src/isle/radiostate.cpp
LEGO1/lego/legoomni/src/isle/skateboard.cpp
LEGO1/lego/legoomni/src/main/legoomni.cpp
LEGO1/lego/legoomni/src/notify/legoeventnotificationparam.cpp
LEGO1/lego/legoomni/src/paths/legoanimactor.cpp
LEGO1/lego/legoomni/src/paths/legopathactor.cpp
LEGO1/lego/legoomni/src/paths/legopathcontroller.cpp
LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp
LEGO1/lego/legoomni/src/pizzeria/pizza.cpp
LEGO1/lego/legoomni/src/pizzeria/pizzamissionstate.cpp
LEGO1/lego/legoomni/src/pizzeria/pizzeria.cpp
LEGO1/lego/legoomni/src/pizzeria/pizzeriastate.cpp
LEGO1/lego/legoomni/src/police/police.cpp
LEGO1/lego/legoomni/src/police/policeentity.cpp
LEGO1/lego/legoomni/src/police/policestate.cpp
LEGO1/lego/legoomni/src/race/carrace.cpp
LEGO1/lego/legoomni/src/race/jetskirace.cpp
LEGO1/lego/legoomni/src/race/legorace.cpp
LEGO1/lego/legoomni/src/race/legoraceactor.cpp
LEGO1/lego/legoomni/src/race/legoracecar.cpp
LEGO1/lego/legoomni/src/race/racestandsentity.cpp
LEGO1/lego/legoomni/src/race/racestate.cpp
LEGO1/lego/legoomni/src/towtrack/towtrack.cpp
LEGO1/lego/legoomni/src/towtrack/towtrackmissionstate.cpp
LEGO1/lego/legoomni/src/unknown/legounknown100d7c88.cpp
LEGO1/lego/legoomni/src/video/legoanimationmanager.cpp
LEGO1/lego/legoomni/src/video/legoanimmmpresenter.cpp
LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp
LEGO1/lego/legoomni/src/video/legocarbuildanimpresenter.cpp
LEGO1/lego/legoomni/src/video/legoflctexturepresenter.cpp
LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp
LEGO1/lego/legoomni/src/video/legolocomotionanimpresenter.cpp
LEGO1/lego/legoomni/src/video/legoloopinganimpresenter.cpp
LEGO1/lego/legoomni/src/video/legometerpresenter.cpp
LEGO1/lego/legoomni/src/video/legomodelpresenter.cpp
LEGO1/lego/legoomni/src/video/legopalettepresenter.cpp
LEGO1/lego/legoomni/src/video/legopartpresenter.cpp
LEGO1/lego/legoomni/src/video/legophonemepresenter.cpp
LEGO1/lego/legoomni/src/video/legotexturepresenter.cpp
LEGO1/lego/legoomni/src/video/legovideomanager.cpp
LEGO1/lego/legoomni/src/video/mxtransitionmanager.cpp
LEGO1/lego/legoomni/src/worlds/act3.cpp
LEGO1/lego/legoomni/src/worlds/elevatorbottom.cpp
LEGO1/lego/legoomni/src/worlds/gasstation.cpp
LEGO1/lego/legoomni/src/worlds/historybook.cpp
LEGO1/lego/legoomni/src/worlds/hospital.cpp
LEGO1/lego/legoomni/src/worlds/infocenter.cpp
LEGO1/lego/legoomni/src/worlds/infocenterdoor.cpp
LEGO1/lego/legoomni/src/worlds/isle.cpp
LEGO1/lego/legoomni/src/worlds/jukebox.cpp
LEGO1/lego/legoomni/src/worlds/legoact2.cpp
LEGO1/lego/legoomni/src/worlds/police.cpp
LEGO1/lego/legoomni/src/worlds/registrationbook.cpp
LEGO1/lego/legoomni/src/worlds/score.cpp
LEGO1/main.cpp
LEGO1/modeldb/modeldb.cpp
)

View file

@ -10,8 +10,10 @@
#include "legopartpresenter.h"
#include "legovideomanager.h"
#include "legoworldpresenter.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
#include "mxdsaction.h"
#include "mxmisc.h"
#include "mxomnicreateflags.h"
#include "mxomnicreateparam.h"
#include "mxstreamer.h"

View file

@ -2,7 +2,7 @@
#define LEGOACTIONCONTROLPRESENTER_H
#include "decomp.h"
#include "legoutil.h"
#include "legoutils.h"
#include "mxmediapresenter.h"
// VTABLE: LEGO1 0x100d5118

View file

@ -2,7 +2,7 @@
#define LEGOACTOR_H
#include "decomp.h"
#include "legocachesound.h"
#include "legocachsound.h"
#include "legoentity.h"
// VTABLE: LEGO1 0x100d6d68

View file

@ -1,11 +1,10 @@
#ifndef LEGOCACHESOUNDLIST_H
#define LEGOCACHESOUNDLIST_H
#include "legocachsound.h"
#include "mxlist.h"
#include "mxtypes.h"
class LegoCacheSound;
// VTABLE: LEGO1 0x100d63b0
// class MxCollection<LegoCacheSound *>

View file

@ -1,5 +1,5 @@
#ifndef LEGOCACHESOUND_H
#define LEGOCACHESOUND_H
#ifndef LEGOCACHSOUND_H
#define LEGOCACHSOUND_H
#include "decomp.h"
#include "legounknown100d5778.h"
@ -60,4 +60,4 @@ class LegoCacheSound : public MxCore {
undefined m_unk0x84; // 0x84
};
#endif // LEGOCACHESOUND_H
#endif // LEGOCACHSOUND_H

View file

@ -1,5 +1,5 @@
#ifndef LEGOUNKSAVEDATAWRITER_H
#define LEGOUNKSAVEDATAWRITER_H
#ifndef LEGOCHARACTERMANAGER_H
#define LEGOCHARACTERMANAGER_H
#include "decomp.h"
#include "legovariables.h"
@ -51,9 +51,9 @@ struct LegoSaveDataEntry3 {
};
// SIZE 0x08
class LegoUnkSaveDataWriter {
class LegoCharacterManager {
public:
LegoUnkSaveDataWriter();
LegoCharacterManager();
MxResult WriteSaveData3(LegoStorage* p_storage);
MxResult ReadSaveData3(LegoStorage* p_storage);
@ -80,7 +80,6 @@ class LegoUnkSaveDataWriter {
};
// clang-format off
// FUNCTION: LEGO1 0x10082b90
// _Tree<char *,pair<char * const,LegoUnkSaveDataMapValue *>,map<char *,LegoUnkSaveDataMapValue *,LegoUnkSaveDataMapComparator,allocator<LegoUnkSaveDataMapValue *> >::_Kfn,LegoUnkSaveDataMapComparator,allocator<LegoUnkSaveDataMapValue *> >::~_Tree<char *,pair<char * const,LegoUnkSaveDataMapValue *>,map<char *,LegoUnkSaveDataMapValue *,LegoUnkSaveDataMapComparator,allocator<LegoUnkSaveDataMapValue *> >::_Kfn,LegoUnkSaveDataMapComparator,allocator<LegoUnkSaveDataMapValue *> >
@ -98,7 +97,6 @@ class LegoUnkSaveDataWriter {
// GLOBAL: LEGO1 0x100fc508
// _Tree<char *,pair<char * const,LegoUnkSaveDataMapValue *>,map<char *,LegoUnkSaveDataMapValue *,LegoUnkSaveDataMapComparator,allocator<LegoUnkSaveDataMapValue *> >::_Kfn,LegoUnkSaveDataMapComparator,allocator<LegoUnkSaveDataMapValue *> >::_Nil
// clang-format on
#endif // LEGOUNKSAVEDATAWRITER_H
#endif // LEGOCHARACTERMANAGER_H

View file

@ -5,12 +5,11 @@
#include "mxdsaction.h"
#include "mxomni.h"
class LegoTextureContainer;
class Isle;
class IslePathActor;
class LegoAnimationManager;
class LegoBuildingManager;
class LegoControlManager;
class LegoCharacterManager;
class LegoEntity;
class LegoGameState;
class LegoInputManager;
@ -19,16 +18,14 @@ class LegoPathBoundary;
class LegoPlantManager;
class LegoROI;
class LegoSoundManager;
class LegoUnkSaveDataWriter;
class LegoTextureContainer;
class LegoVideoManager;
class LegoWorld;
class LegoWorldList;
class MxAtomId;
class MxBackgroundAudioManager;
class MxDSFile;
class MxTransitionManager;
class ViewLODListManager;
class ViewManager;
extern MxAtomId* g_copterScript;
extern MxAtomId* g_dunecarScript;
@ -224,7 +221,7 @@ class LegoOmni : public MxOmni {
MxBackgroundAudioManager* GetBackgroundAudioManager() { return m_bkgAudioManager; }
MxTransitionManager* GetTransitionManager() { return m_transitionManager; }
MxDSAction& GetCurrentAction() { return m_action; }
LegoUnkSaveDataWriter* GetUnkSaveDataWriter() { return m_saveDataWriter; }
LegoCharacterManager* GetCharacterManager() { return m_characterManager; }
LegoWorldList* GetWorldList() { return m_worldList; }
inline void SetNavController(LegoNavController* p_navController) { m_navController = p_navController; }
@ -247,7 +244,7 @@ class LegoOmni : public MxOmni {
MxBool m_exit; // 0x80
LegoNavController* m_navController; // 0x84
IslePathActor* m_currentActor; // 0x88
LegoUnkSaveDataWriter* m_saveDataWriter; // 0x8c
LegoCharacterManager* m_characterManager; // 0x8c
LegoPlantManager* m_plantManager; // 0x90
LegoAnimationManager* m_animationManager; // 0x94
LegoBuildingManager* m_buildingManager; // 0x98
@ -258,39 +255,12 @@ class LegoOmni : public MxOmni {
MxBool m_unk0x13c; // 0x13c
};
MxBackgroundAudioManager* BackgroundAudioManager();
LegoGameState* GameState();
const char* GetNoCD_SourceName();
LegoInputManager* InputManager();
LegoOmni* Lego();
LegoEntity* PickEntity(MxLong, MxLong);
LegoROI* PickROI(MxLong, MxLong);
LegoSoundManager* SoundManager();
MxTransitionManager* TransitionManager();
LegoVideoManager* VideoManager();
LegoAnimationManager* AnimationManager();
LegoNavController* NavController();
LegoBuildingManager* BuildingManager();
LegoControlManager* ControlManager();
IslePathActor* CurrentActor();
ViewManager* GetViewManager();
LegoPlantManager* PlantManager();
LegoWorld* CurrentWorld();
LegoUnkSaveDataWriter* UnkSaveDataWriter();
LegoTextureContainer* TextureContainer();
ViewLODListManager* GetViewLODListManager();
void FUN_10015820(MxBool p_disable, MxU16 p_flags);
void SetROIUnknown0x0c(const char* p_name, undefined p_unk0x0c);
void SetCurrentActor(IslePathActor* p_currentActor);
LegoWorld* FindWorld(const MxAtomId& p_atom, MxS32 p_entityid);
LegoROI* FindROI(const char* p_name);
MxDSAction& GetCurrentAction();
void PlayMusic(MxU32 p_index);
void SetIsWorldActive(MxBool p_isWorldActive);
void DeleteObjects(MxAtomId* p_id, MxS32 p_first, MxS32 p_last);
void CreateScripts();
void DestroyScripts();
void SetCurrentWorld(LegoWorld* p_world);
#endif // LEGOOMNI_H

View file

@ -2,7 +2,7 @@
#define LEGOUNKNOWN100D6B4C_H
#include "decomp.h"
#include "legocachesound.h"
#include "legocachsound.h"
#include "mxstl/stlcompat.h"
#include "mxtypes.h"

View file

@ -1,12 +1,12 @@
#ifndef LEGOUTIL_H
#define LEGOUTIL_H
#ifndef LEGOUTILS_H
#define LEGOUTILS_H
#include "extra.h"
#include "misc/legostorage.h"
#include "misc/legotexture.h"
#include "mxstring.h"
#include "mxtypes.h"
#include "mxutil.h"
#include "mxutilities.h"
#include <windows.h>
@ -33,4 +33,4 @@ void WriteNamedTexture(LegoFile* p_file, LegoNamedTexture* p_texture);
// SYNTHETIC: LEGO1 0x10034b40
// LegoTexture::`scalar deleting destructor'
#endif // LEGOUTIL_H
#endif // LEGOUTILS_H

View file

@ -1,8 +1,8 @@
#ifndef LEGOWORLD_H
#define LEGOWORLD_H
#include "legocachesound.h"
#include "legocachesoundlist.h"
#include "legocachsound.h"
#include "legocameracontroller.h"
#include "legoentity.h"
#include "legoentitylist.h"

View file

@ -0,0 +1,58 @@
#ifndef MISC_H
#define MISC_H
#include "decomp.h"
#include "mxtypes.h"
class IslePathActor;
class LegoAnimationManager;
class LegoBuildingManager;
class LegoCharacterManager;
class LegoControlManager;
class LegoGameState;
class LegoInputManager;
class LegoNavController;
class LegoOmni;
class LegoPlantManager;
class LegoROI;
class LegoSoundManager;
class LegoTextureContainer;
class LegoVideoManager;
class LegoWorld;
class MxAtomId;
class MxBackgroundAudioManager;
class MxDSAction;
class MxTransitionManager;
class ViewLODListManager;
class ViewManager;
LegoOmni* Lego();
LegoInputManager* InputManager();
LegoSoundManager* SoundManager();
MxBackgroundAudioManager* BackgroundAudioManager();
LegoGameState* GameState();
MxTransitionManager* TransitionManager();
LegoVideoManager* VideoManager();
LegoAnimationManager* AnimationManager();
LegoNavController* NavController();
LegoBuildingManager* BuildingManager();
LegoControlManager* ControlManager();
IslePathActor* CurrentActor();
ViewManager* GetViewManager();
LegoPlantManager* PlantManager();
LegoWorld* CurrentWorld();
LegoCharacterManager* CharacterManager();
LegoTextureContainer* TextureContainer();
ViewLODListManager* GetViewLODListManager();
LegoWorld* FindWorld(const MxAtomId& p_atom, MxS32 p_entityid);
LegoROI* FindROI(const char* p_name);
MxDSAction& GetCurrentAction();
void PlayMusic(MxU32 p_index);
void SetIsWorldActive(MxBool p_isWorldActive);
void DeleteObjects(MxAtomId* p_id, MxS32 p_first, MxS32 p_last);
void SetCurrentWorld(LegoWorld* p_world);
void FUN_10015820(MxBool p_disable, MxU16 p_flags);
void SetROIUnknown0x0c(const char* p_name, undefined p_unk0x0c);
void SetCurrentActor(IslePathActor* p_currentActor);
#endif // MISC_H

View file

@ -1,13 +1,15 @@
#ifndef MXTRANSITIONMANAGER_H
#define MXTRANSITIONMANAGER_H
#include "legoomni.h"
#include "decomp.h"
#include "mxcore.h"
#include "mxvideopresenter.h"
#include <ddraw.h>
class MxVideoPresenter;
// VTABLE: LEGO1 0x100d7ea0
// SIZE 0x900
class MxTransitionManager : public MxCore {
public:
MxTransitionManager();

View file

@ -3,10 +3,6 @@
#include "decomp.h"
#include "isleactor.h"
#include "mxcore.h"
#include "mxomni.h"
#include "mxticklemanager.h"
#include "mxtypes.h"
// VTABLE: LEGO1 0x100d7380
// SIZE 0x9c

View file

@ -1,6 +1,6 @@
#include "act1state.h"
#include "legoutil.h"
#include "legoutils.h"
DECOMP_SIZE_ASSERT(Act1State, 0x26c)
DECOMP_SIZE_ASSERT(Act1State::NamedPlane, 0x4c)

View file

@ -3,8 +3,9 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(Bike, 0x164);

View file

@ -8,8 +8,9 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legoworld.h"
#include "misc.h"
#include "mxtransitionmanager.h"
DECOMP_SIZE_ASSERT(Helicopter, 0x230)

View file

@ -4,8 +4,11 @@
#include "islepathactor.h"
#include "jukeboxstate.h"
#include "legogamestate.h"
#include "legoutil.h"
#include "legoomni.h"
#include "legoutils.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxtransitionmanager.h"

View file

@ -1,5 +1,8 @@
#include "pizza.h"
#include "mxmisc.h"
#include "mxticklemanager.h"
DECOMP_SIZE_ASSERT(Pizza, 0x9c);
// FUNCTION: LEGO1 0x10037ef0

View file

@ -1,7 +1,7 @@
#include "racecar.h"
#include "legocontrolmanager.h"
#include "legoomni.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(RaceCar, 0x164);

View file

@ -3,8 +3,10 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
#include "mxcontrolpresenter.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
DECOMP_SIZE_ASSERT(Radio, 0x10);

View file

@ -1,8 +1,8 @@
#include "skateboard.h"
#include "decomp.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxomni.h"
DECOMP_SIZE_ASSERT(SkateBoard, 0x168);

View file

@ -1,7 +1,7 @@
#include "legocachesound.h"
#include "legocachsound.h"
#include "legoomni.h"
#include "legosoundmanager.h"
#include "misc.h"
#include "mxomni.h"
DECOMP_SIZE_ASSERT(LegoCacheSound, 0x88)

View file

@ -1,6 +1,6 @@
#include "legoloadcachesoundpresenter.h"
#include "legocachesound.h"
#include "legocachsound.h"
#include "mxstreamchunk.h"
#include "mxwavepresenter.h"

View file

@ -1,6 +1,7 @@
#include "legosoundmanager.h"
#include "mxautolocker.h"
#include "mxomni.h"
// FUNCTION: LEGO1 0x100298a0
LegoSoundManager::LegoSoundManager()

View file

@ -1,7 +1,8 @@
#include "legounknown100d5778.h"
#include "legoomni.h"
#include "legounksavedatawriter.h"
#include "legocharactermanager.h"
#include "misc.h"
#include "mxomni.h"
DECOMP_SIZE_ASSERT(LegoUnknown100d5778, 0x30)
@ -56,12 +57,12 @@ void LegoUnknown100d5778::Destroy()
m_dsBuffer = NULL;
}
if (m_unk0x14 && m_unk0xc && UnkSaveDataWriter()) {
if (m_unk0x14 && m_unk0xc && CharacterManager()) {
if (m_unk0x15) {
UnkSaveDataWriter()->FUN_10083db0(m_unk0xc);
CharacterManager()->FUN_10083db0(m_unk0xc);
}
else {
UnkSaveDataWriter()->FUN_10083f10(m_unk0xc);
CharacterManager()->FUN_10083f10(m_unk0xc);
}
}

View file

@ -1,7 +1,7 @@
#include "legounknown100d6b4c.h"
#include "legoomni.h"
#include "legoworld.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(Element100d6b4c, 0x08)
DECOMP_SIZE_ASSERT(LegoUnknown100d6b4c, 0x20)

View file

@ -1,13 +1,14 @@
#include "mxbackgroundaudiomanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxcompositepresenter.h"
#include "mxdssound.h"
#include "mxomni.h"
#include "mxmisc.h"
#include "mxpresenter.h"
#include "mxstreamer.h"
#include "mxticklemanager.h"
#include "mxutil.h"
#include "mxutilities.h"
DECOMP_SIZE_ASSERT(MxBackgroundAudioManager, 0x150)

View file

@ -1,6 +1,6 @@
#include "buildingentity.h"
#include "legoomni.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
// FUNCTION: LEGO1 0x10014e20

View file

@ -3,10 +3,10 @@
#include "define.h"
#include "extra.h"
#include "legoomni.h"
#include "legoutil.h"
#include "legoutils.h"
#include "mxcompositepresenter.h"
#include "mxmediapresenter.h"
#include "mxomni.h"
#include "mxmisc.h"
#include "mxstreamchunk.h"
#include "mxticklemanager.h"

View file

@ -1,9 +1,9 @@
#include "legobackgroundcolor.h"
#include "decomp.h"
#include "legoomni.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(LegoBackgroundColor, 0x30)

View file

@ -1,23 +1,23 @@
#include "legounksavedatawriter.h"
#include "legocharactermanager.h"
#include "legogamestate.h"
#include "legoomni.h"
#include "mxmisc.h"
#include "roi/legoroi.h"
DECOMP_SIZE_ASSERT(LegoUnkSaveDataWriter, 0x08)
DECOMP_SIZE_ASSERT(LegoCharacterManager, 0x08)
DECOMP_SIZE_ASSERT(LegoSaveDataEntry3, 0x108)
// GLOBAL: LEGO1 0x100f80c0
LegoSaveDataEntry3 g_saveDataInit[66]; // TODO: add data
// GLOBAL: LEGO1 0x100fc4e4
char* LegoUnkSaveDataWriter::g_customizeAnimFile = NULL;
char* LegoCharacterManager::g_customizeAnimFile = NULL;
// GLOBAL: LEGO1 0x10104f20
LegoSaveDataEntry3 g_saveData3[66];
// FUNCTION: LEGO1 0x10082a20
LegoUnkSaveDataWriter::LegoUnkSaveDataWriter()
LegoCharacterManager::LegoCharacterManager()
{
m_map = new LegoUnkSaveDataMap();
InitSaveData();
@ -27,7 +27,7 @@ LegoUnkSaveDataWriter::LegoUnkSaveDataWriter()
}
// FUNCTION: LEGO1 0x10083270
void LegoUnkSaveDataWriter::InitSaveData()
void LegoCharacterManager::InitSaveData()
{
for (MxS32 i = 0; i < 66; i++) {
g_saveData3[i] = g_saveDataInit[i];
@ -35,13 +35,13 @@ void LegoUnkSaveDataWriter::InitSaveData()
}
// STUB: LEGO1 0x100832a0
void LegoUnkSaveDataWriter::FUN_100832a0()
void LegoCharacterManager::FUN_100832a0()
{
// TODO
}
// FUNCTION: LEGO1 0x10083310
MxResult LegoUnkSaveDataWriter::WriteSaveData3(LegoStorage* p_storage)
MxResult LegoCharacterManager::WriteSaveData3(LegoStorage* p_storage)
{
MxResult result = FAILURE;
@ -91,13 +91,13 @@ MxResult LegoUnkSaveDataWriter::WriteSaveData3(LegoStorage* p_storage)
}
// STUB: LEGO1 0x100833f0
MxResult LegoUnkSaveDataWriter::ReadSaveData3(LegoStorage* p_storage)
MxResult LegoCharacterManager::ReadSaveData3(LegoStorage* p_storage)
{
return SUCCESS;
}
// STUB: LEGO1 0x10083500
LegoROI* LegoUnkSaveDataWriter::FUN_10083500(const char* p_key, MxBool p_option)
LegoROI* LegoCharacterManager::FUN_10083500(const char* p_key, MxBool p_option)
{
// TODO
// involves an STL map with a _Nil node at 0x100fc508
@ -105,33 +105,33 @@ LegoROI* LegoUnkSaveDataWriter::FUN_10083500(const char* p_key, MxBool p_option)
}
// STUB: LEGO1 0x10083db0
void LegoUnkSaveDataWriter::FUN_10083db0(LegoROI* p_roi)
void LegoCharacterManager::FUN_10083db0(LegoROI* p_roi)
{
// TODO
}
// STUB: LEGO1 0x10083f10
void LegoUnkSaveDataWriter::FUN_10083f10(LegoROI* p_roi)
void LegoCharacterManager::FUN_10083f10(LegoROI* p_roi)
{
// TODO
}
// STUB: LEGO1 0x10084c00
MxBool LegoUnkSaveDataWriter::FUN_10084c00(const LegoChar*)
MxBool LegoCharacterManager::FUN_10084c00(const LegoChar*)
{
// TODO
return FALSE;
}
// STUB: LEGO1 0x10085140
MxU32 LegoUnkSaveDataWriter::FUN_10085140(LegoROI*, MxBool)
MxU32 LegoCharacterManager::FUN_10085140(LegoROI*, MxBool)
{
// TODO
return 0;
}
// FUNCTION: LEGO1 0x100851a0
void LegoUnkSaveDataWriter::SetCustomizeAnimFile(const char* p_value)
void LegoCharacterManager::SetCustomizeAnimFile(const char* p_value)
{
if (g_customizeAnimFile != NULL) {
delete[] g_customizeAnimFile;
@ -150,13 +150,13 @@ void LegoUnkSaveDataWriter::SetCustomizeAnimFile(const char* p_value)
}
// STUB: LEGO1 0x10085210
LegoROI* LegoUnkSaveDataWriter::FUN_10085210(const LegoChar*, LegoChar*, undefined)
LegoROI* LegoCharacterManager::FUN_10085210(const LegoChar*, LegoChar*, undefined)
{
return NULL;
}
// FUNCTION: LEGO1 0x10085a80
LegoROI* LegoUnkSaveDataWriter::FUN_10085a80(LegoChar* p_und1, LegoChar* p_und2, undefined p_und3)
LegoROI* LegoCharacterManager::FUN_10085a80(LegoChar* p_und1, LegoChar* p_und2, undefined p_und3)
{
return FUN_10085210(p_und1, p_und2, p_und3);
}

View file

@ -1,8 +1,8 @@
#include "legofullscreenmovie.h"
#include "decomp.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxtypes.h"
DECOMP_SIZE_ASSERT(LegoFullScreenMovie, 0x24)

View file

@ -10,15 +10,17 @@
#include "jetski.h"
#include "legoanimationmanager.h"
#include "legobuildingmanager.h"
#include "legocharactermanager.h"
#include "legonavcontroller.h"
#include "legoomni.h"
#include "legoplantmanager.h"
#include "legostate.h"
#include "legounksavedatawriter.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
#include "mxobjectfactory.h"
#include "mxstring.h"
#include "mxvariabletable.h"
@ -144,7 +146,7 @@ void LegoGameState::SetActor(MxU8 p_actorId)
IslePathActor* newActor = new IslePathActor();
const char* actorName = LegoActor::GetActorName(m_actorId);
LegoROI* roi = UnkSaveDataWriter()->FUN_10083500(actorName, FALSE);
LegoROI* roi = CharacterManager()->FUN_10083500(actorName, FALSE);
MxDSAction action;
action.SetAtomId(*g_isleScript);
@ -232,7 +234,7 @@ MxResult LegoGameState::Save(MxULong p_slot)
}
WriteEndOfVariables(&fileStorage);
UnkSaveDataWriter()->WriteSaveData3(&fileStorage);
CharacterManager()->WriteSaveData3(&fileStorage);
PlantManager()->Save(&fileStorage);
result = BuildingManager()->Save(&fileStorage);
@ -331,7 +333,7 @@ MxResult LegoGameState::Load(MxULong p_slot)
SetLightPosition(atoi(lightPosition));
}
if (UnkSaveDataWriter()->ReadSaveData3(&fileStorage) == FAILURE) {
if (CharacterManager()->ReadSaveData3(&fileStorage) == FAILURE) {
goto done;
}
if (PlantManager()->Load(&fileStorage) == FAILURE) {
@ -1048,7 +1050,7 @@ void LegoGameState::Init()
SetLightPosition(2);
PlantManager()->Init();
BuildingManager()->Init();
UnkSaveDataWriter()->InitSaveData();
CharacterManager()->InitSaveData();
AnimationManager()->FUN_1005ee80(TRUE);
SetColors();
RemoveActor();

View file

@ -1,7 +1,7 @@
#include "legotextureinfo.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "misc/legoimage.h"
#include "misc/legotexture.h"
#include "tgl/d3drm/impl.h"

View file

@ -1,13 +1,14 @@
#include "legoutil.h"
#include "legoutils.h"
#include "legoinputmanager.h"
#include "legonamedtexture.h"
#include "legoomni.h"
#include "legoworld.h"
#include "legoworldlist.h"
#include "misc.h"
#include "mxdsaction.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxomni.h"
#include "mxstreamer.h"
#include "mxtypes.h"

View file

@ -1,9 +1,9 @@
#include "legovariables.h"
#include "legobuildingmanager.h"
#include "legoomni.h"
#include "legocharactermanager.h"
#include "legoplantmanager.h"
#include "legounksavedatawriter.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(VisibilityVariable, 0x24)
DECOMP_SIZE_ASSERT(CameraLocationVariable, 0x24)
@ -62,7 +62,7 @@ void CustomizeAnimFileVariable::SetValue(const char* p_value)
{
// STRING: LEGO1 0x100fc4f4
if (strcmp(m_key.GetData(), "CUSTOMIZE_ANIM_FILE") == 0) {
UnkSaveDataWriter()->SetCustomizeAnimFile(p_value);
CharacterManager()->SetCustomizeAnimFile(p_value);
PlantManager()->SetCustomizeAnimFile(p_value);
BuildingManager()->SetCustomizeAnimFile(p_value);
}

View file

@ -0,0 +1,198 @@
#include "misc.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
// GLOBAL: LEGO1 0x100f4c58
MxBool g_isWorldActive = TRUE;
// FUNCTION: LEGO1 0x10015700
LegoOmni* Lego()
{
return LegoOmni::GetInstance();
}
// FUNCTION: LEGO1 0x10015710
LegoSoundManager* SoundManager()
{
return LegoOmni::GetInstance()->GetSoundManager();
}
// FUNCTION: LEGO1 0x10015720
LegoVideoManager* VideoManager()
{
return LegoOmni::GetInstance()->GetVideoManager();
}
// FUNCTION: LEGO1 0x10015730
MxBackgroundAudioManager* BackgroundAudioManager()
{
return LegoOmni::GetInstance()->GetBackgroundAudioManager();
}
// FUNCTION: LEGO1 0x10015740
LegoInputManager* InputManager()
{
return LegoOmni::GetInstance()->GetInputManager();
}
// FUNCTION: LEGO1 0x10015750
LegoControlManager* ControlManager()
{
return LegoOmni::GetInstance()->GetInputManager()->GetControlManager();
}
// FUNCTION: LEGO1 0x10015760
LegoGameState* GameState()
{
return LegoOmni::GetInstance()->GetGameState();
}
// FUNCTION: LEGO1 0x10015770
LegoAnimationManager* AnimationManager()
{
return LegoOmni::GetInstance()->GetAnimationManager();
}
// FUNCTION: LEGO1 0x10015780
LegoNavController* NavController()
{
return LegoOmni::GetInstance()->GetNavController();
}
// FUNCTION: LEGO1 0x10015790
IslePathActor* CurrentActor()
{
return LegoOmni::GetInstance()->GetCurrentActor();
}
// FUNCTION: LEGO1 0x100157a0
LegoWorld* CurrentWorld()
{
return LegoOmni::GetInstance()->GetCurrentWorld();
}
// FUNCTION: LEGO1 0x100157b0
LegoCharacterManager* CharacterManager()
{
return LegoOmni::GetInstance()->GetCharacterManager();
}
// FUNCTION: LEGO1 0x100157c0
ViewManager* GetViewManager()
{
return VideoManager()->Get3DManager()->GetLego3DView()->GetViewManager();
}
// FUNCTION: LEGO1 0x100157e0
LegoPlantManager* PlantManager()
{
return LegoOmni::GetInstance()->GetLegoPlantManager();
}
// FUNCTION: LEGO1 0x100157f0
LegoBuildingManager* BuildingManager()
{
return LegoOmni::GetInstance()->GetLegoBuildingManager();
}
// FUNCTION: LEGO1 0x10015800
LegoTextureContainer* TextureContainer()
{
return LegoOmni::GetInstance()->GetTextureContainer();
}
// FUNCTION: LEGO1 0x10015810
ViewLODListManager* GetViewLODListManager()
{
return LegoOmni::GetInstance()->GetViewLODListManager();
}
// FUNCTION: LEGO1 0x10015820
void FUN_10015820(MxBool p_disable, MxU16 p_flags)
{
LegoOmni::GetInstance()->FUN_1005b4f0(p_disable, p_flags);
}
// FUNCTION: LEGO1 0x10015840
LegoROI* FindROI(const char* p_name)
{
return LegoOmni::GetInstance()->FindROI(p_name);
}
// FUNCTION: LEGO1 0x10015860
void SetROIUnknown0x0c(const char* p_name, undefined p_unk0x0c)
{
LegoROI* roi = FindROI(p_name);
if (roi) {
roi->SetUnknown0x0c(p_unk0x0c);
}
}
// FUNCTION: LEGO1 0x10015880
void SetCurrentActor(IslePathActor* p_currentActor)
{
LegoOmni::GetInstance()->SetCurrentActor(p_currentActor);
}
// FUNCTION: LEGO1 0x100158c0
LegoWorld* FindWorld(const MxAtomId& p_atom, MxS32 p_entityid)
{
return LegoOmni::GetInstance()->FindWorld(p_atom, p_entityid);
}
// FUNCTION: LEGO1 0x100158e0
MxDSAction& GetCurrentAction()
{
return LegoOmni::GetInstance()->GetCurrentAction();
}
// FUNCTION: LEGO1 0x100158f0
void SetCurrentWorld(LegoWorld* p_world)
{
LegoOmni::GetInstance()->SetCurrentWorld(p_world);
}
// FUNCTION: LEGO1 0x10015900
MxTransitionManager* TransitionManager()
{
return LegoOmni::GetInstance()->GetTransitionManager();
}
// FUNCTION: LEGO1 0x10015910
void PlayMusic(MxU32 p_index)
{
// index is the entityid of the music in jukebox.si
MxDSAction action;
action.SetAtomId(*g_jukeboxScript);
action.SetObjectId(p_index);
LegoOmni::GetInstance()->GetBackgroundAudioManager()->PlayMusic(action, 5, 4);
}
// FUNCTION: LEGO1 0x100159c0
void SetIsWorldActive(MxBool p_isWorldActive)
{
if (!p_isWorldActive) {
LegoOmni::GetInstance()->GetInputManager()->SetCamera(NULL);
}
g_isWorldActive = p_isWorldActive;
}
// FUNCTION: LEGO1 0x100159e0
void DeleteObjects(MxAtomId* p_id, MxS32 p_first, MxS32 p_last)
{
MxDSAction action;
action.SetAtomId(*p_id);
action.SetUnknown24(-2);
for (MxS32 first = p_first, last = p_last; first <= last; first++) {
action.SetObjectId(first);
DeleteObject(action);
}
}

View file

@ -1,11 +1,12 @@
#include "mxcompositemediapresenter.h"
#include "legoomni.h"
#include "legosoundmanager.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxautolocker.h"
#include "mxdsmultiaction.h"
#include "mxmediapresenter.h"
#include "mxmisc.h"
#include "mxobjectfactory.h"
#include "mxtimer.h"

View file

@ -3,9 +3,10 @@
#include "define.h"
#include "legocontrolmanager.h"
#include "mxdsmultiaction.h"
#include "mxmisc.h"
#include "mxticklemanager.h"
#include "mxtimer.h"
#include "mxutil.h"
#include "mxutilities.h"
#include "mxvideopresenter.h"
DECOMP_SIZE_ASSERT(MxControlPresenter, 0x5c)

View file

@ -1,12 +1,15 @@
#include "mxtransitionmanager.h"
#include "legoinputmanager.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
#include "mxparam.h"
#include "mxticklemanager.h"
#include "mxvideopresenter.h"
DECOMP_SIZE_ASSERT(MxTransitionManager, 0x900);

View file

@ -1,9 +1,10 @@
#include "legocontrolmanager.h"
#include "legoeventnotificationparam.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxcontrolpresenter.h"
#include "mxmisc.h"
#include "mxpresenter.h"
#include "mxticklemanager.h"

View file

@ -2,7 +2,7 @@
#include "decomp.h"
#include "mxbitmap.h"
#include "mxutil.h"
#include "mxutilities.h"
DECOMP_SIZE_ASSERT(LegoMeterPresenter, 0x94)

View file

@ -1,7 +1,7 @@
#include "legoactorpresenter.h"
#include "legoentity.h"
#include "legoomni.h"
#include "misc.h"
// FUNCTION: LEGO1 0x10076c30
void LegoActorPresenter::ReadyTickle()

View file

@ -2,8 +2,8 @@
#include "legoinputmanager.h"
#include "legonotify.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(LegoCameraController, 0xc8);

View file

@ -2,12 +2,13 @@
#include "define.h"
#include "legobuildingmanager.h"
#include "legoomni.h"
#include "legocharactermanager.h"
#include "legoplantmanager.h"
#include "legounksavedatawriter.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"
#include "mxmisc.h"
DECOMP_SIZE_ASSERT(LegoEntity, 0x68)
@ -86,7 +87,7 @@ void LegoEntity::Destroy(MxBool p_fromDestructor)
m_roi->SetEntity(NULL);
}
UnkSaveDataWriter()->FUN_10083db0(m_roi);
CharacterManager()->FUN_10083db0(m_roi);
}
else {
VideoManager()->Get3DManager()->GetLego3DView()->Remove(*m_roi);
@ -214,7 +215,7 @@ void LegoEntity::VTable0x34(MxBool p_und)
switch (m_unk0x59) {
case 0:
objectId = UnkSaveDataWriter()->FUN_10085140(m_roi, p_und);
objectId = CharacterManager()->FUN_10085140(m_roi, p_und);
break;
case 1:
break;
@ -228,7 +229,7 @@ void LegoEntity::VTable0x34(MxBool p_und)
if (objectId) {
MxDSAction action;
action.SetAtomId(MxAtomId(UnkSaveDataWriter()->GetCustomizeAnimFile(), e_lowerCase2));
action.SetAtomId(MxAtomId(CharacterManager()->GetCustomizeAnimFile(), e_lowerCase2));
action.SetObjectId(objectId);
action.AppendData(strlen(roiName) + 1, roiName);
Start(&action);

View file

@ -1,8 +1,8 @@
#include "legoentitypresenter.h"
#include "islepathactor.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(LegoEntityPresenter, 0x50);

View file

@ -1,32 +1,44 @@
#include "legonavcontroller.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxmisc.h"
// GLOBAL: LEGO1 0x100f4c28
int g_mouseDeadzone = 40;
// GLOBAL: LEGO1 0x100f4c2c
float g_zeroThreshold = 0.001f;
// GLOBAL: LEGO1 0x100f4c30
float g_movementMaxSpeed = 40.0f;
// GLOBAL: LEGO1 0x100f4c34
float g_turnMaxSpeed = 20.0f;
// GLOBAL: LEGO1 0x100f4c38
float g_movementMaxAccel = 15.0f;
// GLOBAL: LEGO1 0x100f4c3c
float g_turnMaxAccel = 30.0f;
// GLOBAL: LEGO1 0x100f4c40
float g_movementMinAccel = 4.0f;
// GLOBAL: LEGO1 0x100f4c44
float g_turnMinAccel = 15.0f;
// GLOBAL: LEGO1 0x100f4c48
float g_movementDecel = 50.0f;
// GLOBAL: LEGO1 0x100f4c4c
float g_turnDecel = 50.0f;
// GLOBAL: LEGO1 0x100f4c50
float g_turnSensitivity = 0.4f;
// GLOBAL: LEGO1 0x100f4c54
MxBool g_turnUseVelocity = FALSE;

View file

@ -1,6 +1,7 @@
#include "legonavcontroller.h"
#include "legoomni.h"
#include "legopointofviewcontroller.h"
#include "mxmisc.h"
#include "mxticklemanager.h"
DECOMP_SIZE_ASSERT(LegoMouseController, 0x20);

View file

@ -11,13 +11,14 @@
#include "legoomni.h"
#include "legoplantmanager.h"
#include "legosoundmanager.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
#include "mxcontrolpresenter.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxnotificationparam.h"
#include "mxomni.h"
#include "mxticklemanager.h"
DECOMP_SIZE_ASSERT(LegoWorld, 0xf8)

View file

@ -12,6 +12,7 @@
#include "legotexturepresenter.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"
#include "modeldb/modeldb.h"
#include "mxactionnotificationparam.h"
#include "mxautolocker.h"
@ -19,11 +20,12 @@
#include "mxdschunk.h"
#include "mxdsmediaaction.h"
#include "mxdsmultiaction.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxobjectfactory.h"
#include "mxpresenter.h"
#include "mxstl/stlcompat.h"
#include "mxutil.h"
#include "mxutilities.h"
#include <io.h>

View file

@ -3,6 +3,7 @@
#include "legocontrolmanager.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxautolocker.h"
#include "roi/legoroi.h"

View file

@ -2,6 +2,7 @@
#include "jukebox.h"
#include "legoomni.h"
#include "mxmisc.h"
#include "mxtimer.h"
// GLOBAL: LEGO1 0x100f3218

View file

@ -2,22 +2,24 @@
#include "legoanimationmanager.h"
#include "legobuildingmanager.h"
#include "legocharactermanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoobjectfactory.h"
#include "legoplantmanager.h"
#include "legosoundmanager.h"
#include "legounksavedatawriter.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovariables.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "legoworldlist.h"
#include "misc.h"
#include "misc/legocontainer.h"
#include "mxactionnotificationparam.h"
#include "mxautolocker.h"
#include "mxbackgroundaudiomanager.h"
#include "mxdsfile.h"
#include "mxmisc.h"
#include "mxomnicreateflags.h"
#include "mxomnicreateparam.h"
#include "mxstreamer.h"
@ -118,200 +120,9 @@ MxAtomId* g_nocdSourceName = NULL;
// STRING: LEGO1 0x100f6710
const char* g_current = "current";
// GLOBAL: LEGO1 0x100f4c58
MxBool g_isWorldActive = TRUE;
// GLOBAL: LEGO1 0x10102b28
LegoOmni::PathContainer g_extraPaths[29];
// FUNCTION: LEGO1 0x10015700
LegoOmni* Lego()
{
return LegoOmni::GetInstance();
}
// FUNCTION: LEGO1 0x10015710
LegoSoundManager* SoundManager()
{
return LegoOmni::GetInstance()->GetSoundManager();
}
// FUNCTION: LEGO1 0x10015720
LegoVideoManager* VideoManager()
{
return LegoOmni::GetInstance()->GetVideoManager();
}
// FUNCTION: LEGO1 0x10015730
MxBackgroundAudioManager* BackgroundAudioManager()
{
return LegoOmni::GetInstance()->GetBackgroundAudioManager();
}
// FUNCTION: LEGO1 0x10015740
LegoInputManager* InputManager()
{
return LegoOmni::GetInstance()->GetInputManager();
}
// FUNCTION: LEGO1 0x10015750
LegoControlManager* ControlManager()
{
return LegoOmni::GetInstance()->GetInputManager()->GetControlManager();
}
// FUNCTION: LEGO1 0x10015760
LegoGameState* GameState()
{
return LegoOmni::GetInstance()->GetGameState();
}
// FUNCTION: LEGO1 0x10015770
LegoAnimationManager* AnimationManager()
{
return LegoOmni::GetInstance()->GetAnimationManager();
}
// FUNCTION: LEGO1 0x10015780
LegoNavController* NavController()
{
return LegoOmni::GetInstance()->GetNavController();
}
// FUNCTION: LEGO1 0x10015790
IslePathActor* CurrentActor()
{
return LegoOmni::GetInstance()->GetCurrentActor();
}
// FUNCTION: LEGO1 0x100157a0
LegoWorld* CurrentWorld()
{
return LegoOmni::GetInstance()->GetCurrentWorld();
}
// FUNCTION: LEGO1 0x100157b0
LegoUnkSaveDataWriter* UnkSaveDataWriter()
{
return LegoOmni::GetInstance()->GetUnkSaveDataWriter();
}
// FUNCTION: LEGO1 0x100157c0
ViewManager* GetViewManager()
{
return VideoManager()->Get3DManager()->GetLego3DView()->GetViewManager();
}
// FUNCTION: LEGO1 0x100157e0
LegoPlantManager* PlantManager()
{
return LegoOmni::GetInstance()->GetLegoPlantManager();
}
// FUNCTION: LEGO1 0x100157f0
LegoBuildingManager* BuildingManager()
{
return LegoOmni::GetInstance()->GetLegoBuildingManager();
}
// FUNCTION: LEGO1 0x10015800
LegoTextureContainer* TextureContainer()
{
return LegoOmni::GetInstance()->GetTextureContainer();
}
// FUNCTION: LEGO1 0x10015810
ViewLODListManager* GetViewLODListManager()
{
return LegoOmni::GetInstance()->GetViewLODListManager();
}
// FUNCTION: LEGO1 0x10015820
void FUN_10015820(MxBool p_disable, MxU16 p_flags)
{
LegoOmni::GetInstance()->FUN_1005b4f0(p_disable, p_flags);
}
// FUNCTION: LEGO1 0x10015840
LegoROI* FindROI(const char* p_name)
{
return LegoOmni::GetInstance()->FindROI(p_name);
}
// FUNCTION: LEGO1 0x10015860
void SetROIUnknown0x0c(const char* p_name, undefined p_unk0x0c)
{
LegoROI* roi = FindROI(p_name);
if (roi) {
roi->SetUnknown0x0c(p_unk0x0c);
}
}
// FUNCTION: LEGO1 0x10015880
void SetCurrentActor(IslePathActor* p_currentActor)
{
LegoOmni::GetInstance()->SetCurrentActor(p_currentActor);
}
// FUNCTION: LEGO1 0x100158c0
LegoWorld* FindWorld(const MxAtomId& p_atom, MxS32 p_entityid)
{
return LegoOmni::GetInstance()->FindWorld(p_atom, p_entityid);
}
// FUNCTION: LEGO1 0x100158e0
MxDSAction& GetCurrentAction()
{
return LegoOmni::GetInstance()->GetCurrentAction();
}
// FUNCTION: LEGO1 0x100158f0
void SetCurrentWorld(LegoWorld* p_world)
{
LegoOmni::GetInstance()->SetCurrentWorld(p_world);
}
// FUNCTION: LEGO1 0x10015900
MxTransitionManager* TransitionManager()
{
return LegoOmni::GetInstance()->GetTransitionManager();
}
// FUNCTION: LEGO1 0x10015910
void PlayMusic(MxU32 p_index)
{
// index is the entityid of the music in jukebox.si
MxDSAction action;
action.SetAtomId(*g_jukeboxScript);
action.SetObjectId(p_index);
LegoOmni::GetInstance()->GetBackgroundAudioManager()->PlayMusic(action, 5, 4);
}
// FUNCTION: LEGO1 0x100159c0
void SetIsWorldActive(MxBool p_isWorldActive)
{
if (!p_isWorldActive) {
LegoOmni::GetInstance()->GetInputManager()->SetCamera(NULL);
}
g_isWorldActive = p_isWorldActive;
}
// FUNCTION: LEGO1 0x100159e0
void DeleteObjects(MxAtomId* p_id, MxS32 p_first, MxS32 p_last)
{
MxDSAction action;
action.SetAtomId(*p_id);
action.SetUnknown24(-2);
for (MxS32 first = p_first, last = p_last; first <= last; first++) {
action.SetObjectId(first);
DeleteObject(action);
}
}
// FUNCTION: LEGO1 0x1001a700
void RegisterExtraPaths()
{
@ -485,7 +296,7 @@ void LegoOmni::Init()
m_currentWorld = NULL;
m_exit = FALSE;
m_currentActor = NULL;
m_saveDataWriter = NULL;
m_characterManager = NULL;
m_plantManager = NULL;
m_gameState = NULL;
m_animationManager = NULL;
@ -517,9 +328,9 @@ void LegoOmni::Destroy()
m_animationManager = NULL;
}
if (m_saveDataWriter) {
delete m_saveDataWriter;
m_saveDataWriter = NULL;
if (m_characterManager) {
delete m_characterManager;
m_characterManager = NULL;
}
if (m_plantManager) {
@ -621,14 +432,14 @@ MxResult LegoOmni::Create(MxOmniCreateParam& p_param)
m_textureContainer->SetOwnership(FALSE);
// FUN_10046c10
m_saveDataWriter = new LegoUnkSaveDataWriter();
m_characterManager = new LegoCharacterManager();
m_plantManager = new LegoPlantManager();
m_animationManager = new LegoAnimationManager();
m_buildingManager = new LegoBuildingManager();
m_gameState = new LegoGameState();
m_worldList = new LegoWorldList(TRUE);
if (!m_viewLODListManager || !m_textureContainer || !m_worldList || !m_saveDataWriter || !m_plantManager ||
if (!m_viewLODListManager || !m_textureContainer || !m_worldList || !m_characterManager || !m_plantManager ||
!m_animationManager || !m_buildingManager) {
goto done;
}

View file

@ -1,7 +1,7 @@
#include "legopathpresenter.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxautolocker.h"
DECOMP_SIZE_ASSERT(LegoPathPresenter, 0x54);

View file

@ -2,8 +2,9 @@
#include "islepathactor.h"
#include "legoomni.h"
#include "misc.h"
#include "mxdsaction.h"
#include "mxomni.h"
#include "mxmisc.h"
#include "police.h"
#include <stdlib.h>

View file

@ -1,5 +1,6 @@
#include "legorace.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
DECOMP_SIZE_ASSERT(LegoRace, 0x144)

View file

@ -1,12 +1,13 @@
#include "legoanimpresenter.h"
#include "legoanimmmpresenter.h"
#include "legoomni.h"
#include "legounksavedatawriter.h"
#include "legocharactermanager.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"
#include "mxcompositepresenter.h"
#include "mxdsanim.h"
#include "mxmisc.h"
#include "mxstreamchunk.h"
#include "mxtimer.h"
#include "mxvideomanager.h"
@ -113,7 +114,7 @@ LegoChar* LegoAnimPresenter::FUN_10069150(const LegoChar* p_und1)
{
LegoChar* str;
if (LegoUnkSaveDataWriter::FUN_10084c00(p_und1 + 1)) {
if (LegoCharacterManager::FUN_10084c00(p_und1 + 1)) {
str = new LegoChar[strlen(p_und1)];
if (str != NULL) {
@ -157,7 +158,7 @@ void LegoAnimPresenter::FUN_100692b0()
src = str;
}
roi = UnkSaveDataWriter()->FUN_10083500(src, TRUE);
roi = CharacterManager()->FUN_10083500(src, TRUE);
if (roi != NULL && str[0] == '*') {
roi->SetUnknown0x0c(0);
@ -169,7 +170,7 @@ void LegoAnimPresenter::FUN_100692b0()
strlwr(src);
LegoChar* und = FUN_10069150(str);
roi = UnkSaveDataWriter()->FUN_10085a80(und, src, 1);
roi = CharacterManager()->FUN_10085a80(und, src, 1);
if (roi != NULL) {
roi->SetUnknown0x0c(0);
@ -193,7 +194,7 @@ void LegoAnimPresenter::FUN_100692b0()
strlwr(src);
LegoChar* und = FUN_10069150(str);
roi = UnkSaveDataWriter()->FUN_10085210(und, src, 1);
roi = CharacterManager()->FUN_10085210(und, src, 1);
if (roi != NULL) {
roi->SetUnknown0x0c(0);
@ -238,7 +239,7 @@ void LegoAnimPresenter::FUN_100695c0()
strlwr(dest);
UnkSaveDataWriter()->FUN_10085210(str, dest, 0);
CharacterManager()->FUN_10085210(str, dest, 0);
FUN_100698b0(rois, str);
}
}

View file

@ -2,6 +2,7 @@
#include "legoomni.h"
#include "legoworld.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(LegoLocomotionAnimPresenter, 0xd8)

View file

@ -2,17 +2,17 @@
#include "anim/legoanim.h"
#include "define.h"
#include "legocharactermanager.h"
#include "legoentity.h"
#include "legoentitypresenter.h"
#include "legoomni.h"
#include "legounksavedatawriter.h"
#include "legovideomanager.h"
#include "legoworld.h"
#include "misc.h"
#include "misc/legocontainer.h"
#include "misc/legotexture.h"
#include "misc/version.h"
#include "mxcompositepresenter.h"
#include "mxutil.h"
#include "mxutilities.h"
#include "roi/legoroi.h"
// GLOBAL: LEGO1 0x100f7ae0
@ -308,7 +308,7 @@ void LegoModelPresenter::ParseExtra()
char* token = strtok(output, g_parseExtraTokens);
if (m_roi == NULL) {
m_roi = UnkSaveDataWriter()->FUN_10083500(token, FALSE);
m_roi = CharacterManager()->FUN_10083500(token, FALSE);
m_addedToView = FALSE;
}
}

View file

@ -1,7 +1,7 @@
#include "legopalettepresenter.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "misc/legostorage.h"
#include "mxstreamchunk.h"

View file

@ -1,7 +1,7 @@
#include "legopartpresenter.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "misc/legocontainer.h"
#include "misc/legostorage.h"
#include "misc/legotexture.h"

View file

@ -1,7 +1,7 @@
#include "legotexturepresenter.h"
#include "legoomni.h"
#include "legovideomanager.h"
#include "misc.h"
#include "misc/legocontainer.h"
#include "misc/legoimage.h"
#include "misc/legostorage.h"

View file

@ -1,6 +1,8 @@
#include "legovideomanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxmisc.h"
#include "mxtimer.h"
#include "mxtransitionmanager.h"
#include "realtime/matrix.h"

View file

@ -7,8 +7,9 @@
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legovariables.h"
#include "misc.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxomni.h"
#include "mxtransitionmanager.h"
DECOMP_SIZE_ASSERT(ElevatorBottom, 0xfc)

View file

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

View file

@ -3,9 +3,9 @@
#include "jukebox.h"
#include "legocontrolmanager.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxomni.h"
#include "mxtransitionmanager.h"
DECOMP_SIZE_ASSERT(HistoryBook, 0x3e4)

View file

@ -1,7 +1,7 @@
#include "hospital.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxomni.h"
DECOMP_SIZE_ASSERT(Hospital, 0x12c)

View file

@ -7,17 +7,19 @@
#include "legoact2state.h"
#include "legoanimationmanager.h"
#include "legobuildingmanager.h"
#include "legocharactermanager.h"
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legoplantmanager.h"
#include "legounksavedatawriter.h"
#include "legoutil.h"
#include "legoutils.h"
#include "legovideomanager.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
#include "mxbackgroundaudiomanager.h"
#include "mxcontrolpresenter.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxstillpresenter.h"
#include "mxticklemanager.h"
@ -1284,7 +1286,7 @@ void Infocenter::Reset()
PlantManager()->FUN_10027120();
BuildingManager()->FUN_10030590();
AnimationManager()->FUN_1005ee80(FALSE);
UnkSaveDataWriter()->FUN_100832a0();
CharacterManager()->FUN_100832a0();
GameState()->SetCurrentAct(LegoGameState::e_act1);
GameState()->SetPreviousArea(LegoGameState::e_noArea);
GameState()->SetUnknown0x42c(LegoGameState::e_noArea);

View file

@ -6,8 +6,10 @@
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxtransitionmanager.h"

View file

@ -7,7 +7,9 @@
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "legoutil.h"
#include "legoutils.h"
#include "misc.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxtransitionmanager.h"
#include "pizza.h"

View file

@ -6,8 +6,9 @@
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxomni.h"
#include "mxstillpresenter.h"
#include "mxticklemanager.h"
#include "mxtransitionmanager.h"

View file

@ -5,7 +5,9 @@
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxbackgroundaudiomanager.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxtransitionmanager.h"
#include "policestate.h"

View file

@ -4,8 +4,9 @@
#include "legocontrolmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "misc.h"
#include "mxactionnotificationparam.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxtimer.h"

View file

@ -6,7 +6,9 @@
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legoomni.h"
#include "misc.h"
#include "misc/legocontainer.h"
#include "mxmisc.h"
#include "mxnotificationmanager.h"
#include "mxnotificationparam.h"
#include "mxtransitionmanager.h"

View file

@ -1,7 +1,7 @@
#include "legocontainer.h"
#include "lego/legoomni/include/legoomni.h"
#include "lego/legoomni/include/legovideomanager.h"
#include "lego/legoomni/include/misc.h"
#include "tgl/d3drm/impl.h"
DECOMP_SIZE_ASSERT(LegoContainerInfo<LegoTexture>, 0x10);

View file

@ -1,8 +1,9 @@
#ifndef MXATOMIDCOUNTER_H
#define MXATOMIDCOUNTER_H
#ifndef MXATOM_H
#define MXATOM_H
#include "mxstl/stlcompat.h"
#include "mxstring.h"
#include "mxtypes.h"
// Counts the number of existing MxAtomId objects based
// on the matching char* string. A <map> seems fit for purpose here:
@ -43,6 +44,36 @@ struct MxAtomIdCounterCompare {
class MxAtomIdCounterSet : public set<MxAtomIdCounter*, MxAtomIdCounterCompare> {};
enum LookupMode {
e_exact = 0,
e_lowerCase,
e_upperCase,
e_lowerCase2,
};
// SIZE 0x04
class MxAtomId {
public:
MxAtomId(const char*, LookupMode);
MxAtomId& operator=(const MxAtomId& p_atomId);
~MxAtomId();
MxAtomId() { this->m_internal = 0; }
inline MxBool operator==(const MxAtomId& p_atomId) const { return this->m_internal == p_atomId.m_internal; }
inline MxBool operator!=(const MxAtomId& p_atomId) const { return this->m_internal != p_atomId.m_internal; }
void Clear();
const char* GetInternal() const { return m_internal; }
private:
MxAtomIdCounter* GetCounter(const char*, LookupMode);
void Destroy();
const char* m_internal; // 0x00
};
// SYNTHETIC: LEGO1 0x100ad170
// MxAtomIdCounter::~MxAtomIdCounter
@ -89,4 +120,4 @@ class MxAtomIdCounterSet : public set<MxAtomIdCounter*, MxAtomIdCounterCompare>
// TEMPLATE: LEGO1 0x100afe40
// Set<MxAtomIdCounter *,MxAtomIdCounterCompare>::~Set<MxAtomIdCounter *,MxAtomIdCounterCompare>
#endif // MXATOMIDCOUNTER_H
#endif // MXATOM_H

View file

@ -1,37 +0,0 @@
#ifndef MXATOMID_H
#define MXATOMID_H
#include "mxatomidcounter.h"
#include "mxtypes.h"
enum LookupMode {
e_exact = 0,
e_lowerCase,
e_upperCase,
e_lowerCase2,
};
// SIZE 0x04
class MxAtomId {
public:
MxAtomId(const char*, LookupMode);
MxAtomId& operator=(const MxAtomId& p_atomId);
~MxAtomId();
MxAtomId() { this->m_internal = 0; }
inline MxBool operator==(const MxAtomId& p_atomId) const { return this->m_internal == p_atomId.m_internal; }
inline MxBool operator!=(const MxAtomId& p_atomId) const { return this->m_internal != p_atomId.m_internal; }
void Clear();
const char* GetInternal() const { return m_internal; }
private:
MxAtomIdCounter* GetCounter(const char*, LookupMode);
void Destroy();
const char* m_internal; // 0x00
};
#endif // MXATOMID_H

View file

@ -82,7 +82,7 @@ class MxBitmap : public MxCore {
// https://learn.microsoft.com/en-us/windows/win32/medfound/image-stride
inline MxLong AlignToFourByte(MxLong p_value) const { return (p_value + 3) & -4; }
// Same as the one from legoutil.h, but flipped the other way
// Same as the one from legoutils.h, but flipped the other way
// TODO: While it's not outside the realm of possibility that they
// reimplemented Abs for only this file, that seems odd, right?
inline MxLong AbsFlipped(MxLong p_value) const { return p_value > 0 ? p_value : -p_value; }

View file

@ -2,7 +2,7 @@
#define MXDSFILE_H
#include "mxdssource.h"
#include "mxioinfo.h"
#include "mxio.h"
#include "mxstring.h"
#include "mxtypes.h"

Some files were not shown because too many files have changed in this diff Show more