2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 23:07:42 +00:00

Additional particle imps

This commit is contained in:
Jack Andersen
2016-02-11 12:38:25 -10:00
parent b53b143868
commit ffdea0c2b9
10 changed files with 334 additions and 81 deletions

View File

@@ -8,7 +8,7 @@ CSpawnSystemKeyframeData::CSpawnSystemKeyframeData(CInputStream& in)
{
x0 = in.readUint32Big();
x4 = in.readUint32Big();
x8 = in.readUint32Big();
x8_endFrame = in.readUint32Big();
xc = in.readUint32Big();
u32 count = in.readUint32Big();
@@ -43,8 +43,19 @@ void CSpawnSystemKeyframeData::LoadAllSpawnedSystemTokens(CSimplePool* pool)
void CSpawnSystemKeyframeData::CSpawnSystemKeyframeInfo::LoadToken(CSimplePool* pool)
{
x10_token = std::move(pool->GetObj({FOURCC('PART'), x0_id}));
x10_token.Lock();
x18_found = true;
}
std::vector<CSpawnSystemKeyframeData::CSpawnSystemKeyframeInfo>&
CSpawnSystemKeyframeData::GetSpawnedSystemsAtFrame(u32 frame)
{
static std::vector<CSpawnSystemKeyframeData::CSpawnSystemKeyframeInfo> emptyReturn;
if (frame >= x8_endFrame)
return emptyReturn;
for (auto& spawn : x10_spawns)
if (spawn.first == frame)
return spawn.second;
return emptyReturn;
}
}