Initial commit
This commit is contained in:
102
Torque/SDK/lib/dtsSDKPlus/appSequence.h
Normal file
102
Torque/SDK/lib/dtsSDKPlus/appSequence.h
Normal file
@@ -0,0 +1,102 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Game Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef DTSAPPSEQUENCE_H_
|
||||
#define DTSAPPSEQUENCE_H_
|
||||
|
||||
#include "DTSTypes.h"
|
||||
#include "DTSShape.h"
|
||||
#include "DTSPlusTypes.h"
|
||||
#include "appTime.h"
|
||||
|
||||
|
||||
namespace DTS
|
||||
{
|
||||
// Enum for Triggers...
|
||||
namespace TriggerState
|
||||
{
|
||||
enum { StateOn = 1 << 31, InvertOnReverse = 1 << 30, StateMask = 0x1f };
|
||||
};
|
||||
|
||||
class AppSequence;
|
||||
class AppNode;
|
||||
|
||||
struct AppSequenceData
|
||||
{
|
||||
bool cyclic;
|
||||
bool blend;
|
||||
bool ignoreGround;
|
||||
|
||||
bool enableMorph;
|
||||
bool enableTVert;
|
||||
bool enableVis;
|
||||
bool enableTransform;
|
||||
bool enableScale;
|
||||
bool enableUniformScale;
|
||||
bool enableAlignedScale;
|
||||
bool enableArbitraryScale;
|
||||
bool enableIFL;
|
||||
|
||||
bool forceMorph;
|
||||
bool forceTVert;
|
||||
bool forceVis;
|
||||
bool forceTransform;
|
||||
bool forceScale;
|
||||
|
||||
AppTime duration;
|
||||
AppTime delta;
|
||||
AppTime startTime;
|
||||
AppTime endTime;
|
||||
AppTime blendReferenceTime;
|
||||
AppTime groundDelta;
|
||||
|
||||
S32 numFrames;
|
||||
S32 groundNumFrames;
|
||||
|
||||
F32 frameRate;
|
||||
F32 groundFrameRate;
|
||||
|
||||
F32 overrideDuration;
|
||||
|
||||
F32 priority;
|
||||
};
|
||||
|
||||
class AppSequence
|
||||
{
|
||||
public:
|
||||
virtual const char * getName() = 0;
|
||||
|
||||
virtual void getSequenceData(AppSequenceData *) = 0;
|
||||
|
||||
virtual S32 getNumTriggers() = 0;
|
||||
virtual Trigger getTrigger(S32 idx) = 0;
|
||||
|
||||
virtual void setTSSequence(Sequence *);
|
||||
};
|
||||
|
||||
// Create a sequence from an appropriately outfitted node
|
||||
// Uses property values to figure everything out.
|
||||
// This system is adequate for all dts features and will
|
||||
// work in any 3d package which supports naming nodes and adding
|
||||
// property values to nodes. Specific 3d apps can add support
|
||||
// guis to manipulate these sequence objects.
|
||||
class AppSequenceNode : public AppSequence
|
||||
{
|
||||
AppNode * mAppNode;
|
||||
|
||||
public:
|
||||
|
||||
AppSequenceNode(AppNode * node) { mAppNode=node; }
|
||||
|
||||
const char * getName();
|
||||
void getSequenceData(AppSequenceData *);
|
||||
S32 getNumTriggers();
|
||||
Trigger getTrigger(S32 idx);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#endif // DTSAPPSEQUENCE_H_
|
||||
|
||||
Reference in New Issue
Block a user