d_lyt_pause_back OK

This commit is contained in:
robojumper
2025-08-03 12:35:45 +02:00
parent e97f2d6a4a
commit b4200519b1
7 changed files with 332 additions and 71 deletions
+9 -1
View File
@@ -7,6 +7,7 @@
#include "d/d_bzs_types.h"
#include "d/d_dylink.h"
#include "d/d_fader.h"
#include "egg/gfx/eggCpuTexture.h"
#include "egg/gfx/eggScreen.h"
#include "m/m_allocator.h"
#include "m/m_dvd.h"
@@ -78,6 +79,10 @@ public:
return sInstance;
}
EGG::CpuTexture *getField_0x8898() {
return field_0x8898;
}
bool checkFlag0x88A0(u32 flag) const {
return (field_0x88A0 & flag) != 0;
}
@@ -190,7 +195,10 @@ private:
/* 0x8694 */ dTimeAreaMgr_c mTimeAreaMgr;
// ...
u8 ___[446];
u8 ___[438];
/* 0x8898 */ EGG::CpuTexture *field_0x8898;
u8 _0x889C[4];
/* 0x88A0 */ u32 field_0x88A0;
/* 0x88A4 */ SizedString<16> mDemoName;
+31
View File
@@ -0,0 +1,31 @@
#ifndef D_LYT_PAUSE_H
#define D_LYT_PAUSE_H
#include "d/lyt/d2d.h"
#include "egg/gfx/eggCpuTexture.h"
class dLytPauseMgr_c {
public:
static dLytPauseMgr_c *GetInstance() {
return sInstance;
}
d2d::ResAccIf_c *getResAcc1() {
return &mResAcc1;
}
EGG::CpuTexture *getBgTexture() {
return mpBgTexture;
}
private:
static dLytPauseMgr_c *sInstance;
/* 0x0000 */ u8 _0x0000[0x00C8 - 0x0000];
/* 0x00C8 */ d2d::ResAccIf_c mResAcc1;
/* 0x0438 */ u8 _0x0438[0x0814 - 0x0438];
/* 0x0814 */ EGG::CpuTexture *mpBgTexture;
};
#endif
+41
View File
@@ -0,0 +1,41 @@
#ifndef D_LYT_PAUSE_BACK_H
#define D_LYT_PAUSE_BACK_H
#include "d/lyt/d2d.h"
#include "s/s_State.hpp"
class dLytPauseBack_c {
public:
dLytPauseBack_c();
virtual ~dLytPauseBack_c() {}
bool build();
bool remove();
bool execute();
bool draw();
void loadBgTexture();
void requestIn();
void requestOut();
private:
void startAnim(int idx);
void stopAnim(int idx);
STATE_FUNC_DECLARE(dLytPauseBack_c, None);
STATE_FUNC_DECLARE(dLytPauseBack_c, In);
STATE_FUNC_DECLARE(dLytPauseBack_c, Wait);
STATE_FUNC_DECLARE(dLytPauseBack_c, Out);
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytPauseBack_c);
/* 0x040 */ d2d::LytBase_c mLyt;
/* 0x0D0 */ d2d::AnmGroup_c mAnm[2];
/* 0x150 */ s32 mOutStep;
/* 0x154 */ bool mInRequest;
/* 0x155 */ bool mOutRequest;
/* 0x156 */ bool field_0x156;
/* 0x157 */ bool mVisible;
};
#endif