2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-07-13 14:05:52 +00:00

Initial genie specter tool implementation

This commit is contained in:
Phillip Stephens 2017-12-15 18:16:20 -08:00
parent ce6a3aa50c
commit 1e05e950d0
5 changed files with 24 additions and 13 deletions

View File

@ -11,12 +11,12 @@ namespace DNAMP1
struct Actor : IScriptObject struct Actor : IScriptObject
{ {
DECL_YAML DECL_YAML
String<-1> name; String<-1> name SO_NAME_SPECPROP();
Value<atVec3f> location; Value<atVec3f> location SO_LOCATION_SPECPROP();
Value<atVec3f> orientation; Value<atVec3f> orientation SO_ORIENTATION_SPECPROP();
Value<atVec3f> scale; Value<atVec3f> scale SO_SCALE_SPECPROP();
Value<atVec3f> collisionExtent; Value<atVec3f> collisionExtent SO_COLLISION_EXTENT_SPECPROP();
Value<atVec3f> collisionOffset; Value<atVec3f> collisionOffset SO_COLLISION_OFFSET_SPECPROP();
Value<float> unknown2; Value<float> unknown2;
Value<float> unknown3; Value<float> unknown3;
HealthInfo healthInfo; HealthInfo healthInfo;

View File

@ -4,8 +4,18 @@
#include "../DNAMP1.hpp" #include "../DNAMP1.hpp"
#include "../SAVW.hpp" #include "../SAVW.hpp"
#include "zeus/CAABox.hpp" #include "zeus/CAABox.hpp"
#include "specter/genie.hpp"
#include <stdio.h> #include <stdio.h>
#define SO_NAME_SPECPROP() SPECTER_PROPERTY("Name", "Instance name; Used to debug scripting events")
#define SO_LOCATION_SPECPROP() SPECTER_PROPERTY("Location", "World relative location of the Actor instance")
#define SO_ORIENTATION_SPECPROP() SPECTER_PROPERTY("Orientation", "Object local axis-angle")
#define SO_SCALE_SPECPROP() SPECTER_PROPERTY("Scale", "Object local scale")
#define SO_COLLISION_EXTENT_SPECPROP() SPECTER_PROPERTY("Collision Extent", "")
#define SO_COLLISION_OFFSET_SPECPROP() SPECTER_PROPERTY("Collision Offset", "")
#define SO_ACTIVE_SPECPROP() SPECTER_PROPERTY("Active", "If enabled, object instance is drawn and updated")
namespace DataSpec namespace DataSpec
{ {
namespace DNAMP1 namespace DNAMP1

View File

@ -4,6 +4,7 @@
#include "../../DNACommon/DNACommon.hpp" #include "../../DNACommon/DNACommon.hpp"
#include "../DNAMP1.hpp" #include "../DNAMP1.hpp"
#include "../SAVW.hpp" #include "../SAVW.hpp"
#include "specter/genie.hpp"
namespace DataSpec namespace DataSpec
{ {
@ -53,7 +54,7 @@ enum class EPickupType : atUint32
World = 38, World = 38,
Spirit = 39, Spirit = 39,
Newborn = 40 Newborn = 40
}; } SPECTER_ENUM("Pickup Type", "", EPickupType);
enum class ESpecialFunctionType : atUint32 enum class ESpecialFunctionType : atUint32
{ {
@ -90,7 +91,7 @@ enum class ESpecialFunctionType : atUint32
Ending, Ending,
FusionRelay, FusionRelay,
WeaponSwitch // PAL Only WeaponSwitch // PAL Only
}; } SPECTER_ENUM("Special Function", "", EPickupType);
struct AnimationParameters : BigYAML struct AnimationParameters : BigYAML
{ {
@ -228,9 +229,9 @@ struct HealthInfo : BigYAML
{ {
DECL_YAML DECL_YAML
Value<atUint32> propertyCount; Value<atUint32> propertyCount;
Value<float> health; Value<float> health SPECTER_PROPERTY("Health", "Base health for object");
Value<float> knockbackResistence; Value<float> knockbackResistence SPECTER_PROPERTY("Knockback Resistence", "");
}; } SPECTER_PROPERTY("Health Info", "");
struct LightParameters : BigYAML struct LightParameters : BigYAML
{ {

2
hecl

@ -1 +1 @@
Subproject commit a7310a277f6c225dc6731b13a915b6cd1129ab24 Subproject commit 6edce191157151ffb97d574ebd0385ff431bdfa9

@ -1 +1 @@
Subproject commit 654374c1f28180b47f96a1524662756adfb1ac9c Subproject commit bb4729d02d7dd34bb6387aee0981199805914ea5