blob: 6b26ff80a2caba4510287767baca25d5b2746bdd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
|