diff --git a/DataSpec/DNAMP1/CMakeLists.txt b/DataSpec/DNAMP1/CMakeLists.txt index 78d74ea93..670341974 100644 --- a/DataSpec/DNAMP1/CMakeLists.txt +++ b/DataSpec/DNAMP1/CMakeLists.txt @@ -1,3 +1,5 @@ +add_subdirectory(ScriptObjects) + make_dnalist(liblist PAK MLVL @@ -14,6 +16,7 @@ make_dnalist(liblist Tweaks/CTweakParticle Tweaks/CTweakPlayer Tweaks/CTweakPlayerControl) + add_library(DNAMP1 DNAMP1.hpp DNAMP1.cpp ${liblist} @@ -25,4 +28,7 @@ add_library(DNAMP1 CMDL.hpp CMDLMaterials.cpp MREA.cpp + SCLY.hpp SCLY.cpp DeafBabe.cpp) + +target_link_libraries(DNAMP1 ScriptObjectsMP1) diff --git a/DataSpec/DNAMP1/DNAMP1.hpp b/DataSpec/DNAMP1/DNAMP1.hpp index 88885a62d..3e50e5d08 100644 --- a/DataSpec/DNAMP1/DNAMP1.hpp +++ b/DataSpec/DNAMP1/DNAMP1.hpp @@ -30,7 +30,6 @@ public: static ResExtractor LookupExtractor(const PAK::Entry& entry); const std::string& getName() const {return m_node.getName();} const HECL::SystemString& getLevelString() const {return m_levelString;} - using PAKType = PAK; const PAKType& getPAK() const {return m_pak;} const NOD::DiscBase::IPartition::Node& getNode() const {return m_node;} diff --git a/DataSpec/DNAMP1/MREA.cpp b/DataSpec/DNAMP1/MREA.cpp index 8ce2b0669..977c8202a 100644 --- a/DataSpec/DNAMP1/MREA.cpp +++ b/DataSpec/DNAMP1/MREA.cpp @@ -1,4 +1,5 @@ #include "MREA.hpp" +#include "SCLY.hpp" #include "DeafBabe.hpp" #include "../DNACommon/BabeDead.hpp" @@ -37,7 +38,7 @@ bool MREA::Extract(const SpecBase& dataSpec, const HECL::ProjectPath& outPath, PAKRouter& pakRouter, const PAK::Entry& entry, - bool, + bool force, std::function) { using RigPair = std::pair; @@ -114,8 +115,12 @@ bool MREA::Extract(const SpecBase& dataSpec, /* Skip AROT */ rs.seek(head.secSizes[curSec++], Athena::Current); - /* Skip SCLY (for now) */ - rs.seek(head.secSizes[curSec++], Athena::Current); + /* Read SCLY layers */ + secStart = rs.position(); + SCLY scly; + scly.read(rs); + scly.exportToLayerDirectories(entry, pakRouter, force); + rs.seek(secStart + head.secSizes[curSec++], Athena::Begin); /* Read collision meshes */ DeafBabe collision; diff --git a/DataSpec/DNAMP1/SCLY.cpp b/DataSpec/DNAMP1/SCLY.cpp new file mode 100644 index 000000000..27d13f951 --- /dev/null +++ b/DataSpec/DNAMP1/SCLY.cpp @@ -0,0 +1,152 @@ +#include "SCLY.hpp" +#include "ScriptObjects/ScriptTypes.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ + +void SCLY::read(Athena::io::IStreamReader& rs) +{ + fourCC = rs.readUint32Little(); + version = rs.readUint32Big(); + layerCount = rs.readUint32Big(); + rs.enumerateBig(layerSizes, layerCount); + atUint32 i = 0; + rs.enumerate(layers, layerCount, [&i,this](Athena::io::IStreamReader& rs, ScriptLayer& layer) { + atUint64 start = rs.position(); + layer.read(rs); + rs.seek(start + layerSizes[i++], Athena::Begin); + }); +} + +void SCLY::write(Athena::io::IStreamWriter& ws) const +{ + ws.writeUint32Big(fourCC); + ws.writeUint32Big(version); + ws.writeUint32Big(layerCount); + ws.enumerateBig(layerSizes); + ws.enumerate(layers); +} + +void SCLY::exportToLayerDirectories(const PAK::Entry& entry, PAKRouter &pakRouter, bool force) +{ + for (atUint32 i = 0; i < layerCount; i++) + { + HECL::ProjectPath layerPath = pakRouter.getAreaLayerWorking(entry.id, i); + if (layerPath.getPathType() == HECL::ProjectPath::PT_NONE) + layerPath.makeDir(); + + HECL::ProjectPath yamlFile = HECL::ProjectPath(layerPath, _S("objects.yaml")); + if (force || yamlFile.getPathType() == HECL::ProjectPath::PT_NONE) + { + FILE* yaml = HECL::Fopen(yamlFile.getAbsolutePath().c_str(), _S("wb")); + layers[i].toYAMLFile(yaml); + fclose(yaml); + } + } +} + +void SCLY::fromYAML(Athena::io::YAMLDocReader& docin) +{ + fourCC = docin.readUint32("fourCC"); + version = docin.readUint32("version"); + layerCount = docin.readUint32("layerCount"); + docin.enumerate("layerSizes", layerSizes, layerCount); + docin.enumerate("layers", layers, layerCount); +} + +void SCLY::toYAML(Athena::io::YAMLDocWriter& docout) const +{ + docout.writeUint32("fourCC", fourCC); + docout.writeUint32("version", version); + docout.writeUint32("layerCount", layerCount); + docout.enumerate("layerSizes", layerSizes); + docout.enumerate("layers", layers); +} + +void SCLY::ScriptLayer::read(Athena::io::IStreamReader& rs) +{ + unknown = rs.readUByte(); + objectCount = rs.readUint32Big(); + objects.reserve(objectCount); + for (atUint32 i = 0; i < objectCount; i++) + { + atUint8 type = rs.readUByte(); + atUint32 len = rs.readUint32Big(); + atUint64 start = rs.position(); + + auto iter = std::find_if(SCRIPT_OBJECT_DB.begin(), SCRIPT_OBJECT_DB.end(), [&type](const ScriptObjectSpec* obj) -> bool + { return obj->type == type; }); + + if (iter != SCRIPT_OBJECT_DB.end()) + { + std::shared_ptr obj((*iter)->a()); + obj->type = type; + obj->read(rs); + objects.push_back(obj); + if ((rs.position() - start) != len) + Log.report(LogVisor::FatalError, _S("Error while reading object of type 0x%.2X, did not read the expected amount of data, read 0x%x, expected 0x%x"), (atUint32)type, (rs.position() - start), len); + rs.seek(start + len, Athena::Begin); + } + else + Log.report(LogVisor::FatalError, _S("Unable to find type 0x%X in object database"), (atUint32)type); + } +} + +void SCLY::ScriptLayer::fromYAML(Athena::io::YAMLDocReader& rs) +{ + unknown = rs.readUByte("unknown"); + objectCount = rs.readUint32("objectCount"); + objects.reserve(objectCount); + rs.enterSubVector("objects"); + for (atUint32 i = 0; i < objectCount; i++) + { + rs.enterSubRecord(nullptr); + atUint8 type = rs.readUByte("type"); + auto iter = std::find_if(SCRIPT_OBJECT_DB.begin(), SCRIPT_OBJECT_DB.end(), [&type](const ScriptObjectSpec* obj) -> bool + { return obj->type == type; }); + + if (iter != SCRIPT_OBJECT_DB.end()) + { + std::shared_ptr obj((*iter)->a()); + obj->fromYAML(rs); + obj->type = type; + objects.push_back(obj); + } + else + Log.report(LogVisor::FatalError, _S("Unable to find type 0x%X in object database"), (atUint32)type); + + rs.leaveSubRecord(); + } + rs.leaveSubVector(); +} + +void SCLY::ScriptLayer::write(Athena::io::IStreamWriter& ws) const +{ + ws.writeUByte(unknown); + ws.writeUint32Big(objectCount); + for (const std::shared_ptr& obj : objects) + { + ws.writeByte(obj->type); + obj->write(ws); + } +} + +void SCLY::ScriptLayer::toYAML(Athena::io::YAMLDocWriter& ws) const +{ + ws.writeUByte("unknown", unknown); + ws.writeUint32("objectCount", objectCount); + ws.enterSubVector("objects"); + for (const std::shared_ptr& obj : objects) + { + ws.enterSubRecord(nullptr); + ws.writeUByte("type", obj->type); + obj->toYAML(ws); + ws.leaveSubRecord(); + }; + ws.leaveSubVector(); +} + +} +} diff --git a/DataSpec/DNAMP1/SCLY.hpp b/DataSpec/DNAMP1/SCLY.hpp new file mode 100644 index 000000000..ac550cda1 --- /dev/null +++ b/DataSpec/DNAMP1/SCLY.hpp @@ -0,0 +1,41 @@ +#ifndef _DNAMP1_SCLY_HPP_ +#define _DNAMP1_SCLY_HPP_ + +#include "../DNACommon/DNACommon.hpp" +#include "ScriptObjects/IScriptObject.hpp" +#include "DNAMP1.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SCLY : BigYAML +{ + DECL_EXPLICIT_YAML + Delete _d; + Value fourCC; + Value version; + Value layerCount; + + Vector layerSizes; + + struct ScriptLayer : BigYAML + { + DECL_EXPLICIT_YAML + Delete _d; + Value unknown; + Value objectCount; + Vector, DNA_COUNT(objectCount)> objects; + void read(Athena::io::IStreamReader &rs); + void write(Athena::io::IStreamWriter &ws) const; + }; + Vector layers; + + void read(Athena::io::IStreamReader &rs); + void write(Athena::io::IStreamWriter &ws) const; + + void exportToLayerDirectories(const PAK::Entry &, PAKRouter&, bool); +}; +} +} +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/AIJumpPoint.hpp b/DataSpec/DNAMP1/ScriptObjects/AIJumpPoint.hpp new file mode 100644 index 000000000..58d6eb7ca --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/AIJumpPoint.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_AIJUMPPOINT_HPP_ +#define _DNAMP1_AIJUMPPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct AIJumpPoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value active; + Value unknown1; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/AIKeyframe.hpp b/DataSpec/DNAMP1/ScriptObjects/AIKeyframe.hpp new file mode 100644 index 000000000..6f3dc3650 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/AIKeyframe.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_AIKEYFRAME_HPP_ +#define _DNAMP1_AIKEYFRAME_HPP_ + +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ + +struct AIKeyframe : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Actor.hpp b/DataSpec/DNAMP1/ScriptObjects/Actor.hpp new file mode 100644 index 000000000..936c3da83 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Actor.hpp @@ -0,0 +1,42 @@ +#ifndef _DNAMP1_ACTOR_HPP_ +#define _DNAMP1_ACTOR_HPP_ + +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Actor : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unkown1; + Value scanOffset; + Value unknown2; + Value unknown3; + HealthInfo healthInfo; + DamageVulnerability damageVulnerability; + UniqueID32 model; + AnimationParameters animationParameters; + ActorParameters actorParameters; + Value unkown4; + Value unkown5; + Value unkown6; + Value unkown7; + Value unkown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ActorContraption.hpp b/DataSpec/DNAMP1/ScriptObjects/ActorContraption.hpp new file mode 100644 index 000000000..6717ac253 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ActorContraption.hpp @@ -0,0 +1,34 @@ +#ifndef _DNAMP1_ACTORCONTRAPTION_HPP_ +#define _DNAMP1_ACTORCONTRAPTION_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ActorContraption : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown1; + Value scanOffset; + Value unknown2; + Value unknown3; + HealthInfo healthInfo; + DamageVulnerability damageVulnerability; + AnimationParameters animationParameters; + ActorParameters actorParameters; + UniqueID32 particle; + DamageInfo damageInfo; + Value active; // needs verification +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ActorKeyframe.hpp b/DataSpec/DNAMP1/ScriptObjects/ActorKeyframe.hpp new file mode 100644 index 000000000..eb81b40cd --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ActorKeyframe.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_ACTORKEYFRAME_HPP_ +#define _DNAMP1_ACTORKEYFRAME_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ActorKeyframe : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ActorRotate.hpp b/DataSpec/DNAMP1/ScriptObjects/ActorRotate.hpp new file mode 100644 index 000000000..8a78b86ac --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ActorRotate.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_ACTORROTATE_HPP_ +#define _DNAMP1_ACTORROTATE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ActorRotate : IScriptObject +{ + DECL_YAML + String<-1> name; + Value rotationOffset; + Value timeScale; + Value unknown1; + Value unknown2; + Value active; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/AmbientAI.hpp b/DataSpec/DNAMP1/ScriptObjects/AmbientAI.hpp new file mode 100644 index 000000000..7f60d07cd --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/AmbientAI.hpp @@ -0,0 +1,35 @@ +#ifndef _DNAMP1_AMBIENTAI_HPP_ +#define _DNAMP1_AMBIENTAI_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct AmbientAI : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown1; + Value scanOffset; + Value unknown2; + HealthInfo healthInfo; + DamageVulnerability damageVulnerability; + AnimationParameters animationParameters; + ActorParameters actorParameters; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/AreaAttributes.hpp b/DataSpec/DNAMP1/ScriptObjects/AreaAttributes.hpp new file mode 100644 index 000000000..aba77e658 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/AreaAttributes.hpp @@ -0,0 +1,35 @@ +#ifndef _DNAMP1_AREAATTRIBUTES_HPP_ +#define _DNAMP1_AREAATTRIBUTES_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct AreaAttributes : IScriptObject +{ + DECL_YAML + enum EWeatherType + { + None, + Snow, + Rain + }; + + Value unknown1; + Value skyboxEnabled; + Value weather; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + UniqueID32 skybox; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/AtomicAlpha.hpp b/DataSpec/DNAMP1/ScriptObjects/AtomicAlpha.hpp new file mode 100644 index 000000000..1b66ddd01 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/AtomicAlpha.hpp @@ -0,0 +1,33 @@ +#ifndef _DNAMP1_ATOMICALPHA_HPP_ +#define _DNAMP1_ATOMICALPHA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct AtomicAlpha : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + UniqueID32 wpsc; + UniqueID32 model; + DamageInfo damageInfo; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/AtomicBeta.hpp b/DataSpec/DNAMP1/ScriptObjects/AtomicBeta.hpp new file mode 100644 index 000000000..a1f525c84 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/AtomicBeta.hpp @@ -0,0 +1,40 @@ +#ifndef _DNAMP1_ATOMICBETA_HPP_ +#define _DNAMP1_ATOMICBETA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct AtomicBeta : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + UniqueID32 elsc; + UniqueID32 wpsc; + DamageInfo damageInfo; + UniqueID32 part; + Value unknown1; + Value unknown2; + Value unknown3; + DamageVulnerability damageVulnerabilty; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Babygoth.hpp b/DataSpec/DNAMP1/ScriptObjects/Babygoth.hpp new file mode 100644 index 000000000..a522f4dc9 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Babygoth.hpp @@ -0,0 +1,52 @@ +#ifndef _DNAMP1_Babygoth_HPP_ +#define _DNAMP1_Babygoth_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Babygoth : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + UniqueID32 wpsc1; + DamageInfo damageInfo1; + DamageInfo damageInfo2; + UniqueID32 wpsc2; + UniqueID32 particle1; + DamageInfo damageInfo3; + DamageVulnerability damageVulnerabilty1; + DamageVulnerability damageVulnerabilty2; + UniqueID32 model; + UniqueID32 skin; + Value unknown3; + Value unknown4; + UniqueID32 particle2; + UniqueID32 particle3; + UniqueID32 particle4; + UniqueID32 particle5; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + UniqueID32 texture; + Value unknown11; + UniqueID32 particle6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/BallTrigger.hpp b/DataSpec/DNAMP1/ScriptObjects/BallTrigger.hpp new file mode 100644 index 000000000..01a9cac6b --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/BallTrigger.hpp @@ -0,0 +1,28 @@ +#ifndef _DNAMP1_BALLTRIGGER_HPP_ +#define _DNAMP1_BALLTRIGGER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct BallTrigger : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value volume; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Beetle.hpp b/DataSpec/DNAMP1/ScriptObjects/Beetle.hpp new file mode 100644 index 000000000..71d3a9dff --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Beetle.hpp @@ -0,0 +1,35 @@ +#ifndef _DNAMP1_BEETLE_HPP_ +#define _DNAMP1_BEETLE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Beetle : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + DamageInfo damageInfo; + Value unknown2; + Value unknown3; + DamageVulnerability damageVulnerabilty1; + DamageVulnerability damageVulnerabilty2; + UniqueID32 model; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/BloodFlower.hpp b/DataSpec/DNAMP1/ScriptObjects/BloodFlower.hpp new file mode 100644 index 000000000..4394d8dd8 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/BloodFlower.hpp @@ -0,0 +1,37 @@ +#ifndef _DNAMP1_BLOODFLOWER_HPP_ +#define _DNAMP1_BLOODFLOWER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct BloodFlower : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + UniqueID32 particle1; + UniqueID32 wpsc1; + UniqueID32 wpsc2; + DamageInfo damageInfo1; + DamageInfo damageInfo2; + DamageInfo damageInfo3; + UniqueID32 particle2; + UniqueID32 particle3; + UniqueID32 particle4; + Value unknown1; + UniqueID32 particle5; + Value unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Burrower.hpp b/DataSpec/DNAMP1/ScriptObjects/Burrower.hpp new file mode 100644 index 000000000..26d594f4d --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Burrower.hpp @@ -0,0 +1,32 @@ +#ifndef _DNAMP1_BURROWER_HPP_ +#define _DNAMP1_BURROWER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Burrower : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 wpsc; + DamageInfo damageInfo; + UniqueID32 particle3; + Value unknown; // always FF + UniqueID32 particle4; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CMakeLists.txt b/DataSpec/DNAMP1/ScriptObjects/CMakeLists.txt new file mode 100644 index 000000000..499db3091 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CMakeLists.txt @@ -0,0 +1,134 @@ +make_dnalist(liblist + IScriptObject + Parameters + Actor + ActorContraption + ActorKeyframe + ActorRotate + AIJumpPoint + AIKeyframe + AmbientAI + AreaAttributes + AtomicAlpha + AtomicBeta + Babygoth + BallTrigger + Beetle + BloodFlower + Burrower + Camera + CameraBlurKeyframe + CameraFilterKeyframe + CameraHint + CameraHintTrigger + CameraPitchVolume + CameraShaker + CameraWaypoint + ChozoGhost + ColorModulate + ControllerAction + Counter + CoverPoint + DamageableTrigger + Debris + DebrisExtended + DebugCameraWaypoint + DistanceFog + Dock + DockAreaChange + DoorArea + Drone + Effect + ElectroMagneticPulse + ElitePirate + EnergyBall + EnvFxDensityController + Eyeball + FireFlea + FishCloud + FishCloudModifier + Flaahgra + FlaahgraTentacle + FlickerBat + FlyingPirate + FogVolume + Geemer + Generator + GrapplePoint + GunTurret + HUDMemo + IceSheegoth + IceZoomer + JellyZap + Magdolite + MazeNode + MemoryRelay + MetareeAlpha + MetroidAlpha + MetroidBeta + MetroidPrimeStage1 + MetroidPrimeStage2 + Midi + NewCameraShaker + NewIntroBoss + Oculus + OmegaPirate + Parasite + PathCamera + PhazonHealingNodule + PhazonPool + Pickup + PickupGenerator + Platform + PlayerActor + PlayerHint + PlayerStateChange + PointOfInterest + PuddleSpore + PuddleToadGamma + Puffer + RadialDamage + RandomRelay + Relay + Repulsor + Ridley + Ripper + Ripple + RoomAcoustics + RumbleEffect + ScriptBeam + Seedling + ShadowProjector + SnakeWeedSwarm + Sound + SpacePirate + SpankWeed + SpawnPoint + SpecialFunction + SpiderBallAttractionSurface + SpiderBallWaypoint + SpindleCamera + Steam + StreamedAudio + Switch + TargetingPoint + TeamAIMgr + Thardus + ThardusRockProjectile + ThermalHeatFader + Timer + Trigger + Tryclops + VisorFlare + VisorGoo + WallCrawlerSwarm + Warwasp + Water + Waypoint + WorldLightFader + WorldTeleporter) + +add_library(ScriptObjectsMP1 + ${liblist} + ScriptTypes.hpp + IScriptObject.cpp) diff --git a/DataSpec/DNAMP1/ScriptObjects/Camera.hpp b/DataSpec/DNAMP1/ScriptObjects/Camera.hpp new file mode 100644 index 000000000..d5f187e8d --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Camera.hpp @@ -0,0 +1,34 @@ +#ifndef _DNAMP1_CAMERA_HPP_ +#define _DNAMP1_CAMERA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Camera : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CameraBlurKeyframe.hpp b/DataSpec/DNAMP1/ScriptObjects/CameraBlurKeyframe.hpp new file mode 100644 index 000000000..66913cc06 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CameraBlurKeyframe.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_CAMERABLURKEYFRAME_HPP_ +#define _DNAMP1_CAMERABLURKEYFRAME_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CameraBlurKeyframe : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CameraFilterKeyframe.hpp b/DataSpec/DNAMP1/ScriptObjects/CameraFilterKeyframe.hpp new file mode 100644 index 000000000..daab392d2 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CameraFilterKeyframe.hpp @@ -0,0 +1,29 @@ +#ifndef _DNAMP1_CAMERAFILTERKEYFRAME_HPP_ +#define _DNAMP1_CAMERAFILTERKEYFRAME_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CameraFilterKeyframe : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unkown2; + Value unkown3; + Value unkown4; + Value unkown5; + Value unknown6; //CColor + Value unknown7; + Value unknown8; + UniqueID32 texture; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CameraHint.hpp b/DataSpec/DNAMP1/ScriptObjects/CameraHint.hpp new file mode 100644 index 000000000..76b53bb3a --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CameraHint.hpp @@ -0,0 +1,73 @@ +#ifndef _DNAMP1_CAMERAHINT_HPP_ +#define _DNAMP1_CAMERAHINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CameraHint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; + Value unknown3; + struct CameraHintParameters : BigYAML + { + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; + Value unknown20; + Value unknown21; + Value unknown22; + } cameraHintParameters; + + struct BoolFloat : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + } boolFloat1[3]; + struct BoolVec3f : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + } boolVec3f[2]; + Value unknown4; + BoolFloat boolFloat2[4]; + Value unknown5; + Value unknown6; + BoolFloat boolFloat3; + Value unknown7; + Value unknown8; + Value unknown9; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CameraHintTrigger.hpp b/DataSpec/DNAMP1/ScriptObjects/CameraHintTrigger.hpp new file mode 100644 index 000000000..3243ae254 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CameraHintTrigger.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_CAMERAHINTRIGGER_HPP_ +#define _DNAMP1_CAMERAHINTRIGGER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CameraHintTrigger : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value volume; + Value unknown1; + Value unknown2; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CameraPitchVolume.hpp b/DataSpec/DNAMP1/ScriptObjects/CameraPitchVolume.hpp new file mode 100644 index 000000000..1ca984c82 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CameraPitchVolume.hpp @@ -0,0 +1,27 @@ +#ifndef _DNAMP1_CAMERAPITCHVOLUME_HPP_ +#define _DNAMP1_CAMERAPITCHVOLUME_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CameraPitchVolume : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value volume; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CameraShaker.hpp b/DataSpec/DNAMP1/ScriptObjects/CameraShaker.hpp new file mode 100644 index 000000000..c06b9d030 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CameraShaker.hpp @@ -0,0 +1,28 @@ +#ifndef _DNAMP1_CAMERASHAKER_HPP_ +#define _DNAMP1_CAMERASHAKER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CameraShaker : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CameraWaypoint.hpp b/DataSpec/DNAMP1/ScriptObjects/CameraWaypoint.hpp new file mode 100644 index 000000000..3d9fac2a0 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CameraWaypoint.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_CAMERAWAYPOINT_HPP_ +#define _DNAMP1_CAMERAWAYPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CameraWaypoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ChozoGhost.hpp b/DataSpec/DNAMP1/ScriptObjects/ChozoGhost.hpp new file mode 100644 index 000000000..8d5e7ad4c --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ChozoGhost.hpp @@ -0,0 +1,50 @@ +#ifndef _DNAMP1_CHOZOGHOST_HPP_ +#define _DNAMP1_CHOZOGHOST_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ChozoGhost : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + UniqueID32 wpsc1; + DamageInfo damageInfo1; + UniqueID32 wpsc2; + DamageInfo damageInfo2; + BehaveChance BehaveChance1; + BehaveChance BehaveChance2; + BehaveChance BehaveChance3; + Value sound1; + Value unknown5; + Value sound2; + Value sound3; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + UniqueID32 particle; + Value soundId4; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ColorModulate.hpp b/DataSpec/DNAMP1/ScriptObjects/ColorModulate.hpp new file mode 100644 index 000000000..a61ebcd46 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ColorModulate.hpp @@ -0,0 +1,31 @@ +#ifndef _DNAMP1_COLORMODULATE_HPP_ +#define _DNAMP1_COLORMODULATE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ColorModulate : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ControllerAction.hpp b/DataSpec/DNAMP1/ScriptObjects/ControllerAction.hpp new file mode 100644 index 000000000..b86d67ea6 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ControllerAction.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_CONTROLLERACTION_HPP_ +#define _DNAMP1_CONTROLLERACTION_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ControllerAction : IScriptObject +{ + DECL_YAML + Value propertyCount; + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Counter.hpp b/DataSpec/DNAMP1/ScriptObjects/Counter.hpp new file mode 100644 index 000000000..5dbceca46 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Counter.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_COUNTER_HPP_ +#define _DNAMP1_COUNTER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Counter : IScriptObject +{ + DECL_YAML + String<-1> name; + Value startValue; // needs verification + Value maxValue; + Value unknown1; + Value unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/CoverPoint.hpp b/DataSpec/DNAMP1/ScriptObjects/CoverPoint.hpp new file mode 100644 index 000000000..477084148 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/CoverPoint.hpp @@ -0,0 +1,28 @@ +#ifndef _DNAMP1_COVERPOINT_HPP_ +#define _DNAMP1_COVERPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct CoverPoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/DamageableTrigger.hpp b/DataSpec/DNAMP1/ScriptObjects/DamageableTrigger.hpp new file mode 100644 index 000000000..41216ffbd --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/DamageableTrigger.hpp @@ -0,0 +1,31 @@ +#ifndef _DNAMP1_DAMAGABLETRIGGER_HPP_ +#define _DNAMP1_DAMAGABLETRIGGER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct DamageableTrigger : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value volume; + HealthInfo healthInfo; + DamageVulnerability damageVulnerabilty; + Value unknown1; + UniqueID32 texture1; + UniqueID32 texture2; + UniqueID32 texture3; + Value lockOn; + Value active; + VisorParameters visorParameters; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Debris.hpp b/DataSpec/DNAMP1/ScriptObjects/Debris.hpp new file mode 100644 index 000000000..d5112d7ad --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Debris.hpp @@ -0,0 +1,37 @@ +#ifndef _DNAMP1_DEBRIS_HPP_ +#define _DNAMP1_DEBRIS_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Debris : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown1; + Value unknown2; + Value unknown3; // CColor + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + UniqueID32 model; + ActorParameters actorParameters; + UniqueID32 particle; + Value unknown9; + Value unknown10; + Value unknown11; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/DebrisExtended.hpp b/DataSpec/DNAMP1/ScriptObjects/DebrisExtended.hpp new file mode 100644 index 000000000..a160e4fe1 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/DebrisExtended.hpp @@ -0,0 +1,58 @@ +#ifndef _DNAMP1_DEBRISEXTENDED_HPP_ +#define _DNAMP1_DEBRISEXTENDED_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct DebrisExtended : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; // CColor + Value unknown11; // CColor + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + UniqueID32 model; + ActorParameters actorParameters; + UniqueID32 particle1; + Value unknown17; + Value unknown18; + Value unknown19; + Value unknown20; + UniqueID32 particle2; + Value unknown21; + Value unknown22; + Value unknown23; + Value unknown24; + UniqueID32 particle3; + Value unknown25; + Value unknown26; + Value unknown27; + Value unknown28; + Value unknown29; + Value unknown30; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/DebugCameraWaypoint.hpp b/DataSpec/DNAMP1/ScriptObjects/DebugCameraWaypoint.hpp new file mode 100644 index 000000000..e26d5f8aa --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/DebugCameraWaypoint.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_DEBUGCAMERAWAYPOINT_HPP_ +#define _DNAMP1_DEBUGCAMERAWAYPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct DebugCameraWaypoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/DistanceFog.hpp b/DataSpec/DNAMP1/ScriptObjects/DistanceFog.hpp new file mode 100644 index 000000000..70864d4e6 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/DistanceFog.hpp @@ -0,0 +1,27 @@ +#ifndef _DNAMP1_DISTANCEFOG_HPP_ +#define _DNAMP1_DISTANCEFOG_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct DistanceFog : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; // CColor + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Dock.hpp b/DataSpec/DNAMP1/ScriptObjects/Dock.hpp new file mode 100644 index 000000000..927c6e9c0 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Dock.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_DOCK_HPP_ +#define _DNAMP1_DOCK_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Dock : IScriptObject +{ + DECL_YAML + String<-1> name; + Value active; + Value location; + Value volume; + Value dock; + Value room; + Value autoLoad; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/DockAreaChange.hpp b/DataSpec/DNAMP1/ScriptObjects/DockAreaChange.hpp new file mode 100644 index 000000000..c70dd8e5d --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/DockAreaChange.hpp @@ -0,0 +1,22 @@ +#ifndef _DNAMP1_DOCKAREACHANGE_HPP_ +#define _DNAMP1_DOCKAREACHANGE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct DockAreaChange : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/DoorArea.hpp b/DataSpec/DNAMP1/ScriptObjects/DoorArea.hpp new file mode 100644 index 000000000..b26704e4f --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/DoorArea.hpp @@ -0,0 +1,33 @@ +#ifndef _DNAMP1_DOORAREA_HPP_ +#define _DNAMP1_DOORAREA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct DoorArea : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + AnimationParameters animationParameters; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Drone.hpp b/DataSpec/DNAMP1/ScriptObjects/Drone.hpp new file mode 100644 index 000000000..e5d5067f4 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Drone.hpp @@ -0,0 +1,64 @@ +#ifndef _DNAMP1_DRONE_HPP_ +#define _DNAMP1_DRONE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Drone : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + Value unknown2; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + DamageInfo damageInfo1; + Value unknown3; + DamageInfo damageInfo2; + Value unknown4; + Value unknown5; + Value unknown6; + FlareDefinition flareDefinition1; + FlareDefinition flareDefinition2; + FlareDefinition flareDefinition3; + FlareDefinition flareDefinition4; + FlareDefinition flareDefinition5; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; + Value unknown20; + Value unknown21; + Value unknown22; + Value unknown23; + Value unknown24; + Value unknown25; + UniqueID32 crsc; + Value unknon26; + Value unknon27; + Value unknon28; + Value unknon29; + Value sound; // verification needed + Value unknown30; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Effect.hpp b/DataSpec/DNAMP1/ScriptObjects/Effect.hpp new file mode 100644 index 000000000..82276054f --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Effect.hpp @@ -0,0 +1,43 @@ +#ifndef _DNAMP1_EFFECT_HPP_ +#define _DNAMP1_EFFECT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Effect : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + UniqueID32 part; + UniqueID32 elsc; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + LightParameters lightParameters; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ElectroMagneticPulse.hpp b/DataSpec/DNAMP1/ScriptObjects/ElectroMagneticPulse.hpp new file mode 100644 index 000000000..3110e51b9 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ElectroMagneticPulse.hpp @@ -0,0 +1,31 @@ +#ifndef _DNAMP1_ELECTROMAGNETICPULSE_HPP_ +#define _DNAMP1_ELECTROMAGNETICPULSE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ElectroMagneticPulse : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + UniqueID32 particle; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ElitePirate.hpp b/DataSpec/DNAMP1/ScriptObjects/ElitePirate.hpp new file mode 100644 index 000000000..576316fb2 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ElitePirate.hpp @@ -0,0 +1,61 @@ +#ifndef _DNAMP1_ELITEPIRATE_HPP_ +#define _DNAMP1_ELITEPIRATE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ElitePirate : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters1; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + UniqueID32 particle1; + Value soundID1; + ActorParameters actorParameters2; + AnimationParameters animationParameters; + UniqueID32 particle2; + Value soundID2; + UniqueID32 model; + DamageInfo damageInfo1; + Value unknown9; + UniqueID32 particle3; + UniqueID32 particle4; + UniqueID32 particle5; + UniqueID32 particle6; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value soundID3; + Value soundID4; + UniqueID32 particle7; + DamageInfo damageInfo2; + UniqueID32 elsc; + Value soundID5; + Value unknown17; + Value unknown18; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/EnergyBall.hpp b/DataSpec/DNAMP1/ScriptObjects/EnergyBall.hpp new file mode 100644 index 000000000..9e2913818 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/EnergyBall.hpp @@ -0,0 +1,39 @@ +#ifndef _DNAMP1_ENERGYBALL_HPP_ +#define _DNAMP1_ENERGYBALL_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct EnergyBall : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + DamageInfo damageInfo1; + Value unknown3; + UniqueID32 texture; + Value soundID1; + UniqueID32 particle1; + UniqueID32 elsc; + Value soundID2; + Value unknown4; + Value unknown5; + UniqueID32 particle2; + DamageInfo damageInfo2; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/EnvFxDensityController.hpp b/DataSpec/DNAMP1/ScriptObjects/EnvFxDensityController.hpp new file mode 100644 index 000000000..e0a9cbf67 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/EnvFxDensityController.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_ENVFXDENSITYCONTROLLER_HPP_ +#define _DNAMP1_ENVFXDENSITYCONTROLLER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct EnvFxDensityController : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Eyeball.hpp b/DataSpec/DNAMP1/ScriptObjects/Eyeball.hpp new file mode 100644 index 000000000..b8bd6b675 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Eyeball.hpp @@ -0,0 +1,40 @@ +#ifndef _DNAMP1_EYEBALL_HPP_ +#define _DNAMP1_EYEBALL_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Eyeball : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown2; + Value unknown3; + UniqueID32 wpsc; + DamageInfo damageInfo; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 texture1; + UniqueID32 texture2; + Value unknown4; + Value unknown5; // always ff + Value unknown6; // always ff + Value unknown7; // always ff + Value unknown8; + Value unknown9; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/FireFlea.hpp b/DataSpec/DNAMP1/ScriptObjects/FireFlea.hpp new file mode 100644 index 000000000..77f4bddfe --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/FireFlea.hpp @@ -0,0 +1,28 @@ +#ifndef _DNAMP1_FIREFLEA_HPP_ +#define _DNAMP1_FIREFLEA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct FireFlea : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/FishCloud.hpp b/DataSpec/DNAMP1/ScriptObjects/FishCloud.hpp new file mode 100644 index 000000000..c48467e29 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/FishCloud.hpp @@ -0,0 +1,55 @@ +#ifndef _DNAMP1_FISHCLOUD_HPP_ +#define _DNAMP1_FISHCLOUD_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct FishCloud : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value volume; + Value unknown1; + UniqueID32 model; + AnimationParameters animationParameters; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; // CColor + Value unknown18; + Value unknown19; + Value unknown20; + Value unknown21; + Value unknown22; + Value unknown23; + Value unknown24; + Value unknown25; + Value unknown26; + Value unknown27; + Value unknown28; + Value unknown29; + Value unknown30; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/FishCloudModifier.hpp b/DataSpec/DNAMP1/ScriptObjects/FishCloudModifier.hpp new file mode 100644 index 000000000..ee061acd7 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/FishCloudModifier.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_FISHCLOUDMODIFIER_HPP_ +#define _DNAMP1_FISHCLOUDMODIFIER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct FishCloudModifier : IScriptObject +{ + DECL_YAML + String<-1> name; + Value position; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Flaahgra.hpp b/DataSpec/DNAMP1/ScriptObjects/Flaahgra.hpp new file mode 100644 index 000000000..901da0e71 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Flaahgra.hpp @@ -0,0 +1,42 @@ +#ifndef _DNAMP1_FLAAHGRA_HPP_ +#define _DNAMP1_FLAAHGRA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Flaahgra : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters1; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + DamageVulnerability damageVulnerabilty; + UniqueID32 wpsc1; + DamageInfo damageInfo1; + UniqueID32 wpsc2; + DamageInfo damageInfo2; + UniqueID32 particle; + DamageInfo damageInfo3; + ActorParameters actorParameters2; + Value unknown5; + Value unknown6; + Value unknown7; + AnimationParameters animationParameters; + UniqueID32 dependencyGroup; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/FlaahgraTentacle.hpp b/DataSpec/DNAMP1/ScriptObjects/FlaahgraTentacle.hpp new file mode 100644 index 000000000..4f8bfa380 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/FlaahgraTentacle.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_FLAAHGRATENTACLE_HPP_ +#define _DNAMP1_FLAAHGRATENTACLE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct FlaahgraTentacle : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/FlickerBat.hpp b/DataSpec/DNAMP1/ScriptObjects/FlickerBat.hpp new file mode 100644 index 000000000..4d9d0e6eb --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/FlickerBat.hpp @@ -0,0 +1,29 @@ +#ifndef _DNAMP1_FLICKERBAT_HPP_ +#define _DNAMP1_FLICKERBAT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct FlickerBat : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown2; + Value unknown3; + Value unknown4; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/FlyingPirate.hpp b/DataSpec/DNAMP1/ScriptObjects/FlyingPirate.hpp new file mode 100644 index 000000000..c583e1c2e --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/FlyingPirate.hpp @@ -0,0 +1,55 @@ +#ifndef _DNAMP1_FLYINGPIRATE_HPP_ +#define _DNAMP1_FLYINGPIRATE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct FlyingPirate : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + UniqueID32 wpsc1; + DamageInfo damageInfo1; + Value unknown4; + UniqueID32 wpsc2; + DamageInfo damageInfo2; + UniqueID32 wpsc3; + Value unknown5; + Value unknown6; + UniqueID32 particle1; + DamageInfo damageInfo3; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + UniqueID32 particle2; + UniqueID32 particle3; + UniqueID32 particle4; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; + Value unknown20; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/FogVolume.hpp b/DataSpec/DNAMP1/ScriptObjects/FogVolume.hpp new file mode 100644 index 000000000..1a935e8a1 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/FogVolume.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_FOGVOLUME_HPP_ +#define _DNAMP1_FOGVOLUME_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct FogVolume : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value volume; + Value unknown1; + Value unknown2; + Value unkonwn3; + Value unknown4; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Geemer.hpp b/DataSpec/DNAMP1/ScriptObjects/Geemer.hpp new file mode 100644 index 000000000..b8772e8f7 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Geemer.hpp @@ -0,0 +1,35 @@ +#ifndef _DNAMP1_GEEMER_HPP_ +#define _DNAMP1_GEEMER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Geemer : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Generator.hpp b/DataSpec/DNAMP1/ScriptObjects/Generator.hpp new file mode 100644 index 000000000..c60141d4e --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Generator.hpp @@ -0,0 +1,27 @@ +#ifndef _DNAMP1_GENERATOR_HPP_ +#define _DNAMP1_GENERATOR_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Generator : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/GrapplePoint.hpp b/DataSpec/DNAMP1/ScriptObjects/GrapplePoint.hpp new file mode 100644 index 000000000..514d64c86 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/GrapplePoint.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_GRAPPLEPOINT_HPP_ +#define _DNAMP1_GRAPPLEPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct GrapplePoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value active; + GrappleParameters grappleParameters; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/GunTurret.hpp b/DataSpec/DNAMP1/ScriptObjects/GunTurret.hpp new file mode 100644 index 000000000..d4f843096 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/GunTurret.hpp @@ -0,0 +1,67 @@ +#ifndef _DNAMP1_GUNTURRET_HPP_ +#define _DNAMP1_GUNTURRET_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct GunTurret : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + Value unknown2; + Value scanOffset; + AnimationParameters animationParameters; + ActorParameters actorParameters; + HealthInfo healthInfo; + DamageVulnerability damageVulnerabilty; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + UniqueID32 unknown18; + DamageInfo damageInfo; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 particle3; + UniqueID32 particle4; + UniqueID32 particle5; + UniqueID32 particle6; + UniqueID32 particle7; + Value unknown19; + Value unknown20; + Value unknown21; + Value unknown22; + Value unknown23; + Value unknown24; + UniqueID32 model; + Value unknown25; + Value unknown26; + Value unknown27; + Value unknown28; + Value unknown29; + Value unknown30; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/HUDMemo.hpp b/DataSpec/DNAMP1/ScriptObjects/HUDMemo.hpp new file mode 100644 index 000000000..a2e7e6c93 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/HUDMemo.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_HUDMEMO_HPP_ +#define _DNAMP1_HUDMEMO_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct HUDMemo : IScriptObject +{ + DECL_YAML + String<-1> name; + Value firstMessageTimer; + Value unknown1; + Value memoType; + UniqueID32 message; + Value active; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/IScriptObject.cpp b/DataSpec/DNAMP1/ScriptObjects/IScriptObject.cpp new file mode 100644 index 000000000..6f8f7a5bb --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/IScriptObject.cpp @@ -0,0 +1,271 @@ +#include "IScriptObject.hpp" +#include "ScriptTypes.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +namespace priv +{ +static ScriptObjectSpec ActorEnt = {0x00, []() -> IScriptObject* {return new struct Actor();}}; +static ScriptObjectSpec WaypointEnt = {0x02, []() -> IScriptObject* {return new struct Waypoint();}}; +static ScriptObjectSpec DoorAreaEnt = {0x03, []() -> IScriptObject* {return new struct DoorArea();}}; +static ScriptObjectSpec TriggerEnt = {0x04, []() -> IScriptObject* {return new struct Trigger(); }}; +static ScriptObjectSpec TimerEnt = {0x05, []() -> IScriptObject* {return new struct Timer(); }}; +static ScriptObjectSpec CounterEnt = {0x06, []() -> IScriptObject* {return new struct Counter(); }}; +static ScriptObjectSpec EffectEnt = {0x07, []() -> IScriptObject* {return new struct Effect(); }}; +static ScriptObjectSpec PlatformEnt = {0x08, []() -> IScriptObject* {return new struct Platform(); }}; +static ScriptObjectSpec SoundEnt = {0x09, []() -> IScriptObject* {return new struct Sound(); }}; +static ScriptObjectSpec GeneratorEnt = {0x0A, []() -> IScriptObject* {return new struct Generator();}}; +static ScriptObjectSpec DockEnt = {0x0B, []() -> IScriptObject* {return new struct Dock(); }}; +static ScriptObjectSpec CameraEnt = {0x0C, []() -> IScriptObject* {return new struct Camera(); }}; +static ScriptObjectSpec CameraWaypointEnt = {0x0D, []() -> IScriptObject* {return new struct CameraWaypoint(); }}; +static ScriptObjectSpec NewIntroBossEnt = {0x0E, []() -> IScriptObject* {return new struct NewIntroBoss(); }}; +static ScriptObjectSpec SpawnPointEnt = {0x0F, []() -> IScriptObject* {return new struct SpawnPoint(); }}; +static ScriptObjectSpec CameraHintEnt = {0x10, []() -> IScriptObject* {return new struct CameraHint(); }}; +static ScriptObjectSpec PickupEnt = {0x11, []() -> IScriptObject* {return new struct Pickup(); }}; +static ScriptObjectSpec MemoryRelayEnt = {0x13, []() -> IScriptObject* {return new struct MemoryRelay(); }}; +static ScriptObjectSpec RandomRelayEnt = {0x14, []() -> IScriptObject* {return new struct RandomRelay(); }}; +static ScriptObjectSpec RelayEnt = {0x15, []() -> IScriptObject* {return new struct Relay(); }}; +static ScriptObjectSpec BeetleEnt = {0x16, []() -> IScriptObject* {return new struct Beetle(); }}; +static ScriptObjectSpec HUDMemoEnt = {0x17, []() -> IScriptObject* {return new struct HUDMemo(); }}; +static ScriptObjectSpec CameraFilterKeyframeEnt = {0x18, []() -> IScriptObject* {return new struct CameraFilterKeyframe(); }}; +static ScriptObjectSpec CameraBlurKeyframeEnt = {0x19, []() -> IScriptObject* {return new struct CameraBlurKeyframe(); }}; +static ScriptObjectSpec DamageableTriggerEnt = {0x1A, []() -> IScriptObject* {return new struct DamageableTrigger(); }}; +static ScriptObjectSpec DebrisEnt = {0x1B, []() -> IScriptObject* {return new struct Debris(); }}; +static ScriptObjectSpec CameraShakerEnt = {0x1C, []() -> IScriptObject* {return new struct CameraShaker(); }}; +static ScriptObjectSpec ActorKeyframeEnt = {0x1D, []() -> IScriptObject* {return new struct ActorKeyframe(); }}; +static ScriptObjectSpec WaterEnt = {0x20, []() -> IScriptObject* {return new struct Water(); }}; +static ScriptObjectSpec WarwaspEnt = {0x21, []() -> IScriptObject* {return new struct Warwasp(); }}; +static ScriptObjectSpec SpacePirateEnt = {0x24, []() -> IScriptObject* {return new struct SpacePirate(); }}; +static ScriptObjectSpec FlyingPirateEnt = {0x25, []() -> IScriptObject* {return new struct FlyingPirate(); }}; +static ScriptObjectSpec ElitePirateEnt = {0x26, []() -> IScriptObject* {return new struct ElitePirate(); }}; +static ScriptObjectSpec MetroidBetaEnt = {0x27, []() -> IScriptObject* {return new struct MetroidBeta(); }}; +static ScriptObjectSpec ChozoGhostEnt = {0x28, []() -> IScriptObject* {return new struct ChozoGhost(); }}; +static ScriptObjectSpec CoverPointEnt = {0x2A, []() -> IScriptObject* {return new struct CoverPoint(); }}; +static ScriptObjectSpec SpiderBallWaypointEnt = {0x2C, []() -> IScriptObject* {return new struct SpiderBallWaypoint(); }}; +static ScriptObjectSpec BloodFlowerEnt = {0x2D, []() -> IScriptObject* {return new struct BloodFlower(); }}; +static ScriptObjectSpec FlickerBatEnt = {0x2E, []() -> IScriptObject* {return new struct FlickerBat(); }}; +static ScriptObjectSpec PathCameraEnt = {0x2F, []() -> IScriptObject* {return new struct PathCamera(); }}; +static ScriptObjectSpec GrapplePointEnt = {0x30, []() -> IScriptObject* {return new struct GrapplePoint(); }}; +static ScriptObjectSpec PuddleSporeEnt = {0x31, []() -> IScriptObject* {return new struct PuddleSpore(); }}; +static ScriptObjectSpec DebugCameraWaypointEnt = {0x32, []() -> IScriptObject* {return new struct DebugCameraWaypoint(); }}; +static ScriptObjectSpec SpiderBallAttractionSurfaceEnt = {0x33, []() -> IScriptObject* {return new struct SpiderBallAttractionSurface(); }}; +static ScriptObjectSpec PuddleToadGammaEnt = {0x34, []() -> IScriptObject* {return new struct PuddleToadGamma(); }}; +static ScriptObjectSpec DistanceFogEnt = {0x35, []() -> IScriptObject* {return new struct DistanceFog(); }}; +static ScriptObjectSpec FireFleaEnt = {0x36, []() -> IScriptObject* {return new struct FireFlea(); }}; +static ScriptObjectSpec MetareeAlphaEnt = {0x37, []() -> IScriptObject* {return new struct MetareeAlpha(); }}; +static ScriptObjectSpec DockAreaChangeEnt = {0x38, []() -> IScriptObject* {return new struct DockAreaChange(); }}; +static ScriptObjectSpec ActorRotateEnt = {0x39, []() -> IScriptObject* {return new struct ActorRotate(); }}; +static ScriptObjectSpec SpecialFunctionEnt = {0x3A, []() -> IScriptObject* {return new struct SpecialFunction(); }}; +static ScriptObjectSpec SpankWeedEnt = {0x3B, []() -> IScriptObject* {return new struct SpankWeed(); }}; +static ScriptObjectSpec ParasiteEnt = {0x3D, []() -> IScriptObject* {return new struct Parasite(); }}; +static ScriptObjectSpec PlayerHintEnt = {0x3E, []() -> IScriptObject* {return new struct PlayerHint(); }}; +static ScriptObjectSpec RipperEnt = {0x3F, []() -> IScriptObject* {return new struct Ripper(); }}; +static ScriptObjectSpec PickupGeneratorEnt = {0x40, []() -> IScriptObject* {return new struct PickupGenerator(); }}; +static ScriptObjectSpec AIKeyframeEnt = {0x41, []() -> IScriptObject* {return new struct AIKeyframe(); }}; +static ScriptObjectSpec PointOfInterestEnt = {0x42, []() -> IScriptObject* {return new struct PointOfInterest(); }}; +static ScriptObjectSpec DroneEnt = {0x43, []() -> IScriptObject* {return new struct Drone(); }}; +static ScriptObjectSpec MetroidAlphaEnt = {0x44, []() -> IScriptObject* {return new struct MetroidAlpha(); }}; +static ScriptObjectSpec DebrisExtendedEnt = {0x45, []() -> IScriptObject* {return new struct DebrisExtended(); }}; +static ScriptObjectSpec SteamEnt = {0x46, []() -> IScriptObject* {return new struct Steam(); }}; +static ScriptObjectSpec RippleEnt = {0x47, []() -> IScriptObject* {return new struct Ripple(); }}; +static ScriptObjectSpec BallTriggerEnt = {0x48, []() -> IScriptObject* {return new struct BallTrigger(); }}; +static ScriptObjectSpec TargetingPointEnt = {0x49, []() -> IScriptObject* {return new struct TargetingPoint(); }}; +static ScriptObjectSpec ElectroMagneticPulseEnt = {0x4A, []() -> IScriptObject* {return new struct ElectroMagneticPulse(); }}; +static ScriptObjectSpec IceSheegothEnt = {0x4B, []() -> IScriptObject* {return new struct IceSheegoth(); }}; +static ScriptObjectSpec PlayerActorEnt = {0x4C, []() -> IScriptObject* {return new struct PlayerActor(); }}; +static ScriptObjectSpec FlaahgraEnt = {0x4D, []() -> IScriptObject* {return new struct Flaahgra(); }}; +static ScriptObjectSpec AreaAttributesEnt = {0x4E, []() -> IScriptObject* {return new struct AreaAttributes(); }}; +static ScriptObjectSpec FishCloudEnt = {0x4F, []() -> IScriptObject* {return new struct FishCloud(); }}; +static ScriptObjectSpec FishCloudModifierEnt = {0x50, []() -> IScriptObject* {return new struct FishCloudModifier(); }}; +static ScriptObjectSpec VisorFlareEnt = {0x51, []() -> IScriptObject* {return new struct VisorFlare(); }}; +static ScriptObjectSpec WorldTeleporterx52Ent = {0x52, []() -> IScriptObject* {return new struct WorldTeleporter(); }}; +static ScriptObjectSpec VisorGooEnt = {0x53, []() -> IScriptObject* {return new struct VisorGoo(); }}; +static ScriptObjectSpec JellyZapEnt = {0x54, []() -> IScriptObject* {return new struct JellyZap(); }}; +static ScriptObjectSpec ControllerActionEnt = {0x55, []() -> IScriptObject* {return new struct ControllerAction(); }}; +static ScriptObjectSpec SwitchEnt = {0x56, []() -> IScriptObject* {return new struct Switch(); }}; +static ScriptObjectSpec PlayerStateChangeEnt = {0x57, []() -> IScriptObject* {return new struct PlayerStateChange(); }}; +static ScriptObjectSpec ThardusEnt = {0x58, []() -> IScriptObject* {return new struct Thardus(); }}; +static ScriptObjectSpec WallCrawlerSwarmEnt = {0x5A, []() -> IScriptObject* {return new struct WallCrawlerSwarm(); }}; +static ScriptObjectSpec AIJumpPointEnt = {0x5B, []() -> IScriptObject* {return new struct AIJumpPoint(); }}; +static ScriptObjectSpec FlaahgraTentacleEnt = {0x5C, []() -> IScriptObject* {return new struct FlaahgraTentacle(); }}; +static ScriptObjectSpec RoomAcousticsEnt = {0x5D, []() -> IScriptObject* {return new struct RoomAcoustics(); }}; +static ScriptObjectSpec ColorModulateEnt = {0x5E, []() -> IScriptObject* {return new struct ColorModulate(); }}; +static ScriptObjectSpec ThardusRockProjectileEnt = {0x5F, []() -> IScriptObject* {return new struct ThardusRockProjectile(); }}; +static ScriptObjectSpec MidiEnt = {0x60, []() -> IScriptObject* {return new struct Midi(); }}; +static ScriptObjectSpec StreamedAudioEnt = {0x61, []() -> IScriptObject* {return new struct StreamedAudio(); }}; +static ScriptObjectSpec WorldTeleporterx62Ent = {0x62, []() -> IScriptObject* {return new struct WorldTeleporter(); }}; // o.o, no this is not a trick +static ScriptObjectSpec RepulsorEnt = {0x63, []() -> IScriptObject* {return new struct Repulsor(); }}; +static ScriptObjectSpec GunTurretEnt = {0x64, []() -> IScriptObject* {return new struct GunTurret(); }}; +static ScriptObjectSpec FogVolumeEnt = {0x65, []() -> IScriptObject* {return new struct FogVolume(); }}; +static ScriptObjectSpec BabygothEnt = {0x66, []() -> IScriptObject* {return new struct Babygoth(); }}; +static ScriptObjectSpec EyeballEnt = {0x67, []() -> IScriptObject* {return new struct Eyeball(); }}; +static ScriptObjectSpec RadialDamageEnt = {0x68, []() -> IScriptObject* {return new struct RadialDamage(); }}; +static ScriptObjectSpec CameraPitchVolumeEnt = {0x69, []() -> IScriptObject* {return new struct CameraPitchVolume(); }}; +static ScriptObjectSpec EnvFxDensityControllerEnt = {0x6A, []() -> IScriptObject* {return new struct EnvFxDensityController(); }}; +static ScriptObjectSpec MagdoliteEnt = {0x6B, []() -> IScriptObject* {return new struct Magdolite(); }}; +static ScriptObjectSpec TeamAIMgrEnt = {0x6C, []() -> IScriptObject* {return new struct TeamAIMgr(); }}; +static ScriptObjectSpec SnakeWeedSwarmEnt = {0x6D, []() -> IScriptObject* {return new struct SnakeWeedSwarm(); }}; +static ScriptObjectSpec ActorContraptionEnt = {0x6E, []() -> IScriptObject* {return new struct ActorContraption(); }}; +static ScriptObjectSpec OculusEnt = {0x6F, []() -> IScriptObject* {return new struct Oculus(); }}; +static ScriptObjectSpec GeemerEnt = {0x70, []() -> IScriptObject* {return new struct Geemer(); }}; +static ScriptObjectSpec SpindleCameraEnt = {0x71, []() -> IScriptObject* {return new struct SpindleCamera(); }}; +static ScriptObjectSpec AtomicAlphaEnt = {0x72, []() -> IScriptObject* {return new struct AtomicAlpha(); }}; +static ScriptObjectSpec CameraHintTriggerEnt = {0x73, []() -> IScriptObject* {return new struct CameraHintTrigger(); }}; +static ScriptObjectSpec RumbleEffectEnt = {0x74, []() -> IScriptObject* {return new struct RumbleEffect(); }}; +static ScriptObjectSpec AmbientAIEnt = {0x75, []() -> IScriptObject* {return new struct AmbientAI(); }}; +static ScriptObjectSpec AtomicBetaEnt = {0x77, []() -> IScriptObject* {return new struct AtomicBeta(); }}; +static ScriptObjectSpec IceZoomerEnt = {0x78, []() -> IScriptObject* {return new struct IceZoomer(); }}; +static ScriptObjectSpec PufferEnt = {0x79, []() -> IScriptObject* {return new struct Puffer(); }}; +static ScriptObjectSpec TryclopsEnt = {0x7A, []() -> IScriptObject* {return new struct Tryclops(); }}; +static ScriptObjectSpec RidleyEnt = {0x7B, []() -> IScriptObject* {return new struct Ridley(); }}; +static ScriptObjectSpec SeedlingEnt = {0x7C, []() -> IScriptObject* {return new struct Seedling(); }}; +static ScriptObjectSpec ThermalHeatFaderEnt = {0x7D, []() -> IScriptObject* {return new struct ThermalHeatFader(); }}; +static ScriptObjectSpec BurrowerEnt = {0x7F, []() -> IScriptObject* {return new struct Burrower(); }}; +static ScriptObjectSpec ScriptBeamEnt = {0x81, []() -> IScriptObject* {return new struct ScriptBeam(); }}; +static ScriptObjectSpec WorldLightFaderEnt = {0x82, []() -> IScriptObject* {return new struct WorldLightFader(); }}; +static ScriptObjectSpec MetroidPrimeStage2Ent = {0x83, []() -> IScriptObject* {return new struct MetroidPrimeStage2(); }}; +static ScriptObjectSpec MetroidPrimeStage1Ent = {0x84, []() -> IScriptObject* {return new struct MetroidPrimeStage1(); }}; +static ScriptObjectSpec MazeNodeEnt = {0x85, []() -> IScriptObject* {return new struct MazeNode(); }}; +static ScriptObjectSpec OmegaPirateEnt = {0x86, []() -> IScriptObject* {return new struct OmegaPirate(); }}; +static ScriptObjectSpec PhazonPoolEnt = {0x87, []() -> IScriptObject* {return new struct PhazonPool(); }}; +static ScriptObjectSpec PhazonHealingNoduleEnt = {0x88, []() -> IScriptObject* {return new struct PhazonHealingNodule(); }}; +static ScriptObjectSpec NewCameraShakerEnt = {0x89, []() -> IScriptObject* {return new struct NewCameraShaker(); }}; +static ScriptObjectSpec ShadowProjectorEnt = {0x8A, []() -> IScriptObject* {return new struct ShadowProjector(); }}; +static ScriptObjectSpec EnergyBallEnt = {0x8B, []() -> IScriptObject* {return new struct EnergyBall(); }}; +} + +std::vector SCRIPT_OBJECT_DB = +{ + &priv::AIJumpPointEnt, + &priv::AIKeyframeEnt, + &priv::ActorEnt, + &priv::ActorContraptionEnt, + &priv::ActorKeyframeEnt, + &priv::ActorRotateEnt, + &priv::AmbientAIEnt, + &priv::AreaAttributesEnt, + &priv::AtomicAlphaEnt, + &priv::AtomicBetaEnt, + &priv::BabygothEnt, + &priv::BallTriggerEnt, + &priv::BeetleEnt, + &priv::BloodFlowerEnt, + &priv::BurrowerEnt, + &priv::CameraEnt, + &priv::CameraBlurKeyframeEnt, + &priv::CameraFilterKeyframeEnt, + &priv::CameraHintEnt, + &priv::CameraHintTriggerEnt, + &priv::CameraPitchVolumeEnt, + &priv::CameraShakerEnt, + &priv::CameraWaypointEnt, + &priv::ChozoGhostEnt, + &priv::ColorModulateEnt, + &priv::ControllerActionEnt, + &priv::CounterEnt, + &priv::CoverPointEnt, + &priv::DamageableTriggerEnt, + &priv::DebrisEnt, + &priv::DebrisExtendedEnt, + &priv::DebugCameraWaypointEnt, + &priv::DistanceFogEnt, + &priv::DockEnt, + &priv::DockAreaChangeEnt, + &priv::DoorAreaEnt, + &priv::DroneEnt, + &priv::EffectEnt, + &priv::ElectroMagneticPulseEnt, + &priv::ElitePirateEnt, + &priv::EnergyBallEnt, + &priv::EnvFxDensityControllerEnt, + &priv::EyeballEnt, + &priv::FireFleaEnt, + &priv::FishCloudEnt, + &priv::FishCloudModifierEnt, + &priv::FlaahgraEnt, + &priv::FlaahgraTentacleEnt, + &priv::FlickerBatEnt, + &priv::FlyingPirateEnt, + &priv::FogVolumeEnt, + &priv::GeemerEnt, + &priv::GeneratorEnt, + &priv::GrapplePointEnt, + &priv::GunTurretEnt, + &priv::HUDMemoEnt, + &priv::IceSheegothEnt, + &priv::IceZoomerEnt, + &priv::JellyZapEnt, + &priv::MagdoliteEnt, + &priv::MazeNodeEnt, + &priv::MemoryRelayEnt, + &priv::MetareeAlphaEnt, + &priv::MetroidAlphaEnt, + &priv::MetroidBetaEnt, + &priv::MetroidPrimeStage1Ent, + &priv::MetroidPrimeStage2Ent, + &priv::MidiEnt, + &priv::NewCameraShakerEnt, + &priv::NewIntroBossEnt, + &priv::OculusEnt, + &priv::OmegaPirateEnt, + &priv::ParasiteEnt, + &priv::PathCameraEnt, + &priv::PhazonHealingNoduleEnt, + &priv::PhazonPoolEnt, + &priv::PickupEnt, + &priv::PickupGeneratorEnt, + &priv::PlatformEnt, + &priv::PlayerActorEnt, + &priv::PlayerHintEnt, + &priv::PlayerStateChangeEnt, + &priv::PointOfInterestEnt, + &priv::PuddleSporeEnt, + &priv::PuddleToadGammaEnt, + &priv::PufferEnt, + &priv::RadialDamageEnt, + &priv::RandomRelayEnt, + &priv::RelayEnt, + &priv::RepulsorEnt, + &priv::RidleyEnt, + &priv::RipperEnt, + &priv::RippleEnt, + &priv::RoomAcousticsEnt, + &priv::RumbleEffectEnt, + &priv::ScriptBeamEnt, + &priv::SeedlingEnt, + &priv::ShadowProjectorEnt, + &priv::SnakeWeedSwarmEnt, + &priv::SoundEnt, + &priv::SpacePirateEnt, + &priv::SpankWeedEnt, + &priv::SpawnPointEnt, + &priv::SpecialFunctionEnt, + &priv::SpiderBallAttractionSurfaceEnt, + &priv::SpiderBallWaypointEnt, + &priv::SpindleCameraEnt, + &priv::SteamEnt, + &priv::StreamedAudioEnt, + &priv::SwitchEnt, + &priv::TargetingPointEnt, + &priv::TeamAIMgrEnt, + &priv::ThardusEnt, + &priv::ThardusRockProjectileEnt, + &priv::ThermalHeatFaderEnt, + &priv::TimerEnt, + &priv::TriggerEnt, + &priv::TryclopsEnt, + &priv::VisorFlareEnt, + &priv::VisorGooEnt, + &priv::WallCrawlerSwarmEnt, + &priv::WarwaspEnt, + &priv::WaterEnt, + &priv::WaypointEnt, + &priv::WorldLightFaderEnt, + &priv::WorldTeleporterx52Ent, + &priv::WorldTeleporterx62Ent, +}; + +} +} diff --git a/DataSpec/DNAMP1/ScriptObjects/IScriptObject.hpp b/DataSpec/DNAMP1/ScriptObjects/IScriptObject.hpp new file mode 100644 index 000000000..8e5366a42 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/IScriptObject.hpp @@ -0,0 +1,35 @@ +#ifndef __DNAMP1_SCRIPTOBJECT_HPP +#define __DNAMP1_SCRIPTOBJECT_HPP +#include "../../DNACommon/DNACommon.hpp" +#include + +namespace Retro +{ +namespace DNAMP1 +{ +struct IScriptObject : BigYAML +{ + DECL_YAML + IScriptObject() {} + atUint32 type; + Value id; + struct Connection : BigYAML + { + DECL_YAML + Value state; + Value msg; + Value target; + + }; + + Value connectionCount; + Vector connections; + Value propertyCount; + virtual ~IScriptObject() + { + } +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/IceSheegoth.hpp b/DataSpec/DNAMP1/ScriptObjects/IceSheegoth.hpp new file mode 100644 index 000000000..a256bd878 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/IceSheegoth.hpp @@ -0,0 +1,56 @@ +#ifndef _DNAMP1_ICESHEEGOTH_HPP_ +#define _DNAMP1_ICESHEEGOTH_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct IceSheegoth : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + DamageVulnerability damageVulnerabilty1; + DamageVulnerability damageVulnerabilty2; + DamageVulnerability damageVulnerabilty3; + UniqueID32 wpsc1; + DamageInfo damageInfo1; + Value unknown5; + Value unknown6; + UniqueID32 wpsc2; + UniqueID32 particle1; + DamageInfo damageInfo2; + UniqueID32 particle2; + UniqueID32 particle3; + UniqueID32 particle4; + UniqueID32 particle5; + UniqueID32 elsc; + Value unknown7; + Value unknown8; + DamageInfo damageInfo3; + Value soundID1; + Value unknown9; + Value unknown10; + Value unknown11; + UniqueID32 texture; + Value soundID2; + UniqueID32 particle6; + Value unknown12; + Value unknown13; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/IceZoomer.hpp b/DataSpec/DNAMP1/ScriptObjects/IceZoomer.hpp new file mode 100644 index 000000000..8a739dce4 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/IceZoomer.hpp @@ -0,0 +1,35 @@ +#ifndef _DNAMP1_ICEZOOMER_HPP_ +#define _DNAMP1_ICEZOOMER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct IceZoomer : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + DamageVulnerability damageVulnerabilty; + Value unknown9; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/JellyZap.hpp b/DataSpec/DNAMP1/ScriptObjects/JellyZap.hpp new file mode 100644 index 000000000..a123f2e97 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/JellyZap.hpp @@ -0,0 +1,39 @@ +#ifndef _DNAMP1_JELLYZAP_HPP_ +#define _DNAMP1_JELLYZAP_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct JellyZap : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + DamageInfo damageInfo; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Magdolite.hpp b/DataSpec/DNAMP1/ScriptObjects/Magdolite.hpp new file mode 100644 index 000000000..07734db74 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Magdolite.hpp @@ -0,0 +1,51 @@ +#ifndef _DNAMP1_MAGDOLITE_HPP_ +#define _DNAMP1_MAGDOLITE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Magdolite : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + DamageInfo damageInfo1; + DamageInfo damageInfo2; + DamageVulnerability damageVulnerabilty1; + DamageVulnerability damageVulnerabilty2; + UniqueID32 model; + UniqueID32 skin; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + struct MagdoliteParameters : BigYAML + { + DECL_YAML + Value propertyCount; + Value unknown1; + UniqueID32 particle; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + } magdoliteParameters; + Value unknown7; + Value unknown8; + Value unknown9; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/MazeNode.hpp b/DataSpec/DNAMP1/ScriptObjects/MazeNode.hpp new file mode 100644 index 000000000..02a2994ac --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/MazeNode.hpp @@ -0,0 +1,29 @@ +#ifndef _DNAMP1_MAZENODE_HPP_ +#define _DNAMP1_MAZENODE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct MazeNode : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/MemoryRelay.hpp b/DataSpec/DNAMP1/ScriptObjects/MemoryRelay.hpp new file mode 100644 index 000000000..3dca89514 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/MemoryRelay.hpp @@ -0,0 +1,22 @@ +#ifndef _DNAMP1_MEMORYRELAY_HPP_ +#define _DNAMP1_MEMORYRELAY_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct MemoryRelay : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown; + Value active; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/MetareeAlpha.hpp b/DataSpec/DNAMP1/ScriptObjects/MetareeAlpha.hpp new file mode 100644 index 000000000..d28f88276 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/MetareeAlpha.hpp @@ -0,0 +1,31 @@ +#ifndef _DNAMP1_METAREEALPHA_HPP_ +#define _DNAMP1_METAREEALPHA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct MetareeAlpha : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + DamageInfo damageInfo; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/MetroidAlpha.hpp b/DataSpec/DNAMP1/ScriptObjects/MetroidAlpha.hpp new file mode 100644 index 000000000..dbb8bd98f --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/MetroidAlpha.hpp @@ -0,0 +1,39 @@ +#ifndef _DNAMP1_METROIDALPHA_HPP_ +#define _DNAMP1_METROIDALPHA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct MetroidAlpha : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + DamageVulnerability damageVulnerabilty1; + DamageVulnerability damageVulnerabilty2; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + AnimationParameters animationParameters1; + AnimationParameters animationParameters2; + AnimationParameters animationParameters3; + AnimationParameters animationParameters4; + Value unknown8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/MetroidBeta.hpp b/DataSpec/DNAMP1/ScriptObjects/MetroidBeta.hpp new file mode 100644 index 000000000..65a8b5ed7 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/MetroidBeta.hpp @@ -0,0 +1,42 @@ +#ifndef _DNAMP1_METROIDBETA_HPP_ +#define _DNAMP1_METROIDBETA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct MetroidBeta : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + DamageVulnerability damageVulnerabilty1; + DamageVulnerability damageVulnerabilty2; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + UniqueID32 particle1; + UniqueID32 swhc; + UniqueID32 particle2; + UniqueID32 particle3; + UniqueID32 particle4; + Value unknown10; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/MetroidPrimeStage1.hpp b/DataSpec/DNAMP1/ScriptObjects/MetroidPrimeStage1.hpp new file mode 100644 index 000000000..8a82b6e38 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/MetroidPrimeStage1.hpp @@ -0,0 +1,171 @@ +#ifndef _DNAMP1_METROIDPRIMESTAGE1_HPP_ +#define _DNAMP1_METROIDPRIMESTAGE1_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct MetroidPrimeStage1 : IScriptObject +{ + DECL_YAML + Value unknown1; + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + HealthInfo healthInfo1; + HealthInfo healthInfo2; + Value unknown9; + + struct PrimeParameters1 : BigYAML + { + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + } primeStruct1_1, primeStruct1_2, primeStruct1_3, primeStruct1_4; + + Value unknown10; + Value unknown11; + + struct MassivePrimeStruct : BigYAML + { + DECL_YAML + Value unknown1; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown2; + struct PrimeStruct2 : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + Value unknown3; + struct PrimeStruct3 : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + } primeStruct3_1, primeStruct3_2, primeStruct3_3; + } primeStruct2_1, primeStruct2_2, primeStruct2_3; + + Value unknown4; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 particle3; + DamageInfo damageInfo1; + Value unknown5; + Value unknown6; + UniqueID32 texture1; + Value unknown7; + Value unknown8; + UniqueID32 particle4; + + struct PrimeStruct4 : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 texture1; + UniqueID32 texture2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; // CColor + Value unknown13; // CColor + UniqueID32 wpsc; + DamageInfo damageInfo1; + struct PrimeStruct5 : BigYAML + { + DECL_YAML + Value propertyCount; + UniqueID32 unknown1; + Value unknown2; + UniqueID32 unknown3; + UniqueID32 unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + } primeStruct5; + Value unknown14; + DamageInfo damageInfo2; + } primeStruct4_1, primeStruct4_2, primeStruct4_3, primeStruct4_4; + + UniqueID32 wpsc1; + DamageInfo damageInfo2; + PrimeStruct2 primeStruct2_4; + UniqueID32 wpsc2; + DamageInfo damageInfo3; + PrimeStruct2 primeStruct2_5; + Value unknown3; + UniqueID32 particle5; + DamageInfo damageInfo4; + Value unknown9; + Value unknown10; + Value unknown11; + UniqueID32 texture2; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + DamageInfo damageInfo5; + PrimeStruct2 primeStruct2_6; + UniqueID32 particle6; + UniqueID32 swhc; + UniqueID32 particle7; + UniqueID32 particle8; + + struct PrimeStruct6 : BigYAML + { + DECL_YAML + Value propertyCount; + DamageVulnerability damageVulnerability; + Value unknown1; + Value unknown2; + Value unknown3; + } primeStruct6_1, primeStruct6_2, primeStruct6_3, primeStruct6_4; + } massivePrimeStruct; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/MetroidPrimeStage2.hpp b/DataSpec/DNAMP1/ScriptObjects/MetroidPrimeStage2.hpp new file mode 100644 index 000000000..71e319ff8 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/MetroidPrimeStage2.hpp @@ -0,0 +1,30 @@ +#ifndef _DNAMP1_METROIDPRIMESTAGE2_HPP_ +#define _DNAMP1_METROIDPRIMESTAGE2_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct MetroidPrimeStage2 : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + UniqueID32 particle1; + DamageInfo damageInfo; + UniqueID32 elsc; + Value unknown; + UniqueID32 particle2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Midi.hpp b/DataSpec/DNAMP1/ScriptObjects/Midi.hpp new file mode 100644 index 000000000..3323e6321 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Midi.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_MIDI_HPP_ +#define _DNAMP1_MIDI_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Midi : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + UniqueID32 song; + Value unknown2; + Value unknown3; + Value unknown4; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/NewCameraShaker.hpp b/DataSpec/DNAMP1/ScriptObjects/NewCameraShaker.hpp new file mode 100644 index 000000000..164a36659 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/NewCameraShaker.hpp @@ -0,0 +1,49 @@ +#ifndef _DNAMP1_NEWCAMERASHAKER_HPP_ +#define _DNAMP1_NEWCAMERASHAKER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct NewCameraShaker : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value unknown1; + struct LongBool : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + } unknown2; + + Value unknown3; + Value unknown4; + struct CameraShakerParameters : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + } cameraShakerParameters1, cameraShakerParameters2, cameraShakerParameters3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/NewIntroBoss.hpp b/DataSpec/DNAMP1/ScriptObjects/NewIntroBoss.hpp new file mode 100644 index 000000000..2760b9148 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/NewIntroBoss.hpp @@ -0,0 +1,32 @@ +#ifndef _DNAMP1_NEWINTROBOSS_HPP_ +#define _DNAMP1_NEWINTROBOSS_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct NewIntroBoss : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + DamageInfo damageInfo; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 texture1; + UniqueID32 texture2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Oculus.hpp b/DataSpec/DNAMP1/ScriptObjects/Oculus.hpp new file mode 100644 index 000000000..bbb2de2e1 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Oculus.hpp @@ -0,0 +1,34 @@ +#ifndef _DNAMP1_OCULUS_HPP_ +#define _DNAMP1_OCULUS_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Oculus : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + DamageVulnerability damageVulnerabilty; + Value unknown7; + DamageInfo damageInfo; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/OmegaPirate.hpp b/DataSpec/DNAMP1/ScriptObjects/OmegaPirate.hpp new file mode 100644 index 000000000..00420a096 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/OmegaPirate.hpp @@ -0,0 +1,64 @@ +#ifndef _DNAMP1_OMEGAPIRATE_HPP_ +#define _DNAMP1_OMEGAPIRATE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct OmegaPirate : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters1; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + UniqueID32 particle1; + Value soundID1; + ActorParameters actorParameters2; + AnimationParameters animationParameters; + UniqueID32 particle2; + Value soundID2; + UniqueID32 model1; + DamageInfo damageInfo1; + Value unknown9; + UniqueID32 particle3; + UniqueID32 particle4; + UniqueID32 particle5; + UniqueID32 particle6; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value soundID3; + Value soundID4; + UniqueID32 particle7; + DamageInfo damageInfo2; + UniqueID32 elsc; + Value soundID5; + Value unknown17; + Value unknown18; + UniqueID32 model2; + UniqueID32 skin; + UniqueID32 rig; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Parameters.hpp b/DataSpec/DNAMP1/ScriptObjects/Parameters.hpp new file mode 100644 index 000000000..17dd09863 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Parameters.hpp @@ -0,0 +1,334 @@ +#ifndef _DNAMP1_PARAMETERS_HPP_ +#define _DNAMP1_PARAMETERS_HPP_ + +#include "../../DNACommon/DNACommon.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ + +enum EPickupType +{ + PkPowerBeam, + PkIceBeam, + PkWaveBeam, + PkPlasmaBeam, + PkMissile, + PkScanVisor, + PkMorphBallBomb, + PkPowerBomb, + PkFlamethrower, + PkChargeBeam, + PkXRayVisor, + PkIceSpreader, + PkSpaceJump, + PkMorphBall, + PkCombatVisor, + PkSpiderBall, + PkPowerSuit, + PkGravitySuit, + PkVariaSuit, + PkPhazonSuit, + PkEnergyTank, + PkUnknownItem1, + PkHealthRefill, + PkUnknownItem2, + PkWaveBuster, + PkTruth, + PkStrength, + PkElder, + PkWild, + PkLifeGiver, + PkWarrior, + PkChozo, + PkNature, + PkSun, + PkWorld, + PkSpirit, + PkNewborn +}; + +enum ESpecialFunctionType +{ + SpFnWhat, + SpFnPlayerFollowLocator, + SpFnSpinnerController, + SpFnObjectFollowLocator, + SpFnFunction4, + SpFnInventoryActivator, + SpFnMapStation, + SpFnSaveStation, + SpFnIntroBossRingController, + SpFnViewFrustumTest, + SpFnShotSpinnerController, + SpFnEscapeSequence, + SpFnBossEnergyBar, + SpFnEndGame, + SpFnHUDFadeIn, + SpFnCinematicSkip, + SpFnScriptLyaerController, + SpFnRainSimulator, + SpFnAreaDamage, + SpFnObjectFollowObject, + SpFnHintSystem, + SpFnDropBomb, + SpFnFunction22, + SpFnMissileStation, + SpFnBillboard, + SpFnPlayerInAreaRelay, + SpFnHUDTarget, + SpFnFogFader, + SpFnEnterLogbook, + SpFnPowerBombStation, + SpFnEnding, + SpFnFusionRelay, + SpFnWeaponSwitch // PAL Only +}; + +struct AnimationParameters : BigYAML +{ + DECL_YAML + UniqueID32 animationCharacterSet; + Value character; + Value defaultAnimation; +}; + +struct BehaveChance : BigYAML +{ + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; + +struct DamageInfo : BigYAML +{ + DECL_YAML + Value propertyCount; + Value weaponType; + Value damage; + Value radius; + Value knockbackPower; +}; + +struct DamageVulnerability : BigYAML +{ + DECL_YAML + Value propertyCount; + Value power; + Value ice; + Value wave; + Value plasma; + Value bomb; + Value powerBomb; + Value missile; + Value boostBall; + Value phazon; + Value enemyWeapon1; + Value enemyWeapon2Poison; + Value enemyWeapon3Lava; + Value enemyWeapon4; + Value unkownWeapon1; + Value unkownWeapon2; + Value unkownWeapon3; + struct ChargedBeams : BigYAML + { + DECL_YAML + Value propertyCount; + Value power; + Value ice; + Value wave; + Value plasma; + Value phazon; + } chargedBeams; + + struct BeamCombos : BigYAML + { + DECL_YAML + Value propertyCount; + Value superMissiles; + Value iceSpreader; + Value wavebuster; + Value flameThrower; + Value phazonCombo; + } beamCombos; +}; + +struct FlareDefinition : BigYAML +{ + DECL_YAML + Value propertyCount; + UniqueID32 texture; + Value unknown1; + Value unknown2; + Value unknown4; // CColor +}; + +struct GrappleParameters : BigYAML +{ + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value disableTurning; +}; + +struct HealthInfo : BigYAML +{ + DECL_YAML + Value propertyCount; + Value health; + Value knockbackResistence; +}; + +struct HudColor : BigYAML +{ + DECL_YAML + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; + +struct LightParameters : BigYAML +{ + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value shadowTesselation; + Value unknown3; + Value unknown4; + Value unknown5; // CColor + Value unknown6; + Value worldLightingOptions; + Value lightRecalculationOptions; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; +}; + +struct PatternedInfo : BigYAML +{ + DECL_YAML + Value propertyCount; + Value mass; + Value speed; + Value turnSpeed; + Value detectionRange; + Value detectionHeightRange; + Value dectectionAngle; + Value minAttackRange; + Value maxAttackRange; + Value averageAttackTime; + Value attackTimeVariation; + Value leashRadius; + Value playerLeashRadius; + Value playerLeashTime; + DamageInfo contactDamage; + Value damageWaitTime; + HealthInfo healthInfo; + DamageVulnerability damageVulnerability; + Value unkown1; + Value unkown2; + Value unkown3; + Value unkown4; + Value unkown5; + Value unkown6; + Value unkown7; + Value soundID1; + AnimationParameters animationParameters; + Value active; + UniqueID32 stateMachine; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + UniqueID32 particle1; + Value unknown13; + Value unknown14; + UniqueID32 particle2; + Value soundID2; +}; + +struct PlayerHintParameters : BigYAML +{ + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; +}; + +struct ScannableParameters : BigYAML +{ + DECL_YAML + Value propertyCount; + UniqueID32 scanId; +}; + +struct VisorParameters : BigYAML +{ + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; +}; + +struct ActorParameters : BigYAML +{ + DECL_YAML + Value propertyCount; + LightParameters lightParameters; + ScannableParameters scannableParameters; + UniqueID32 xrayModel; + UniqueID32 xraySkin; + UniqueID32 thermalModel; + UniqueID32 thermalSkin; + Value unknown1; + Value unknown2; + Value unknown3; + VisorParameters visorParameters; + Value thermalHeat; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Parasite.hpp b/DataSpec/DNAMP1/ScriptObjects/Parasite.hpp new file mode 100644 index 000000000..cea566576 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Parasite.hpp @@ -0,0 +1,44 @@ +#ifndef _DNAMP1_PARASITE_HPP_ +#define _DNAMP1_PARASITE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Parasite : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PathCamera.hpp b/DataSpec/DNAMP1/ScriptObjects/PathCamera.hpp new file mode 100644 index 000000000..dc2e29c6a --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PathCamera.hpp @@ -0,0 +1,41 @@ +#ifndef _DNAMP1_PATHCAMERA_HPP_ +#define _DNAMP1_PATHCAMERA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PathCamera : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + struct CameraParameters : BigYAML + { + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + } cameraParameters; + + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PhazonHealingNodule.hpp b/DataSpec/DNAMP1/ScriptObjects/PhazonHealingNodule.hpp new file mode 100644 index 000000000..66a0ce85e --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PhazonHealingNodule.hpp @@ -0,0 +1,28 @@ +#ifndef _DNAMP1_PHAZONHEALINGNODULE_HPP_ +#define _DNAMP1_PHAZONHEALINGNODULE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PhazonHealingNodule : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + UniqueID32 elsc; + String<-1> unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PhazonPool.hpp b/DataSpec/DNAMP1/ScriptObjects/PhazonPool.hpp new file mode 100644 index 000000000..7ffd49250 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PhazonPool.hpp @@ -0,0 +1,37 @@ +#ifndef _DNAMP1_PHAZONPOOL_HPP_ +#define _DNAMP1_PHAZONPOOL_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PhazonPool : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown1; + UniqueID32 model1; + UniqueID32 model2; + UniqueID32 particle1; + UniqueID32 particle2; + Value unknown2; + DamageInfo damageInfo; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Pickup.hpp b/DataSpec/DNAMP1/ScriptObjects/Pickup.hpp new file mode 100644 index 000000000..b08cd1ed6 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Pickup.hpp @@ -0,0 +1,37 @@ +#ifndef _DNAMP1_PICKUP_HPP_ +#define _DNAMP1_PICKUP_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Pickup : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value hitboxVolume; + Value scanPosition; + Value pickupType; + Value capacity; + Value amount; + Value dropRate; + Value lifetime; + Value spawnDelay; + UniqueID32 model; + AnimationParameters animationParameters; + ActorParameters actorParameters; + Value active; + Value unknown1; + UniqueID32 particle; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PickupGenerator.hpp b/DataSpec/DNAMP1/ScriptObjects/PickupGenerator.hpp new file mode 100644 index 000000000..bce3719d1 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PickupGenerator.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_PICKUPGENERATOR_HPP_ +#define _DNAMP1_PICKUPGENERATOR_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PickupGenerator : IScriptObject +{ + DECL_YAML + String<-1> name; + Value offset; + Value active; + Value frequency; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Platform.hpp b/DataSpec/DNAMP1/ScriptObjects/Platform.hpp new file mode 100644 index 000000000..2e9976fb6 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Platform.hpp @@ -0,0 +1,38 @@ +#ifndef _DNAMP1_PLATFORM_HPP_ +#define _DNAMP1_PLATFORM_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Platform : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown1; + Value scanOffset; + UniqueID32 model; + AnimationParameters animationParameters; + ActorParameters actorParameters; + Value unknown2; + Value active; + UniqueID32 dcln; + HealthInfo healthInfo; + DamageVulnerability damageVulnerabilty; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PlayerActor.hpp b/DataSpec/DNAMP1/ScriptObjects/PlayerActor.hpp new file mode 100644 index 000000000..6cc83fb8c --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PlayerActor.hpp @@ -0,0 +1,47 @@ +#ifndef _DNAMP1_PLAYERACTOR_HPP_ +#define _DNAMP1_PLAYERACTOR_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PlayerActor : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value unknown1; + Value scanOffset; + Value unknown2; + Value unknown3; + HealthInfo healthInfo; + DamageVulnerability damageVulnerability; + UniqueID32 model; + AnimationParameters animationParameters; + ActorParameters actorParameters; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + struct PlayerParameters : BigYAML + { + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + } playerParameters; + Value unknown8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PlayerHint.hpp b/DataSpec/DNAMP1/ScriptObjects/PlayerHint.hpp new file mode 100644 index 000000000..c6d11883e --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PlayerHint.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_PLAYERHINT_HPP_ +#define _DNAMP1_PLAYERHINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PlayerHint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + PlayerHintParameters playerHintParameters; + Value unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PlayerStateChange.hpp b/DataSpec/DNAMP1/ScriptObjects/PlayerStateChange.hpp new file mode 100644 index 000000000..3f80202ed --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PlayerStateChange.hpp @@ -0,0 +1,26 @@ +#ifndef _DNAMP1_PLAYERSTATECHANGE_HPP_ +#define _DNAMP1_PLAYERSTATECHANGE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PlayerStateChange : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown; + Value item; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PointOfInterest.hpp b/DataSpec/DNAMP1/ScriptObjects/PointOfInterest.hpp new file mode 100644 index 000000000..8b4e56703 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PointOfInterest.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_POINTOFINTEREST_HPP_ +#define _DNAMP1_POINTOFINTEREST_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PointOfInterest : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + ScannableParameters scannableParameters; + Value unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PuddleSpore.hpp b/DataSpec/DNAMP1/ScriptObjects/PuddleSpore.hpp new file mode 100644 index 000000000..14783255b --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PuddleSpore.hpp @@ -0,0 +1,35 @@ +#ifndef _DNAMP1_PUDDLESPORE_HPP_ +#define _DNAMP1_PUDDLESPORE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PuddleSpore : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown2; + UniqueID32 particle; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + UniqueID32 wpsc; + DamageInfo damageInfo; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/PuddleToadGamma.hpp b/DataSpec/DNAMP1/ScriptObjects/PuddleToadGamma.hpp new file mode 100644 index 000000000..06e1b42a6 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/PuddleToadGamma.hpp @@ -0,0 +1,36 @@ +#ifndef _DNAMP1_PUDDLETOADGAMMA_HPP_ +#define _DNAMP1_PUDDLETOADGAMMA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct PuddleToadGamma : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + DamageInfo damageInfo1; + DamageInfo damageInfo2; + UniqueID32 dcln; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Puffer.hpp b/DataSpec/DNAMP1/ScriptObjects/Puffer.hpp new file mode 100644 index 000000000..58eccebd7 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Puffer.hpp @@ -0,0 +1,35 @@ +#ifndef _DNAMP1_PUFFER_HPP_ +#define _DNAMP1_PUFFER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Puffer : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + UniqueID32 particle; + DamageInfo damageInfo1; + UniqueID32 texture; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + DamageInfo damageInfo2; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/RadialDamage.hpp b/DataSpec/DNAMP1/ScriptObjects/RadialDamage.hpp new file mode 100644 index 000000000..784985fec --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/RadialDamage.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_RADIALDAMAGE_HPP_ +#define _DNAMP1_RADIALDAMAGE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct RadialDamage : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value active; + DamageInfo damageInfo; + Value radius; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/RandomRelay.hpp b/DataSpec/DNAMP1/ScriptObjects/RandomRelay.hpp new file mode 100644 index 000000000..7fb3ee8cc --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/RandomRelay.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_RANDOMRELAY_HPP_ +#define _DNAMP1_RANDOMRELAY_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct RandomRelay : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Relay.hpp b/DataSpec/DNAMP1/ScriptObjects/Relay.hpp new file mode 100644 index 000000000..e82698c4d --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Relay.hpp @@ -0,0 +1,21 @@ +#ifndef _DNAMP1_RELAY_HPP_ +#define _DNAMP1_RELAY_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Relay : IScriptObject +{ + DECL_YAML + String<-1> name; + Value active; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Repulsor.hpp b/DataSpec/DNAMP1/ScriptObjects/Repulsor.hpp new file mode 100644 index 000000000..219992453 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Repulsor.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_REPULSOR_HPP_ +#define _DNAMP1_REPULSOR_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Repulsor : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value active; + Value unknown; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Ridley.hpp b/DataSpec/DNAMP1/ScriptObjects/Ridley.hpp new file mode 100644 index 000000000..24cd2c16f --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Ridley.hpp @@ -0,0 +1,102 @@ +#ifndef _DNAMP1_RIDLEY_HPP_ +#define _DNAMP1_RIDLEY_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Ridley : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value 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 unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + UniqueID32 wpsc1; + DamageInfo damageInfo1; + struct RidleyStruct1 : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 texture1; + UniqueID32 texture2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; //CColor + Value unknown13; //CColor + } ridleyStruct1; + + Value soundID1; + UniqueID32 wpsc2; + DamageInfo damageInfo2; + + struct RidleyStruct2 : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + } ridleyStruct2_1; + + UniqueID32 wpsc3; + DamageInfo damageInfo3; + RidleyStruct2 ridleyStruct2_2; + Value soundID2; + DamageInfo damageInfo4; + RidleyStruct2 ridleyStruct2_3; + Value unknown5; + Value unknown6; + DamageInfo damageInfo5; + Value unknown7; + DamageInfo damageInfo6; + Value unknown8; + DamageInfo damageInfo7; + Value unknown9; + UniqueID32 elsc; + Value unknown10; + Value soundID3; + DamageInfo damageInfo8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Ripper.hpp b/DataSpec/DNAMP1/ScriptObjects/Ripper.hpp new file mode 100644 index 000000000..3f9240fc1 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Ripper.hpp @@ -0,0 +1,27 @@ +#ifndef _DNAMP1_RIPPER_HPP_ +#define _DNAMP1_RIPPER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Ripper : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + GrappleParameters grappleParameters; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Ripple.hpp b/DataSpec/DNAMP1/ScriptObjects/Ripple.hpp new file mode 100644 index 000000000..6d76bb94e --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Ripple.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_RIPPLE_HPP_ +#define _DNAMP1_RIPPLE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Ripple : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value unknown1; + Value unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/RoomAcoustics.hpp b/DataSpec/DNAMP1/ScriptObjects/RoomAcoustics.hpp new file mode 100644 index 000000000..985d52b8d --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/RoomAcoustics.hpp @@ -0,0 +1,51 @@ +#ifndef _DNAMP1_ROOMACOUSTICS_HPP_ +#define _DNAMP1_ROOMACOUSTICS_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct RoomAcoustics : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; + Value unknown20; + Value unknown21; + Value unknown22; + Value unknown23; + Value unknown24; + Value unknown25; + Value unknown26; + Value unknown27; + Value unknown28; + Value unknown29; + Value unknown30; + Value unknown31; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/RumbleEffect.hpp b/DataSpec/DNAMP1/ScriptObjects/RumbleEffect.hpp new file mode 100644 index 000000000..572c9897a --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/RumbleEffect.hpp @@ -0,0 +1,31 @@ +#ifndef _DNAMP1_RUMBLEEFFECT_HPP_ +#define _DNAMP1_RUMBLEEFFECT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct RumbleEffect : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value unknown1; + Value unknown2; + Value unknown3; + struct RumbleEffectParameters : BigYAML + { + DECL_YAML + Value propertyCount; + Value unknown1; + Value unknown2; + } rumbleParameters; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ScriptBeam.hpp b/DataSpec/DNAMP1/ScriptObjects/ScriptBeam.hpp new file mode 100644 index 000000000..82d50f0c2 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ScriptBeam.hpp @@ -0,0 +1,46 @@ +#ifndef _DNAMP1_SCRIPTBEAM_HPP_ +#define _DNAMP1_SCRIPTBEAM_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ScriptBeam : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + UniqueID32 wpsc; + struct ScriptBeamParameters : BigYAML + { + DECL_YAML + Value propertyCount; + Value unknown1; + UniqueID32 particel1; + UniqueID32 particel2; + UniqueID32 texture1; + UniqueID32 texture2; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; // CColor + Value unknown12; // CColor + } beamParametrs; + DamageInfo damageInfo; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ScriptTypes.hpp b/DataSpec/DNAMP1/ScriptObjects/ScriptTypes.hpp new file mode 100644 index 000000000..b88c4ef3a --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ScriptTypes.hpp @@ -0,0 +1,145 @@ +#ifndef _DNAMP1_SCRIPTTYPES_HPP_ +#define _DNAMP1_SCRIPTTYPES_HPP_ +#include "Actor.hpp" +#include "ActorContraption.hpp" +#include "ActorKeyframe.hpp" +#include "ActorRotate.hpp" +#include "AIJumpPoint.hpp" +#include "AIKeyframe.hpp" +#include "AmbientAI.hpp" +#include "AreaAttributes.hpp" +#include "AtomicAlpha.hpp" +#include "AtomicBeta.hpp" +#include "Babygoth.hpp" +#include "BallTrigger.hpp" +#include "Beetle.hpp" +#include "BloodFlower.hpp" +#include "Burrower.hpp" +#include "Camera.hpp" +#include "CameraBlurKeyframe.hpp" +#include "CameraFilterKeyframe.hpp" +#include "CameraHint.hpp" +#include "CameraHintTrigger.hpp" +#include "CameraPitchVolume.hpp" +#include "CameraShaker.hpp" +#include "CameraWaypoint.hpp" +#include "ChozoGhost.hpp" +#include "ColorModulate.hpp" +#include "ControllerAction.hpp" +#include "Counter.hpp" +#include "CoverPoint.hpp" +#include "DamageableTrigger.hpp" +#include "Debris.hpp" +#include "DebrisExtended.hpp" +#include "DebugCameraWaypoint.hpp" +#include "DistanceFog.hpp" +#include "Dock.hpp" +#include "DockAreaChange.hpp" +#include "DoorArea.hpp" +#include "Drone.hpp" +#include "Effect.hpp" +#include "ElectroMagneticPulse.hpp" +#include "ElitePirate.hpp" +#include "EnergyBall.hpp" +#include "EnvFxDensityController.hpp" +#include "Eyeball.hpp" +#include "FireFlea.hpp" +#include "FishCloud.hpp" +#include "FishCloudModifier.hpp" +#include "Flaahgra.hpp" +#include "FlaahgraTentacle.hpp" +#include "FlickerBat.hpp" +#include "FlyingPirate.hpp" +#include "FogVolume.hpp" +#include "Geemer.hpp" +#include "Generator.hpp" +#include "GrapplePoint.hpp" +#include "GunTurret.hpp" +#include "HUDMemo.hpp" +#include "IceSheegoth.hpp" +#include "IceZoomer.hpp" +#include "JellyZap.hpp" +#include "Magdolite.hpp" +#include "MazeNode.hpp" +#include "MemoryRelay.hpp" +#include "MetareeAlpha.hpp" +#include "MetroidAlpha.hpp" +#include "MetroidBeta.hpp" +#include "MetroidPrimeStage1.hpp" +#include "MetroidPrimeStage2.hpp" +#include "Midi.hpp" +#include "NewCameraShaker.hpp" +#include "NewIntroBoss.hpp" +#include "Oculus.hpp" +#include "OmegaPirate.hpp" +#include "Parasite.hpp" +#include "PathCamera.hpp" +#include "PhazonHealingNodule.hpp" +#include "PhazonPool.hpp" +#include "Pickup.hpp" +#include "PickupGenerator.hpp" +#include "Platform.hpp" +#include "PlayerActor.hpp" +#include "PlayerHint.hpp" +#include "PlayerStateChange.hpp" +#include "PointOfInterest.hpp" +#include "PuddleSpore.hpp" +#include "PuddleToadGamma.hpp" +#include "Puffer.hpp" +#include "RadialDamage.hpp" +#include "RandomRelay.hpp" +#include "Relay.hpp" +#include "Repulsor.hpp" +#include "Ridley.hpp" +#include "Ripper.hpp" +#include "Ripple.hpp" +#include "RoomAcoustics.hpp" +#include "RumbleEffect.hpp" +#include "ScriptBeam.hpp" +#include "Seedling.hpp" +#include "ShadowProjector.hpp" +#include "SnakeWeedSwarm.hpp" +#include "Sound.hpp" +#include "SpacePirate.hpp" +#include "SpankWeed.hpp" +#include "SpawnPoint.hpp" +#include "SpecialFunction.hpp" +#include "SpiderBallAttractionSurface.hpp" +#include "SpiderBallWaypoint.hpp" +#include "SpindleCamera.hpp" +#include "Steam.hpp" +#include "StreamedAudio.hpp" +#include "Switch.hpp" +#include "TargetingPoint.hpp" +#include "TeamAIMgr.hpp" +#include "Thardus.hpp" +#include "ThardusRockProjectile.hpp" +#include "ThermalHeatFader.hpp" +#include "Timer.hpp" +#include "Trigger.hpp" +#include "Tryclops.hpp" +#include "VisorFlare.hpp" +#include "VisorGoo.hpp" +#include "WallCrawlerSwarm.hpp" +#include "Warwasp.hpp" +#include "Water.hpp" +#include "Waypoint.hpp" +#include "WorldLightFader.hpp" +#include "WorldTeleporter.hpp" +#include +#include + +namespace Retro +{ +namespace DNAMP1 +{ +struct ScriptObjectSpec +{ + atUint8 type; + std::function a; +}; + +extern std::vector SCRIPT_OBJECT_DB; +} +} +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Seedling.hpp b/DataSpec/DNAMP1/ScriptObjects/Seedling.hpp new file mode 100644 index 000000000..61db9791d --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Seedling.hpp @@ -0,0 +1,33 @@ +#ifndef _DNAMP1_SEEDLING_HPP_ +#define _DNAMP1_SEEDLING_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Seedling : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + UniqueID32 unknown1; + UniqueID32 unknown2; + DamageInfo damageInfo1; + DamageInfo damageInfo2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ShadowProjector.hpp b/DataSpec/DNAMP1/ScriptObjects/ShadowProjector.hpp new file mode 100644 index 000000000..739c4bfeb --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ShadowProjector.hpp @@ -0,0 +1,29 @@ +#ifndef _DNAMP1_SHADOWPROJECT_HPP_ +#define _DNAMP1_SHADOWPROJECT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ShadowProjector : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SnakeWeedSwarm.hpp b/DataSpec/DNAMP1/ScriptObjects/SnakeWeedSwarm.hpp new file mode 100644 index 000000000..2944d3462 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SnakeWeedSwarm.hpp @@ -0,0 +1,44 @@ +#ifndef _DNAMP1_SNAKEWEEDSWARM_HPP_ +#define _DNAMP1_SNAKEWEEDSWARM_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SnakeWeedSwarm : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value volume; + Value unknown1; + AnimationParameters animationParameters; + ActorParameters actorParameters; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + DamageInfo damageInfo; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Sound.hpp b/DataSpec/DNAMP1/ScriptObjects/Sound.hpp new file mode 100644 index 000000000..1c0c6b9f5 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Sound.hpp @@ -0,0 +1,39 @@ +#ifndef _DNAMP1_SOUND_HPP_ +#define _DNAMP1_SOUND_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Sound : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value soundID; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SpacePirate.hpp b/DataSpec/DNAMP1/ScriptObjects/SpacePirate.hpp new file mode 100644 index 000000000..6681c7989 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SpacePirate.hpp @@ -0,0 +1,55 @@ +#ifndef _DNAMP1_SPACEPIRATE_HPP_ +#define _DNAMP1_SPACEPIRATE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SpacePirate : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + UniqueID32 wpsc1; + DamageInfo damageInfo1; + Value soundID1; + DamageInfo damageInfo2; + Value unknown9; + UniqueID32 wpsc2; + DamageInfo damageInfo3; + Value unknown10; + Value soundID2; + Value unknown11; + Value unknown12; + Value soundID3; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + Value unknown18; + Value soundID4; + Value soundID5; + Value unknown19; + Value unknown20; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SpankWeed.hpp b/DataSpec/DNAMP1/ScriptObjects/SpankWeed.hpp new file mode 100644 index 000000000..e4b2651db --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SpankWeed.hpp @@ -0,0 +1,30 @@ +#ifndef _DNAMP1_SPANKWEED_HPP_ +#define _DNAMP1_SPANKWEED_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SpankWeed : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SpawnPoint.hpp b/DataSpec/DNAMP1/ScriptObjects/SpawnPoint.hpp new file mode 100644 index 000000000..de5cfc21a --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SpawnPoint.hpp @@ -0,0 +1,54 @@ +#ifndef _DNAMP1_SPAWNPOINT_HPP_ +#define _DNAMP1_SPAWNPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SpawnPoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value powerBeam; + Value iceBeam; + Value waveBeam; + Value plasmaBeam; + Value missiles; + Value scanVisor; + Value morphBallBombs; + Value powerBombs; + Value flameThrower; + Value thermalVisor; + Value chargeBeam; + Value superMissile; + Value grappleBeam; + Value xrayVisor; + Value iceSpreader; + Value spaceJump; + Value morphBall; + Value combatVisor; + Value boostBall; + Value spiderBall; + Value powerSuit; // verification needed + Value gravitySuit; + Value variaSuit; + Value phazonSuit; + Value energyTanks; + Value unknownItem1; + Value healthRefill; + Value unknownItem2; + Value waveBuster; + Value defaultSpawn; + Value active; + Value morphed; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SpecialFunction.hpp b/DataSpec/DNAMP1/ScriptObjects/SpecialFunction.hpp new file mode 100644 index 000000000..8d8db9b19 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SpecialFunction.hpp @@ -0,0 +1,39 @@ +#ifndef _DNAMP1_SPECIALFUNCTION_HPP_ +#define _DNAMP1_SPECIALFUNCTION_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SpecialFunction : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value type; + String<-1> unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + struct LayerSwitch : BigYAML + { + DECL_YAML + UniqueID32 area; + Value layerIdx; + } layerSwitch; + Value pickup; + Value unknown5; + Value unknown6; + Value unknown7; // Used by SpinnerController 1 + Value unknown8; // Used by SpinnerController 2 + Value unknown9; // Used by SpinnerController 3 +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SpiderBallAttractionSurface.hpp b/DataSpec/DNAMP1/ScriptObjects/SpiderBallAttractionSurface.hpp new file mode 100644 index 000000000..ea0e353fd --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SpiderBallAttractionSurface.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_SPIDERBALLATTRACTIONSURFACE_HPP_ +#define _DNAMP1_SPIDERBALLATTRACTIONSURFACE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SpiderBallAttractionSurface : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + Value active; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SpiderBallWaypoint.hpp b/DataSpec/DNAMP1/ScriptObjects/SpiderBallWaypoint.hpp new file mode 100644 index 000000000..22c78e649 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SpiderBallWaypoint.hpp @@ -0,0 +1,24 @@ +#ifndef _DNAMP1_SPIDERBALLWAYPOINT_HPP_ +#define _DNAMP1_SPIDERBALLWAYPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SpiderBallWaypoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/SpindleCamera.hpp b/DataSpec/DNAMP1/ScriptObjects/SpindleCamera.hpp new file mode 100644 index 000000000..37cd1f3f9 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/SpindleCamera.hpp @@ -0,0 +1,40 @@ +#ifndef _DNAMP1_SPINDLECAMERA_HPP_ +#define _DNAMP1_SPINDLECAMERA_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct SpindleCamera : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + PlayerHintParameters playerHint; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + struct SpindleCameraParameters : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + } spindleCameraParameters[15]; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Steam.hpp b/DataSpec/DNAMP1/ScriptObjects/Steam.hpp new file mode 100644 index 000000000..49981f582 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Steam.hpp @@ -0,0 +1,32 @@ +#ifndef _DNAMP1_STEAM_HPP_ +#define _DNAMP1_STEAM_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Steam : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value volume; + DamageInfo damageInfo; + Value unknown1; + Value unknown2; + Value unknown3; + UniqueID32 texture; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/StreamedAudio.hpp b/DataSpec/DNAMP1/ScriptObjects/StreamedAudio.hpp new file mode 100644 index 000000000..72276f522 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/StreamedAudio.hpp @@ -0,0 +1,28 @@ +#ifndef _DNAMP1_STREAMEDAUDIO_HPP_ +#define _DNAMP1_STREAMEDAUDIO_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct StreamedAudio : IScriptObject +{ + DECL_YAML + String<-1> name; + Value active; + String<-1> channels; + Value unnknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Switch.hpp b/DataSpec/DNAMP1/ScriptObjects/Switch.hpp new file mode 100644 index 000000000..38b5cbcd0 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Switch.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_SWITCH_HPP_ +#define _DNAMP1_SWITCH_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Switch : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/TargetingPoint.hpp b/DataSpec/DNAMP1/ScriptObjects/TargetingPoint.hpp new file mode 100644 index 000000000..ab02dd634 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/TargetingPoint.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_TARGETTINGPOINT_HPP_ +#define _DNAMP1_TARGETTINGPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct TargetingPoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value active; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/TeamAIMgr.hpp b/DataSpec/DNAMP1/ScriptObjects/TeamAIMgr.hpp new file mode 100644 index 000000000..1641ce707 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/TeamAIMgr.hpp @@ -0,0 +1,29 @@ +#ifndef _DNAMP1_TEAMAIMGR_HPP_ +#define _DNAMP1_TEAMAIMGR_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct TeamAIMgr : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Thardus.hpp b/DataSpec/DNAMP1/ScriptObjects/Thardus.hpp new file mode 100644 index 000000000..8e42fcb78 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Thardus.hpp @@ -0,0 +1,43 @@ +#ifndef _DNAMP1_THARDUS_HPP_ +#define _DNAMP1_THARDUS_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Thardus : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + UniqueID32 models[14]; + UniqueID32 particles1[3]; + UniqueID32 stateMachine; + UniqueID32 particles2[6]; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + UniqueID32 texture; + Value unknown9; + UniqueID32 particle; + Value unknown10; + Value unknown11; + Value unknown12; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ThardusRockProjectile.hpp b/DataSpec/DNAMP1/ScriptObjects/ThardusRockProjectile.hpp new file mode 100644 index 000000000..3e77fc1d4 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ThardusRockProjectile.hpp @@ -0,0 +1,30 @@ +#ifndef _DNAMP1_THARDUSROCKPROJECTILE_HPP_ +#define _DNAMP1_THARDUSROCKPROJECTILE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ThardusRockProjectile : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + UniqueID32 model; + UniqueID32 stateMachine; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/ThermalHeatFader.hpp b/DataSpec/DNAMP1/ScriptObjects/ThermalHeatFader.hpp new file mode 100644 index 000000000..eff836d90 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/ThermalHeatFader.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_THERMALHEATFADER_HPP_ +#define _DNAMP1_THERMALHEATFADER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct ThermalHeatFader : IScriptObject +{ + DECL_YAML + String<-1> name; + Value active; + Value fadedHeatLevel; + Value initialHeatLevel; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Timer.hpp b/DataSpec/DNAMP1/ScriptObjects/Timer.hpp new file mode 100644 index 000000000..c635641ab --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Timer.hpp @@ -0,0 +1,25 @@ +#ifndef _DNAMP1_TIMER_HPP_ +#define _DNAMP1_TIMER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Timer : IScriptObject +{ + DECL_YAML + String<-1> name; + Value startTime; + Value maxRandomAddition; + Value resetToZero; + Value startImmediately; + Value active; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Trigger.hpp b/DataSpec/DNAMP1/ScriptObjects/Trigger.hpp new file mode 100644 index 000000000..31a811be2 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Trigger.hpp @@ -0,0 +1,28 @@ +#ifndef _DNAMP1_SCRIPTOBJECT_HPP_ +#define _DNAMP1_SCRIPTOBJECT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Trigger : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value volume; + DamageInfo damageInfo; + Value force; + Value unknown; + Value active; + Value unknown2; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Tryclops.hpp b/DataSpec/DNAMP1/ScriptObjects/Tryclops.hpp new file mode 100644 index 000000000..dbb5633df --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Tryclops.hpp @@ -0,0 +1,29 @@ +#ifndef _DNAMP1_TRYCLOPS_HPP_ +#define _DNAMP1_TRYCLOPS_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Tryclops : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/VisorFlare.hpp b/DataSpec/DNAMP1/ScriptObjects/VisorFlare.hpp new file mode 100644 index 000000000..cb38807f5 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/VisorFlare.hpp @@ -0,0 +1,29 @@ +#ifndef _DNAMP1_VISORFLARE_HPP_ +#define _DNAMP1_VISORFLARE_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct VisorFlare : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + FlareDefinition flareDefinitions[5]; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/VisorGoo.hpp b/DataSpec/DNAMP1/ScriptObjects/VisorGoo.hpp new file mode 100644 index 000000000..096367229 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/VisorGoo.hpp @@ -0,0 +1,30 @@ +#ifndef _DNAMP1_VISORGOO_HPP_ +#define _DNAMP1_VISORGOO_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct VisorGoo : IScriptObject +{ + DECL_YAML + String<-1> name; + Value position; + UniqueID32 particle; + Value unknown1; // always FF + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; // CColor + Value unknown7; + Value unknown8; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/WallCrawlerSwarm.hpp b/DataSpec/DNAMP1/ScriptObjects/WallCrawlerSwarm.hpp new file mode 100644 index 000000000..91dbd5037 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/WallCrawlerSwarm.hpp @@ -0,0 +1,58 @@ +#ifndef _DNAMP1_WALLCRAWLERSWARM_HPP_ +#define _DNAMP1_WALLCRAWLERSWARM_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct WallCrawlerSwarm : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value volume; + Value active; + ActorParameters actorParameters; + Value unknown1; + AnimationParameters animationParameters; + Value unknown2; + Value unknown3; + UniqueID32 particle1; + UniqueID32 particle2; + Value unknown4; // always FF + Value unknown5; // always FF + DamageInfo damageInfo1; + Value unknown6; + DamageInfo damageInfo2; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; + Value unknown20; + Value unknown21; + Value unkown22; + Value unkown23; + Value unkown24; + HealthInfo healthInfo; + DamageVulnerability damageVulnerabilty; + Value soundID1; // verification needed + Value soundID2; // verification needed +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Warwasp.hpp b/DataSpec/DNAMP1/ScriptObjects/Warwasp.hpp new file mode 100644 index 000000000..02ae9af6b --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Warwasp.hpp @@ -0,0 +1,32 @@ +#ifndef _DNAMP1_WARWASP_HPP_ +#define _DNAMP1_WARWASP_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Warwasp : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + Value location; + Value orientation; + Value scale; + PatternedInfo patternedInfo; + ActorParameters actorParameters; + Value unknown2; + DamageInfo damageInfo1; + UniqueID32 wpsc1; + DamageInfo damageInfo2; + UniqueID32 particle; + Value unknown3; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Water.hpp b/DataSpec/DNAMP1/ScriptObjects/Water.hpp new file mode 100644 index 000000000..e46d1025b --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Water.hpp @@ -0,0 +1,101 @@ +#ifndef _DNAMP1_WATER_HPP_ +#define _DNAMP1_WATER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Water : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value volume; + DamageInfo damageInfo; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + UniqueID32 texture1; + UniqueID32 texture2; + UniqueID32 texture3; + UniqueID32 texture4; + UniqueID32 texture5; + UniqueID32 texture6; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + struct FluidUVMotion : BigYAML + { + DECL_YAML + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + } fluidUVMotion; + + Value unknown13; + Value unknown14; + Value unknown15; + Value unknown16; + Value unknown17; + Value unknown18; + Value unknown19; + Value unknown20; + Value unknown21; + Value unknown22; + UniqueID32 particle1; + UniqueID32 particle2; + UniqueID32 particle3; + UniqueID32 particle4; + UniqueID32 particle5; + Value soundID1; // needs verification + Value soundID2; // needs verification + Value soundID3; // needs verification + Value soundID4; // needs verification + Value soundID5; // needs verification + Value unknown23; + Value unknown24; + Value unknown25; + Value unknown26; + Value unknown27; + Value unknown28; + Value unknown29; + Value unknown30; + Value unknown31; + Value unknown32; + Value unknown33; // CColor + UniqueID32 texture34; + Value unknown35; + Value unknown36; + Value unknown37; + Value unknown38; + Value unknown39; + Value unknown40; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/Waypoint.hpp b/DataSpec/DNAMP1/ScriptObjects/Waypoint.hpp new file mode 100644 index 000000000..87f095167 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/Waypoint.hpp @@ -0,0 +1,32 @@ +#ifndef _DNAMP1_WAYPOINT_HPP_ +#define _DNAMP1_WAYPOINT_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct Waypoint : IScriptObject +{ + DECL_YAML + String<-1> name; + Value location; + Value orientation; + Value unknown1; + Value unknown2; + Value unknown3; + Value unknown4; + Value unknown5; + Value unknown6; + Value unknown7; + Value unknown8; + Value unknown9; + Value unknown10; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/WorldLightFader.hpp b/DataSpec/DNAMP1/ScriptObjects/WorldLightFader.hpp new file mode 100644 index 000000000..79b662865 --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/WorldLightFader.hpp @@ -0,0 +1,23 @@ +#ifndef _DNAMP1_WORLDLIGHTFADER_HPP_ +#define _DNAMP1_WORLDLIGHTFADER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct WorldLightFader : IScriptObject +{ + DECL_YAML + String<-1> name; + Value activated; + Value fadedLevel; + Value intialLevel; +}; +} +} + +#endif diff --git a/DataSpec/DNAMP1/ScriptObjects/WorldTeleporter.hpp b/DataSpec/DNAMP1/ScriptObjects/WorldTeleporter.hpp new file mode 100644 index 000000000..6087e597c --- /dev/null +++ b/DataSpec/DNAMP1/ScriptObjects/WorldTeleporter.hpp @@ -0,0 +1,40 @@ +#ifndef _DNAMP1_WORLDTELEPORTER_HPP_ +#define _DNAMP1_WORLDTELEPORTER_HPP_ + +#include "../../DNACommon/DNACommon.hpp" +#include "IScriptObject.hpp" +#include "Parameters.hpp" + +namespace Retro +{ +namespace DNAMP1 +{ +struct WorldTeleporter : IScriptObject +{ + DECL_YAML + String<-1> name; + Value unknown1; + UniqueID32 mlvl; + UniqueID32 mrea; + AnimationParameters animationParameters; + Value unknown2; + UniqueID32 model1; + Value unknown3; + UniqueID32 model2; + Value unknown4; + Value unknown5; + Value soundID; // needs verifcation + Value unknown6; + Value unknown7; + Value unknown8; + UniqueID32 font; + UniqueID32 strg; + Value unknown9; + Value unknown10; + Value unknown11; + Value unknown12; +}; +} +} + +#endif