2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 22:27:41 +00:00

Rename EVNT structs to match the engine

Implement getter elements and state tracking for CElementGen
This commit is contained in:
2016-03-18 19:04:12 -07:00
parent ae32ec933e
commit 42717c383c
10 changed files with 108 additions and 81 deletions

View File

@@ -15,37 +15,43 @@ struct EVNT : BigYAML
Delete expl;
Value<atUint32> version;
struct EventBase : BigYAML
struct POINode : BigYAML
{
DECL_YAML
Value<atUint16> unk0;
String<-1> name;
Value<atUint16> type;
Value<float> startTime;
Value<atUint32> unk1;
struct CharAnimTime : BigYAML
{
DECL_YAML
Value<float> time;
Value<atUint32> unk1;
};
CharAnimTime animTime;
Value<atUint32> idx;
Value<atUint8> unk2;
Value<bool> unk2;
Value<float> unk3;
Value<atUint32> unk4;
Value<atUint32> unk5;
};
struct LoopEvent : EventBase
struct BoolPOINode : POINode
{
DECL_YAML
Value<atUint8> flag;
};
std::vector<LoopEvent> loopEvents;
std::vector<BoolPOINode> boolPOINodes;
struct UEVTEvent : EventBase
struct Int32POINode : POINode
{
DECL_YAML
Value<atUint32> uevtType;
String<-1> boneName;
};
std::vector<UEVTEvent> uevtEvents;
std::vector<Int32POINode> int32POINodes;
struct EffectEvent : EventBase
struct ParticlePOINode : POINode
{
DECL_YAML
Value<atUint32> frameCount;
@@ -55,16 +61,16 @@ struct EVNT : BigYAML
Value<float> scale;
Value<atUint32> parentMode;
};
std::vector<EffectEvent> effectEvents;
std::vector<ParticlePOINode> particlePOINodes;
struct SFXEvent : EventBase
struct SoundPOINode : POINode
{
DECL_YAML
Value<atUint32> soundId;
Value<float> smallNum;
Value<float> bigNum;
};
std::vector<SFXEvent> sfxEvents;
std::vector<SoundPOINode> soundPOINodes;
static bool Extract(PAKEntryReadStream& rs, const hecl::ProjectPath& outPath)
{