mirror of
https://github.com/zeldaret/ss
synced 2026-06-05 19:27:35 -04:00
d_lyt_meter_nun_stk OK
This commit is contained in:
@@ -355,12 +355,20 @@ d/lyt/meter/d_lyt_meter_remocon_bg.cpp:
|
||||
d/lyt/meter/d_lyt_meter_nunchaku_bg.cpp:
|
||||
.text start:0x800E7220 end:0x800E8168
|
||||
.ctors start:0x804DB6F8 end:0x804DB6FC
|
||||
.rodata start:0x804E5640 end:0x804E58B8
|
||||
.data start:0x80514F10 end:0x80515178
|
||||
.sdata start:0x805723C0 end:0x805723D8
|
||||
.sdata2 start:0x80579BB0 end:0x80579BC0
|
||||
.bss start:0x805AAAD0 end:0x805AABD0
|
||||
|
||||
d/lyt/meter/d_lyt_meter_nun_stk.cpp:
|
||||
.text start:0x800E8170 end:0x800E8ED8
|
||||
.ctors start:0x804DB6FC end:0x804DB700
|
||||
.rodata start:0x804E58B8 end:0x804E5B28
|
||||
.data start:0x80515178 end:0x805153A8
|
||||
.sdata start:0x805723D8 end:0x805723F0
|
||||
.sdata2 start:0x80579BC0 end:0x80579BD0
|
||||
.bss start:0x805AABD0 end:0x805AACD0
|
||||
|
||||
d/lyt/meter/d_lyt_meter_item_select.cpp:
|
||||
.text start:0x800E8EE0 end:0x800F35A8
|
||||
|
||||
+64
-64
@@ -4839,15 +4839,15 @@ changeState__93sStateMgr_c<24dLytMeterCrossBtnParts_c,20sStateMethodUsr_FI_c,12s
|
||||
getStateID__93sStateMgr_c<24dLytMeterCrossBtnParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x800DA6F0; // type:function size:0x10
|
||||
changeState__89sStateMgr_c<20dLytCommonIconItem_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x800DA700; // type:function size:0x10
|
||||
getStateID__89sStateMgr_c<20dLytCommonIconItem_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x800DA710; // type:function size:0x10
|
||||
fn_800DA720 = .text:0x800DA720; // type:function size:0x8
|
||||
fn_800DA730 = .text:0x800DA730; // type:function size:0x8
|
||||
fn_800DA740 = .text:0x800DA740; // type:function size:0x8
|
||||
fn_800DA750 = .text:0x800DA750; // type:function size:0x8
|
||||
fn_800DA760 = .text:0x800DA760; // type:function size:0x8
|
||||
fn_800DA770 = .text:0x800DA770; // type:function size:0x8
|
||||
fn_800DA780 = .text:0x800DA780; // type:function size:0x8
|
||||
fn_800DA790 = .text:0x800DA790; // type:function size:0x8
|
||||
fn_800DA7A0 = .text:0x800DA7A0; // type:function size:0x8
|
||||
getName__25dLytCommonIconItemPart3_cCFv = .text:0x800DA720; // type:function size:0x8
|
||||
getLyt__25dLytCommonIconItemPart3_cFv = .text:0x800DA730; // type:function size:0x8
|
||||
getPane__25dLytCommonIconItemPart3_cFv = .text:0x800DA740; // type:function size:0x8
|
||||
getName__25dLytCommonIconItemPart2_cCFv = .text:0x800DA750; // type:function size:0x8
|
||||
getLyt__25dLytCommonIconItemPart2_cFv = .text:0x800DA760; // type:function size:0x8
|
||||
getPane__25dLytCommonIconItemPart2_cFv = .text:0x800DA770; // type:function size:0x8
|
||||
getName__25dLytCommonIconItemPart1_cCFv = .text:0x800DA780; // type:function size:0x8
|
||||
getLyt__25dLytCommonIconItemPart1_cFv = .text:0x800DA790; // type:function size:0x8
|
||||
getPane__25dLytCommonIconItemPart1_cFv = .text:0x800DA7A0; // type:function size:0x8
|
||||
changeState__91sStateMgr_c<22dLytMeterShieldGauge_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x800DA7B0; // type:function size:0x10
|
||||
changeState__83sStateMgr_c<14dLytDobutton_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x800DA7C0; // type:function size:0x10
|
||||
build__30sFStateFct_c<14dLytSkyGauge_c>FRC12sStateIDIf_c = .text:0x800DA7D0; // type:function size:0x60
|
||||
@@ -5622,47 +5622,47 @@ getPane__20dLytMeterRemoconBg_cFv = .text:0x800E6DE0; // type:function size:0x8
|
||||
__sinit_\d_lyt_meter_remocon_bg_cpp = .text:0x800E6DF0; // type:function size:0x338 scope:local
|
||||
__dt__35sFStateID_c<20dLytMeterRemoconBg_c>Fv = .text:0x800E7130; // type:function size:0x58
|
||||
isSameName__35sFStateID_c<20dLytMeterRemoconBg_c>CFPCc = .text:0x800E7190; // type:function size:0x88
|
||||
fn_800E7220 = .text:0x800E7220; // type:function size:0xC
|
||||
fn_800E7230 = .text:0x800E7230; // type:function size:0x11C
|
||||
fn_800E7350 = .text:0x800E7350; // type:function size:0x4
|
||||
fn_800E7360 = .text:0x800E7360; // type:function size:0x4
|
||||
fn_800E7370 = .text:0x800E7370; // type:function size:0x60
|
||||
fn_800E73D0 = .text:0x800E73D0; // type:function size:0x4
|
||||
fn_800E73E0 = .text:0x800E73E0; // type:function size:0x4
|
||||
fn_800E73F0 = .text:0x800E73F0; // type:function size:0x11C
|
||||
fn_800E7510 = .text:0x800E7510; // type:function size:0x4
|
||||
fn_800E7520 = .text:0x800E7520; // type:function size:0x4
|
||||
fn_800E7530 = .text:0x800E7530; // type:function size:0x78
|
||||
fn_800E75B0 = .text:0x800E75B0; // type:function size:0x4
|
||||
fn_800E75C0 = .text:0x800E75C0; // type:function size:0x1DC
|
||||
fn_800E77A0 = .text:0x800E77A0; // type:function size:0x58
|
||||
fn_800E7800 = .text:0x800E7800; // type:function size:0x3A0
|
||||
fn_800E7BA0 = .text:0x800E7BA0; // type:function size:0x164
|
||||
fn_800E7D10 = .text:0x800E7D10; // type:function size:0x8
|
||||
fn_800E7D20 = .text:0x800E7D20; // type:function size:0x8
|
||||
fn_800E7D30 = .text:0x800E7D30; // type:function size:0x8
|
||||
initializeState_Wait__21dLytMeterNunchakuBg_cFv = .text:0x800E7220; // type:function size:0xC
|
||||
executeState_Wait__21dLytMeterNunchakuBg_cFv = .text:0x800E7230; // type:function size:0x11C
|
||||
finalizeState_Wait__21dLytMeterNunchakuBg_cFv = .text:0x800E7350; // type:function size:0x4
|
||||
initializeState_On__21dLytMeterNunchakuBg_cFv = .text:0x800E7360; // type:function size:0x4
|
||||
executeState_On__21dLytMeterNunchakuBg_cFv = .text:0x800E7370; // type:function size:0x60
|
||||
finalizeState_On__21dLytMeterNunchakuBg_cFv = .text:0x800E73D0; // type:function size:0x4
|
||||
initializeState_Active__21dLytMeterNunchakuBg_cFv = .text:0x800E73E0; // type:function size:0x4
|
||||
executeState_Active__21dLytMeterNunchakuBg_cFv = .text:0x800E73F0; // type:function size:0x11C
|
||||
finalizeState_Active__21dLytMeterNunchakuBg_cFv = .text:0x800E7510; // type:function size:0x4
|
||||
initializeState_Off__21dLytMeterNunchakuBg_cFv = .text:0x800E7520; // type:function size:0x4
|
||||
executeState_Off__21dLytMeterNunchakuBg_cFv = .text:0x800E7530; // type:function size:0x78
|
||||
finalizeState_Off__21dLytMeterNunchakuBg_cFv = .text:0x800E75B0; // type:function size:0x4
|
||||
build__21dLytMeterNunchakuBg_cFPQ23d2d10ResAccIf_c = .text:0x800E75C0; // type:function size:0x1DC
|
||||
remove__21dLytMeterNunchakuBg_cFv = .text:0x800E77A0; // type:function size:0x58
|
||||
execute__21dLytMeterNunchakuBg_cFv = .text:0x800E7800; // type:function size:0x3A0
|
||||
setMessage__21dLytMeterNunchakuBg_cFl = .text:0x800E7BA0; // type:function size:0x164
|
||||
getName__21dLytMeterNunchakuBg_cCFv = .text:0x800E7D10; // type:function size:0x8
|
||||
getLyt__21dLytMeterNunchakuBg_cFv = .text:0x800E7D20; // type:function size:0x8
|
||||
getPane__21dLytMeterNunchakuBg_cFv = .text:0x800E7D30; // type:function size:0x8
|
||||
__sinit_\d_lyt_meter_nunchaku_bg_cpp = .text:0x800E7D40; // type:function size:0x338 scope:local
|
||||
__dt__36sFStateID_c<21dLytMeterNunchakuBg_c>Fv = .text:0x800E8080; // type:function size:0x58
|
||||
isSameName__36sFStateID_c<21dLytMeterNunchakuBg_c>CFPCc = .text:0x800E80E0; // type:function size:0x88
|
||||
fn_800E8170 = .text:0x800E8170; // type:function size:0xC
|
||||
fn_800E8180 = .text:0x800E8180; // type:function size:0x11C
|
||||
fn_800E82A0 = .text:0x800E82A0; // type:function size:0x4
|
||||
fn_800E82B0 = .text:0x800E82B0; // type:function size:0x4
|
||||
fn_800E82C0 = .text:0x800E82C0; // type:function size:0x60
|
||||
fn_800E8320 = .text:0x800E8320; // type:function size:0x4
|
||||
fn_800E8330 = .text:0x800E8330; // type:function size:0x4
|
||||
fn_800E8340 = .text:0x800E8340; // type:function size:0x11C
|
||||
fn_800E8460 = .text:0x800E8460; // type:function size:0x4
|
||||
fn_800E8470 = .text:0x800E8470; // type:function size:0x4
|
||||
fn_800E8480 = .text:0x800E8480; // type:function size:0x78
|
||||
fn_800E8500 = .text:0x800E8500; // type:function size:0x4
|
||||
fn_800E8510 = .text:0x800E8510; // type:function size:0x1B8
|
||||
fn_800E86D0 = .text:0x800E86D0; // type:function size:0x58
|
||||
fn_800E8730 = .text:0x800E8730; // type:function size:0x1D4
|
||||
fn_800E8910 = .text:0x800E8910; // type:function size:0x164
|
||||
fn_800E8A80 = .text:0x800E8A80; // type:function size:0x8
|
||||
fn_800E8A90 = .text:0x800E8A90; // type:function size:0x8
|
||||
fn_800E8AA0 = .text:0x800E8AA0; // type:function size:0x8
|
||||
initializeState_Wait__17dLytMeterNunStk_cFv = .text:0x800E8170; // type:function size:0xC
|
||||
executeState_Wait__17dLytMeterNunStk_cFv = .text:0x800E8180; // type:function size:0x11C
|
||||
finalizeState_Wait__17dLytMeterNunStk_cFv = .text:0x800E82A0; // type:function size:0x4
|
||||
initializeState_On__17dLytMeterNunStk_cFv = .text:0x800E82B0; // type:function size:0x4
|
||||
executeState_On__17dLytMeterNunStk_cFv = .text:0x800E82C0; // type:function size:0x60
|
||||
finalizeState_On__17dLytMeterNunStk_cFv = .text:0x800E8320; // type:function size:0x4
|
||||
initializeState_Active__17dLytMeterNunStk_cFv = .text:0x800E8330; // type:function size:0x4
|
||||
executeState_Active__17dLytMeterNunStk_cFv = .text:0x800E8340; // type:function size:0x11C
|
||||
finalizeState_Active__17dLytMeterNunStk_cFv = .text:0x800E8460; // type:function size:0x4
|
||||
initializeState_Off__17dLytMeterNunStk_cFv = .text:0x800E8470; // type:function size:0x4
|
||||
executeState_Off__17dLytMeterNunStk_cFv = .text:0x800E8480; // type:function size:0x78
|
||||
finalizeState_Off__17dLytMeterNunStk_cFv = .text:0x800E8500; // type:function size:0x4
|
||||
build__17dLytMeterNunStk_cFPQ23d2d10ResAccIf_c = .text:0x800E8510; // type:function size:0x1B8
|
||||
remove__17dLytMeterNunStk_cFv = .text:0x800E86D0; // type:function size:0x58
|
||||
execute__17dLytMeterNunStk_cFv = .text:0x800E8730; // type:function size:0x1D4
|
||||
setMessage__17dLytMeterNunStk_cFl = .text:0x800E8910; // type:function size:0x164
|
||||
getName__17dLytMeterNunStk_cCFv = .text:0x800E8A80; // type:function size:0x8
|
||||
getLyt__17dLytMeterNunStk_cFv = .text:0x800E8A90; // type:function size:0x8
|
||||
getPane__17dLytMeterNunStk_cFv = .text:0x800E8AA0; // type:function size:0x8
|
||||
__sinit_\d_lyt_meter_nun_stk_cpp = .text:0x800E8AB0; // type:function size:0x338 scope:local
|
||||
__dt__32sFStateID_c<17dLytMeterNunStk_c>Fv = .text:0x800E8DF0; // type:function size:0x58
|
||||
isSameName__32sFStateID_c<17dLytMeterNunStk_c>CFPCc = .text:0x800E8E50; // type:function size:0x88
|
||||
@@ -31377,18 +31377,18 @@ lbl_80514FC8 = .data:0x80514FC8; // type:object size:0x10
|
||||
lbl_80514FD8 = .data:0x80514FD8; // type:object size:0x10
|
||||
__vt__21dLytMeterNunchakuBg_c = .data:0x80514FE8; // type:object size:0x158
|
||||
__vt__36sFStateID_c<21dLytMeterNunchakuBg_c> = .data:0x80515140; // type:object size:0x34
|
||||
lbl_80515178 = .data:0x80515178; // type:object size:0x18
|
||||
lbl_80515190 = .data:0x80515190; // type:object size:0xC
|
||||
lbl_8051519C = .data:0x8051519C; // type:object size:0x18
|
||||
lbl_805151B4 = .data:0x805151B4; // type:object size:0xC
|
||||
lbl_805151C0 = .data:0x805151C0; // type:object size:0xC
|
||||
lbl_805151CC = .data:0x805151CC; // type:object size:0x10
|
||||
lbl_805151DC = .data:0x805151DC; // type:object size:0x10
|
||||
lbl_805151EC = .data:0x805151EC; // type:object size:0xC
|
||||
lbl_80515178 = .data:0x80515178; // type:object size:0x16 data:string
|
||||
lbl_80515190 = .data:0x80515190; // type:object size:0xB data:string
|
||||
lbl_8051519C = .data:0x8051519C; // type:object size:0x15 data:string
|
||||
lbl_805151B4 = .data:0x805151B4; // type:object size:0xA data:string
|
||||
lbl_805151C0 = .data:0x805151C0; // type:object size:0x9 data:string
|
||||
lbl_805151CC = .data:0x805151CC; // type:object size:0xE data:string
|
||||
lbl_805151DC = .data:0x805151DC; // type:object size:0xF data:string
|
||||
lbl_805151EC = .data:0x805151EC; // type:object size:0x9 data:string
|
||||
lbl_805151F8 = .data:0x805151F8; // type:object size:0x10 data:string
|
||||
lbl_80515208 = .data:0x80515208; // type:object size:0x10
|
||||
lbl_80515218 = .data:0x80515218; // type:object size:0x10
|
||||
__vt__17dLytMeterNunStk_c = .data:0x80515228; // type:object size:0x14C
|
||||
lbl_80515208 = .data:0x80515208; // type:object size:0xE data:string
|
||||
lbl_80515218 = .data:0x80515218; // type:object size:0xD data:string
|
||||
__vt__17dLytMeterNunStk_c = .data:0x80515228; // type:object size:0x34
|
||||
__vt__32sFStateID_c<17dLytMeterNunStk_c> = .data:0x80515374; // type:object size:0x34
|
||||
lbl_805153A8 = .data:0x805153A8; // type:object size:0xF data:string
|
||||
lbl_805153B8 = .data:0x805153B8; // type:object size:0xF data:string
|
||||
@@ -38137,9 +38137,9 @@ lbl_805723B8 = .sdata:0x805723B8; // type:object size:0x4 data:4byte
|
||||
lbl_805723C0 = .sdata:0x805723C0; // type:object size:0x8 data:4byte
|
||||
lbl_805723C8 = .sdata:0x805723C8; // type:object size:0x8 data:4byte
|
||||
lbl_805723D0 = .sdata:0x805723D0; // type:object size:0x8 data:4byte
|
||||
lbl_805723D8 = .sdata:0x805723D8; // type:object size:0x8 data:4byte
|
||||
lbl_805723D8 = .sdata:0x805723D8; // type:object size:0x4 data:4byte
|
||||
lbl_805723E0 = .sdata:0x805723E0; // type:object size:0x8 data:4byte
|
||||
lbl_805723E8 = .sdata:0x805723E8; // type:object size:0x8 data:4byte
|
||||
lbl_805723E8 = .sdata:0x805723E8; // type:object size:0x4 data:4byte
|
||||
lbl_805723F0 = .sdata:0x805723F0; // type:object size:0x4 data:4byte
|
||||
lbl_805723F4 = .sdata:0x805723F4; // type:object size:0x6 data:wstring
|
||||
lbl_805723FC = .sdata:0x805723FC; // type:object size:0x2
|
||||
@@ -48668,10 +48668,10 @@ LytMeterNunchakuBg__STATE_WAIT = .bss:0x805AAAE0; // type:object size:0x40 data:
|
||||
LytMeterNunchakuBg__STATE_ON = .bss:0x805AAB20; // type:object size:0x40 data:4byte
|
||||
LytMeterNunchakuBg__STATE_ACTIVE = .bss:0x805AAB60; // type:object size:0x40 data:4byte
|
||||
LytMeterNunchakuBg__STATE_OFF = .bss:0x805AABA0; // type:object size:0x30 data:4byte
|
||||
lbl_805AABD0 = .bss:0x805AABD0; // type:object size:0x10
|
||||
LytMeterNunStk__STATE_WAIT = .bss:0x805AABE0; // type:object size:0x40 data:4byte
|
||||
LytMeterNunStk__STATE_ON = .bss:0x805AAC20; // type:object size:0x40 data:4byte
|
||||
LytMeterNunStk__STATE_ACTIVE = .bss:0x805AAC60; // type:object size:0x40 data:4byte
|
||||
lbl_805AABD0 = .bss:0x805AABD0; // type:object size:0xC
|
||||
LytMeterNunStk__STATE_WAIT = .bss:0x805AABE0; // type:object size:0x30 data:4byte
|
||||
LytMeterNunStk__STATE_ON = .bss:0x805AAC20; // type:object size:0x30 data:4byte
|
||||
LytMeterNunStk__STATE_ACTIVE = .bss:0x805AAC60; // type:object size:0x30 data:4byte
|
||||
LytMeterNunStk__STATE_OFF = .bss:0x805AACA0; // type:object size:0x30 data:4byte
|
||||
lbl_805AACD0 = .bss:0x805AACD0; // type:object size:0xC
|
||||
LytMeterItemSelectIcon__STATE_WAIT = .bss:0x805AACE0; // type:object size:0x30 data:4byte
|
||||
|
||||
+1
-1
@@ -392,7 +392,7 @@ config.libs = [
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_drink.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_remocon_bg.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_nunchaku_bg.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_nun_stk.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_nun_stk.cpp"),
|
||||
Object(Matching, "d/lyt/meter/d_lyt_meter_item_select.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_plus_btn.cpp"),
|
||||
Object(NonMatching, "d/lyt/meter/d_lyt_meter_minus_btn.cpp"),
|
||||
|
||||
@@ -32,8 +32,9 @@ public:
|
||||
DO_BUTTON_B = 1,
|
||||
|
||||
DO_BUTTON_Z = 3,
|
||||
|
||||
DO_BUTTON_NUN_STK = 4,
|
||||
DO_BUTTON_REMOCON_BG = 5,
|
||||
DO_BUTTON_NUN_BG = 6,
|
||||
};
|
||||
|
||||
static void set(DoButton_e button, Action_e value) {
|
||||
|
||||
@@ -57,6 +57,10 @@ public:
|
||||
return field_0x1377E;
|
||||
}
|
||||
|
||||
dLytMeterNunStk_c *getNunStk() {
|
||||
return &mNunStk;
|
||||
}
|
||||
|
||||
/* 0x00004 */ d2d::ResAccIf_c mResAcc;
|
||||
/* 0x00374 */ d2d::LytBase_c mLyt;
|
||||
/* 0x00404 */ d2d::AnmGroup_c mAnmGroups[34];
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
#define D_LYT_METER_NUN_STK_H
|
||||
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "nw4r/lyt/lyt_pane.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "s/s_StateMgr.hpp"
|
||||
|
||||
class dLytMeterNunStk_c : public d2d::dSubPane {
|
||||
public:
|
||||
@@ -11,21 +11,46 @@ public:
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc) override;
|
||||
virtual bool remove() override;
|
||||
virtual bool execute() override;
|
||||
virtual nw4r::lyt::Pane *getPane() override;
|
||||
virtual d2d::LytBase_c *getLyt() override;
|
||||
virtual const char *getName() const 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();
|
||||
}
|
||||
|
||||
nw4r::lyt::Pane *getBgPane() {
|
||||
return mpPane;
|
||||
}
|
||||
|
||||
virtual ~dLytMeterNunStk_c() {}
|
||||
|
||||
private:
|
||||
void setMessage(s32 id);
|
||||
|
||||
STATE_FUNC_DECLARE(dLytMeterNunStk_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytMeterNunStk_c, On);
|
||||
STATE_FUNC_DECLARE(dLytMeterNunStk_c, Active);
|
||||
STATE_FUNC_DECLARE(dLytMeterNunStk_c, Off);
|
||||
|
||||
UI_STATE_MGR_DECLARE(dLytMeterNunStk_c);
|
||||
d2d::dLytSub mLyt;
|
||||
/* 0x0D8 */ d2d::AnmGroup_c mAnmGroups[2];
|
||||
/* 0x??? */ u8 padding[0x12350 - 0x12320];
|
||||
/* 0x008 */ UI_STATE_MGR_DECLARE(dLytMeterNunStk_c);
|
||||
/* 0x044 */ d2d::dLytSub mLyt;
|
||||
/* 0x0D8 */ d2d::AnmGroup_c mAnm[2];
|
||||
/* 0x158 */ nw4r::lyt::Pane *mpPane;
|
||||
/* 0x15C */ nw4r::lyt::Pane *mpOwnerPane;
|
||||
/* 0x160 */ dTextBox_c *mpTextBoxes[2];
|
||||
/* 0x168 */ dWindow_c *mpWindow[1];
|
||||
/* 0x16C */ dTextBox_c *mpSizeBox[1];
|
||||
|
||||
/* 0x170 */ s32 field_0x170;
|
||||
/* 0x174 */ s32 field_0x174;
|
||||
/* 0x178 */ BOOL field_0x178;
|
||||
/* 0x17C */ s32 field_0x17C;
|
||||
/* 0x180 */ s32 mOnDelay;
|
||||
/* 0x184 */ bool field_0x184;
|
||||
/* 0x185 */ u8 field_0x185;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "s/s_StateMgr.hpp"
|
||||
|
||||
class dLytMeterNunchakuBg_c : public d2d::dSubPane {
|
||||
public:
|
||||
@@ -11,21 +10,42 @@ public:
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc) override;
|
||||
virtual bool remove() override;
|
||||
virtual bool execute() override;
|
||||
virtual nw4r::lyt::Pane *getPane() override;
|
||||
virtual d2d::LytBase_c *getLyt() override;
|
||||
virtual const char *getName() const 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();
|
||||
}
|
||||
|
||||
virtual ~dLytMeterNunchakuBg_c() {}
|
||||
|
||||
private:
|
||||
void setMessage(s32 id);
|
||||
|
||||
STATE_FUNC_DECLARE(dLytMeterNunchakuBg_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytMeterNunchakuBg_c, On);
|
||||
STATE_FUNC_DECLARE(dLytMeterNunchakuBg_c, Active);
|
||||
STATE_FUNC_DECLARE(dLytMeterNunchakuBg_c, Off);
|
||||
|
||||
UI_STATE_MGR_DECLARE(dLytMeterNunchakuBg_c);
|
||||
d2d::dLytSub mLyt;
|
||||
/* 0x0D8 */ d2d::AnmGroup_c mAnmGroups[3];
|
||||
/* 0x??? */ u8 padding[0x12608 - 0x125D8];
|
||||
/* 0x008 */ UI_STATE_MGR_DECLARE(dLytMeterNunchakuBg_c);
|
||||
/* 0x044 */ d2d::dLytSub mLyt;
|
||||
/* 0x0D8 */ d2d::AnmGroup_c mAnm[3];
|
||||
/* 0x198 */ nw4r::lyt::Pane *mpPane;
|
||||
/* 0x19C */ nw4r::lyt::Pane *mpOwnerPane;
|
||||
/* 0x1A0 */ dTextBox_c *mpTextBoxes[2];
|
||||
/* 0x1A8 */ dWindow_c *mpWindow[1];
|
||||
/* 0x1AC */ dTextBox_c *mpSizeBox[1];
|
||||
/* 0x1B0 */ s32 field_0x1B0;
|
||||
/* 0x1B4 */ s32 field_0x1B4;
|
||||
/* 0x1B8 */ BOOL field_0x1B8;
|
||||
/* 0x1BC */ s32 field_0x1BC;
|
||||
/* 0x1C0 */ s32 mOnDelay;
|
||||
/* 0x1C4 */ bool field_0x1C4;
|
||||
/* 0x1C5 */ u8 field_0x1C5;
|
||||
/* 0x1C6 */ u8 field_0x1C6;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -377,7 +377,7 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
mAnmGroups[33].setFrame(i);
|
||||
mLyt.calc();
|
||||
mPosArray2[i] = mLyt.findPane("N_rupy_00")->GetTranslate();
|
||||
mPosArray2[i].copyFrom(mLyt.findPane("N_rupy_00")->GetTranslate());
|
||||
}
|
||||
|
||||
mAnmGroups[33].setAnimEnable(false);
|
||||
@@ -431,16 +431,16 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mpKakeraKey = nullptr;
|
||||
}
|
||||
|
||||
if (!dStageMgr_c::GetInstance()->isAreaTypeDungeon() || dScGame_c::currentSpawnInfo.stageName == "F100_1" ||
|
||||
dScGame_c::currentSpawnInfo.stageName == "F103_1") {
|
||||
mpBossKey = nullptr;
|
||||
} else {
|
||||
if (dStageMgr_c::GetInstance()->isAreaTypeDungeon() && !(dScGame_c::currentSpawnInfo.stageName == "F100_1") &&
|
||||
!(dScGame_c::currentSpawnInfo.stageName == "F103_1")) {
|
||||
mpBossKey = new dLytMeterBossKey_c();
|
||||
mpBossKey->build(resAcc);
|
||||
} else {
|
||||
mpBossKey = nullptr;
|
||||
}
|
||||
|
||||
if (dStageMgr_c::GetInstance()->isAreaTypeDungeon() &&
|
||||
(!(dScGame_c::currentSpawnInfo.stageName == "F100_1") && !(dScGame_c::currentSpawnInfo.stageName == "F103_1")) ||
|
||||
if (dStageMgr_c::GetInstance()->isAreaTypeDungeon() && (!(dScGame_c::currentSpawnInfo.stageName == "F100_1") &&
|
||||
!(dScGame_c::currentSpawnInfo.stageName == "F103_1")) ||
|
||||
dScGame_c::currentSpawnInfo.stageName == "F302" || dScGame_c::currentSpawnInfo.stageName == "F302") {
|
||||
mpSmallKey = new dLytMeterSmallKey_c();
|
||||
mpSmallKey->build(resAcc);
|
||||
@@ -462,7 +462,6 @@ bool dLytMeter_c::remove() {
|
||||
mAnmGroups[i].remove();
|
||||
}
|
||||
|
||||
|
||||
for (d2d::SubPaneList::Iterator it = mMeters.GetBeginIter(); it != mMeters.GetEndIter(); ++it) {
|
||||
d2d::dSubPane *m = it->mpLytPane;
|
||||
if (m != nullptr) {
|
||||
@@ -548,7 +547,6 @@ bool dLytMeter_c::remove() {
|
||||
mpDrink = nullptr;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -645,7 +643,6 @@ bool dLytMeterContainer_c::remove() {
|
||||
mpDoButtonRelated->remove();
|
||||
delete mpDoButtonRelated;
|
||||
mpDoButtonRelated = nullptr;
|
||||
|
||||
}
|
||||
mMeter.remove();
|
||||
if (mpEventSkip != nullptr) {
|
||||
|
||||
@@ -147,6 +147,8 @@ static const char *sTextBoxes[] = {
|
||||
"T_aBtnS_00",
|
||||
};
|
||||
|
||||
static const char *sWindows[] = {"W_bgP_00"};
|
||||
|
||||
bool dLytMeterABtn_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("remoConBtn_06.brlyt", nullptr);
|
||||
@@ -163,7 +165,6 @@ bool dLytMeterABtn_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mpTextBoxes[i] = mLyt.getTextBox(sTextBoxes[i]);
|
||||
}
|
||||
|
||||
static const char *sWindows[] = {"W_bgP_00"};
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mpWindow[i] = mLyt.getWindow(sWindows[i]);
|
||||
mpSizeBox[i] = mLyt.getSizeBoxInWindow(sWindows[i]);
|
||||
|
||||
@@ -1,6 +1,238 @@
|
||||
#include "d/lyt/meter/d_lyt_meter_nun_stk.h"
|
||||
|
||||
#include "d/lyt/d_lyt_unknowns.h"
|
||||
#include "d/lyt/d_textbox.h"
|
||||
#include "d/lyt/d_window.h"
|
||||
|
||||
STATE_DEFINE(dLytMeterNunStk_c, Wait);
|
||||
STATE_DEFINE(dLytMeterNunStk_c, On);
|
||||
STATE_DEFINE(dLytMeterNunStk_c, Active);
|
||||
STATE_DEFINE(dLytMeterNunStk_c, Off);
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap[] = {
|
||||
{"nunBtn_02_input.brlan", "G_input_00"},
|
||||
{ "nunBtn_02_loop.brlan", "G_loop_00"},
|
||||
};
|
||||
|
||||
#define NUN_STK_ANIM_INPUT 0
|
||||
#define NUN_STK_ANIM_LOOP 1
|
||||
|
||||
#define NUN_STK_NUM_ANIMS 2
|
||||
|
||||
void dLytMeterNunStk_c::initializeState_Wait() {
|
||||
mOnDelay = 15;
|
||||
}
|
||||
void dLytMeterNunStk_c::executeState_Wait() {
|
||||
s32 timer = mOnDelay;
|
||||
if (field_0x184) {
|
||||
if (field_0x178) {
|
||||
bool bDoUpdate = true;
|
||||
if (field_0x174 != LytDoButtonRelated::DO_NONE) {
|
||||
if (timer <= 0) {
|
||||
mAnm[NUN_STK_ANIM_INPUT].setBackwardsOnce();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setToStart();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(true);
|
||||
mStateMgr.changeState(StateID_On);
|
||||
setMessage(field_0x174);
|
||||
} else {
|
||||
mOnDelay = timer - 1;
|
||||
bDoUpdate = false;
|
||||
}
|
||||
}
|
||||
if (bDoUpdate) {
|
||||
field_0x170 = field_0x174;
|
||||
}
|
||||
} else {
|
||||
if (field_0x174 != LytDoButtonRelated::DO_NONE) {
|
||||
setMessage(field_0x174);
|
||||
}
|
||||
field_0x170 = field_0x174;
|
||||
}
|
||||
}
|
||||
|
||||
if (timer == mOnDelay) {
|
||||
mOnDelay = 15;
|
||||
}
|
||||
}
|
||||
void dLytMeterNunStk_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytMeterNunStk_c::initializeState_On() {}
|
||||
void dLytMeterNunStk_c::executeState_On() {
|
||||
if (mAnm[NUN_STK_ANIM_INPUT].isStop2()) {
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Active);
|
||||
}
|
||||
}
|
||||
void dLytMeterNunStk_c::finalizeState_On() {}
|
||||
|
||||
void dLytMeterNunStk_c::initializeState_Active() {}
|
||||
void dLytMeterNunStk_c::executeState_Active() {
|
||||
if (field_0x174 != field_0x170 || !field_0x178) {
|
||||
if (field_0x174 == LytDoButtonRelated::DO_NONE || !field_0x178) {
|
||||
mAnm[NUN_STK_ANIM_INPUT].setForwardOnce();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setFrame(0.0f);
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(true);
|
||||
if (field_0x170 != field_0x17C) {
|
||||
field_0x174 = field_0x17C;
|
||||
}
|
||||
mStateMgr.changeState(StateID_Off);
|
||||
} else {
|
||||
setMessage(field_0x174);
|
||||
}
|
||||
field_0x170 = field_0x174;
|
||||
} else if (field_0x170 == LytDoButtonRelated::DO_NONE) {
|
||||
mAnm[NUN_STK_ANIM_INPUT].setForwardOnce();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setFrame(0.0f);
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(true);
|
||||
mStateMgr.changeState(StateID_Off);
|
||||
}
|
||||
}
|
||||
void dLytMeterNunStk_c::finalizeState_Active() {}
|
||||
|
||||
void dLytMeterNunStk_c::initializeState_Off() {}
|
||||
void dLytMeterNunStk_c::executeState_Off() {
|
||||
if (mAnm[NUN_STK_ANIM_INPUT].isEndReached()) {
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
}
|
||||
void dLytMeterNunStk_c::finalizeState_Off() {}
|
||||
|
||||
static const char *sPane = "N_all_00";
|
||||
|
||||
static const char *sTextBoxes[] = {
|
||||
"T_conStick_00",
|
||||
"T_conStickS_00",
|
||||
};
|
||||
|
||||
static const char *sWindows[] = {"W_bgP_00"};
|
||||
|
||||
bool dLytMeterNunStk_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("nunBtn_02.brlyt", nullptr);
|
||||
|
||||
for (int i = 0; i < NUN_STK_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
|
||||
mAnm[i].bind(false);
|
||||
mAnm[i].setAnimEnable(false);
|
||||
}
|
||||
mpPane = mLyt.findPane(sPane);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i] = mLyt.getTextBox(sTextBoxes[i]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mpWindow[i] = mLyt.getWindow(sWindows[i]);
|
||||
mpSizeBox[i] = mLyt.getSizeBoxInWindow(sWindows[i]);
|
||||
}
|
||||
|
||||
field_0x17C = LytDoButtonRelated::DO_NONE;
|
||||
field_0x170 = LytDoButtonRelated::DO_NONE;
|
||||
field_0x174 = LytDoButtonRelated::DO_NONE;
|
||||
field_0x184 = true;
|
||||
field_0x178 = true;
|
||||
|
||||
field_0x185 = false;
|
||||
mpOwnerPane = nullptr;
|
||||
|
||||
setMessage(field_0x170);
|
||||
|
||||
mAnm[NUN_STK_ANIM_INPUT].setToEnd();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(true);
|
||||
|
||||
mAnm[NUN_STK_ANIM_LOOP].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(false);
|
||||
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytMeterNunStk_c::remove() {
|
||||
for (int i = 0; i < NUN_STK_NUM_ANIMS; i++) {
|
||||
mAnm[i].unbind();
|
||||
mAnm[i].remove();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytMeterNunStk_c::execute() {
|
||||
if (mpOwnerPane == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!mpOwnerPane->IsVisible()) {
|
||||
if (*mStateMgr.getStateID() == StateID_Active) {
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(true);
|
||||
}
|
||||
if (mAnm[NUN_STK_ANIM_INPUT].isEnabled()) {
|
||||
mAnm[NUN_STK_ANIM_INPUT].setForwardOnce();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setToEnd2();
|
||||
mLyt.calc();
|
||||
mAnm[NUN_STK_ANIM_INPUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
LytDoButtonRelated::set(LytDoButtonRelated::DO_BUTTON_NUN_STK, LytDoButtonRelated::DO_NONE);
|
||||
field_0x174 = LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_NUN_STK);
|
||||
setMessage(field_0x174);
|
||||
return true;
|
||||
}
|
||||
|
||||
field_0x185 = false;
|
||||
|
||||
field_0x174 = LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_NUN_STK);
|
||||
field_0x178 = LytDoButtonRelated::getHas(LytDoButtonRelated::DO_BUTTON_NUN_STK);
|
||||
|
||||
mStateMgr.executeState();
|
||||
for (int i = 0; i < NUN_STK_NUM_ANIMS; i++) {
|
||||
if (mAnm[i].isEnabled()) {
|
||||
mAnm[i].play();
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// TODO
|
||||
static const s32 sActIds[] = {
|
||||
0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x10, 0x11, 0x12, 0x13,
|
||||
0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
|
||||
0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
|
||||
0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C,
|
||||
0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, -1, 0x1,
|
||||
0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x10, 0x11, 0x12, 0x13, 0x14,
|
||||
0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
|
||||
0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
};
|
||||
|
||||
void dLytMeterNunStk_c::setMessage(s32 id) {
|
||||
char buf[11];
|
||||
for (int i = 0; i < 11; i++) {
|
||||
buf[i] = 0;
|
||||
}
|
||||
|
||||
if (id < LytDoButtonRelated::DO_NONE) {
|
||||
if (id < 0x5D) {
|
||||
sprintf(buf, "ACT_INFO_%03d", sActIds[id]);
|
||||
} else {
|
||||
s32 id2 = id - 0x5E;
|
||||
sprintf(buf, "ACT_ETC_%03d", sActIds[id2]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i]->setMessageWithGlobalTextProcessor2(buf, nullptr);
|
||||
}
|
||||
|
||||
mpWindow[0]->SetVisible(true);
|
||||
mpWindow[0]->UpdateSize(mpSizeBox[0], 32.0f);
|
||||
field_0x17C = id;
|
||||
} else {
|
||||
wchar_t b2[2];
|
||||
b2[0] = b2[1] = 0;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i]->setTextWithGlobalTextProcessor(b2);
|
||||
}
|
||||
mpWindow[0]->SetVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,259 @@
|
||||
#include "d/lyt/meter/d_lyt_meter_nunchaku_bg.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/lyt/d_lyt_unknowns.h"
|
||||
#include "d/lyt/meter/d_lyt_meter.h"
|
||||
#include "toBeSorted/event_manager.h"
|
||||
|
||||
STATE_DEFINE(dLytMeterNunchakuBg_c, Wait);
|
||||
STATE_DEFINE(dLytMeterNunchakuBg_c, On);
|
||||
STATE_DEFINE(dLytMeterNunchakuBg_c, Active);
|
||||
STATE_DEFINE(dLytMeterNunchakuBg_c, Off);
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap[] = {
|
||||
{ "nunBg_00_input.brlan", "G_input_00"},
|
||||
{"nunBg_00_arrowV.brlan", "G_arrowAlpha_00"},
|
||||
{ "nunBg_00_loop.brlan", "G_loop_00"},
|
||||
};
|
||||
|
||||
#define NUN_BG_ANIM_INPUT 0
|
||||
#define NUN_BG_ANIM_ARROWV 1
|
||||
#define NUN_BG_ANIM_LOOP 2
|
||||
|
||||
#define NUN_BG_NUM_ANIMS 3
|
||||
|
||||
void dLytMeterNunchakuBg_c::initializeState_Wait() {
|
||||
mOnDelay = 15;
|
||||
}
|
||||
void dLytMeterNunchakuBg_c::executeState_Wait() {
|
||||
s32 timer = mOnDelay;
|
||||
if (field_0x1C4) {
|
||||
if (field_0x1B8) {
|
||||
bool bDoUpdate = true;
|
||||
if (field_0x1B4 != LytDoButtonRelated::DO_NONE) {
|
||||
if (timer <= 0) {
|
||||
mAnm[NUN_BG_ANIM_INPUT].setBackwardsOnce();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setToStart();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(true);
|
||||
mStateMgr.changeState(StateID_On);
|
||||
setMessage(field_0x1B4);
|
||||
} else {
|
||||
mOnDelay = timer - 1;
|
||||
bDoUpdate = false;
|
||||
}
|
||||
}
|
||||
if (bDoUpdate) {
|
||||
field_0x1B0 = field_0x1B4;
|
||||
}
|
||||
} else {
|
||||
if (field_0x1B4 != LytDoButtonRelated::DO_NONE) {
|
||||
setMessage(field_0x1B4);
|
||||
}
|
||||
field_0x1B0 = field_0x1B4;
|
||||
}
|
||||
}
|
||||
|
||||
if (timer == mOnDelay) {
|
||||
mOnDelay = 15;
|
||||
}
|
||||
}
|
||||
void dLytMeterNunchakuBg_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytMeterNunchakuBg_c::initializeState_On() {}
|
||||
void dLytMeterNunchakuBg_c::executeState_On() {
|
||||
if (mAnm[NUN_BG_ANIM_INPUT].isStop2()) {
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Active);
|
||||
}
|
||||
}
|
||||
void dLytMeterNunchakuBg_c::finalizeState_On() {}
|
||||
|
||||
void dLytMeterNunchakuBg_c::initializeState_Active() {}
|
||||
void dLytMeterNunchakuBg_c::executeState_Active() {
|
||||
if (field_0x1B4 != field_0x1B0 || !field_0x1B8) {
|
||||
if (field_0x1B4 == LytDoButtonRelated::DO_NONE || !field_0x1B8) {
|
||||
mAnm[NUN_BG_ANIM_INPUT].setForwardOnce();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setFrame(0.0f);
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(true);
|
||||
if (field_0x1B0 != field_0x1BC) {
|
||||
field_0x1B4 = field_0x1BC;
|
||||
}
|
||||
mStateMgr.changeState(StateID_Off);
|
||||
} else {
|
||||
setMessage(field_0x1B4);
|
||||
}
|
||||
field_0x1B0 = field_0x1B4;
|
||||
} else if (field_0x1B0 == LytDoButtonRelated::DO_NONE) {
|
||||
mAnm[NUN_BG_ANIM_INPUT].setForwardOnce();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setFrame(0.0f);
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(true);
|
||||
mStateMgr.changeState(StateID_Off);
|
||||
}
|
||||
}
|
||||
void dLytMeterNunchakuBg_c::finalizeState_Active() {}
|
||||
|
||||
void dLytMeterNunchakuBg_c::initializeState_Off() {}
|
||||
void dLytMeterNunchakuBg_c::executeState_Off() {
|
||||
if (mAnm[NUN_BG_ANIM_INPUT].isEndReached()) {
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
}
|
||||
void dLytMeterNunchakuBg_c::finalizeState_Off() {}
|
||||
|
||||
static const char *sPane = "N_nunBg_00";
|
||||
|
||||
static const char *sTextBoxes[] = {
|
||||
"T_nunchaku_00",
|
||||
"T_nunchakuS_00",
|
||||
};
|
||||
|
||||
static const char *sWindows[] = {"W_bgP_04"};
|
||||
|
||||
bool dLytMeterNunchakuBg_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("nunBg_00.brlyt", nullptr);
|
||||
|
||||
for (int i = 0; i < NUN_BG_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName);
|
||||
mAnm[i].bind(false);
|
||||
mAnm[i].setAnimEnable(false);
|
||||
}
|
||||
|
||||
mpPane = mLyt.findPane(sPane);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i] = mLyt.getTextBox(sTextBoxes[i]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mpWindow[i] = mLyt.getWindow(sWindows[i]);
|
||||
mpSizeBox[i] = mLyt.getSizeBoxInWindow(sWindows[i]);
|
||||
}
|
||||
|
||||
field_0x1BC = 0x60;
|
||||
field_0x1B0 = 0x60;
|
||||
field_0x1B4 = 0x60;
|
||||
field_0x1C4 = false;
|
||||
field_0x1B8 = true;
|
||||
|
||||
field_0x1C5 = 0;
|
||||
field_0x1C6 = 0;
|
||||
mpOwnerPane = nullptr;
|
||||
mOnDelay = 15;
|
||||
|
||||
dLytMeterContainer_c::GetMeter()->getNunStk()->getBgPane()->SetVisible(false);
|
||||
|
||||
setMessage(field_0x1B0);
|
||||
|
||||
mAnm[NUN_BG_ANIM_INPUT].setToEnd();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(true);
|
||||
|
||||
mAnm[NUN_BG_ANIM_LOOP].setAnimEnable(true);
|
||||
mLyt.calc();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytMeterNunchakuBg_c::remove() {
|
||||
for (int i = 0; i < NUN_BG_NUM_ANIMS; i++) {
|
||||
mAnm[i].unbind();
|
||||
mAnm[i].remove();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytMeterNunchakuBg_c::execute() {
|
||||
if (mpOwnerPane == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!mpOwnerPane->IsVisible()) {
|
||||
if (*mStateMgr.getStateID() == StateID_Active) {
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(true);
|
||||
}
|
||||
if (mAnm[NUN_BG_ANIM_INPUT].isEnabled()) {
|
||||
mAnm[NUN_BG_ANIM_INPUT].setForwardOnce();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setToEnd2();
|
||||
mLyt.calc();
|
||||
mAnm[NUN_BG_ANIM_INPUT].setAnimEnable(false);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
LytDoButtonRelated::set(LytDoButtonRelated::DO_BUTTON_NUN_BG, LytDoButtonRelated::DO_NONE);
|
||||
field_0x1B4 = LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_NUN_STK);
|
||||
setMessage(field_0x1B4);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (EventManager::isInEvent()) {
|
||||
field_0x1C4 = false;
|
||||
LytDoButtonRelated::set(LytDoButtonRelated::DO_BUTTON_NUN_BG, LytDoButtonRelated::DO_NONE);
|
||||
} else {
|
||||
field_0x1C4 = true;
|
||||
}
|
||||
|
||||
s32 d = dLytDobutton_c::getFn0x8010E5E0();
|
||||
if (d == 6 || d == 9) {
|
||||
LytDoButtonRelated::Action_e a = LytDoButtonRelated::convertDoButton(dLytDobutton_c::getFn0x8010E5D0());
|
||||
if (a >= 0) {
|
||||
LytDoButtonRelated::set(LytDoButtonRelated::DO_BUTTON_NUN_BG, a);
|
||||
}
|
||||
}
|
||||
|
||||
field_0x1B4 = LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_NUN_BG);
|
||||
field_0x1B8 = LytDoButtonRelated::getHas(LytDoButtonRelated::DO_BUTTON_NUN_BG);
|
||||
|
||||
bool hasZ = LytDoButtonRelated::getHas(LytDoButtonRelated::DO_BUTTON_Z);
|
||||
|
||||
mStateMgr.executeState();
|
||||
for (int i = 0; i < NUN_BG_NUM_ANIMS; i++) {
|
||||
if (i != 1 && mAnm[i].isEnabled()) {
|
||||
mAnm[i].play();
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// TODO
|
||||
static const s32 sActIds[] = {
|
||||
0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x10, 0x11, 0x12, 0x13,
|
||||
0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
|
||||
0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
|
||||
0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C,
|
||||
0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, -1, 0x1,
|
||||
0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x10, 0x11, 0x12, 0x13, 0x14,
|
||||
0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
|
||||
0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
};
|
||||
|
||||
void dLytMeterNunchakuBg_c::setMessage(s32 id) {
|
||||
char buf[11];
|
||||
for (int i = 0; i < 11; i++) {
|
||||
buf[i] = 0;
|
||||
}
|
||||
|
||||
if (id < LytDoButtonRelated::DO_NONE) {
|
||||
if (id < 0x5D) {
|
||||
sprintf(buf, "ACT_INFO_%03d", sActIds[id]);
|
||||
} else {
|
||||
s32 id2 = id - 0x5E;
|
||||
sprintf(buf, "ACT_ETC_%03d", sActIds[id2]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i]->setMessageWithGlobalTextProcessor2(buf, nullptr);
|
||||
}
|
||||
mpWindow[0]->SetVisible(true);
|
||||
mpWindow[0]->UpdateSize(mpSizeBox[0], 32.0f);
|
||||
field_0x1BC = id;
|
||||
} else {
|
||||
wchar_t b2[2];
|
||||
b2[0] = b2[1] = 0;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpTextBoxes[i]->setTextWithGlobalTextProcessor(b2);
|
||||
}
|
||||
mpWindow[0]->SetVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,6 +113,8 @@ static const char *sTextBoxes[] = {
|
||||
"T_zBtnS_00",
|
||||
};
|
||||
|
||||
static const char *sWindows[] = {"W_bgP_00"};
|
||||
|
||||
bool dLytMeterZBtn_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("nunBtn_01.brlyt", nullptr);
|
||||
@@ -129,7 +131,6 @@ bool dLytMeterZBtn_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mpTextBoxes[i] = mLyt.getTextBox(sTextBoxes[i]);
|
||||
}
|
||||
|
||||
static const char *sWindows[] = {"W_bgP_00"};
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mpWindow[i] = mLyt.getWindow(sWindows[i]);
|
||||
mpSizeBox[i] = mLyt.getSizeBoxInWindow(sWindows[i]);
|
||||
@@ -140,7 +141,7 @@ bool dLytMeterZBtn_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
field_0x1B4 = 0x5E;
|
||||
field_0x1C4 = false;
|
||||
field_0x1B8 = true;
|
||||
mpOwnerPane = 0;
|
||||
mpOwnerPane = nullptr;
|
||||
|
||||
setMessage(0x5E);
|
||||
field_0x1C5 = 0;
|
||||
|
||||
Reference in New Issue
Block a user