mirror of
https://github.com/zeldaret/ss
synced 2026-05-26 23:47:22 -04:00
d_lyt_msg_window_wood OK, d_lyt_common_a_btn OK
This commit is contained in:
+22
-11
@@ -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
@@ -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
@@ -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"),
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
namespace dSys {
|
||||
|
||||
void setFrameRate(u32);
|
||||
u8 getFrameRate();
|
||||
void setClearColor(mColor clr);
|
||||
|
||||
} // namespace dSys_c
|
||||
|
||||
+25
-23
@@ -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();
|
||||
|
||||
@@ -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
|
||||
@@ -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
@@ -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
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user