/***********************/ /*** Trail Base Class ***/ /***********************/ #ifndef __FX_FX_BASE_TRAIL_HEADER__ #define __FX_FX_BASE_TRAIL_HEADER__ #include "fx/fx.h" /*****************************************************************************/ class CFXBaseTrail : public CFX { public: struct sFXData { s16 Scale; s16 StartFrame,EndFrame; s16 FrameShift; u8 R,G,B; }; struct sList { u16 Frame; u16 Scale,Angle; DVECTOR Ofs,Vel; s16 Shade; // Acts as life }; enum { LIST_SIZE = 16 }; virtual void init(DVECTOR const &Pos); virtual void think(int _frames); virtual void render(); virtual sList &moveHead(); protected: sList List[LIST_SIZE]; s16 ListCount; s16 HeadIdx; u16 Trans; }; #endif