diff options
Diffstat (limited to 'game/code/ai/actor/actoranimation.h')
-rw-r--r-- | game/code/ai/actor/actoranimation.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/game/code/ai/actor/actoranimation.h b/game/code/ai/actor/actoranimation.h new file mode 100644 index 0000000..6b26ff8 --- /dev/null +++ b/game/code/ai/actor/actoranimation.h @@ -0,0 +1,72 @@ +//=========================================================================== +// Copyright (C) 2002 Radical Entertainment Ltd. All rights reserved. +// +// Component: ActorAnimation +// +// Description: Actor animation driver +// +// Authors: Michael Riegger +// +//=========================================================================== + +// Recompilation protection flag. +#ifndef ACTORANIMATION_H +#define ACTORANIMATION_H + + +//=========================================================================== +// Nested Includes +//=========================================================================== + +//=========================================================================== +// Forward References +//=========================================================================== + +//=========================================================================== +// Constants, Typedefs, and Macro Definitions (needed by external clients) +//=========================================================================== + + +//=========================================================================== +// Interface Definitions +//=========================================================================== + +//=========================================================================== +// +// Description: +// A class that Actors can use to have a hardcoded, procedural animation implementation +// instead of a long memory-expensive one exported from Maya +// +// Constraints: +// +// +//=========================================================================== +class ActorAnimation +{ + public: + ActorAnimation(){} + virtual ~ActorAnimation(){ } + virtual void SetState( int state )=0; + // Apply animation, return true/false indicating whether or not the returned animation is different + // from the given one + virtual bool Update( const rmt::Matrix& currTransform, rmt::Matrix* newTransform, float deltaTime, tCompositeDrawable* = NULL )=0; + + protected: + + + private: + // These methods defined as private and not implemented ensure that + // clients will not be able to use them. For example, we will + // disallow ActorAnimation from being copied and assigned. +}; + +class StatePropDSGProcAnimator +{ +public: + StatePropDSGProcAnimator() {}; + virtual ~StatePropDSGProcAnimator() {}; + virtual void Advance( float Deltams ) {}; + virtual void UpdateForRender( tCompositeDrawable* Drawable ) {}; +}; + +#endif
\ No newline at end of file |