2001-05-23 21:28:42 +02:00
|
|
|
/***********************/
|
|
|
|
/*** Trail Base Class ***/
|
|
|
|
/***********************/
|
|
|
|
|
2001-05-23 22:00:25 +02:00
|
|
|
#ifndef __FX_FX_BASE_TRAIL_HEADER__
|
|
|
|
#define __FX_FX_BASE_TRAIL_HEADER__
|
2001-05-23 21:28:42 +02:00
|
|
|
|
|
|
|
#include "fx/fx.h"
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
2001-05-23 22:00:25 +02:00
|
|
|
class CFXBaseTrail : public CFX
|
2001-05-23 21:28:42 +02:00
|
|
|
{
|
|
|
|
public:
|
2001-05-31 22:07:48 +02:00
|
|
|
struct sFXData
|
|
|
|
{
|
|
|
|
s16 Scale;
|
|
|
|
s16 StartFrame,EndFrame;
|
|
|
|
s16 FrameShift;
|
|
|
|
u8 R,G,B;
|
|
|
|
};
|
|
|
|
|
2001-05-23 21:28:42 +02:00
|
|
|
struct sList
|
|
|
|
{
|
|
|
|
u16 Frame;
|
|
|
|
u16 Scale,Angle;
|
|
|
|
DVECTOR Ofs,Vel;
|
|
|
|
s16 Shade; // Acts as life
|
|
|
|
};
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
LIST_SIZE = 16
|
|
|
|
};
|
|
|
|
|
2001-07-04 20:19:13 +02:00
|
|
|
/*virtual */void init(DVECTOR const &Pos);
|
|
|
|
/*virtual */void think(int _frames);
|
|
|
|
/*virtual */void render();
|
2001-05-23 21:28:42 +02:00
|
|
|
|
2001-07-04 20:19:13 +02:00
|
|
|
/*virtual */sList &moveHead();
|
2001-05-23 21:28:42 +02:00
|
|
|
|
|
|
|
protected:
|
|
|
|
sList List[LIST_SIZE];
|
|
|
|
s16 ListCount;
|
|
|
|
s16 HeadIdx;
|
|
|
|
u16 Trans;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|