#pragma once #include "../../DNACommon/DNACommon.hpp" #include "IScriptObject.hpp" #include "Parameters.hpp" namespace DataSpec::DNAMP1 { struct FishCloud : IScriptObject { AT_DECL_DNA_YAML AT_DECL_DNAV String<-1> name; Value location; Value orientation; Value volume; Value unknown1; UniqueID32 model; AnimationParameters animationParameters; Value unknown2; Value unknown3; Value unknown4; Value unknown5; Value unknown6; Value unknown7; Value unknown8; Value unknown9; Value unknown10; Value unknown11; Value unknown12; Value unknown13; Value unknown14; Value unknown15; Value unknown16; Value unknown17; // CColor Value unknown18; Value unknown19; UniqueID32 deathParticle1; Value deathParticle1Frames; UniqueID32 deathParticle2; Value deathParticle2Frames; UniqueID32 deathParticle3; Value deathParticle3Frames; UniqueID32 deathParticle4; Value deathParticle4Frames; Value deathSFX; Value unknown29; Value unknown30; void nameIDs(PAKRouter& pakRouter) const { if (model) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model); ent->name = name + "_model"; } animationParameters.nameANCS(pakRouter, name + "_animp"); if (deathParticle1) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(deathParticle1); ent->name = name + "_deathParticle1"; } if (deathParticle2) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(deathParticle2); ent->name = name + "_deathParticle2"; } if (deathParticle3) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(deathParticle3); ent->name = name + "_deathParticle3"; } if (deathParticle4) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(deathParticle4); ent->name = name + "_deathParticle4"; } } void gatherDependencies(std::vector& pathsOut, std::vector& lazyOut) const { g_curSpec->flattenDependencies(model, pathsOut); animationParameters.depANCS(pathsOut); g_curSpec->flattenDependencies(deathParticle1, pathsOut); g_curSpec->flattenDependencies(deathParticle2, pathsOut); g_curSpec->flattenDependencies(deathParticle3, pathsOut); g_curSpec->flattenDependencies(deathParticle4, pathsOut); } }; }