2021-03-28 22:49:05 +02:00
|
|
|
#ifndef D_PANE_D_PANE_CLASS_ALPHA_H
|
|
|
|
|
#define D_PANE_D_PANE_CLASS_ALPHA_H
|
|
|
|
|
|
2023-05-12 12:10:14 -07:00
|
|
|
#include "JSystem/J2DGraph/J2DPane.h"
|
2021-03-28 22:49:05 +02:00
|
|
|
|
2023-05-12 12:10:14 -07:00
|
|
|
class J2DPane;
|
|
|
|
|
class J2DScreen;
|
|
|
|
|
class JKRExpHeap;
|
|
|
|
|
|
2021-08-28 07:25:03 -07:00
|
|
|
class CPaneMgrAlpha {
|
|
|
|
|
public:
|
2025-11-30 14:23:42 -08:00
|
|
|
virtual ~CPaneMgrAlpha();
|
|
|
|
|
virtual void setAlpha(u8);
|
2021-08-28 07:25:03 -07:00
|
|
|
|
2025-11-30 14:23:42 -08:00
|
|
|
CPaneMgrAlpha();
|
|
|
|
|
CPaneMgrAlpha(J2DScreen*, u64, u8, JKRExpHeap*);
|
|
|
|
|
void initiateAlpha(J2DPane*, JKRExpHeap*);
|
|
|
|
|
void show();
|
|
|
|
|
void hide();
|
|
|
|
|
bool isVisible();
|
|
|
|
|
f32 rateCalc(s16, s16, u8);
|
|
|
|
|
void setAlphaRate(f32);
|
|
|
|
|
f32 getAlphaRate();
|
|
|
|
|
bool alphaAnime(s16 timer, u8 startAlpha, u8 endAlpha, u8 calcType);
|
|
|
|
|
bool alphaAnimeLoop(s16, u8, u8, u8);
|
|
|
|
|
void childPaneCount(J2DPane*);
|
|
|
|
|
void childPaneGetAlpha(J2DPane*);
|
|
|
|
|
void childPaneSetAlpha(J2DPane*, u8);
|
2021-08-28 07:25:03 -07:00
|
|
|
|
2022-07-04 12:21:57 -07:00
|
|
|
J2DPane* getPanePtr() { return mPane; }
|
2021-09-24 08:11:10 -07:00
|
|
|
u8 getAlpha() { return getPanePtr()->getAlpha(); }
|
2022-01-25 12:24:14 -08:00
|
|
|
s16 getAlphaTimer() { return mAlphaTimer; }
|
2022-06-29 13:19:09 -07:00
|
|
|
void alphaAnimeStart(s16 start) { mAlphaTimer = start; }
|
2024-01-09 06:10:40 -08:00
|
|
|
u8 getInitAlpha() { return mInitAlpha; }
|
2021-09-24 08:11:10 -07:00
|
|
|
|
2022-07-04 12:21:57 -07:00
|
|
|
/* 0x04 */ J2DPane* mPane;
|
2021-09-24 08:11:10 -07:00
|
|
|
/* 0x08 */ JKRExpHeap* heap;
|
|
|
|
|
/* 0x0C */ void* mpFirstStackAlpha;
|
2022-07-04 12:21:57 -07:00
|
|
|
/* 0x10 */ u8* field_0x10;
|
2021-08-28 07:25:03 -07:00
|
|
|
/* 0x14 */ s16 mChildPaneCount;
|
|
|
|
|
/* 0x16 */ s16 mAlphaTimer;
|
|
|
|
|
/* 0x18 */ u8 mInitAlpha;
|
|
|
|
|
/* 0x19 */ u8 mFlags;
|
|
|
|
|
};
|
|
|
|
|
|
2022-07-04 12:21:57 -07:00
|
|
|
class CPaneMgrAlphaMorf : public CPaneMgrAlpha {
|
|
|
|
|
public:
|
2025-11-30 14:23:42 -08:00
|
|
|
CPaneMgrAlphaMorf(J2DScreen*, u64, u8, JKRExpHeap*);
|
|
|
|
|
void initiateAlphaMorf();
|
|
|
|
|
void setBackupAlpha();
|
|
|
|
|
void setAlphaMorfRate(f32);
|
|
|
|
|
void childPaneBackupAlpha(J2DPane*);
|
|
|
|
|
void childPaneSetAlphaMorf(J2DPane*, f32);
|
2022-07-04 12:21:57 -07:00
|
|
|
|
2025-11-30 14:23:42 -08:00
|
|
|
virtual ~CPaneMgrAlphaMorf();
|
2022-07-04 12:21:57 -07:00
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
/* 0x1C */ void* mpFirstSaveAlpha;
|
|
|
|
|
/* 0x20 */ u8* field_0x20;
|
|
|
|
|
/* 0x24 */ void* mpFirstGetAlpha;
|
|
|
|
|
/* 0x28 */ u8* field_0x28;
|
|
|
|
|
};
|
|
|
|
|
|
2021-03-28 22:49:05 +02:00
|
|
|
#endif /* D_PANE_D_PANE_CLASS_ALPHA_H */
|