mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-26 01:44:19 +00:00 
			
		
		
		
	 1b46859cf6
			
		
	
	1b46859cf6
	
	
	
		
			
			* Implement `RaceSkel`, add BETA10 annotations * fix formatting * Fix order * Address some review comments --------- Co-authored-by: jonschz <jonschz@users.noreply.github.com>
		
			
				
	
	
		
			130 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef LEGOOBJECTFACTORY_H
 | |
| #define LEGOOBJECTFACTORY_H
 | |
| 
 | |
| #include "mxobjectfactory.h"
 | |
| 
 | |
| #define FOR_LEGOOBJECTFACTORY_OBJECTS(X)                                                                               \
 | |
| 	X(LegoEntityPresenter)                                                                                             \
 | |
| 	X(LegoActorPresenter)                                                                                              \
 | |
| 	X(LegoWorldPresenter)                                                                                              \
 | |
| 	X(LegoWorld)                                                                                                       \
 | |
| 	X(LegoModelPresenter)                                                                                              \
 | |
| 	X(LegoTexturePresenter)                                                                                            \
 | |
| 	X(LegoPhonemePresenter)                                                                                            \
 | |
| 	X(LegoFlcTexturePresenter)                                                                                         \
 | |
| 	X(LegoPalettePresenter)                                                                                            \
 | |
| 	X(LegoPathPresenter)                                                                                               \
 | |
| 	X(LegoAnimPresenter)                                                                                               \
 | |
| 	X(LegoLoopingAnimPresenter)                                                                                        \
 | |
| 	X(LegoLocomotionAnimPresenter)                                                                                     \
 | |
| 	X(LegoHideAnimPresenter)                                                                                           \
 | |
| 	X(LegoPartPresenter)                                                                                               \
 | |
| 	X(LegoCarBuildAnimPresenter)                                                                                       \
 | |
| 	X(LegoActionControlPresenter)                                                                                      \
 | |
| 	X(LegoMeterPresenter)                                                                                              \
 | |
| 	X(LegoLoadCacheSoundPresenter)                                                                                     \
 | |
| 	X(Lego3DWavePresenter)                                                                                             \
 | |
| 	X(LegoActor)                                                                                                       \
 | |
| 	X(LegoPathActor)                                                                                                   \
 | |
| 	X(LegoRaceCar)                                                                                                     \
 | |
| 	X(LegoJetski)                                                                                                      \
 | |
| 	X(JetskiRace)                                                                                                      \
 | |
| 	X(LegoEntity)                                                                                                      \
 | |
| 	X(LegoCarRaceActor)                                                                                                \
 | |
| 	X(LegoJetskiRaceActor)                                                                                             \
 | |
| 	X(LegoCarBuild)                                                                                                    \
 | |
| 	X(Infocenter)                                                                                                      \
 | |
| 	X(LegoAnimActor)                                                                                                   \
 | |
| 	X(MxControlPresenter)                                                                                              \
 | |
| 	X(RegistrationBook)                                                                                                \
 | |
| 	X(HistoryBook)                                                                                                     \
 | |
| 	X(ElevatorBottom)                                                                                                  \
 | |
| 	X(InfocenterDoor)                                                                                                  \
 | |
| 	X(Score)                                                                                                           \
 | |
| 	X(ScoreState)                                                                                                      \
 | |
| 	X(Hospital)                                                                                                        \
 | |
| 	X(Isle)                                                                                                            \
 | |
| 	X(Police)                                                                                                          \
 | |
| 	X(GasStation)                                                                                                      \
 | |
| 	X(LegoAct2)                                                                                                        \
 | |
| 	X(LegoAct2State)                                                                                                   \
 | |
| 	X(CarRace)                                                                                                         \
 | |
| 	X(LegoRaceCarBuildState)                                                                                           \
 | |
| 	X(LegoCopterBuildState)                                                                                            \
 | |
| 	X(LegoDuneCarBuildState)                                                                                           \
 | |
| 	X(LegoJetskiBuildState)                                                                                            \
 | |
| 	X(HospitalState)                                                                                                   \
 | |
| 	X(InfocenterState)                                                                                                 \
 | |
| 	X(PoliceState)                                                                                                     \
 | |
| 	X(GasStationState)                                                                                                 \
 | |
| 	X(SkateBoard)                                                                                                      \
 | |
| 	X(Helicopter)                                                                                                      \
 | |
| 	X(HelicopterState)                                                                                                 \
 | |
| 	X(DuneBuggy)                                                                                                       \
 | |
| 	X(Pizza)                                                                                                           \
 | |
| 	X(PizzaMissionState)                                                                                               \
 | |
| 	X(Act2Actor)                                                                                                       \
 | |
| 	X(Act2Brick)                                                                                                       \
 | |
| 	X(Act2GenActor)                                                                                                    \
 | |
| 	X(Act2PoliceStation)                                                                                               \
 | |
| 	X(Act3)                                                                                                            \
 | |
| 	X(Act3State)                                                                                                       \
 | |
| 	X(Doors)                                                                                                           \
 | |
| 	X(LegoAnimMMPresenter)                                                                                             \
 | |
| 	X(RaceCar)                                                                                                         \
 | |
| 	X(Jetski)                                                                                                          \
 | |
| 	X(Bike)                                                                                                            \
 | |
| 	X(Motocycle)                                                                                                       \
 | |
| 	X(Ambulance)                                                                                                       \
 | |
| 	X(AmbulanceMissionState)                                                                                           \
 | |
| 	X(TowTrack)                                                                                                        \
 | |
| 	X(TowTrackMissionState)                                                                                            \
 | |
| 	X(Act3Cop)                                                                                                         \
 | |
| 	X(Act3Brickster)                                                                                                   \
 | |
| 	X(Act3Shark)                                                                                                       \
 | |
| 	X(BumpBouy)                                                                                                        \
 | |
| 	X(Act3Actor)                                                                                                       \
 | |
| 	X(JetskiRaceState)                                                                                                 \
 | |
| 	X(CarRaceState)                                                                                                    \
 | |
| 	X(Act1State)                                                                                                       \
 | |
| 	X(Pizzeria)                                                                                                        \
 | |
| 	X(PizzeriaState)                                                                                                   \
 | |
| 	X(InfoCenterEntity)                                                                                                \
 | |
| 	X(HospitalEntity)                                                                                                  \
 | |
| 	X(GasStationEntity)                                                                                                \
 | |
| 	X(PoliceEntity)                                                                                                    \
 | |
| 	X(BeachHouseEntity)                                                                                                \
 | |
| 	X(RaceStandsEntity)                                                                                                \
 | |
| 	X(JukeBoxEntity)                                                                                                   \
 | |
| 	X(RadioState)                                                                                                      \
 | |
| 	X(CaveEntity)                                                                                                      \
 | |
| 	X(JailEntity)                                                                                                      \
 | |
| 	X(MxCompositeMediaPresenter)                                                                                       \
 | |
| 	X(JukeBox)                                                                                                         \
 | |
| 	X(JukeBoxState)                                                                                                    \
 | |
| 	X(RaceSkel)                                                                                                        \
 | |
| 	X(AnimState)
 | |
| 
 | |
| // VTABLE: LEGO1 0x100d4768
 | |
| // VTABLE: BETA10 0x101bccd8
 | |
| // SIZE 0x1c8
 | |
| class LegoObjectFactory : public MxObjectFactory {
 | |
| public:
 | |
| 	LegoObjectFactory();
 | |
| 	MxCore* Create(const char* p_name) override; // vtable+0x14
 | |
| 	void Destroy(MxCore* p_object) override;     // vtable+0x18
 | |
| 
 | |
| 	// SYNTHETIC: LEGO1 0x10009000
 | |
| 	// LegoObjectFactory::`scalar deleting destructor'
 | |
| 
 | |
| 	// SYNTHETIC: LEGO1 0x10009170
 | |
| 	// LegoObjectFactory::~LegoObjectFactory
 | |
| 
 | |
| private:
 | |
| #define X(V) MxAtomId m_id##V;
 | |
| 	FOR_LEGOOBJECTFACTORY_OBJECTS(X)
 | |
| #undef X
 | |
| };
 | |
| 
 | |
| #endif // LEGOOBJECTFACTORY_H
 |