Merge pull request #335 from compugab/matchin_title_lyt

Matchin title lyt
This commit is contained in:
robojumper
2026-07-26 21:18:08 +02:00
committed by GitHub
9 changed files with 678 additions and 168 deletions
+2
View File
@@ -164,6 +164,8 @@ public:
return curr_room_id;
}
dFader_c& getFader() { return mFader; }
bool fn_801B3EE0();
void fn_801B3F20();
void fn_801B3F30();
+8
View File
@@ -121,6 +121,14 @@ public:
return (field_0x88A0 & flag) != 0;
}
void unsetFlags0x88a0(u32 flag){
field_0x88A0 &= flag;
}
void setFlags0x88a0(u32 flag){
field_0x88A0 |= flag;
}
void initUnkWithWater(u32 val, d3d::UnkWithWater *waterThing);
void destroyUnkWithWater(u32 val, d3d::UnkWithWater *waterThing);
+18
View File
@@ -0,0 +1,18 @@
#ifndef D_LYT_CONTROL_TITLE_H
#define D_LYT_CONTROL_TITLE_H
#include "d/d_base.h"
class dLytControlTitle_c : public dBase_c {
public:
dLytControlTitle_c();
virtual ~dLytControlTitle_c();
virtual int create() override;
virtual int doDelete() override;
virtual int execute() override;
virtual int draw() override;
private:
};
#endif
+72
View File
@@ -0,0 +1,72 @@
#ifndef D_LYT_DEMO_TITLE_H
#define D_LYT_DEMO_TITLE_H
#include "d/lyt/d2d.h"
#include "d/lyt/d_lyt_base.h"
#include "s/s_State.hpp"
#include "s/s_StateID.hpp"
class dLytDemoTitleMain_c {
public:
dLytDemoTitleMain_c();
virtual ~dLytDemoTitleMain_c() {};
bool build(d2d::ResAccIf_c *resAcc);
bool execute();
bool draw();
bool remove();
void fn_802B09F0();
void fn_802B0A50();
void fn_802B0B00();
void fn_802B0B50();
void fn_802B0BD0();
bool getmIsAnimating() {
return mIsAnimating;
}
d2d::LytBase_c getmLytBase() {
return mLytBase;
}
private:
STATE_FUNC_DECLARE(dLytDemoTitleMain_c, ModeNone);
STATE_FUNC_DECLARE(dLytDemoTitleMain_c, ModeIn);
STATE_FUNC_DECLARE(dLytDemoTitleMain_c, ModeMove);
STATE_FUNC_DECLARE(dLytDemoTitleMain_c, ModeOut);
STATE_FUNC_DECLARE(dLytDemoTitleMain_c, ModeEnd);
/* 0x004 */ UI_STATE_MGR_DECLARE(dLytDemoTitleMain_c);
/* 0x040 */ d2d::LytBase_c mLytBase;
/* 0x0d0 */ d2d::AnmGroup_c mAnmGroups[2];
/* 0x150 */ bool mIsAnimating;
};
class dLytDemoTitle_c : public dLytBase_c {
public:
dLytDemoTitle_c() : mStateMgr(*this) {}
virtual ~dLytDemoTitle_c() {}
virtual int create() override;
virtual int execute() override;
virtual int draw() override;
virtual int doDelete() override;
private:
STATE_FUNC_DECLARE(dLytDemoTitle_c, None);
STATE_FUNC_DECLARE(dLytDemoTitle_c, In);
STATE_FUNC_DECLARE(dLytDemoTitle_c, Move);
STATE_FUNC_DECLARE(dLytDemoTitle_c, Out);
STATE_FUNC_DECLARE(dLytDemoTitle_c, End);
STATE_MGR_DEFINE_UTIL_INSTANCIATE_STATE(dLytDemoTitle_c);
static dLytDemoTitle_c *sInstance;
/* 0x08c */ UI_STATE_MGR_DECLARE(dLytDemoTitle_c);
/* 0x040 */ d2d::ResAccIf_c resAcc;
/* 0x438 */ dLytDemoTitleMain_c mMain;
/* 0x58c */ bool mIsAnimating;
/* 0x58d */ bool field_0x58d;
};
#endif