d_lyt_msg_window_wood OK, d_lyt_common_a_btn OK

This commit is contained in:
robojumper
2025-04-01 23:08:44 +02:00
parent 17fe773653
commit fc89f2b34a
27 changed files with 819 additions and 175 deletions
+22 -11
View File
@@ -407,6 +407,12 @@ d/lyt/d_lyt_do_button.cpp:
.data start:0x8051A5A8 end:0x8051AC00
.bss start:0x805ACE10 end:0x805ACF78
d/lyt/d_lyt_common_a_btn.cpp:
.text start:0x8010EF90 end:0x8010F818
.rodata start:0x804E72E0 end:0x804E7330
.data start:0x8051AC18 end:0x8051ACD8
.sdata2 start:0x80579D98 end:0x80579DA8
d/lyt/d_lyt_common_icon_material.cpp:
.text start:0x8010F820 end:0x80111718
.ctors start:0x804DB730 end:0x804DB734
@@ -425,46 +431,51 @@ d/lyt/d_lyt_common_icon_item.cpp:
.sdata2 start:0x80579DB8 end:0x80579DD0
.bss start:0x805AD088 end:0x805AD188
d/lyt/d_lyt_msg_window.cpp:
d/lyt/msg_window/d_lyt_msg_window.cpp:
.text start:0x801148F0 end:0x8011C8C8
.ctors start:0x804DB738 end:0x804DB73C
d/lyt/d_lyt_msg_window_select_btn.cpp:
d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp:
.text start:0x8011C8D0 end:0x80120988
.ctors start:0x804DB73C end:0x804DB740
d/lyt/d_lyt_msg_window_base.cpp:
d/lyt/msg_window/d_lyt_msg_window_base.cpp:
.text start:0x80120A20 end:0x80121068
d/lyt/d_lyt_msg_window_talk.cpp:
d/lyt/msg_window/d_lyt_msg_window_talk.cpp:
.text start:0x80121070 end:0x801223C8
.ctors start:0x804DB740 end:0x804DB744
d/lyt/d_lyt_msg_window_link.cpp:
d/lyt/msg_window/d_lyt_msg_window_link.cpp:
.text start:0x801223D0 end:0x80123738
.ctors start:0x804DB744 end:0x804DB748
d/lyt/d_lyt_msg_window_get.cpp:
d/lyt/msg_window/d_lyt_msg_window_get.cpp:
.text start:0x80123740 end:0x80124678
.ctors start:0x804DB748 end:0x804DB74C
d/lyt/d_lyt_msg_window_sword.cpp:
d/lyt/msg_window/d_lyt_msg_window_sword.cpp:
.text start:0x80124680 end:0x80125BA8
.ctors start:0x804DB74C end:0x804DB750
d/lyt/d_lyt_msg_window_wood.cpp:
d/lyt/msg_window/d_lyt_msg_window_wood.cpp:
.text start:0x80125BB0 end:0x801267F8
.ctors start:0x804DB750 end:0x804DB754
.rodata start:0x804E75C0 end:0x804E75D8
.data start:0x8051D8A0 end:0x8051DB08
.sdata start:0x805725E0 end:0x805725F8
.sdata2 start:0x80579EC0 end:0x80579EC8
.bss start:0x805AEDF0 end:0x805AEEF0
d/lyt/d_lyt_msg_window_stone.cpp:
d/lyt/msg_window/d_lyt_msg_window_stone.cpp:
.text start:0x80126800 end:0x80127478
.ctors start:0x804DB754 end:0x804DB758
d/lyt/d_lyt_msg_window_demo.cpp:
d/lyt/msg_window/d_lyt_msg_window_demo.cpp:
.text start:0x80127480 end:0x801281F8
.ctors start:0x804DB758 end:0x804DB75C
d/lyt/d_lyt_simple_window.cpp:
d/lyt/msg_window/d_lyt_simple_window.cpp:
.text start:0x80128200 end:0x8012B948
.ctors start:0x804DB75C end:0x804DB760
+84 -84
View File
@@ -2831,7 +2831,7 @@ dSys_c__endFrame = .text:0x800643E0; // type:function size:0x48
EGG__ConfigurationData__onEndFrame = .text:0x80064430; // type:function size:0x4
dSys_c__setBlack = .text:0x80064440; // type:function size:0x80
setFrameRate__4dSysFUl = .text:0x800644C0; // type:function size:0x10
dSys_c__getFrameRate = .text:0x800644D0; // type:function size:0x10
getFrameRate__4dSysFv = .text:0x800644D0; // type:function size:0x10
setClearColor__4dSysF6mColor = .text:0x800644E0; // type:function size:0x60
dSys_c__getClearColor = .text:0x80064540; // type:function size:0x14
dSys_c__create = .text:0x80064560; // type:function size:0x3BC
@@ -3774,9 +3774,9 @@ LytMeter0x24__Q23d2d8dSubPaneCFv = .text:0x800AC4F0; // type:function size:0x8
LytMeter0x28__Q23d2d8dSubPaneFb = .text:0x800AC500; // type:function size:0x8
init__Q23d2d14AnmGroupBase_cFPCcPQ23m2d10ResAccIf_cPQ23d2d8Layout_cPCc = .text:0x800AC510; // type:function size:0x9C
init__Q23d2d14AnmGroupBase_cFPQ34nw4r3lyt13AnimTransformPCcPQ23m2d10ResAccIf_cPQ34nw4r3lyt5Group = .text:0x800AC5B0; // type:function size:0x114
setDirection__Q23d2d14AnmGroupBase_cFb = .text:0x800AC6D0; // type:function size:0xF8
bind__Q23d2d14AnmGroupBase_cFb = .text:0x800AC6D0; // type:function size:0xF8
unbind__Q23d2d14AnmGroupBase_cFv = .text:0x800AC7D0; // type:function size:0x88
afterUnbind__Q23d2d14AnmGroupBase_cFv = .text:0x800AC860; // type:function size:0x8
remove__Q23d2d14AnmGroupBase_cFv = .text:0x800AC860; // type:function size:0x8
setAnimEnable__Q23d2d14AnmGroupBase_cFb = .text:0x800AC870; // type:function size:0x8C
setAnmFrame__Q23d2d14AnmGroupBase_cFf = .text:0x800AC900; // type:function size:0xC
syncAnmFrame__Q23d2d14AnmGroupBase_cFv = .text:0x800AC910; // type:function size:0xC
@@ -3841,7 +3841,7 @@ fn_800AEF80 = .text:0x800AEF80; // type:function size:0x414
GetCharStrmReader__Q34nw4r2ut4FontCFv = .text:0x800AF3A0; // type:function size:0x38
fn_800AF3E0 = .text:0x800AF3E0; // type:function size:0x8C
fn_800AF470 = .text:0x800AF470; // type:function size:0xCC
fn_800AF540 = .text:0x800AF540; // type:function size:0x8C
fn_800AF540__10dTextBox_cFPCwP15dTagProcessor_ce = .text:0x800AF540; // type:function size:0x8C
fn_800AF5D0 = .text:0x800AF5D0; // type:function size:0xD4
fn_800AF6B0 = .text:0x800AF6B0; // type:function size:0x64
fn_800AF720 = .text:0x800AF720; // type:function size:0x8C
@@ -6547,27 +6547,27 @@ fn_8010EC10 = .text:0x8010EC10; // type:function size:0x134
fn_8010ED50 = .text:0x8010ED50; // type:function size:0x110
fn_8010EE60 = .text:0x8010EE60; // type:function size:0xE8
fn_8010EF50 = .text:0x8010EF50; // type:function size:0x3C
fn_8010EF90 = .text:0x8010EF90; // type:function size:0xAC
fn_8010F040 = .text:0x8010F040; // type:function size:0x50
fn_8010F090 = .text:0x8010F090; // type:function size:0x58
fn_8010F0F0 = .text:0x8010F0F0; // type:function size:0x24
fn_8010F120 = .text:0x8010F120; // type:function size:0x28
fn_8010F150 = .text:0x8010F150; // type:function size:0x4
fn_8010F160 = .text:0x8010F160; // type:function size:0x8
fn_8010F170 = .text:0x8010F170; // type:function size:0x74
fn_8010F1F0 = .text:0x8010F1F0; // type:function size:0xCC
fn_8010F2C0 = .text:0x8010F2C0; // type:function size:0x5C
fn_8010F320 = .text:0x8010F320; // type:function size:0x8
fn_8010F330 = .text:0x8010F330; // type:function size:0x6C
canPressAToClearCalibrationScreenMaybe = .text:0x8010F3A0; // type:function size:0x88
fn_8010F430 = .text:0x8010F430; // type:function size:0x58
fn_8010F490 = .text:0x8010F490; // type:function size:0x134
fn_8010F5D0 = .text:0x8010F5D0; // type:function size:0x188
setTextboxStateMaybe = .text:0x8010F760; // type:function size:0x10
fn_8010F770 = .text:0x8010F770; // type:function size:0x8
fn_8010F780 = .text:0x8010F780; // type:function size:0x8
fn_8010F790 = .text:0x8010F790; // type:function size:0x8
fn_8010F7A0 = .text:0x8010F7A0; // type:function size:0x78
build__16dLytCommonABtn_cFPQ23d2d10ResAccIf_c = .text:0x8010EF90; // type:function size:0xAC
remove__16dLytCommonABtn_cFv = .text:0x8010F040; // type:function size:0x50
execute__16dLytCommonABtn_cFv = .text:0x8010F090; // type:function size:0x58
requestIn__16dLytCommonABtn_cFv = .text:0x8010F0F0; // type:function size:0x24
requestOut__16dLytCommonABtn_cFb = .text:0x8010F120; // type:function size:0x28
resetToInvisble__16dLytCommonABtn_cFv = .text:0x8010F150; // type:function size:0x4
setSoundVariant__16dLytCommonABtn_cFQ216dLytCommonABtn_c12SoundVariant = .text:0x8010F160; // type:function size:0x8
runExecuteFunc__16dLytCommonABtn_cFv = .text:0x8010F170; // type:function size:0x74
gotoStateInvisible__16dLytCommonABtn_cFv = .text:0x8010F1F0; // type:function size:0xCC
executeStateInvisible__16dLytCommonABtn_cFv = .text:0x8010F2C0; // type:function size:0x5C
gotoStateIn__16dLytCommonABtn_cFv = .text:0x8010F320; // type:function size:0x8
executeStateIn__16dLytCommonABtn_cFv = .text:0x8010F330; // type:function size:0x6C
goToStateVisible__16dLytCommonABtn_cFv = .text:0x8010F3A0; // type:function size:0x88
executeStateVisible__16dLytCommonABtn_cFv = .text:0x8010F430; // type:function size:0x58
goToStateDecideOut__16dLytCommonABtn_cFv = .text:0x8010F490; // type:function size:0x134
executeStateDecideOut__16dLytCommonABtn_cFv = .text:0x8010F5D0; // type:function size:0x188
setState__16dLytCommonABtn_cFQ216dLytCommonABtn_c9ABtnState = .text:0x8010F760; // type:function size:0x10
getName__16dLytCommonABtn_cCFv = .text:0x8010F770; // type:function size:0x8
getLyt__16dLytCommonABtn_cFv = .text:0x8010F780; // type:function size:0x8
getPane__16dLytCommonABtn_cFv = .text:0x8010F790; // type:function size:0x8
__dt__16dLytCommonABtn_cFv = .text:0x8010F7A0; // type:function size:0x78
build__29dLytCommonIconMaterialPart1_cFPQ23d2d10ResAccIf_c = .text:0x8010F820; // type:function size:0x100
remove__29dLytCommonIconMaterialPart1_cFv = .text:0x8010F920; // type:function size:0x58
execute__29dLytCommonIconMaterialPart1_cFv = .text:0x8010F980; // type:function size:0x9C
@@ -6877,7 +6877,7 @@ fn_801194C0 = .text:0x801194C0; // type:function size:0x40C
LytMsgWindowTalk__dtor = .text:0x801198D0; // type:function size:0x198
fn_80119A70 = .text:0x80119A70; // type:function size:0x198
LytMsgWindowSword__dtor = .text:0x80119C10; // type:function size:0x198
fn_80119DB0 = .text:0x80119DB0; // type:function size:0x170
__dt__19dLytMsgWindowWood_cFv = .text:0x80119DB0; // type:function size:0x170
fn_80119F20 = .text:0x80119F20; // type:function size:0x170
fn_8011A090 = .text:0x8011A090; // type:function size:0x198
fn_8011A230 = .text:0x8011A230; // type:function size:0x158
@@ -7022,9 +7022,9 @@ fn_8011B560 = .text:0x8011B560; // type:function size:0x30
fn_8011B590 = .text:0x8011B590; // type:function size:0x30
fn_8011B5C0 = .text:0x8011B5C0; // type:function size:0x30
fn_8011B5F0 = .text:0x8011B5F0; // type:function size:0x30
fn_8011B620 = .text:0x8011B620; // type:function size:0x30
fn_8011B650 = .text:0x8011B650; // type:function size:0x30
fn_8011B680 = .text:0x8011B680; // type:function size:0x30
finalizeState__34sFStateID_c<19dLytMsgWindowWood_c>CFR19dLytMsgWindowWood_c = .text:0x8011B620; // type:function size:0x30
executeState__34sFStateID_c<19dLytMsgWindowWood_c>CFR19dLytMsgWindowWood_c = .text:0x8011B650; // type:function size:0x30
initializeState__34sFStateID_c<19dLytMsgWindowWood_c>CFR19dLytMsgWindowWood_c = .text:0x8011B680; // type:function size:0x30
fn_8011B6B0 = .text:0x8011B6B0; // type:function size:0x30
fn_8011B6E0 = .text:0x8011B6E0; // type:function size:0x30
fn_8011B710 = .text:0x8011B710; // type:function size:0x30
@@ -7131,7 +7131,7 @@ fn_80120DC0 = .text:0x80120DC0; // type:function size:0x104
fn_80120ED0 = .text:0x80120ED0; // type:function size:0x28
fn_80120F00 = .text:0x80120F00; // type:function size:0x14C
fn_80121050 = .text:0x80121050; // type:function size:0xC
fn_80121060 = .text:0x80121060; // type:function size:0x8
vt_0x40__20dLytMsgWindowSubtypeCFv = .text:0x80121060; // type:function size:0x8
LytMsgWindowTalk__initialize = .text:0x80121070; // type:function size:0x2F8
fn_80121370 = .text:0x80121370; // type:function size:0xE0
LytMsgWindowTalk__stateInvisibleEnter = .text:0x80121450; // type:function size:0x8
@@ -7253,34 +7253,34 @@ fn_801256B0 = .text:0x801256B0; // type:function size:0x8
LytMsgWindowSword__initStates = .text:0x801256C0; // type:function size:0x3F4
LytMsgWindowSword__dtor2 = .text:0x80125AC0; // type:function size:0x58
fn_80125B20 = .text:0x80125B20; // type:function size:0x88
fn_80125BB0 = .text:0x80125BB0; // type:function size:0x278
fn_80125E30 = .text:0x80125E30; // type:function size:0xD8
fn_80125F10 = .text:0x80125F10; // type:function size:0x8
fn_80125F20 = .text:0x80125F20; // type:function size:0x28
fn_80125F50 = .text:0x80125F50; // type:function size:0x4
fn_80125F60 = .text:0x80125F60; // type:function size:0x48
fn_80125FB0 = .text:0x80125FB0; // type:function size:0x78
fn_80126030 = .text:0x80126030; // type:function size:0x4
fn_80126040 = .text:0x80126040; // type:function size:0x4
fn_80126050 = .text:0x80126050; // type:function size:0x28
fn_80126080 = .text:0x80126080; // type:function size:0x4
fn_80126090 = .text:0x80126090; // type:function size:0x48
fn_801260E0 = .text:0x801260E0; // type:function size:0x78
fn_80126160 = .text:0x80126160; // type:function size:0x4
fn_80126170 = .text:0x80126170; // type:function size:0xBC
fn_80126230 = .text:0x80126230; // type:function size:0x14
fn_80126250 = .text:0x80126250; // type:function size:0xC
fn_80126260 = .text:0x80126260; // type:function size:0x4C
fn_801262B0 = .text:0x801262B0; // type:function size:0xC
fn_801262C0 = .text:0x801262C0; // type:function size:0x4C
fn_80126310 = .text:0x80126310; // type:function size:0x7C
fn_80126390 = .text:0x80126390; // type:function size:0x8
fn_801263A0 = .text:0x801263A0; // type:function size:0x8
fn_801263B0 = .text:0x801263B0; // type:function size:0x8
fn_801263C0 = .text:0x801263C0; // type:function size:0x8
LytMsgWindowWood__initStates = .text:0x801263D0; // type:function size:0x338
LytMsgWindowWood__dtor = .text:0x80126710; // type:function size:0x58
fn_80126770 = .text:0x80126770; // type:function size:0x88
build__19dLytMsgWindowWood_cFPvPQ23d2d10ResAccIf_cP15dTagProcessor_c = .text:0x80125BB0; // type:function size:0x278
remove__19dLytMsgWindowWood_cFv = .text:0x80125E30; // type:function size:0xD8
initializeState_Invisible__19dLytMsgWindowWood_cFv = .text:0x80125F10; // type:function size:0x8
executeState_Invisible__19dLytMsgWindowWood_cFv = .text:0x80125F20; // type:function size:0x28
finalizeState_Invisible__19dLytMsgWindowWood_cFv = .text:0x80125F50; // type:function size:0x4
initializeState_In__19dLytMsgWindowWood_cFv = .text:0x80125F60; // type:function size:0x48
executeState_In__19dLytMsgWindowWood_cFv = .text:0x80125FB0; // type:function size:0x78
finalizeState_In__19dLytMsgWindowWood_cFv = .text:0x80126030; // type:function size:0x4
initializeState_Visible__19dLytMsgWindowWood_cFv = .text:0x80126040; // type:function size:0x4
executeState_Visible__19dLytMsgWindowWood_cFv = .text:0x80126050; // type:function size:0x28
finalizeState_Visible__19dLytMsgWindowWood_cFv = .text:0x80126080; // type:function size:0x4
initializeState_Out__19dLytMsgWindowWood_cFv = .text:0x80126090; // type:function size:0x48
executeState_Out__19dLytMsgWindowWood_cFv = .text:0x801260E0; // type:function size:0x78
finalizeState_Out__19dLytMsgWindowWood_cFv = .text:0x80126160; // type:function size:0x4
execute__19dLytMsgWindowWood_cFv = .text:0x80126170; // type:function size:0xBC
draw__19dLytMsgWindowWood_cFv = .text:0x80126230; // type:function size:0x14
vt_0x1C__19dLytMsgWindowWood_cFv = .text:0x80126250; // type:function size:0xC
vt_0x20__19dLytMsgWindowWood_cCFv = .text:0x80126260; // type:function size:0x4C
vt_0x24__19dLytMsgWindowWood_cFv = .text:0x801262B0; // type:function size:0xC
vt_0x28__19dLytMsgWindowWood_cCFv = .text:0x801262C0; // type:function size:0x4C
setText__19dLytMsgWindowWood_cFPCw = .text:0x80126310; // type:function size:0x7C
vt_0x3C__19dLytMsgWindowWood_cCFv = .text:0x80126390; // type:function size:0x8
vt_0x38__19dLytMsgWindowWood_cFv = .text:0x801263A0; // type:function size:0x8
vt_0x34__19dLytMsgWindowWood_cFv = .text:0x801263B0; // type:function size:0x8
vt_0x30__19dLytMsgWindowWood_cFv = .text:0x801263C0; // type:function size:0x8
__sinit_\d_lyt_msg_window_wood_cpp = .text:0x801263D0; // type:function size:0x338 scope:local
__dt__34sFStateID_c<19dLytMsgWindowWood_c>Fv = .text:0x80126710; // type:function size:0x58
isSameName__34sFStateID_c<19dLytMsgWindowWood_c>CFPCc = .text:0x80126770; // type:function size:0x88
fn_80126800 = .text:0x80126800; // type:function size:0x284
fn_80126A90 = .text:0x80126A90; // type:function size:0xD8
fn_80126B70 = .text:0x80126B70; // type:function size:0x8
@@ -31963,15 +31963,15 @@ __vt__13DoButtonClass = .data:0x8051AA60; // type:object size:0x16C
__vt__29sFStateID_c<14dLytDobutton_c> = .data:0x8051ABCC; // type:object size:0x34
lbl_8051AC00 = .data:0x8051AC00; // type:object size:0xC
lbl_8051AC0C = .data:0x8051AC0C; // type:object size:0xC
lbl_8051AC18 = .data:0x8051AC18; // type:object size:0x14
lbl_8051AC2C = .data:0x8051AC2C; // type:object size:0xC
lbl_8051AC38 = .data:0x8051AC38; // type:object size:0x14
lbl_8051AC4C = .data:0x8051AC4C; // type:object size:0x10
lbl_8051AC5C = .data:0x8051AC5C; // type:object size:0x18
lbl_8051AC18 = .data:0x8051AC18; // type:object size:0x11 data:string
lbl_8051AC2C = .data:0x8051AC2C; // type:object size:0xB data:string
lbl_8051AC38 = .data:0x8051AC38; // type:object size:0x13 data:string
lbl_8051AC4C = .data:0x8051AC4C; // type:object size:0xD data:string
lbl_8051AC5C = .data:0x8051AC5C; // type:object size:0x15 data:string
lbl_8051AC74 = .data:0x8051AC74; // type:object size:0xC data:string
lbl_8051AC80 = .data:0x8051AC80; // type:object size:0x14
lbl_8051AC94 = .data:0x8051AC94; // type:object size:0x10
lbl_8051ACA4 = .data:0x8051ACA4; // type:object size:0x34
lbl_8051AC80 = .data:0x8051AC80; // type:object size:0x12 data:string
lbl_8051AC94 = .data:0x8051AC94; // type:object size:0xE data:string
__vt__16dLytCommonABtn_c = .data:0x8051ACA4; // type:object size:0x34
lbl_8051ACD8 = .data:0x8051ACD8; // type:object size:0x18 data:string
lbl_8051ACF0 = .data:0x8051ACF0; // type:object size:0x9 data:string
lbl_8051ACFC = .data:0x8051ACFC; // type:object size:0x1C data:string
@@ -32234,18 +32234,18 @@ lbl_8051D694 = .data:0x8051D694; // type:object size:0xC
lbl_8051D6A0 = .data:0x8051D6A0; // type:object size:0x18
LytMsgWindowSword__vtable = .data:0x8051D6B8; // type:object size:0x1B4
lbl_8051D86C = .data:0x8051D86C; // type:object size:0x34
lbl_8051D8A0 = .data:0x8051D8A0; // type:object size:0x1C
lbl_8051D8BC = .data:0x8051D8BC; // type:object size:0xC
lbl_8051D8C8 = .data:0x8051D8C8; // type:object size:0x1C
lbl_8051D8E4 = .data:0x8051D8E4; // type:object size:0xC
lbl_8051D8F0 = .data:0x8051D8F0; // type:object size:0x1C
lbl_8051D90C = .data:0x8051D90C; // type:object size:0xC
lbl_8051D918 = .data:0x8051D918; // type:object size:0xC
lbl_8051D924 = .data:0x8051D924; // type:object size:0x10
lbl_8051D934 = .data:0x8051D934; // type:object size:0x10
lbl_8051D944 = .data:0x8051D944; // type:object size:0xC
lbl_8051D950 = .data:0x8051D950; // type:object size:0x18
lbl_8051D968 = .data:0x8051D968; // type:object size:0x16C
lbl_8051D8A0 = .data:0x8051D8A0; // type:object size:0x19 data:string
lbl_8051D8BC = .data:0x8051D8BC; // type:object size:0xB data:string
lbl_8051D8C8 = .data:0x8051D8C8; // type:object size:0x1B data:string
lbl_8051D8E4 = .data:0x8051D8E4; // type:object size:0xA data:string
lbl_8051D8F0 = .data:0x8051D8F0; // type:object size:0x1A data:string
lbl_8051D90C = .data:0x8051D90C; // type:object size:0xA data:string
lbl_8051D918 = .data:0x8051D918; // type:object size:0xB data:string
lbl_8051D924 = .data:0x8051D924; // type:object size:0xD data:string
lbl_8051D934 = .data:0x8051D934; // type:object size:0xE data:string
lbl_8051D944 = .data:0x8051D944; // type:object size:0x9 data:string
lbl_8051D950 = .data:0x8051D950; // type:object size:0x16 data:string
__vt__19dLytMsgWindowWood_c = .data:0x8051D968; // type:object size:0x44
lbl_8051DAD4 = .data:0x8051DAD4; // type:object size:0x34
lbl_8051DB08 = .data:0x8051DB08; // type:object size:0x1C
lbl_8051DB24 = .data:0x8051DB24; // type:object size:0xC
@@ -38208,7 +38208,7 @@ lbl_805725D0 = .sdata:0x805725D0; // type:object size:0x8 data:4byte
lbl_805725D8 = .sdata:0x805725D8; // type:object size:0x8 data:4byte
lbl_805725E0 = .sdata:0x805725E0; // type:object size:0x8 data:4byte
lbl_805725E8 = .sdata:0x805725E8; // type:object size:0x8 data:4byte
lbl_805725F0 = .sdata:0x805725F0; // type:object size:0x8 data:4byte
lbl_805725F0 = .sdata:0x805725F0; // type:object size:0x4 data:4byte
lbl_805725F8 = .sdata:0x805725F8; // type:object size:0x8 data:4byte
lbl_80572600 = .sdata:0x80572600; // type:object size:0x8 data:4byte
lbl_80572608 = .sdata:0x80572608; // type:object size:0x8 data:4byte
@@ -48858,11 +48858,11 @@ LytMsgWindowSword__STATE_IN = .bss:0x805AED00; // type:object size:0x40 data:4by
LytMsgWindowSword__STATE_WAIT = .bss:0x805AED40; // type:object size:0x40 data:4byte
LytMsgWindowSword__STATE_VISIBLE = .bss:0x805AED80; // type:object size:0x40 data:4byte
LytMsgWindowSword__STATE_OUT = .bss:0x805AEDC0; // type:object size:0x30 data:4byte
lbl_805AEDF0 = .bss:0x805AEDF0; // type:object size:0x10
LytMsgWindowWood__STATE_INVISIBLE = .bss:0x805AEE00; // type:object size:0x40 data:4byte
LytMsgWindowWood__STATE_IN = .bss:0x805AEE40; // type:object size:0x40 data:4byte
LytMsgWindowWood__STATE_VISIBLE = .bss:0x805AEE80; // type:object size:0x40 data:4byte
LytMsgWindowWood__STATE_OUT = .bss:0x805AEEC0; // type:object size:0x30 data:4byte
lbl_805AEDF0 = .bss:0x805AEDF0; // type:object size:0xC
StateID_Invisible__19dLytMsgWindowWood_c = .bss:0x805AEE00; // type:object size:0x30 data:4byte
StateID_In__19dLytMsgWindowWood_c = .bss:0x805AEE40; // type:object size:0x30 data:4byte
StateID_Visible__19dLytMsgWindowWood_c = .bss:0x805AEE80; // type:object size:0x30 data:4byte
StateID_Out__19dLytMsgWindowWood_c = .bss:0x805AEEC0; // type:object size:0x30 data:4byte
lbl_805AEEF0 = .bss:0x805AEEF0; // type:object size:0x10
LytMsgWindowStone__STATE_INVISIBLE = .bss:0x805AEF00; // type:object size:0x40 data:4byte
LytMsgWindowStone__STATE_IN = .bss:0x805AEF40; // type:object size:0x40 data:4byte
+10 -9
View File
@@ -404,17 +404,18 @@ config.libs = [
Object(NonMatching, "d/lyt/meter/d_lyt_meter_heart.cpp"),
Object(NonMatching, "d/lyt/meter/d_lyt_meter_shield_gauge.cpp"),
Object(NonMatching, "d/lyt/d_lyt_do_button.cpp"),
Object(Matching, "d/lyt/d_lyt_common_a_btn.cpp"),
Object(Matching, "d/lyt/d_lyt_common_icon_material.cpp"),
Object(Matching, "d/lyt/d_lyt_common_icon_item.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_select_btn.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_talk.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_link.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_get.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_sword.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_wood.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_stone.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_demo.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window_talk.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window_link.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window_get.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window_sword.cpp"),
Object(Matching, "d/lyt/msg_window/d_lyt_msg_window_wood.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window_stone.cpp"),
Object(NonMatching, "d/lyt/msg_window/d_lyt_msg_window_demo.cpp"),
Object(NonMatching, "d/lyt/d_lyt_simple_window.cpp"),
Object(NonMatching, "d/lyt/d_lyt_auto_caption.cpp"),
Object(NonMatching, "d/lyt/d_lyt_auto_explain.cpp"),
+1
View File
@@ -7,6 +7,7 @@
namespace dSys {
void setFrameRate(u32);
u8 getFrameRate();
void setClearColor(mColor clr);
} // namespace dSys_c
+25 -23
View File
@@ -44,10 +44,10 @@ class Multi_c : public m2d::Base_c {
public:
Multi_c();
virtual ~Multi_c() {}
virtual void draw() override;
virtual void animate();
virtual void calc();
virtual bool build(const char *name, m2d::ResAccIf_c *acc);
/* vt 0x0C */ virtual void draw() override;
/* vt 0x10 */ virtual void animate();
/* vt 0x18 */ virtual void calc();
/* vt 0x18 */ virtual bool build(const char *name, m2d::ResAccIf_c *acc);
void calcBefore();
void calcAfter();
@@ -79,11 +79,11 @@ class LytBase_c : public Multi_c {
public:
LytBase_c();
virtual ~LytBase_c();
virtual void draw() override {
/* vt 0x0C */ virtual void draw() override {
mLayout.Draw(mDrawInfo);
};
virtual bool build(const char *name, m2d::ResAccIf_c *acc) override;
/* vt 0x18 */ virtual bool build(const char *name, m2d::ResAccIf_c *acc) override;
dTextBox_c *getTextBox(const char *name);
dTextBox_c *getSizeBoxInWindow(const char *windowName);
dWindow_c *getWindow(const char *name);
@@ -131,9 +131,11 @@ private:
class dSubPane;
struct SubPaneListNode {
nw4r::ut::LinkListNode mNode;
dSubPane *mpLytPane;
nw4r::lyt::Pane *mpPane;
/* 0x00 */ nw4r::ut::LinkListNode mNode;
/** The d lyt pane, set by the UI element */
/* 0x08 */ dSubPane *mpLytPane;
/** The nw4r lyt pane, set by linkMeters */
/* 0x0C */ nw4r::lyt::Pane *mpPane;
};
typedef nw4r::ut::LinkList<SubPaneListNode, offsetof(SubPaneListNode, mNode)> SubPaneList;
@@ -141,24 +143,24 @@ typedef nw4r::ut::LinkList<SubPaneListNode, offsetof(SubPaneListNode, mNode)> Su
class dSubPane {
public:
dSubPane() : field_0x04(false), field_0x05(0) {}
virtual ~dSubPane() {}
virtual bool build(ResAccIf_c *resAcc) = 0;
virtual bool remove() = 0;
virtual bool execute() = 0;
virtual nw4r::lyt::Pane *getPane() = 0;
virtual LytBase_c *getLyt() = 0;
virtual const char *getName() const = 0;
virtual bool LytMeter0x24() const {
/* vt 0x08 */ virtual ~dSubPane() {}
/* vt 0x0C */ virtual bool build(ResAccIf_c *resAcc) = 0;
/* vt 0x10 */ virtual bool remove() = 0;
/* vt 0x14 */ virtual bool execute() = 0;
/* vt 0x18 */ virtual nw4r::lyt::Pane *getPane() = 0;
/* vt 0x1C */ virtual LytBase_c *getLyt() = 0;
/* vt 0x20 */ virtual const char *getName() const = 0;
/* vt 0x24 */ virtual bool LytMeter0x24() const {
return field_0x04;
}
virtual void LytMeter0x28(bool arg) {
/* vt 0x28 */ virtual void LytMeter0x28(bool arg) {
field_0x04 = arg;
}
virtual u8 LytMeter0x2C() const {
/* vt 0x2C */ virtual u8 LytMeter0x2C() const {
return field_0x05;
}
virtual void LytMeter0x30(u8 arg) {
/* vt 0x30 */ virtual void LytMeter0x30(u8 arg) {
field_0x05 = arg;
}
@@ -178,9 +180,9 @@ struct AnmGroupBase_c {
bool init(const char *fileName, m2d::ResAccIf_c *acc, d2d::Layout_c *layout, const char *animName);
bool init(nw4r::lyt::AnimTransform *transform, const char *fileName, m2d::ResAccIf_c *acc, nw4r::lyt::Group *group);
bool setDirection(bool backwards);
bool bind(bool bDisable);
bool unbind();
bool afterUnbind();
bool remove();
void setAnimEnable(bool);
void setAnmFrame(f32);
void syncAnmFrame();
@@ -188,7 +190,7 @@ struct AnmGroupBase_c {
void setBackward();
inline void setFrameAndControlThings(f32 frame) {
setDirection(false);
bind(false);
setAnimEnable(true);
mpFrameCtrl->setFrame(frame);
syncAnmFrame();
+103
View File
@@ -0,0 +1,103 @@
#ifndef D_LYT_COMMON_A_BTN_H
#define D_LYT_COMMON_A_BTN_H
#include "d/lyt/d2d.h"
/**
* Made up name.
*
* An A button used in various message windows, as well as
* the title menu. Can be hidden, visible, animating in, animating out.
*/
class dLytCommonABtn_c : public d2d::dSubPane {
public:
virtual bool build(d2d::ResAccIf_c *resAcc) override;
virtual bool remove() override;
virtual bool execute() override;
virtual nw4r::lyt::Pane *getPane() override {
return mLyt.getLayout()->GetRootPane();
}
virtual d2d::LytBase_c *getLyt() override {
return &mLyt;
}
virtual const char *getName() const override {
return mLyt.getName();
}
void openMaybe() {
field_0x1B0 = 1;
}
void closeMaybe() {
field_0x1B0 = 0;
}
u8 shouldBeOpen() const {
return field_0x1B0;
}
u8 isDoneOut() const {
return mIsDoneOut;
}
bool requestIn();
bool requestOut(bool b);
enum SoundVariant {
VARIANT_NORMAL,
VARIANT_TITLE,
};
void setSoundVariant(SoundVariant);
void resetToInvisble();
enum ABtnState {
STATE_INVISIBLE,
STATE_IN,
STATE_VISIBLE,
STATE_OUT,
};
private:
enum OutState {
OUT_STATE_DECIDING,
OUT_STATE_GOTO_OUT,
OUT_STATE_OUT,
OUT_STATE_GOTO_INVISIBLE,
};
void setState(ABtnState state);
void runExecuteFunc();
void executeStateInvisible();
void executeStateIn();
void executeStateVisible();
void executeStateDecideOut();
void gotoStateInvisible();
void gotoStateIn();
void goToStateVisible();
void goToStateDecideOut();
typedef void (dLytCommonABtn_c::*executeFunc)(void);
static const executeFunc sExecuteFuncs[4];
/* 0x008 */ d2d::dLytSub mLyt;
/* 0x09C */ d2d::AnmGroup_c mAnm[4];
/* 0x19C */ ABtnState mState;
/* 0x1A0 */ OutState mOutState;
/* 0x1A4 */ SoundVariant mSoundVariant;
/* 0x1A8 */ u8 field_0x1A8;
/* 0x1A9 */ bool mInRequested;
/* 0x1AA */ bool mOutRequested;
/* 0x1AB */ bool mIsDoneOut;
/* 0x1AC */ u8 field_0x1AC;
/* 0x1AD */ bool mNoDecide;
/* 0x1AE */ u8 field_0x1AE;
/* 0x1AF */ u8 field_0x1AF;
/* 0x1B0 */ u8 field_0x1B0;
};
#endif
+10 -1
View File
@@ -5,6 +5,8 @@
#include "nw4r/lyt/lyt_textBox.h"
#include "nw4r/lyt/lyt_types.h"
class dTagProcessor_c;
class dTextBox_c : public nw4r::lyt::TextBox {
friend class dWindow_c;
@@ -26,6 +28,10 @@ public:
nw4r::lyt::TextBox::SetFontSize(value);
}
void set0x1F6(u8 val) {
field_0x1F6 = val;
}
void set0x1F8(u8 val) {
field_0x1F8 = val;
}
@@ -39,6 +45,7 @@ public:
}
void fn_800AF930(const wchar_t *);
void fn_800AF540(const wchar_t *text, dTagProcessor_c *tagProcessor, ...);
// @bug: This does not implement UT's RTTI, so casts to dTextBox_c will
// succeed even if all you have is a lyt::TextBox
@@ -49,7 +56,9 @@ private:
/* 0x108 */ u8 field_0x108[0x118 - 0x108];
/* 0x118 */ nw4r::lyt::Size mTextScale;
/* 0x120 */ f32 mScale;
/* 0x124 */ u8 field_0x124[0x1F8 - 0x124];
/* 0x124 */ u8 field_0x124[0x1F6 - 0x124];
/* 0x1F6 */ u8 field_0x1F6;
/* 0x1F7 */ u8 field_0x1F7;
/* 0x1F8 */ u8 field_0x1F8;
/* 0x1F9 */ u8 field_0x1F9[0x204 - 0x1F9];
};
@@ -0,0 +1,27 @@
#ifndef D_LYT_MGS_WINDOW_COMMON_H
#define D_LYT_MGS_WINDOW_COMMON_H
#include "d/d_tag_processor.h"
#include "d/lyt/d2d.h"
#include "m/m2d.h"
class dLytMsgWindowSubtype : public m2d::Base_c {
public:
/* vt 0x08 */ virtual ~dLytMsgWindowSubtype() {}
// vt 0x0C = m2d::Base_c::draw
/* vt 0x10 */ virtual bool build(void *unk, d2d::ResAccIf_c *resAcc, dTagProcessor_c *tagProcessor);
/* vt 0x14 */ virtual bool remove();
/* vt 0x18 */ virtual bool execute();
/* vt 0x1C */ virtual void vt_0x1C();
/* vt 0x20 */ virtual bool vt_0x20() const;
/* vt 0x24 */ virtual void vt_0x24();
/* vt 0x28 */ virtual bool vt_0x28() const;
/* vt 0x2C */ virtual bool setText(const wchar_t *text);
/* vt 0x30 */ virtual dTextBox_c *vt_0x30();
/* vt 0x34 */ virtual void vt_0x34();
/* vt 0x38 */ virtual void vt_0x38(bool b);
/* vt 0x3C */ virtual u8 vt_0x3C() const;
/* vt 0x40 */ virtual bool vt_0x40() const;
};
#endif
@@ -0,0 +1,55 @@
#ifndef D_LYT_MSG_WINDOW_WOOD_H
#define D_LYT_MSG_WINDOW_WOOD_H
#include "d/d_tag_processor.h"
#include "d/lyt/d2d.h"
#include "d/lyt/d_lyt_common_a_btn.h"
#include "d/lyt/d_textbox.h"
#include "d/lyt/msg_window/d_lyt_msg_window_common.h"
#include "nw4r/lyt/lyt_pane.h"
#include "s/s_State.hpp"
class dLytMsgWindowWood_c : public dLytMsgWindowSubtype {
public:
/* vt 0x08 */ virtual ~dLytMsgWindowWood_c() {}
/* vt 0x0C */ virtual void draw() override;
/* vt 0x10 */ virtual bool build(void *unk, d2d::ResAccIf_c *resAcc, dTagProcessor_c *tagProcessor) override;
/* vt 0x14 */ virtual bool remove() override;
/* vt 0x18 */ virtual bool execute() override;
/* vt 0x1C */ virtual void vt_0x1C() override;
/* vt 0x20 */ virtual bool vt_0x20() const override;
/* vt 0x24 */ virtual void vt_0x24() override;
/* vt 0x28 */ virtual bool vt_0x28() const override;
/* vt 0x2C */ virtual bool setText(const wchar_t *text) override;
/* vt 0x30 */ virtual dTextBox_c *vt_0x30() override {
return mpTextboxes[0];
}
/* vt 0x34 */ virtual void vt_0x34() override {
mCommon.requestIn();
}
/* vt 0x38 */ virtual void vt_0x38(bool b) override {
mCommon.requestOut(b);
}
/* vt 0x3C */ virtual u8 vt_0x3C() const override {
return mCommon.isDoneOut();
}
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, Invisible);
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, In);
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, Visible);
STATE_FUNC_DECLARE(dLytMsgWindowWood_c, Out);
private:
/* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowWood_c);
/* 0x04C */ d2d::SubPaneList mSubpaneList;
/* 0x05C */ d2d::SubPaneListNode mNodes[1];
/* 0x068 */ d2d::ResAccIf_c mResAcc;
/* 0x3D8 */ d2d::LytBase_c mLyt;
/* 0x468 */ d2d::AnmGroup_c mAnm[3];
/* 0x528 */ dTextBox_c *mpTextboxes[2];
/* 0x530 */ nw4r::lyt::Pane *mpPanes[2];
/* 0x538 */ dTagProcessor_c *mpTagProcessor;
/* 0x53C */ dLytCommonABtn_c mCommon;
};
#endif
+1 -1
View File
@@ -234,7 +234,7 @@ bool dCsGame_c::lytItemCursor_c::doInit() {
mAnm.init(mAnmGroups.tmp.mAnmGroups, lytItemCursorMap, 0x17, mpResAcc, mLyt.getLayout());
for (int i = 0; i < 0x17; i++) {
mAnmGroups.tmp.mAnmGroups[i].setDirection(false);
mAnmGroups.tmp.mAnmGroups[i].bind(false);
mAnmGroups.tmp.mAnmGroups[i].setAnimEnable(false);
}
+4 -4
View File
@@ -811,7 +811,7 @@ bool AnmGroupBase_c::init(
return true;
}
bool AnmGroupBase_c::setDirection(bool b) {
bool AnmGroupBase_c::bind(bool bDisable) {
nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform;
if (anmTransform == nullptr) {
return false;
@@ -823,7 +823,7 @@ bool AnmGroupBase_c::setDirection(bool b) {
nw4r::lyt::BindAnimation(mpGroup, anmTransform, false, b);
mFlags |= ANMGROUP_FLAG_BOUND;
if (b) {
if (bDisable) {
mFlags = (mFlags & ~ANMGROUP_FLAG_ENABLE);
} else {
mFlags |= ANMGROUP_FLAG_ENABLE;
@@ -855,7 +855,7 @@ bool AnmGroupBase_c::unbind() {
return true;
}
bool AnmGroupBase_c::afterUnbind() {
bool AnmGroupBase_c::remove() {
return true;
}
@@ -905,7 +905,7 @@ bool AnmGroups::init(
void AnmGroups::remove() {
for (int i = 0; i < mNumAnmGroups; i++) {
mpAnmGroups[i].afterUnbind();
mpAnmGroups[i].remove();
}
}
+3 -3
View File
@@ -43,7 +43,7 @@ bool dLytAreaCaptionParts_c::init(int first) {
mAnmCtrlInUse[i] = false;
} else {
mAnmGroups[i].init(brlanMap1[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap1[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
mAnmCtrlInUse[i] = true;
}
@@ -56,7 +56,7 @@ bool dLytAreaCaptionParts_c::init(int first) {
mAnmCtrlInUse[i] = false;
} else {
mAnmGroups[i].init(brlanMap2[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap2[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
mAnmCtrlInUse[i] = true;
}
@@ -78,7 +78,7 @@ bool dLytAreaCaptionParts_c::remove() {
for (int i = 0; i < 4; i++) {
if (mAnmCtrlInUse[i]) {
mAnmGroups[i].unbind();
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
}
mResAcc.detach();
+1 -1
View File
@@ -48,7 +48,7 @@ bool dLytBattery_c::init() {
for (int i = 0; i < 4; i++) {
mAnmGroups[i].init(brlanMap[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
+2 -2
View File
@@ -109,7 +109,7 @@ bool dLytBirdGaugeMain_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < LYT_SKY_GAUGE_MAIN_NUM_ANIMS; i++) {
mAnmGroups[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
@@ -148,7 +148,7 @@ bool dLytBirdGaugeMain_c::execute() {
bool dLytBirdGaugeMain_c::remove() {
mLyt.unbindAnims();
for (int i = 0; i < LYT_SKY_GAUGE_MAIN_NUM_ANIMS; i++) {
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
+244
View File
@@ -0,0 +1,244 @@
#include "d/lyt/d_lyt_common_a_btn.h"
#include "common.h"
#include "d/d_sys.h"
#include "d/lyt/d2d.h"
#include "toBeSorted/small_sound_mgr.h"
static const d2d::LytBrlanMapping brlanMap[] = {
{ "aBtn_00_in.brlan", "G_inOut_00"},
{ "aBtn_00_loop.brlan", "G_loopBtn_00"},
{"aBtn_00_decide.brlan", "G_decide_00"},
{ "aBtn_00_out.brlan", "G_inOut_00"},
};
#define MSG_ABTN_ANIM_IN 0
#define MSG_ABTN_ANIM_LOOP 1
#define MSG_ABTN_ANIM_DECIDE 2
#define MSG_ABTN_ANIM_OUT 3
#define MSG_ABTN_NUM_ANIMS 4
const dLytCommonABtn_c::executeFunc dLytCommonABtn_c::sExecuteFuncs[4] = {
&dLytCommonABtn_c::executeStateInvisible,
&dLytCommonABtn_c::executeStateIn,
&dLytCommonABtn_c::executeStateVisible,
&dLytCommonABtn_c::executeStateDecideOut,
};
bool dLytCommonABtn_c::build(d2d::ResAccIf_c *resAcc) {
mLyt.setResAcc(resAcc);
mLyt.build("aBtn_00.brlyt", nullptr);
for (int i = 0; i < MSG_ABTN_NUM_ANIMS; i++) {
mAnm[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
}
resetToInvisble();
setSoundVariant(VARIANT_NORMAL);
return true;
}
bool dLytCommonABtn_c::remove() {
for (int i = 0; i < MSG_ABTN_NUM_ANIMS; i++) {
mAnm[i].remove();
}
return true;
}
bool dLytCommonABtn_c::execute() {
runExecuteFunc();
if (mState == STATE_INVISIBLE) {
return true;
}
mLyt.calc();
return true;
}
bool dLytCommonABtn_c::requestIn() {
if (mState != STATE_INVISIBLE) {
return false;
}
mInRequested = true;
return true;
}
bool dLytCommonABtn_c::requestOut(bool b) {
if (mState != STATE_VISIBLE) {
return false;
}
mOutRequested = true;
field_0x1AC = b;
return true;
}
void dLytCommonABtn_c::resetToInvisble() {
gotoStateInvisible();
}
void dLytCommonABtn_c::setSoundVariant(SoundVariant value) {
mSoundVariant = value;
}
void dLytCommonABtn_c::runExecuteFunc() {
executeFunc fn = sExecuteFuncs[mState];
if (fn != nullptr) {
(this->*fn)();
}
}
void dLytCommonABtn_c::gotoStateInvisible() {
setState(STATE_INVISIBLE);
mLyt.unbindAnims();
d2d::AnmGroup_c &inAnim = mAnm[MSG_ABTN_ANIM_IN];
field_0x1A8 = 0;
mInRequested = false;
mOutRequested = false;
mIsDoneOut = false;
field_0x1AC = 0;
mNoDecide = false;
inAnim.bind(false);
inAnim.setAnimEnable(true);
inAnim.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
inAnim.setRate(0.5f);
} else {
inAnim.setRate(1.0f);
}
mLyt.calc();
}
void dLytCommonABtn_c::executeStateInvisible() {
if (mInRequested != true) {
return;
}
if (field_0x1AC == 1) {
gotoStateInvisible();
}
mInRequested = false;
field_0x1A8 = 1;
gotoStateIn();
}
void dLytCommonABtn_c::gotoStateIn() {
setState(STATE_IN);
}
void dLytCommonABtn_c::executeStateIn() {
d2d::AnmGroup_c &anm = mAnm[MSG_ABTN_ANIM_IN];
if (anm.isEndReached() == true) {
goToStateVisible();
} else {
anm.play();
}
}
void dLytCommonABtn_c::goToStateVisible() {
setState(STATE_VISIBLE);
mAnm[MSG_ABTN_ANIM_IN].unbind();
d2d::AnmGroup_c &anm = mAnm[MSG_ABTN_ANIM_LOOP];
anm.bind(false);
anm.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
anm.setRate(0.5f);
} else {
anm.setRate(1.0f);
}
}
void dLytCommonABtn_c::executeStateVisible() {
if (mOutRequested == true) {
goToStateDecideOut();
mOutRequested = false;
} else {
d2d::AnmGroup_c &anm = mAnm[MSG_ABTN_ANIM_LOOP];
anm.play();
}
}
void dLytCommonABtn_c::goToStateDecideOut() {
setState(STATE_OUT);
mAnm[MSG_ABTN_ANIM_LOOP].unbind();
if (mNoDecide == true) {
mNoDecide = false;
d2d::AnmGroup_c &anm = mAnm[MSG_ABTN_ANIM_OUT];
anm.bind(false);
anm.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
anm.setRate(0.5f);
} else {
anm.setRate(1.0f);
}
mOutState = OUT_STATE_OUT;
} else {
d2d::AnmGroup_c &anm = mAnm[MSG_ABTN_ANIM_DECIDE];
anm.bind(false);
anm.setAnimEnable(true);
anm.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
anm.setRate(0.5f);
} else {
anm.setRate(1.0f);
}
if (mSoundVariant == VARIANT_NORMAL) {
SmallSoundManager::GetInstance()->playSound(SE_S_WINDOW_PRESS_A);
} else {
SmallSoundManager::GetInstance()->playSound(SE_S_TITLE_PRESS_START);
}
}
}
void dLytCommonABtn_c::executeStateDecideOut() {
d2d::AnmGroup_c &decideAnm = mAnm[MSG_ABTN_ANIM_DECIDE];
switch (mOutState) {
case OUT_STATE_DECIDING: {
if (decideAnm.isEndReached() == true) {
mOutState = OUT_STATE_GOTO_OUT;
if (field_0x1AC == 1) {
mIsDoneOut = true;
setState(STATE_INVISIBLE);
break;
}
}
decideAnm.play();
break;
}
case OUT_STATE_GOTO_OUT: {
decideAnm.unbind();
d2d::AnmGroup_c &anmOut = mAnm[MSG_ABTN_ANIM_OUT];
anmOut.bind(false);
anmOut.setAnimEnable(true);
anmOut.setFrame(0.0f);
if (dSys::getFrameRate() == 1) {
anmOut.setRate(0.5f);
} else {
anmOut.setRate(1.0f);
}
mOutState = OUT_STATE_OUT;
break;
}
case OUT_STATE_OUT: {
d2d::AnmGroup_c &anmOut = mAnm[MSG_ABTN_ANIM_OUT];
if (anmOut.isEndReached() == true) {
mOutState = OUT_STATE_GOTO_INVISIBLE;
mIsDoneOut = true;
}
anmOut.play();
break;
}
case OUT_STATE_GOTO_INVISIBLE: {
gotoStateInvisible();
break;
}
}
}
void dLytCommonABtn_c::setState(ABtnState state) {
mState = state;
mOutState = OUT_STATE_DECIDING;
}
+1 -1
View File
@@ -60,7 +60,7 @@ bool dLytCommonArrow_c::fn_80168490() {
d2d::dLytStructDList::GetInstance()->removeFromList2(&mStructD);
mLytBase.unbindAnims();
for (int i = 0; i < 9; i++) {
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
+6 -6
View File
@@ -45,7 +45,7 @@ bool dLytCommonIconItemPart1_c::build(d2d::ResAccIf_c *resAcc) {
mLyt.build("commonIcon_02.brlyt", nullptr);
for (int i = 0; i < ITEM_PART_1_NUM_ANIMS; i++) {
mAnm[i].init(brlanMapPart1[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart1[i].mName);
mAnm[i].setDirection(false);
mAnm[i].bind(false);
mAnm[i].setRate(1.0f);
}
@@ -61,7 +61,7 @@ bool dLytCommonIconItemPart1_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytCommonIconItemPart1_c::remove() {
for (int i = 0; i < ITEM_PART_1_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
mAnm[i].remove();
}
return true;
}
@@ -276,7 +276,7 @@ bool dLytCommonIconItemPart2_c::build(d2d::ResAccIf_c *resAcc) {
mLyt.build("commonIcon_03.brlyt", nullptr);
for (int i = 0; i < ITEM_PART_2_NUM_ANIMS; i++) {
mAnm[i].init(brlanMapPart2[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart2[i].mName);
mAnm[i].setDirection(false);
mAnm[i].bind(false);
mAnm[i].setRate(1.0f);
}
@@ -292,7 +292,7 @@ bool dLytCommonIconItemPart2_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytCommonIconItemPart2_c::remove() {
for (int i = 0; i < ITEM_PART_2_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
mAnm[i].remove();
}
return true;
}
@@ -600,7 +600,7 @@ bool dLytCommonIconItemPart3_c::build(d2d::ResAccIf_c *resAcc) {
mLyt.build("commonIcon_04.brlyt", nullptr);
for (int i = 0; i < ITEM_PART_3_NUM_ANIMS; i++) {
mAnm[i].init(brlanMapPart3[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart3[i].mName);
mAnm[i].setDirection(false);
mAnm[i].bind(false);
mAnm[i].setRate(1.0f);
}
@@ -612,7 +612,7 @@ bool dLytCommonIconItemPart3_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytCommonIconItemPart3_c::remove() {
for (int i = 0; i < ITEM_PART_3_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
mAnm[i].remove();
}
return true;
}
+4 -4
View File
@@ -41,7 +41,7 @@ bool dLytCommonIconMaterialPart1_c::build(d2d::ResAccIf_c *resAcc) {
mLyt.build("commonIcon_00.brlyt", nullptr);
for (int i = 0; i < MATERIAL_PART_1_NUM_ANIMS; i++) {
mAnm[i].init(brlanMapPart1[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart1[i].mName);
mAnm[i].setDirection(false);
mAnm[i].bind(false);
mAnm[i].setRate(1.0f);
}
@@ -57,7 +57,7 @@ bool dLytCommonIconMaterialPart1_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytCommonIconMaterialPart1_c::remove() {
for (int i = 0; i < MATERIAL_PART_1_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
mAnm[i].remove();
}
return true;
}
@@ -240,7 +240,7 @@ bool dLytCommonIconMaterialPart2_c::build(d2d::ResAccIf_c *resAcc) {
mLyt.build("commonIcon_01.brlyt", nullptr);
for (int i = 0; i < MATERIAL_PART_2_NUM_ANIMS; i++) {
mAnm[i].init(brlanMapPart2[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart2[i].mName);
mAnm[i].setDirection(false);
mAnm[i].bind(false);
mAnm[i].setRate(1.0f);
}
@@ -256,7 +256,7 @@ bool dLytCommonIconMaterialPart2_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytCommonIconMaterialPart2_c::remove() {
for (int i = 0; i < MATERIAL_PART_2_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
mAnm[i].remove();
}
return true;
}
+5 -5
View File
@@ -16,7 +16,7 @@ dLytFader_c::~dLytFader_c() {
if (field_0x4DD == true) {
for (int i = 0; i < 3; i++) {
mLytStructAs[i].afterUnbind();
mLytStructAs[i].remove();
}
mResAcc.detach();
}
@@ -27,7 +27,7 @@ void dLytFader_c::setStatus(EStatus status) {
mStatus = FADED_OUT;
mLytBase.unbindAnims();
d2d::AnmGroup_c *s = &mLytStructAs[0];
s->setDirection(false);
s->bind(false);
s->setToEnd();
s->setAnimEnable(true);
s->play();
@@ -38,7 +38,7 @@ void dLytFader_c::setStatus(EStatus status) {
mStatus = FADED_IN;
mLytBase.unbindAnims();
d2d::AnmGroup_c *s = &mLytStructAs[0];
s->setDirection(false);
s->bind(false);
s->setFrame(0.0f);
s->setAnimEnable(true);
mLytBase.calc();
@@ -109,7 +109,7 @@ void dLytFader_c::fn_801758F0() {
fn_80175BC0(0);
mLytBase.unbindAnims();
d2d::AnmGroup_c *s = &mLytStructAs[0];
s->setDirection(false);
s->bind(false);
s->setFrame(0.0f);
s->setRate(20.0f / (mFrame - 1));
s->setAnimEnable(true);
@@ -130,7 +130,7 @@ void dLytFader_c::fn_80175A50() {
fn_80175BC0(1);
mLytBase.unbindAnims();
d2d::AnmGroup_c *s = &mLytStructAs[1];
s->setDirection(false);
s->bind(false);
s->setFrame(0.0f);
s->setRate(20.0f / (mFrame - 1));
s->setAnimEnable(true);
+5 -5
View File
@@ -207,7 +207,7 @@ void dLytMapPinIcon_c::finalizeState_Wait() {}
void dLytMapPinIcon_c::initializeState_ToSelect() {
d2d::AnmGroup_c *m = &mAnmGroups[1];
m->setDirection(false);
m->bind(false);
m->setFrame(0.0f);
}
void dLytMapPinIcon_c::executeState_ToSelect() {
@@ -255,7 +255,7 @@ bool dLytMapPinIcon_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < 3; i++) {
pAnmGroups[i].init(sMapPinIconBrlanMap[i].mFile, resAcc, mLyt.getLayout(), sMapPinIconBrlanMap[i].mName);
pAnmGroups[i].setDirection(false);
pAnmGroups[i].bind(false);
pAnmGroups[i].setFrame(0.0f);
}
@@ -269,8 +269,8 @@ bool dLytMapPinIcon_c::build(d2d::ResAccIf_c *resAcc) {
mStructD.fn_80065E70(mpBounding, 2, 1, 0);
d2d::dLytStructDList::GetInstance()->appendToList2(&mStructD);
mAnmGroups[LYT_MAP_PIN_ICON_ANIM_SCALE].setDirection(false);
mAnmGroups[LYT_MAP_PIN_ICON_ANIM_LOOP].setDirection(false);
mAnmGroups[LYT_MAP_PIN_ICON_ANIM_SCALE].bind(false);
mAnmGroups[LYT_MAP_PIN_ICON_ANIM_LOOP].bind(false);
mLyt.calc();
@@ -284,7 +284,7 @@ bool dLytMapPinIcon_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytMapPinIcon_c::remove() {
d2d::dLytStructDList::GetInstance()->removeFromList2(&mStructD);
for (int i = 0; i < 3; i++) {
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
+2 -2
View File
@@ -142,7 +142,7 @@ bool dLytNote_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < 6; i++) {
mAnmGroups[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
@@ -168,7 +168,7 @@ bool dLytNote_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytNote_c::remove() {
for (int i = 0; i < 6; i++) {
// @bug? .unbind call is missing
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
+2 -2
View File
@@ -68,7 +68,7 @@ bool dLytSkyGaugeMain_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < 3; i++) {
mAnmGroups[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
@@ -104,7 +104,7 @@ bool dLytSkyGaugeMain_c::execute() {
bool dLytSkyGaugeMain_c::remove() {
mLyt.unbindAnims();
for (int i = 0; i < 3; i++) {
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
+6 -6
View File
@@ -102,7 +102,7 @@ bool dLytMeter1Button_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < 3; i++) {
mAnmGroups[i].init(btn1BrlanMap[i].mFile, resAcc, mLyt.getLayout(), btn1BrlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
// TODO
@@ -127,7 +127,7 @@ bool dLytMeter1Button_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytMeter1Button_c::remove() {
for (int i = 0; i < 3; i++) {
mAnmGroups[i].unbind();
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
@@ -215,7 +215,7 @@ bool dLytMeter2Button_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < 3; i++) {
mAnmGroups[i].init(btn2BrlanMap[i].mFile, resAcc, mLyt.getLayout(), btn2BrlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
mpWindow = mLyt.getWindow(sWindowName2);
@@ -237,7 +237,7 @@ bool dLytMeter2Button_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytMeter2Button_c::remove() {
for (int i = 0; i < 3; i++) {
mAnmGroups[i].unbind();
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
@@ -333,7 +333,7 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
mLyt.setPriority(0x8A);
for (int i = 0; i < 34; i++) {
mAnmGroups[i].init(meterBrlanMap[i].mFile, resAcc, mLyt.getLayout(), meterBrlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
@@ -460,7 +460,7 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytMeter_c::remove() {
for (int i = 0; i < 34; i++) {
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
+2 -2
View File
@@ -94,7 +94,7 @@ bool dLytMeterABtn_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < 3; i++) {
mAnmGroups[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
@@ -133,7 +133,7 @@ bool dLytMeterABtn_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytMeterABtn_c::remove() {
for (int i = 0; i < 3; i++) {
mAnmGroups[i].unbind();
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
+2 -2
View File
@@ -375,7 +375,7 @@ bool dLytMeterDrink_c::build(d2d::ResAccIf_c *resAcc) {
for (int i = 0; i < 20; i++) {
mAnmGroups[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnmGroups[i].setDirection(false);
mAnmGroups[i].bind(false);
mAnmGroups[i].setAnimEnable(false);
}
@@ -409,7 +409,7 @@ bool dLytMeterDrink_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytMeterDrink_c::remove() {
for (int i = 0; i < 20; i++) {
mAnmGroups[i].unbind();
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
+1 -1
View File
@@ -24,7 +24,7 @@ bool dLytMeterShieldGauge_c::build(d2d::ResAccIf_c *resAcc) {
bool dLytMeterShieldGauge_c::remove() {
for (int i = 0; i < 8; i++) {
mAnmGroups[i].unbind();
mAnmGroups[i].afterUnbind();
mAnmGroups[i].remove();
}
return true;
}
@@ -0,0 +1,191 @@
#include "d/lyt/msg_window/d_lyt_msg_window_wood.h"
#include "common.h"
#include "d/d_tag_processor.h"
#include "d/lyt/d2d.h"
#include "d/lyt/d_textbox.h"
#include "nw4r/lyt/lyt_group.h"
#include "nw4r/lyt/lyt_pane.h"
#include "s/s_State.hpp"
STATE_DEFINE(dLytMsgWindowWood_c, Invisible);
STATE_DEFINE(dLytMsgWindowWood_c, In);
STATE_DEFINE(dLytMsgWindowWood_c, Visible);
STATE_DEFINE(dLytMsgWindowWood_c, Out);
static const d2d::LytBrlanMapping brlanMap[] = {
{ "kanbanWindow_00_in.brlan", "G_inOut_00"},
{"kanbanWindow_00_loop.brlan", "G_loop_00"},
{ "kanbanWindow_00_out.brlan", "G_inOut_00"},
};
#define KANBAN_ANIM_IN 0
#define KANBAN_ANIM_LOOP 1
#define KANBAN_ANIM_OUT 2
#define KANBAN_NUM_ANIMS 3
static const char *sPanes[] = {
"N_aBtn_00",
"N_inOut_00",
};
static const char *sTextBoxes[] = {
"T_message_00",
"T_messageS_00",
};
static const char *sGroupName = "G_ref_00";
bool dLytMsgWindowWood_c::build(void *unk, d2d::ResAccIf_c *resAcc, dTagProcessor_c *tagProcessor) {
mLyt.setResAcc(resAcc);
mLyt.build("kanbanWindow_00.brlyt", nullptr);
mLyt.setPriority(0x8A);
for (int i = 0; i < KANBAN_NUM_ANIMS; i++) {
mAnm[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
mAnm[i].bind(false);
mAnm[i].setAnimEnable(false);
}
mAnm[KANBAN_ANIM_LOOP].setAnimEnable(true);
mAnm[KANBAN_ANIM_OUT].setAnimEnable(true);
mAnm[KANBAN_ANIM_OUT].setToEnd();
mLyt.calc();
mAnm[KANBAN_ANIM_OUT].setAnimEnable(false);
for (int i = 0; i < 2; i++) {
mpPanes[i] = mLyt.findPane(sPanes[i]);
}
for (int i = 0; i < 2; i++) {
mpTextboxes[i] = mLyt.getTextBox(sTextBoxes[i]);
mpTextboxes[i]->SetTextPositionH(0);
mpTextboxes[i]->SetTextPositionV(0);
}
mpTextboxes[1]->set0x1F6(1);
for (int i = 0; i < 1; i++) {
mNodes[i].mpLytPane = &mCommon;
mCommon.build(resAcc);
mSubpaneList.PushBack(&mNodes[i]);
}
if (mLyt.getLayout()->GetGroupContainer() != nullptr) {
nw4r::lyt::Group *g = mLyt.getLayout()->GetGroupContainer()->FindGroupByName(sGroupName);
if (g != nullptr) {
d2d::dSubPane::linkMeters(g, &mSubpaneList);
}
}
mpPanes[1]->SetVisible(true);
mLyt.calc();
mpPanes[1]->SetVisible(false);
mpTagProcessor = tagProcessor;
mStateMgr.changeState(StateID_Invisible);
return true;
}
bool dLytMsgWindowWood_c::remove() {
for (d2d::SubPaneList::Iterator it = mSubpaneList.GetBeginIter(); it != mSubpaneList.GetEndIter(); ++it) {
d2d::dSubPane *subPane = it->mpLytPane;
if (subPane != nullptr) {
nw4r::lyt::Pane *parent = subPane->getPane()->GetParent();
parent->RemoveChild(subPane->getPane());
}
}
for (int i = 0; i < 1; i++) {
mNodes[i].mpLytPane->remove();
}
mCommon.remove();
for (int i = 0; i < KANBAN_NUM_ANIMS; i++) {
mAnm[i].remove();
}
return true;
}
void dLytMsgWindowWood_c::initializeState_Invisible() {
mCommon.resetToInvisble();
}
void dLytMsgWindowWood_c::executeState_Invisible() {
if (mCommon.shouldBeOpen()) {
mStateMgr.changeState(StateID_In);
}
}
void dLytMsgWindowWood_c::finalizeState_Invisible() {}
void dLytMsgWindowWood_c::initializeState_In() {
mAnm[KANBAN_ANIM_IN].setAnimEnable(true);
mAnm[KANBAN_ANIM_IN].setFrame(0.0f);
}
void dLytMsgWindowWood_c::executeState_In() {
if (mAnm[KANBAN_ANIM_IN].isEndReached()) {
mAnm[KANBAN_ANIM_IN].setAnimEnable(false);
mStateMgr.changeState(StateID_Visible);
}
}
void dLytMsgWindowWood_c::finalizeState_In() {}
void dLytMsgWindowWood_c::initializeState_Visible() {}
void dLytMsgWindowWood_c::executeState_Visible() {
if (!mCommon.shouldBeOpen()) {
mStateMgr.changeState(StateID_Out);
}
}
void dLytMsgWindowWood_c::finalizeState_Visible() {}
void dLytMsgWindowWood_c::initializeState_Out() {
mAnm[KANBAN_ANIM_OUT].setAnimEnable(true);
mAnm[KANBAN_ANIM_OUT].setFrame(0.0f);
}
void dLytMsgWindowWood_c::executeState_Out() {
if (mAnm[KANBAN_ANIM_OUT].isEndReached()) {
mAnm[KANBAN_ANIM_OUT].setAnimEnable(false);
mStateMgr.changeState(StateID_Invisible);
}
}
void dLytMsgWindowWood_c::finalizeState_Out() {}
bool dLytMsgWindowWood_c::execute() {
mStateMgr.executeState();
for (int i = 0; i < KANBAN_NUM_ANIMS; i++) {
if (mAnm[i].isEnabled()) {
mAnm[i].play();
}
}
mLyt.calc();
for (int i = 0; i < 1; i++) {
mNodes[i].mpLytPane->execute();
}
return true;
}
void dLytMsgWindowWood_c::draw() {
mLyt.draw();
}
void dLytMsgWindowWood_c::vt_0x1C() {
mCommon.openMaybe();
}
bool dLytMsgWindowWood_c::vt_0x20() const {
return !(*mStateMgr.getStateID() == StateID_In);
}
void dLytMsgWindowWood_c::vt_0x24() {
mCommon.closeMaybe();
}
bool dLytMsgWindowWood_c::vt_0x28() const {
return !(*mStateMgr.getStateID() == StateID_Out);
}
bool dLytMsgWindowWood_c::setText(const wchar_t *text) {
mpTextboxes[0]->SetTagProcessor(mpTagProcessor);
mpTextboxes[1]->SetTagProcessor(mpTagProcessor);
mpTextboxes[0]->fn_800AF540(text, mpTagProcessor, 0);
mpTextboxes[1]->fn_800AF540(text, mpTagProcessor, 0);
return true;
}