mirror of
https://github.com/zeldaret/ss
synced 2026-08-09 10:53:09 -04:00
76 lines
1.7 KiB
C++
76 lines
1.7 KiB
C++
#ifndef D_LYT_WIPE_H
|
|
#define D_LYT_WIPE_H
|
|
|
|
#include "common.h"
|
|
#include "d/lyt/d2d.h"
|
|
#include "s/s_State.hpp"
|
|
#include "toBeSorted/d_flow_mgr.h"
|
|
|
|
class dLytWipeMain_c {
|
|
public:
|
|
dLytWipeMain_c();
|
|
virtual ~dLytWipeMain_c() {}
|
|
|
|
bool build(d2d::ResAccIf_c *resAcc);
|
|
bool remove();
|
|
bool execute();
|
|
bool draw();
|
|
|
|
void gotoIn();
|
|
void gotoWait();
|
|
void gotoOut();
|
|
void gotoNone();
|
|
|
|
bool isStateEndReached() const {
|
|
return mStateEndReached;
|
|
}
|
|
|
|
private:
|
|
STATE_FUNC_DECLARE(dLytWipeMain_c, ModeNone);
|
|
STATE_FUNC_DECLARE(dLytWipeMain_c, ModeIn);
|
|
STATE_FUNC_DECLARE(dLytWipeMain_c, ModeWait);
|
|
STATE_FUNC_DECLARE(dLytWipeMain_c, ModeOut);
|
|
|
|
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytWipeMain_c);
|
|
|
|
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytWipeMain_c);
|
|
/* 0x040 */ d2d::LytBase_c mLyt;
|
|
/* 0x0D0 */ d2d::AnmGroup_c mAnm[1];
|
|
/* 0x110 */ bool mStateEndReached;
|
|
/* 0x111 */ u8 _0x111[0x132 - 0x111];
|
|
/* 0x132 */ bool mIsIn;
|
|
};
|
|
|
|
class dLytWipe_c {
|
|
public:
|
|
dLytWipe_c() : mStateMgr(*this) {}
|
|
|
|
bool build();
|
|
bool remove();
|
|
bool execute();
|
|
bool draw();
|
|
|
|
private:
|
|
static dLytWipe_c *sInstance;
|
|
|
|
STATE_FUNC_DECLARE(dLytWipe_c, None);
|
|
STATE_FUNC_DECLARE(dLytWipe_c, In);
|
|
STATE_FUNC_DECLARE(dLytWipe_c, Wait);
|
|
STATE_FUNC_DECLARE(dLytWipe_c, Out);
|
|
|
|
/* 0x000 */ UI_STATE_MGR_DECLARE(dLytWipe_c);
|
|
/* 0x03C */ d2d::ResAccIf_c mResAcc;
|
|
/* 0x3AC */ dLytWipeMain_c mMain;
|
|
|
|
/* 0x4E0 */ dFlowMgr_c mFlowMgr;
|
|
|
|
/* 0x59C */ bool mWantsIn;
|
|
/* 0x59D */ bool mWantsOut;
|
|
/* 0x59E */ bool mIsSettled;
|
|
/* 0x59F */ bool mVisible;
|
|
/* 0x5A0 */ s32 mTransitionStage;
|
|
/* 0x5A4 */ s32 mFadeDelay;
|
|
};
|
|
|
|
#endif
|