mirror of https://github.com/AxioDL/metaforce.git
Add CScriptCameraHint
This commit is contained in:
parent
deb7246812
commit
d486e1af08
|
@ -35,6 +35,7 @@ set(WORLD_SOURCES
|
||||||
CScriptCameraWaypoint.hpp CScriptCameraWaypoint.cpp
|
CScriptCameraWaypoint.hpp CScriptCameraWaypoint.cpp
|
||||||
CScriptCoverPoint.hpp CScriptCoverPoint.cpp
|
CScriptCoverPoint.hpp CScriptCoverPoint.cpp
|
||||||
CScriptSpawnPoint.hpp CScriptSpawnPoint.cpp
|
CScriptSpawnPoint.hpp CScriptSpawnPoint.cpp
|
||||||
|
CScriptCameraHint.hpp CScriptCameraHint.cpp
|
||||||
CGrappleParameters.hpp
|
CGrappleParameters.hpp
|
||||||
CActorParameters.hpp
|
CActorParameters.hpp
|
||||||
CLightParameters.hpp
|
CLightParameters.hpp
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
#include "CScriptCameraHint.hpp"
|
||||||
|
#include "Character/CModelData.hpp"
|
||||||
|
#include "CActorParameters.hpp"
|
||||||
|
|
||||||
|
namespace urde
|
||||||
|
{
|
||||||
|
|
||||||
|
CScriptCameraHint::CScriptCameraHint(TUniqueId uid, const std::string& name, const CEntityInfo& info,
|
||||||
|
const zeus::CTransform& xf, bool active, u32, u32, u32, float, float, float,
|
||||||
|
const zeus::CVector3f&, const zeus::CVector3f&, const zeus::CVector3f&,
|
||||||
|
float, float, float, float, float, float, float, float, float, float)
|
||||||
|
: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(EMaterialTypes::Zero),
|
||||||
|
CActorParameters::None(), kInvalidUniqueId)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef __URDE_CSCRIPTCAMERAHINT_HPP__
|
||||||
|
#define __URDE_CSCRIPTCAMERAHINT_HPP__
|
||||||
|
|
||||||
|
#include "CActor.hpp"
|
||||||
|
|
||||||
|
namespace urde
|
||||||
|
{
|
||||||
|
|
||||||
|
class CScriptCameraHint : public CActor
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CScriptCameraHint(TUniqueId, const std::string& name, const CEntityInfo& info,
|
||||||
|
const zeus::CTransform& xf, bool, u32, u32, u32, float, float, float,
|
||||||
|
const zeus::CVector3f&, const zeus::CVector3f&, const zeus::CVector3f&,
|
||||||
|
float, float, float, float, float, float, float, float, float, float);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __URDE_CSCRIPTCAMERAHINT_HPP__
|
|
@ -29,6 +29,7 @@
|
||||||
#include "CScriptCameraWaypoint.hpp"
|
#include "CScriptCameraWaypoint.hpp"
|
||||||
#include "CScriptCoverPoint.hpp"
|
#include "CScriptCoverPoint.hpp"
|
||||||
#include "CScriptSpawnPoint.hpp"
|
#include "CScriptSpawnPoint.hpp"
|
||||||
|
#include "CScriptCameraHint.hpp"
|
||||||
#include "Camera/CCinematicCamera.hpp"
|
#include "Camera/CCinematicCamera.hpp"
|
||||||
#include "MP1/CNewIntroBoss.hpp"
|
#include "MP1/CNewIntroBoss.hpp"
|
||||||
#include "MP1/CWarWasp.hpp"
|
#include "MP1/CWarWasp.hpp"
|
||||||
|
@ -858,6 +859,47 @@ CEntity* ScriptLoader::LoadSpawnPoint(CStateManager& mgr, CInputStream& in,
|
||||||
CEntity* ScriptLoader::LoadCameraHint(CStateManager& mgr, CInputStream& in,
|
CEntity* ScriptLoader::LoadCameraHint(CStateManager& mgr, CInputStream& in,
|
||||||
int propCount, const CEntityInfo& info)
|
int propCount, const CEntityInfo& info)
|
||||||
{
|
{
|
||||||
|
if (!EnsurePropertyCount(propCount, 25, "CamerHint"))
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
SActorHead head = LoadActorHead(in, mgr);
|
||||||
|
|
||||||
|
bool active = in.readBool();
|
||||||
|
u32 w1 = in.readUint32Big();
|
||||||
|
u32 w2 = in.readUint32Big();
|
||||||
|
u32 pf = LoadParameterFlags(in);
|
||||||
|
pf |= in.readBool() << 6;
|
||||||
|
float f1 = in.readFloatBig();
|
||||||
|
pf |= in.readBool() << 7;
|
||||||
|
float f2 = in.readFloatBig();
|
||||||
|
pf |= in.readBool() << 8;
|
||||||
|
float f3 = in.readFloatBig();
|
||||||
|
zeus::CVector3f vec1;
|
||||||
|
vec1.readBig(in);
|
||||||
|
pf |= in.readBool() << 9;
|
||||||
|
zeus::CVector3f vec2;
|
||||||
|
vec2.readBig(in);
|
||||||
|
zeus::CVector3f vec3;
|
||||||
|
vec3.readBig(in);
|
||||||
|
pf |= in.readBool() << 10;
|
||||||
|
float f4 = in.readFloatBig();
|
||||||
|
pf |= in.readBool() << 11;
|
||||||
|
float f5 = in.readFloatBig();
|
||||||
|
pf |= in.readBool() << 12;
|
||||||
|
float f6 = in.readFloatBig();
|
||||||
|
pf |= in.readBool() << 13;
|
||||||
|
float f7 = in.readFloatBig();
|
||||||
|
float f8 = in.readFloatBig();
|
||||||
|
float f9 = in.readFloatBig();
|
||||||
|
pf |= in.readBool() << 14;
|
||||||
|
float f10 = in.readFloatBig();
|
||||||
|
float f11 = in.readFloatBig();
|
||||||
|
float f12 = in.readFloatBig();
|
||||||
|
float f13 = in.readFloatBig();
|
||||||
|
|
||||||
|
return new CScriptCameraHint(mgr.AllocateUniqueId(), head.x0_name, info,
|
||||||
|
head.x10_transform, active, w1, w2, pf, f1, f2, f3,
|
||||||
|
vec1, vec2, vec3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13);
|
||||||
}
|
}
|
||||||
|
|
||||||
CEntity* ScriptLoader::LoadPickup(CStateManager& mgr, CInputStream& in,
|
CEntity* ScriptLoader::LoadPickup(CStateManager& mgr, CInputStream& in,
|
||||||
|
|
Loading…
Reference in New Issue