metaforce/Runtime/World/CScriptMazeNode.cpp

40 lines
1.3 KiB
C++
Raw Normal View History

#include "Runtime/World/CScriptMazeNode.hpp"
#include "Runtime/GameGlobalObjects.hpp"
#include "Runtime/Character/CModelData.hpp"
#include "Runtime/World/CActorParameters.hpp"
#include "TCastTo.hpp" // Generated file, do not modify include path
2016-08-14 21:38:05 +00:00
2018-12-08 05:30:43 +00:00
namespace urde {
2016-08-14 21:38:05 +00:00
std::array<u32, 300> CScriptMazeNode::sMazeSeeds{};
2017-11-13 06:19:18 +00:00
CScriptMazeNode::CScriptMazeNode(TUniqueId uid, std::string_view name, const CEntityInfo& info,
2016-08-14 21:38:05 +00:00
const zeus::CTransform& xf, bool active, s32 w1, s32 w2, s32 w3,
const zeus::CVector3f& vec1, const zeus::CVector3f& vec2, const zeus::CVector3f& vec3)
: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(), CActorParameters::None(),
kInvalidUniqueId)
, xe8_(w1)
, xec_(w1)
, xf0_(w2)
, x100_(vec1)
, x110_(vec2)
, x120_(vec3)
, x13c_24_(true)
, x13c_25_(false)
, x13c_26_(false) {}
2016-08-14 21:38:05 +00:00
2018-12-08 05:30:43 +00:00
void CScriptMazeNode::Accept(IVisitor& visitor) { visitor.Visit(this); }
2018-12-08 05:30:43 +00:00
void CScriptMazeNode::LoadMazeSeeds() {
const SObjectTag* tag = g_ResFactory->GetResourceIdByName("DUMB_MazeSeeds");
const u32 resSize = g_ResFactory->ResourceSize(*tag);
const std::unique_ptr<u8[]> buf = g_ResFactory->LoadResourceSync(*tag);
2018-12-08 05:30:43 +00:00
CMemoryInStream in(buf.get(), resSize);
for (auto& seed : sMazeSeeds) {
seed = in.readUint32Big();
}
2016-08-14 21:38:05 +00:00
}
2018-12-08 05:30:43 +00:00
} // namespace urde