2001-05-23 21:28:42 +02:00
|
|
|
/***********************/
|
|
|
|
/*** Anim Base Class ***/
|
|
|
|
/***********************/
|
|
|
|
|
2001-05-23 22:00:25 +02:00
|
|
|
#ifndef __FX_FX_BASE_ANIM_HEADER__
|
|
|
|
#define __FX_FX_BASE_ANIM_HEADER__
|
2001-05-23 21:28:42 +02:00
|
|
|
|
|
|
|
#include "fx/fx.h"
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
2001-05-23 22:00:25 +02:00
|
|
|
class CFXBaseAnim : public CFX
|
2001-05-23 21:28:42 +02:00
|
|
|
{
|
|
|
|
public:
|
2001-06-19 23:19:01 +02:00
|
|
|
struct sFXBaseData
|
2001-05-31 22:07:48 +02:00
|
|
|
{
|
2001-06-19 23:19:01 +02:00
|
|
|
s16 StartFrame,EndFrame,FrameShift;
|
|
|
|
u16 Flags;
|
2001-07-24 21:48:17 +02:00
|
|
|
u16 StartSnd,MainSnd,EndSnd;
|
2001-05-31 22:07:48 +02:00
|
|
|
};
|
2001-05-23 21:28:42 +02:00
|
|
|
|
|
|
|
virtual void init(DVECTOR const &Pos);
|
|
|
|
virtual void think(int _frames);
|
|
|
|
virtual void render();
|
2001-06-01 00:02:07 +02:00
|
|
|
|
2001-06-19 23:19:01 +02:00
|
|
|
void setBaseData(void *Data);
|
2001-05-31 22:07:48 +02:00
|
|
|
|
2001-07-04 20:19:13 +02:00
|
|
|
/*virtual */void SetScale(int S) {CurrentScaleX=CurrentScaleY=S;}
|
|
|
|
/*virtual */void SetScaleX(int S) {CurrentScaleX=S;}
|
|
|
|
/*virtual */void SetScaleY(int S) {CurrentScaleY=S;}
|
|
|
|
/*virtual */void SetHeading(int H) {CurrentHeading=H;}
|
2001-05-23 21:28:42 +02:00
|
|
|
|
|
|
|
protected:
|
2001-07-02 21:29:20 +02:00
|
|
|
bool HasInit;
|
2001-06-19 23:19:01 +02:00
|
|
|
sFXBaseData *BaseData;
|
2001-06-12 01:37:59 +02:00
|
|
|
POLY_FT4 *Frame;
|
2001-06-19 23:19:01 +02:00
|
|
|
|
2001-06-01 00:02:07 +02:00
|
|
|
s16 MaxFrame;
|
2001-05-31 22:07:48 +02:00
|
|
|
s16 CurrentFrame;
|
2001-06-01 17:10:05 +02:00
|
|
|
u16 renderFrame;
|
2001-06-04 21:01:17 +02:00
|
|
|
s32 CurrentScaleX;
|
|
|
|
s32 CurrentScaleY;
|
|
|
|
s16 CurrentHeading;
|
2001-05-23 21:28:42 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|