metaforce/DataSpec/DNAMP1/ScriptObjects/CameraHint.hpp

70 lines
2.2 KiB
C++
Raw Normal View History

2018-10-07 03:42:33 +00:00
#pragma once
2015-09-10 20:30:35 +00:00
#include "../../DNACommon/DNACommon.hpp"
#include "IScriptObject.hpp"
#include "Parameters.hpp"
2017-12-29 08:08:12 +00:00
namespace DataSpec::DNAMP1
2015-09-10 20:30:35 +00:00
{
struct CameraHint : IScriptObject
{
2018-02-22 07:24:51 +00:00
AT_DECL_DNA_YAML
AT_DECL_DNAV
2015-09-10 20:30:35 +00:00
String<-1> name;
Value<atVec3f> location;
Value<atVec3f> orientation;
2017-10-16 05:26:50 +00:00
Value<bool> active;
Value<atUint32> priority;
Value<atUint32> behaviour;
2018-02-22 07:24:51 +00:00
struct CameraHintParameters : BigDNA
2015-09-10 20:30:35 +00:00
{
2018-02-22 07:24:51 +00:00
AT_DECL_DNA
2015-09-10 20:30:35 +00:00
Value<atUint32> propertyCount;
2017-10-17 05:51:53 +00:00
Value<bool> calculateCamPos; // 0x1
2017-10-16 05:26:50 +00:00
Value<bool> chaseAllowed; // 0x2
Value<bool> boostAllowed; // 0x4
Value<bool> obscureAvoidance; // 0x8
Value<bool> volumeCollider; // 0x10
Value<bool> applyImmediately; // 0x20
Value<bool> lookAtBall; // 0x40
Value<bool> hintDistanceSelection; // 0x80
Value<bool> hintDistanceSelfPos; // 0x100
Value<bool> controlInterpolation; // 0x200
2018-06-28 01:17:01 +00:00
Value<bool> sinusoidalInterpolation; // 0x400
2018-06-28 06:47:34 +00:00
Value<bool> sinusoidalInterpolationHintless; // 0x800
2017-10-16 05:26:50 +00:00
Value<bool> clampVelocity; // 0x1000
Value<bool> skipCinematic; // 0x2000
Value<bool> noElevationInterp; // 0x4000
Value<bool> directElevation; // 0x8000
Value<bool> overrideLookDir; // 0x10000
Value<bool> noElevationVelClamp; // 0x20000
Value<bool> calculateTransformFromPrevCam; // 0x40000
Value<bool> noSpline; // 0x80000
Value<bool> unknown21; // 0x100000
Value<bool> unknown22; // 0x200000
2015-09-10 20:30:35 +00:00
} cameraHintParameters;
2018-02-22 07:24:51 +00:00
struct BoolFloat : BigDNA
2015-09-10 20:30:35 +00:00
{
2018-02-22 07:24:51 +00:00
AT_DECL_DNA
2017-10-16 05:26:50 +00:00
Value<bool> active;
Value<float> value;
} minDist, maxDist, backwardsDist; // 0x400000, 0x800000, 0x1000000
2018-02-22 07:24:51 +00:00
struct BoolVec3f : BigDNA
2015-09-10 20:30:35 +00:00
{
2018-02-22 07:24:51 +00:00
AT_DECL_DNA
2017-10-16 05:26:50 +00:00
Value<bool> active;
Value<atVec3f> value;
} lookAtOffset, chaseLookAtOffset; // 0x2000000, 0x4000000
Value<atVec3f> ballToCam;
BoolFloat fov, attitudeRange, azimuthRange, anglePerSecond; // 0x8000000, 0x10000000, 0x20000000, 0x40000000
Value<float> clampVelRange;
2018-06-28 01:17:01 +00:00
Value<float> clampRotRange;
2017-10-16 05:26:50 +00:00
BoolFloat elevation; // 0x80000000
2018-06-28 01:17:01 +00:00
Value<float> interpolateTime;
2017-10-16 05:26:50 +00:00
Value<float> clampVelTime;
Value<float> controlInterpDur;
2015-09-10 20:30:35 +00:00
};
}