Add CScriptCameraHint

This commit is contained in:
Jack Andersen 2016-04-27 18:44:41 -10:00
parent deb7246812
commit d486e1af08
4 changed files with 80 additions and 0 deletions

View File

@ -35,6 +35,7 @@ set(WORLD_SOURCES
CScriptCameraWaypoint.hpp CScriptCameraWaypoint.cpp
CScriptCoverPoint.hpp CScriptCoverPoint.cpp
CScriptSpawnPoint.hpp CScriptSpawnPoint.cpp
CScriptCameraHint.hpp CScriptCameraHint.cpp
CGrappleParameters.hpp
CActorParameters.hpp
CLightParameters.hpp

View File

@ -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)
{
}
}

View File

@ -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__

View File

@ -29,6 +29,7 @@
#include "CScriptCameraWaypoint.hpp"
#include "CScriptCoverPoint.hpp"
#include "CScriptSpawnPoint.hpp"
#include "CScriptCameraHint.hpp"
#include "Camera/CCinematicCamera.hpp"
#include "MP1/CNewIntroBoss.hpp"
#include "MP1/CWarWasp.hpp"
@ -858,6 +859,47 @@ CEntity* ScriptLoader::LoadSpawnPoint(CStateManager& mgr, CInputStream& in,
CEntity* ScriptLoader::LoadCameraHint(CStateManager& mgr, CInputStream& in,
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,