CStateManager method stubs

This commit is contained in:
Jack Andersen 2016-04-16 19:35:32 -10:00
parent 1817227465
commit cdbbcefacb
5 changed files with 449 additions and 24 deletions

View File

@ -18,7 +18,336 @@ CStateManager::CStateManager(const std::weak_ptr<CScriptMailbox>&,
{ {
} }
void CStateManager::SendScriptMsg(TUniqueId uid, TEditorId eid, EScriptObjectMessage msg, EScriptObjectState state) void CStateManager::RenderLast(TUniqueId)
{
}
void CStateManager::AddDrawableActor(const CActor& actor, const zeus::CVector3f& vec,
const zeus::CAABox& aabb) const
{
}
void CStateManager::SpecialSkipCinematic()
{
}
void CStateManager::GetVisAreaId() const
{
}
void CStateManager::GetWeaponIdCount(TUniqueId, EWeaponType)
{
}
void CStateManager::RemoveWeaponId(TUniqueId, EWeaponType)
{
}
void CStateManager::AddWeaponId(TUniqueId, EWeaponType)
{
}
void CStateManager::UpdateEscapeSequenceTimer(float)
{
}
float CStateManager::GetEscapeSequenceTimer() const
{
}
void CStateManager::ResetEscapeSequenceTimer(float)
{
}
void CStateManager::SetupParticleHook(const CActor& actor) const
{
}
void CStateManager::MurderScriptInstanceNames()
{
}
void CStateManager::HashInstanceName(CInputStream& in)
{
}
void CStateManager::SetActorAreaId(CActor& actor, TAreaId)
{
}
void CStateManager::TouchSky() const
{
}
void CStateManager::DrawSpaceWarp(const zeus::CVector3f&, float) const
{
}
void CStateManager::DrawReflection(const zeus::CVector3f&)
{
}
void CStateManager::CacheReflection()
{
}
bool CStateManager::CanCreateProjectile(TUniqueId, EWeaponType, int) const
{
}
const CGameLightList* CStateManager::GetDynamicLightList() const
{
}
void CStateManager::BuildDynamicLightListForWorld(std::vector<CLight>& listOut) const
{
}
void CStateManager::DrawDebugStuff() const
{
}
void CStateManager::RenderCamerasAndAreaLights() const
{
}
void CStateManager::DrawE3DeathEffect() const
{
}
void CStateManager::DrawAdditionalFilters() const
{
}
void CStateManager::DrawWorld() const
{
}
void CStateManager::SetupFogForArea(const CGameArea& area) const
{
}
void CStateManager::PreRender()
{
}
void CStateManager::GetVisSetForArea(TAreaId, TAreaId) const
{
}
void CStateManager::RecursiveDrawTree(TUniqueId) const
{
}
void CStateManager::SendScriptMsg(TUniqueId uid, TEditorId eid,
EScriptObjectMessage msg, EScriptObjectState state)
{
}
void CStateManager::FreeScriptObjects(TAreaId)
{
}
void CStateManager::GetBuildForScript(TEditorId) const
{
}
void CStateManager::GetEditorIdForUniqueId() const
{
}
TUniqueId CStateManager::GetIdForScript(TEditorId) const
{
}
void CStateManager::GetIdListForScript(TEditorId) const
{
}
void CStateManager::LoadScriptObjects(TAreaId, CInputStream& in, EScriptPersistence)
{
}
void CStateManager::LoadScriptObject(TAreaId, EScriptObjectType, u32,
CInputStream& in, EScriptPersistence)
{
}
void CStateManager::InformListeners(const zeus::CVector3f&, EListenNoiseType)
{
}
void CStateManager::ApplyKnockBack(CActor& actor, const CDamageInfo& info,
const CDamageVulnerability&, const zeus::CVector3f&, float)
{
}
void CStateManager::ApplyDamageToWorld(TUniqueId, const CActor&, const zeus::CVector3f&,
const CDamageInfo& info, const CMaterialFilter&)
{
}
void CStateManager::ProcessRadiusDamage(const CActor&, CActor&, const zeus::CVector3f&,
const CDamageInfo& info, const CMaterialFilter&)
{
}
void CStateManager::ApplyRadiusDamage(const CActor&, const zeus::CVector3f&, CActor&,
const CDamageInfo& info)
{
}
void CStateManager::ApplyLocalDamage(const zeus::CVector3f&, const zeus::CVector3f&, CActor&, float,
const CWeaponMode&)
{
}
void CStateManager::ApplyDamage(TUniqueId, TUniqueId, TUniqueId, const CDamageInfo& info,
const CMaterialFilter&)
{
}
void CStateManager::UpdateAreaSounds()
{
}
void CStateManager::FrameEnd()
{
}
void CStateManager::ProcessPlayerInput()
{
}
void CStateManager::ProcessInput(const CFinalInput& input)
{
}
void CStateManager::Update(float dt)
{
}
void CStateManager::UpdateGameState()
{
}
void CStateManager::FrameBegin()
{
}
void CStateManager::InitializeState(u32, TAreaId, u32)
{
}
void CStateManager::CreateStandardGameObjects()
{
}
CObjectList* CStateManager::ObjectListById(EGameObjectList type)
{
std::unique_ptr<CObjectList>* lists = &x80c_allObjs;
return lists[int(type)].get();
}
const CObjectList* CStateManager::GetObjectListById(EGameObjectList type) const
{
const std::unique_ptr<CObjectList>* lists = &x80c_allObjs;
return lists[int(type)].get();
}
void CStateManager::RemoveObject(TUniqueId)
{
}
void CStateManager::UpdateRoomAcoustics(TAreaId)
{
}
void CStateManager::SetCurrentAreaId(TAreaId)
{
}
void CStateManager::ClearGraveyard()
{
}
void CStateManager::DeleteObjectRequest(TUniqueId)
{
}
CEntity* CStateManager::ObjectById(TUniqueId uid)
{
return x80c_allObjs->GetObjectById(uid);
}
const CEntity* CStateManager::GetObjectById(TUniqueId uid) const
{
return x80c_allObjs->GetObjectById(uid);
}
void CStateManager::AreaUnloaded(TAreaId)
{
}
void CStateManager::PrepareAreaUnload(TAreaId)
{
}
void CStateManager::AreaLoaded(TAreaId)
{
}
void CStateManager::BuildNearList(rstl::reserved_vector<TUniqueId, 1024>& listOut,
const zeus::CVector3f&, const zeus::CVector3f&, float,
const CMaterialFilter&, const CActor*) const
{
}
void CStateManager::BuildColliderList(rstl::reserved_vector<TUniqueId, 1024>& listOut,
const CActor&, const zeus::CAABox&) const
{
}
void CStateManager::BuildNearList(rstl::reserved_vector<TUniqueId, 1024>& listOut,
const zeus::CAABox&, const CMaterialFilter&, const CActor*) const
{
}
void CStateManager::UpdateActorInSortedLists(CActor&)
{
}
void CStateManager::UpdateSortedLists()
{
}
zeus::CAABox CStateManager::CalculateObjectBounds(const CActor&)
{
}
void CStateManager::AddObject(CEntity&, EScriptPersistence)
{
}
void CStateManager::AddObject(CEntity*, EScriptPersistence)
{
}
bool CStateManager::RayStaticIntersection(const zeus::CVector3f&, const zeus::CVector3f&, float,
const CMaterialFilter&) const
{
}
bool CStateManager::RayWorldIntersection(TUniqueId, const zeus::CVector3f&, const zeus::CVector3f&,
float, const CMaterialFilter&,
const rstl::reserved_vector<TUniqueId, 1024>& list) const
{
}
void CStateManager::UpdateObjectInLists(CEntity&)
{
}
TUniqueId CStateManager::AllocateUniqueId()
{ {
} }

View File

@ -8,6 +8,9 @@
#include "Camera/CCameraManager.hpp" #include "Camera/CCameraManager.hpp"
#include "Camera/CCameraFilter.hpp" #include "Camera/CCameraFilter.hpp"
#include "CRandom16.hpp" #include "CRandom16.hpp"
#include "zeus/CAABox.hpp"
#include "CWeaponMgr.hpp"
#include "World/CAi.hpp"
namespace urde namespace urde
{ {
@ -17,12 +20,16 @@ class CPlayerState;
class CWorldTransManager; class CWorldTransManager;
class CObjectList; class CObjectList;
class CSortedListManager; class CSortedListManager;
class CWeaponMgr;
class CFluidPlaneManager; class CFluidPlaneManager;
class CEnvFxManager; class CEnvFxManager;
class CActorModelParticles; class CActorModelParticles;
class CTeamAiTypes; class CTeamAiTypes;
class CRumbleManager; class CRumbleManager;
class CActor;
class CLight;
class CDamageInfo;
class CMaterialFilter;
class CFinalInput;
class CStateManager class CStateManager
{ {
@ -35,7 +42,9 @@ class CStateManager
std::unique_ptr<CListeningAiList> x834_listenAiObjs; std::unique_ptr<CListeningAiList> x834_listenAiObjs;
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::list<u32> x858_;
/* Used to be a list of 32-element reserved_vectors */
std::vector<TUniqueId> x858_objectGraveyard;
// x86c_stateManagerContainer; // x86c_stateManagerContainer;
std::unique_ptr<CCameraManager> x870_cameraManager; std::unique_ptr<CCameraManager> x870_cameraManager;
@ -56,33 +65,110 @@ class CStateManager
CCameraBlurPass xc88_camBlurPasses[9]; CCameraBlurPass xc88_camBlurPasses[9];
public: public:
enum class EScriptPersistence
{
};
CStateManager(const std::weak_ptr<CScriptMailbox>&, 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>&);
const std::shared_ptr<CPlayerState>& GetPlayerState() const {return x8b8_playerState;} void RenderLast(TUniqueId);
void AddDrawableActor(const CActor& actor, const zeus::CVector3f& vec, const zeus::CAABox& aabb) const;
const CObjectList* GetObjectListById(EGameObjectList type) const void SpecialSkipCinematic();
{ void GetVisAreaId() const;
const std::unique_ptr<CObjectList>* lists = &x80c_allObjs; void GetWeaponIdCount(TUniqueId, EWeaponType);
return lists[int(type)].get(); void RemoveWeaponId(TUniqueId, EWeaponType);
} void AddWeaponId(TUniqueId, EWeaponType);
CObjectList* GetObjectListById(EGameObjectList type) void UpdateEscapeSequenceTimer(float);
{ float GetEscapeSequenceTimer() const;
std::unique_ptr<CObjectList>* lists = &x80c_allObjs; void ResetEscapeSequenceTimer(float);
return lists[int(type)].get(); void SetupParticleHook(const CActor& actor) const;
} void MurderScriptInstanceNames();
CEntity* GetObjectById(TUniqueId uid) void HashInstanceName(CInputStream& in);
{ void SetActorAreaId(CActor& actor, TAreaId);
return x80c_allObjs->GetObjectById(uid); void TouchSky() const;
} void DrawSpaceWarp(const zeus::CVector3f&, float) const;
void DrawReflection(const zeus::CVector3f&);
void CacheReflection();
bool CanCreateProjectile(TUniqueId, EWeaponType, int) const;
const CGameLightList* GetDynamicLightList() const;
void BuildDynamicLightListForWorld(std::vector<CLight>& listOut) const;
void DrawDebugStuff() const;
void RenderCamerasAndAreaLights() const;
void DrawE3DeathEffect() const;
void DrawAdditionalFilters() const;
void DrawWorld() const;
void SetupFogForArea(const CGameArea& area) const;
void PreRender();
void GetVisSetForArea(TAreaId, TAreaId) const;
void RecursiveDrawTree(TUniqueId) const;
void SendScriptMsg(TUniqueId uid, TEditorId eid, EScriptObjectMessage msg, EScriptObjectState state); void SendScriptMsg(TUniqueId uid, TEditorId eid, EScriptObjectMessage msg, EScriptObjectState state);
void FreeScriptObjects(TAreaId);
void GetBuildForScript(TEditorId) const;
void GetEditorIdForUniqueId() const;
TUniqueId GetIdForScript(TEditorId) const;
void GetIdListForScript(TEditorId) const;
void LoadScriptObjects(TAreaId, CInputStream& in, EScriptPersistence);
void LoadScriptObject(TAreaId, EScriptObjectType, u32, CInputStream& in, EScriptPersistence);
void InformListeners(const zeus::CVector3f&, EListenNoiseType);
void ApplyKnockBack(CActor& actor, const CDamageInfo& info,
const CDamageVulnerability&, const zeus::CVector3f&, float);
void ApplyDamageToWorld(TUniqueId, const CActor&, const zeus::CVector3f&,
const CDamageInfo& info, const CMaterialFilter&);
void ProcessRadiusDamage(const CActor&, CActor&, const zeus::CVector3f&,
const CDamageInfo& info, const CMaterialFilter&);
void ApplyRadiusDamage(const CActor&, const zeus::CVector3f&, CActor&,
const CDamageInfo& info);
void ApplyLocalDamage(const zeus::CVector3f&, const zeus::CVector3f&, CActor&, float,
const CWeaponMode&);
void ApplyDamage(TUniqueId, TUniqueId, TUniqueId, const CDamageInfo& info,
const CMaterialFilter&);
void UpdateAreaSounds();
void FrameEnd();
void ProcessPlayerInput();
void ProcessInput(const CFinalInput& input);
void Update(float dt);
void UpdateGameState();
void FrameBegin();
void InitializeState(u32, TAreaId, u32);
void CreateStandardGameObjects();
CObjectList* ObjectListById(EGameObjectList type);
const CObjectList* GetObjectListById(EGameObjectList type) const;
void RemoveObject(TUniqueId);
void UpdateRoomAcoustics(TAreaId);
void SetCurrentAreaId(TAreaId);
void ClearGraveyard();
void DeleteObjectRequest(TUniqueId);
CEntity* ObjectById(TUniqueId uid);
const CEntity* GetObjectById(TUniqueId uid) const;
void AreaUnloaded(TAreaId);
void PrepareAreaUnload(TAreaId);
void AreaLoaded(TAreaId);
void BuildNearList(rstl::reserved_vector<TUniqueId, 1024>& listOut,
const zeus::CVector3f&, const zeus::CVector3f&, float,
const CMaterialFilter&, const CActor*) const;
void BuildColliderList(rstl::reserved_vector<TUniqueId, 1024>& listOut,
const CActor&, const zeus::CAABox&) const;
void BuildNearList(rstl::reserved_vector<TUniqueId, 1024>& listOut,
const zeus::CAABox&, const CMaterialFilter&, const CActor*) const;
void UpdateActorInSortedLists(CActor&);
void UpdateSortedLists();
zeus::CAABox CalculateObjectBounds(const CActor&);
void AddObject(CEntity&, EScriptPersistence);
void AddObject(CEntity*, EScriptPersistence);
bool RayStaticIntersection(const zeus::CVector3f&, const zeus::CVector3f&, float,
const CMaterialFilter&) const;
bool RayWorldIntersection(TUniqueId, const zeus::CVector3f&, const zeus::CVector3f&,
float, const CMaterialFilter&,
const rstl::reserved_vector<TUniqueId, 1024>& list) const;
void UpdateObjectInLists(CEntity&);
TUniqueId AllocateUniqueId(); TUniqueId AllocateUniqueId();
const std::shared_ptr<CPlayerState>& GetPlayerState() const {return x8b8_playerState;}
CRandom16* GetActiveRandom() {return x8fc_activeRandom;} CRandom16* GetActiveRandom() {return x8fc_activeRandom;}
CRumbleManager& GetRumbleManager() {return *x88c_rumbleManager;} CRumbleManager& GetRumbleManager() {return *x88c_rumbleManager;}
CCameraFilterPass& GetCameraFilterPass(int idx) {return xaf8_camFilterPasses[idx];} CCameraFilterPass& GetCameraFilterPass(int idx) {return xaf8_camFilterPasses[idx];}
}; };

View File

@ -4,6 +4,10 @@
namespace urde namespace urde
{ {
enum class EWeaponType
{
};
class CWeaponMgr class CWeaponMgr
{ {
}; };

View File

@ -101,7 +101,7 @@ void CCameraManager::Update(float dt, CStateManager& stateMgr)
if (x74_fluidCounter) if (x74_fluidCounter)
{ {
CScriptWater* water = dynamic_cast<CScriptWater*>(stateMgr.GetObjectById(x78_fluidId)); const CScriptWater* water = dynamic_cast<const CScriptWater*>(stateMgr.GetObjectById(x78_fluidId));
if (water) if (water)
{ {
// TODO: Finish // TODO: Finish
@ -126,7 +126,7 @@ void CCameraManager::Update(float dt, CStateManager& stateMgr)
CGameCamera* CCameraManager::GetCurrentCamera(CStateManager& stateMgr) const CGameCamera* CCameraManager::GetCurrentCamera(CStateManager& stateMgr) const
{ {
CObjectList* camList = stateMgr.GetObjectListById(EGameObjectList::GameCamera); CObjectList* camList = stateMgr.ObjectListById(EGameObjectList::GameCamera);
return static_cast<CGameCamera*>(camList->GetObjectById(GetCurrentCameraId())); return static_cast<CGameCamera*>(camList->GetObjectById(GetCurrentCameraId()));
} }

View File

@ -4,6 +4,10 @@
namespace urde namespace urde
{ {
enum class EScriptObjectType
{
};
enum class EScriptObjectState enum class EScriptObjectState
{ {
Any = -1, Any = -1,
@ -66,7 +70,9 @@ enum class EScriptObjectMessage
UNKM3, UNKM3,
Action, Action,
Play, Play,
Alert Alert,
ObjectAdded = 0x1f,
DeleteRequested = 0x20
}; };
} }