Files

43 lines
1016 B
C++
Raw Permalink Normal View History

2024-12-24 00:29:59 -08:00
#ifndef _CSPAWNSYSTEMKEYFRAMEDATA
#define _CSPAWNSYSTEMKEYFRAMEDATA
2026-03-19 20:54:59 -06:00
#include "Kyoto/CToken.hpp"
#include <rstl/optional_object.hpp>
2025-08-17 22:37:00 -07:00
#include <rstl/pair.hpp>
#include <rstl/vector.hpp>
class CInputStream;
2025-11-22 10:13:27 -08:00
class CSimplePool;
2024-12-24 00:29:59 -08:00
class CSpawnSystemKeyframeData {
2025-05-08 07:59:01 -07:00
public:
2025-08-17 22:37:00 -07:00
class CSpawnSystemKeyframeInfo {
public:
CSpawnSystemKeyframeInfo(CInputStream& in);
2026-03-19 20:54:59 -06:00
void LoadToken(CSimplePool* pool);
rstl::optional_object< CToken > GetToken() const { return x10_token; }
private:
uint x0_id;
uint x4;
uint x8;
uint xc;
rstl::optional_object< CToken > x10_token;
2025-08-17 22:37:00 -07:00
};
2026-03-19 20:54:59 -06:00
2025-08-17 22:37:00 -07:00
CSpawnSystemKeyframeData(CInputStream& in);
~CSpawnSystemKeyframeData() {}
2024-12-24 00:29:59 -08:00
2025-11-22 10:13:27 -08:00
void LoadAllSpawnedSystemTokens(CSimplePool* pool);
2026-03-19 20:54:59 -06:00
rstl::vector< CSpawnSystemKeyframeInfo >& GetSpawnedSystemsAtFrame(uint frame);
2025-11-22 10:13:27 -08:00
2024-12-24 00:29:59 -08:00
private:
2025-08-17 22:37:00 -07:00
int mUnknown1;
int mUnknown2;
int mEndFrame;
int mUnknown3;
rstl::vector< rstl::pair< uint, rstl::vector< CSpawnSystemKeyframeInfo > > > mFrames;
2024-12-24 00:29:59 -08:00
};
2025-08-17 22:37:00 -07:00
#endif // _CSPAWNSYSTEMKEYFRAMEDATA