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