Remaining CStateManager fields, loaders, collision stubs

This commit is contained in:
Jack Andersen 2016-04-17 12:38:05 -10:00
parent cdbbcefacb
commit 3ae77d3390
22 changed files with 1105 additions and 1 deletions

View File

@ -45,6 +45,7 @@ target_link_libraries(urde
RuntimeCommonCharacter RuntimeCommonCharacter
RuntimeCommonInput RuntimeCommonInput
RuntimeCommonParticle RuntimeCommonParticle
RuntimeCommonCollision
RuntimeCommonGuiSys RuntimeCommonGuiSys
RuntimeCommonGraphics RuntimeCommonGraphics
RuntimeCommonAudio RuntimeCommonAudio

View File

@ -4,6 +4,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${BOO_INCLUDE_DIR}
add_subdirectory(Audio) add_subdirectory(Audio)
add_subdirectory(Character) add_subdirectory(Character)
add_subdirectory(Graphics) add_subdirectory(Graphics)
add_subdirectory(Collision)
add_subdirectory(Camera) add_subdirectory(Camera)
add_subdirectory(World) add_subdirectory(World)
add_subdirectory(AutoMapper) add_subdirectory(AutoMapper)

View File

@ -7,6 +7,8 @@
#include "World/CActorModelParticles.hpp" #include "World/CActorModelParticles.hpp"
#include "World/CTeamAiTypes.hpp" #include "World/CTeamAiTypes.hpp"
#include "Input/CRumbleManager.hpp" #include "Input/CRumbleManager.hpp"
#include "World/CWorld.hpp"
#include "Graphics/CLight.hpp"
namespace urde namespace urde
{ {
@ -15,7 +17,149 @@ CStateManager::CStateManager(const std::weak_ptr<CScriptMailbox>&,
const std::weak_ptr<CMapWorldInfo>&, const std::weak_ptr<CMapWorldInfo>&,
const std::weak_ptr<CPlayerState>&, const std::weak_ptr<CPlayerState>&,
const std::weak_ptr<CWorldTransManager>&) const std::weak_ptr<CWorldTransManager>&)
: x80c_allObjs(new CObjectList(EGameObjectList::All)),
x814_actorObjs(new CActorList()),
x81c_physActorObjs(new CPhysicsActorList()),
x824_cameraObjs(new CGameCameraList()),
x82c_lightObjs(new CGameLightList()),
x834_listenAiObjs(new CListeningAiList()),
x83c_aiWaypointObjs(new CAiWaypointList()),
x844_platformAndDoorObjs(new CPlatformAndDoorList()),
x870_cameraManager(new CCameraManager(kInvalidUniqueId)),
x874_sortedListManager(new CSortedListManager()),
x878_weaponManager(new CWeaponMgr()),
x87c_fluidPlaneManager(new CFluidPlaneManager()),
x880_envFxManager(new CEnvFxManager()),
x884_actorModelParticles(new CActorModelParticles()),
x888_teamAiTypes(new CTeamAiTypes()),
x88c_rumbleManager(new CRumbleManager())
{ {
x904_loaderFuncs[int(EScriptObjectType::Actor)] = ScriptLoader::LoadActor;
x904_loaderFuncs[int(EScriptObjectType::Waypoint)] = ScriptLoader::LoadWaypoint;
x904_loaderFuncs[int(EScriptObjectType::DoorArea)] = ScriptLoader::LoadDoorArea;
x904_loaderFuncs[int(EScriptObjectType::Trigger)] = ScriptLoader::LoadTrigger;
x904_loaderFuncs[int(EScriptObjectType::Timer)] = ScriptLoader::LoadTimer;
x904_loaderFuncs[int(EScriptObjectType::Counter)] = ScriptLoader::LoadCounter;
x904_loaderFuncs[int(EScriptObjectType::Effect)] = ScriptLoader::LoadEffect;
x904_loaderFuncs[int(EScriptObjectType::Platform)] = ScriptLoader::LoadPlatform;
x904_loaderFuncs[int(EScriptObjectType::Sound)] = ScriptLoader::LoadSound;
x904_loaderFuncs[int(EScriptObjectType::Generator)] = ScriptLoader::LoadGenerator;
x904_loaderFuncs[int(EScriptObjectType::Camera)] = ScriptLoader::LoadCamera;
x904_loaderFuncs[int(EScriptObjectType::CameraWaypoint)] = ScriptLoader::LoadCameraWaypoint;
x904_loaderFuncs[int(EScriptObjectType::NewIntroBoss)] = ScriptLoader::LoadNewIntroBoss;
x904_loaderFuncs[int(EScriptObjectType::SpawnPoint)] = ScriptLoader::LoadSpawnPoint;
x904_loaderFuncs[int(EScriptObjectType::CameraHint)] = ScriptLoader::LoadCameraHint;
x904_loaderFuncs[int(EScriptObjectType::Pickup)] = ScriptLoader::LoadPickup;
x904_loaderFuncs[int(EScriptObjectType::MemoryRelay)] = ScriptLoader::LoadMemoryRelay;
x904_loaderFuncs[int(EScriptObjectType::RandomRelay)] = ScriptLoader::LoadRandomRelay;
x904_loaderFuncs[int(EScriptObjectType::Relay)] = ScriptLoader::LoadRelay;
x904_loaderFuncs[int(EScriptObjectType::Beetle)] = ScriptLoader::LoadBeetle;
x904_loaderFuncs[int(EScriptObjectType::HUDMemo)] = ScriptLoader::LoadHUDMemo;
x904_loaderFuncs[int(EScriptObjectType::CameraFilterKeyframe)] = ScriptLoader::LoadCameraFilterKeyframe;
x904_loaderFuncs[int(EScriptObjectType::CameraBlurKeyframe)] = ScriptLoader::LoadCameraBlurKeyframe;
x904_loaderFuncs[int(EScriptObjectType::DamageableTrigger)] = ScriptLoader::LoadDamageableTrigger;
x904_loaderFuncs[int(EScriptObjectType::Debris)] = ScriptLoader::LoadDebris;
x904_loaderFuncs[int(EScriptObjectType::CameraShaker)] = ScriptLoader::LoadCameraShaker;
x904_loaderFuncs[int(EScriptObjectType::ActorKeyframe)] = ScriptLoader::LoadActorKeyframe;
x904_loaderFuncs[int(EScriptObjectType::Water)] = ScriptLoader::LoadWater;
x904_loaderFuncs[int(EScriptObjectType::Warwasp)] = ScriptLoader::LoadWarwasp;
x904_loaderFuncs[int(EScriptObjectType::SpacePirate)] = ScriptLoader::LoadSpacePirate;
x904_loaderFuncs[int(EScriptObjectType::FlyingPirate)] = ScriptLoader::LoadFlyingPirate;
x904_loaderFuncs[int(EScriptObjectType::ElitePirate)] = ScriptLoader::LoadElitePirate;
x904_loaderFuncs[int(EScriptObjectType::MetroidBeta)] = ScriptLoader::LoadMetroidBeta;
x904_loaderFuncs[int(EScriptObjectType::ChozoGhost)] = ScriptLoader::LoadChozoGhost;
x904_loaderFuncs[int(EScriptObjectType::CoverPoint)] = ScriptLoader::LoadCoverPoint;
x904_loaderFuncs[int(EScriptObjectType::SpiderBallWaypoint)] = ScriptLoader::LoadSpiderBallWaypoint;
x904_loaderFuncs[int(EScriptObjectType::BloodFlower)] = ScriptLoader::LoadBloodFlower;
x904_loaderFuncs[int(EScriptObjectType::FlickerBat)] = ScriptLoader::LoadFlickerBat;
x904_loaderFuncs[int(EScriptObjectType::PathCamera)] = ScriptLoader::LoadPathCamera;
x904_loaderFuncs[int(EScriptObjectType::GrapplePoint)] = ScriptLoader::LoadGrapplePoint;
x904_loaderFuncs[int(EScriptObjectType::PuddleSpore)] = ScriptLoader::LoadPuddleSpore;
x904_loaderFuncs[int(EScriptObjectType::DebugCameraWaypoint)] = ScriptLoader::LoadDebugCameraWaypoint;
x904_loaderFuncs[int(EScriptObjectType::SpiderBallAttractionSurface)] = ScriptLoader::LoadSpiderBallAttractionSurface;
x904_loaderFuncs[int(EScriptObjectType::PuddleToadGamma)] = ScriptLoader::LoadPuddleToadGamma;
x904_loaderFuncs[int(EScriptObjectType::DistanceFog)] = ScriptLoader::LoadDistanceFog;
x904_loaderFuncs[int(EScriptObjectType::FireFlea)] = ScriptLoader::LoadFireFlea;
x904_loaderFuncs[int(EScriptObjectType::MetareeAlpha)] = ScriptLoader::LoadMetareeAlpha;
x904_loaderFuncs[int(EScriptObjectType::DockAreaChange)] = ScriptLoader::LoadDockAreaChange;
x904_loaderFuncs[int(EScriptObjectType::ActorRotate)] = ScriptLoader::LoadActorRotate;
x904_loaderFuncs[int(EScriptObjectType::SpecialFunction)] = ScriptLoader::LoadSpecialFunction;
x904_loaderFuncs[int(EScriptObjectType::SpankWeed)] = ScriptLoader::LoadSpankWeed;
x904_loaderFuncs[int(EScriptObjectType::Parasite)] = ScriptLoader::LoadParasite;
x904_loaderFuncs[int(EScriptObjectType::PlayerHint)] = ScriptLoader::LoadPlayerHint;
x904_loaderFuncs[int(EScriptObjectType::Ripper)] = ScriptLoader::LoadRipper;
x904_loaderFuncs[int(EScriptObjectType::PickupGenerator)] = ScriptLoader::LoadPickupGenerator;
x904_loaderFuncs[int(EScriptObjectType::AIKeyframe)] = ScriptLoader::LoadAIKeyframe;
x904_loaderFuncs[int(EScriptObjectType::PointOfInterest)] = ScriptLoader::LoadPointOfInterest;
x904_loaderFuncs[int(EScriptObjectType::Drone)] = ScriptLoader::LoadDrone;
x904_loaderFuncs[int(EScriptObjectType::MetroidAlpha)] = ScriptLoader::LoadMetroidAlpha;
x904_loaderFuncs[int(EScriptObjectType::DebrisExtended)] = ScriptLoader::LoadDebrisExtended;
x904_loaderFuncs[int(EScriptObjectType::Steam)] = ScriptLoader::LoadSteam;
x904_loaderFuncs[int(EScriptObjectType::Ripple)] = ScriptLoader::LoadRipple;
x904_loaderFuncs[int(EScriptObjectType::BallTrigger)] = ScriptLoader::LoadBallTrigger;
x904_loaderFuncs[int(EScriptObjectType::TargetingPoint)] = ScriptLoader::LoadTargetingPoint;
x904_loaderFuncs[int(EScriptObjectType::ElectroMagneticPulse)] = ScriptLoader::LoadElectroMagneticPulse;
x904_loaderFuncs[int(EScriptObjectType::IceSheegoth)] = ScriptLoader::LoadIceSheegoth;
x904_loaderFuncs[int(EScriptObjectType::PlayerActor)] = ScriptLoader::LoadPlayerActor;
x904_loaderFuncs[int(EScriptObjectType::Flaahgra)] = ScriptLoader::LoadFlaahgra;
x904_loaderFuncs[int(EScriptObjectType::AreaAttributes)] = ScriptLoader::LoadAreaAttributes;
x904_loaderFuncs[int(EScriptObjectType::FishCloud)] = ScriptLoader::LoadFishCloud;
x904_loaderFuncs[int(EScriptObjectType::FishCloudModifier)] = ScriptLoader::LoadFishCloudModifier;
x904_loaderFuncs[int(EScriptObjectType::VisorFlare)] = ScriptLoader::LoadVisorFlare;
x904_loaderFuncs[int(EScriptObjectType::WorldTeleporterx52)] = ScriptLoader::LoadWorldTeleporter;
x904_loaderFuncs[int(EScriptObjectType::VisorGoo)] = ScriptLoader::LoadVisorGoo;
x904_loaderFuncs[int(EScriptObjectType::JellyZap)] = ScriptLoader::LoadJellyZap;
x904_loaderFuncs[int(EScriptObjectType::ControllerAction)] = ScriptLoader::LoadControllerAction;
x904_loaderFuncs[int(EScriptObjectType::Switch)] = ScriptLoader::LoadSwitch;
x904_loaderFuncs[int(EScriptObjectType::PlayerStateChange)] = ScriptLoader::LoadPlayerStateChange;
x904_loaderFuncs[int(EScriptObjectType::Thardus)] = ScriptLoader::LoadThardus;
x904_loaderFuncs[int(EScriptObjectType::WallCrawlerSwarm)] = ScriptLoader::LoadWallCrawlerSwarm;
x904_loaderFuncs[int(EScriptObjectType::AIJumpPoint)] = ScriptLoader::LoadAIJumpPoint;
x904_loaderFuncs[int(EScriptObjectType::FlaahgraTentacle)] = ScriptLoader::LoadFlaahgraTentacle;
x904_loaderFuncs[int(EScriptObjectType::RoomAcoustics)] = ScriptLoader::LoadRoomAcoustics;
x904_loaderFuncs[int(EScriptObjectType::ColorModulate)] = ScriptLoader::LoadColorModulate;
x904_loaderFuncs[int(EScriptObjectType::ThardusRockProjectile)] = ScriptLoader::LoadThardusRockProjectile;
x904_loaderFuncs[int(EScriptObjectType::Midi)] = ScriptLoader::LoadMidi;
x904_loaderFuncs[int(EScriptObjectType::StreamedAudio)] = ScriptLoader::LoadStreamedAudio;
x904_loaderFuncs[int(EScriptObjectType::WorldTeleporterx62)] = ScriptLoader::LoadWorldTeleporter;
x904_loaderFuncs[int(EScriptObjectType::Repulsor)] = ScriptLoader::LoadRepulsor;
x904_loaderFuncs[int(EScriptObjectType::GunTurret)] = ScriptLoader::LoadGunTurret;
x904_loaderFuncs[int(EScriptObjectType::FogVolume)] = ScriptLoader::LoadFogVolume;
x904_loaderFuncs[int(EScriptObjectType::Babygoth)] = ScriptLoader::LoadBabygoth;
x904_loaderFuncs[int(EScriptObjectType::Eyeball)] = ScriptLoader::LoadEyeball;
x904_loaderFuncs[int(EScriptObjectType::RadialDamage)] = ScriptLoader::LoadRadialDamage;
x904_loaderFuncs[int(EScriptObjectType::CameraPitchVolume)] = ScriptLoader::LoadCameraPitchVolume;
x904_loaderFuncs[int(EScriptObjectType::EnvFxDensityController)] = ScriptLoader::LoadEnvFxDensityController;
x904_loaderFuncs[int(EScriptObjectType::Magdolite)] = ScriptLoader::LoadMagdolite;
x904_loaderFuncs[int(EScriptObjectType::TeamAIMgr)] = ScriptLoader::LoadTeamAIMgr;
x904_loaderFuncs[int(EScriptObjectType::SnakeWeedSwarm)] = ScriptLoader::LoadSnakeWeedSwarm;
x904_loaderFuncs[int(EScriptObjectType::ActorContraption)] = ScriptLoader::LoadActorContraption;
x904_loaderFuncs[int(EScriptObjectType::Oculus)] = ScriptLoader::LoadOculus;
x904_loaderFuncs[int(EScriptObjectType::Geemer)] = ScriptLoader::LoadGeemer;
x904_loaderFuncs[int(EScriptObjectType::SpindleCamera)] = ScriptLoader::LoadSpindleCamera;
x904_loaderFuncs[int(EScriptObjectType::AtomicAlpha)] = ScriptLoader::LoadAtomicAlpha;
x904_loaderFuncs[int(EScriptObjectType::CameraHintTrigger)] = ScriptLoader::LoadCameraHintTrigger;
x904_loaderFuncs[int(EScriptObjectType::RumbleEffect)] = ScriptLoader::LoadRumbleEffect;
x904_loaderFuncs[int(EScriptObjectType::AmbientAI)] = ScriptLoader::LoadAmbientAI;
x904_loaderFuncs[int(EScriptObjectType::AtomicBeta)] = ScriptLoader::LoadAtomicBeta;
x904_loaderFuncs[int(EScriptObjectType::IceZoomer)] = ScriptLoader::LoadIceZoomer;
x904_loaderFuncs[int(EScriptObjectType::Puffer)] = ScriptLoader::LoadPuffer;
x904_loaderFuncs[int(EScriptObjectType::Tryclops)] = ScriptLoader::LoadTryclops;
x904_loaderFuncs[int(EScriptObjectType::Ridley)] = ScriptLoader::LoadRidley;
x904_loaderFuncs[int(EScriptObjectType::Seedling)] = ScriptLoader::LoadSeedling;
x904_loaderFuncs[int(EScriptObjectType::ThermalHeatFader)] = ScriptLoader::LoadThermalHeatFader;
x904_loaderFuncs[int(EScriptObjectType::Burrower)] = ScriptLoader::LoadBurrower;
x904_loaderFuncs[int(EScriptObjectType::ScriptBeam)] = ScriptLoader::LoadScriptBeam;
x904_loaderFuncs[int(EScriptObjectType::WorldLightFader)] = ScriptLoader::LoadWorldLightFader;
x904_loaderFuncs[int(EScriptObjectType::MetroidPrimeStage2)] = ScriptLoader::LoadMetroidPrimeStage2;
x904_loaderFuncs[int(EScriptObjectType::MetroidPrimeStage1)] = ScriptLoader::LoadMetroidPrimeStage1;
x904_loaderFuncs[int(EScriptObjectType::MazeNode)] = ScriptLoader::LoadMazeNode;
x904_loaderFuncs[int(EScriptObjectType::OmegaPirate)] = ScriptLoader::LoadOmegaPirate;
x904_loaderFuncs[int(EScriptObjectType::PhazonPool)] = ScriptLoader::LoadPhazonPool;
x904_loaderFuncs[int(EScriptObjectType::PhazonHealingNodule)] = ScriptLoader::LoadPhazonHealingNodule;
x904_loaderFuncs[int(EScriptObjectType::NewCameraShaker)] = ScriptLoader::LoadNewCameraShaker;
x904_loaderFuncs[int(EScriptObjectType::ShadowProjector)] = ScriptLoader::LoadShadowProjector;
x904_loaderFuncs[int(EScriptObjectType::EnergyBall)] = ScriptLoader::LoadEnergyBall;
} }
void CStateManager::RenderLast(TUniqueId) void CStateManager::RenderLast(TUniqueId)

View File

@ -2,6 +2,7 @@
#define __URDE_CSTATEMANAGER_HPP__ #define __URDE_CSTATEMANAGER_HPP__
#include <memory> #include <memory>
#include <set>
#include "CBasics.hpp" #include "CBasics.hpp"
#include "ScriptObjectSupport.hpp" #include "ScriptObjectSupport.hpp"
#include "GameObjectLists.hpp" #include "GameObjectLists.hpp"
@ -11,6 +12,8 @@
#include "zeus/CAABox.hpp" #include "zeus/CAABox.hpp"
#include "CWeaponMgr.hpp" #include "CWeaponMgr.hpp"
#include "World/CAi.hpp" #include "World/CAi.hpp"
#include "CToken.hpp"
#include "World/ScriptLoader.hpp"
namespace urde namespace urde
{ {
@ -30,10 +33,21 @@ class CLight;
class CDamageInfo; class CDamageInfo;
class CMaterialFilter; class CMaterialFilter;
class CFinalInput; class CFinalInput;
class CWorld;
class CTexture;
struct SScriptObjectStream
{
CEntity* x0_obj;
EScriptObjectType x4_type;
u32 x8_position;
u32 xc_length;
};
class CStateManager class CStateManager
{ {
TUniqueId x8_idArr[1024] = {}; TUniqueId x8_idArr[1024] = {};
std::unique_ptr<CObjectList> x80c_allObjs; std::unique_ptr<CObjectList> x80c_allObjs;
std::unique_ptr<CActorList> x814_actorObjs; std::unique_ptr<CActorList> x814_actorObjs;
std::unique_ptr<CPhysicsActorList> x81c_physActorObjs; std::unique_ptr<CPhysicsActorList> x81c_physActorObjs;
@ -43,6 +57,8 @@ class CStateManager
std::unique_ptr<CAiWaypointList> x83c_aiWaypointObjs; std::unique_ptr<CAiWaypointList> x83c_aiWaypointObjs;
std::unique_ptr<CPlatformAndDoorList> x844_platformAndDoorObjs; std::unique_ptr<CPlatformAndDoorList> x844_platformAndDoorObjs;
std::unique_ptr<CWorld> x850_world;
/* Used to be a list of 32-element reserved_vectors */ /* Used to be a list of 32-element reserved_vectors */
std::vector<TUniqueId> x858_objectGraveyard; std::vector<TUniqueId> x858_objectGraveyard;
@ -56,14 +72,59 @@ class CStateManager
std::unique_ptr<CTeamAiTypes> x888_teamAiTypes; std::unique_ptr<CTeamAiTypes> x888_teamAiTypes;
std::unique_ptr<CRumbleManager> x88c_rumbleManager; std::unique_ptr<CRumbleManager> x88c_rumbleManager;
std::map<TGameScriptId, TUniqueId> x890_scriptIdMap;
std::map<TEditorId, SScriptObjectStream> x8a4_loadedScriptObjects;
std::shared_ptr<CPlayerState> x8b8_playerState;
std::shared_ptr<CScriptMailbox> x8bc_scriptMailbox;
std::shared_ptr<CMapWorldInfo> x8c0_mapWorldInfo;
std::shared_ptr<CWorldTransManager> x8c4_worldTransManager;
TAreaId x8c8_currentAreaId;
TAreaId x8cc_nextAreaId;
u32 x8d0_extFrameIdx = 0;
u32 x8d4_updateFrameIdx = 0;
u32 x8d8_drawFrameIdx = 0;
std::vector<CLight> x8dc_dynamicLights;
TLockedToken<CTexture> x8ec_shadowTex; /* DefaultShadow in MiscData */
CRandom16 x8f8_random; CRandom16 x8f8_random;
CRandom16* x8fc_activeRandom = nullptr; CRandom16* x8fc_activeRandom = nullptr;
std::shared_ptr<CPlayerState> x8b8_playerState; FScriptLoader x904_loaderFuncs[int(EScriptObjectType::ScriptObjectTypeMAX)] = {};
bool xab0_worldLoaded = false;
std::set<std::string> xab4_uniqueInstanceNames;
CCameraFilterPass xaf8_camFilterPasses[9]; CCameraFilterPass xaf8_camFilterPasses[9];
CCameraBlurPass xc88_camBlurPasses[9]; CCameraBlurPass xc88_camBlurPasses[9];
s32 xe60_ = -1;
zeus::CVector3f xe64_;
TUniqueId xe70_ = kInvalidUniqueId;
zeus::CVector3f xe74_ = {0.f, 1.f, 1.f};
s32 xe80_ = 2;
TUniqueId xe84_ = kInvalidUniqueId;
union
{
struct
{
bool xe86_24_;
bool xe86_25_;
bool xe86_26_;
bool xe86_27_;
bool xe86_28_;
bool xe86_29_;
};
u16 _dummy = 0;
};
public: public:
enum class EScriptPersistence enum class EScriptPersistence
{ {

View File

View File

@ -0,0 +1,13 @@
#ifndef __URDE_CCOLLIDABLEOBBTREE_HPP__
#define __URDE_CCOLLIDABLEOBBTREE_HPP__
namespace urde
{
class CCollidableOBBTree
{
};
}
#endif // __URDE_CCOLLIDABLEOBBTREE_HPP__

View File

@ -0,0 +1,13 @@
#ifndef __URDE_CCOLLIDABLEOBBTREEGROUP_HPP__
#define __URDE_CCOLLIDABLEOBBTREEGROUP_HPP__
namespace urde
{
class CCollidableOBBTreeGroup
{
};
}
#endif // __URDE_CCOLLIDABLEOBBTREEGROUP_HPP__

View File

View File

@ -0,0 +1,13 @@
#ifndef __URDE_CCOLLISIONINFO_HPP__
#define __URDE_CCOLLISIONINFO_HPP__
namespace urde
{
class CCollisionInfo
{
};
}
#endif // __URDE_CCOLLISIONINFO_HPP__

View File

@ -0,0 +1,25 @@
#ifndef __URDE_CCOLLISIONPRIMITIVE_HPP__
#define __URDE_CCOLLISIONPRIMITIVE_HPP__
namespace urde
{
class CCollisionPrimitive
{
public:
enum class Type
{
};
static void InitBeginTypes();
static void InitAddType(Type tp);
static void InitEndTypes();
static void InitBeginColliders();
static void InitAddCollider(Type tp);
static void InitEndTypes();
};
}
#endif // __URDE_CCOLLISIONPRIMITIVE_HPP__

View File

View File

@ -0,0 +1,20 @@
#ifndef __URDE_CGAMECOLLISION_HPP__
#define __URDE_CGAMECOLLISION_HPP__
namespace urde
{
class CInternalCollisionStructure
{
};
class CGameCollision
{
public:
static void InitCollision();
};
}
#endif // __URDE_CGAMECOLLISION_HPP__

View File

@ -0,0 +1,5 @@
add_library(RuntimeCommonCollision
CGameCollision.hpp CGameCollision.cpp
CCollisionInfo.hpp CCollisionInfo.cpp
CCollidableOBBTree.hpp CCollidableOBBTree.cpp
CCollidableOBBTreeGroup.hpp CCollidableOBBTreeGroup.cpp)

View File

@ -34,6 +34,7 @@ struct SObjectTag
using TUniqueId = s16; using TUniqueId = s16;
using TEditorId = s32; using TEditorId = s32;
using TAreaId = s32; using TAreaId = s32;
using TGameScriptId = s32;
#define kInvalidEditorId TEditorId(-1) #define kInvalidEditorId TEditorId(-1)
#define kInvalidUniqueId TUniqueId(-1) #define kInvalidUniqueId TUniqueId(-1)

View File

@ -6,6 +6,134 @@ namespace urde
enum class EScriptObjectType enum class EScriptObjectType
{ {
Actor = 0x00,
Waypoint = 0x02,
DoorArea = 0x03,
Trigger = 0x04,
Timer = 0x05,
Counter = 0x06,
Effect = 0x07,
Platform = 0x08,
Sound = 0x09,
Generator = 0x0A,
Dock = 0x0B,
Camera = 0x0C,
CameraWaypoint = 0x0D,
NewIntroBoss = 0x0E,
SpawnPoint = 0x0F,
CameraHint = 0x10,
Pickup = 0x11,
MemoryRelay = 0x13,
RandomRelay = 0x14,
Relay = 0x15,
Beetle = 0x16,
HUDMemo = 0x17,
CameraFilterKeyframe = 0x18,
CameraBlurKeyframe = 0x19,
DamageableTrigger = 0x1A,
Debris = 0x1B,
CameraShaker = 0x1C,
ActorKeyframe = 0x1D,
Water = 0x20,
Warwasp = 0x21,
SpacePirate = 0x24,
FlyingPirate = 0x25,
ElitePirate = 0x26,
MetroidBeta = 0x27,
ChozoGhost = 0x28,
CoverPoint = 0x2A,
SpiderBallWaypoint = 0x2C,
BloodFlower = 0x2D,
FlickerBat = 0x2E,
PathCamera = 0x2F,
GrapplePoint = 0x30,
PuddleSpore = 0x31,
DebugCameraWaypoint = 0x32,
SpiderBallAttractionSurface = 0x33,
PuddleToadGamma = 0x34,
DistanceFog = 0x35,
FireFlea = 0x36,
MetareeAlpha = 0x37,
DockAreaChange = 0x38,
ActorRotate = 0x39,
SpecialFunction = 0x3A,
SpankWeed = 0x3B,
Parasite = 0x3D,
PlayerHint = 0x3E,
Ripper = 0x3F,
PickupGenerator = 0x40,
AIKeyframe = 0x41,
PointOfInterest = 0x42,
Drone = 0x43,
MetroidAlpha = 0x44,
DebrisExtended = 0x45,
Steam = 0x46,
Ripple = 0x47,
BallTrigger = 0x48,
TargetingPoint = 0x49,
ElectroMagneticPulse = 0x4A,
IceSheegoth = 0x4B,
PlayerActor = 0x4C,
Flaahgra = 0x4D,
AreaAttributes = 0x4E,
FishCloud = 0x4F,
FishCloudModifier = 0x50,
VisorFlare = 0x51,
WorldTeleporterx52 = 0x52,
VisorGoo = 0x53,
JellyZap = 0x54,
ControllerAction = 0x55,
Switch = 0x56,
PlayerStateChange = 0x57,
Thardus = 0x58,
WallCrawlerSwarm = 0x5A,
AIJumpPoint = 0x5B,
FlaahgraTentacle = 0x5C,
RoomAcoustics = 0x5D,
ColorModulate = 0x5E,
ThardusRockProjectile = 0x5F,
Midi = 0x60,
StreamedAudio = 0x61,
WorldTeleporterx62 = 0x62,
Repulsor = 0x63,
GunTurret = 0x64,
FogVolume = 0x65,
Babygoth = 0x66,
Eyeball = 0x67,
RadialDamage = 0x68,
CameraPitchVolume = 0x69,
EnvFxDensityController = 0x6A,
Magdolite = 0x6B,
TeamAIMgr = 0x6C,
SnakeWeedSwarm = 0x6D,
ActorContraption = 0x6E,
Oculus = 0x6F,
Geemer = 0x70,
SpindleCamera = 0x71,
AtomicAlpha = 0x72,
CameraHintTrigger = 0x73,
RumbleEffect = 0x74,
AmbientAI = 0x75,
AtomicBeta = 0x77,
IceZoomer = 0x78,
Puffer = 0x79,
Tryclops = 0x7A,
Ridley = 0x7B,
Seedling = 0x7C,
ThermalHeatFader = 0x7D,
Burrower = 0x7F,
ScriptBeam = 0x81,
WorldLightFader = 0x82,
MetroidPrimeStage2 = 0x83,
MetroidPrimeStage1 = 0x84,
MazeNode = 0x85,
OmegaPirate = 0x86,
PhazonPool = 0x87,
PhazonHealingNodule = 0x88,
NewCameraShaker = 0x89,
ShadowProjector = 0x8A,
EnergyBall = 0x8B,
ScriptObjectTypeMAX
}; };
enum class EScriptObjectState enum class EScriptObjectState

View File

@ -1,8 +1,10 @@
add_library(RuntimeCommonWorld add_library(RuntimeCommonWorld
CWorld.hpp CWorld.cpp
CGameArea.hpp CGameArea.cpp CGameArea.hpp CGameArea.cpp
CPathFindArea.hpp CPathFindArea.cpp CPathFindArea.hpp CPathFindArea.cpp
CAreaOctTree.hpp CAreaOctTree.cpp CAreaOctTree.hpp CAreaOctTree.cpp
CActor.hpp CActor.cpp CActor.hpp CActor.cpp
CPhysicsActor.hpp CPhysicsActor.cpp
CAi.hpp CAi.cpp CAi.hpp CAi.cpp
CEntity.hpp CEntity.cpp CEntity.hpp CEntity.cpp
CPhysicsActor.hpp CPhysicsActor.cpp CPhysicsActor.hpp CPhysicsActor.cpp
@ -10,4 +12,5 @@ add_library(RuntimeCommonWorld
CEnvFxManager.hpp CEnvFxManager.cpp CEnvFxManager.hpp CEnvFxManager.cpp
CActorModelParticles.hpp CActorModelParticles.cpp CActorModelParticles.hpp CActorModelParticles.cpp
CTeamAiTypes.hpp CTeamAiTypes.cpp CTeamAiTypes.hpp CTeamAiTypes.cpp
ScriptLoader.hpp ScriptLoader.cpp
CScriptWater.hpp CScriptWater.cpp) CScriptWater.hpp CScriptWater.cpp)

0
Runtime/World/CWorld.cpp Normal file
View File

13
Runtime/World/CWorld.hpp Normal file
View File

@ -0,0 +1,13 @@
#ifndef __URDE_CWORLD_HPP__
#define __URDE_CWORLD_HPP__
namespace urde
{
class CWorld
{
};
}
#endif // __URDE_CWORLD_HPP__

View File

@ -0,0 +1,514 @@
#include "ScriptLoader.hpp"
namespace urde
{
CEntity* ScriptLoader::LoadActor(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDoorArea(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadTimer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCounter(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadEffect(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPlatform(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSound(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadGenerator(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDock(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCamera(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCameraWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadNewIntroBoss(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSpawnPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCameraHint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPickup(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMemoryRelay(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRandomRelay(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRelay(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadBeetle(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadHUDMemo(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCameraFilterKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCameraBlurKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDamageableTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDebris(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCameraShaker(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadActorKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadWater(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadWarwasp(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSpacePirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFlyingPirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadElitePirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMetroidBeta(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadChozoGhost(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCoverPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSpiderBallWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadBloodFlower(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFlickerBat(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPathCamera(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadGrapplePoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPuddleSpore(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDebugCameraWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSpiderBallAttractionSurface(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPuddleToadGamma(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDistanceFog(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFireFlea(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMetareeAlpha(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDockAreaChange(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadActorRotate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSpecialFunction(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSpankWeed(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadParasite(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPlayerHint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRipper(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPickupGenerator(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadAIKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPointOfInterest(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDrone(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMetroidAlpha(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadDebrisExtended(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSteam(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRipple(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadBallTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadTargetingPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadElectroMagneticPulse(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadIceSheegoth(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPlayerActor(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFlaahgra(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadAreaAttributes(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFishCloud(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFishCloudModifier(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadVisorFlare(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadWorldTeleporter(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadVisorGoo(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadJellyZap(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadControllerAction(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSwitch(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPlayerStateChange(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadThardus(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadWallCrawlerSwarm(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadAIJumpPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFlaahgraTentacle(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRoomAcoustics(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadColorModulate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadThardusRockProjectile(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMidi(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadStreamedAudio(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRepulsor(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadGunTurret(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadFogVolume(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadBabygoth(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadEyeball(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRadialDamage(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCameraPitchVolume(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadEnvFxDensityController(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMagdolite(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadTeamAIMgr(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSnakeWeedSwarm(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::Load(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadActorContraption(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadOculus(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadGeemer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSpindleCamera(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadAtomicAlpha(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadCameraHintTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRumbleEffect(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadAmbientAI(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadAtomicBeta(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadIceZoomer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPuffer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadTryclops(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadRidley(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadSeedling(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadThermalHeatFader(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadBurrower(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadScriptBeam(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadWorldLightFader(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMetroidPrimeStage2(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMetroidPrimeStage1(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadMazeNode(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadOmegaPirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPhazonPool(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadPhazonHealingNodule(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadNewCameraShaker(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadShadowProjector(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
CEntity* ScriptLoader::LoadEnergyBall(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info)
{
}
}

View File

@ -0,0 +1,149 @@
#ifndef __URDE_SCRIPTLOADER_HPP__
#define __URDE_SCRIPTLOADER_HPP__
#include "IOStreams.hpp"
namespace urde
{
class CStateManager;
class CEntityInfo;
class CEntity;
using FScriptLoader = std::function<CEntity*(CStateManager& mgr, CInputStream& in,
int, const CEntityInfo& info)>;
class ScriptLoader
{
public:
static CEntity* LoadActor(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDoorArea(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadTimer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCounter(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadEffect(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPlatform(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSound(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadGenerator(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDock(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCamera(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCameraWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadNewIntroBoss(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSpawnPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCameraHint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPickup(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMemoryRelay(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRandomRelay(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRelay(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadBeetle(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadHUDMemo(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCameraFilterKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCameraBlurKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDamageableTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDebris(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCameraShaker(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadActorKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadWater(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadWarwasp(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSpacePirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFlyingPirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadElitePirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMetroidBeta(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadChozoGhost(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCoverPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSpiderBallWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadBloodFlower(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFlickerBat(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPathCamera(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadGrapplePoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPuddleSpore(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDebugCameraWaypoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSpiderBallAttractionSurface(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPuddleToadGamma(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDistanceFog(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFireFlea(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMetareeAlpha(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDockAreaChange(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadActorRotate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSpecialFunction(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSpankWeed(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadParasite(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPlayerHint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRipper(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPickupGenerator(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadAIKeyframe(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPointOfInterest(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDrone(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMetroidAlpha(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadDebrisExtended(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSteam(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRipple(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadBallTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadTargetingPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadElectroMagneticPulse(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadIceSheegoth(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPlayerActor(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFlaahgra(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadAreaAttributes(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFishCloud(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFishCloudModifier(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadVisorFlare(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadWorldTeleporter(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadVisorGoo(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadJellyZap(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadControllerAction(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSwitch(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPlayerStateChange(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadThardus(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadWallCrawlerSwarm(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadAIJumpPoint(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFlaahgraTentacle(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRoomAcoustics(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadColorModulate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadThardusRockProjectile(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMidi(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadStreamedAudio(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRepulsor(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadGunTurret(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadFogVolume(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadBabygoth(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadEyeball(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRadialDamage(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCameraPitchVolume(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadEnvFxDensityController(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMagdolite(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadTeamAIMgr(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSnakeWeedSwarm(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* Load(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadActorContraption(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadOculus(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadGeemer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSpindleCamera(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadAtomicAlpha(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadCameraHintTrigger(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRumbleEffect(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadAmbientAI(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadAtomicBeta(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadIceZoomer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPuffer(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadTryclops(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadRidley(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadSeedling(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadThermalHeatFader(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadBurrower(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadScriptBeam(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadWorldLightFader(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMetroidPrimeStage2(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMetroidPrimeStage1(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadMazeNode(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadOmegaPirate(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPhazonPool(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadPhazonHealingNodule(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadNewCameraShaker(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadShadowProjector(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
static CEntity* LoadEnergyBall(CStateManager& mgr, CInputStream& in, int, const CEntityInfo& info);
};
}
#endif // __URDE_SCRIPTLOADER_HPP__