#pragma once #include "../../DNACommon/DNACommon.hpp" #include "IScriptObject.hpp" #include "Parameters.hpp" namespace DataSpec::DNAMP1 { struct WorldTeleporter : IScriptObject { AT_DECL_EXPLICIT_DNA_YAML AT_DECL_DNAV String<-1> name; Value unknown1; UniqueID32 mlvl; UniqueID32 mrea; AnimationParameters animationParameters; Value unknown2; UniqueID32 model1; Value unknown3; UniqueID32 model2; Value unknown4; Value unknown5; Value soundID; // needs verifcation Value unknown6; Value unknown7; Value unknown8; UniqueID32 font; UniqueID32 strg; Value unknown9; Value unknown10; Value unknown11; Value unknown12; /* Trilogy additions (property count 26) */ String<-1> audioStream; Value unknown13; Value unknown14; Value unknown15; Value unknown16; void nameIDs(PAKRouter& pakRouter) const { if (model1) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model1); ent->name = name + "_model1"; } if (model2) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model2); ent->name = name + "_model2"; } if (strg) { PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(strg); ent->name = name + "_strg"; } } void gatherDependencies(std::vector& pathsOut, std::vector& lazyOut) const { g_curSpec->flattenDependencies(model1, pathsOut); g_curSpec->flattenDependencies(model2, pathsOut); g_curSpec->flattenDependencies(strg, pathsOut); } }; } // namespace DataSpec::DNAMP1