#pragma once #include "common.h" struct FIREWORK_STARINFO { float m0; float m4; float m8; float mC; float m10; float m14; float m18; float m1C; unsigned short mFlags; float m24; }; class AFX_EXT_CLASS T2FireWork { public: T2FireWork(int inWidth, int inHeight, CPalette* inPalette); ~T2FireWork(); T2BitImage* GetBitImage(); void Start(); void Stop(); BOOL IsDisposable(); BOOL Idle(); protected: BOOL CalcStarData(FIREWORK_STARINFO* inInfo, float inT, int* outX, int* outY, int* outPixel, int* outSize); void PutDot(int inX, int inY, int inSize, unsigned char inCol); BOOL mIsActive; T2BitImage *mImage; int mRowSize; RECT mRect; unsigned char mPalettes[5][8]; FIREWORK_STARINFO *mStarInfo[20]; BOOL mUsed[20]; };