summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcompugab <compugab@hotmail.com>2026-06-28 20:20:19 -0400
committercompugab <compugab@hotmail.com>2026-06-28 20:20:19 -0400
commit5eb51e64aad15fdcf68fb4338af04ed53173f5fb (patch)
tree4872dba2cd609310e63b8e7524ad1380473d5e3b
parent8151ed9701a204e77e8ddeba5f18f30a27cc8961 (diff)
matching d_lyt_demo_title .text to 48%
-rw-r--r--config/SOUE01/symbols.txt112
-rw-r--r--include/d/d_stage.h2
-rw-r--r--include/d/d_stage_mgr.h8
-rw-r--r--include/d/lyt/d_lyt_demo_title.h84
-rw-r--r--src/d/lyt/d_lyt_control_title.cpp2
-rw-r--r--src/d/lyt/d_lyt_demo_title.cpp292
6 files changed, 442 insertions, 58 deletions
diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt
index 641a0581..7fde0509 100644
--- a/config/SOUE01/symbols.txt
+++ b/config/SOUE01/symbols.txt
@@ -16139,60 +16139,60 @@ __dt__32sFStateID_c<17dLytDepositMain_c>Fv = .text:0x802B00F0; // type:function
__dt__28sFStateID_c<13dLytDeposit_c>Fv = .text:0x802B0150; // type:function size:0x58 scope:weak
isSameName__28sFStateID_c<13dLytDeposit_c>CFPCc = .text:0x802B01B0; // type:function size:0x88 scope:weak
isSameName__32sFStateID_c<17dLytDepositMain_c>CFPCc = .text:0x802B0240; // type:function size:0x88 scope:weak
-fn_802B02D0 = .text:0x802B02D0; // type:function size:0x4
-fn_802B02E0 = .text:0x802B02E0; // type:function size:0xC
-fn_802B02F0 = .text:0x802B02F0; // type:function size:0x4
-fn_802B0300 = .text:0x802B0300; // type:function size:0x4
-fn_802B0310 = .text:0x802B0310; // type:function size:0x64
-fn_802B0380 = .text:0x802B0380; // type:function size:0x4
-fn_802B0390 = .text:0x802B0390; // type:function size:0x4
-fn_802B03A0 = .text:0x802B03A0; // type:function size:0xC
-fn_802B03B0 = .text:0x802B03B0; // type:function size:0x4
-fn_802B03C0 = .text:0x802B03C0; // type:function size:0x4
-fn_802B03D0 = .text:0x802B03D0; // type:function size:0x64
-fn_802B0440 = .text:0x802B0440; // type:function size:0x4
-fn_802B0450 = .text:0x802B0450; // type:function size:0x4
-fn_802B0460 = .text:0x802B0460; // type:function size:0xC
-fn_802B0470 = .text:0x802B0470; // type:function size:0x4
-fn_802B0480 = .text:0x802B0480; // type:function size:0xC0
-fn_802B0540 = .text:0x802B0540; // type:function size:0xA4
-fn_802B05F0 = .text:0x802B05F0; // type:function size:0xA0
-fn_802B0690 = .text:0x802B0690; // type:function size:0x6C
-fn_802B0700 = .text:0x802B0700; // type:function size:0x58
-fn_802B0760 = .text:0x802B0760; // type:function size:0x100
-fn_802B0860 = .text:0x802B0860; // type:function size:0xD4
-fn_802B0940 = .text:0x802B0940; // type:function size:0x10
-fn_802B0950 = .text:0x802B0950; // type:function size:0x28
-fn_802B0980 = .text:0x802B0980; // type:function size:0x70
-fn_802B09F0 = .text:0x802B09F0; // type:function size:0x4C
-fn_802B0A40 = .text:0x802B0A40; // type:function size:0x10
-fn_802B0A50 = .text:0x802B0A50; // type:function size:0xA4
-fn_802B0B00 = .text:0x802B0B00; // type:function size:0x4C
-fn_802B0B50 = .text:0x802B0B50; // type:function size:0x80
-fn_802B0BD0 = .text:0x802B0BD0; // type:function size:0x4C
-fn_802B0C20 = .text:0x802B0C20; // type:function size:0x4
-fn_802B0C30 = .text:0x802B0C30; // type:function size:0x60
-fn_802B0C90 = .text:0x802B0C90; // type:function size:0x10
-fn_802B0CA0 = .text:0x802B0CA0; // type:function size:0x4
-fn_802B0CB0 = .text:0x802B0CB0; // type:function size:0x4
-fn_802B0CC0 = .text:0x802B0CC0; // type:function size:0x58
-fn_802B0D20 = .text:0x802B0D20; // type:function size:0x4
-fn_802B0D30 = .text:0x802B0D30; // type:function size:0x4
-fn_802B0D40 = .text:0x802B0D40; // type:function size:0x6C
-fn_802B0DB0 = .text:0x802B0DB0; // type:function size:0x4
-fn_802B0DC0 = .text:0x802B0DC0; // type:function size:0x4
-fn_802B0DD0 = .text:0x802B0DD0; // type:function size:0x5C
-fn_802B0E30 = .text:0x802B0E30; // type:function size:0x4
-fn_802B0E40 = .text:0x802B0E40; // type:function size:0x4
-fn_802B0E50 = .text:0x802B0E50; // type:function size:0x4
-fn_802B0E60 = .text:0x802B0E60; // type:function size:0x4
-fn_802B0E70 = .text:0x802B0E70; // type:function size:0xF4
-fn_802B0F70 = .text:0x802B0F70; // type:function size:0x58
-fn_802B0FD0 = .text:0x802B0FD0; // type:function size:0x6C
-fn_802B1040 = .text:0x802B1040; // type:function size:0xA0
-fn_802B10E0 = .text:0x802B10E0; // type:function size:0xA4
-fn_802B1190 = .text:0x802B1190; // type:function size:0xD8
-fn_802B1270 = .text:0x802B1270; // type:function size:0x88
+initializeState_ModeNone__19dLytDemoTitleMain_cFv = .text:0x802B02D0; // type:function size:0x4
+executeState_ModeNone__19dLytDemoTitleMain_cFv = .text:0x802B02E0; // type:function size:0xC
+finalizeState_ModeNone__19dLytDemoTitleMain_cFv = .text:0x802B02F0; // type:function size:0x4
+initializeState_ModeIn__19dLytDemoTitleMain_cFv = .text:0x802B0300; // type:function size:0x4
+executeState_ModeIn__19dLytDemoTitleMain_cFv = .text:0x802B0310; // type:function size:0x64
+finalizeState_ModeIn__19dLytDemoTitleMain_cFv = .text:0x802B0380; // type:function size:0x4
+initializeState_ModeMove__19dLytDemoTitleMain_cFv = .text:0x802B0390; // type:function size:0x4
+executeState_ModeMove__19dLytDemoTitleMain_cFv = .text:0x802B03A0; // type:function size:0xC
+finalizeState_ModeMove__19dLytDemoTitleMain_cFv = .text:0x802B03B0; // type:function size:0x4
+initializeState_ModeOut__19dLytDemoTitleMain_cFv = .text:0x802B03C0; // type:function size:0x4
+executeState_ModeOut__19dLytDemoTitleMain_cFv = .text:0x802B03D0; // type:function size:0x64
+finalizeState_ModeOut__19dLytDemoTitleMain_cFv = .text:0x802B0440; // type:function size:0x4
+initializeState_ModeEnd__19dLytDemoTitleMain_cFv = .text:0x802B0450; // type:function size:0x4
+executeState_ModeEnd__19dLytDemoTitleMain_cFv = .text:0x802B0460; // type:function size:0xC
+finalizeState_ModeEnd__19dLytDemoTitleMain_cFv = .text:0x802B0470; // type:function size:0x4
+__ct__19dLytDemoTitleMain_cFv = .text:0x802B0480; // type:function size:0xC0
+__dt__58sFStateMgr_c<19dLytDemoTitleMain_c,20sStateMethodUsr_FI_c>Fv = .text:0x802B0540; // type:function size:0xA4
+__dt__88sStateMgr_c<19dLytDemoTitleMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802B05F0; // type:function size:0xA0
+__dt__35sFStateFct_c<19dLytDemoTitleMain_c>Fv = .text:0x802B0690; // type:function size:0x6C
+__dt__32sFState_c<19dLytDemoTitleMain_c>Fv = .text:0x802B0700; // type:function size:0x58
+fn_802B0760__19dLytDemoTitleMain_cFPQ23d2d10ResAccIf_c = .text:0x802B0760; // type:function size:0x100
+fn_802B0860__19dLytDemoTitleMain_cFv = .text:0x802B0860; // type:function size:0xD4
+executeState__88sStateMgr_c<19dLytDemoTitleMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802B0940; // type:function size:0x10
+fn_802B0950__19dLytDemoTitleMain_cFv = .text:0x802B0950; // type:function size:0x28
+fn_802B0980__19dLytDemoTitleMain_cFv = .text:0x802B0980; // type:function size:0x70
+fn_802B09F0__19dLytDemoTitleMain_cFv = .text:0x802B09F0; // type:function size:0x4C
+changeState__88sStateMgr_c<19dLytDemoTitleMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x802B0A40; // type:function size:0x10
+fn_802B0A50__19dLytDemoTitleMain_cFv = .text:0x802B0A50; // type:function size:0xA4
+fn_802B0B00__19dLytDemoTitleMain_cFv = .text:0x802B0B00; // type:function size:0x4C
+fn_802B0B50__19dLytDemoTitleMain_cFv = .text:0x802B0B50; // type:function size:0x80
+fn_802B0BD0__19dLytDemoTitleMain_cFv = .text:0x802B0BD0; // type:function size:0x4C
+fn_802B0C20__19dLytDemoTitleMain_cFv = .text:0x802B0C20; // type:function size:0x4
+fn_802B0C20__15dLytDemoTitle_cFv = .text:0x802B0C30; // type:function size:0x60
+changeState__84sStateMgr_c<15dLytDemoTitle_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x802B0C90; // type:function size:0x10
+fn_802B0CA0__15dLytDemoTitle_cFv = .text:0x802B0CA0; // type:function size:0x4
+fn_802B0CB0__15dLytDemoTitle_cFv = .text:0x802B0CB0; // type:function size:0x4
+fn_802B0CC0__15dLytDemoTitle_cFv = .text:0x802B0CC0; // type:function size:0x58
+fn_802B0D20__15dLytDemoTitle_cFv = .text:0x802B0D20; // type:function size:0x4
+fn_802B0D30__15dLytDemoTitle_cFv = .text:0x802B0D30; // type:function size:0x4
+fn_802B0D40__15dLytDemoTitle_cFv = .text:0x802B0D40; // type:function size:0x6C
+fn_802B0DB0__15dLytDemoTitle_cFv = .text:0x802B0DB0; // type:function size:0x4
+fn_802B0DC0__15dLytDemoTitle_cFv = .text:0x802B0DC0; // type:function size:0x4
+fn_802B0DD0__15dLytDemoTitle_cFv = .text:0x802B0DD0; // type:function size:0x5C
+fn_802B0E30__15dLytDemoTitle_cFv = .text:0x802B0E30; // type:function size:0x4
+fn_802B0E40__15dLytDemoTitle_cFv = .text:0x802B0E40; // type:function size:0x4
+fn_802B0E50__15dLytDemoTitle_cFv = .text:0x802B0E50; // type:function size:0x4
+fn_802B0E60__15dLytDemoTitle_cFv = .text:0x802B0E60; // type:function size:0x4
+__ct__15dLytDemoTitle_cFv = .text:0x802B0E70; // type:function size:0xF4
+__dt__28sFState_c<15dLytDemoTitle_c>Fv = .text:0x802B0F70; // type:function size:0x58
+__dt__31sFStateFct_c<15dLytDemoTitle_c>Fv = .text:0x802B0FD0; // type:function size:0x6C
+__dt__84sStateMgr_c<15dLytDemoTitle_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802B1040; // type:function size:0xA0
+__dt__54sFStateMgr_c<15dLytDemoTitle_c,20sStateMethodUsr_FI_c>Fv = .text:0x802B10E0; // type:function size:0xA4
+__dt__19dLytDemoTitleMain_cFv = .text:0x802B1190; // type:function size:0xD8
+fn_802B1270__15dLytDemoTitle_cFPQ23d2d10ResAccIf_c = .text:0x802B1270; // type:function size:0x88
fn_802B1300 = .text:0x802B1300; // type:function size:0x7C
fn_802B1380 = .text:0x802B1380; // type:function size:0x10
fn_802B1390 = .text:0x802B1390; // type:function size:0x10
@@ -16229,8 +16229,8 @@ fn_802B18D0 = .text:0x802B18D0; // type:function size:0x30
fn_802B1900 = .text:0x802B1900; // type:function size:0x30
fn_802B1930 = .text:0x802B1930; // type:function size:0x30
LytDemoTitle__initStates = .text:0x802B1960; // type:function size:0x7AC
-LytDemoTitleMain__dtor = .text:0x802B2110; // type:function size:0x58
-LytDemoTitle__dtor = .text:0x802B2170; // type:function size:0x58
+__dt__34sFStateID_c<19dLytDemoTitleMain_c>Fv = .text:0x802B2110; // type:function size:0x58
+__dt__30sFStateID_c<15dLytDemoTitle_c>Fv = .text:0x802B2170; // type:function size:0x58
fn_802B21D0 = .text:0x802B21D0; // type:function size:0x88
fn_802B2260 = .text:0x802B2260; // type:function size:0x88
fn_802B22F0 = .text:0x802B22F0; // type:function size:0x4
diff --git a/include/d/d_stage.h b/include/d/d_stage.h
index 1c238c2f..5b69d38d 100644
--- a/include/d/d_stage.h
+++ b/include/d/d_stage.h
@@ -164,6 +164,8 @@ public:
return curr_room_id;
}
+ dFader_c& getFader() { return mFader; }
+
bool fn_801B3EE0();
void fn_801B3F20();
void fn_801B3F30();
diff --git a/include/d/d_stage_mgr.h b/include/d/d_stage_mgr.h
index 64bd6276..4771ba1e 100644
--- a/include/d/d_stage_mgr.h
+++ b/include/d/d_stage_mgr.h
@@ -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);
diff --git a/include/d/lyt/d_lyt_demo_title.h b/include/d/lyt/d_lyt_demo_title.h
new file mode 100644
index 00000000..1933d0dd
--- /dev/null
+++ b/include/d/lyt/d_lyt_demo_title.h
@@ -0,0 +1,84 @@
+#ifndef D_LYT_DEMO_TITLE_H
+#define D_LYT_DEMO_TITLE_H
+
+#include "d/lyt/d2d.h"
+#include "s/s_State.hpp"
+#include "s/s_StateID.hpp"
+#include "d/lyt/d_lyt_base.h"
+
+class dLytDemoTitleMain_c {
+public:
+ dLytDemoTitleMain_c();
+ virtual ~dLytDemoTitleMain_c();
+
+ bool fn_802B0760(d2d::ResAccIf_c *resAcc);
+ bool fn_802B0860();
+ bool fn_802B0950();
+ bool fn_802B0980();
+ void fn_802B09F0();
+ void fn_802B0A50();
+ void fn_802B0B00();
+ void fn_802B0B50();
+ void fn_802B0BD0();
+ void fn_802B0C20();
+
+ 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();
+ virtual ~dLytDemoTitle_c();
+
+ void fn_802B0C20();
+ void fn_802B0CA0();
+ void fn_802B0CB0();
+ void fn_802B0CC0();
+ void fn_802B0D20();
+ void fn_802B0D30();
+ void fn_802B0D40();
+ void fn_802B0DB0();
+ void fn_802B0DC0();
+ void fn_802B0DD0();
+ void fn_802B0E30();
+ void fn_802B0E40();
+ void fn_802B0E50();
+ void fn_802B0E60();
+ bool fn_802B1270(d2d::ResAccIf_c *resAcc);
+
+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);
+
+
+ /* 0x08c */ UI_STATE_MGR_DECLARE(dLytDemoTitle_c);
+ /* 0x040 */ u8 padding[0xcc-0x0c8];
+ /* 0x0cc */ nw4r::lyt::ArcResourceAccessor mAccessor;
+ /* 0x17c */ nw4r::lyt::FontRefLink mFontRefLinks[5];
+ /* 0x438 */ dLytDemoTitleMain_c mMain;
+ /* 0x58c */ bool mIsAnimating;
+ /* 0x58d */ bool field_0x58d;
+};
+#endif
diff --git a/src/d/lyt/d_lyt_control_title.cpp b/src/d/lyt/d_lyt_control_title.cpp
index f2ff2015..476cdfb1 100644
--- a/src/d/lyt/d_lyt_control_title.cpp
+++ b/src/d/lyt/d_lyt_control_title.cpp
@@ -12,8 +12,6 @@ int dLytControlTitle_c::create() {
return SUCCEEDED;
}
-
-
int dLytControlTitle_c::doDelete() {
return SUCCEEDED;
}
diff --git a/src/d/lyt/d_lyt_demo_title.cpp b/src/d/lyt/d_lyt_demo_title.cpp
new file mode 100644
index 00000000..472ecfcb
--- /dev/null
+++ b/src/d/lyt/d_lyt_demo_title.cpp
@@ -0,0 +1,292 @@
+#include "d/lyt/d_lyt_demo_title.h"
+
+#include "d/d_fader.h"
+#include "d/d_stage.h"
+#include "d/d_stage_mgr.h"
+#include "d/d_sys.h"
+#include "d/lyt/d_lyt_deposit.h"
+#include "toBeSorted/arc_managers/layout_arc_manager.h"
+
+extern "C" u32 lbl_805B7120;
+
+#define TITLE_DEMO_MAIN_ANIM_IN 0
+#define TITLE_DEMO_MAIN_ANIM_OUT 1
+
+STATE_DEFINE(dLytDemoTitleMain_c, ModeNone);
+STATE_DEFINE(dLytDemoTitleMain_c, ModeIn);
+STATE_DEFINE(dLytDemoTitleMain_c, ModeMove);
+STATE_DEFINE(dLytDemoTitleMain_c, ModeOut);
+STATE_DEFINE(dLytDemoTitleMain_c, ModeEnd);
+
+STATE_DEFINE(dLytDemoTitle_c, None);
+STATE_DEFINE(dLytDemoTitle_c, In);
+STATE_DEFINE(dLytDemoTitle_c, Move);
+STATE_DEFINE(dLytDemoTitle_c, Out);
+STATE_DEFINE(dLytDemoTitle_c, End);
+
+void dLytDemoTitleMain_c::initializeState_ModeNone() {
+ return;
+}
+
+void dLytDemoTitleMain_c::executeState_ModeNone() {
+ mIsAnimating = true;
+ return;
+}
+
+void dLytDemoTitleMain_c::finalizeState_ModeNone() {
+ return;
+}
+
+void dLytDemoTitleMain_c::initializeState_ModeIn() {
+ return;
+}
+
+void dLytDemoTitleMain_c::executeState_ModeIn() {
+ if (mAnmGroups[TITLE_DEMO_MAIN_ANIM_IN].isEndReached()) {
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_IN].setAnimEnable(false);
+ mIsAnimating = true;
+ }
+ return;
+}
+
+void dLytDemoTitleMain_c::finalizeState_ModeIn() {
+ return;
+}
+
+void dLytDemoTitleMain_c::initializeState_ModeMove() {
+ return;
+}
+
+void dLytDemoTitleMain_c::executeState_ModeMove() {
+ mIsAnimating = true;
+ return;
+}
+
+void dLytDemoTitleMain_c::finalizeState_ModeMove() {
+ return;
+}
+
+void dLytDemoTitleMain_c::initializeState_ModeOut() {
+ return;
+}
+
+void dLytDemoTitleMain_c::executeState_ModeOut() {
+ if (mAnmGroups[TITLE_DEMO_MAIN_ANIM_OUT].isEndReached()) {
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_OUT].setAnimEnable(false);
+ mIsAnimating = true;
+ }
+ return;
+}
+
+void dLytDemoTitleMain_c::finalizeState_ModeOut() {
+ return;
+}
+
+void dLytDemoTitleMain_c::initializeState_ModeEnd() {
+ return;
+}
+
+void dLytDemoTitleMain_c::executeState_ModeEnd() {
+ mIsAnimating = true;
+ return;
+}
+
+void dLytDemoTitleMain_c::finalizeState_ModeEnd() {
+ return;
+}
+
+dLytDemoTitleMain_c::dLytDemoTitleMain_c() : mStateMgr(*this) {}
+
+static const d2d::LytBrlanMapping brlanMap[] = {
+ { "demoTitle_00_in.brlan", "G_inOut_00"},
+ {"demoTitle_00_out.brlan", "G_inOut_00"},
+};
+
+bool dLytDemoTitleMain_c::fn_802B0760(d2d::ResAccIf_c *resAcc) {
+ mLytBase.setResAcc(resAcc);
+ mLytBase.build("demoTitle_00.brlyt", nullptr);
+ mLytBase.setPriority(0x86);
+
+ for (int i = 0; i < 2; i++) {
+ mAnmGroups[i].init(brlanMap[i].mFile, resAcc, mLytBase.getLayout(), brlanMap[i].mName);
+ mAnmGroups[i].bind(false);
+ mAnmGroups[i].setAnimEnable(false);
+ }
+
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_IN].setAnimEnable(true);
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_IN].setFrame(0.0f);
+
+ mLytBase.calc();
+
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_IN].setAnimEnable(false);
+
+ fn_802B09F0();
+
+ return true;
+}
+
+bool dLytDemoTitleMain_c::fn_802B0860() {
+ mLytBase.getLayout()->GetRootPane()->SetInfluencedAlpha(true);
+ mLytBase.getLayout()->GetRootPane()->SetAlpha(255 - dStage_c::GetInstance()->getFader().getColorFaderAlpha());
+
+ mStateMgr.executeState();
+
+ for (int i = 0; i < 2; i++) {
+ if (mAnmGroups[i].isEnabled()) {
+ mAnmGroups[i].play();
+ }
+ }
+
+ mLytBase.calc();
+
+ return true;
+}
+
+bool dLytDemoTitleMain_c::fn_802B0950() {
+ mLytBase.addToDrawList();
+ return true;
+}
+
+bool dLytDemoTitleMain_c::fn_802B0980() {
+ dStageMgr_c::GetInstance()->unsetFlags0x88a0(0xfffffffe);
+
+ mLytBase.unbindAnims();
+
+ for (int i = 0; i < 2; i++) {
+ mAnmGroups[i].remove();
+ }
+ return true;
+}
+
+void dLytDemoTitleMain_c::fn_802B09F0() {
+ mStateMgr.changeState(StateID_ModeNone);
+ mIsAnimating = false;
+ return;
+}
+
+void dLytDemoTitleMain_c::fn_802B0A50() {
+ dStageMgr_c::GetInstance()->setFlags0x88a0(0x1);
+
+ dSys_c::setClearColor(mColor(0xFF));
+
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_IN].setAnimEnable(true);
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_IN].setFrame(0.0f);
+ mLytBase.calc();
+ mStateMgr.changeState(StateID_ModeIn);
+ mIsAnimating = false;
+}
+
+void dLytDemoTitleMain_c::fn_802B0B00(){
+ mStateMgr.changeState(StateID_ModeMove);
+ mIsAnimating = false;
+ return;
+}
+
+void dLytDemoTitleMain_c::fn_802B0B50(){
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_OUT].setAnimEnable(true);
+ mAnmGroups[TITLE_DEMO_MAIN_ANIM_OUT].setFrame(0.0f);
+ mLytBase.calc();
+ mStateMgr.changeState(StateID_ModeOut);
+ mIsAnimating = false;
+ return;
+}
+
+void dLytDemoTitleMain_c::fn_802B0BD0(){
+ mStateMgr.changeState(StateID_ModeEnd);
+ mIsAnimating = false;
+ return;
+}
+
+void dLytDemoTitleMain_c::fn_802B0C20(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0C20(){
+ if (mIsAnimating) {
+ mMain.fn_802B0A50();
+ mStateMgr.changeState(StateID_In);
+ mIsAnimating=false;
+ }
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0CA0(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0CB0(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0CC0(){
+ if (mMain.getmIsAnimating()) {
+ mMain.fn_802B0B00();
+ mStateMgr.changeState(StateID_Move);
+ }
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0D20(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0D30(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0D40(){
+ if (mMain.getmIsAnimating() && field_0x58d) {
+ mMain.fn_802B0B50();
+ mStateMgr.changeState(StateID_Out);
+ field_0x58d=false;
+ }
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0DB0(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0DC0(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0DD0(){
+
+ if (mMain.getmIsAnimating()) {
+ deleteRequest();
+ mMain.fn_802B0BD0();
+ mStateMgr.changeState(StateID_End);
+ }
+
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0E30(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0E40(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0E50(){
+ return;
+}
+
+void dLytDemoTitle_c::fn_802B0E60(){
+ return;
+}
+
+dLytDemoTitle_c::dLytDemoTitle_c() : mStateMgr(*this) {}
+
+dLytDemoTitleMain_c::~dLytDemoTitleMain_c() {}
+
+bool dLytDemoTitle_c::fn_802B1270(d2d::ResAccIf_c *resAcc){
+
+ mMain.fn_802B0760(resAcc);
+ mStateMgr.changeState(StateID_None);
+ mIsAnimating=true;
+ field_0x58d=false;
+ return true;
+}