mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-03 10:31:17 -04:00
107 lines
3.1 KiB
C++
107 lines
3.1 KiB
C++
#ifndef D_OVLP_FADE4_H
|
|
#define D_OVLP_FADE4_H
|
|
|
|
#include "d/d_drawlist.h"
|
|
#include "f_op/f_op_overlap_mng.h"
|
|
|
|
class dDlst_snapShot2_c : public dDlst_base_c {
|
|
public:
|
|
~dDlst_snapShot2_c() {}
|
|
void draw();
|
|
|
|
void init(void* imagePtr, u16 w, u16 h) { mImagePtr = imagePtr; mWidth = w; mHeight = h; }
|
|
void setImagePtr(void* imagePtr) { mImagePtr = imagePtr; }
|
|
void setWd(u16 w) { mWidth = w; }
|
|
void setHt(u16 h) { mHeight = h; }
|
|
u16 getWd() { return mWidth; }
|
|
u16 getHt() { return mHeight; }
|
|
|
|
/* 0x04 */ void* mImagePtr;
|
|
/* 0x08 */ u16 mWidth;
|
|
/* 0x0A */ u16 mHeight;
|
|
};
|
|
|
|
class dDlst_2Dt_Sp_c : public dDlst_base_c {
|
|
public:
|
|
~dDlst_2Dt_Sp_c() {}
|
|
void draw();
|
|
void init(ResTIMG*, f32, f32, f32, f32, GXColor);
|
|
|
|
void setPos(f32 x, f32 y) { mPosX = x; mPosY = y; }
|
|
void setWidth(f32 w) { mWidth = w; }
|
|
void setHeight(f32 h) { mHeight = h; }
|
|
void setImageWidth(u32 w) { mImageWidth = w; }
|
|
void setImageHeight(u32 h) { mImageHeight = h; }
|
|
void setImagePtr(void* v) { mImagePtr = v; }
|
|
void setPer(f32 f) { mPercent = f; }
|
|
|
|
/* 0x04 */ GXTexObj mTexObj;
|
|
/* 0x24 */ ResTIMG* mTimg;
|
|
/* 0x28 */ void* mImagePtr;
|
|
/* 0x2C */ u32 mImageWidth;
|
|
/* 0x30 */ u32 mImageHeight;
|
|
/* 0x34 */ f32 mPosX;
|
|
/* 0x38 */ f32 mPosY;
|
|
/* 0x3C */ f32 mWidth;
|
|
/* 0x40 */ f32 mHeight;
|
|
/* 0x44 */ GXColor mColor;
|
|
/* 0x48 */ f32 mPercent;
|
|
};
|
|
|
|
class dDlst_2DtEff1_c : public dDlst_base_c {
|
|
public:
|
|
~dDlst_2DtEff1_c() {}
|
|
void init(GXColor);
|
|
void draw();
|
|
|
|
/* 0x004 */ f32 timer;
|
|
/* 0x008 */ bool first;
|
|
/* 0x00C */ dDlst_snapShot2_c snap_dlst;
|
|
/* 0x018 */ dDlst_2Dt_Sp_c redraw_dlst;
|
|
/* 0x064 */ dDlst_snapShot2_c save_dlst;
|
|
/* 0x070 */ dDlst_2Dt_Sp_c blur0_dlst;
|
|
/* 0x0BC */ dDlst_snapShot2_c blur0Snap_dlst;
|
|
/* 0x0C8 */ dDlst_2Dt_Sp_c composite_dlst;
|
|
/* 0x114 */ u16 curWidth;
|
|
/* 0x116 */ u16 curHeight;
|
|
};
|
|
|
|
class dOvlpFd4_c : public overlap_task_class {
|
|
public:
|
|
dOvlpFd4_c();
|
|
void drawFadeOut();
|
|
void drawFadeIn();
|
|
void execFirstSnap();
|
|
void execFadeOut();
|
|
void execNextSnap();
|
|
void execFadeIn();
|
|
|
|
typedef void (dOvlpFd4_c::*DrawFunc)();
|
|
typedef void (dOvlpFd4_c::*ExecuteFunc)();
|
|
|
|
void setDraw(DrawFunc func) { mDrawFunc = func; }
|
|
void setExecute(ExecuteFunc func) { mExecuteFunc = func; }
|
|
|
|
/* 0x0CC */ ExecuteFunc mExecuteFunc;
|
|
/* 0x0D8 */ DrawFunc mDrawFunc;
|
|
/* 0x0E4 */ dDlst_snapShot2_c fadeOutBlur0_dlst;
|
|
/* 0x0F0 */ dDlst_snapShot2_c fadeOutSnap_dlst;
|
|
/* 0x0FC */ dDlst_2Dt_Sp_c fadeOutComposite_dlst;
|
|
/* 0x148 */ dDlst_2Dt_Sp_c fadeOutBlur1_dlst;
|
|
/* 0x194 */ dDlst_2DtEff1_c fadeIn_dlst;
|
|
/* 0x2AC */ u8 first;
|
|
/* 0x2AD */ u8 fadeOutStatus;
|
|
/* 0x2AE */ s8 totalTime;
|
|
/* 0x2B0 */ s16 timer;
|
|
/* 0x2B4 */ f32 delayPercent;
|
|
/* 0x2B8 */ u8 field_0x2b8[0x2BC - 0x2B8];
|
|
/* 0x2BC */ f32 field_0x2bc;
|
|
/* 0x2C0 */ u8 sizeStep;
|
|
/* 0x2C1 */ s8 startTime;
|
|
/* 0x2C2 */ u8 field_0x2c2[0x2C8 - 0x2C2];
|
|
/* 0x2C8 */ f32 timerStep;
|
|
/* 0x2CC */ u8 field_0x2cc;
|
|
};
|
|
|
|
#endif /* D_OVLP_FADE4_H */
|