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
{
DECL_YAML
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
Value<atVec3f> scale;
Value<atVec3f> collisionExtent;
Value<atVec3f> collisionOffset;
String<-1> name SO_NAME_SPECPROP();
Value<atVec3f> location SO_LOCATION_SPECPROP();
Value<atVec3f> orientation SO_ORIENTATION_SPECPROP();
Value<atVec3f> scale SO_SCALE_SPECPROP();
Value<atVec3f> collisionExtent SO_COLLISION_EXTENT_SPECPROP();
Value<atVec3f> collisionOffset SO_COLLISION_OFFSET_SPECPROP();
Value<float> unknown2;
Value<float> unknown3;
HealthInfo healthInfo;

View File

@ -4,8 +4,18 @@
#include "../DNAMP1.hpp"
#include "../SAVW.hpp"
#include "zeus/CAABox.hpp"
#include "specter/genie.hpp"
#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 DNAMP1

View File

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

2
hecl

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

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