#ifndef __DNAMP1_EVNT_HPP__ #define __DNAMP1_EVNT_HPP__ #include "../DNACommon/DNACommon.hpp" #include "DNAMP1.hpp" namespace Retro { namespace DNAMP1 { struct EVNT : BigYAML { DECL_YAML Delete expl; Value version; struct EventBase : BigYAML { DECL_YAML Value unk0; String<-1> name; Value type; Value startTime; Value unk1; Value idx; Value unk2; Value unk3; Value unk4; Value unk5; }; struct LoopEvent : EventBase { DECL_YAML Value flag; }; std::vector loopEvents; struct UEVTEvent : EventBase { DECL_YAML Value uevtType; String<-1> boneName; }; std::vector uevtEvents; struct EffectEvent : EventBase { DECL_YAML Value frameCount; DNAFourCC effectType; UniqueID32 effectId; String<-1> boneName; Value scale; Value parentMode; }; std::vector effectEvents; struct SFXEvent : EventBase { DECL_YAML Value soundId; Value smallNum; Value bigNum; }; std::vector sfxEvents; static bool Extract(PAKEntryReadStream& rs, const HECL::ProjectPath& outPath) { EVNT evnt; evnt.read(rs); FILE* fp = HECL::Fopen(outPath.getAbsolutePath().c_str(), _S("wb")); evnt.toYAMLFile(fp); fclose(fp); return true; } }; } } #endif // __DNAMP1_EVNT_HPP__