2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 16:24:55 +00:00

New code style refactor

This commit is contained in:
Jack Andersen
2018-12-07 19:30:43 -10:00
parent 41ae32be31
commit 636c82a568
1451 changed files with 171430 additions and 203303 deletions

View File

@@ -4,17 +4,14 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct AIJumpPoint : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
Value<float> unknown1;
namespace DataSpec::DNAMP1 {
struct AIJumpPoint : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
Value<float> unknown1;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -3,20 +3,17 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
struct AIKeyframe : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<bool> unknown2;
Value<float> unknown3;
Value<bool> unknown4;
Value<atUint32> unknown5;
Value<float> unknown6;
struct AIKeyframe : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<bool> unknown2;
Value<float> unknown3;
Value<bool> unknown4;
Value<atUint32> unknown5;
Value<float> unknown6;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -1,37 +1,31 @@
#include "Actor.hpp"
#include "hecl/Blender/Connection.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
zeus::CAABox Actor::getVISIAABB(hecl::blender::Token& btok) const
{
hecl::blender::Connection& conn = btok.getBlenderConnection();
zeus::CAABox aabbOut;
zeus::CAABox Actor::getVISIAABB(hecl::blender::Token& btok) const {
hecl::blender::Connection& conn = btok.getBlenderConnection();
zeus::CAABox aabbOut;
if (model)
{
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(model);
conn.openBlend(path);
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
else if (animationParameters.animationCharacterSet)
{
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(
animationParameters.animationCharacterSet);
conn.openBlend(path.getWithExtension(_SYS_STR(".blend"), true));
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
if (model) {
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(model);
conn.openBlend(path);
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
} else if (animationParameters.animationCharacterSet) {
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(animationParameters.animationCharacterSet);
conn.openBlend(path.getWithExtension(_SYS_STR(".blend"), true));
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
if (aabbOut.min.x() > aabbOut.max.x())
return {};
if (aabbOut.min.x() > aabbOut.max.x())
return {};
zeus::CTransform xf = ConvertEditorEulerToTransform4f(scale, orientation, location);
return aabbOut.getTransformedAABox(xf);
zeus::CTransform xf = ConvertEditorEulerToTransform4f(scale, orientation, location);
return aabbOut.getTransformedAABox(xf);
}
}
} // namespace DataSpec::DNAMP1

View File

@@ -3,67 +3,56 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Actor : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name SO_NAME_SPECPROP();
Value<atVec3f> location SO_LOCATION_SPECPROP();
Value<atVec3f> orientation SO_ORIENTATION_SPECPROP();
Value<atVec3f> scale SO_SCALE_SPECPROP();
Value<atVec3f> collisionExtent SO_COLLISION_EXTENT_SPECPROP();
Value<atVec3f> collisionOffset SO_COLLISION_OFFSET_SPECPROP();
Value<float> mass;
Value<float> zMomentum;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<bool> looping;
Value<bool> snow;
Value<bool> solid;
Value<bool> cameraPassthrough;
Value<bool> active;
Value<atUint32> shaderIdx;
Value<float> xrayAlpha;
Value<bool> noThermalHotZ;
Value<bool> castsShadow;
Value<bool> scaleAdvancementDelta;
Value<bool> materialFlag54;
namespace DataSpec::DNAMP1 {
struct Actor : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name SO_NAME_SPECPROP();
Value<atVec3f> location SO_LOCATION_SPECPROP();
Value<atVec3f> orientation SO_ORIENTATION_SPECPROP();
Value<atVec3f> scale SO_SCALE_SPECPROP();
Value<atVec3f> collisionExtent SO_COLLISION_EXTENT_SPECPROP();
Value<atVec3f> collisionOffset SO_COLLISION_OFFSET_SPECPROP();
Value<float> mass;
Value<float> zMomentum;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<bool> looping;
Value<bool> snow;
Value<bool> solid;
Value<bool> cameraPassthrough;
Value<bool> active;
Value<atUint32> shaderIdx;
Value<float> xrayAlpha;
Value<bool> noThermalHotZ;
Value<bool> castsShadow;
Value<bool> scaleAdvancementDelta;
Value<bool> materialFlag54;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const;
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,56 +4,45 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ActorContraption : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> unknown1;
Value<atVec3f> scanOffset;
Value<float> unknown2;
Value<float> unknown3;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
AnimationParameters animationParameters;
ActorParameters actorParameters;
UniqueID32 particle;
DamageInfo damageInfo;
Value<bool> active; // needs verification
namespace DataSpec::DNAMP1 {
struct ActorContraption : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> unknown1;
Value<atVec3f> scanOffset;
Value<float> unknown2;
Value<float> unknown3;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
AnimationParameters animationParameters;
ActorParameters actorParameters;
UniqueID32 particle;
DamageInfo damageInfo;
Value<bool> active; // needs verification
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,19 +4,16 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ActorKeyframe : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> animationId;
Value<bool> looping;
Value<float> lifetime;
Value<bool> active;
Value<atUint32> fadeOut;
Value<float> totalPlayback;
namespace DataSpec::DNAMP1 {
struct ActorKeyframe : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> animationId;
Value<bool> looping;
Value<float> lifetime;
Value<bool> active;
Value<atUint32> fadeOut;
Value<float> totalPlayback;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,18 +4,15 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ActorRotate : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> rotationOffset;
Value<float> timeScale;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct ActorRotate : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> rotationOffset;
Value<float> timeScale;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> active;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,51 +4,41 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct AmbientAI : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> collisionExtent;
Value<atVec3f> collisionOffset;
Value<float> mass;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<float> alertRange;
Value<float> impactRange;
Value<atInt32> alertAnim;
Value<atInt32> impactAnim;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct AmbientAI : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> collisionExtent;
Value<atVec3f> collisionOffset;
Value<float> mass;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<float> alertRange;
Value<float> impactRange;
Value<atInt32> alertAnim;
Value<atInt32> impactAnim;
Value<bool> active;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,34 +4,24 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct AreaAttributes : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
enum class EWeatherType : atUint32
{
None,
Snow,
Rain
};
namespace DataSpec::DNAMP1 {
struct AreaAttributes : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
enum class EWeatherType : atUint32 { None, Snow, Rain };
Value<atUint32> unknown1;
Value<bool> skyboxEnabled;
Value<EWeatherType> weather;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
UniqueID32 skybox;
Value<atUint32> unknown6;
Value<atUint32> unknown1;
Value<bool> skyboxEnabled;
Value<EWeatherType> weather;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
UniqueID32 skybox;
Value<atUint32> unknown6;
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(skybox, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(skybox, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,61 +4,49 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct AtomicAlpha : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 wpsc;
UniqueID32 model;
DamageInfo damageInfo;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<bool> unknown4;
Value<bool> unknown5;
namespace DataSpec::DNAMP1 {
struct AtomicAlpha : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 wpsc;
UniqueID32 model;
DamageInfo damageInfo;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<bool> unknown4;
Value<bool> unknown5;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,74 +4,61 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct AtomicBeta : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 elsc;
UniqueID32 wpsc;
DamageInfo damageInfo;
UniqueID32 part;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
DamageVulnerability damageVulnerabilty;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
Value<atUint32> unknown9;
Value<float> unknown10;
namespace DataSpec::DNAMP1 {
struct AtomicBeta : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 elsc;
UniqueID32 wpsc;
DamageInfo damageInfo;
UniqueID32 part;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
DamageVulnerability damageVulnerabilty;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
Value<atUint32> unknown9;
Value<float> unknown10;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
if (wpsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (part)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(part);
ent->name = name + "_part";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
if (wpsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (part) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(part);
ent->name = name + "_part";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(elsc, pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(part, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(elsc, pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(part, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,144 +4,121 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Babygoth : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
UniqueID32 wpsc2;
UniqueID32 particle1;
DamageInfo damageInfo3;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
UniqueID32 cmdlShelless;
UniqueID32 cskrShelless;
Value<float> unknown3;
Value<atUint32> unknown4;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
Value<atUint32> unknown5;
Value<atUint32> unknown6;
Value<atUint32> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
UniqueID32 texture;
Value<atUint32> unknown11;
UniqueID32 particle6;
namespace DataSpec::DNAMP1 {
struct Babygoth : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
UniqueID32 wpsc2;
UniqueID32 particle1;
DamageInfo damageInfo3;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
UniqueID32 cmdlShelless;
UniqueID32 cskrShelless;
Value<float> unknown3;
Value<atUint32> unknown4;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
Value<atUint32> unknown5;
Value<atUint32> unknown6;
Value<atUint32> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
UniqueID32 texture;
Value<atUint32> unknown11;
UniqueID32 particle6;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
UniqueID32 cinf = patternedInfo.animationParameters.getCINF(pakRouter);
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
UniqueID32 cinf = patternedInfo.animationParameters.getCINF(pakRouter);
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
if (cmdlShelless && cskrShelless)
{
charAssoc.m_cmdlRigs[cmdlShelless] = std::make_pair(cskrShelless, cinf);
charAssoc.m_cskrCinfToCharacter[cskrShelless] = std::make_pair(
patternedInfo.animationParameters.animationCharacterSet, "ATTACH.SHELLESS.CSKR");
charAssoc.addAttachmentRig(patternedInfo.animationParameters.animationCharacterSet,
{}, cmdlShelless, "SHELLESS");
}
if (cmdlShelless && cskrShelless) {
charAssoc.m_cmdlRigs[cmdlShelless] = std::make_pair(cskrShelless, cinf);
charAssoc.m_cskrCinfToCharacter[cskrShelless] =
std::make_pair(patternedInfo.animationParameters.animationCharacterSet, "ATTACH.SHELLESS.CSKR");
charAssoc.addAttachmentRig(patternedInfo.animationParameters.animationCharacterSet, {}, cmdlShelless, "SHELLESS");
}
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (cmdlShelless)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cmdlShelless);
ent->name = name + "_emodel";
}
if (cskrShelless)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cskrShelless);
ent->name = name + "_eskin";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (texture)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_tex";
}
if (particle6)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (cmdlShelless) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cmdlShelless);
ent->name = name + "_emodel";
}
if (cskrShelless) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cskrShelless);
ent->name = name + "_eskin";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (texture) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_tex";
}
if (particle6) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(cmdlShelless, pathsOut);
g_curSpec->flattenDependencies(cskrShelless, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(cmdlShelless, pathsOut);
g_curSpec->flattenDependencies(cskrShelless, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,21 +4,18 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct BallTrigger : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> volume;
Value<bool> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<atVec3f> unknown5;
Value<bool> unknown6;
namespace DataSpec::DNAMP1 {
struct BallTrigger : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> volume;
Value<bool> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<atVec3f> unknown5;
Value<bool> unknown6;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,57 +4,46 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Beetle : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo;
Value<atVec3f> unknown2;
Value<float> unknown3;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
UniqueID32 model;
Value<atUint32> unknown4;
Value<float> unknown5;
Value<float> unknown6;
namespace DataSpec::DNAMP1 {
struct Beetle : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo;
Value<atVec3f> unknown2;
Value<float> unknown3;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
UniqueID32 model;
Value<atUint32> unknown4;
Value<float> unknown5;
Value<float> unknown6;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(model, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(model, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,95 +4,78 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct BloodFlower : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 particle1;
UniqueID32 wpsc1;
UniqueID32 wpsc2;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
DamageInfo damageInfo3;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
Value<float> unknown1;
UniqueID32 particle5;
Value<atUint32> unknown2;
namespace DataSpec::DNAMP1 {
struct BloodFlower : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 particle1;
UniqueID32 wpsc1;
UniqueID32 wpsc2;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
DamageInfo damageInfo3;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
Value<float> unknown1;
UniqueID32 particle5;
Value<atUint32> unknown2;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,78 +4,63 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Burrower : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 wpsc;
DamageInfo damageInfo;
UniqueID32 particle3;
Value<atUint32> unknown; // always FF
UniqueID32 particle4;
namespace DataSpec::DNAMP1 {
struct Burrower : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 wpsc;
DamageInfo damageInfo;
UniqueID32 particle3;
Value<atUint32> unknown; // always FF
UniqueID32 particle4;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,27 +4,24 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Camera : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
Value<float> shotDuration;
Value<bool> unknown3;
Value<bool> unknown4;
Value<bool> unknown5;
Value<bool> unknown6;
Value<bool> unknown7;
Value<bool> disableInput;
Value<bool> unknown9;
Value<float> fov;
Value<bool> unknown11;
Value<bool> unknown12;
namespace DataSpec::DNAMP1 {
struct Camera : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
Value<float> shotDuration;
Value<bool> unknown3;
Value<bool> unknown4;
Value<bool> unknown5;
Value<bool> unknown6;
Value<bool> unknown7;
Value<bool> disableInput;
Value<bool> unknown9;
Value<float> fov;
Value<bool> unknown11;
Value<bool> unknown12;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,19 +4,16 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CameraBlurKeyframe : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atUint32> btype;
Value<float> amount;
Value<atUint32> unk;
Value<float> timeIn;
Value<float> timeOut;
namespace DataSpec::DNAMP1 {
struct CameraBlurKeyframe : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atUint32> btype;
Value<float> amount;
Value<atUint32> unk;
Value<float> timeIn;
Value<float> timeOut;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,37 +4,30 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CameraFilterKeyframe : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atUint32> ftype;
Value<atUint32> shape;
Value<atUint32> filterIdx;
Value<atUint32> unk;
DNAColor color;
Value<float> timeIn;
Value<float> timeOut;
UniqueID32 texture;
namespace DataSpec::DNAMP1 {
struct CameraFilterKeyframe : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atUint32> ftype;
Value<atUint32> shape;
Value<atUint32> filterIdx;
Value<atUint32> unk;
DNAColor color;
Value<float> timeIn;
Value<float> timeOut;
UniqueID32 texture;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (texture)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (texture) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(texture, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(texture, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,66 +4,60 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CameraHint : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
namespace DataSpec::DNAMP1 {
struct CameraHint : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
Value<atUint32> priority;
Value<atUint32> behaviour;
struct CameraHintParameters : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<bool> calculateCamPos; // 0x1
Value<bool> chaseAllowed; // 0x2
Value<bool> boostAllowed; // 0x4
Value<bool> obscureAvoidance; // 0x8
Value<bool> volumeCollider; // 0x10
Value<bool> applyImmediately; // 0x20
Value<bool> lookAtBall; // 0x40
Value<bool> hintDistanceSelection; // 0x80
Value<bool> hintDistanceSelfPos; // 0x100
Value<bool> controlInterpolation; // 0x200
Value<bool> sinusoidalInterpolation; // 0x400
Value<bool> sinusoidalInterpolationHintless; // 0x800
Value<bool> clampVelocity; // 0x1000
Value<bool> skipCinematic; // 0x2000
Value<bool> noElevationInterp; // 0x4000
Value<bool> directElevation; // 0x8000
Value<bool> overrideLookDir; // 0x10000
Value<bool> noElevationVelClamp; // 0x20000
Value<bool> calculateTransformFromPrevCam; // 0x40000
Value<bool> noSpline; // 0x80000
Value<bool> unknown21; // 0x100000
Value<bool> unknown22; // 0x200000
} cameraHintParameters;
struct BoolFloat : BigDNA {
AT_DECL_DNA
Value<bool> active;
Value<atUint32> priority;
Value<atUint32> behaviour;
struct CameraHintParameters : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<bool> calculateCamPos; // 0x1
Value<bool> chaseAllowed; // 0x2
Value<bool> boostAllowed; // 0x4
Value<bool> obscureAvoidance; // 0x8
Value<bool> volumeCollider; // 0x10
Value<bool> applyImmediately; // 0x20
Value<bool> lookAtBall; // 0x40
Value<bool> hintDistanceSelection; // 0x80
Value<bool> hintDistanceSelfPos; // 0x100
Value<bool> controlInterpolation; // 0x200
Value<bool> sinusoidalInterpolation; // 0x400
Value<bool> sinusoidalInterpolationHintless; // 0x800
Value<bool> clampVelocity; // 0x1000
Value<bool> skipCinematic; // 0x2000
Value<bool> noElevationInterp; // 0x4000
Value<bool> directElevation; // 0x8000
Value<bool> overrideLookDir; // 0x10000
Value<bool> noElevationVelClamp; // 0x20000
Value<bool> calculateTransformFromPrevCam; // 0x40000
Value<bool> noSpline; // 0x80000
Value<bool> unknown21; // 0x100000
Value<bool> unknown22; // 0x200000
} cameraHintParameters;
struct BoolFloat : BigDNA
{
AT_DECL_DNA
Value<bool> active;
Value<float> value;
} minDist, maxDist, backwardsDist; // 0x400000, 0x800000, 0x1000000
struct BoolVec3f : BigDNA
{
AT_DECL_DNA
Value<bool> active;
Value<atVec3f> value;
} lookAtOffset, chaseLookAtOffset; // 0x2000000, 0x4000000
Value<atVec3f> ballToCam;
BoolFloat fov, attitudeRange, azimuthRange, anglePerSecond; // 0x8000000, 0x10000000, 0x20000000, 0x40000000
Value<float> clampVelRange;
Value<float> clampRotRange;
BoolFloat elevation; // 0x80000000
Value<float> interpolateTime;
Value<float> clampVelTime;
Value<float> controlInterpDur;
Value<float> value;
} minDist, maxDist, backwardsDist; // 0x400000, 0x800000, 0x1000000
struct BoolVec3f : BigDNA {
AT_DECL_DNA
Value<bool> active;
Value<atVec3f> value;
} lookAtOffset, chaseLookAtOffset; // 0x2000000, 0x4000000
Value<atVec3f> ballToCam;
BoolFloat fov, attitudeRange, azimuthRange, anglePerSecond; // 0x8000000, 0x10000000, 0x20000000, 0x40000000
Value<float> clampVelRange;
Value<float> clampRotRange;
BoolFloat elevation; // 0x80000000
Value<float> interpolateTime;
Value<float> clampVelTime;
Value<float> controlInterpDur;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,19 +4,16 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CameraHintTrigger : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> volume;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> unknown3;
namespace DataSpec::DNAMP1 {
struct CameraHintTrigger : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> volume;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> unknown3;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,20 +4,17 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CameraPitchVolume : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> volume;
Value<bool> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
namespace DataSpec::DNAMP1 {
struct CameraPitchVolume : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> volume;
Value<bool> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,21 +4,18 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CameraShaker : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<float> xMag;
Value<float> xB;
Value<float> yMag;
Value<float> yB;
Value<float> zMag;
Value<float> zB;
Value<float> duration;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct CameraShaker : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<float> xMag;
Value<float> xB;
Value<float> yMag;
Value<float> yB;
Value<float> zMag;
Value<float> zB;
Value<float> duration;
Value<bool> active;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,18 +4,15 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CameraWaypoint : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
Value<float> unknown2;
Value<atUint32> unknown3;
namespace DataSpec::DNAMP1 {
struct CameraWaypoint : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
Value<float> unknown2;
Value<atUint32> unknown3;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,84 +4,71 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ChozoGhost : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
UniqueID32 wpsc2;
DamageInfo damageInfo2;
BehaveChance BehaveChance1;
BehaveChance BehaveChance2;
BehaveChance BehaveChance3;
Value<atUint32> sound1;
Value<float> unknown5;
Value<atUint32> sound2;
Value<atUint32> sound3;
Value<atUint32> unknown6;
Value<float> unknown7;
Value<atUint32> unknown8;
Value<float> unknown9;
UniqueID32 particle;
Value<atUint32> soundId4;
Value<float> unknown10;
Value<float> unknown11;
Value<atUint32> unknown12;
Value<atUint32> unknown13;
namespace DataSpec::DNAMP1 {
struct ChozoGhost : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
UniqueID32 wpsc2;
DamageInfo damageInfo2;
BehaveChance BehaveChance1;
BehaveChance BehaveChance2;
BehaveChance BehaveChance3;
Value<atUint32> sound1;
Value<float> unknown5;
Value<atUint32> sound2;
Value<atUint32> sound3;
Value<atUint32> unknown6;
Value<float> unknown7;
Value<atUint32> unknown8;
Value<float> unknown9;
UniqueID32 particle;
Value<atUint32> soundId4;
Value<float> unknown10;
Value<float> unknown11;
Value<atUint32> unknown12;
Value<atUint32> unknown13;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,24 +4,21 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ColorModulate : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec4f> colorA;
Value<atVec4f> colorB;
Value<atUint32> blendMode;
Value<float> timeA2B;
Value<float> timeB2A;
Value<bool> doReverse;
Value<bool> resetTargetWhenDone;
Value<bool> depthCompare;
Value<bool> depthUpdate;
Value<bool> depthBackwards;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct ColorModulate : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec4f> colorA;
Value<atVec4f> colorB;
Value<atUint32> blendMode;
Value<float> timeA2B;
Value<float> timeB2A;
Value<bool> doReverse;
Value<bool> resetTargetWhenDone;
Value<bool> depthCompare;
Value<bool> depthUpdate;
Value<bool> depthBackwards;
Value<bool> active;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,16 +4,13 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ControllerAction : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atUint32> command;
Value<bool> deactivateOnClose;
namespace DataSpec::DNAMP1 {
struct ControllerAction : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atUint32> command;
Value<bool> deactivateOnClose;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,17 +4,14 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Counter : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> startValue; // needs verification
Value<atUint32> maxValue;
Value<bool> unknown1;
Value<bool> unknown2;
namespace DataSpec::DNAMP1 {
struct Counter : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> startValue; // needs verification
Value<atUint32> maxValue;
Value<bool> unknown1;
Value<bool> unknown2;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,21 +4,18 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct CoverPoint : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
Value<atUint32> unknown2;
Value<bool> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
namespace DataSpec::DNAMP1 {
struct CoverPoint : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
Value<atUint32> unknown2;
Value<bool> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,58 +4,48 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct DamageableTrigger : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> volume;
HealthInfo healthInfo;
DamageVulnerability damageVulnerabilty;
Value<atUint32> faceFlag;
UniqueID32 patternTex1;
UniqueID32 patternTex2;
UniqueID32 colorTex;
Value<bool> lockOn;
Value<bool> active;
VisorParameters visorParameters;
namespace DataSpec::DNAMP1 {
struct DamageableTrigger : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> volume;
HealthInfo healthInfo;
DamageVulnerability damageVulnerabilty;
Value<atUint32> faceFlag;
UniqueID32 patternTex1;
UniqueID32 patternTex2;
UniqueID32 colorTex;
Value<bool> lockOn;
Value<bool> active;
VisorParameters visorParameters;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (patternTex1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(patternTex1);
ent->name = name + "_patternTex1";
}
if (patternTex2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(patternTex2);
ent->name = name + "_patternTex2";
}
if (colorTex)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(colorTex);
ent->name = name + "_colorTex";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (patternTex1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(patternTex1);
ent->name = name + "_patternTex1";
}
if (patternTex2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(patternTex2);
ent->name = name + "_patternTex2";
}
if (colorTex) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(colorTex);
ent->name = name + "_colorTex";
}
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(patternTex1, pathsOut);
g_curSpec->flattenDependencies(patternTex2, pathsOut);
g_curSpec->flattenDependencies(colorTex, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(patternTex1, pathsOut);
g_curSpec->flattenDependencies(patternTex2, pathsOut);
g_curSpec->flattenDependencies(colorTex, pathsOut);
}
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const
{
zeus::CVector3f halfExtent = zeus::CVector3f(volume) / 2.f;
zeus::CVector3f loc(location);
return zeus::CAABox(loc - halfExtent, loc + halfExtent);
}
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const {
zeus::CVector3f halfExtent = zeus::CVector3f(volume) / 2.f;
zeus::CVector3f loc(location);
return zeus::CAABox(loc - halfExtent, loc + halfExtent);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,58 +4,47 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Debris : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<float> zImpulse;
Value<atVec3f> velocity;
DNAColor endsColor;
Value<float> mass;
Value<float> restitution;
Value<float> duration;
Value<atUint32> scaleType;
Value<bool> randomAngImpulse;
UniqueID32 model;
ActorParameters actorParameters;
UniqueID32 particle;
Value<atVec3f> particleScale;
Value<bool> b1;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct Debris : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<float> zImpulse;
Value<atVec3f> velocity;
DNAColor endsColor;
Value<float> mass;
Value<float> restitution;
Value<float> duration;
Value<atUint32> scaleType;
Value<bool> randomAngImpulse;
UniqueID32 model;
ActorParameters actorParameters;
UniqueID32 particle;
Value<atVec3f> particleScale;
Value<bool> b1;
Value<bool> active;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,91 +4,78 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct DebrisExtended : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<float> linConeAngle;
Value<float> linMinMag;
Value<float> linMaxMag;
Value<float> angMinMag;
Value<float> angMaxMag;
Value<float> minDuration;
Value<float> maxDuration;
Value<float> colorInT;
Value<float> colorOutT;
DNAColor color;
DNAColor endsColor;
Value<float> scaleOutT;
Value<atVec3f> endScale;
Value<float> restitution;
Value<float> downwardSpeed;
Value<atVec3f> localOffset;
UniqueID32 model;
ActorParameters actorParameters;
UniqueID32 particle1;
Value<atVec3f> particle1Scale;
Value<bool> particle1GlobalTranslation;
Value<bool> deferDeleteTillParticle1Done;
Value<atUint32> particle1Or;
UniqueID32 particle2;
Value<atVec3f> particle2Scale;
Value<bool> particle2GlobalTranslation;
Value<bool> deferDeleteTillParticle2Done;
Value<atUint32> particle2Or;
UniqueID32 particle3;
Value<atVec3f> particle3Scale;
Value<atUint32> particle3Or;
Value<bool> solid;
Value<bool> dieOnProjectile;
Value<bool> noBounce;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct DebrisExtended : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<float> linConeAngle;
Value<float> linMinMag;
Value<float> linMaxMag;
Value<float> angMinMag;
Value<float> angMaxMag;
Value<float> minDuration;
Value<float> maxDuration;
Value<float> colorInT;
Value<float> colorOutT;
DNAColor color;
DNAColor endsColor;
Value<float> scaleOutT;
Value<atVec3f> endScale;
Value<float> restitution;
Value<float> downwardSpeed;
Value<atVec3f> localOffset;
UniqueID32 model;
ActorParameters actorParameters;
UniqueID32 particle1;
Value<atVec3f> particle1Scale;
Value<bool> particle1GlobalTranslation;
Value<bool> deferDeleteTillParticle1Done;
Value<atUint32> particle1Or;
UniqueID32 particle2;
Value<atVec3f> particle2Scale;
Value<bool> particle2GlobalTranslation;
Value<bool> deferDeleteTillParticle2Done;
Value<atUint32> particle2Or;
UniqueID32 particle3;
Value<atVec3f> particle3Scale;
Value<atUint32> particle3Or;
Value<bool> solid;
Value<bool> dieOnProjectile;
Value<bool> noBounce;
Value<bool> active;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,16 +4,13 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct DebugCameraWaypoint : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atUint32> unknown1;
namespace DataSpec::DNAMP1 {
struct DebugCameraWaypoint : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atUint32> unknown1;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,20 +4,17 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct DistanceFog : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> fogMode;
Value<atVec4f> fogColor; // CColor
Value<atVec2f> range;
Value<float> colorDelta;
Value<atVec2f> rangeDelta;
Value<bool> expl;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct DistanceFog : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> fogMode;
Value<atVec4f> fogColor; // CColor
Value<atVec2f> range;
Value<float> colorDelta;
Value<atVec2f> rangeDelta;
Value<bool> expl;
Value<bool> active;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,19 +4,16 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Dock : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atVec3f> location;
Value<atVec3f> volume;
Value<atUint32> dock;
Value<atUint32> room;
Value<bool> loadConnected;
namespace DataSpec::DNAMP1 {
struct Dock : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
Value<atVec3f> location;
Value<atVec3f> volume;
Value<atUint32> dock;
Value<atUint32> room;
Value<bool> loadConnected;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,15 +4,12 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct DockAreaChange : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<bool> unknown2;
namespace DataSpec::DNAMP1 {
struct DockAreaChange : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<bool> unknown2;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -1,29 +1,25 @@
#include "DoorArea.hpp"
#include "hecl/Blender/Connection.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
zeus::CAABox DoorArea::getVISIAABB(hecl::blender::Token& btok) const
{
hecl::blender::Connection& conn = btok.getBlenderConnection();
zeus::CAABox aabbOut;
zeus::CAABox DoorArea::getVISIAABB(hecl::blender::Token& btok) const {
hecl::blender::Connection& conn = btok.getBlenderConnection();
zeus::CAABox aabbOut;
if (animationParameters.animationCharacterSet)
{
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(
animationParameters.animationCharacterSet);
conn.openBlend(path.getWithExtension(_SYS_STR(".blend"), true));
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
if (animationParameters.animationCharacterSet) {
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(animationParameters.animationCharacterSet);
conn.openBlend(path.getWithExtension(_SYS_STR(".blend"), true));
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
if (aabbOut.min.x() > aabbOut.max.x())
return {};
if (aabbOut.min.x() > aabbOut.max.x())
return {};
zeus::CTransform xf = ConvertEditorEulerToTransform4f(scale, orientation, location);
return aabbOut.getTransformedAABox(xf);
zeus::CTransform xf = ConvertEditorEulerToTransform4f(scale, orientation, location);
return aabbOut.getTransformedAABox(xf);
}
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,51 +4,41 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct DoorArea : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<atVec3f> orbitPos;
Value<atVec3f> collisionExtent;
Value<atVec3f> collisionOffset;
Value<bool> active;
Value<bool> open;
Value<bool> projectilesCollide;
Value<float> animationLength;
Value<bool> isMorphballDoor;
namespace DataSpec::DNAMP1 {
struct DoorArea : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<atVec3f> orbitPos;
Value<atVec3f> collisionExtent;
Value<atVec3f> collisionOffset;
Value<bool> active;
Value<bool> open;
Value<bool> projectilesCollide;
Value<float> animationLength;
Value<bool> isMorphballDoor;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const;
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,96 +4,85 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Drone : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<float> unknown2;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo1;
Value<atUint32> unknown3;
DamageInfo damageInfo2;
Value<atUint32> unknown4;
Value<atUint32> unknown5;
Value<atUint32> unknown6;
FlareDefinition flareDefinition1;
FlareDefinition flareDefinition2;
FlareDefinition flareDefinition3;
FlareDefinition flareDefinition4;
FlareDefinition flareDefinition5;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<float> unknown16;
Value<float> unknown17;
Value<float> unknown18;
Value<float> unknown19;
Value<float> unknown20;
Value<float> unknown21;
Value<float> unknown22;
Value<float> unknown23;
Value<float> unknown24;
Value<float> unknown25;
UniqueID32 crsc;
Value<float> unknon26;
Value<float> unknon27;
Value<float> unknon28;
Value<float> unknon29;
Value<atUint32> sound; // verification needed
Value<bool> unknown30;
namespace DataSpec::DNAMP1 {
struct Drone : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<float> unknown2;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo1;
Value<atUint32> unknown3;
DamageInfo damageInfo2;
Value<atUint32> unknown4;
Value<atUint32> unknown5;
Value<atUint32> unknown6;
FlareDefinition flareDefinition1;
FlareDefinition flareDefinition2;
FlareDefinition flareDefinition3;
FlareDefinition flareDefinition4;
FlareDefinition flareDefinition5;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<float> unknown16;
Value<float> unknown17;
Value<float> unknown18;
Value<float> unknown19;
Value<float> unknown20;
Value<float> unknown21;
Value<float> unknown22;
Value<float> unknown23;
Value<float> unknown24;
Value<float> unknown25;
UniqueID32 crsc;
Value<float> unknon26;
Value<float> unknon27;
Value<float> unknon28;
Value<float> unknon29;
Value<atUint32> sound; // verification needed
Value<bool> unknown30;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (crsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(crsc);
ent->name = name + "_crsc";
}
flareDefinition1.nameIDs(pakRouter, name + "_flare1");
flareDefinition2.nameIDs(pakRouter, name + "_flare2");
flareDefinition3.nameIDs(pakRouter, name + "_flare3");
flareDefinition4.nameIDs(pakRouter, name + "_flare4");
flareDefinition5.nameIDs(pakRouter, name + "_flare5");
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (crsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(crsc);
ent->name = name + "_crsc";
}
flareDefinition1.nameIDs(pakRouter, name + "_flare1");
flareDefinition2.nameIDs(pakRouter, name + "_flare2");
flareDefinition3.nameIDs(pakRouter, name + "_flare3");
flareDefinition4.nameIDs(pakRouter, name + "_flare4");
flareDefinition5.nameIDs(pakRouter, name + "_flare5");
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(crsc, pathsOut);
flareDefinition1.depIDs(pathsOut);
flareDefinition2.depIDs(pathsOut);
flareDefinition3.depIDs(pathsOut);
flareDefinition4.depIDs(pathsOut);
flareDefinition5.depIDs(pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(crsc, pathsOut);
flareDefinition1.depIDs(pathsOut);
flareDefinition2.depIDs(pathsOut);
flareDefinition3.depIDs(pathsOut);
flareDefinition4.depIDs(pathsOut);
flareDefinition5.depIDs(pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,57 +4,49 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Effect : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
UniqueID32 part;
UniqueID32 elsc;
Value<bool> hotInThermal;
Value<bool> noTimerUnlessAreaOccluded;
Value<bool> rebuildSystemsOnActivate;
Value<bool> active;
Value<bool> useRateInverseCamDist;
Value<float> rateInverseCamDist;
Value<float> rateInverseCamDistRate;
Value<float> duration;
Value<float> durationResetWhileVisible;
Value<bool> useRateCamDistRange;
Value<float> rateCamDistRangeMin;
Value<float> rateCamDistRangeMax;
Value<float> rateCamDistRangeFarRate;
Value<bool> combatVisorVisible;
Value<bool> thermalVisorVisible;
Value<bool> xrayVisorVisible;
Value<bool> dieWhenSystemsDone;
LightParameters lightParameters;
namespace DataSpec::DNAMP1 {
struct Effect : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
UniqueID32 part;
UniqueID32 elsc;
Value<bool> hotInThermal;
Value<bool> noTimerUnlessAreaOccluded;
Value<bool> rebuildSystemsOnActivate;
Value<bool> active;
Value<bool> useRateInverseCamDist;
Value<float> rateInverseCamDist;
Value<float> rateInverseCamDistRate;
Value<float> duration;
Value<float> durationResetWhileVisible;
Value<bool> useRateCamDistRange;
Value<float> rateCamDistRangeMin;
Value<float> rateCamDistRangeMax;
Value<float> rateCamDistRangeFarRate;
Value<bool> combatVisorVisible;
Value<bool> thermalVisorVisible;
Value<bool> xrayVisorVisible;
Value<bool> dieWhenSystemsDone;
LightParameters lightParameters;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (part)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(part);
ent->name = name + "_part";
}
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (part) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(part);
ent->name = name + "_part";
}
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(part, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(part, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,39 +4,32 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ElectroMagneticPulse : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
UniqueID32 particle;
namespace DataSpec::DNAMP1 {
struct ElectroMagneticPulse : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
UniqueID32 particle;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,137 +4,120 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct ElitePirate : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters1;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
UniqueID32 particle1;
Value<atUint32> soundID1;
ActorParameters actorParameters2;
AnimationParameters animationParameters;
UniqueID32 particle2;
Value<atUint32> soundID2;
UniqueID32 model;
DamageInfo damageInfo1;
Value<float> unknown9;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 particle6;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<atUint32> unknown16;
Value<atUint32> soundID3;
Value<atUint32> soundID4;
UniqueID32 particle7;
DamageInfo damageInfo2;
UniqueID32 elsc;
Value<atUint32> soundID5;
Value<bool> unknown17;
Value<bool> unknown18;
namespace DataSpec::DNAMP1 {
struct ElitePirate : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters1;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
UniqueID32 particle1;
Value<atUint32> soundID1;
ActorParameters actorParameters2;
AnimationParameters animationParameters;
UniqueID32 particle2;
Value<atUint32> soundID2;
UniqueID32 model;
DamageInfo damageInfo1;
Value<float> unknown9;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 particle6;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<atUint32> unknown16;
Value<atUint32> soundID3;
Value<atUint32> soundID4;
UniqueID32 particle7;
DamageInfo damageInfo2;
UniqueID32 elsc;
Value<atUint32> soundID5;
Value<bool> unknown17;
Value<bool> unknown18;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters1.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
actorParameters2.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters1.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
actorParameters2.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (particle6)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters1.nameIDs(pakRouter, name + "_actp1");
actorParameters2.nameIDs(pakRouter, name + "_actp2");
animationParameters.nameANCS(pakRouter, name + "_animp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (particle6) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters1.nameIDs(pakRouter, name + "_actp1");
actorParameters2.nameIDs(pakRouter, name + "_actp2");
animationParameters.nameANCS(pakRouter, name + "_animp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters1.scanIDs(scansOut);
actorParameters2.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const {
actorParameters1.scanIDs(scansOut);
actorParameters2.scanIDs(scansOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,79 +4,65 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct EnergyBall : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<atUint32> unknown1;
Value<float> unknown2;
DamageInfo damageInfo1;
Value<float> unknown3;
UniqueID32 texture;
Value<atUint32> soundID1;
UniqueID32 particle1;
UniqueID32 elsc;
Value<atUint32> soundID2;
Value<float> unknown4;
Value<float> unknown5;
UniqueID32 particle2;
DamageInfo damageInfo2;
Value<float> unknown6;
namespace DataSpec::DNAMP1 {
struct EnergyBall : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<atUint32> unknown1;
Value<float> unknown2;
DamageInfo damageInfo1;
Value<float> unknown3;
UniqueID32 texture;
Value<atUint32> soundID1;
UniqueID32 particle1;
UniqueID32 elsc;
Value<atUint32> soundID2;
Value<float> unknown4;
Value<float> unknown5;
UniqueID32 particle2;
DamageInfo damageInfo2;
Value<float> unknown6;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (texture)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (texture) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,16 +4,13 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct EnvFxDensityController : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> unknown1;
Value<float> unknown2;
Value<atUint32> unknown3;
namespace DataSpec::DNAMP1 {
struct EnvFxDensityController : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> unknown1;
Value<float> unknown2;
Value<atUint32> unknown3;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,86 +4,71 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Eyeball : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown2;
Value<float> unknown3;
UniqueID32 wpsc;
DamageInfo damageInfo;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
Value<atUint32> unknown4;
Value<atUint32> unknown5; // always ff
Value<atUint32> unknown6; // always ff
Value<atUint32> unknown7; // always ff
Value<atUint32> unknown8;
Value<bool> unknown9;
namespace DataSpec::DNAMP1 {
struct Eyeball : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown2;
Value<float> unknown3;
UniqueID32 wpsc;
DamageInfo damageInfo;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
Value<atUint32> unknown4;
Value<atUint32> unknown5; // always ff
Value<atUint32> unknown6; // always ff
Value<atUint32> unknown7; // always ff
Value<atUint32> unknown8;
Value<bool> unknown9;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,44 +4,34 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct FireFlea : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown1;
Value<bool> unknown2;
Value<float> unknown3;
namespace DataSpec::DNAMP1 {
struct FireFlea : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown1;
Value<bool> unknown2;
Value<float> unknown3;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,89 +4,78 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct FishCloud : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> volume;
Value<bool> unknown1;
UniqueID32 model;
AnimationParameters animationParameters;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<atUint32> unknown16;
Value<atVec4f> unknown17; // CColor
Value<bool> unknown18;
Value<float> unknown19;
UniqueID32 deathParticle1;
Value<atUint32> deathParticle1Frames;
UniqueID32 deathParticle2;
Value<atUint32> deathParticle2Frames;
UniqueID32 deathParticle3;
Value<atUint32> deathParticle3Frames;
UniqueID32 deathParticle4;
Value<atUint32> deathParticle4Frames;
Value<atUint32> deathSFX;
Value<bool> unknown29;
Value<bool> unknown30;
namespace DataSpec::DNAMP1 {
struct FishCloud : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> volume;
Value<bool> unknown1;
UniqueID32 model;
AnimationParameters animationParameters;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<atUint32> unknown16;
Value<atVec4f> unknown17; // CColor
Value<bool> unknown18;
Value<float> unknown19;
UniqueID32 deathParticle1;
Value<atUint32> deathParticle1Frames;
UniqueID32 deathParticle2;
Value<atUint32> deathParticle2Frames;
UniqueID32 deathParticle3;
Value<atUint32> deathParticle3Frames;
UniqueID32 deathParticle4;
Value<atUint32> deathParticle4Frames;
Value<atUint32> deathSFX;
Value<bool> unknown29;
Value<bool> unknown30;
void nameIDs(PAKRouter<PAKBridge>& 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 nameIDs(PAKRouter<PAKBridge>& 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<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& 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);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& 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);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,19 +4,16 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct FishCloudModifier : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> position;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> unknown3;
Value<float> unknown4;
Value<float> unknown5;
namespace DataSpec::DNAMP1 {
struct FishCloudModifier : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> position;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> unknown3;
Value<float> unknown4;
Value<float> unknown5;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,88 +4,76 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Flaahgra : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters1;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
DamageVulnerability damageVulnerabilty;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
UniqueID32 wpsc2;
DamageInfo damageInfo2;
UniqueID32 particle;
DamageInfo damageInfo3;
ActorParameters actorParameters2;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
AnimationParameters animationParameters;
UniqueID32 dependencyGroup;
namespace DataSpec::DNAMP1 {
struct Flaahgra : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters1;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
DamageVulnerability damageVulnerabilty;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
UniqueID32 wpsc2;
DamageInfo damageInfo2;
UniqueID32 particle;
DamageInfo damageInfo3;
ActorParameters actorParameters2;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
AnimationParameters animationParameters;
UniqueID32 dependencyGroup;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters1.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
actorParameters2.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters1.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
actorParameters2.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (dependencyGroup)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(dependencyGroup);
ent->name = name + "_dgrp";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters1.nameIDs(pakRouter, name + "_actp1");
actorParameters2.nameIDs(pakRouter, name + "_actp2");
animationParameters.nameANCS(pakRouter, name + "_animp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (dependencyGroup) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(dependencyGroup);
ent->name = name + "_dgrp";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters1.nameIDs(pakRouter, name + "_actp1");
actorParameters2.nameIDs(pakRouter, name + "_actp2");
animationParameters.nameANCS(pakRouter, name + "_animp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(dependencyGroup, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(dependencyGroup, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters1.scanIDs(scansOut);
actorParameters2.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const {
actorParameters1.scanIDs(scansOut);
actorParameters2.scanIDs(scansOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,41 +4,31 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct FlaahgraTentacle : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
namespace DataSpec::DNAMP1 {
struct FlaahgraTentacle : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,45 +4,35 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct FlickerBat : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown2;
Value<bool> unknown3;
Value<bool> unknown4;
namespace DataSpec::DNAMP1 {
struct FlickerBat : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown2;
Value<bool> unknown3;
Value<bool> unknown4;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,113 +4,96 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct FlyingPirate : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<atUint32> unknown3;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
Value<atUint32> unknown4;
UniqueID32 wpsc2;
DamageInfo damageInfo2;
UniqueID32 wpsc3;
Value<float> unknown5;
Value<float> unknown6;
UniqueID32 particle1;
DamageInfo damageInfo3;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<atUint32> unknown11;
Value<atUint32> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
Value<atUint32> unknown16;
Value<atUint32> unknown17;
Value<float> unknown18;
Value<float> unknown19;
Value<float> unknown20;
namespace DataSpec::DNAMP1 {
struct FlyingPirate : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<atUint32> unknown3;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
Value<atUint32> unknown4;
UniqueID32 wpsc2;
DamageInfo damageInfo2;
UniqueID32 wpsc3;
Value<float> unknown5;
Value<float> unknown6;
UniqueID32 particle1;
DamageInfo damageInfo3;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<atUint32> unknown11;
Value<atUint32> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
Value<atUint32> unknown16;
Value<atUint32> unknown17;
Value<float> unknown18;
Value<float> unknown19;
Value<float> unknown20;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (wpsc3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc3);
ent->name = name + "_wpsc3";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (wpsc3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc3);
ent->name = name + "_wpsc3";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(wpsc3, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(wpsc3, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,19 +4,16 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct FogVolume : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> volume;
Value<float> unknown1;
Value<float> unknown2;
Value<atVec4f> unkonwn3;
Value<bool> unknown4;
namespace DataSpec::DNAMP1 {
struct FogVolume : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> volume;
Value<float> unknown1;
Value<float> unknown2;
Value<atVec4f> unkonwn3;
Value<bool> unknown4;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,51 +4,41 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Geemer : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<atUint32> unknown8;
Value<atUint32> unknown9;
Value<atUint32> unknown10;
namespace DataSpec::DNAMP1 {
struct Geemer : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<atUint32> unknown8;
Value<atUint32> unknown9;
Value<atUint32> unknown10;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,20 +4,17 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Generator : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> spawnCount;
Value<bool> noReuseFollowers;
Value<bool> noInheritXf;
Value<atVec3f> offset;
Value<bool> active;
Value<float> minScale;
Value<float> maxScale;
namespace DataSpec::DNAMP1 {
struct Generator : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> spawnCount;
Value<bool> noReuseFollowers;
Value<bool> noInheritXf;
Value<atVec3f> offset;
Value<bool> active;
Value<float> minScale;
Value<float> maxScale;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,17 +4,14 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct GrapplePoint : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
GrappleParameters grappleParameters;
namespace DataSpec::DNAMP1 {
struct GrapplePoint : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
GrappleParameters grappleParameters;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,137 +4,118 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct GunTurret : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> unknown2;
Value<atVec3f> scanOffset;
AnimationParameters animationParameters;
ActorParameters actorParameters;
HealthInfo healthInfo;
DamageVulnerability damageVulnerabilty;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<float> unknown16;
Value<bool> unknown17;
UniqueID32 unknown18;
DamageInfo damageInfo;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 particle6;
UniqueID32 particle7;
Value<atUint32> unknown19;
Value<atUint32> unknown20;
Value<atUint32> unknown21;
Value<atUint32> unknown22;
Value<atUint32> unknown23;
Value<atUint32> unknown24;
UniqueID32 model;
Value<float> unknown25;
Value<atUint32> unknown26;
Value<atUint32> unknown27;
Value<atUint32> unknown28;
Value<float> unknown29;
Value<bool> unknown30;
namespace DataSpec::DNAMP1 {
struct GunTurret : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> unknown2;
Value<atVec3f> scanOffset;
AnimationParameters animationParameters;
ActorParameters actorParameters;
HealthInfo healthInfo;
DamageVulnerability damageVulnerabilty;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<float> unknown16;
Value<bool> unknown17;
UniqueID32 unknown18;
DamageInfo damageInfo;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 particle6;
UniqueID32 particle7;
Value<atUint32> unknown19;
Value<atUint32> unknown20;
Value<atUint32> unknown21;
Value<atUint32> unknown22;
Value<atUint32> unknown23;
Value<atUint32> unknown24;
UniqueID32 model;
Value<float> unknown25;
Value<atUint32> unknown26;
Value<atUint32> unknown27;
Value<atUint32> unknown28;
Value<float> unknown29;
Value<bool> unknown30;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (unknown18)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown18);
ent->name = name + "_unknown18";
}
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (particle6)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (unknown18) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown18);
ent->name = name + "_unknown18";
}
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (particle6) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(unknown18, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(unknown18, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,33 +4,26 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct HUDMemo : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<float> firstMessageTimer;
Value<bool> unknown1;
Value<atUint32> memoType;
UniqueID32 message;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct HUDMemo : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<float> firstMessageTimer;
Value<bool> unknown1;
Value<atUint32> memoType;
UniqueID32 message;
Value<bool> active;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (message)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(message);
ent->name = name + "_message";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (message) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(message);
ent->name = name + "_message";
}
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(message, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(message, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -1,141 +1,174 @@
#include "IScriptObject.hpp"
#include "ScriptTypes.hpp"
namespace DataSpec::DNAMP1
{
namespace priv
{
static const ScriptObjectSpec ActorEnt = {0x00, []() -> IScriptObject* {return new struct Actor();}};
static const ScriptObjectSpec WaypointEnt = {0x02, []() -> IScriptObject* {return new struct Waypoint();}};
static const ScriptObjectSpec DoorAreaEnt = {0x03, []() -> IScriptObject* {return new struct DoorArea();}};
static const ScriptObjectSpec TriggerEnt = {0x04, []() -> IScriptObject* {return new struct Trigger(); }};
static const ScriptObjectSpec TimerEnt = {0x05, []() -> IScriptObject* {return new struct Timer(); }};
static const ScriptObjectSpec CounterEnt = {0x06, []() -> IScriptObject* {return new struct Counter(); }};
static const ScriptObjectSpec EffectEnt = {0x07, []() -> IScriptObject* {return new struct Effect(); }};
static const ScriptObjectSpec PlatformEnt = {0x08, []() -> IScriptObject* {return new struct Platform(); }};
static const ScriptObjectSpec SoundEnt = {0x09, []() -> IScriptObject* {return new struct Sound(); }};
static const ScriptObjectSpec GeneratorEnt = {0x0A, []() -> IScriptObject* {return new struct Generator();}};
static const ScriptObjectSpec DockEnt = {0x0B, []() -> IScriptObject* {return new struct Dock(); }};
static const ScriptObjectSpec CameraEnt = {0x0C, []() -> IScriptObject* {return new struct Camera(); }};
static const ScriptObjectSpec CameraWaypointEnt = {0x0D, []() -> IScriptObject* {return new struct CameraWaypoint(); }};
static const ScriptObjectSpec NewIntroBossEnt = {0x0E, []() -> IScriptObject* {return new struct NewIntroBoss(); }};
static const ScriptObjectSpec SpawnPointEnt = {0x0F, []() -> IScriptObject* {return new struct SpawnPoint(); }};
static const ScriptObjectSpec CameraHintEnt = {0x10, []() -> IScriptObject* {return new struct CameraHint(); }};
static const ScriptObjectSpec PickupEnt = {0x11, []() -> IScriptObject* {return new struct Pickup(); }};
static const ScriptObjectSpec MemoryRelayEnt = {0x13, []() -> IScriptObject* {return new struct MemoryRelay(); }};
static const ScriptObjectSpec RandomRelayEnt = {0x14, []() -> IScriptObject* {return new struct RandomRelay(); }};
static const ScriptObjectSpec RelayEnt = {0x15, []() -> IScriptObject* {return new struct Relay(); }};
static const ScriptObjectSpec BeetleEnt = {0x16, []() -> IScriptObject* {return new struct Beetle(); }};
static const ScriptObjectSpec HUDMemoEnt = {0x17, []() -> IScriptObject* {return new struct HUDMemo(); }};
static const ScriptObjectSpec CameraFilterKeyframeEnt = {0x18, []() -> IScriptObject* {return new struct CameraFilterKeyframe(); }};
static const ScriptObjectSpec CameraBlurKeyframeEnt = {0x19, []() -> IScriptObject* {return new struct CameraBlurKeyframe(); }};
static const ScriptObjectSpec DamageableTriggerEnt = {0x1A, []() -> IScriptObject* {return new struct DamageableTrigger(); }};
static const ScriptObjectSpec DebrisEnt = {0x1B, []() -> IScriptObject* {return new struct Debris(); }};
static const ScriptObjectSpec CameraShakerEnt = {0x1C, []() -> IScriptObject* {return new struct CameraShaker(); }};
static const ScriptObjectSpec ActorKeyframeEnt = {0x1D, []() -> IScriptObject* {return new struct ActorKeyframe(); }};
static const ScriptObjectSpec WaterEnt = {0x20, []() -> IScriptObject* {return new struct Water(); }};
static const ScriptObjectSpec WarwaspEnt = {0x21, []() -> IScriptObject* {return new struct Warwasp(); }};
static const ScriptObjectSpec SpacePirateEnt = {0x24, []() -> IScriptObject* {return new struct SpacePirate(); }};
static const ScriptObjectSpec FlyingPirateEnt = {0x25, []() -> IScriptObject* {return new struct FlyingPirate(); }};
static const ScriptObjectSpec ElitePirateEnt = {0x26, []() -> IScriptObject* {return new struct ElitePirate(); }};
static const ScriptObjectSpec MetroidBetaEnt = {0x27, []() -> IScriptObject* {return new struct MetroidBeta(); }};
static const ScriptObjectSpec ChozoGhostEnt = {0x28, []() -> IScriptObject* {return new struct ChozoGhost(); }};
static const ScriptObjectSpec CoverPointEnt = {0x2A, []() -> IScriptObject* {return new struct CoverPoint(); }};
static const ScriptObjectSpec SpiderBallWaypointEnt = {0x2C, []() -> IScriptObject* {return new struct SpiderBallWaypoint(); }};
static const ScriptObjectSpec BloodFlowerEnt = {0x2D, []() -> IScriptObject* {return new struct BloodFlower(); }};
static const ScriptObjectSpec FlickerBatEnt = {0x2E, []() -> IScriptObject* {return new struct FlickerBat(); }};
static const ScriptObjectSpec PathCameraEnt = {0x2F, []() -> IScriptObject* {return new struct PathCamera(); }};
static const ScriptObjectSpec GrapplePointEnt = {0x30, []() -> IScriptObject* {return new struct GrapplePoint(); }};
static const ScriptObjectSpec PuddleSporeEnt = {0x31, []() -> IScriptObject* {return new struct PuddleSpore(); }};
static const ScriptObjectSpec DebugCameraWaypointEnt = {0x32, []() -> IScriptObject* {return new struct DebugCameraWaypoint(); }};
static const ScriptObjectSpec SpiderBallAttractionSurfaceEnt = {0x33, []() -> IScriptObject* {return new struct SpiderBallAttractionSurface(); }};
static const ScriptObjectSpec PuddleToadGammaEnt = {0x34, []() -> IScriptObject* {return new struct PuddleToadGamma(); }};
static const ScriptObjectSpec DistanceFogEnt = {0x35, []() -> IScriptObject* {return new struct DistanceFog(); }};
static const ScriptObjectSpec FireFleaEnt = {0x36, []() -> IScriptObject* {return new struct FireFlea(); }};
static const ScriptObjectSpec MetareeAlphaEnt = {0x37, []() -> IScriptObject* {return new struct MetareeAlpha(); }};
static const ScriptObjectSpec DockAreaChangeEnt = {0x38, []() -> IScriptObject* {return new struct DockAreaChange(); }};
static const ScriptObjectSpec ActorRotateEnt = {0x39, []() -> IScriptObject* {return new struct ActorRotate(); }};
static const ScriptObjectSpec SpecialFunctionEnt = {0x3A, []() -> IScriptObject* {return new struct SpecialFunction(); }};
static const ScriptObjectSpec SpankWeedEnt = {0x3B, []() -> IScriptObject* {return new struct SpankWeed(); }};
static const ScriptObjectSpec ParasiteEnt = {0x3D, []() -> IScriptObject* {return new struct Parasite(); }};
static const ScriptObjectSpec PlayerHintEnt = {0x3E, []() -> IScriptObject* {return new struct PlayerHint(); }};
static const ScriptObjectSpec RipperEnt = {0x3F, []() -> IScriptObject* {return new struct Ripper(); }};
static const ScriptObjectSpec PickupGeneratorEnt = {0x40, []() -> IScriptObject* {return new struct PickupGenerator(); }};
static const ScriptObjectSpec AIKeyframeEnt = {0x41, []() -> IScriptObject* {return new struct AIKeyframe(); }};
static const ScriptObjectSpec PointOfInterestEnt = {0x42, []() -> IScriptObject* {return new struct PointOfInterest(); }};
static const ScriptObjectSpec DroneEnt = {0x43, []() -> IScriptObject* {return new struct Drone(); }};
static const ScriptObjectSpec MetroidAlphaEnt = {0x44, []() -> IScriptObject* {return new struct MetroidAlpha(); }};
static const ScriptObjectSpec DebrisExtendedEnt = {0x45, []() -> IScriptObject* {return new struct DebrisExtended(); }};
static const ScriptObjectSpec SteamEnt = {0x46, []() -> IScriptObject* {return new struct Steam(); }};
static const ScriptObjectSpec RippleEnt = {0x47, []() -> IScriptObject* {return new struct Ripple(); }};
static const ScriptObjectSpec BallTriggerEnt = {0x48, []() -> IScriptObject* {return new struct BallTrigger(); }};
static const ScriptObjectSpec TargetingPointEnt = {0x49, []() -> IScriptObject* {return new struct TargetingPoint(); }};
static const ScriptObjectSpec ElectroMagneticPulseEnt = {0x4A, []() -> IScriptObject* {return new struct ElectroMagneticPulse(); }};
static const ScriptObjectSpec IceSheegothEnt = {0x4B, []() -> IScriptObject* {return new struct IceSheegoth(); }};
static const ScriptObjectSpec PlayerActorEnt = {0x4C, []() -> IScriptObject* {return new struct PlayerActor(); }};
static const ScriptObjectSpec FlaahgraEnt = {0x4D, []() -> IScriptObject* {return new struct Flaahgra(); }};
static const ScriptObjectSpec AreaAttributesEnt = {0x4E, []() -> IScriptObject* {return new struct AreaAttributes(); }};
static const ScriptObjectSpec FishCloudEnt = {0x4F, []() -> IScriptObject* {return new struct FishCloud(); }};
static const ScriptObjectSpec FishCloudModifierEnt = {0x50, []() -> IScriptObject* {return new struct FishCloudModifier(); }};
static const ScriptObjectSpec VisorFlareEnt = {0x51, []() -> IScriptObject* {return new struct VisorFlare(); }};
static const ScriptObjectSpec WorldTeleporterx52Ent = {0x52, []() -> IScriptObject* {return new struct WorldTeleporter(); }};
static const ScriptObjectSpec VisorGooEnt = {0x53, []() -> IScriptObject* {return new struct VisorGoo(); }};
static const ScriptObjectSpec JellyZapEnt = {0x54, []() -> IScriptObject* {return new struct JellyZap(); }};
static const ScriptObjectSpec ControllerActionEnt = {0x55, []() -> IScriptObject* {return new struct ControllerAction(); }};
static const ScriptObjectSpec SwitchEnt = {0x56, []() -> IScriptObject* {return new struct Switch(); }};
static const ScriptObjectSpec PlayerStateChangeEnt = {0x57, []() -> IScriptObject* {return new struct PlayerStateChange(); }};
static const ScriptObjectSpec ThardusEnt = {0x58, []() -> IScriptObject* {return new struct Thardus(); }};
static const ScriptObjectSpec WallCrawlerSwarmEnt = {0x5A, []() -> IScriptObject* {return new struct WallCrawlerSwarm(); }};
static const ScriptObjectSpec AIJumpPointEnt = {0x5B, []() -> IScriptObject* {return new struct AIJumpPoint(); }};
static const ScriptObjectSpec FlaahgraTentacleEnt = {0x5C, []() -> IScriptObject* {return new struct FlaahgraTentacle(); }};
static const ScriptObjectSpec RoomAcousticsEnt = {0x5D, []() -> IScriptObject* {return new struct RoomAcoustics(); }};
static const ScriptObjectSpec ColorModulateEnt = {0x5E, []() -> IScriptObject* {return new struct ColorModulate(); }};
static const ScriptObjectSpec ThardusRockProjectileEnt = {0x5F, []() -> IScriptObject* {return new struct ThardusRockProjectile(); }};
static const ScriptObjectSpec MidiEnt = {0x60, []() -> IScriptObject* {return new struct Midi(); }};
static const ScriptObjectSpec StreamedAudioEnt = {0x61, []() -> IScriptObject* {return new struct StreamedAudio(); }};
static const ScriptObjectSpec WorldTeleporterx62Ent = {0x62, []() -> IScriptObject* {return new struct WorldTeleporter(); }}; // o.o, no this is not a trick
static const ScriptObjectSpec RepulsorEnt = {0x63, []() -> IScriptObject* {return new struct Repulsor(); }};
static const ScriptObjectSpec GunTurretEnt = {0x64, []() -> IScriptObject* {return new struct GunTurret(); }};
static const ScriptObjectSpec FogVolumeEnt = {0x65, []() -> IScriptObject* {return new struct FogVolume(); }};
static const ScriptObjectSpec BabygothEnt = {0x66, []() -> IScriptObject* {return new struct Babygoth(); }};
static const ScriptObjectSpec EyeballEnt = {0x67, []() -> IScriptObject* {return new struct Eyeball(); }};
static const ScriptObjectSpec RadialDamageEnt = {0x68, []() -> IScriptObject* {return new struct RadialDamage(); }};
static const ScriptObjectSpec CameraPitchVolumeEnt = {0x69, []() -> IScriptObject* {return new struct CameraPitchVolume(); }};
static const ScriptObjectSpec EnvFxDensityControllerEnt = {0x6A, []() -> IScriptObject* {return new struct EnvFxDensityController(); }};
static const ScriptObjectSpec MagdoliteEnt = {0x6B, []() -> IScriptObject* {return new struct Magdolite(); }};
static const ScriptObjectSpec TeamAIMgrEnt = {0x6C, []() -> IScriptObject* {return new struct TeamAIMgr(); }};
static const ScriptObjectSpec SnakeWeedSwarmEnt = {0x6D, []() -> IScriptObject* {return new struct SnakeWeedSwarm(); }};
static const ScriptObjectSpec ActorContraptionEnt = {0x6E, []() -> IScriptObject* {return new struct ActorContraption(); }};
static const ScriptObjectSpec OculusEnt = {0x6F, []() -> IScriptObject* {return new struct Oculus(); }};
static const ScriptObjectSpec GeemerEnt = {0x70, []() -> IScriptObject* {return new struct Geemer(); }};
static const ScriptObjectSpec SpindleCameraEnt = {0x71, []() -> IScriptObject* {return new struct SpindleCamera(); }};
static const ScriptObjectSpec AtomicAlphaEnt = {0x72, []() -> IScriptObject* {return new struct AtomicAlpha(); }};
static const ScriptObjectSpec CameraHintTriggerEnt = {0x73, []() -> IScriptObject* {return new struct CameraHintTrigger(); }};
static const ScriptObjectSpec RumbleEffectEnt = {0x74, []() -> IScriptObject* {return new struct RumbleEffect(); }};
static const ScriptObjectSpec AmbientAIEnt = {0x75, []() -> IScriptObject* {return new struct AmbientAI(); }};
static const ScriptObjectSpec AtomicBetaEnt = {0x77, []() -> IScriptObject* {return new struct AtomicBeta(); }};
static const ScriptObjectSpec IceZoomerEnt = {0x78, []() -> IScriptObject* {return new struct IceZoomer(); }};
static const ScriptObjectSpec PufferEnt = {0x79, []() -> IScriptObject* {return new struct Puffer(); }};
static const ScriptObjectSpec TryclopsEnt = {0x7A, []() -> IScriptObject* {return new struct Tryclops(); }};
static const ScriptObjectSpec RidleyEnt = {0x7B, []() -> IScriptObject* {return new struct Ridley(); }};
static const ScriptObjectSpec SeedlingEnt = {0x7C, []() -> IScriptObject* {return new struct Seedling(); }};
static const ScriptObjectSpec ThermalHeatFaderEnt = {0x7D, []() -> IScriptObject* {return new struct ThermalHeatFader(); }};
static const ScriptObjectSpec BurrowerEnt = {0x7F, []() -> IScriptObject* {return new struct Burrower(); }};
static const ScriptObjectSpec ScriptBeamEnt = {0x81, []() -> IScriptObject* {return new struct ScriptBeam(); }};
static const ScriptObjectSpec WorldLightFaderEnt = {0x82, []() -> IScriptObject* {return new struct WorldLightFader(); }};
static const ScriptObjectSpec MetroidPrimeStage2Ent = {0x83, []() -> IScriptObject* {return new struct MetroidPrimeStage2(); }};
static const ScriptObjectSpec MetroidPrimeStage1Ent = {0x84, []() -> IScriptObject* {return new struct MetroidPrimeStage1(); }};
static const ScriptObjectSpec MazeNodeEnt = {0x85, []() -> IScriptObject* {return new struct MazeNode(); }};
static const ScriptObjectSpec OmegaPirateEnt = {0x86, []() -> IScriptObject* {return new struct OmegaPirate(); }};
static const ScriptObjectSpec PhazonPoolEnt = {0x87, []() -> IScriptObject* {return new struct PhazonPool(); }};
static const ScriptObjectSpec PhazonHealingNoduleEnt = {0x88, []() -> IScriptObject* {return new struct PhazonHealingNodule(); }};
static const ScriptObjectSpec NewCameraShakerEnt = {0x89, []() -> IScriptObject* {return new struct NewCameraShaker(); }};
static const ScriptObjectSpec ShadowProjectorEnt = {0x8A, []() -> IScriptObject* {return new struct ShadowProjector(); }};
static const ScriptObjectSpec EnergyBallEnt = {0x8B, []() -> IScriptObject* {return new struct EnergyBall(); }};
}
namespace DataSpec::DNAMP1 {
namespace priv {
static const ScriptObjectSpec ActorEnt = {0x00, []() -> IScriptObject* { return new struct Actor(); }};
static const ScriptObjectSpec WaypointEnt = {0x02, []() -> IScriptObject* { return new struct Waypoint(); }};
static const ScriptObjectSpec DoorAreaEnt = {0x03, []() -> IScriptObject* { return new struct DoorArea(); }};
static const ScriptObjectSpec TriggerEnt = {0x04, []() -> IScriptObject* { return new struct Trigger(); }};
static const ScriptObjectSpec TimerEnt = {0x05, []() -> IScriptObject* { return new struct Timer(); }};
static const ScriptObjectSpec CounterEnt = {0x06, []() -> IScriptObject* { return new struct Counter(); }};
static const ScriptObjectSpec EffectEnt = {0x07, []() -> IScriptObject* { return new struct Effect(); }};
static const ScriptObjectSpec PlatformEnt = {0x08, []() -> IScriptObject* { return new struct Platform(); }};
static const ScriptObjectSpec SoundEnt = {0x09, []() -> IScriptObject* { return new struct Sound(); }};
static const ScriptObjectSpec GeneratorEnt = {0x0A, []() -> IScriptObject* { return new struct Generator(); }};
static const ScriptObjectSpec DockEnt = {0x0B, []() -> IScriptObject* { return new struct Dock(); }};
static const ScriptObjectSpec CameraEnt = {0x0C, []() -> IScriptObject* { return new struct Camera(); }};
static const ScriptObjectSpec CameraWaypointEnt = {0x0D,
[]() -> IScriptObject* { return new struct CameraWaypoint(); }};
static const ScriptObjectSpec NewIntroBossEnt = {0x0E, []() -> IScriptObject* { return new struct NewIntroBoss(); }};
static const ScriptObjectSpec SpawnPointEnt = {0x0F, []() -> IScriptObject* { return new struct SpawnPoint(); }};
static const ScriptObjectSpec CameraHintEnt = {0x10, []() -> IScriptObject* { return new struct CameraHint(); }};
static const ScriptObjectSpec PickupEnt = {0x11, []() -> IScriptObject* { return new struct Pickup(); }};
static const ScriptObjectSpec MemoryRelayEnt = {0x13, []() -> IScriptObject* { return new struct MemoryRelay(); }};
static const ScriptObjectSpec RandomRelayEnt = {0x14, []() -> IScriptObject* { return new struct RandomRelay(); }};
static const ScriptObjectSpec RelayEnt = {0x15, []() -> IScriptObject* { return new struct Relay(); }};
static const ScriptObjectSpec BeetleEnt = {0x16, []() -> IScriptObject* { return new struct Beetle(); }};
static const ScriptObjectSpec HUDMemoEnt = {0x17, []() -> IScriptObject* { return new struct HUDMemo(); }};
static const ScriptObjectSpec CameraFilterKeyframeEnt = {
0x18, []() -> IScriptObject* { return new struct CameraFilterKeyframe(); }};
static const ScriptObjectSpec CameraBlurKeyframeEnt = {
0x19, []() -> IScriptObject* { return new struct CameraBlurKeyframe(); }};
static const ScriptObjectSpec DamageableTriggerEnt = {
0x1A, []() -> IScriptObject* { return new struct DamageableTrigger(); }};
static const ScriptObjectSpec DebrisEnt = {0x1B, []() -> IScriptObject* { return new struct Debris(); }};
static const ScriptObjectSpec CameraShakerEnt = {0x1C, []() -> IScriptObject* { return new struct CameraShaker(); }};
static const ScriptObjectSpec ActorKeyframeEnt = {0x1D, []() -> IScriptObject* { return new struct ActorKeyframe(); }};
static const ScriptObjectSpec WaterEnt = {0x20, []() -> IScriptObject* { return new struct Water(); }};
static const ScriptObjectSpec WarwaspEnt = {0x21, []() -> IScriptObject* { return new struct Warwasp(); }};
static const ScriptObjectSpec SpacePirateEnt = {0x24, []() -> IScriptObject* { return new struct SpacePirate(); }};
static const ScriptObjectSpec FlyingPirateEnt = {0x25, []() -> IScriptObject* { return new struct FlyingPirate(); }};
static const ScriptObjectSpec ElitePirateEnt = {0x26, []() -> IScriptObject* { return new struct ElitePirate(); }};
static const ScriptObjectSpec MetroidBetaEnt = {0x27, []() -> IScriptObject* { return new struct MetroidBeta(); }};
static const ScriptObjectSpec ChozoGhostEnt = {0x28, []() -> IScriptObject* { return new struct ChozoGhost(); }};
static const ScriptObjectSpec CoverPointEnt = {0x2A, []() -> IScriptObject* { return new struct CoverPoint(); }};
static const ScriptObjectSpec SpiderBallWaypointEnt = {
0x2C, []() -> IScriptObject* { return new struct SpiderBallWaypoint(); }};
static const ScriptObjectSpec BloodFlowerEnt = {0x2D, []() -> IScriptObject* { return new struct BloodFlower(); }};
static const ScriptObjectSpec FlickerBatEnt = {0x2E, []() -> IScriptObject* { return new struct FlickerBat(); }};
static const ScriptObjectSpec PathCameraEnt = {0x2F, []() -> IScriptObject* { return new struct PathCamera(); }};
static const ScriptObjectSpec GrapplePointEnt = {0x30, []() -> IScriptObject* { return new struct GrapplePoint(); }};
static const ScriptObjectSpec PuddleSporeEnt = {0x31, []() -> IScriptObject* { return new struct PuddleSpore(); }};
static const ScriptObjectSpec DebugCameraWaypointEnt = {
0x32, []() -> IScriptObject* { return new struct DebugCameraWaypoint(); }};
static const ScriptObjectSpec SpiderBallAttractionSurfaceEnt = {
0x33, []() -> IScriptObject* { return new struct SpiderBallAttractionSurface(); }};
static const ScriptObjectSpec PuddleToadGammaEnt = {0x34,
[]() -> IScriptObject* { return new struct PuddleToadGamma(); }};
static const ScriptObjectSpec DistanceFogEnt = {0x35, []() -> IScriptObject* { return new struct DistanceFog(); }};
static const ScriptObjectSpec FireFleaEnt = {0x36, []() -> IScriptObject* { return new struct FireFlea(); }};
static const ScriptObjectSpec MetareeAlphaEnt = {0x37, []() -> IScriptObject* { return new struct MetareeAlpha(); }};
static const ScriptObjectSpec DockAreaChangeEnt = {0x38,
[]() -> IScriptObject* { return new struct DockAreaChange(); }};
static const ScriptObjectSpec ActorRotateEnt = {0x39, []() -> IScriptObject* { return new struct ActorRotate(); }};
static const ScriptObjectSpec SpecialFunctionEnt = {0x3A,
[]() -> IScriptObject* { return new struct SpecialFunction(); }};
static const ScriptObjectSpec SpankWeedEnt = {0x3B, []() -> IScriptObject* { return new struct SpankWeed(); }};
static const ScriptObjectSpec ParasiteEnt = {0x3D, []() -> IScriptObject* { return new struct Parasite(); }};
static const ScriptObjectSpec PlayerHintEnt = {0x3E, []() -> IScriptObject* { return new struct PlayerHint(); }};
static const ScriptObjectSpec RipperEnt = {0x3F, []() -> IScriptObject* { return new struct Ripper(); }};
static const ScriptObjectSpec PickupGeneratorEnt = {0x40,
[]() -> IScriptObject* { return new struct PickupGenerator(); }};
static const ScriptObjectSpec AIKeyframeEnt = {0x41, []() -> IScriptObject* { return new struct AIKeyframe(); }};
static const ScriptObjectSpec PointOfInterestEnt = {0x42,
[]() -> IScriptObject* { return new struct PointOfInterest(); }};
static const ScriptObjectSpec DroneEnt = {0x43, []() -> IScriptObject* { return new struct Drone(); }};
static const ScriptObjectSpec MetroidAlphaEnt = {0x44, []() -> IScriptObject* { return new struct MetroidAlpha(); }};
static const ScriptObjectSpec DebrisExtendedEnt = {0x45,
[]() -> IScriptObject* { return new struct DebrisExtended(); }};
static const ScriptObjectSpec SteamEnt = {0x46, []() -> IScriptObject* { return new struct Steam(); }};
static const ScriptObjectSpec RippleEnt = {0x47, []() -> IScriptObject* { return new struct Ripple(); }};
static const ScriptObjectSpec BallTriggerEnt = {0x48, []() -> IScriptObject* { return new struct BallTrigger(); }};
static const ScriptObjectSpec TargetingPointEnt = {0x49,
[]() -> IScriptObject* { return new struct TargetingPoint(); }};
static const ScriptObjectSpec ElectroMagneticPulseEnt = {
0x4A, []() -> IScriptObject* { return new struct ElectroMagneticPulse(); }};
static const ScriptObjectSpec IceSheegothEnt = {0x4B, []() -> IScriptObject* { return new struct IceSheegoth(); }};
static const ScriptObjectSpec PlayerActorEnt = {0x4C, []() -> IScriptObject* { return new struct PlayerActor(); }};
static const ScriptObjectSpec FlaahgraEnt = {0x4D, []() -> IScriptObject* { return new struct Flaahgra(); }};
static const ScriptObjectSpec AreaAttributesEnt = {0x4E,
[]() -> IScriptObject* { return new struct AreaAttributes(); }};
static const ScriptObjectSpec FishCloudEnt = {0x4F, []() -> IScriptObject* { return new struct FishCloud(); }};
static const ScriptObjectSpec FishCloudModifierEnt = {
0x50, []() -> IScriptObject* { return new struct FishCloudModifier(); }};
static const ScriptObjectSpec VisorFlareEnt = {0x51, []() -> IScriptObject* { return new struct VisorFlare(); }};
static const ScriptObjectSpec WorldTeleporterx52Ent = {0x52,
[]() -> IScriptObject* { return new struct WorldTeleporter(); }};
static const ScriptObjectSpec VisorGooEnt = {0x53, []() -> IScriptObject* { return new struct VisorGoo(); }};
static const ScriptObjectSpec JellyZapEnt = {0x54, []() -> IScriptObject* { return new struct JellyZap(); }};
static const ScriptObjectSpec ControllerActionEnt = {0x55,
[]() -> IScriptObject* { return new struct ControllerAction(); }};
static const ScriptObjectSpec SwitchEnt = {0x56, []() -> IScriptObject* { return new struct Switch(); }};
static const ScriptObjectSpec PlayerStateChangeEnt = {
0x57, []() -> IScriptObject* { return new struct PlayerStateChange(); }};
static const ScriptObjectSpec ThardusEnt = {0x58, []() -> IScriptObject* { return new struct Thardus(); }};
static const ScriptObjectSpec WallCrawlerSwarmEnt = {0x5A,
[]() -> IScriptObject* { return new struct WallCrawlerSwarm(); }};
static const ScriptObjectSpec AIJumpPointEnt = {0x5B, []() -> IScriptObject* { return new struct AIJumpPoint(); }};
static const ScriptObjectSpec FlaahgraTentacleEnt = {0x5C,
[]() -> IScriptObject* { return new struct FlaahgraTentacle(); }};
static const ScriptObjectSpec RoomAcousticsEnt = {0x5D, []() -> IScriptObject* { return new struct RoomAcoustics(); }};
static const ScriptObjectSpec ColorModulateEnt = {0x5E, []() -> IScriptObject* { return new struct ColorModulate(); }};
static const ScriptObjectSpec ThardusRockProjectileEnt = {
0x5F, []() -> IScriptObject* { return new struct ThardusRockProjectile(); }};
static const ScriptObjectSpec MidiEnt = {0x60, []() -> IScriptObject* { return new struct Midi(); }};
static const ScriptObjectSpec StreamedAudioEnt = {0x61, []() -> IScriptObject* { return new struct StreamedAudio(); }};
static const ScriptObjectSpec WorldTeleporterx62Ent = {
0x62, []() -> IScriptObject* { return new struct WorldTeleporter(); }}; // o.o, no this is not a trick
static const ScriptObjectSpec RepulsorEnt = {0x63, []() -> IScriptObject* { return new struct Repulsor(); }};
static const ScriptObjectSpec GunTurretEnt = {0x64, []() -> IScriptObject* { return new struct GunTurret(); }};
static const ScriptObjectSpec FogVolumeEnt = {0x65, []() -> IScriptObject* { return new struct FogVolume(); }};
static const ScriptObjectSpec BabygothEnt = {0x66, []() -> IScriptObject* { return new struct Babygoth(); }};
static const ScriptObjectSpec EyeballEnt = {0x67, []() -> IScriptObject* { return new struct Eyeball(); }};
static const ScriptObjectSpec RadialDamageEnt = {0x68, []() -> IScriptObject* { return new struct RadialDamage(); }};
static const ScriptObjectSpec CameraPitchVolumeEnt = {
0x69, []() -> IScriptObject* { return new struct CameraPitchVolume(); }};
static const ScriptObjectSpec EnvFxDensityControllerEnt = {
0x6A, []() -> IScriptObject* { return new struct EnvFxDensityController(); }};
static const ScriptObjectSpec MagdoliteEnt = {0x6B, []() -> IScriptObject* { return new struct Magdolite(); }};
static const ScriptObjectSpec TeamAIMgrEnt = {0x6C, []() -> IScriptObject* { return new struct TeamAIMgr(); }};
static const ScriptObjectSpec SnakeWeedSwarmEnt = {0x6D,
[]() -> IScriptObject* { return new struct SnakeWeedSwarm(); }};
static const ScriptObjectSpec ActorContraptionEnt = {0x6E,
[]() -> IScriptObject* { return new struct ActorContraption(); }};
static const ScriptObjectSpec OculusEnt = {0x6F, []() -> IScriptObject* { return new struct Oculus(); }};
static const ScriptObjectSpec GeemerEnt = {0x70, []() -> IScriptObject* { return new struct Geemer(); }};
static const ScriptObjectSpec SpindleCameraEnt = {0x71, []() -> IScriptObject* { return new struct SpindleCamera(); }};
static const ScriptObjectSpec AtomicAlphaEnt = {0x72, []() -> IScriptObject* { return new struct AtomicAlpha(); }};
static const ScriptObjectSpec CameraHintTriggerEnt = {
0x73, []() -> IScriptObject* { return new struct CameraHintTrigger(); }};
static const ScriptObjectSpec RumbleEffectEnt = {0x74, []() -> IScriptObject* { return new struct RumbleEffect(); }};
static const ScriptObjectSpec AmbientAIEnt = {0x75, []() -> IScriptObject* { return new struct AmbientAI(); }};
static const ScriptObjectSpec AtomicBetaEnt = {0x77, []() -> IScriptObject* { return new struct AtomicBeta(); }};
static const ScriptObjectSpec IceZoomerEnt = {0x78, []() -> IScriptObject* { return new struct IceZoomer(); }};
static const ScriptObjectSpec PufferEnt = {0x79, []() -> IScriptObject* { return new struct Puffer(); }};
static const ScriptObjectSpec TryclopsEnt = {0x7A, []() -> IScriptObject* { return new struct Tryclops(); }};
static const ScriptObjectSpec RidleyEnt = {0x7B, []() -> IScriptObject* { return new struct Ridley(); }};
static const ScriptObjectSpec SeedlingEnt = {0x7C, []() -> IScriptObject* { return new struct Seedling(); }};
static const ScriptObjectSpec ThermalHeatFaderEnt = {0x7D,
[]() -> IScriptObject* { return new struct ThermalHeatFader(); }};
static const ScriptObjectSpec BurrowerEnt = {0x7F, []() -> IScriptObject* { return new struct Burrower(); }};
static const ScriptObjectSpec ScriptBeamEnt = {0x81, []() -> IScriptObject* { return new struct ScriptBeam(); }};
static const ScriptObjectSpec WorldLightFaderEnt = {0x82,
[]() -> IScriptObject* { return new struct WorldLightFader(); }};
static const ScriptObjectSpec MetroidPrimeStage2Ent = {
0x83, []() -> IScriptObject* { return new struct MetroidPrimeStage2(); }};
static const ScriptObjectSpec MetroidPrimeStage1Ent = {
0x84, []() -> IScriptObject* { return new struct MetroidPrimeStage1(); }};
static const ScriptObjectSpec MazeNodeEnt = {0x85, []() -> IScriptObject* { return new struct MazeNode(); }};
static const ScriptObjectSpec OmegaPirateEnt = {0x86, []() -> IScriptObject* { return new struct OmegaPirate(); }};
static const ScriptObjectSpec PhazonPoolEnt = {0x87, []() -> IScriptObject* { return new struct PhazonPool(); }};
static const ScriptObjectSpec PhazonHealingNoduleEnt = {
0x88, []() -> IScriptObject* { return new struct PhazonHealingNodule(); }};
static const ScriptObjectSpec NewCameraShakerEnt = {0x89,
[]() -> IScriptObject* { return new struct NewCameraShaker(); }};
static const ScriptObjectSpec ShadowProjectorEnt = {0x8A,
[]() -> IScriptObject* { return new struct ShadowProjector(); }};
static const ScriptObjectSpec EnergyBallEnt = {0x8B, []() -> IScriptObject* { return new struct EnergyBall(); }};
} // namespace priv
const std::vector<const struct ScriptObjectSpec*> SCRIPT_OBJECT_DB =
{
const std::vector<const struct ScriptObjectSpec*> SCRIPT_OBJECT_DB = {
&priv::AIJumpPointEnt,
&priv::AIKeyframeEnt,
&priv::ActorEnt,
@@ -265,16 +298,12 @@ const std::vector<const struct ScriptObjectSpec*> SCRIPT_OBJECT_DB =
&priv::WorldTeleporterx62Ent,
};
zeus::CTransform ConvertEditorEulerToTransform4f(const zeus::CVector3f& scale,
const zeus::CVector3f& orientation,
const zeus::CVector3f& position)
{
zeus::simd_floats f(orientation.mSimd);
return zeus::CTransform::RotateZ(zeus::degToRad(f[2])) *
zeus::CTransform::RotateY(zeus::degToRad(f[1])) *
zeus::CTransform::RotateX(zeus::degToRad(f[0])) *
zeus::CTransform::Scale(scale) +
position;
zeus::CTransform ConvertEditorEulerToTransform4f(const zeus::CVector3f& scale, const zeus::CVector3f& orientation,
const zeus::CVector3f& position) {
zeus::simd_floats f(orientation.mSimd);
return zeus::CTransform::RotateZ(zeus::degToRad(f[2])) * zeus::CTransform::RotateY(zeus::degToRad(f[1])) *
zeus::CTransform::RotateX(zeus::degToRad(f[0])) * zeus::CTransform::Scale(scale) +
position;
}
}
} // namespace DataSpec::DNAMP1

View File

@@ -15,38 +15,32 @@
#define SO_COLLISION_OFFSET_SPECPROP() SPECTER_PROPERTY("Collision Offset", "")
#define SO_ACTIVE_SPECPROP() SPECTER_PROPERTY("Active", "If enabled, object instance is drawn and updated")
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
zeus::CTransform ConvertEditorEulerToTransform4f(const zeus::CVector3f& scale,
const zeus::CVector3f& orientation,
zeus::CTransform ConvertEditorEulerToTransform4f(const zeus::CVector3f& scale, const zeus::CVector3f& orientation,
const zeus::CVector3f& position);
struct IScriptObject : BigDNAVYaml
{
struct IScriptObject : BigDNAVYaml {
AT_DECL_DNA_YAML
atUint32 type;
Value<atUint32> id;
struct Connection : BigDNA {
AT_DECL_DNA_YAML
atUint32 type;
Value<atUint32> id;
struct Connection : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> state;
Value<atUint32> msg;
Value<atUint32> target;
};
Value<atUint32> state;
Value<atUint32> msg;
Value<atUint32> target;
};
Value<atUint32> connectionCount;
Vector<Connection, AT_DNA_COUNT(connectionCount)> connections;
Value<atUint32> propertyCount;
virtual ~IScriptObject() = default;
Value<atUint32> connectionCount;
Vector<Connection, AT_DNA_COUNT(connectionCount)> connections;
Value<atUint32> propertyCount;
virtual ~IScriptObject() = default;
virtual void addCMDLRigPairs(PAKRouter<PAKBridge>&,
CharacterAssociations<UniqueID32>& charAssoc) const {}
virtual void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {}
virtual void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const {}
virtual void gatherScans(std::vector<Scan>& scansOut) const {}
virtual zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const { return {}; }
virtual void addCMDLRigPairs(PAKRouter<PAKBridge>&, CharacterAssociations<UniqueID32>& charAssoc) const {}
virtual void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {}
virtual void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const {}
virtual void gatherScans(std::vector<Scan>& scansOut) const {}
virtual zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const { return {}; }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,132 +4,112 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct IceSheegoth : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<atVec3f> unknown3;
Value<float> unknown4;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
DamageVulnerability damageVulnerabilty3;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
Value<float> unknown5;
Value<float> unknown6;
UniqueID32 wpsc2;
UniqueID32 particle1;
DamageInfo damageInfo2;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 elsc;
Value<float> unknown7;
Value<float> unknown8;
DamageInfo damageInfo3;
Value<atUint32> soundID1;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
UniqueID32 texture;
Value<atUint32> soundID2;
UniqueID32 particle6;
Value<bool> unknown12;
Value<bool> unknown13;
namespace DataSpec::DNAMP1 {
struct IceSheegoth : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<atVec3f> unknown3;
Value<float> unknown4;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
DamageVulnerability damageVulnerabilty3;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
Value<float> unknown5;
Value<float> unknown6;
UniqueID32 wpsc2;
UniqueID32 particle1;
DamageInfo damageInfo2;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 elsc;
Value<float> unknown7;
Value<float> unknown8;
DamageInfo damageInfo3;
Value<atUint32> soundID1;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
UniqueID32 texture;
Value<atUint32> soundID2;
UniqueID32 particle6;
Value<bool> unknown12;
Value<bool> unknown13;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
if (texture)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
if (particle6)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
if (texture) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
if (particle6) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,51 +4,41 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct IceZoomer : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
DamageVulnerability damageVulnerabilty;
Value<float> unknown9;
namespace DataSpec::DNAMP1 {
struct IceZoomer : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
DamageVulnerability damageVulnerabilty;
Value<float> unknown9;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,55 +4,45 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct JellyZap : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<bool> unknown13;
namespace DataSpec::DNAMP1 {
struct JellyZap : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<bool> unknown13;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,95 +4,79 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Magdolite : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
UniqueID32 cmdlHeadless;
UniqueID32 cskrHeadless;
namespace DataSpec::DNAMP1 {
struct Magdolite : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
UniqueID32 cmdlHeadless;
UniqueID32 cskrHeadless;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
struct MagdoliteParameters : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<atUint32> unknown1;
UniqueID32 particle;
Value<atUint32> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
struct MagdoliteParameters : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<atUint32> unknown1;
UniqueID32 particle;
Value<atUint32> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
} magdoliteParameters;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
} magdoliteParameters;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
UniqueID32 cinf = patternedInfo.animationParameters.getCINF(pakRouter);
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
UniqueID32 cinf = patternedInfo.animationParameters.getCINF(pakRouter);
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
if (cmdlHeadless && cskrHeadless)
{
charAssoc.m_cmdlRigs[cmdlHeadless] = std::make_pair(cskrHeadless, cinf);
charAssoc.m_cskrCinfToCharacter[cskrHeadless] = std::make_pair(
patternedInfo.animationParameters.animationCharacterSet, "ATTACH.HEADLESS.CSKR");
charAssoc.addAttachmentRig(patternedInfo.animationParameters.animationCharacterSet,
{}, cmdlHeadless, "HEADLESS");
}
if (cmdlHeadless && cskrHeadless) {
charAssoc.m_cmdlRigs[cmdlHeadless] = std::make_pair(cskrHeadless, cinf);
charAssoc.m_cskrCinfToCharacter[cskrHeadless] =
std::make_pair(patternedInfo.animationParameters.animationCharacterSet, "ATTACH.HEADLESS.CSKR");
charAssoc.addAttachmentRig(patternedInfo.animationParameters.animationCharacterSet, {}, cmdlHeadless, "HEADLESS");
}
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (cmdlHeadless)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cmdlHeadless);
ent->name = name + "_emodel";
}
if (cskrHeadless)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cskrHeadless);
ent->name = name + "_eskin";
}
if (magdoliteParameters.particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(magdoliteParameters.particle);
ent->name = name + "_part";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (cmdlHeadless) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cmdlHeadless);
ent->name = name + "_emodel";
}
if (cskrHeadless) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cskrHeadless);
ent->name = name + "_eskin";
}
if (magdoliteParameters.particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(magdoliteParameters.particle);
ent->name = name + "_part";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(cmdlHeadless, pathsOut);
g_curSpec->flattenDependencies(cskrHeadless, pathsOut);
g_curSpec->flattenDependencies(magdoliteParameters.particle, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(cmdlHeadless, pathsOut);
g_curSpec->flattenDependencies(cskrHeadless, pathsOut);
g_curSpec->flattenDependencies(magdoliteParameters.particle, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,22 +4,19 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct MazeNode : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
Value<atUint32> unknown2;
Value<atUint32> unknown3;
Value<atUint32> unknown4;
Value<atVec3f> unknown5;
Value<atVec3f> unknown6;
Value<atVec3f> unknown7;
namespace DataSpec::DNAMP1 {
struct MazeNode : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
Value<atUint32> unknown2;
Value<atUint32> unknown3;
Value<atUint32> unknown4;
Value<atVec3f> unknown5;
Value<atVec3f> unknown6;
Value<atVec3f> unknown7;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,15 +4,12 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct MemoryRelay : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> unknown;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct MemoryRelay : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> unknown;
Value<bool> active;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,47 +4,37 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct MetareeAlpha : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo;
Value<float> unknown1;
Value<atVec3f> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
namespace DataSpec::DNAMP1 {
struct MetareeAlpha : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageInfo damageInfo;
Value<float> unknown1;
Value<atVec3f> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,63 +4,53 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct MetroidAlpha : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
AnimationParameters animationParameters1;
AnimationParameters animationParameters2;
AnimationParameters animationParameters3;
AnimationParameters animationParameters4;
Value<bool> unknown8;
namespace DataSpec::DNAMP1 {
struct MetroidAlpha : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
AnimationParameters animationParameters1;
AnimationParameters animationParameters2;
AnimationParameters animationParameters3;
AnimationParameters animationParameters4;
Value<bool> unknown8;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
animationParameters1.nameANCS(pakRouter, name + "_animp1");
animationParameters2.nameANCS(pakRouter, name + "_animp2");
animationParameters3.nameANCS(pakRouter, name + "_animp3");
animationParameters4.nameANCS(pakRouter, name + "_animp4");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
animationParameters1.nameANCS(pakRouter, name + "_animp1");
animationParameters2.nameANCS(pakRouter, name + "_animp2");
animationParameters3.nameANCS(pakRouter, name + "_animp3");
animationParameters4.nameANCS(pakRouter, name + "_animp4");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
animationParameters1.depANCS(pathsOut);
animationParameters2.depANCS(pathsOut);
animationParameters3.depANCS(pathsOut);
animationParameters4.depANCS(pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
animationParameters1.depANCS(pathsOut);
animationParameters2.depANCS(pathsOut);
animationParameters3.depANCS(pathsOut);
animationParameters4.depANCS(pathsOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,88 +4,73 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct MetroidBeta : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
UniqueID32 particle1;
UniqueID32 swhc;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
Value<bool> unknown10;
namespace DataSpec::DNAMP1 {
struct MetroidBeta : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
DamageVulnerability damageVulnerabilty1;
DamageVulnerability damageVulnerabilty2;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
UniqueID32 particle1;
UniqueID32 swhc;
UniqueID32 particle2;
UniqueID32 particle3;
UniqueID32 particle4;
Value<bool> unknown10;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (swhc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(swhc);
ent->name = name + "_swhc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (swhc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(swhc);
ent->name = name + "_swhc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(swhc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(swhc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,351 +4,300 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct MetroidPrimeStage1 : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
Value<atUint32> version;
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<bool> unknown2;
namespace DataSpec::DNAMP1 {
struct MetroidPrimeStage1 : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
Value<atUint32> version;
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<bool> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<atUint32> unknown6;
Value<bool> unknown7;
Value<atUint32> unknown8;
HealthInfo healthInfo1;
HealthInfo healthInfo2;
Value<atUint32> unknown9;
struct PrimeParameters1 : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<atUint32> unknown6;
Value<bool> unknown7;
Value<atUint32> unknown8;
HealthInfo healthInfo1;
HealthInfo healthInfo2;
Value<atUint32> unknown9;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
} primeStruct1[4];
struct PrimeParameters1 : BigDNA
{
Value<atUint32> unknown10;
Value<atUint32> unknown11;
struct MassivePrimeStruct : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<atUint32> unknown2;
struct CameraShakeData : BigDNA {
AT_DECL_DNA
Value<bool> useSfx;
Value<float> duration;
Value<float> sfxDist;
struct CameraShakerComponent : BigDNA {
AT_DECL_DNA
Value<bool> useModulation;
struct CameraShakePoint : BigDNA {
AT_DECL_DNA
Value<float> attackTime;
Value<float> sustainTime;
Value<float> duration;
Value<float> magnitude;
};
CameraShakePoint am;
CameraShakePoint fm;
} shakerComponents[3];
} shakeDatas[3];
struct PrimeStruct2B : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 particle3;
DamageInfo damageInfo1;
Value<float> unknown5;
Value<float> unknown6;
UniqueID32 texture1;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (texture1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
}
} primeStruct2b;
UniqueID32 particle4;
struct PrimeStruct4 : BigDNA {
AT_DECL_DNA
BeamInfo beamInfo;
UniqueID32 wpsc;
DamageInfo damageInfo1;
struct PrimeStruct5 : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
} primeStruct1[4];
Value<atUint32> unknown10;
Value<atUint32> unknown11;
struct MassivePrimeStruct : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 unknown1;
Value<atUint32> unknown2;
struct CameraShakeData : BigDNA
{
AT_DECL_DNA
Value<bool> useSfx;
Value<float> duration;
Value<float> sfxDist;
struct CameraShakerComponent : BigDNA
{
AT_DECL_DNA
Value<bool> useModulation;
struct CameraShakePoint : BigDNA
{
AT_DECL_DNA
Value<float> attackTime;
Value<float> sustainTime;
Value<float> duration;
Value<float> magnitude;
};
CameraShakePoint am;
CameraShakePoint fm;
} shakerComponents[3];
} shakeDatas[3];
UniqueID32 unknown3;
UniqueID32 unknown4;
Value<atUint32> unknown5;
Value<atUint32> unknown6;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
struct PrimeStruct2B : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 particle3;
DamageInfo damageInfo1;
Value<float> unknown5;
Value<float> unknown6;
UniqueID32 texture1;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (texture1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
}
} primeStruct2b;
UniqueID32 particle4;
struct PrimeStruct4 : BigDNA
{
AT_DECL_DNA
BeamInfo beamInfo;
UniqueID32 wpsc;
DamageInfo damageInfo1;
struct PrimeStruct5 : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
UniqueID32 unknown1;
Value<atUint32> unknown2;
UniqueID32 unknown3;
UniqueID32 unknown4;
Value<atUint32> unknown5;
Value<atUint32> unknown6;
Value<atUint32> unknown7;
Value<atUint32> unknown8;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (unknown1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown1);
ent->name = name + "_unk1";
}
if (unknown3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown3);
ent->name = name + "_unk3";
}
if (unknown4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown4);
ent->name = name + "_unk4";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(unknown1, pathsOut);
g_curSpec->flattenDependencies(unknown3, pathsOut);
g_curSpec->flattenDependencies(unknown4, pathsOut);
}
} primeStruct5;
Value<float> unknown14;
DamageInfo damageInfo2;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
beamInfo.nameIDs(pakRouter, name + "_beamInfo");
if (wpsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
primeStruct5.nameIDs(pakRouter, name + "_prime5");
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
beamInfo.depIDs(pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut);
primeStruct5.depIDs(pathsOut);
}
} primeStruct4s[4];
UniqueID32 wpsc1;
DamageInfo damageInfo2;
CameraShakeData primeStruct2_4;
UniqueID32 wpsc2;
DamageInfo damageInfo3;
CameraShakeData primeStruct2_5;
struct PrimeProjectileInfo : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
UniqueID32 particle;
DamageInfo damageInfo4;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
UniqueID32 texture;
Value<bool> unknown12;
Value<bool> unknown13;
Value<bool> unknown14;
Value<bool> unknown15;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (texture)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_tex";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
}
} projectileInfo;
DamageInfo damageInfo5;
CameraShakeData primeStruct2_6;
UniqueID32 particle6;
UniqueID32 swhc;
UniqueID32 particle7;
UniqueID32 particle8;
struct PrimeStruct6 : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
DamageVulnerability damageVulnerability;
DNAColor unknown1;
Value<atUint32> unknown2;
Value<atUint32> unknown3;
} primeStruct6s[4];
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
primeStruct2b.nameIDs(pakRouter, name + "_prime2b");
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle6)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
if (particle8)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle8);
ent->name = name + "_part8";
}
if (swhc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(swhc);
ent->name = name + "_swhc";
}
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
primeStruct4s[0].nameIDs(pakRouter, name + "_prime41");
primeStruct4s[1].nameIDs(pakRouter, name + "_prime42");
primeStruct4s[2].nameIDs(pakRouter, name + "_prime43");
primeStruct4s[3].nameIDs(pakRouter, name + "_prime44");
projectileInfo.nameIDs(pakRouter, name + "_projectileInfo");
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (unknown1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown1);
ent->name = name + "_unk1";
}
if (unknown3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown3);
ent->name = name + "_unk3";
}
if (unknown4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(unknown4);
ent->name = name + "_unk4";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
primeStruct2b.depIDs(pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
g_curSpec->flattenDependencies(particle8, pathsOut);
g_curSpec->flattenDependencies(swhc, pathsOut);
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
primeStruct4s[0].depIDs(pathsOut);
primeStruct4s[1].depIDs(pathsOut);
primeStruct4s[2].depIDs(pathsOut);
primeStruct4s[3].depIDs(pathsOut);
projectileInfo.depIDs(pathsOut);
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const {
g_curSpec->flattenDependencies(unknown1, pathsOut);
g_curSpec->flattenDependencies(unknown3, pathsOut);
g_curSpec->flattenDependencies(unknown4, pathsOut);
}
} primeStruct5;
Value<float> unknown14;
DamageInfo damageInfo2;
void scanIDs(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
beamInfo.nameIDs(pakRouter, name + "_beamInfo");
if (wpsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
} massivePrimeStruct;
primeStruct5.nameIDs(pakRouter, name + "_prime5");
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
massivePrimeStruct.actorParameters.addCMDLRigPairs(pakRouter, charAssoc,
massivePrimeStruct.patternedInfo.animationParameters);
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const {
beamInfo.depIDs(pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut);
primeStruct5.depIDs(pathsOut);
}
} primeStruct4s[4];
UniqueID32 wpsc1;
DamageInfo damageInfo2;
CameraShakeData primeStruct2_4;
UniqueID32 wpsc2;
DamageInfo damageInfo3;
CameraShakeData primeStruct2_5;
struct PrimeProjectileInfo : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
UniqueID32 particle;
DamageInfo damageInfo4;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
UniqueID32 texture;
Value<bool> unknown12;
Value<bool> unknown13;
Value<bool> unknown14;
Value<bool> unknown15;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (texture) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_tex";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const {
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
}
} projectileInfo;
DamageInfo damageInfo5;
CameraShakeData primeStruct2_6;
UniqueID32 particle6;
UniqueID32 swhc;
UniqueID32 particle7;
UniqueID32 particle8;
struct PrimeStruct6 : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
DamageVulnerability damageVulnerability;
DNAColor unknown1;
Value<atUint32> unknown2;
Value<atUint32> unknown3;
} primeStruct6s[4];
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
primeStruct2b.nameIDs(pakRouter, name + "_prime2b");
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle6) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
if (particle8) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle8);
ent->name = name + "_part8";
}
if (swhc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(swhc);
ent->name = name + "_swhc";
}
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
primeStruct4s[0].nameIDs(pakRouter, name + "_prime41");
primeStruct4s[1].nameIDs(pakRouter, name + "_prime42");
primeStruct4s[2].nameIDs(pakRouter, name + "_prime43");
primeStruct4s[3].nameIDs(pakRouter, name + "_prime44");
projectileInfo.nameIDs(pakRouter, name + "_projectileInfo");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
massivePrimeStruct.nameIDs(pakRouter, name + "_massiveStruct");
void depIDs(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
primeStruct2b.depIDs(pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
g_curSpec->flattenDependencies(particle8, pathsOut);
g_curSpec->flattenDependencies(swhc, pathsOut);
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
primeStruct4s[0].depIDs(pathsOut);
primeStruct4s[1].depIDs(pathsOut);
primeStruct4s[2].depIDs(pathsOut);
primeStruct4s[3].depIDs(pathsOut);
projectileInfo.depIDs(pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
massivePrimeStruct.depIDs(pathsOut, lazyOut);
}
void scanIDs(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
} massivePrimeStruct;
void gatherScans(std::vector<Scan>& scansOut) const
{
massivePrimeStruct.scanIDs(scansOut);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
massivePrimeStruct.actorParameters.addCMDLRigPairs(pakRouter, charAssoc,
massivePrimeStruct.patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
massivePrimeStruct.nameIDs(pakRouter, name + "_massiveStruct");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
massivePrimeStruct.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { massivePrimeStruct.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,64 +4,51 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct MetroidPrimeStage2 : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 particle1;
DamageInfo damageInfo;
UniqueID32 elsc;
Value<atUint32> unknown;
UniqueID32 particle2;
namespace DataSpec::DNAMP1 {
struct MetroidPrimeStage2 : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 particle1;
DamageInfo damageInfo;
UniqueID32 elsc;
Value<atUint32> unknown;
UniqueID32 particle2;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,34 +4,27 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Midi : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
UniqueID32 song;
Value<float> fadeInTime;
Value<float> fadeOutTime;
Value<atUint32> volume;
namespace DataSpec::DNAMP1 {
struct Midi : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
UniqueID32 song;
Value<float> fadeInTime;
Value<float> fadeOutTime;
Value<atUint32> volume;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (song)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(song);
ent->name = name + "_song";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (song) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(song);
ent->name = name + "_song";
}
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
// Dedicated PAK for this
//g_curSpec->flattenDependencies(song, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
// Dedicated PAK for this
// g_curSpec->flattenDependencies(song, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,34 +4,29 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct NewCameraShaker : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct NewCameraShaker : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<bool> active;
PlayerParameters flags;
Value<float> duration;
Value<float> sfxDist;
struct CameraShakerComponent : BigDNA {
AT_DECL_DNA
PlayerParameters flags;
Value<float> duration;
Value<float> sfxDist;
struct CameraShakerComponent : BigDNA
{
AT_DECL_DNA
PlayerParameters flags;
struct CameraShakePoint : BigDNA
{
AT_DECL_DNA
PlayerParameters flags;
Value<float> attackTime;
Value<float> sustainTime;
Value<float> duration;
Value<float> magnitude;
};
CameraShakePoint am;
CameraShakePoint fm;
} shakerComponents[3];
struct CameraShakePoint : BigDNA {
AT_DECL_DNA
PlayerParameters flags;
Value<float> attackTime;
Value<float> sustainTime;
Value<float> duration;
Value<float> magnitude;
};
CameraShakePoint am;
CameraShakePoint fm;
} shakerComponents[3];
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,73 +4,59 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct NewIntroBoss : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
UniqueID32 weaponDesc;
DamageInfo damageInfo;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
namespace DataSpec::DNAMP1 {
struct NewIntroBoss : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
UniqueID32 weaponDesc;
DamageInfo damageInfo;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(weaponDesc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(weaponDesc, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -1,38 +1,33 @@
#include "Oculus.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
template <class Op>
void Oculus::Enumerate(typename Op::StreamT& s)
{
IScriptObject::Enumerate<Op>(s);
Do<Op>({"name"}, name, s);
Do<Op>({"location"}, location, s);
Do<Op>({"orientation"}, orientation, s);
Do<Op>({"scale"}, scale, s);
Do<Op>({"patternedInfo"}, patternedInfo, s);
Do<Op>({"actorParameters"}, actorParameters, s);
Do<Op>({"unknown1"}, unknown1, s);
Do<Op>({"unknown2"}, unknown2, s);
Do<Op>({"unknown3"}, unknown3, s);
Do<Op>({"unknown4"}, unknown4, s);
Do<Op>({"unknown5"}, unknown5, s);
Do<Op>({"unknown6"}, unknown6, s);
Do<Op>({"damageVulnerabilty"}, damageVulnerabilty, s);
Do<Op>({"unknown7"}, unknown7, s);
Do<Op>({"damageInfo"}, damageInfo, s);
if (propertyCount == 16)
Do<Op>({"unknown8"}, unknown8, s);
else
unknown8 = 0.f;
void Oculus::Enumerate(typename Op::StreamT& s) {
IScriptObject::Enumerate<Op>(s);
Do<Op>({"name"}, name, s);
Do<Op>({"location"}, location, s);
Do<Op>({"orientation"}, orientation, s);
Do<Op>({"scale"}, scale, s);
Do<Op>({"patternedInfo"}, patternedInfo, s);
Do<Op>({"actorParameters"}, actorParameters, s);
Do<Op>({"unknown1"}, unknown1, s);
Do<Op>({"unknown2"}, unknown2, s);
Do<Op>({"unknown3"}, unknown3, s);
Do<Op>({"unknown4"}, unknown4, s);
Do<Op>({"unknown5"}, unknown5, s);
Do<Op>({"unknown6"}, unknown6, s);
Do<Op>({"damageVulnerabilty"}, damageVulnerabilty, s);
Do<Op>({"unknown7"}, unknown7, s);
Do<Op>({"damageInfo"}, damageInfo, s);
if (propertyCount == 16)
Do<Op>({"unknown8"}, unknown8, s);
else
unknown8 = 0.f;
}
const char* Oculus::DNAType()
{
return "urde::DNAMP1::Oculus";
}
const char* Oculus::DNAType() { return "urde::DNAMP1::Oculus"; }
AT_SPECIALIZE_DNA_YAML(Oculus)
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,54 +4,44 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Oculus : IScriptObject
{
AT_DECL_EXPLICIT_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
DamageVulnerability damageVulnerabilty;
Value<float> unknown7;
DamageInfo damageInfo;
namespace DataSpec::DNAMP1 {
struct Oculus : IScriptObject {
AT_DECL_EXPLICIT_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
DamageVulnerability damageVulnerabilty;
Value<float> unknown7;
DamageInfo damageInfo;
/* Trilogy addition */
Value<float> unknown8;
/* Trilogy addition */
Value<float> unknown8;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,169 +4,148 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct OmegaPirate : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters1;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
UniqueID32 particle1;
Value<atUint32> soundID1;
ActorParameters actorParameters2;
AnimationParameters animationParameters;
UniqueID32 particle2;
Value<atUint32> soundID2;
UniqueID32 model1;
DamageInfo damageInfo1;
Value<float> unknown9;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 particle6;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<atUint32> unknown16;
Value<atUint32> soundID3;
Value<atUint32> soundID4;
UniqueID32 particle7;
DamageInfo damageInfo2;
UniqueID32 elsc;
Value<atUint32> soundID5;
Value<bool> unknown17;
Value<bool> unknown18;
UniqueID32 cmdlPhazonVeins;
UniqueID32 cskrPhazonVeins;
UniqueID32 cinfPhazonVeins;
namespace DataSpec::DNAMP1 {
struct OmegaPirate : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters1;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
UniqueID32 particle1;
Value<atUint32> soundID1;
ActorParameters actorParameters2;
AnimationParameters animationParameters;
UniqueID32 particle2;
Value<atUint32> soundID2;
UniqueID32 model1;
DamageInfo damageInfo1;
Value<float> unknown9;
UniqueID32 particle3;
UniqueID32 particle4;
UniqueID32 particle5;
UniqueID32 particle6;
Value<float> unknown10;
Value<float> unknown11;
Value<float> unknown12;
Value<float> unknown13;
Value<float> unknown14;
Value<float> unknown15;
Value<atUint32> unknown16;
Value<atUint32> soundID3;
Value<atUint32> soundID4;
UniqueID32 particle7;
DamageInfo damageInfo2;
UniqueID32 elsc;
Value<atUint32> soundID5;
Value<bool> unknown17;
Value<bool> unknown18;
UniqueID32 cmdlPhazonVeins;
UniqueID32 cskrPhazonVeins;
UniqueID32 cinfPhazonVeins;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters1.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
actorParameters2.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
if (cmdlPhazonVeins && cskrPhazonVeins && cinfPhazonVeins)
{
charAssoc.m_cmdlRigs[cmdlPhazonVeins] = std::make_pair(cskrPhazonVeins, cinfPhazonVeins);
charAssoc.m_cskrCinfToCharacter[cskrPhazonVeins] = std::make_pair(
patternedInfo.animationParameters.animationCharacterSet, "ATTACH.VEINS.CSKR");
charAssoc.m_cskrCinfToCharacter[cinfPhazonVeins] = std::make_pair(
patternedInfo.animationParameters.animationCharacterSet,
hecl::Format("CINF_%08X.CINF", cinfPhazonVeins.toUint32()));
charAssoc.addAttachmentRig(patternedInfo.animationParameters.animationCharacterSet,
cinfPhazonVeins, cmdlPhazonVeins, "VEINS");
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters1.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
actorParameters2.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
if (cmdlPhazonVeins && cskrPhazonVeins && cinfPhazonVeins) {
charAssoc.m_cmdlRigs[cmdlPhazonVeins] = std::make_pair(cskrPhazonVeins, cinfPhazonVeins);
charAssoc.m_cskrCinfToCharacter[cskrPhazonVeins] =
std::make_pair(patternedInfo.animationParameters.animationCharacterSet, "ATTACH.VEINS.CSKR");
charAssoc.m_cskrCinfToCharacter[cinfPhazonVeins] =
std::make_pair(patternedInfo.animationParameters.animationCharacterSet,
hecl::Format("CINF_%08X.CINF", cinfPhazonVeins.toUint32()));
charAssoc.addAttachmentRig(patternedInfo.animationParameters.animationCharacterSet, cinfPhazonVeins,
cmdlPhazonVeins, "VEINS");
}
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (particle6)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
if (model1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model1);
ent->name = name + "_model1";
}
if (cmdlPhazonVeins)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cmdlPhazonVeins);
ent->name = name + "_model2";
}
if (cskrPhazonVeins)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cskrPhazonVeins);
ent->name = name + "_skin";
}
if (cinfPhazonVeins)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cinfPhazonVeins);
ent->name = name + "_rig";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters1.nameIDs(pakRouter, name + "_actp1");
actorParameters2.nameIDs(pakRouter, name + "_actp2");
animationParameters.nameANCS(pakRouter, name + "_animp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (particle3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle3);
ent->name = name + "_part3";
}
if (particle4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle4);
ent->name = name + "_part4";
}
if (particle5) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle5);
ent->name = name + "_part5";
}
if (particle6) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle6);
ent->name = name + "_part6";
}
if (particle7) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle7);
ent->name = name + "_part7";
}
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
if (model1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model1);
ent->name = name + "_model1";
}
if (cmdlPhazonVeins) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cmdlPhazonVeins);
ent->name = name + "_model2";
}
if (cskrPhazonVeins) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cskrPhazonVeins);
ent->name = name + "_skin";
}
if (cinfPhazonVeins) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cinfPhazonVeins);
ent->name = name + "_rig";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters1.nameIDs(pakRouter, name + "_actp1");
actorParameters2.nameIDs(pakRouter, name + "_actp2");
animationParameters.nameANCS(pakRouter, name + "_animp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
g_curSpec->flattenDependencies(model1, pathsOut);
g_curSpec->flattenDependencies(cmdlPhazonVeins, pathsOut);
g_curSpec->flattenDependencies(cskrPhazonVeins, pathsOut);
g_curSpec->flattenDependencies(cinfPhazonVeins, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(particle3, pathsOut);
g_curSpec->flattenDependencies(particle4, pathsOut);
g_curSpec->flattenDependencies(particle5, pathsOut);
g_curSpec->flattenDependencies(particle6, pathsOut);
g_curSpec->flattenDependencies(particle7, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
g_curSpec->flattenDependencies(model1, pathsOut);
g_curSpec->flattenDependencies(cmdlPhazonVeins, pathsOut);
g_curSpec->flattenDependencies(cskrPhazonVeins, pathsOut);
g_curSpec->flattenDependencies(cinfPhazonVeins, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters1.depIDs(pathsOut, lazyOut);
actorParameters2.depIDs(pathsOut, lazyOut);
animationParameters.depANCS(pathsOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters1.scanIDs(scansOut);
actorParameters2.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const {
actorParameters1.scanIDs(scansOut);
actorParameters2.scanIDs(scansOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -1,21 +1,19 @@
#include "Parameters.hpp"
#include "../ANCS.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
UniqueID32 AnimationParameters::getCINF(PAKRouter<PAKBridge>& pakRouter) const
{
if (!animationCharacterSet)
return UniqueID32();
const nod::Node* node;
const PAK::Entry* ancsEnt = pakRouter.lookupEntry(animationCharacterSet, &node);
ANCS ancs;
{
PAKEntryReadStream rs = ancsEnt->beginReadStream(*node);
ancs.read(rs);
}
return ancs.characterSet.characters.at(character).cinf;
UniqueID32 AnimationParameters::getCINF(PAKRouter<PAKBridge>& pakRouter) const {
if (!animationCharacterSet)
return UniqueID32();
const nod::Node* node;
const PAK::Entry* ancsEnt = pakRouter.lookupEntry(animationCharacterSet, &node);
ANCS ancs;
{
PAKEntryReadStream rs = ancsEnt->beginReadStream(*node);
ancs.read(rs);
}
return ancs.characterSet.characters.at(character).cinf;
}
}
} // namespace DataSpec::DNAMP1

View File

@@ -5,530 +5,467 @@
#include "../SAVW.hpp"
#include "specter/genie.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
enum class EPickupType : atUint32
{
PowerBeam = 0,
IceBeam = 1,
WaveBeam = 2,
PlasmaBeam = 3,
Missile = 4,
ScanVisor = 5,
MorphBallBomb = 6,
PowerBomb = 7,
Flamethrower = 8,
ThermalVisor = 9,
ChargeBeam = 10,
SuperMissile = 11,
GrappleBeam = 12,
XRayVisor = 13,
IceSpreader = 14,
SpaceJump = 15,
MorphBall = 16,
CombatVisor = 17,
BoostBall = 18,
SpiderBall = 19,
PowerSuit = 20,
GravitySuit = 21,
VariaSuit = 22,
PhazonSuit = 23,
EnergyTank = 24,
UnknownItem1 = 25,
HealthRefill = 26,
UnknownItem2 = 27,
WaveBuster = 28,
Truth = 29,
Strength = 30,
Elder = 31,
Wild = 32,
LifeGiver = 33,
Warrior = 34,
Chozo = 35,
Nature = 36,
Sun = 37,
World = 38,
Spirit = 39,
Newborn = 40
enum class EPickupType : atUint32 {
PowerBeam = 0,
IceBeam = 1,
WaveBeam = 2,
PlasmaBeam = 3,
Missile = 4,
ScanVisor = 5,
MorphBallBomb = 6,
PowerBomb = 7,
Flamethrower = 8,
ThermalVisor = 9,
ChargeBeam = 10,
SuperMissile = 11,
GrappleBeam = 12,
XRayVisor = 13,
IceSpreader = 14,
SpaceJump = 15,
MorphBall = 16,
CombatVisor = 17,
BoostBall = 18,
SpiderBall = 19,
PowerSuit = 20,
GravitySuit = 21,
VariaSuit = 22,
PhazonSuit = 23,
EnergyTank = 24,
UnknownItem1 = 25,
HealthRefill = 26,
UnknownItem2 = 27,
WaveBuster = 28,
Truth = 29,
Strength = 30,
Elder = 31,
Wild = 32,
LifeGiver = 33,
Warrior = 34,
Chozo = 35,
Nature = 36,
Sun = 37,
World = 38,
Spirit = 39,
Newborn = 40
} SPECTER_ENUM("Pickup Type", "", EPickupType);
enum class ESpecialFunctionType : atUint32
{
What,
PlayerFollowLocator,
SpinnerController,
ObjectFollowLocator,
Function4,
InventoryActivator,
MapStation,
SaveStation,
IntroBossRingController,
ViewFrustumTest,
ShotSpinnerController,
EscapeSequence,
BossEnergyBar,
EndGame,
HUDFadeIn,
CinematicSkip,
ScriptLayerController,
RainSimulator,
AreaDamage,
ObjectFollowObject,
HintSystem,
DropBomb,
Function22,
MissileStation,
Billboard,
PlayerInAreaRelay,
HUDTarget,
FogFader,
EnterLogbook,
PowerBombStation,
Ending,
FusionRelay,
WeaponSwitch // PAL Only
enum class ESpecialFunctionType : atUint32 {
What,
PlayerFollowLocator,
SpinnerController,
ObjectFollowLocator,
Function4,
InventoryActivator,
MapStation,
SaveStation,
IntroBossRingController,
ViewFrustumTest,
ShotSpinnerController,
EscapeSequence,
BossEnergyBar,
EndGame,
HUDFadeIn,
CinematicSkip,
ScriptLayerController,
RainSimulator,
AreaDamage,
ObjectFollowObject,
HintSystem,
DropBomb,
Function22,
MissileStation,
Billboard,
PlayerInAreaRelay,
HUDTarget,
FogFader,
EnterLogbook,
PowerBombStation,
Ending,
FusionRelay,
WeaponSwitch // PAL Only
} SPECTER_ENUM("Special Function", "", EPickupType);
struct AnimationParameters : BigDNA
{
AT_DECL_DNA_YAML
UniqueID32 animationCharacterSet;
Value<atUint32> character;
Value<atUint32> defaultAnimation;
struct AnimationParameters : BigDNA {
AT_DECL_DNA_YAML
UniqueID32 animationCharacterSet;
Value<atUint32> character;
Value<atUint32> defaultAnimation;
UniqueID32 getCINF(PAKRouter<PAKBridge>& pakRouter) const;
UniqueID32 getCINF(PAKRouter<PAKBridge>& pakRouter) const;
void nameANCS(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (!animationCharacterSet)
return;
PAK::Entry* ancsEnt = (PAK::Entry*)pakRouter.lookupEntry(animationCharacterSet);
if (ancsEnt->name.empty())
ancsEnt->name = name;
}
void nameANCS(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (!animationCharacterSet)
return;
PAK::Entry* ancsEnt = (PAK::Entry*)pakRouter.lookupEntry(animationCharacterSet);
if (ancsEnt->name.empty())
ancsEnt->name = name;
}
void depANCS(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(animationCharacterSet, pathsOut, character);
}
void depANCS(std::vector<hecl::ProjectPath>& pathsOut) const {
g_curSpec->flattenDependencies(animationCharacterSet, pathsOut, character);
}
void depANCSAll(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(animationCharacterSet, pathsOut);
}
void depANCSAll(std::vector<hecl::ProjectPath>& pathsOut) const {
g_curSpec->flattenDependencies(animationCharacterSet, pathsOut);
}
};
struct BehaveChance : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
struct BehaveChance : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
};
struct DamageInfo : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> weaponType;
Value<float> damage;
Value<float> radius;
Value<float> knockbackPower;
struct DamageInfo : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> weaponType;
Value<float> damage;
Value<float> radius;
Value<float> knockbackPower;
};
struct DamageVulnerability : BigDNA
{
struct DamageVulnerability : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> power;
Value<atUint32> ice;
Value<atUint32> wave;
Value<atUint32> plasma;
Value<atUint32> bomb;
Value<atUint32> powerBomb;
Value<atUint32> missile;
Value<atUint32> boostBall;
Value<atUint32> phazon;
Value<atUint32> enemyWeapon1;
Value<atUint32> enemyWeapon2Poison;
Value<atUint32> enemyWeapon3Lava;
Value<atUint32> enemyWeapon4;
Value<atUint32> unkownWeapon1;
Value<atUint32> unkownWeapon2;
Value<atUint32> deflected;
struct ChargedBeams : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> power;
Value<atUint32> ice;
Value<atUint32> wave;
Value<atUint32> plasma;
Value<atUint32> bomb;
Value<atUint32> powerBomb;
Value<atUint32> missile;
Value<atUint32> boostBall;
Value<atUint32> phazon;
Value<atUint32> enemyWeapon1;
Value<atUint32> enemyWeapon2Poison;
Value<atUint32> enemyWeapon3Lava;
Value<atUint32> enemyWeapon4;
Value<atUint32> unkownWeapon1;
Value<atUint32> unkownWeapon2;
Value<atUint32> deflected;
struct ChargedBeams : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> power;
Value<atUint32> ice;
Value<atUint32> wave;
Value<atUint32> plasma;
Value<atUint32> deflected;
} chargedBeams;
} chargedBeams;
struct BeamCombos : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> superMissiles;
Value<atUint32> iceSpreader;
Value<atUint32> wavebuster;
Value<atUint32> flameThrower;
Value<atUint32> deflected;
} beamCombos;
};
struct FlareDefinition : BigDNA
{
struct BeamCombos : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
UniqueID32 texture;
Value<float> unknown1;
Value<float> unknown2;
Value<atVec4f> unknown4; // CColor
Value<atUint32> superMissiles;
Value<atUint32> iceSpreader;
Value<atUint32> wavebuster;
Value<atUint32> flameThrower;
Value<atUint32> deflected;
} beamCombos;
};
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (texture)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
struct FlareDefinition : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
UniqueID32 texture;
Value<float> unknown1;
Value<float> unknown2;
Value<atVec4f> unknown4; // CColor
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (texture) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(texture, pathsOut);
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const { g_curSpec->flattenDependencies(texture, pathsOut); }
};
struct GrappleParameters : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<bool> disableTurning;
struct GrappleParameters : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<bool> disableTurning;
};
struct HealthInfo : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> health SPECTER_PROPERTY("Health", "Base health for object");
Value<float> knockbackResistence SPECTER_PROPERTY("Knockback Resistence", "");
struct HealthInfo : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> health SPECTER_PROPERTY("Health", "Base health for object");
Value<float> knockbackResistence SPECTER_PROPERTY("Knockback Resistence", "");
} SPECTER_PROPERTY("Health Info", "");
struct LightParameters : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<bool> unknown1;
Value<float> unknown2;
Value<atUint32> shadowTesselation;
Value<float> unknown3;
Value<float> unknown4;
Value<atVec4f> noLightsAmbient; // CColor
Value<bool> makeLights;
Value<atUint32> worldLightingOptions;
Value<atUint32> lightRecalculationOptions;
Value<atVec3f> actorPosBias;
Value<atUint32> maxDynamicLights;
Value<atUint32> maxAreaLights;
Value<bool> ambientChannelOverflow;
Value<atUint32> layerIndex;
struct LightParameters : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<bool> unknown1;
Value<float> unknown2;
Value<atUint32> shadowTesselation;
Value<float> unknown3;
Value<float> unknown4;
Value<atVec4f> noLightsAmbient; // CColor
Value<bool> makeLights;
Value<atUint32> worldLightingOptions;
Value<atUint32> lightRecalculationOptions;
Value<atVec3f> actorPosBias;
Value<atUint32> maxDynamicLights;
Value<atUint32> maxAreaLights;
Value<bool> ambientChannelOverflow;
Value<atUint32> layerIndex;
};
struct PatternedInfo : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> mass;
Value<float> speed;
Value<float> turnSpeed;
Value<float> detectionRange;
Value<float> detectionHeightRange;
Value<float> dectectionAngle;
Value<float> minAttackRange;
Value<float> maxAttackRange;
Value<float> averageAttackTime;
Value<float> attackTimeVariation;
Value<float> leashRadius;
Value<float> playerLeashRadius;
Value<float> playerLeashTime;
DamageInfo contactDamage;
Value<float> damageWaitTime;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
Value<float> halfExtent;
Value<float> height;
Value<atVec3f> bodyOrigin;
Value<float> stepUpHeight;
Value<float> xDamage;
Value<float> frozenXDamage;
Value<float> xDamageDelay;
Value<atUint32> deathSfx;
AnimationParameters animationParameters;
Value<bool> active;
UniqueID32 stateMachine;
Value<float> intoFreezeDur;
Value<float> outOfFreezeDur;
Value<float> unknown10;
Value<atUint32> particle1Frames;
Value<atVec3f> particle1Scale;
UniqueID32 particle1;
UniqueID32 electric;
Value<atVec3f> particle2Scale;
UniqueID32 particle2;
Value<atUint32> iceShatterSfx;
struct PatternedInfo : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<float> mass;
Value<float> speed;
Value<float> turnSpeed;
Value<float> detectionRange;
Value<float> detectionHeightRange;
Value<float> dectectionAngle;
Value<float> minAttackRange;
Value<float> maxAttackRange;
Value<float> averageAttackTime;
Value<float> attackTimeVariation;
Value<float> leashRadius;
Value<float> playerLeashRadius;
Value<float> playerLeashTime;
DamageInfo contactDamage;
Value<float> damageWaitTime;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
Value<float> halfExtent;
Value<float> height;
Value<atVec3f> bodyOrigin;
Value<float> stepUpHeight;
Value<float> xDamage;
Value<float> frozenXDamage;
Value<float> xDamageDelay;
Value<atUint32> deathSfx;
AnimationParameters animationParameters;
Value<bool> active;
UniqueID32 stateMachine;
Value<float> intoFreezeDur;
Value<float> outOfFreezeDur;
Value<float> unknown10;
Value<atUint32> particle1Frames;
Value<atVec3f> particle1Scale;
UniqueID32 particle1;
UniqueID32 electric;
Value<atVec3f> particle2Scale;
UniqueID32 particle2;
Value<atUint32> iceShatterSfx;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
animationParameters.nameANCS(pakRouter, name + "_animp");
if (stateMachine)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(stateMachine);
ent->name = name + "_fsm";
}
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (electric)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(electric);
ent->name = name + "_elsc";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
animationParameters.nameANCS(pakRouter, name + "_animp");
if (stateMachine) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(stateMachine);
ent->name = name + "_fsm";
}
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (electric) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(electric);
ent->name = name + "_elsc";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
animationParameters.depANCS(pathsOut);
g_curSpec->flattenDependencies(stateMachine, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(electric, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const {
animationParameters.depANCS(pathsOut);
g_curSpec->flattenDependencies(stateMachine, pathsOut);
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(electric, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
}
};
struct PlayerHintParameters : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> extendTargetDistance;
Value<bool> unknown4;
Value<bool> unknown5;
Value<bool> unknown6;
Value<bool> unknown7;
Value<bool> unknown8;
Value<bool> unknown9;
Value<bool> unknown10;
Value<bool> unknown11;
Value<bool> unknown12;
Value<bool> unknown13;
Value<bool> unknown14;
Value<bool> unknown15;
struct PlayerHintParameters : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<bool> unknown1;
Value<bool> unknown2;
Value<bool> extendTargetDistance;
Value<bool> unknown4;
Value<bool> unknown5;
Value<bool> unknown6;
Value<bool> unknown7;
Value<bool> unknown8;
Value<bool> unknown9;
Value<bool> unknown10;
Value<bool> unknown11;
Value<bool> unknown12;
Value<bool> unknown13;
Value<bool> unknown14;
Value<bool> unknown15;
};
struct ScannableParameters : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
UniqueID32 scanId;
struct ScannableParameters : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
UniqueID32 scanId;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (scanId)
{
PAK::Entry* scanEnt = (PAK::Entry*)pakRouter.lookupEntry(scanId);
scanEnt->name = name + "_scan";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (scanId) {
PAK::Entry* scanEnt = (PAK::Entry*)pakRouter.lookupEntry(scanId);
scanEnt->name = name + "_scan";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(scanId, pathsOut);
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const { g_curSpec->flattenDependencies(scanId, pathsOut); }
void scanIDs(std::vector<Scan>& scansOut) const
{
scansOut.emplace_back(scanId);
}
void scanIDs(std::vector<Scan>& scansOut) const { scansOut.emplace_back(scanId); }
};
struct VisorParameters : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<bool> unknown1;
Value<bool> scanPassthrough;
Value<atUint32> visorMask;
struct VisorParameters : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<bool> unknown1;
Value<bool> scanPassthrough;
Value<atUint32> visorMask;
};
struct PlayerParameters : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Vector<bool, AT_DNA_COUNT(propertyCount)> bools;
struct PlayerParameters : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Vector<bool, AT_DNA_COUNT(propertyCount)> bools;
};
struct ActorParameters : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
LightParameters lightParameters;
ScannableParameters scannableParameters;
UniqueID32 cmdlXray;
UniqueID32 cskrXray;
UniqueID32 cmdlThermal;
UniqueID32 cskrThermal;
Value<bool> globalTimeProvider;
Value<float> fadeInTime;
Value<float> fadeOutTime;
VisorParameters visorParameters;
Value<bool> thermalHeat;
Value<bool> renderUnsorted;
Value<bool> noSortThermal;
Value<float> thermalMag;
struct ActorParameters : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
LightParameters lightParameters;
ScannableParameters scannableParameters;
UniqueID32 cmdlXray;
UniqueID32 cskrXray;
UniqueID32 cmdlThermal;
UniqueID32 cskrThermal;
Value<bool> globalTimeProvider;
Value<float> fadeInTime;
Value<float> fadeOutTime;
VisorParameters visorParameters;
Value<bool> thermalHeat;
Value<bool> renderUnsorted;
Value<bool> noSortThermal;
Value<float> thermalMag;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc,
const AnimationParameters& animParms) const
{
auto cinf = animParms.getCINF(pakRouter);
if (cmdlXray && cskrXray)
{
charAssoc.m_cmdlRigs[cmdlXray] = std::make_pair(cskrXray, cinf);
charAssoc.m_cskrCinfToCharacter[cskrXray] = std::make_pair(
animParms.animationCharacterSet, "ATTACH.XRAY.CSKR");
charAssoc.addAttachmentRig(animParms.animationCharacterSet, {}, cmdlXray, "XRAY");
}
if (cmdlThermal && cskrThermal)
{
charAssoc.m_cmdlRigs[cmdlThermal] = std::make_pair(cskrThermal, cinf);
charAssoc.m_cskrCinfToCharacter[cskrThermal] = std::make_pair(
animParms.animationCharacterSet, "ATTACH.THERMAL.CSKR");
charAssoc.addAttachmentRig(animParms.animationCharacterSet, {}, cmdlThermal, "THERMAL");
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc,
const AnimationParameters& animParms) const {
auto cinf = animParms.getCINF(pakRouter);
if (cmdlXray && cskrXray) {
charAssoc.m_cmdlRigs[cmdlXray] = std::make_pair(cskrXray, cinf);
charAssoc.m_cskrCinfToCharacter[cskrXray] = std::make_pair(animParms.animationCharacterSet, "ATTACH.XRAY.CSKR");
charAssoc.addAttachmentRig(animParms.animationCharacterSet, {}, cmdlXray, "XRAY");
}
if (cmdlThermal && cskrThermal) {
charAssoc.m_cmdlRigs[cmdlThermal] = std::make_pair(cskrThermal, cinf);
charAssoc.m_cskrCinfToCharacter[cskrThermal] =
std::make_pair(animParms.animationCharacterSet, "ATTACH.THERMAL.CSKR");
charAssoc.addAttachmentRig(animParms.animationCharacterSet, {}, cmdlThermal, "THERMAL");
}
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
scannableParameters.nameIDs(pakRouter, name);
if (cmdlXray)
{
PAK::Entry* xmEnt = (PAK::Entry*)pakRouter.lookupEntry(cmdlXray);
xmEnt->name = name + "_xraymodel";
}
if (cskrXray)
{
PAK::Entry* xsEnt = (PAK::Entry*)pakRouter.lookupEntry(cskrXray);
xsEnt->name = name + "_xrayskin";
}
if (cmdlThermal)
{
PAK::Entry* xmEnt = (PAK::Entry*)pakRouter.lookupEntry(cmdlThermal);
xmEnt->name = name + "_thermalmodel";
}
if (cskrThermal)
{
PAK::Entry* xsEnt = (PAK::Entry*)pakRouter.lookupEntry(cskrThermal);
xsEnt->name = name + "_thermalskin";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
scannableParameters.nameIDs(pakRouter, name);
if (cmdlXray) {
PAK::Entry* xmEnt = (PAK::Entry*)pakRouter.lookupEntry(cmdlXray);
xmEnt->name = name + "_xraymodel";
}
if (cskrXray) {
PAK::Entry* xsEnt = (PAK::Entry*)pakRouter.lookupEntry(cskrXray);
xsEnt->name = name + "_xrayskin";
}
if (cmdlThermal) {
PAK::Entry* xmEnt = (PAK::Entry*)pakRouter.lookupEntry(cmdlThermal);
xmEnt->name = name + "_thermalmodel";
}
if (cskrThermal) {
PAK::Entry* xsEnt = (PAK::Entry*)pakRouter.lookupEntry(cskrThermal);
xsEnt->name = name + "_thermalskin";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
scannableParameters.depIDs(lazyOut);
g_curSpec->flattenDependencies(cmdlXray, pathsOut);
g_curSpec->flattenDependencies(cskrXray, pathsOut);
g_curSpec->flattenDependencies(cmdlThermal, pathsOut);
g_curSpec->flattenDependencies(cskrThermal, pathsOut);
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
scannableParameters.depIDs(lazyOut);
g_curSpec->flattenDependencies(cmdlXray, pathsOut);
g_curSpec->flattenDependencies(cskrXray, pathsOut);
g_curSpec->flattenDependencies(cmdlThermal, pathsOut);
g_curSpec->flattenDependencies(cskrThermal, pathsOut);
}
void scanIDs(std::vector<Scan>& scansOut) const
{
scannableParameters.scanIDs(scansOut);
}
void scanIDs(std::vector<Scan>& scansOut) const { scannableParameters.scanIDs(scansOut); }
};
struct BeamInfo : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> unknown1;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
DNAColor unknown11;
DNAColor unknown12;
struct BeamInfo : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> propertyCount;
Value<atUint32> unknown1;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
DNAColor unknown11;
DNAColor unknown12;
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,60 +4,50 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Parasite : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> flavor;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> maxTelegraphReactDist;
Value<float> advanceWpRadius;
Value<float> unknown4;
Value<float> alignAngVel;
Value<float> unknown6;
Value<float> stuckTimeThreshold;
Value<float> collisionCloseMargin;
Value<float> parasiteSearchRadius;
Value<float> parasiteSeparationDist;
Value<float> parasiteSeparationWeight;
Value<float> parasiteAlignmentWeight;
Value<float> parasiteCohesionWeight;
Value<float> destinationSeekWeight;
Value<float> forwardMoveWeight;
Value<float> playerSeparationDist;
Value<float> playerSeparationWeight;
Value<float> playerObstructionMinDist;
Value<bool> disableMove;
namespace DataSpec::DNAMP1 {
struct Parasite : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> flavor;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> maxTelegraphReactDist;
Value<float> advanceWpRadius;
Value<float> unknown4;
Value<float> alignAngVel;
Value<float> unknown6;
Value<float> stuckTimeThreshold;
Value<float> collisionCloseMargin;
Value<float> parasiteSearchRadius;
Value<float> parasiteSeparationDist;
Value<float> parasiteSeparationWeight;
Value<float> parasiteAlignmentWeight;
Value<float> parasiteCohesionWeight;
Value<float> destinationSeekWeight;
Value<float> forwardMoveWeight;
Value<float> playerSeparationDist;
Value<float> playerSeparationWeight;
Value<float> playerObstructionMinDist;
Value<bool> disableMove;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,34 +4,30 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PathCamera : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
struct CameraParameters : BigDNA
{
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<bool> closedLoop;
Value<bool> noFilter;
Value<bool> tangentOrientation;
Value<bool> easeDist;
Value<bool> useHintLookZ;
Value<bool> clampToClosedDoor;
} cameraParameters;
namespace DataSpec::DNAMP1 {
struct PathCamera : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> active;
struct CameraParameters : BigDNA {
AT_DECL_DNA
Value<atUint32> propertyCount;
Value<bool> closedLoop;
Value<bool> noFilter;
Value<bool> tangentOrientation;
Value<bool> easeDist;
Value<bool> useHintLookZ;
Value<bool> clampToClosedDoor;
} cameraParameters;
Value<float> lengthExtent;
Value<float> filterMag;
Value<float> filterProportion;
Value<atUint32> initPos;
Value<float> minEaseDist;
Value<float> maxEaseDist;
Value<float> lengthExtent;
Value<float> filterMag;
Value<float> filterProportion;
Value<atUint32> initPos;
Value<float> minEaseDist;
Value<float> maxEaseDist;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,50 +4,39 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PhazonHealingNodule : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown1;
UniqueID32 elsc;
String<-1> unknown2;
namespace DataSpec::DNAMP1 {
struct PhazonHealingNodule : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown1;
UniqueID32 elsc;
String<-1> unknown2;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,63 +4,53 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PhazonPool : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<bool> unknown1;
UniqueID32 model1;
UniqueID32 model2;
UniqueID32 particle1;
UniqueID32 particle2;
Value<atUint32> unknown2;
DamageInfo damageInfo;
Value<atVec3f> unknown3;
Value<atUint32> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<bool> unknown8;
Value<float> unknown9;
namespace DataSpec::DNAMP1 {
struct PhazonPool : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<bool> unknown1;
UniqueID32 model1;
UniqueID32 model2;
UniqueID32 particle1;
UniqueID32 particle2;
Value<atUint32> unknown2;
DamageInfo damageInfo;
Value<atVec3f> unknown3;
Value<atUint32> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<bool> unknown8;
Value<float> unknown9;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
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";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
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";
}
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(model1, pathsOut);
g_curSpec->flattenDependencies(model2, pathsOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(model1, pathsOut);
g_curSpec->flattenDependencies(model2, pathsOut);
}
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,65 +4,53 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Pickup : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> hitboxVolume;
Value<atVec3f> scanPosition;
Value<atUint32> pickupType;
Value<atUint32> capacity;
Value<atUint32> amount;
Value<float> dropRate;
Value<float> lifetime;
Value<float> spawnDelay;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<bool> active;
Value<float> unknown1;
UniqueID32 particle;
namespace DataSpec::DNAMP1 {
struct Pickup : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> hitboxVolume;
Value<atVec3f> scanPosition;
Value<atUint32> pickupType;
Value<atUint32> capacity;
Value<atUint32> amount;
Value<float> dropRate;
Value<float> lifetime;
Value<float> spawnDelay;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<bool> active;
Value<float> unknown1;
UniqueID32 particle;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,16 +4,13 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PickupGenerator : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> offset;
Value<bool> active;
Value<float> frequency;
namespace DataSpec::DNAMP1 {
struct PickupGenerator : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> offset;
Value<bool> active;
Value<float> frequency;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -1,37 +1,31 @@
#include "Platform.hpp"
#include "hecl/Blender/Connection.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
zeus::CAABox Platform::getVISIAABB(hecl::blender::Token& btok) const
{
hecl::blender::Connection& conn = btok.getBlenderConnection();
zeus::CAABox aabbOut;
zeus::CAABox Platform::getVISIAABB(hecl::blender::Token& btok) const {
hecl::blender::Connection& conn = btok.getBlenderConnection();
zeus::CAABox aabbOut;
if (model)
{
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(model);
conn.openBlend(path);
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
else if (animationParameters.animationCharacterSet)
{
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(
animationParameters.animationCharacterSet);
conn.openBlend(path.getWithExtension(_SYS_STR(".blend"), true));
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
if (model) {
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(model);
conn.openBlend(path);
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
} else if (animationParameters.animationCharacterSet) {
hecl::ProjectPath path = UniqueIDBridge::TranslatePakIdToPath(animationParameters.animationCharacterSet);
conn.openBlend(path.getWithExtension(_SYS_STR(".blend"), true));
hecl::blender::DataStream ds = conn.beginData();
auto aabb = ds.getMeshAABB();
aabbOut = zeus::CAABox(aabb.first, aabb.second);
}
if (aabbOut.min.x() > aabbOut.max.x())
return {};
if (aabbOut.min.x() > aabbOut.max.x())
return {};
zeus::CTransform xf = ConvertEditorEulerToTransform4f(scale, orientation, location);
return aabbOut.getTransformedAABox(xf);
zeus::CTransform xf = ConvertEditorEulerToTransform4f(scale, orientation, location);
return aabbOut.getTransformedAABox(xf);
}
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,68 +4,56 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Platform : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> extent;
Value<atVec3f> collisionCenter;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<float> speed;
Value<bool> active;
UniqueID32 dcln;
HealthInfo healthInfo;
DamageVulnerability damageVulnerabilty;
Value<bool> detectCollision;
Value<float> xrayAlpha;
Value<bool> rainSplashes;
Value<atUint32> maxRainSplashes;
Value<atUint32> rainGenRate;
namespace DataSpec::DNAMP1 {
struct Platform : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> extent;
Value<atVec3f> collisionCenter;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<float> speed;
Value<bool> active;
UniqueID32 dcln;
HealthInfo healthInfo;
DamageVulnerability damageVulnerabilty;
Value<bool> detectCollision;
Value<float> xrayAlpha;
Value<bool> rainSplashes;
Value<atUint32> maxRainSplashes;
Value<atUint32> rainGenRate;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (dcln) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(dcln);
ent->name = name + "_dcln";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (dcln)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(dcln);
ent->name = name + "_dcln";
}
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(dcln, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(dcln, pathsOut);
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const;
zeus::CAABox getVISIAABB(hecl::blender::Token& btok) const;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,61 +4,50 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PlayerActor : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> boxExtents;
Value<atVec3f> boxOffset;
Value<float> mass;
Value<float> zMomentum;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<bool> loop;
Value<bool> snow;
Value<bool> solid;
Value<bool> active;
PlayerParameters playerParameters;
Value<atUint32> beamId;
namespace DataSpec::DNAMP1 {
struct PlayerActor : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> boxExtents;
Value<atVec3f> boxOffset;
Value<float> mass;
Value<float> zMomentum;
HealthInfo healthInfo;
DamageVulnerability damageVulnerability;
UniqueID32 model;
AnimationParameters animationParameters;
ActorParameters actorParameters;
Value<bool> loop;
Value<bool> snow;
Value<bool> solid;
Value<bool> active;
PlayerParameters playerParameters;
Value<atUint32> beamId;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (model)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (model) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
ent->name = name + "_model";
}
animationParameters.nameANCS(pakRouter, name + "_animp");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
animationParameters.depANCSAll(lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(model, pathsOut);
animationParameters.depANCS(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
animationParameters.depANCSAll(lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,18 +4,15 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PlayerHint : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
PlayerHintParameters playerHintParameters;
Value<atUint32> unknown2;
namespace DataSpec::DNAMP1 {
struct PlayerHint : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
PlayerHintParameters playerHintParameters;
Value<atUint32> unknown2;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,19 +4,16 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PlayerStateChange : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> unknown;
Value<atUint32> item;
Value<atUint32> unknown2;
Value<atUint32> unknown3;
Value<atUint32> unknown4;
Value<atUint32> unknown5;
namespace DataSpec::DNAMP1 {
struct PlayerStateChange : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> unknown;
Value<atUint32> item;
Value<atUint32> unknown2;
Value<atUint32> unknown3;
Value<atUint32> unknown4;
Value<atUint32> unknown5;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,34 +4,23 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PointOfInterest : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
ScannableParameters scannableParameters;
Value<float> unknown2;
namespace DataSpec::DNAMP1 {
struct PointOfInterest : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<bool> unknown1;
ScannableParameters scannableParameters;
Value<float> unknown2;
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
scannableParameters.nameIDs(pakRouter, name + "_scanp");
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const { scannableParameters.nameIDs(pakRouter, name + "_scanp"); }
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
scannableParameters.depIDs(lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
scannableParameters.depIDs(lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
scannableParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { scannableParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,63 +4,51 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PuddleSpore : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown2;
UniqueID32 particle;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
UniqueID32 wpsc;
DamageInfo damageInfo;
namespace DataSpec::DNAMP1 {
struct PuddleSpore : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<bool> unknown2;
UniqueID32 particle;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
UniqueID32 wpsc;
DamageInfo damageInfo;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (wpsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (wpsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc);
ent->name = name + "_wpsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(wpsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,58 +4,47 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct PuddleToadGamma : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<atVec3f> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
UniqueID32 dcln;
namespace DataSpec::DNAMP1 {
struct PuddleToadGamma : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<atVec3f> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
DamageInfo damageInfo1;
DamageInfo damageInfo2;
UniqueID32 dcln;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (dcln)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(dcln);
ent->name = name + "_dcln";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (dcln) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(dcln);
ent->name = name + "_dcln";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(dcln, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(dcln, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,63 +4,51 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Puffer : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
UniqueID32 particle;
DamageInfo damageInfo1;
UniqueID32 texture;
Value<float> unknown2;
Value<bool> unknown3;
Value<bool> unknown4;
Value<bool> unknown5;
DamageInfo damageInfo2;
Value<atUint32> unknown6;
namespace DataSpec::DNAMP1 {
struct Puffer : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
Value<float> unknown1;
UniqueID32 particle;
DamageInfo damageInfo1;
UniqueID32 texture;
Value<float> unknown2;
Value<bool> unknown3;
Value<bool> unknown4;
Value<bool> unknown5;
DamageInfo damageInfo2;
Value<atUint32> unknown6;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (texture)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
if (texture) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture);
ent->name = name + "_texture";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(texture, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,17 +4,14 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct RadialDamage : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<bool> active;
DamageInfo damageInfo;
Value<float> radius;
namespace DataSpec::DNAMP1 {
struct RadialDamage : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<bool> active;
DamageInfo damageInfo;
Value<float> radius;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,17 +4,14 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct RandomRelay : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atUint32> unknown2;
Value<bool> unknown3;
Value<bool> unknown4;
namespace DataSpec::DNAMP1 {
struct RandomRelay : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atUint32> unknown1;
Value<atUint32> unknown2;
Value<bool> unknown3;
Value<bool> unknown4;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,14 +4,11 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Relay : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
namespace DataSpec::DNAMP1 {
struct Relay : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<bool> active;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,16 +4,13 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Repulsor : IScriptObject
{
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<bool> active;
Value<float> unknown;
namespace DataSpec::DNAMP1 {
struct Repulsor : IScriptObject {
AT_DECL_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<bool> active;
Value<float> unknown;
};
}
} // namespace DataSpec::DNAMP1

View File

@@ -1,74 +1,68 @@
#include "Ridley.hpp"
namespace DataSpec::DNAMP1
{
namespace DataSpec::DNAMP1 {
template <class Op>
void Ridley::Enumerate(typename Op::StreamT& s)
{
IScriptObject::Enumerate<Op>(s);
Do<Op>({"name"}, name, s);
Do<Op>({"location"}, location, s);
Do<Op>({"orientation"}, orientation, s);
Do<Op>({"scale"}, scale, s);
Do<Op>({"patternedInfo"}, patternedInfo, s);
Do<Op>({"actorParameters"}, actorParameters, s);
Do<Op>({"model1"}, model1, s);
Do<Op>({"model2"}, model2, s);
if (propertyCount == 48)
{
Do<Op>({"model3"}, model3, s);
Do<Op>({"model4"}, model4, s);
Do<Op>({"model5"}, model5, s);
Do<Op>({"model6"}, model6, s);
Do<Op>({"model7"}, model7, s);
Do<Op>({"model8"}, model8, s);
Do<Op>({"model9"}, model9, s);
Do<Op>({"model10"}, model10, s);
Do<Op>({"model11"}, model11, s);
Do<Op>({"model12"}, model12, s);
}
Do<Op>({"particle"}, particle, s);
Do<Op>({"unknown1"}, unknown1, s);
Do<Op>({"unknown2"}, unknown2, s);
Do<Op>({"unknown3"}, unknown3, s);
Do<Op>({"unknown4"}, unknown4, s);
Do<Op>({"wpsc1"}, wpsc1, s);
Do<Op>({"damageInfo1"}, damageInfo1, s);
Do<Op>({"ridleyStruct1"}, ridleyStruct1, s);
Do<Op>({"soundID1"}, soundID1, s);
Do<Op>({"wpsc2"}, wpsc2, s);
if (propertyCount == 40)
Do<Op>({"wpsc3"}, wpsc3, s);
Do<Op>({"damageInfo2"}, damageInfo2, s);
Do<Op>({"ridleyStruct2_1"}, ridleyStruct2_1, s);
Do<Op>({"wpsc4"}, wpsc4, s);
Do<Op>({"damageInfo3"}, damageInfo3, s);
Do<Op>({"ridleyStruct2_2"}, ridleyStruct2_2, s);
Do<Op>({"soundID2"}, soundID2, s);
Do<Op>({"damageInfo4"}, damageInfo4, s);
Do<Op>({"ridleyStruct2_3"}, ridleyStruct2_3, s);
Do<Op>({"unknown5"}, unknown5, s);
Do<Op>({"unknown6"}, unknown6, s);
Do<Op>({"damageInfo5"}, damageInfo5, s);
Do<Op>({"unknown7"}, unknown7, s);
Do<Op>({"damageInfo6"}, damageInfo6, s);
Do<Op>({"unknown8"}, unknown8, s);
Do<Op>({"damageInfo7"}, damageInfo7, s);
Do<Op>({"unknown9"}, unknown9, s);
Do<Op>({"elsc"}, elsc, s);
Do<Op>({"unknown10"}, unknown10, s);
Do<Op>({"soundID3"}, soundID3, s);
Do<Op>({"damageInfo8"}, damageInfo8, s);
if (propertyCount == 40)
Do<Op>({"damageInfo9"}, damageInfo9, s);
void Ridley::Enumerate(typename Op::StreamT& s) {
IScriptObject::Enumerate<Op>(s);
Do<Op>({"name"}, name, s);
Do<Op>({"location"}, location, s);
Do<Op>({"orientation"}, orientation, s);
Do<Op>({"scale"}, scale, s);
Do<Op>({"patternedInfo"}, patternedInfo, s);
Do<Op>({"actorParameters"}, actorParameters, s);
Do<Op>({"model1"}, model1, s);
Do<Op>({"model2"}, model2, s);
if (propertyCount == 48) {
Do<Op>({"model3"}, model3, s);
Do<Op>({"model4"}, model4, s);
Do<Op>({"model5"}, model5, s);
Do<Op>({"model6"}, model6, s);
Do<Op>({"model7"}, model7, s);
Do<Op>({"model8"}, model8, s);
Do<Op>({"model9"}, model9, s);
Do<Op>({"model10"}, model10, s);
Do<Op>({"model11"}, model11, s);
Do<Op>({"model12"}, model12, s);
}
Do<Op>({"particle"}, particle, s);
Do<Op>({"unknown1"}, unknown1, s);
Do<Op>({"unknown2"}, unknown2, s);
Do<Op>({"unknown3"}, unknown3, s);
Do<Op>({"unknown4"}, unknown4, s);
Do<Op>({"wpsc1"}, wpsc1, s);
Do<Op>({"damageInfo1"}, damageInfo1, s);
Do<Op>({"ridleyStruct1"}, ridleyStruct1, s);
Do<Op>({"soundID1"}, soundID1, s);
Do<Op>({"wpsc2"}, wpsc2, s);
if (propertyCount == 40)
Do<Op>({"wpsc3"}, wpsc3, s);
Do<Op>({"damageInfo2"}, damageInfo2, s);
Do<Op>({"ridleyStruct2_1"}, ridleyStruct2_1, s);
Do<Op>({"wpsc4"}, wpsc4, s);
Do<Op>({"damageInfo3"}, damageInfo3, s);
Do<Op>({"ridleyStruct2_2"}, ridleyStruct2_2, s);
Do<Op>({"soundID2"}, soundID2, s);
Do<Op>({"damageInfo4"}, damageInfo4, s);
Do<Op>({"ridleyStruct2_3"}, ridleyStruct2_3, s);
Do<Op>({"unknown5"}, unknown5, s);
Do<Op>({"unknown6"}, unknown6, s);
Do<Op>({"damageInfo5"}, damageInfo5, s);
Do<Op>({"unknown7"}, unknown7, s);
Do<Op>({"damageInfo6"}, damageInfo6, s);
Do<Op>({"unknown8"}, unknown8, s);
Do<Op>({"damageInfo7"}, damageInfo7, s);
Do<Op>({"unknown9"}, unknown9, s);
Do<Op>({"elsc"}, elsc, s);
Do<Op>({"unknown10"}, unknown10, s);
Do<Op>({"soundID3"}, soundID3, s);
Do<Op>({"damageInfo8"}, damageInfo8, s);
if (propertyCount == 40)
Do<Op>({"damageInfo9"}, damageInfo9, s);
}
const char* Ridley::DNAType()
{
return "urde::DNAMP1::Ridley";
}
const char* Ridley::DNAType() { return "urde::DNAMP1::Ridley"; }
AT_SPECIALIZE_DNA_YAML(Ridley)
}
} // namespace DataSpec::DNAMP1

View File

@@ -4,264 +4,228 @@
#include "IScriptObject.hpp"
#include "Parameters.hpp"
namespace DataSpec::DNAMP1
{
struct Ridley : IScriptObject
{
AT_DECL_EXPLICIT_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 model1;
UniqueID32 model2;
UniqueID32 model3;
UniqueID32 model4;
UniqueID32 model5;
UniqueID32 model6;
UniqueID32 model7;
UniqueID32 model8;
UniqueID32 model9;
UniqueID32 model10;
UniqueID32 model11;
UniqueID32 model12;
UniqueID32 particle;
Value<float> unknown1;
namespace DataSpec::DNAMP1 {
struct Ridley : IScriptObject {
AT_DECL_EXPLICIT_DNA_YAML
AT_DECL_DNAV
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
PatternedInfo patternedInfo;
ActorParameters actorParameters;
UniqueID32 model1;
UniqueID32 model2;
UniqueID32 model3;
UniqueID32 model4;
UniqueID32 model5;
UniqueID32 model6;
UniqueID32 model7;
UniqueID32 model8;
UniqueID32 model9;
UniqueID32 model10;
UniqueID32 model11;
UniqueID32 model12;
UniqueID32 particle;
Value<float> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
struct RidleyStruct1 : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> unknown1;
Value<atUint32> unknown2;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<atVec4f> unknown12; // CColor
Value<atVec4f> unknown13; // CColor
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const {
if (particle1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const {
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
}
} ridleyStruct1;
Value<atUint32> soundID1;
UniqueID32 wpsc2;
UniqueID32 wpsc3;
DamageInfo damageInfo2;
struct RidleyStruct2 : BigDNA {
AT_DECL_DNA_YAML
Value<atUint32> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
UniqueID32 wpsc1;
DamageInfo damageInfo1;
struct RidleyStruct1 : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> unknown1;
Value<atUint32> unknown2;
UniqueID32 particle1;
UniqueID32 particle2;
UniqueID32 texture1;
UniqueID32 texture2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<float> unknown9;
Value<float> unknown10;
Value<float> unknown11;
Value<atVec4f> unknown12; //CColor
Value<atVec4f> unknown13; //CColor
void nameIDs(PAKRouter<PAKBridge>& pakRouter, const std::string& name) const
{
if (particle1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
ent->name = name + "_part1";
}
if (particle2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle2);
ent->name = name + "_part2";
}
if (texture1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture1);
ent->name = name + "_tex1";
}
if (texture2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(texture2);
ent->name = name + "_tex2";
}
}
void depIDs(std::vector<hecl::ProjectPath>& pathsOut) const
{
g_curSpec->flattenDependencies(particle1, pathsOut);
g_curSpec->flattenDependencies(particle2, pathsOut);
g_curSpec->flattenDependencies(texture1, pathsOut);
g_curSpec->flattenDependencies(texture2, pathsOut);
}
} ridleyStruct1;
Value<atUint32> soundID1;
UniqueID32 wpsc2;
UniqueID32 wpsc3;
DamageInfo damageInfo2;
struct RidleyStruct2 : BigDNA
{
AT_DECL_DNA_YAML
Value<atUint32> unknown1;
Value<float> unknown2;
Value<float> unknown3;
Value<float> unknown4;
Value<float> unknown5;
Value<float> unknown6;
Value<float> unknown7;
Value<float> unknown8;
Value<bool> unknown9;
} ridleyStruct2_1;
UniqueID32 wpsc4;
DamageInfo damageInfo3;
RidleyStruct2 ridleyStruct2_2;
Value<atUint32> soundID2;
DamageInfo damageInfo4;
RidleyStruct2 ridleyStruct2_3;
Value<float> unknown5;
Value<float> unknown6;
DamageInfo damageInfo5;
Value<float> unknown7;
DamageInfo damageInfo6;
Value<float> unknown8;
DamageInfo damageInfo7;
Value<float> unknown9;
UniqueID32 elsc;
Value<float> unknown10;
Value<atUint32> soundID3;
DamageInfo damageInfo8;
Value<bool> unknown9;
} ridleyStruct2_1;
/* Trilogy addition */
DamageInfo damageInfo9;
UniqueID32 wpsc4;
DamageInfo damageInfo3;
RidleyStruct2 ridleyStruct2_2;
Value<atUint32> soundID2;
DamageInfo damageInfo4;
RidleyStruct2 ridleyStruct2_3;
Value<float> unknown5;
Value<float> unknown6;
DamageInfo damageInfo5;
Value<float> unknown7;
DamageInfo damageInfo6;
Value<float> unknown8;
DamageInfo damageInfo7;
Value<float> unknown9;
UniqueID32 elsc;
Value<float> unknown10;
Value<atUint32> soundID3;
DamageInfo damageInfo8;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
{
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
/* Trilogy addition */
DamageInfo damageInfo9;
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const {
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const {
if (particle) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
{
if (particle)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle);
ent->name = name + "_part";
}
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 (model3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model3);
ent->name = name + "_model3";
}
if (model4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model4);
ent->name = name + "_model4";
}
if (model5)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model5);
ent->name = name + "_model5";
}
if (model6)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model6);
ent->name = name + "_model6";
}
if (model7)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model7);
ent->name = name + "_model7";
}
if (model8)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model8);
ent->name = name + "_model8";
}
if (model9)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model9);
ent->name = name + "_model9";
}
if (model10)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model10);
ent->name = name + "_model10";
}
if (model11)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model11);
ent->name = name + "_model11";
}
if (model12)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model12);
ent->name = name + "_model12";
}
if (wpsc1)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (wpsc3)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc3);
ent->name = name + "_wpsc3";
}
if (wpsc4)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc4);
ent->name = name + "_wpsc4";
}
if (elsc)
{
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
ridleyStruct1.nameIDs(pakRouter, name + "_ridley1");
if (model1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model1);
ent->name = name + "_model1";
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut,
std::vector<hecl::ProjectPath>& lazyOut) const
{
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(model1, pathsOut);
g_curSpec->flattenDependencies(model2, pathsOut);
g_curSpec->flattenDependencies(model3, pathsOut);
g_curSpec->flattenDependencies(model4, pathsOut);
g_curSpec->flattenDependencies(model5, pathsOut);
g_curSpec->flattenDependencies(model6, pathsOut);
g_curSpec->flattenDependencies(model7, pathsOut);
g_curSpec->flattenDependencies(model8, pathsOut);
g_curSpec->flattenDependencies(model9, pathsOut);
g_curSpec->flattenDependencies(model10, pathsOut);
g_curSpec->flattenDependencies(model11, pathsOut);
g_curSpec->flattenDependencies(model12, pathsOut);
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(wpsc3, pathsOut);
g_curSpec->flattenDependencies(wpsc4, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
ridleyStruct1.depIDs(pathsOut);
if (model2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model2);
ent->name = name + "_model2";
}
void gatherScans(std::vector<Scan>& scansOut) const
{
actorParameters.scanIDs(scansOut);
if (model3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model3);
ent->name = name + "_model3";
}
if (model4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model4);
ent->name = name + "_model4";
}
if (model5) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model5);
ent->name = name + "_model5";
}
if (model6) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model6);
ent->name = name + "_model6";
}
if (model7) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model7);
ent->name = name + "_model7";
}
if (model8) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model8);
ent->name = name + "_model8";
}
if (model9) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model9);
ent->name = name + "_model9";
}
if (model10) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model10);
ent->name = name + "_model10";
}
if (model11) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model11);
ent->name = name + "_model11";
}
if (model12) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model12);
ent->name = name + "_model12";
}
if (wpsc1) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc1);
ent->name = name + "_wpsc1";
}
if (wpsc2) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc2);
ent->name = name + "_wpsc2";
}
if (wpsc3) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc3);
ent->name = name + "_wpsc3";
}
if (wpsc4) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(wpsc4);
ent->name = name + "_wpsc4";
}
if (elsc) {
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(elsc);
ent->name = name + "_elsc";
}
patternedInfo.nameIDs(pakRouter, name + "_patterned");
actorParameters.nameIDs(pakRouter, name + "_actp");
ridleyStruct1.nameIDs(pakRouter, name + "_ridley1");
}
void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut, std::vector<hecl::ProjectPath>& lazyOut) const {
g_curSpec->flattenDependencies(particle, pathsOut);
g_curSpec->flattenDependencies(model1, pathsOut);
g_curSpec->flattenDependencies(model2, pathsOut);
g_curSpec->flattenDependencies(model3, pathsOut);
g_curSpec->flattenDependencies(model4, pathsOut);
g_curSpec->flattenDependencies(model5, pathsOut);
g_curSpec->flattenDependencies(model6, pathsOut);
g_curSpec->flattenDependencies(model7, pathsOut);
g_curSpec->flattenDependencies(model8, pathsOut);
g_curSpec->flattenDependencies(model9, pathsOut);
g_curSpec->flattenDependencies(model10, pathsOut);
g_curSpec->flattenDependencies(model11, pathsOut);
g_curSpec->flattenDependencies(model12, pathsOut);
g_curSpec->flattenDependencies(wpsc1, pathsOut);
g_curSpec->flattenDependencies(wpsc2, pathsOut);
g_curSpec->flattenDependencies(wpsc3, pathsOut);
g_curSpec->flattenDependencies(wpsc4, pathsOut);
g_curSpec->flattenDependencies(elsc, pathsOut);
patternedInfo.depIDs(pathsOut);
actorParameters.depIDs(pathsOut, lazyOut);
ridleyStruct1.depIDs(pathsOut);
}
void gatherScans(std::vector<Scan>& scansOut) const { actorParameters.scanIDs(scansOut); }
};
}
} // namespace DataSpec::DNAMP1

Some files were not shown because too many files have changed in this diff Show More