#include "CSpawnSystemKeyframeData.hpp" #include "CGenDescription.hpp" #include "CSwooshDescription.hpp" #include "CElectricDescription.hpp" #include "Graphics/CModel.hpp" #include "CSimplePool.hpp" namespace urde { CSpawnSystemKeyframeData::CSpawnSystemKeyframeData(CInputStream& in) { x0 = in.readUint32Big(); x4 = in.readUint32Big(); x8_endFrame = in.readUint32Big(); xc = in.readUint32Big(); u32 count = in.readUint32Big(); x10_spawns.reserve(count); for (u32 i=0 ; i()); std::vector& v2 = x10_spawns.back().second; u32 v2c = in.readUint32Big(); v2.reserve(v2c); for (u32 j=0 ; jGetObj({FOURCC('PART'), x0_id})); x18_found = true; } std::vector& CSpawnSystemKeyframeData::GetSpawnedSystemsAtFrame(u32 frame) { static std::vector emptyReturn; if (frame >= x8_endFrame) return emptyReturn; for (auto& spawn : x10_spawns) if (spawn.first == frame) return spawn.second; return emptyReturn; } }