summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2FireWork.h
blob: 4c912e3aca1f2b4604cd68fb0c781d4041df968e (plain)
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
#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_CLASS_EXPORT 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];
};