From 2368524c571b1415cd28bb400b757293a700ce7b Mon Sep 17 00:00:00 2001 From: robojumper Date: Mon, 31 Mar 2025 00:10:04 +0200 Subject: [PATCH 1/7] d_lyt_common_icon_item OK --- config/SOUE01/splits.txt | 4 + config/SOUE01/symbols.txt | 252 +++---- configure.py | 2 +- include/d/lyt/d2d.h | 38 +- include/d/lyt/d_lyt_common_icon_item.h | 295 ++++++-- include/d/lyt/d_structd.h | 12 + include/d/lyt/d_textbox.h | 2 + include/m/m2d.h | 6 +- src/d/d_cs_game.cpp | 10 +- src/d/lyt/d2d.cpp | 17 +- src/d/lyt/d_lyt_area_caption.cpp | 2 +- src/d/lyt/d_lyt_battery.cpp | 2 +- src/d/lyt/d_lyt_bird_gauge.cpp | 2 +- src/d/lyt/d_lyt_common_icon_item.cpp | 886 +++++++++++++++++++++++++ src/d/lyt/d_lyt_fader.cpp | 4 +- src/d/lyt/d_lyt_note.cpp | 4 +- src/d/lyt/d_lyt_pause_disp_00.cpp | 2 +- src/d/lyt/d_lyt_sky_gauge.cpp | 2 +- src/d/lyt/meter/d_lyt_meter.cpp | 20 +- src/d/lyt/meter/d_lyt_meter_a_btn.cpp | 11 +- src/d/lyt/meter/d_lyt_meter_drink.cpp | 42 +- src/m/m2d.cpp | 4 +- 22 files changed, 1373 insertions(+), 246 deletions(-) diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index e036519b..455ca8af 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -414,7 +414,11 @@ d/lyt/d_lyt_common_icon_material.cpp: d/lyt/d_lyt_common_icon_item.cpp: .text start:0x80111720 end:0x80113ED8 .ctors start:0x804DB734 end:0x804DB738 + .rodata start:0x804E7390 end:0x804E7430 .data start:0x8051B070 end:0x8051B5A0 + .sdata start:0x80572558 end:0x80572580 + .sdata2 start:0x80579DB8 end:0x80579DD0 + .bss start:0x805AD088 end:0x805AD188 d/lyt/d_lyt_msg_window.cpp: .text start:0x801148F0 end:0x8011C8C8 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index d135e1c4..2cc7c72f 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -3847,7 +3847,7 @@ fn_800AF6B0 = .text:0x800AF6B0; // type:function size:0x64 fn_800AF720 = .text:0x800AF720; // type:function size:0x8C fn_800AF7B0 = .text:0x800AF7B0; // type:function size:0x84 fn_800AF840 = .text:0x800AF840; // type:function size:0xEC -fn_800AF930 = .text:0x800AF930; // type:function size:0x50 +fn_800AF930__10dTextBox_cFPCw = .text:0x800AF930; // type:function size:0x50 GetLineWidth__10dTextBox_cFPf = .text:0x800AF980; // type:function size:0x1E4 fn_800AFB70 = .text:0x800AFB70; // type:function size:0x1A4 fn_800AFD20 = .text:0x800AFD20; // type:function size:0x3C @@ -6645,92 +6645,92 @@ fn_801112C0 = .text:0x801112C0; // type:function size:0x30 LytCommonIconMaterial__initStates = .text:0x801112F0; // type:function size:0x338 LytCommonIconMaterial__dtor = .text:0x80111630; // type:function size:0x58 fn_80111690 = .text:0x80111690; // type:function size:0x88 -fn_80111720 = .text:0x80111720; // type:function size:0x100 -fn_80111820 = .text:0x80111820; // type:function size:0x58 -fn_80111880 = .text:0x80111880; // type:function size:0xC4 -fn_80111950 = .text:0x80111950; // type:function size:0x198 -fn_80111AF0 = .text:0x80111AF0; // type:function size:0x5C -fn_80111B50 = .text:0x80111B50; // type:function size:0x4 -fn_80111B60 = .text:0x80111B60; // type:function size:0x8C -fn_80111BF0 = .text:0x80111BF0; // type:function size:0x8C -fn_80111C80 = .text:0x80111C80; // type:function size:0x8C -fn_80111D10 = .text:0x80111D10; // type:function size:0xD4 -fn_80111DF0 = .text:0x80111DF0; // type:function size:0x88 -fn_80111E80 = .text:0x80111E80; // type:function size:0xB8 -fn_80111F40 = .text:0x80111F40; // type:function size:0x2C -fn_80111F70 = .text:0x80111F70; // type:function size:0x2C -fn_80111FA0 = .text:0x80111FA0; // type:function size:0x60 -fn_80112000 = .text:0x80112000; // type:function size:0x8 -fn_80112010 = .text:0x80112010; // type:function size:0x7C -fn_80112090 = .text:0x80112090; // type:function size:0x34 -fn_801120D0 = .text:0x801120D0; // type:function size:0x100 -fn_801121D0 = .text:0x801121D0; // type:function size:0x58 -fn_80112230 = .text:0x80112230; // type:function size:0xC4 -fn_80112300 = .text:0x80112300; // type:function size:0x21C -fn_80112520 = .text:0x80112520; // type:function size:0x54 -fn_80112580 = .text:0x80112580; // type:function size:0x130 -fn_801126B0 = .text:0x801126B0; // type:function size:0x4 -fn_801126C0 = .text:0x801126C0; // type:function size:0x8C -fn_80112750 = .text:0x80112750; // type:function size:0x8C -fn_801127E0 = .text:0x801127E0; // type:function size:0x8C -fn_80112870 = .text:0x80112870; // type:function size:0xD4 -fn_80112950 = .text:0x80112950; // type:function size:0x8C -fn_801129E0 = .text:0x801129E0; // type:function size:0x4C -fn_80112A30 = .text:0x80112A30; // type:function size:0x88 -fn_80112AC0 = .text:0x80112AC0; // type:function size:0x8C -fn_80112B50 = .text:0x80112B50; // type:function size:0xB8 -fn_80112C10 = .text:0x80112C10; // type:function size:0x2C -fn_80112C40 = .text:0x80112C40; // type:function size:0x2C -fn_80112C70 = .text:0x80112C70; // type:function size:0x60 -fn_80112CD0 = .text:0x80112CD0; // type:function size:0x8 -fn_80112CE0 = .text:0x80112CE0; // type:function size:0x7C -fn_80112D60 = .text:0x80112D60; // type:function size:0x34 -fn_80112DA0 = .text:0x80112DA0; // type:function size:0x88 -fn_80112E30 = .text:0x80112E30; // type:function size:0xD0 -fn_80112F00 = .text:0x80112F00; // type:function size:0x58 -fn_80112F60 = .text:0x80112F60; // type:function size:0x74 -fn_80112FE0 = .text:0x80112FE0; // type:function size:0xC0 -fn_801130A0 = .text:0x801130A0; // type:function size:0x4C -fn_801130F0 = .text:0x801130F0; // type:function size:0x8C -fn_80113180 = .text:0x80113180; // type:function size:0x8C -fn_80113210 = .text:0x80113210; // type:function size:0xD4 -fn_801132F0 = .text:0x801132F0; // type:function size:0x7C -fn_80113370 = .text:0x80113370; // type:function size:0x34 -fn_801133B0 = .text:0x801133B0; // type:function size:0x4 -fn_801133C0 = .text:0x801133C0; // type:function size:0x4 -fn_801133D0 = .text:0x801133D0; // type:function size:0x4 -fn_801133E0 = .text:0x801133E0; // type:function size:0x4 -fn_801133F0 = .text:0x801133F0; // type:function size:0x4 -fn_80113400 = .text:0x80113400; // type:function size:0x4 -fn_80113410 = .text:0x80113410; // type:function size:0x4 -fn_80113420 = .text:0x80113420; // type:function size:0x4 -fn_80113430 = .text:0x80113430; // type:function size:0x4 -fn_80113440 = .text:0x80113440; // type:function size:0x4 -fn_80113450 = .text:0x80113450; // type:function size:0x4 -fn_80113460 = .text:0x80113460; // type:function size:0x4 -fn_80113470 = .text:0x80113470; // type:function size:0x28 -fn_801134A0 = .text:0x801134A0; // type:function size:0x60 -fn_80113500 = .text:0x80113500; // type:function size:0x60 -fn_80113560 = .text:0x80113560; // type:function size:0x60 -fn_801135C0 = .text:0x801135C0; // type:function size:0x3C -fn_80113600 = .text:0x80113600; // type:function size:0x28 -fn_80113630 = .text:0x80113630; // type:function size:0x28 -fn_80113660 = .text:0x80113660; // type:function size:0x38 -fn_801136A0 = .text:0x801136A0; // type:function size:0x38 -fn_801136E0 = .text:0x801136E0; // type:function size:0x3C -fn_80113720 = .text:0x80113720; // type:function size:0x18 -fn_80113740 = .text:0x80113740; // type:function size:0x18 -fn_80113760 = .text:0x80113760; // type:function size:0x2C -fn_80113790 = .text:0x80113790; // type:function size:0x2C -fn_801137C0 = .text:0x801137C0; // type:function size:0x2C -fn_801137F0 = .text:0x801137F0; // type:function size:0x2C -fn_80113820 = .text:0x80113820; // type:function size:0x2C -fn_80113850 = .text:0x80113850; // type:function size:0x68 -fn_801138C0 = .text:0x801138C0; // type:function size:0x88 -fn_80113950 = .text:0x80113950; // type:function size:0x3C -fn_80113990 = .text:0x80113990; // type:function size:0x58 -fn_801139F0 = .text:0x801139F0; // type:function size:0x58 -fn_80113A50 = .text:0x80113A50; // type:function size:0x58 +build__25dLytCommonIconItemPart1_cFPQ23d2d10ResAccIf_c = .text:0x80111720; // type:function size:0x100 +remove__25dLytCommonIconItemPart1_cFv = .text:0x80111820; // type:function size:0x58 +execute__25dLytCommonIconItemPart1_cFv = .text:0x80111880; // type:function size:0xC4 +reset__25dLytCommonIconItemPart1_cFv = .text:0x80111950; // type:function size:0x198 +setItem__25dLytCommonIconItemPart1_cFUc = .text:0x80111AF0; // type:function size:0x5C +realizeUnk__25dLytCommonIconItemPart1_cFv = .text:0x80111B50; // type:function size:0x4 +realizeNumber__25dLytCommonIconItemPart1_cFv = .text:0x80111B60; // type:function size:0x8C +realizeSize__25dLytCommonIconItemPart1_cFv = .text:0x80111BF0; // type:function size:0x8C +realizeBocoburin__25dLytCommonIconItemPart1_cFv = .text:0x80111C80; // type:function size:0x8C +realizeItem__25dLytCommonIconItemPart1_cFUc = .text:0x80111D10; // type:function size:0xD4 +setNumber__25dLytCommonIconItemPart1_cFl = .text:0x80111DF0; // type:function size:0x88 +setNumberColor__25dLytCommonIconItemPart1_cFUc = .text:0x80111E80; // type:function size:0xB8 +setOn__25dLytCommonIconItemPart1_cFv = .text:0x80111F40; // type:function size:0x2C +setOff__25dLytCommonIconItemPart1_cFv = .text:0x80111F70; // type:function size:0x2C +startDecide__25dLytCommonIconItemPart1_cFv = .text:0x80111FA0; // type:function size:0x60 +isDoneDeciding__25dLytCommonIconItemPart1_cCFv = .text:0x80112000; // type:function size:0x8 +isCursorOver__25dLytCommonIconItemPart1_cCFv = .text:0x80112010; // type:function size:0x7C +setVisible__25dLytCommonIconItemPart1_cFb = .text:0x80112090; // type:function size:0x34 +build__25dLytCommonIconItemPart2_cFPQ23d2d10ResAccIf_c = .text:0x801120D0; // type:function size:0x100 +remove__25dLytCommonIconItemPart2_cFv = .text:0x801121D0; // type:function size:0x58 +execute__25dLytCommonIconItemPart2_cFv = .text:0x80112230; // type:function size:0xC4 +reset__25dLytCommonIconItemPart2_cFv = .text:0x80112300; // type:function size:0x21C +setShieldOnOff__25dLytCommonIconItemPart2_cFb = .text:0x80112520; // type:function size:0x54 +setItem__25dLytCommonIconItemPart2_cFUc = .text:0x80112580; // type:function size:0x130 +realizeUnk__25dLytCommonIconItemPart2_cFv = .text:0x801126B0; // type:function size:0x4 +realizeNumber__25dLytCommonIconItemPart2_cFv = .text:0x801126C0; // type:function size:0x8C +realizeSize__25dLytCommonIconItemPart2_cFv = .text:0x80112750; // type:function size:0x8C +realizeBocoburin__25dLytCommonIconItemPart2_cFv = .text:0x801127E0; // type:function size:0x8C +realizeItem__25dLytCommonIconItemPart2_cFUc = .text:0x80112870; // type:function size:0xD4 +realizeShieldOnOff__25dLytCommonIconItemPart2_cFb = .text:0x80112950; // type:function size:0x8C +getShieldType__25dLytCommonIconItemPart2_cCFv = .text:0x801129E0; // type:function size:0x4C +realizeShieldType__25dLytCommonIconItemPart2_cFUc = .text:0x80112A30; // type:function size:0x88 +setNumber__25dLytCommonIconItemPart2_cFl = .text:0x80112AC0; // type:function size:0x8C +setNumberColor__25dLytCommonIconItemPart2_cFUc = .text:0x80112B50; // type:function size:0xB8 +setOn__25dLytCommonIconItemPart2_cFv = .text:0x80112C10; // type:function size:0x2C +setOff__25dLytCommonIconItemPart2_cFv = .text:0x80112C40; // type:function size:0x2C +startDecide__25dLytCommonIconItemPart2_cFv = .text:0x80112C70; // type:function size:0x60 +isDoneDeciding__25dLytCommonIconItemPart2_cCFv = .text:0x80112CD0; // type:function size:0x8 +isCursorOver__25dLytCommonIconItemPart2_cCFv = .text:0x80112CE0; // type:function size:0x7C +setVisible__25dLytCommonIconItemPart2_cFb = .text:0x80112D60; // type:function size:0x34 +setDurability__25dLytCommonIconItemPart2_cFf = .text:0x80112DA0; // type:function size:0x88 +build__25dLytCommonIconItemPart3_cFPQ23d2d10ResAccIf_c = .text:0x80112E30; // type:function size:0xD0 +remove__25dLytCommonIconItemPart3_cFv = .text:0x80112F00; // type:function size:0x58 +execute__25dLytCommonIconItemPart3_cFv = .text:0x80112F60; // type:function size:0x74 +reset__25dLytCommonIconItemPart3_cFv = .text:0x80112FE0; // type:function size:0xC0 +setItem__25dLytCommonIconItemPart3_cFUc = .text:0x801130A0; // type:function size:0x4C +realizeSize__25dLytCommonIconItemPart3_cFv = .text:0x801130F0; // type:function size:0x8C +realizeBocoburin__25dLytCommonIconItemPart3_cFv = .text:0x80113180; // type:function size:0x8C +realizeItem__25dLytCommonIconItemPart3_cFUc = .text:0x80113210; // type:function size:0xD4 +isCursorOver__25dLytCommonIconItemPart3_cCFv = .text:0x801132F0; // type:function size:0x7C +setVisible__25dLytCommonIconItemPart3_cFb = .text:0x80113370; // type:function size:0x34 +initializeState_None__20dLytCommonIconItem_cFv = .text:0x801133B0; // type:function size:0x4 +executeState_None__20dLytCommonIconItem_cFv = .text:0x801133C0; // type:function size:0x4 +finalizeState_None__20dLytCommonIconItem_cFv = .text:0x801133D0; // type:function size:0x4 +initializeState_In__20dLytCommonIconItem_cFv = .text:0x801133E0; // type:function size:0x4 +executeState_In__20dLytCommonIconItem_cFv = .text:0x801133F0; // type:function size:0x4 +finalizeState_In__20dLytCommonIconItem_cFv = .text:0x80113400; // type:function size:0x4 +initializeState_Wait__20dLytCommonIconItem_cFv = .text:0x80113410; // type:function size:0x4 +executeState_Wait__20dLytCommonIconItem_cFv = .text:0x80113420; // type:function size:0x4 +finalizeState_Wait__20dLytCommonIconItem_cFv = .text:0x80113430; // type:function size:0x4 +initializeState_Out__20dLytCommonIconItem_cFv = .text:0x80113440; // type:function size:0x4 +executeState_Out__20dLytCommonIconItem_cFv = .text:0x80113450; // type:function size:0x4 +finalizeState_Out__20dLytCommonIconItem_cFv = .text:0x80113460; // type:function size:0x4 +build__20dLytCommonIconItem_cFPQ23d2d10ResAccIf_c = .text:0x80113470; // type:function size:0x28 +build__20dLytCommonIconItem_cFPQ23d2d10ResAccIf_cUc = .text:0x801134A0; // type:function size:0x60 +remove__20dLytCommonIconItem_cFv = .text:0x80113500; // type:function size:0x60 +execute__20dLytCommonIconItem_cFv = .text:0x80113560; // type:function size:0x60 +reset__20dLytCommonIconItem_cFv = .text:0x801135C0; // type:function size:0x3C +setUnk__20dLytCommonIconItem_cFb = .text:0x80113600; // type:function size:0x28 +setHasNumber__20dLytCommonIconItem_cFb = .text:0x80113630; // type:function size:0x28 +setSize__20dLytCommonIconItem_cFb = .text:0x80113660; // type:function size:0x38 +setBocoburinLocked__20dLytCommonIconItem_cFb = .text:0x801136A0; // type:function size:0x38 +setItem__20dLytCommonIconItem_cFUc = .text:0x801136E0; // type:function size:0x3C +setShieldDurability__20dLytCommonIconItem_cFf = .text:0x80113720; // type:function size:0x18 +setShieldOnOff__20dLytCommonIconItem_cFb = .text:0x80113740; // type:function size:0x18 +setNumber__20dLytCommonIconItem_cFl = .text:0x80113760; // type:function size:0x2C +setNumberColor__20dLytCommonIconItem_cFUc = .text:0x80113790; // type:function size:0x2C +setOn__20dLytCommonIconItem_cFv = .text:0x801137C0; // type:function size:0x2C +setOff__20dLytCommonIconItem_cFv = .text:0x801137F0; // type:function size:0x2C +startDecide__20dLytCommonIconItem_cFv = .text:0x80113820; // type:function size:0x2C +isDoneDeciding__20dLytCommonIconItem_cCFv = .text:0x80113850; // type:function size:0x68 +isCursorOver__20dLytCommonIconItem_cCFv = .text:0x801138C0; // type:function size:0x88 +setVisible__20dLytCommonIconItem_cFb = .text:0x80113950; // type:function size:0x3C +getName__20dLytCommonIconItem_cCFv = .text:0x80113990; // type:function size:0x58 +getLyt__20dLytCommonIconItem_cFv = .text:0x801139F0; // type:function size:0x58 +getPane__20dLytCommonIconItem_cFv = .text:0x80113A50; // type:function size:0x58 __sinit_\d_lyt_common_icon_item_cpp = .text:0x80113AB0; // type:function size:0x338 scope:local __dt__35sFStateID_c<20dLytCommonIconItem_c>Fv = .text:0x80113DF0; // type:function size:0x58 isSameName__35sFStateID_c<20dLytCommonIconItem_c>CFPCc = .text:0x80113E50; // type:function size:0x88 @@ -17387,8 +17387,8 @@ set__Q23m2d11FrameCtrl_cFfUcff = .text:0x802E3240; // type:function size:0x64 setFrame__Q23m2d11FrameCtrl_cFf = .text:0x802E32B0; // type:function size:0xC setRate__Q23m2d11FrameCtrl_cFf = .text:0x802E32C0; // type:function size:0x8 isStop__Q23m2d11FrameCtrl_cCFv = .text:0x802E32D0; // type:function size:0x60 -getEndFrame__Q23m2d11FrameCtrl_cCFv = .text:0x802E3330; // type:function size:0x34 -getEndFrame2__Q23m2d11FrameCtrl_cCFv = .text:0x802E3370; // type:function size:0x34 +getStartFrame__Q23m2d11FrameCtrl_cCFv = .text:0x802E3330; // type:function size:0x34 +getEndFrame__Q23m2d11FrameCtrl_cCFv = .text:0x802E3370; // type:function size:0x34 isStop2__Q23m2d11FrameCtrl_cCFv = .text:0x802E33B0; // type:function size:0x70 __dt__Q23m2d5Anm_cFv = .text:0x802E3420; // type:function size:0x6C doSomething__Q23m2d5Anm_cFPCcPQ23m2d10ResAccIf_c = .text:0x802E3490; // type:function size:0x118 @@ -28281,7 +28281,7 @@ lbl_804E72E0 = .rodata:0x804E72E0; // type:object size:0x20 data:4byte lbl_804E7300 = .rodata:0x804E7300; // type:object size:0x30 lbl_804E7330 = .rodata:0x804E7330; // type:object size:0x30 data:4byte lbl_804E7360 = .rodata:0x804E7360; // type:object size:0x30 data:4byte -lbl_804E7390 = .rodata:0x804E7390; // type:object size:0x38 data:4byte +brlanMapPart1 = .rodata:0x804E7390; // type:object size:0x38 data:4byte lbl_804E73C8 = .rodata:0x804E73C8; // type:object size:0x50 data:4byte lbl_804E7418 = .rodata:0x804E7418; // type:object size:0x18 data:4byte lbl_804E7430 = .rodata:0x804E7430; // type:object size:0x38 data:4byte @@ -31998,45 +31998,45 @@ lbl_8051AEB8 = .data:0x8051AEB8; // type:object size:0xC lbl_8051AEC4 = .data:0x8051AEC4; // type:object size:0x14 data:string lbl_8051AED8 = .data:0x8051AED8; // type:object size:0x164 lbl_8051B03C = .data:0x8051B03C; // type:object size:0x34 -lbl_8051B070 = .data:0x8051B070; // type:object size:0x1C -lbl_8051B08C = .data:0x8051B08C; // type:object size:0xC -lbl_8051B098 = .data:0x8051B098; // type:object size:0x20 -lbl_8051B0B8 = .data:0x8051B0B8; // type:object size:0x10 +lbl_8051B070 = .data:0x8051B070; // type:object size:0x19 data:string +lbl_8051B08C = .data:0x8051B08C; // type:object size:0xA data:string +lbl_8051B098 = .data:0x8051B098; // type:object size:0x1E data:string +lbl_8051B0B8 = .data:0x8051B0B8; // type:object size:0xF data:string lbl_8051B0C8 = .data:0x8051B0C8; // type:object size:0x1C data:string -lbl_8051B0E4 = .data:0x8051B0E4; // type:object size:0x10 -lbl_8051B0F4 = .data:0x8051B0F4; // type:object size:0x1C -lbl_8051B110 = .data:0x8051B110; // type:object size:0xC -lbl_8051B11C = .data:0x8051B11C; // type:object size:0x20 -lbl_8051B13C = .data:0x8051B13C; // type:object size:0x10 -lbl_8051B14C = .data:0x8051B14C; // type:object size:0x1C -lbl_8051B168 = .data:0x8051B168; // type:object size:0xC -lbl_8051B174 = .data:0x8051B174; // type:object size:0x1C +lbl_8051B0E4 = .data:0x8051B0E4; // type:object size:0xD data:string +lbl_8051B0F4 = .data:0x8051B0F4; // type:object size:0x19 data:string +lbl_8051B110 = .data:0x8051B110; // type:object size:0xA data:string +lbl_8051B11C = .data:0x8051B11C; // type:object size:0x1E data:string +lbl_8051B13C = .data:0x8051B13C; // type:object size:0xF data:string +lbl_8051B14C = .data:0x8051B14C; // type:object size:0x1A data:string +lbl_8051B168 = .data:0x8051B168; // type:object size:0x9 data:string +lbl_8051B174 = .data:0x8051B174; // type:object size:0x1B data:string lbl_8051B190 = .data:0x8051B190; // type:object size:0x10 data:string -lbl_8051B1A0 = .data:0x8051B1A0; // type:object size:0x10 -lbl_8051B1B0 = .data:0x8051B1B0; // type:object size:0xC +lbl_8051B1A0 = .data:0x8051B1A0; // type:object size:0xF data:string +lbl_8051B1B0 = .data:0x8051B1B0; // type:object size:0xA data:string lbl_8051B1BC = .data:0x8051B1BC; // type:object size:0x14 data:string lbl_8051B1D0 = .data:0x8051B1D0; // type:object size:0x20 data:string -lbl_8051B1F0 = .data:0x8051B1F0; // type:object size:0x14 -lbl_8051B204 = .data:0x8051B204; // type:object size:0x20 -lbl_8051B224 = .data:0x8051B224; // type:object size:0xC -lbl_8051B230 = .data:0x8051B230; // type:object size:0x24 -lbl_8051B254 = .data:0x8051B254; // type:object size:0xC -lbl_8051B260 = .data:0x8051B260; // type:object size:0x1C -lbl_8051B27C = .data:0x8051B27C; // type:object size:0x20 +lbl_8051B1F0 = .data:0x8051B1F0; // type:object size:0x11 data:string +lbl_8051B204 = .data:0x8051B204; // type:object size:0x1F data:string +lbl_8051B224 = .data:0x8051B224; // type:object size:0xA data:string +lbl_8051B230 = .data:0x8051B230; // type:object size:0x21 data:string +lbl_8051B254 = .data:0x8051B254; // type:object size:0xB data:string +lbl_8051B260 = .data:0x8051B260; // type:object size:0x19 data:string +lbl_8051B27C = .data:0x8051B27C; // type:object size:0x1E data:string lbl_8051B29C = .data:0x8051B29C; // type:object size:0x1C data:string -lbl_8051B2B8 = .data:0x8051B2B8; // type:object size:0x1C -lbl_8051B2D4 = .data:0x8051B2D4; // type:object size:0x20 -lbl_8051B2F4 = .data:0x8051B2F4; // type:object size:0x1C -lbl_8051B310 = .data:0x8051B310; // type:object size:0x1C -lbl_8051B32C = .data:0x8051B32C; // type:object size:0xC +lbl_8051B2B8 = .data:0x8051B2B8; // type:object size:0x1A data:string +lbl_8051B2D4 = .data:0x8051B2D4; // type:object size:0x1E data:string +lbl_8051B2F4 = .data:0x8051B2F4; // type:object size:0x1A data:string +lbl_8051B310 = .data:0x8051B310; // type:object size:0x1B data:string +lbl_8051B32C = .data:0x8051B32C; // type:object size:0xB data:string lbl_8051B338 = .data:0x8051B338; // type:object size:0x14 data:string jumptable_8051B34C = .data:0x8051B34C; // type:object size:0x54 scope:local -lbl_8051B3A0 = .data:0x8051B3A0; // type:object size:0x1C -lbl_8051B3BC = .data:0x8051B3BC; // type:object size:0x20 +lbl_8051B3A0 = .data:0x8051B3A0; // type:object size:0x19 data:string +lbl_8051B3BC = .data:0x8051B3BC; // type:object size:0x1E data:string lbl_8051B3DC = .data:0x8051B3DC; // type:object size:0x1C data:string -lbl_8051B3F8 = .data:0x8051B3F8; // type:object size:0xC +lbl_8051B3F8 = .data:0x8051B3F8; // type:object size:0xA data:string lbl_8051B404 = .data:0x8051B404; // type:object size:0x14 data:string -__vt__20dLytCommonIconItem_c = .data:0x8051B418; // type:object size:0x154 +__vt__20dLytCommonIconItem_c = .data:0x8051B418; // type:object size:0x34 __vt__35sFStateID_c<20dLytCommonIconItem_c> = .data:0x8051B56C; // type:object size:0x34 lbl_8051B5A0 = .data:0x8051B5A0; // type:object size:0x18 lbl_8051B5B8 = .data:0x8051B5B8; // type:object size:0xC @@ -38187,9 +38187,9 @@ lbl_80572538 = .sdata:0x80572538; // type:object size:0x4 data:4byte lbl_8057253C = .sdata:0x8057253C; // type:object size:0xC lbl_80572548 = .sdata:0x80572548; // type:object size:0x8 data:4byte lbl_80572550 = .sdata:0x80572550; // type:object size:0x8 data:4byte -lbl_80572558 = .sdata:0x80572558; // type:object size:0x8 data:4byte -lbl_80572560 = .sdata:0x80572560; // type:object size:0x4 data:4byte -lbl_80572564 = .sdata:0x80572564; // type:object size:0xC +part1TextBoxes = .sdata:0x80572558; // type:object size:0x8 data:4byte +part1Bounding = .sdata:0x80572560; // type:object size:0x4 data:4byte +lbl_80572564 = .sdata:0x80572564; // type:object size:0x6 data:wstring lbl_80572570 = .sdata:0x80572570; // type:object size:0x8 data:4byte lbl_80572578 = .sdata:0x80572578; // type:object size:0x4 data:4byte lbl_8057257C = .sdata:0x8057257C; // type:object size:0x4 data:4byte @@ -48802,7 +48802,11 @@ LytDoButton__STATE_WAIT = .bss:0x805ACF08; // type:object size:0x40 data:4byte LytDoButton__STATE_OUT = .bss:0x805ACF48; // type:object size:0x30 data:4byte lbl_805ACF78 = .bss:0x805ACF78; // type:object size:0x10 lbl_805ACF88 = .bss:0x805ACF88; // type:object size:0x100 -lbl_805AD088 = .bss:0x805AD088; // type:object size:0x100 +lbl_805AD088 = .bss:0x805AD088; // type:object size:0xC +StateID_None__20dLytCommonIconItem_c = .bss:0x805AD098; // type:object size:0x30 +StateID_In__20dLytCommonIconItem_c = .bss:0x805AD0D8; // type:object size:0x30 +StateID_Wait__20dLytCommonIconItem_c = .bss:0x805AD118; // type:object size:0x30 +StateID_Out__20dLytCommonIconItem_c = .bss:0x805AD158; // type:object size:0x30 lbl_805AD188 = .bss:0x805AD188; // type:object size:0x28 LytMsgWindow__STATE_INVISIBLE = .bss:0x805AD1B0; // type:object size:0x80 data:4byte LytMsgWindow__STATE_OUTPUT_TEXT = .bss:0x805AD230; // type:object size:0x40 data:4byte diff --git a/configure.py b/configure.py index e295fb6b..eff63851 100644 --- a/configure.py +++ b/configure.py @@ -402,7 +402,7 @@ config.libs = [ Object(NonMatching, "d/lyt/meter/d_lyt_meter_shield_gauge.cpp"), Object(NonMatching, "d/lyt/d_lyt_do_button.cpp"), Object(NonMatching, "d/lyt/d_lyt_common_icon_material.cpp"), - Object(NonMatching, "d/lyt/d_lyt_common_icon_item.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"), diff --git a/include/d/lyt/d2d.h b/include/d/lyt/d2d.h index 83482558..a1015f1f 100644 --- a/include/d/lyt/d2d.h +++ b/include/d/lyt/d2d.h @@ -168,6 +168,9 @@ public: u8 field_0x05; }; +#define ANMGROUP_FLAG_BOUND 1 +#define ANMGROUP_FLAG_ENABLE 2 + struct AnmGroupBase_c { AnmGroupBase_c(m2d::FrameCtrl_c *frameCtrl) : field_0x04(nullptr), mFlags(0), mpFrameCtrl(frameCtrl) {} virtual ~AnmGroupBase_c() {} @@ -201,6 +204,11 @@ struct AnmGroupBase_c { syncAnmFrame(); } + inline void setFrameRatio(f32 frame) { + f32 end = getEndFrameRaw() - 1.0f; + setFrame(end * frame); + } + inline f32 getEndFrameRaw() const { return mpFrameCtrl->getEndFrameRaw(); } @@ -209,11 +217,6 @@ struct AnmGroupBase_c { return mpFrameCtrl->getFrame(); } - inline void setToStart() { - mpFrameCtrl->setToStart(); - syncAnmFrame(); - } - inline void setToEnd() { mpFrameCtrl->setToEnd(); syncAnmFrame(); @@ -225,11 +228,10 @@ struct AnmGroupBase_c { inline void setRate(f32 rate) { mpFrameCtrl->setRate(rate); - setAnimEnable(true); } - inline bool isFlag2() const { - return (mFlags & 2) != 0; + inline bool isEnabled() const { + return (mFlags & ANMGROUP_FLAG_ENABLE) != 0; } inline bool isStop() const { @@ -240,14 +242,26 @@ struct AnmGroupBase_c { return mpFrameCtrl->isStop2(); } - inline void playBackwardsOnce() { + inline void setBackwardsOnce() { mpFrameCtrl->setFlags(FLAG_NO_LOOP | FLAG_BACKWARDS); - setToEnd2(); } - inline void playLoop() { + inline bool isPlayingBackwardsOnce() const { + return mpFrameCtrl->getFlags() == (FLAG_NO_LOOP | FLAG_BACKWARDS); + } + + inline bool isPlayingForwardsOnce() const { + return mpFrameCtrl->getFlags() == FLAG_NO_LOOP; + } + + inline void setForwardOnce() { mpFrameCtrl->setFlags(FLAG_NO_LOOP); - setToEnd2(); + } + + inline void setToStart() { + m2d::FrameCtrl_c &ctrl = *mpFrameCtrl; + ctrl.setCurrFrame(ctrl.getStartFrame()); + syncAnmFrame(); } inline void setToEnd2() { diff --git a/include/d/lyt/d_lyt_common_icon_item.h b/include/d/lyt/d_lyt_common_icon_item.h index 3413f15a..f166845c 100644 --- a/include/d/lyt/d_lyt_common_icon_item.h +++ b/include/d/lyt/d_lyt_common_icon_item.h @@ -1,76 +1,275 @@ #ifndef D_LYT_COMMON_ICON_ITEM_H #define D_LYT_COMMON_ICON_ITEM_H +#include "common.h" #include "d/lyt/d2d.h" #include "d/lyt/d_structd.h" +#include "d/lyt/d_textbox.h" +#include "nw4r/lyt/lyt_bounding.h" #include "s/s_State.hpp" -#include "s/s_StateMgr.hpp" -class dLytCommonIconItemPart1_c { +class dLytCommonIconItemPartBase_c { +public: + virtual ~dLytCommonIconItemPartBase_c() {} + virtual nw4r::lyt::Pane *getPane() = 0; + virtual d2d::LytBase_c *getLyt() = 0; + virtual const char *getName() const = 0; +}; + +/** B-Wheel item */ +class dLytCommonIconItemPart1_c : public dLytCommonIconItemPartBase_c { public: dLytCommonIconItemPart1_c() - : field_0x2D4(0), field_0x2D5(0), field_0x2FC(0), field_0x2FD(0), field_0x2FE(0), field_0x2FF(0) {} + : field_0x28C(0), mColor(0), field_0x2B4(false), mHasNumber(false), mSize(false), mBocoburinLocked(false) {} virtual ~dLytCommonIconItemPart1_c() {} - d2d::dLytSub lyt; - d2d::AnmGroup_c mAnm[7]; - u32 unk[0x3]; - d2d::dLytStructD structD; - u8 field_0x2D4; - u8 field_0x2D5; - u8 field_0x2D6[0x2FC - 0x2D6]; - u8 field_0x2FC; - u8 field_0x2FD; - u8 field_0x2FE; - u8 field_0x2FF; + 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(); + } + + bool build(d2d::ResAccIf_c *resAcc); + bool remove(); + bool execute(); + void reset(); + + bool isCursorOver() const; + void setNumber(s32 number); + void setVisible(bool visible); + void setItem(u8 item); + void setHasNumber(bool hasNumber) { + mHasNumber = hasNumber; + } + void setUnk(bool unk) { + field_0x2B4 = unk; + } + void setSize(bool size) { + mSize = size; + } + void setBocoburinLocked(bool locked) { + mBocoburinLocked = locked; + } + void setNumberColor(u8 color); + void setOn(); + void setOff(); + void startDecide(); + bool isDoneDeciding() const; + +private: + void realizeUnk(); + void realizeNumber(); + void realizeSize(); + void realizeBocoburin(); + void realizeItem(u8 item); + + /* 0x004 */ d2d::dLytSub mLyt; + /* 0x098 */ d2d::AnmGroup_c mAnm[7]; + /* 0x258 */ dTextBox_c *mpTextBoxes[2]; + /* 0x260 */ nw4r::lyt::Bounding *mpBounding; + /* 0x264 */ d2d::dLytStructD mStructD; + /* 0x28C */ u8 field_0x28C; + /* 0x28D */ u8 mColor; + /* 0x28E */ u8 _0x28E[0x294 - 0x28E]; + /* 0x294 */ wchar_t mNumberBuf[16]; + /* 0x2B4 */ bool field_0x2B4; + /* 0x2B5 */ bool mHasNumber; + /* 0x2B6 */ bool mSize; + /* 0x2B7 */ bool mBocoburinLocked; }; -class dLytCommonIconItemPart2_c { +/** Pouch item */ +class dLytCommonIconItemPart2_c : public dLytCommonIconItemPartBase_c { public: dLytCommonIconItemPart2_c() - : field_0x64C(0), field_0x64D(0), field_0x674(0), field_0x675(0), field_0x676(0), field_0x677(0), - field_0x678(1), field_0x67C(0.0f) {} + : mItem(0), + mColor(0), + field_0x374(0), + mHasNumber(false), + mSize(false), + mBocoburinLocked(false), + mOnOff(true), + mDurability(0.0f) {} virtual ~dLytCommonIconItemPart2_c() {} - d2d::dLytSub lyt; - d2d::AnmGroup_c mAnm[10]; - u32 unk[0x3]; - d2d::dLytStructD structD; - u8 field_0x64C; - u8 field_0x64D; - u8 field_0x64E[0x674 - 0x64E]; - u8 field_0x674; - u8 field_0x675; - u8 field_0x676; - u8 field_0x677; - u8 field_0x678; - f32 field_0x67C; + 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(); + } + + bool build(d2d::ResAccIf_c *resAcc); + bool remove(); + bool execute(); + void reset(); + + bool isCursorOver() const; + void setNumber(s32 number); + u8 getShieldType() const; + void setVisible(bool visible); + void setItem(u8 item); + void setHasNumber(bool hasNumber) { + mHasNumber = hasNumber; + } + void setUnk(bool unk) { + field_0x374 = unk; + } + void setSize(bool size) { + mSize = size; + } + void setBocoburinLocked(bool locked) { + mBocoburinLocked = locked; + } + void setNumberColor(u8 color); + void setOn(); + void setOff(); + void startDecide(); + bool isDoneDeciding() const; + void setShieldOnOff(bool onOff); + + void setDurability(f32 durability); + +private: + void realizeUnk(); + void realizeNumber(); + void realizeSize(); + void realizeBocoburin(); + void realizeItem(u8 item); + void realizeShieldOnOff(bool onOff); + void realizeShieldType(u8 type); + + /* 0x004 */ d2d::dLytSub mLyt; + /* 0x098 */ d2d::AnmGroup_c mAnm[10]; + /* 0x318 */ dTextBox_c *mpTextBoxes[2]; + /* 0x320 */ nw4r::lyt::Bounding *mpBounding; + /* 0x324 */ d2d::dLytStructD structD; + /* 0x34C */ u8 mItem; + /* 0x34D */ u8 mColor; + /* 0x350 */ u32 mNumber; + /* 0x354 */ wchar_t mNumberBuf[16]; + /* 0x374 */ u8 field_0x374; + /* 0x375 */ bool mHasNumber; + /* 0x376 */ bool mSize; + /* 0x377 */ bool mBocoburinLocked; + /* 0x378 */ bool mOnOff; + /* 0x37C */ f32 mDurability; }; -class dLytCommonIconItemPart3_c { +/** Dowsing "item" */ +class dLytCommonIconItemPart3_c : public dLytCommonIconItemPartBase_c { public: - dLytCommonIconItemPart3_c() : field_0x804(0), field_0x805(0), field_0x806(0) {} + dLytCommonIconItemPart3_c() : mItem(0), mSize(false), mBocoburinLocked(false) {} virtual ~dLytCommonIconItemPart3_c() {} - d2d::dLytSub lyt; - d2d::AnmGroup_c mAnm[3]; - u32 unk; + 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(); + } + + bool build(d2d::ResAccIf_c *resAcc); + bool remove(); + bool execute(); + void reset(); + + void setSize(bool size) { + mSize = size; + } + void setBocoburinLocked(bool locked) { + mBocoburinLocked = locked; + } + + bool isCursorOver() const; + void setVisible(bool visible); + void setItem(u8 item); + +private: + void realizeSize(); + void realizeBocoburin(); + void realizeItem(u8 item); + + /* 0x004 */ d2d::dLytSub mLyt; + /* 0x098 */ d2d::AnmGroup_c mAnm[3]; + /* 0x158 */ nw4r::lyt::Bounding *mpBounding; d2d::dLytStructD structD; - u8 field_0x804; - u8 field_0x805; - u8 field_0x806; + // TODO wrong names/offsets because these are relative to main class + /* 0x184 */ u8 mItem; + /* 0x185 */ bool mSize; + /* 0x186 */ bool mBocoburinLocked; }; +/** + * A common item component used in various UI screens like the item check, scrap shop, + * pause menu wheels, B item preview in the top right HUD corner. + * NOT used for the HUD wheels. + */ class dLytCommonIconItem_c : public d2d::dSubPane { public: - dLytCommonIconItem_c() : mStateMgr(*this, sStateID::null), unk(3) {} + dLytCommonIconItem_c() : mStateMgr(*this, sStateID::null), mPart(3) {} ~dLytCommonIconItem_c() {} 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 { + switch (mPart) { + case 0: return mPart1.getPane(); + case 1: return mPart2.getPane(); + case 2: return mPart3.getPane(); + default: return nullptr; + } + } + virtual d2d::LytBase_c *getLyt() override { + switch (mPart) { + case 0: return mPart1.getLyt(); + case 1: return mPart2.getLyt(); + case 2: return mPart3.getLyt(); + default: return nullptr; + } + } + virtual const char *getName() const override { + switch (mPart) { + case 0: return mPart1.getName(); + case 1: return mPart2.getName(); + case 2: return mPart3.getName(); + default: return nullptr; + } + } - void init(void *, u8); + bool build(d2d::ResAccIf_c *resAcc, u8 variant); + + void reset(); + void setNumber(s32 number); + bool isCursorOver() const; + void setVisible(bool visible); + void setUnk(bool unk); + void setSize(bool size); + void setBocoburinLocked(bool locked); + void setHasNumber(bool hasNumber); + void setItem(u8 item); + /** 0 -> golden, 1 -> red, 2 -> green */ + void setNumberColor(u8 color); + /** Increases item size, e.g. when hovering over item in Item Check */ + void setOn(); + /** Restores item size to normal */ + void setOff(); + + /** The "decide" animation in the scrap shop makes the selected item flash for a + short time before showing the upgrade screen */ + void startDecide(); + bool isDoneDeciding() const; + + void setShieldOnOff(bool onOff); + void setShieldDurability(f32 durability); private: STATE_FUNC_DECLARE(dLytCommonIconItem_c, None); @@ -78,11 +277,11 @@ private: STATE_FUNC_DECLARE(dLytCommonIconItem_c, Wait); STATE_FUNC_DECLARE(dLytCommonIconItem_c, Out); - UI_STATE_MGR_DECLARE(dLytCommonIconItem_c); - u8 unk; - dLytCommonIconItemPart1_c part1; - dLytCommonIconItemPart2_c part2; - dLytCommonIconItemPart3_c part3; + /* 0x008 */ UI_STATE_MGR_DECLARE(dLytCommonIconItem_c); + /* 0x044 */ u8 mPart; + /* 0x048 */ dLytCommonIconItemPart1_c mPart1; + /* 0x300 */ dLytCommonIconItemPart2_c mPart2; + /* 0x680 */ dLytCommonIconItemPart3_c mPart3; }; #endif diff --git a/include/d/lyt/d_structd.h b/include/d/lyt/d_structd.h index bf427446..549c6883 100644 --- a/include/d/lyt/d_structd.h +++ b/include/d/lyt/d_structd.h @@ -58,6 +58,18 @@ struct dLytStructDInArray { u16 field_0x0E; }; +/** + * This whole file setup is from the days where I had no idea how this game's UI code works + * and I simply started naming the structs that appeared "StructA" and so on. + * + * The classes in this file are related to cursor pointing. UI code will generally + * contain one or more "dLytStructD", give it an nw4r::lyt::Pane, register it in the + * "dLytStructDList", and then ask the dCsBase_c which "dLytStructD" it's pointing at + * to compare it to the own "dLytStructD". + * + * There's a base class! dLytStructD will report its type as 'lyt ' but there also + * is a 'cc ' type used by the dStageMgr_c. d2d may not be a good namespace here! + */ struct dLytStructD : dLytStructD_Base { dLytStructD() : field_0x18(0), field_0x1C(nullptr), field_0x20(0), field_0x22(0), field_0x23(0), field_0x24(nullptr) {} diff --git a/include/d/lyt/d_textbox.h b/include/d/lyt/d_textbox.h index 49afd74c..b3a69449 100644 --- a/include/d/lyt/d_textbox.h +++ b/include/d/lyt/d_textbox.h @@ -38,6 +38,8 @@ public: // TODO } + void fn_800AF930(const wchar_t *); + // @bug: This does not implement UT's RTTI, so casts to dTextBox_c will // succeed even if all you have is a lyt::TextBox private: diff --git a/include/m/m2d.h b/include/m/m2d.h index 4cb163bc..cf0936e1 100644 --- a/include/m/m2d.h +++ b/include/m/m2d.h @@ -53,8 +53,8 @@ public: bool isStop() const; bool isStop2() const; + f32 getStartFrame() const; f32 getEndFrame() const; - f32 getEndFrame2() const; inline f32 getFrame() const { return mCurrFrame; @@ -68,8 +68,8 @@ public: mFlags = flags; } - inline void setToStart() { - setFrame(0.0f); + inline u8 getFlags() const { + return mFlags; } inline bool isEndReached() const { diff --git a/src/d/d_cs_game.cpp b/src/d/d_cs_game.cpp index 21ebf775..3ed7ea18 100644 --- a/src/d/d_cs_game.cpp +++ b/src/d/d_cs_game.cpp @@ -362,7 +362,7 @@ void dCsGame_c::lytItemCursor_c::lytBowCsr_c::initializeState_AimStart() { mAnm[MAIN_ANIM_ARROW_ON].setFrame(0.0f); } void dCsGame_c::lytItemCursor_c::lytBowCsr_c::executeState_AimStart() { - if (mAnm[MAIN_ANIM_ARROW_ON].isFlag2()) { + if (mAnm[MAIN_ANIM_ARROW_ON].isEnabled()) { mAnm[MAIN_ANIM_ARROW_ON].play(); if (mAnm[MAIN_ANIM_ARROW_ON].isEndReached()) { mpLyt->calc(); @@ -404,7 +404,7 @@ void dCsGame_c::lytItemCursor_c::lytBowCsr_c::initializeState_Charge() { } void dCsGame_c::lytItemCursor_c::lytBowCsr_c::executeState_Charge() { if (field_0x54 >= 1.0f) { - if (!mAnm[MAIN_ANIM_ARROW_PEAK].isFlag2()) { + if (!mAnm[MAIN_ANIM_ARROW_PEAK].isEnabled()) { mAnm[MAIN_ANIM_ARROW_PEAK].setAnimEnable(true); mAnm[MAIN_ANIM_ARROW_PEAK].setFrame(0.0f); SmallSoundManager::GetInstance()->playSound(SE_S_BW_ALIGN_SIGHT); @@ -521,7 +521,7 @@ void dCsGame_c::lytItemCursor_c::lytPachinkoCsr_c::executeState_ChargeFull() { if (field_0x50) { if (mAnm[MAIN_ANIM_SLING_PEAK].isEndReached()) { mpLyt->calc(); - } else if (mAnm[MAIN_ANIM_SLING_PEAK].isFlag2()) { + } else if (mAnm[MAIN_ANIM_SLING_PEAK].isEnabled()) { mAnm[MAIN_ANIM_SLING_PEAK].play(); } } else { @@ -555,7 +555,7 @@ void dCsGame_c::lytItemCursor_c::lytVacuumCsr_c::executeState_Normal() { if (field_0x5C) { mAnm[MAIN_ANIM_VACUUM_LOCK].setAnimEnable(true); mAnm[MAIN_ANIM_VACUUM_LOCK].setForward(); - mAnm[MAIN_ANIM_VACUUM_LOCK].setToEnd2(); + mAnm[MAIN_ANIM_VACUUM_LOCK].setToStart(); mAnm[MAIN_ANIM_LOOP].setAnimEnable(false); mStateMgr.changeState(StateID_ToLock); } else { @@ -583,7 +583,7 @@ void dCsGame_c::lytItemCursor_c::lytVacuumCsr_c::executeState_Lock() { if (!field_0x5C) { mAnm[MAIN_ANIM_VACUUM_LOCK].setAnimEnable(true); mAnm[MAIN_ANIM_VACUUM_LOCK].setBackward(); - mAnm[MAIN_ANIM_VACUUM_LOCK].setToEnd2(); + mAnm[MAIN_ANIM_VACUUM_LOCK].setToStart(); mAnm[MAIN_ANIM_LOCK_LOOP].setAnimEnable(false); mStateMgr.changeState(StateID_ToNormal); } else { diff --git a/src/d/lyt/d2d.cpp b/src/d/lyt/d2d.cpp index 4a550e83..41551895 100644 --- a/src/d/lyt/d2d.cpp +++ b/src/d/lyt/d2d.cpp @@ -441,8 +441,7 @@ void LytBase_c::setPropertiesRecursive(nw4r::lyt::Pane *pane, f32 posX, f32 posY } } -extern "C" const char *fn_801B2600(const char *); -extern "C" void fn_800AF930(dTextBox_c *, const char *); +extern "C" const wchar_t *fn_801B2600(const char *); extern "C" void fn_800B0F40(dTextBox_c *); void LytBase_c::setProperties(nw4r::lyt::Pane *pane, f32 posX, f32 posY, f32 scale, f32 spaceX, f32 spaceY) { @@ -612,7 +611,7 @@ bool LytBase_c::fn_800ABCE0( return false; } - fn_800AF930(textbox1, fn_801B2600(text)); + textbox1->fn_800AF930(fn_801B2600(text)); return true; } @@ -823,11 +822,11 @@ bool AnmGroupBase_c::setDirection(bool b) { } nw4r::lyt::BindAnimation(mpGroup, anmTransform, false, b); - mFlags |= 1; + mFlags |= ANMGROUP_FLAG_BOUND; if (b) { - mFlags = (mFlags & ~2); + mFlags = (mFlags & ~ANMGROUP_FLAG_ENABLE); } else { - mFlags |= 2; + mFlags |= ANMGROUP_FLAG_ENABLE; } u32 flags = 1; @@ -852,7 +851,7 @@ bool AnmGroupBase_c::unbind() { } nw4r::lyt::UnbindAnimation(group, anmTransform, mAnmResource.IsDescendingBind()); - mFlags = (mFlags & ~1); + mFlags = (mFlags & ~ANMGROUP_FLAG_BOUND); return true; } @@ -865,9 +864,9 @@ void AnmGroupBase_c::setAnimEnable(bool b) { nw4r::lyt::AnimTransform *anmTransform = mpAnmTransform; nw4r::lyt::SetAnimationEnable(group, anmTransform, b, mAnmResource.IsDescendingBind()); if (b) { - mFlags |= 2; + mFlags |= ANMGROUP_FLAG_ENABLE; } else { - mFlags = mFlags & ~2; + mFlags = mFlags & ~ANMGROUP_FLAG_ENABLE; } } diff --git a/src/d/lyt/d_lyt_area_caption.cpp b/src/d/lyt/d_lyt_area_caption.cpp index a6cc41d2..e9d5eaf5 100644 --- a/src/d/lyt/d_lyt_area_caption.cpp +++ b/src/d/lyt/d_lyt_area_caption.cpp @@ -89,7 +89,7 @@ bool dLytAreaCaptionParts_c::update() { mStateMgr.executeState(); if (*mStateMgr.getStateID() != StateID_Wait) { for (int i = 0; i < 4; i++) { - if (mAnmCtrlInUse[i] && mAnmGroups[i].isFlag2()) { + if (mAnmCtrlInUse[i] && mAnmGroups[i].isEnabled()) { mAnmGroups[i].play(); } } diff --git a/src/d/lyt/d_lyt_battery.cpp b/src/d/lyt/d_lyt_battery.cpp index 8fd26006..1b1f5f16 100644 --- a/src/d/lyt/d_lyt_battery.cpp +++ b/src/d/lyt/d_lyt_battery.cpp @@ -65,7 +65,7 @@ bool dLytBattery_c::doDraw() { mStateMgr.executeState(); if (*mStateMgr.getStateID() != StateID_Off) { for (int i = 0; i < 4; i++) { - if (mAnmGroups[i].isFlag2()) { + if (mAnmGroups[i].isEnabled()) { mAnmGroups[i].play(); } } diff --git a/src/d/lyt/d_lyt_bird_gauge.cpp b/src/d/lyt/d_lyt_bird_gauge.cpp index 871ddc31..5fd5337a 100644 --- a/src/d/lyt/d_lyt_bird_gauge.cpp +++ b/src/d/lyt/d_lyt_bird_gauge.cpp @@ -137,7 +137,7 @@ bool dLytBirdGaugeMain_c::build(d2d::ResAccIf_c *resAcc) { bool dLytBirdGaugeMain_c::execute() { mStateMgr.executeState(); for (int i = 0; i < LYT_SKY_GAUGE_MAIN_NUM_ANIMS; i++) { - if (mAnmGroups[i].isFlag2()) { + if (mAnmGroups[i].isEnabled()) { mAnmGroups[i].play(); } } diff --git a/src/d/lyt/d_lyt_common_icon_item.cpp b/src/d/lyt/d_lyt_common_icon_item.cpp index 54e3d1da..379bdb3a 100644 --- a/src/d/lyt/d_lyt_common_icon_item.cpp +++ b/src/d/lyt/d_lyt_common_icon_item.cpp @@ -1,6 +1,892 @@ #include "d/lyt/d_lyt_common_icon_item.h" +#include "common.h" +#include "d/d_cs_base.h" +#include "d/lyt/d_structd.h" + +#include + STATE_DEFINE(dLytCommonIconItem_c, None); STATE_DEFINE(dLytCommonIconItem_c, In); STATE_DEFINE(dLytCommonIconItem_c, Wait); STATE_DEFINE(dLytCommonIconItem_c, Out); + +static const d2d::LytBrlanMapping brlanMapPart1[] = { + { "commonIcon_02_size.brlan", "G_size_00"}, + {"commonIcon_02_bocoburin.brlan", "G_bocoburin_00"}, + { "commonIcon_02_numberV.brlan", "G_numberV_00"}, + { "commonIcon_02_item.brlan", "G_icon_00"}, + {"commonIcon_02_textColor.brlan", "G_textColor_00"}, + { "commonIcon_02_onOff.brlan", "G_btn_00"}, + { "commonIcon_02_decide.brlan", "G_btn_00"}, +}; + +// S = shadow +static const char *part1TextBoxes[] = { + "T_comNumberS_01", + "T_comNumber_01", +}; + +static const char *part1Bounding = "B_item_00"; + +#define LYT_COMMON_ICON_PART_1_ANIM_SIZE 0 +#define LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN 1 +#define LYT_COMMON_ICON_PART_1_ANIM_NUMBERV 2 +#define LYT_COMMON_ICON_PART_1_ANIM_ICON 3 +#define LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR 4 +#define LYT_COMMON_ICON_PART_1_ANIM_ONOFF 5 +#define LYT_COMMON_ICON_PART_1_ANIM_DECIDE 6 + +#define LYT_COMMON_ICON_PART_1_NUM_ANIMS 7 + +bool dLytCommonIconItemPart1_c::build(d2d::ResAccIf_c *resAcc) { + mLyt.setResAcc(resAcc); + mLyt.build("commonIcon_02.brlyt", nullptr); + for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) { + mAnm[i].init(brlanMapPart1[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart1[i].mName); + mAnm[i].setDirection(false); + mAnm[i].setRate(1.0f); + } + + for (int i = 0; i < 2; i++) { + mpTextBoxes[i] = mLyt.getTextBox(part1TextBoxes[i]); + } + + mpBounding = mLyt.findBounding(part1Bounding); + reset(); + return true; +} + +bool dLytCommonIconItemPart1_c::remove() { + for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) { + mAnm[i].unbind(); + mAnm[i].afterUnbind(); + } + return true; +} + +bool dLytCommonIconItemPart1_c::execute() { + if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isEnabled() && mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isStop2()) { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(false); + } + + if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isEnabled() && mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isStop2()) { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(false); + } + + for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) { + if (mAnm[i].isEnabled()) { + mAnm[i].play(); + } + } + return true; +} + +void dLytCommonIconItemPart1_c::reset() { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(1.0f); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setBackwardsOnce(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setToEnd2(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setForwardOnce(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setToEnd2(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(true); + + mLyt.calc(); + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(false); +} + +void dLytCommonIconItemPart1_c::setItem(u8 item) { + realizeUnk(); + realizeNumber(); + realizeSize(); + realizeBocoburin(); + realizeItem(item); +} + +void dLytCommonIconItemPart1_c::realizeUnk() { + // Probably related to field_0x2B4 +} + +void dLytCommonIconItemPart1_c::realizeNumber() { + if (mHasNumber) { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(1.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(0.0f); + } + mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(false); +} + +void dLytCommonIconItemPart1_c::realizeSize() { + if (mSize) { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(0.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(1.0f); + } + mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(false); +} + +void dLytCommonIconItemPart1_c::realizeBocoburin() { + if (mBocoburinLocked) { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(1.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(0.0f); + } + mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(false); +} + +void dLytCommonIconItemPart1_c::realizeItem(u8 item) { + // Inline? + if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + field_0x28C = 0; + } else { + field_0x28C = item; + } + + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setFrame(field_0x28C); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(false); + mpBounding->SetVisible(true); +} + +void dLytCommonIconItemPart1_c::setNumber(s32 number) { + std::memset(mNumberBuf, 0, sizeof(mNumberBuf)); + swprintf(mNumberBuf, ARRAY_LENGTH(mNumberBuf), L"%d", number); + for (int i = 0; i < 2; i++) { + mpTextBoxes[i]->fn_800AF930(mNumberBuf); + } +} + +void dLytCommonIconItemPart1_c::setNumberColor(u8 color) { + mColor = color; + switch (mColor) { + case 0: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); break; + case 1: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(1.0f); break; + case 2: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(2.0f); break; + } + mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false); +} + +void dLytCommonIconItemPart1_c::setOn() { + if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isPlayingBackwardsOnce()) { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setForwardOnce(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true); + } +} + +void dLytCommonIconItemPart1_c::setOff() { + if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isPlayingForwardsOnce()) { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setBackwardsOnce(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true); + } +} + +void dLytCommonIconItemPart1_c::startDecide() { + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setForwardOnce(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setToStart(); + mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(true); +} + +bool dLytCommonIconItemPart1_c::isDoneDeciding() const { + return mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isStop2(); +} + +bool dLytCommonIconItemPart1_c::isCursorOver() const { + d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk(); + if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) { + return true; + } + return false; +} + +void dLytCommonIconItemPart1_c::setVisible(bool visible) { + if (visible) { + mpBounding->SetVisible(true); + } else { + mpBounding->SetVisible(false); + } +} + +static const d2d::LytBrlanMapping brlanMapPart2[] = { + { "commonIcon_03_shieldOnOff.brlan", "G_shiledOnOff_00"}, + { "commonIcon_03_shieldType.brlan", "G_type_00"}, + {"commonIcon_03_shieldUpDown.brlan", "G_gauge_00"}, + { "commonIcon_03_size.brlan", "G_size_00"}, + { "commonIcon_03_bocoburin.brlan", "G_bocoburin_00"}, + { "commonIcon_03_numberV.brlan", "G_numberV_00"}, + { "commonIcon_03_poach.brlan", "G_icon_00"}, + { "commonIcon_03_textColor.brlan", "G_textColor_00"}, + { "commonIcon_03_onOff.brlan", "G_btn_00"}, + { "commonIcon_03_decide.brlan", "G_btn_00"}, +}; + +static const char *part2TextBoxes[] = { + "T_comNumberS_01", + "T_comNumber_01", +}; + +static const char *part2Bounding = "B_poach_00"; + +#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF 0 +#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE 1 +#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE 2 +#define LYT_COMMON_ICON_PART_2_ANIM_SIZE 3 +#define LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN 4 +#define LYT_COMMON_ICON_PART_2_ANIM_NUMBERV 5 +#define LYT_COMMON_ICON_PART_2_ANIM_ICON 6 +#define LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR 7 +#define LYT_COMMON_ICON_PART_2_ANIM_ONOFF 8 +#define LYT_COMMON_ICON_PART_2_ANIM_DECIDE 9 + +#define LYT_COMMON_ICON_PART_2_NUM_ANIMS 10 + +bool dLytCommonIconItemPart2_c::build(d2d::ResAccIf_c *resAcc) { + mLyt.setResAcc(resAcc); + mLyt.build("commonIcon_03.brlyt", nullptr); + for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) { + mAnm[i].init(brlanMapPart2[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart2[i].mName); + mAnm[i].setDirection(false); + mAnm[i].setRate(1.0f); + } + + for (int i = 0; i < 2; i++) { + mpTextBoxes[i] = mLyt.getTextBox(part2TextBoxes[i]); + } + + mpBounding = mLyt.findBounding(part2Bounding); + reset(); + return true; +} + +bool dLytCommonIconItemPart2_c::remove() { + for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) { + mAnm[i].unbind(); + mAnm[i].afterUnbind(); + } + return true; +} + +bool dLytCommonIconItemPart2_c::execute() { + if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isEnabled() && mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isStop2()) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(false); + } + + if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isEnabled() && mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isStop2()) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(false); + } + + for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) { + if (mAnm[i].isEnabled()) { + mAnm[i].play(); + } + } + return true; +} + +void dLytCommonIconItemPart2_c::reset() { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(1.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setBackwardsOnce(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setToEnd2(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setForwardOnce(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setToEnd2(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(true); + + mLyt.calc(); + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false); +} + +void dLytCommonIconItemPart2_c::setShieldOnOff(bool onOff) { + if (getShieldType() != 4) { + mOnOff = onOff; + realizeShieldOnOff(mOnOff); + } +} + +void dLytCommonIconItemPart2_c::setItem(u8 item) { + if (item == 32) { + return; + } + + u8 mappedItem = item; + realizeUnk(); + if (item == 9) { + if (mNumber == 1) { + mappedItem = 50; + } else if (mNumber == 2) { + mappedItem = 9; + } + mHasNumber = false; + realizeNumber(); + } else if (item == 43) { + if (mNumber == 1) { + mappedItem = 51; + } else if (mNumber == 2) { + mappedItem = 43; + } + mHasNumber = false; + realizeNumber(); + } else { + realizeNumber(); + } + + realizeSize(); + realizeBocoburin(); + realizeItem(mappedItem); + u8 shieldType = getShieldType(); + if (shieldType != 4) { + realizeShieldOnOff(true); + } else { + realizeShieldOnOff(false); + } + + if (shieldType != 4) { + realizeShieldType(shieldType); + setDurability(0.0f); + } +} + +void dLytCommonIconItemPart2_c::realizeUnk() { + // Probably related to field_0x??? +} + +void dLytCommonIconItemPart2_c::realizeNumber() { + if (mHasNumber) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(1.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(0.0f); + } + mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(false); +} + +void dLytCommonIconItemPart2_c::realizeSize() { + if (mSize) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(0.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(1.0f); + } + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(false); +} + +void dLytCommonIconItemPart2_c::realizeBocoburin() { + if (mBocoburinLocked) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(1.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(0.0f); + } + mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(false); +} + +void dLytCommonIconItemPart2_c::realizeItem(u8 item) { + // Inline? + if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + mItem = 0; + } else { + mItem = item; + } + + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setFrame(mItem); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(false); + mpBounding->SetVisible(true); +} + +void dLytCommonIconItemPart2_c::realizeShieldOnOff(bool onOff) { + mOnOff = onOff; + if (onOff) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(1.0f); + } + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false); +} + +u8 dLytCommonIconItemPart2_c::getShieldType() const { + switch (mItem) { + case 2: + case 15: + case 16: return 0; // Wooden Shield + case 3: + case 17: + case 18: return 1; // Iron Shield + case 4: + case 19: + case 20: return 2; // Goddess Shield + case 5: return 3; // Hylia's Shield + default: return 4; + } +} + +void dLytCommonIconItemPart2_c::realizeShieldType(u8 type) { + if (mOnOff) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setFrame(type); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false); + } +} + +void dLytCommonIconItemPart2_c::setNumber(s32 number) { + mNumber = number; + std::memset(mNumberBuf, 0, sizeof(mNumberBuf)); + swprintf(mNumberBuf, ARRAY_LENGTH(mNumberBuf), L"%d", number); + for (int i = 0; i < 2; i++) { + mpTextBoxes[i]->fn_800AF930(mNumberBuf); + } +} + +void dLytCommonIconItemPart2_c::setNumberColor(u8 color) { + mColor = color; + switch (mColor) { + case 0: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); break; + case 1: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(1.0f); break; + case 2: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(2.0f); break; + } + mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false); +} + +void dLytCommonIconItemPart2_c::setOn() { + if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isPlayingBackwardsOnce()) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setForwardOnce(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true); + } +} + +void dLytCommonIconItemPart2_c::setOff() { + if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isPlayingForwardsOnce()) { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setBackwardsOnce(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true); + } +} + +void dLytCommonIconItemPart2_c::startDecide() { + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setForwardOnce(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setToStart(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(true); +} + +bool dLytCommonIconItemPart2_c::isDoneDeciding() const { + return mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isStop2(); +} + +bool dLytCommonIconItemPart2_c::isCursorOver() const { + d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk(); + if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) { + return true; + } + return false; +} + +void dLytCommonIconItemPart2_c::setVisible(bool visible) { + if (visible) { + mpBounding->SetVisible(true); + } else { + mpBounding->SetVisible(false); + } +} + +void dLytCommonIconItemPart2_c::setDurability(f32 durability) { + if (mOnOff) { + mDurability = durability; + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setFrameRatio(durability); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false); + } +} + +static const d2d::LytBrlanMapping brlanMapPart3[] = { + { "commonIcon_04_size.brlan", "G_size_00"}, + {"commonIcon_04_bocoburin.brlan", "G_bocoburin_00"}, + { "commonIcon_04_dauzing.brlan", "G_icon_00"}, +}; + +static const char *part3Bounding = "B_dauz_00"; + +#define LYT_COMMON_ICON_PART_3_ANIM_SIZE 0 +#define LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN 1 +#define LYT_COMMON_ICON_PART_3_ANIM_ICON 2 + +#define LYT_COMMON_ICON_PART_3_NUM_ANIMS 3 + +bool dLytCommonIconItemPart3_c::build(d2d::ResAccIf_c *resAcc) { + mLyt.setResAcc(resAcc); + mLyt.build("commonIcon_04.brlyt", nullptr); + for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) { + mAnm[i].init(brlanMapPart3[i].mFile, resAcc, mLyt.getLayout(), brlanMapPart3[i].mName); + mAnm[i].setDirection(false); + mAnm[i].setRate(1.0f); + } + + mpBounding = mLyt.findBounding(part3Bounding); + reset(); + return true; +} + +bool dLytCommonIconItemPart3_c::remove() { + for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) { + mAnm[i].unbind(); + mAnm[i].afterUnbind(); + } + return true; +} + +bool dLytCommonIconItemPart3_c::execute() { + for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) { + if (mAnm[i].isEnabled()) { + mAnm[i].play(); + } + } + return true; +} + +void dLytCommonIconItemPart3_c::reset() { + mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(1.0f); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(true); + + mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(true); + + mLyt.calc(); + + mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(false); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(false); +} + +void dLytCommonIconItemPart3_c::setItem(u8 item) { + realizeSize(); + realizeBocoburin(); + realizeItem(item); +} + +void dLytCommonIconItemPart3_c::realizeSize() { + if (mSize) { + mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(0.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(1.0f); + } + mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(false); +} + +void dLytCommonIconItemPart3_c::realizeBocoburin() { + if (mBocoburinLocked) { + mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(1.0f); + } else { + mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(0.0f); + } + mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(false); +} + +void dLytCommonIconItemPart3_c::realizeItem(u8 item) { + if (mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + mItem = 0; + } else { + mItem = item; + } + // @bug ignoring the check above + mItem = item; + + mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setFrame(mItem); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(true); + mLyt.calc(); + mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(false); + mpBounding->SetVisible(true); +} + +bool dLytCommonIconItemPart3_c::isCursorOver() const { + d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk(); + if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) { + return true; + } + return false; +} + +void dLytCommonIconItemPart3_c::setVisible(bool visible) { + if (visible) { + mpBounding->SetVisible(true); + } else { + mpBounding->SetVisible(false); + } +} + +// Incredible use of the state manager here +void dLytCommonIconItem_c::initializeState_None() {} +void dLytCommonIconItem_c::executeState_None() {} +void dLytCommonIconItem_c::finalizeState_None() {} + +void dLytCommonIconItem_c::initializeState_In() {} +void dLytCommonIconItem_c::executeState_In() {} +void dLytCommonIconItem_c::finalizeState_In() {} + +void dLytCommonIconItem_c::initializeState_Wait() {} +void dLytCommonIconItem_c::executeState_Wait() {} +void dLytCommonIconItem_c::finalizeState_Wait() {} + +void dLytCommonIconItem_c::initializeState_Out() {} +void dLytCommonIconItem_c::executeState_Out() {} +void dLytCommonIconItem_c::finalizeState_Out() {} + +bool dLytCommonIconItem_c::build(d2d::ResAccIf_c *resAcc) { + build(resAcc, 1); + return true; +} + +bool dLytCommonIconItem_c::build(d2d::ResAccIf_c *resAcc, u8 variant) { + mPart = variant; + switch (mPart) { + case 0: mPart1.build(resAcc); break; + case 1: mPart2.build(resAcc); break; + case 2: mPart3.build(resAcc); break; + } + return true; +} + +bool dLytCommonIconItem_c::remove() { + switch (mPart) { + case 0: mPart1.remove(); break; + case 1: mPart2.remove(); break; + case 2: mPart3.remove(); break; + } + return true; +} + +bool dLytCommonIconItem_c::execute() { + switch (mPart) { + case 0: mPart1.execute(); break; + case 1: mPart2.execute(); break; + case 2: mPart3.execute(); break; + } + return true; +} + +void dLytCommonIconItem_c::reset() { + switch (mPart) { + case 0: mPart1.reset(); break; + case 1: mPart2.reset(); break; + case 2: mPart3.reset(); break; + } +} + +void dLytCommonIconItem_c::setUnk(bool unk) { + switch (mPart) { + case 0: mPart1.setUnk(unk); break; + case 1: mPart2.setUnk(unk); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::setHasNumber(bool hasNumber) { + switch (mPart) { + case 0: mPart1.setHasNumber(hasNumber); break; + case 1: mPart2.setHasNumber(hasNumber); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::setSize(bool size) { + switch (mPart) { + case 0: mPart1.setSize(size); break; + case 1: mPart2.setSize(size); break; + case 2: mPart3.setSize(size); break; + } +} + +void dLytCommonIconItem_c::setBocoburinLocked(bool locked) { + switch (mPart) { + case 0: mPart1.setBocoburinLocked(locked); break; + case 1: mPart2.setBocoburinLocked(locked); break; + case 2: mPart3.setBocoburinLocked(locked); break; + } +} + +void dLytCommonIconItem_c::setItem(u8 item) { + switch (mPart) { + case 0: mPart1.setItem(item); break; + case 1: mPart2.setItem(item); break; + case 2: mPart3.setItem(item); break; + } +} + +void dLytCommonIconItem_c::setShieldDurability(f32 durability) { + switch (mPart) { + case 0: break; + case 1: mPart2.setDurability(durability); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::setShieldOnOff(bool onOff) { + switch (mPart) { + case 0: break; + case 1: mPart2.setShieldOnOff(onOff); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::setNumber(s32 number) { + switch (mPart) { + case 0: mPart1.setNumber(number); break; + case 1: mPart2.setNumber(number); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::setNumberColor(u8 color) { + switch (mPart) { + case 0: mPart1.setNumberColor(color); break; + case 1: mPart2.setNumberColor(color); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::setOn() { + switch (mPart) { + case 0: mPart1.setOn(); break; + case 1: mPart2.setOn(); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::setOff() { + switch (mPart) { + case 0: mPart1.setOff(); break; + case 1: mPart2.setOff(); break; + case 2: break; + } +} + +void dLytCommonIconItem_c::startDecide() { + switch (mPart) { + case 0: mPart1.startDecide(); break; + case 1: mPart2.startDecide(); break; + case 2: break; + } +} + +bool dLytCommonIconItem_c::isDoneDeciding() const { + switch (mPart) { + case 0: + if (mPart1.isDoneDeciding()) { + return true; + } + break; + case 1: + if (mPart2.isDoneDeciding()) { + return true; + } + break; + } + return false; +} + +bool dLytCommonIconItem_c::isCursorOver() const { + switch (mPart) { + case 0: + if (mPart1.isCursorOver()) { + return true; + } + break; + case 1: + if (mPart2.isCursorOver()) { + return true; + } + break; + case 2: + if (mPart3.isCursorOver()) { + return true; + } + break; + } + return false; +} + +void dLytCommonIconItem_c::setVisible(bool visible) { + switch (mPart) { + case 0: mPart1.setVisible(visible); break; + case 1: mPart2.setVisible(visible); break; + case 2: mPart3.setVisible(visible); break; + } +} diff --git a/src/d/lyt/d_lyt_fader.cpp b/src/d/lyt/d_lyt_fader.cpp index b0488618..8e215e89 100644 --- a/src/d/lyt/d_lyt_fader.cpp +++ b/src/d/lyt/d_lyt_fader.cpp @@ -39,7 +39,7 @@ void dLytFader_c::setStatus(EStatus status) { mLytBase.unbindAnims(); d2d::AnmGroup_c *s = &mLytStructAs[0]; s->setDirection(false); - s->setToStart(); + s->setFrame(0.0f); s->setAnimEnable(true); mLytBase.calc(); fn_80175BC0(2); @@ -112,6 +112,7 @@ void dLytFader_c::fn_801758F0() { s->setDirection(false); s->setFrame(0.0f); s->setRate(20.0f / (mFrame - 1)); + s->setAnimEnable(true); mLytBase.getLayout()->GetRootPane()->SetVisible(true); } @@ -132,6 +133,7 @@ void dLytFader_c::fn_80175A50() { s->setDirection(false); s->setFrame(0.0f); s->setRate(20.0f / (mFrame - 1)); + s->setAnimEnable(true); mLytBase.getLayout()->GetRootPane()->SetVisible(true); } diff --git a/src/d/lyt/d_lyt_note.cpp b/src/d/lyt/d_lyt_note.cpp index e31767ed..e4b83f07 100644 --- a/src/d/lyt/d_lyt_note.cpp +++ b/src/d/lyt/d_lyt_note.cpp @@ -60,7 +60,7 @@ void dLytNote_c::executeState_In() { mStateMgr.changeState(StateID_Move); } - if (mAnmGroups[NOTE_ANIM_GET].isFlag2()) { + if (mAnmGroups[NOTE_ANIM_GET].isEnabled()) { mAnmGroups[NOTE_ANIM_GET].play(); } } @@ -129,7 +129,7 @@ void dLytNote_c::executeState_Out() { mStateMgr.changeState(StateID_Wait); } - if (mAnmGroups[mOutAnim].isFlag2()) { + if (mAnmGroups[mOutAnim].isEnabled()) { mAnmGroups[mOutAnim].play(); } } diff --git a/src/d/lyt/d_lyt_pause_disp_00.cpp b/src/d/lyt/d_lyt_pause_disp_00.cpp index cd0ecb45..2e94dcfb 100644 --- a/src/d/lyt/d_lyt_pause_disp_00.cpp +++ b/src/d/lyt/d_lyt_pause_disp_00.cpp @@ -27,7 +27,7 @@ void dLytPauseDisp00_c::init() { } for (int i = 0; i < 0x18; i++) { - field_0x2050[i].init(nullptr, lbl_804E8898[i]); + field_0x2050[i].build(nullptr, lbl_804E8898[i]); mSubpanes.PushBack(&field_0xE11C[i]); } diff --git a/src/d/lyt/d_lyt_sky_gauge.cpp b/src/d/lyt/d_lyt_sky_gauge.cpp index 696e9736..7e961ec3 100644 --- a/src/d/lyt/d_lyt_sky_gauge.cpp +++ b/src/d/lyt/d_lyt_sky_gauge.cpp @@ -85,7 +85,7 @@ bool dLytSkyGaugeMain_c::execute() { mStateMgr.executeState(); for (int i = 0; i < 2; i++) { - if (mAnmGroups[i].isFlag2()) { + if (mAnmGroups[i].isEnabled()) { if (mAnmGroups[i].isStop()) { mAnmGroups[i].setAnimEnable(false); if (i == 0) { diff --git a/src/d/lyt/meter/d_lyt_meter.cpp b/src/d/lyt/meter/d_lyt_meter.cpp index 637deee9..2ce06aab 100644 --- a/src/d/lyt/meter/d_lyt_meter.cpp +++ b/src/d/lyt/meter/d_lyt_meter.cpp @@ -37,7 +37,8 @@ void dLytMeter1Button_c::executeState_Wait() { void dLytMeter1Button_c::finalizeState_Wait() {} void dLytMeter1Button_c::initializeState_ToUse() { - mAnmGroups[0].playBackwardsOnce(); + mAnmGroups[0].setBackwardsOnce(); + mAnmGroups[0].setToStart(); mAnmGroups[0].setAnimEnable(true); } void dLytMeter1Button_c::executeState_ToUse() { @@ -45,7 +46,7 @@ void dLytMeter1Button_c::executeState_ToUse() { mStateMgr.changeState(StateID_Wait); } - if (mAnmGroups[0].isFlag2()) { + if (mAnmGroups[0].isEnabled()) { mAnmGroups[0].play(); } } @@ -54,7 +55,8 @@ void dLytMeter1Button_c::finalizeState_ToUse() { } void dLytMeter1Button_c::initializeState_ToUnuse() { - mAnmGroups[0].playLoop(); + mAnmGroups[0].setForwardOnce(); + mAnmGroups[0].setToStart(); mAnmGroups[0].setAnimEnable(true); } void dLytMeter1Button_c::executeState_ToUnuse() { @@ -62,7 +64,7 @@ void dLytMeter1Button_c::executeState_ToUnuse() { mStateMgr.changeState(StateID_Unuse); } - if (mAnmGroups[0].isFlag2()) { + if (mAnmGroups[0].isEnabled()) { mAnmGroups[0].play(); } } @@ -148,7 +150,8 @@ void dLytMeter2Button_c::executeState_Wait() { void dLytMeter2Button_c::finalizeState_Wait() {} void dLytMeter2Button_c::initializeState_ToUse() { - mAnmGroups[0].playBackwardsOnce(); + mAnmGroups[0].setBackwardsOnce(); + mAnmGroups[0].setToStart(); mAnmGroups[0].setAnimEnable(true); } void dLytMeter2Button_c::executeState_ToUse() { @@ -156,7 +159,7 @@ void dLytMeter2Button_c::executeState_ToUse() { mStateMgr.changeState(StateID_Wait); } - if (mAnmGroups[0].isFlag2()) { + if (mAnmGroups[0].isEnabled()) { mAnmGroups[0].play(); } } @@ -165,7 +168,8 @@ void dLytMeter2Button_c::finalizeState_ToUse() { } void dLytMeter2Button_c::initializeState_ToUnuse() { - mAnmGroups[0].playLoop(); + mAnmGroups[0].setForwardOnce(); + mAnmGroups[0].setToStart(); mAnmGroups[0].setAnimEnable(true); } void dLytMeter2Button_c::executeState_ToUnuse() { @@ -173,7 +177,7 @@ void dLytMeter2Button_c::executeState_ToUnuse() { mStateMgr.changeState(StateID_Unuse); } - if (mAnmGroups[0].isFlag2()) { + if (mAnmGroups[0].isEnabled()) { mAnmGroups[0].play(); } } diff --git a/src/d/lyt/meter/d_lyt_meter_a_btn.cpp b/src/d/lyt/meter/d_lyt_meter_a_btn.cpp index 6b87fc34..204f31fc 100644 --- a/src/d/lyt/meter/d_lyt_meter_a_btn.cpp +++ b/src/d/lyt/meter/d_lyt_meter_a_btn.cpp @@ -26,23 +26,24 @@ void dLytMeterABtn_c::executeState_InvisibleWait() { void dLytMeterABtn_c::finalizeState_InvisibleWait() {} void dLytMeterABtn_c::initializeState_In() { - mpContainerAnmGroup1->setToEnd2(); + mpContainerAnmGroup1->setToStart(); mpContainerAnmGroup1->setAnimEnable(true); - mAnmGroups[0].playBackwardsOnce(); + mAnmGroups[0].setBackwardsOnce(); + mAnmGroups[0].setToStart(); } void dLytMeterABtn_c::executeState_In() { if (mpContainerAnmGroup1->isEndReached()) { mpContainerAnmGroup1->setAnimEnable(false); mStateMgr.changeState(StateID_Wait); } - if (mpContainerAnmGroup1->isFlag2()) { + if (mpContainerAnmGroup1->isEnabled()) { mpContainerAnmGroup1->play(); } } void dLytMeterABtn_c::finalizeState_In() {} void dLytMeterABtn_c::initializeState_Out() { - mpContainerAnmGroup2->setToEnd2(); + mpContainerAnmGroup2->setToStart(); mpContainerAnmGroup2->setAnimEnable(true); } void dLytMeterABtn_c::executeState_Out() { @@ -50,7 +51,7 @@ void dLytMeterABtn_c::executeState_Out() { mpContainerAnmGroup2->setAnimEnable(false); mStateMgr.changeState(StateID_InvisibleWait); } - if (mpContainerAnmGroup2->isFlag2()) { + if (mpContainerAnmGroup2->isEnabled()) { mpContainerAnmGroup2->play(); } } diff --git a/src/d/lyt/meter/d_lyt_meter_drink.cpp b/src/d/lyt/meter/d_lyt_meter_drink.cpp index a935ee46..2715fc8b 100644 --- a/src/d/lyt/meter/d_lyt_meter_drink.cpp +++ b/src/d/lyt/meter/d_lyt_meter_drink.cpp @@ -19,10 +19,10 @@ STATE_DEFINE(dLytMeterDrink_c, Out); void dLytMeterDrinkParts_c::initializeState_Invisible() { if (field_0x51) { - if (mAnmGroups[2]->isFlag2()) { + if (mAnmGroups[2]->isEnabled()) { mAnmGroups[2]->setAnimEnable(false); } - if (!mAnmGroups[0]->isFlag2()) { + if (!mAnmGroups[0]->isEnabled()) { mAnmGroups[0]->setAnimEnable(true); } mAnmGroups[0]->setFrame(0.0f); @@ -32,7 +32,7 @@ void dLytMeterDrinkParts_c::initializeState_Invisible() { } } void dLytMeterDrinkParts_c::executeState_Invisible() { - if (mAnmGroups[0]->isFlag2()) { + if (mAnmGroups[0]->isEnabled()) { mAnmGroups[0]->setAnimEnable(false); } if (field_0x50) { @@ -43,7 +43,7 @@ void dLytMeterDrinkParts_c::finalizeState_Invisible() {} void dLytMeterDrinkParts_c::initializeState_In() { if (field_0x51) { - if (mAnmGroups[2]->isFlag2()) { + if (mAnmGroups[2]->isEnabled()) { mAnmGroups[2]->setAnimEnable(false); } mAnmGroups[0]->setToEnd(); @@ -59,7 +59,7 @@ void dLytMeterDrinkParts_c::executeState_In() { mStateMgr.changeState(StateID_Visible); } - if (mAnmGroups[0]->isFlag2()) { + if (mAnmGroups[0]->isEnabled()) { mAnmGroups[0]->play(); } } @@ -67,7 +67,7 @@ void dLytMeterDrinkParts_c::finalizeState_In() {} void dLytMeterDrinkParts_c::initializeState_Visible() { if (field_0x51) { - if (mAnmGroups[2]->isFlag2()) { + if (mAnmGroups[2]->isEnabled()) { mAnmGroups[2]->setAnimEnable(false); } mAnmGroups[0]->setAnimEnable(true); @@ -77,7 +77,7 @@ void dLytMeterDrinkParts_c::initializeState_Visible() { } void dLytMeterDrinkParts_c::executeState_Visible() { - if (mAnmGroups[0]->isFlag2()) { + if (mAnmGroups[0]->isEnabled()) { mAnmGroups[0]->setAnimEnable(false); } @@ -89,7 +89,7 @@ void dLytMeterDrinkParts_c::finalizeState_Visible() {} void dLytMeterDrinkParts_c::initializeState_Out() { if (field_0x51) { - if (mAnmGroups[0]->isFlag2()) { + if (mAnmGroups[0]->isEnabled()) { mAnmGroups[0]->setAnimEnable(false); } mAnmGroups[2]->setToEnd(); @@ -108,7 +108,7 @@ void dLytMeterDrinkParts_c::executeState_Out() { field_0x50 = 0; mStateMgr.changeState(StateID_Invisible); } - if (mAnmGroups[2]->isFlag2()) { + if (mAnmGroups[2]->isEnabled()) { mAnmGroups[2]->play(); } } @@ -255,7 +255,7 @@ void dLytMeterDrink_c::executeState_In() { mAnmGroups[0].setAnimEnable(false); mStateMgr.changeState(StateID_Wait); } - if (mAnmGroups[0].isFlag2()) { + if (mAnmGroups[0].isEnabled()) { mAnmGroups[0].play(); } } @@ -336,7 +336,7 @@ void dLytMeterDrink_c::executeState_Move() { mLyt.calc(); for (int i = 0; i < 3; i++) { - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isEnabled()) { mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].setAnimEnable(false); } } @@ -344,7 +344,7 @@ void dLytMeterDrink_c::executeState_Move() { } for (int i = 0; i < 3; i++) { - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].isEnabled()) { mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_MOVE + i].play(); } } @@ -360,7 +360,7 @@ void dLytMeterDrink_c::executeState_Out() { mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].setAnimEnable(false); mStateMgr.changeState(StateID_Invisible); } - if (mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].isEnabled()) { mAnmGroups[LYT_METER_DRINK_ANIM_DEMO_OUT].play(); } } @@ -474,13 +474,13 @@ void dLytMeterDrink_c::executeInternal() { if (!mParts[i].isDrinkAboutToExpire()) { drinksLast[i] = true; bHasNotSoonExpiringDrink = true; - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) { frameLoop = mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].getNextFrame(); } } else { drinksLast[i] = false; bHasSoonExpiringDrink = true; - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) { frameCaution = mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].getNextFrame(); } } @@ -489,14 +489,14 @@ void dLytMeterDrink_c::executeInternal() { if (bHasNotSoonExpiringDrink) { for (int i = 0; i < 3; i++) { if (drinksLast[i] == true) { - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) { mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].play(); } else { mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setAnimEnable(true); mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setFrame(frameLoop); } - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) { bool oldVisible = mpPartPanes[i]->IsVisible(); mpPartPanes[i]->SetVisible(true); mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setFrame(0.0f); @@ -508,7 +508,7 @@ void dLytMeterDrink_c::executeInternal() { } } else { for (int i = 0; i < 3; i++) { - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) { bool oldVisible = mpPartPanes[i]->IsVisible(); mpPartPanes[i]->SetVisible(true); mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setFrame(0.0f); @@ -522,14 +522,14 @@ void dLytMeterDrink_c::executeInternal() { if (bHasSoonExpiringDrink) { for (int i = 0; i < 3; i++) { if (drinksLast[i] == false) { - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) { mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].play(); } else { mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setAnimEnable(true); mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setFrame(frameCaution); } - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].isEnabled()) { bool oldVisible = mpPartPanes[i]->IsVisible(); mpPartPanes[i]->SetVisible(true); mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_LOOP + i].setFrame(0.0f); @@ -541,7 +541,7 @@ void dLytMeterDrink_c::executeInternal() { } } else { for (int i = 0; i < 3; i++) { - if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isFlag2()) { + if (mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].isEnabled()) { bool oldVisible = mpPartPanes[i]->IsVisible(); mpPartPanes[i]->SetVisible(true); mAnmGroups[LYT_METER_DRINK_OFFSET_ANIM_CAUTION + i].setFrame(0.0f); diff --git a/src/m/m2d.cpp b/src/m/m2d.cpp index 3f2ec24d..ed5a306f 100644 --- a/src/m/m2d.cpp +++ b/src/m/m2d.cpp @@ -153,7 +153,7 @@ bool FrameCtrl_c::isStop() const { } } -f32 FrameCtrl_c::getEndFrame() const { +f32 FrameCtrl_c::getStartFrame() const { if (isBackwards()) { if (notLooping()) { return mEndFrame - 1.0f; @@ -164,7 +164,7 @@ f32 FrameCtrl_c::getEndFrame() const { return 0.0f; } -f32 FrameCtrl_c::getEndFrame2() const { +f32 FrameCtrl_c::getEndFrame() const { if (isBackwards()) { return 0.0f; } From 2f0e87666ef29dddee228ee9ec76726071ac1c85 Mon Sep 17 00:00:00 2001 From: robojumper Date: Mon, 31 Mar 2025 13:18:50 +0200 Subject: [PATCH 2/7] Less verbose anim names --- src/d/lyt/d_lyt_common_icon_item.cpp | 376 +++++++++++++-------------- 1 file changed, 188 insertions(+), 188 deletions(-) diff --git a/src/d/lyt/d_lyt_common_icon_item.cpp b/src/d/lyt/d_lyt_common_icon_item.cpp index 379bdb3a..7ad3bb6e 100644 --- a/src/d/lyt/d_lyt_common_icon_item.cpp +++ b/src/d/lyt/d_lyt_common_icon_item.cpp @@ -29,20 +29,20 @@ static const char *part1TextBoxes[] = { static const char *part1Bounding = "B_item_00"; -#define LYT_COMMON_ICON_PART_1_ANIM_SIZE 0 -#define LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN 1 -#define LYT_COMMON_ICON_PART_1_ANIM_NUMBERV 2 -#define LYT_COMMON_ICON_PART_1_ANIM_ICON 3 -#define LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR 4 -#define LYT_COMMON_ICON_PART_1_ANIM_ONOFF 5 -#define LYT_COMMON_ICON_PART_1_ANIM_DECIDE 6 +#define ITEM_PART_1_ANIM_SIZE 0 +#define ITEM_PART_1_ANIM_BOCOBURIN 1 +#define ITEM_PART_1_ANIM_NUMBERV 2 +#define ITEM_PART_1_ANIM_ICON 3 +#define ITEM_PART_1_ANIM_TEXTCOLOR 4 +#define ITEM_PART_1_ANIM_ONOFF 5 +#define ITEM_PART_1_ANIM_DECIDE 6 -#define LYT_COMMON_ICON_PART_1_NUM_ANIMS 7 +#define ITEM_PART_1_NUM_ANIMS 7 bool dLytCommonIconItemPart1_c::build(d2d::ResAccIf_c *resAcc) { mLyt.setResAcc(resAcc); mLyt.build("commonIcon_02.brlyt", nullptr); - for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) { + 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].setRate(1.0f); @@ -58,7 +58,7 @@ bool dLytCommonIconItemPart1_c::build(d2d::ResAccIf_c *resAcc) { } bool dLytCommonIconItemPart1_c::remove() { - for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) { + for (int i = 0; i < ITEM_PART_1_NUM_ANIMS; i++) { mAnm[i].unbind(); mAnm[i].afterUnbind(); } @@ -66,15 +66,15 @@ bool dLytCommonIconItemPart1_c::remove() { } bool dLytCommonIconItemPart1_c::execute() { - if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isEnabled() && mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isStop2()) { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(false); + if (mAnm[ITEM_PART_1_ANIM_ONOFF].isEnabled() && mAnm[ITEM_PART_1_ANIM_ONOFF].isStop2()) { + mAnm[ITEM_PART_1_ANIM_ONOFF].setAnimEnable(false); } - if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isEnabled() && mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isStop2()) { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(false); + if (mAnm[ITEM_PART_1_ANIM_DECIDE].isEnabled() && mAnm[ITEM_PART_1_ANIM_DECIDE].isStop2()) { + mAnm[ITEM_PART_1_ANIM_DECIDE].setAnimEnable(false); } - for (int i = 0; i < LYT_COMMON_ICON_PART_1_NUM_ANIMS; i++) { + for (int i = 0; i < ITEM_PART_1_NUM_ANIMS; i++) { if (mAnm[i].isEnabled()) { mAnm[i].play(); } @@ -83,38 +83,38 @@ bool dLytCommonIconItemPart1_c::execute() { } void dLytCommonIconItemPart1_c::reset() { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_ICON].setFrame(0.0f); + mAnm[ITEM_PART_1_ANIM_ICON].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(1.0f); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_SIZE].setFrame(1.0f); + mAnm[ITEM_PART_1_ANIM_SIZE].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_NUMBERV].setFrame(0.0f); + mAnm[ITEM_PART_1_ANIM_NUMBERV].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); + mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setBackwardsOnce(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setToEnd2(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_ONOFF].setBackwardsOnce(); + mAnm[ITEM_PART_1_ANIM_ONOFF].setToEnd2(); + mAnm[ITEM_PART_1_ANIM_ONOFF].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setForwardOnce(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setToEnd2(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_DECIDE].setForwardOnce(); + mAnm[ITEM_PART_1_ANIM_DECIDE].setToEnd2(); + mAnm[ITEM_PART_1_ANIM_DECIDE].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_DECIDE].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_ONOFF].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_NUMBERV].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_SIZE].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_ICON].setAnimEnable(false); } void dLytCommonIconItemPart1_c::setItem(u8 item) { @@ -131,49 +131,49 @@ void dLytCommonIconItemPart1_c::realizeUnk() { void dLytCommonIconItemPart1_c::realizeNumber() { if (mHasNumber) { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(1.0f); + mAnm[ITEM_PART_1_ANIM_NUMBERV].setFrame(1.0f); } else { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setFrame(0.0f); + mAnm[ITEM_PART_1_ANIM_NUMBERV].setFrame(0.0f); } - mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_NUMBERV].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_NUMBERV].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_NUMBERV].setAnimEnable(false); } void dLytCommonIconItemPart1_c::realizeSize() { if (mSize) { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(0.0f); + mAnm[ITEM_PART_1_ANIM_SIZE].setFrame(0.0f); } else { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setFrame(1.0f); + mAnm[ITEM_PART_1_ANIM_SIZE].setFrame(1.0f); } - mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_SIZE].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_SIZE].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_SIZE].setAnimEnable(false); } void dLytCommonIconItemPart1_c::realizeBocoburin() { if (mBocoburinLocked) { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(1.0f); + mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setFrame(1.0f); } else { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setFrame(0.0f); } - mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setAnimEnable(false); } void dLytCommonIconItemPart1_c::realizeItem(u8 item) { // Inline? - if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + if (mAnm[ITEM_PART_1_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { field_0x28C = 0; } else { field_0x28C = item; } - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setFrame(field_0x28C); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_ICON].setFrame(field_0x28C); + mAnm[ITEM_PART_1_ANIM_ICON].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ICON].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_ICON].setAnimEnable(false); mpBounding->SetVisible(true); } @@ -188,37 +188,37 @@ void dLytCommonIconItemPart1_c::setNumber(s32 number) { void dLytCommonIconItemPart1_c::setNumberColor(u8 color) { mColor = color; switch (mColor) { - case 0: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); break; - case 1: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(1.0f); break; - case 2: mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setFrame(2.0f); break; + case 0: mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); break; + case 1: mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setFrame(1.0f); break; + case 2: mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setFrame(2.0f); break; } - mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false); } void dLytCommonIconItemPart1_c::setOn() { - if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isPlayingBackwardsOnce()) { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setForwardOnce(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true); + if (mAnm[ITEM_PART_1_ANIM_ONOFF].isPlayingBackwardsOnce()) { + mAnm[ITEM_PART_1_ANIM_ONOFF].setForwardOnce(); + mAnm[ITEM_PART_1_ANIM_ONOFF].setAnimEnable(true); } } void dLytCommonIconItemPart1_c::setOff() { - if (mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].isPlayingForwardsOnce()) { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setBackwardsOnce(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_ONOFF].setAnimEnable(true); + if (mAnm[ITEM_PART_1_ANIM_ONOFF].isPlayingForwardsOnce()) { + mAnm[ITEM_PART_1_ANIM_ONOFF].setBackwardsOnce(); + mAnm[ITEM_PART_1_ANIM_ONOFF].setAnimEnable(true); } } void dLytCommonIconItemPart1_c::startDecide() { - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setForwardOnce(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setToStart(); - mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].setAnimEnable(true); + mAnm[ITEM_PART_1_ANIM_DECIDE].setForwardOnce(); + mAnm[ITEM_PART_1_ANIM_DECIDE].setToStart(); + mAnm[ITEM_PART_1_ANIM_DECIDE].setAnimEnable(true); } bool dLytCommonIconItemPart1_c::isDoneDeciding() const { - return mAnm[LYT_COMMON_ICON_PART_1_ANIM_DECIDE].isStop2(); + return mAnm[ITEM_PART_1_ANIM_DECIDE].isStop2(); } bool dLytCommonIconItemPart1_c::isCursorOver() const { @@ -257,23 +257,23 @@ static const char *part2TextBoxes[] = { static const char *part2Bounding = "B_poach_00"; -#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF 0 -#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE 1 -#define LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE 2 -#define LYT_COMMON_ICON_PART_2_ANIM_SIZE 3 -#define LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN 4 -#define LYT_COMMON_ICON_PART_2_ANIM_NUMBERV 5 -#define LYT_COMMON_ICON_PART_2_ANIM_ICON 6 -#define LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR 7 -#define LYT_COMMON_ICON_PART_2_ANIM_ONOFF 8 -#define LYT_COMMON_ICON_PART_2_ANIM_DECIDE 9 +#define ITEM_PART_2_ANIM_SHIELD_ONOFF 0 +#define ITEM_PART_2_ANIM_SHIELD_TYPE 1 +#define ITEM_PART_2_ANIM_SHIELD_GAUGE 2 +#define ITEM_PART_2_ANIM_SIZE 3 +#define ITEM_PART_2_ANIM_BOCOBURIN 4 +#define ITEM_PART_2_ANIM_NUMBERV 5 +#define ITEM_PART_2_ANIM_ICON 6 +#define ITEM_PART_2_ANIM_TEXTCOLOR 7 +#define ITEM_PART_2_ANIM_ONOFF 8 +#define ITEM_PART_2_ANIM_DECIDE 9 -#define LYT_COMMON_ICON_PART_2_NUM_ANIMS 10 +#define ITEM_PART_2_NUM_ANIMS 10 bool dLytCommonIconItemPart2_c::build(d2d::ResAccIf_c *resAcc) { mLyt.setResAcc(resAcc); mLyt.build("commonIcon_03.brlyt", nullptr); - for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) { + 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].setRate(1.0f); @@ -289,7 +289,7 @@ bool dLytCommonIconItemPart2_c::build(d2d::ResAccIf_c *resAcc) { } bool dLytCommonIconItemPart2_c::remove() { - for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) { + for (int i = 0; i < ITEM_PART_2_NUM_ANIMS; i++) { mAnm[i].unbind(); mAnm[i].afterUnbind(); } @@ -297,15 +297,15 @@ bool dLytCommonIconItemPart2_c::remove() { } bool dLytCommonIconItemPart2_c::execute() { - if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isEnabled() && mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isStop2()) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(false); + if (mAnm[ITEM_PART_2_ANIM_ONOFF].isEnabled() && mAnm[ITEM_PART_2_ANIM_ONOFF].isStop2()) { + mAnm[ITEM_PART_2_ANIM_ONOFF].setAnimEnable(false); } - if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isEnabled() && mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isStop2()) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(false); + if (mAnm[ITEM_PART_2_ANIM_DECIDE].isEnabled() && mAnm[ITEM_PART_2_ANIM_DECIDE].isStop2()) { + mAnm[ITEM_PART_2_ANIM_DECIDE].setAnimEnable(false); } - for (int i = 0; i < LYT_COMMON_ICON_PART_2_NUM_ANIMS; i++) { + for (int i = 0; i < ITEM_PART_2_NUM_ANIMS; i++) { if (mAnm[i].isEnabled()) { mAnm[i].play(); } @@ -314,50 +314,50 @@ bool dLytCommonIconItemPart2_c::execute() { } void dLytCommonIconItemPart2_c::reset() { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_ICON].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_ICON].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(1.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SIZE].setFrame(1.0f); + mAnm[ITEM_PART_2_ANIM_SIZE].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_NUMBERV].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_NUMBERV].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setBackwardsOnce(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setToEnd2(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_ONOFF].setBackwardsOnce(); + mAnm[ITEM_PART_2_ANIM_ONOFF].setToEnd2(); + mAnm[ITEM_PART_2_ANIM_ONOFF].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setForwardOnce(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setToEnd2(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_DECIDE].setForwardOnce(); + mAnm[ITEM_PART_2_ANIM_DECIDE].setToEnd2(); + mAnm[ITEM_PART_2_ANIM_DECIDE].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_DECIDE].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_ONOFF].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_NUMBERV].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SIZE].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_ICON].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false); } void dLytCommonIconItemPart2_c::setShieldOnOff(bool onOff) { @@ -416,62 +416,62 @@ void dLytCommonIconItemPart2_c::realizeUnk() { void dLytCommonIconItemPart2_c::realizeNumber() { if (mHasNumber) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(1.0f); + mAnm[ITEM_PART_2_ANIM_NUMBERV].setFrame(1.0f); } else { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_NUMBERV].setFrame(0.0f); } - mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_NUMBERV].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_NUMBERV].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_NUMBERV].setAnimEnable(false); } void dLytCommonIconItemPart2_c::realizeSize() { if (mSize) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_SIZE].setFrame(0.0f); } else { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setFrame(1.0f); + mAnm[ITEM_PART_2_ANIM_SIZE].setFrame(1.0f); } - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SIZE].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SIZE].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SIZE].setAnimEnable(false); } void dLytCommonIconItemPart2_c::realizeBocoburin() { if (mBocoburinLocked) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(1.0f); + mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setFrame(1.0f); } else { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setFrame(0.0f); } - mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setAnimEnable(false); } void dLytCommonIconItemPart2_c::realizeItem(u8 item) { // Inline? - if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + if (mAnm[ITEM_PART_2_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { mItem = 0; } else { mItem = item; } - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setFrame(mItem); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_ICON].setFrame(mItem); + mAnm[ITEM_PART_2_ANIM_ICON].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ICON].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_ICON].setAnimEnable(false); mpBounding->SetVisible(true); } void dLytCommonIconItemPart2_c::realizeShieldOnOff(bool onOff) { mOnOff = onOff; if (onOff) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f); + mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f); } else { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setFrame(1.0f); + mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setFrame(1.0f); } - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false); } u8 dLytCommonIconItemPart2_c::getShieldType() const { @@ -492,10 +492,10 @@ u8 dLytCommonIconItemPart2_c::getShieldType() const { void dLytCommonIconItemPart2_c::realizeShieldType(u8 type) { if (mOnOff) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setFrame(type); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setFrame(type); + mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(false); } } @@ -511,37 +511,37 @@ void dLytCommonIconItemPart2_c::setNumber(s32 number) { void dLytCommonIconItemPart2_c::setNumberColor(u8 color) { mColor = color; switch (mColor) { - case 0: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); break; - case 1: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(1.0f); break; - case 2: mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setFrame(2.0f); break; + case 0: mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); break; + case 1: mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setFrame(1.0f); break; + case 2: mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setFrame(2.0f); break; } - mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false); } void dLytCommonIconItemPart2_c::setOn() { - if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isPlayingBackwardsOnce()) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setForwardOnce(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true); + if (mAnm[ITEM_PART_2_ANIM_ONOFF].isPlayingBackwardsOnce()) { + mAnm[ITEM_PART_2_ANIM_ONOFF].setForwardOnce(); + mAnm[ITEM_PART_2_ANIM_ONOFF].setAnimEnable(true); } } void dLytCommonIconItemPart2_c::setOff() { - if (mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].isPlayingForwardsOnce()) { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setBackwardsOnce(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_ONOFF].setAnimEnable(true); + if (mAnm[ITEM_PART_2_ANIM_ONOFF].isPlayingForwardsOnce()) { + mAnm[ITEM_PART_2_ANIM_ONOFF].setBackwardsOnce(); + mAnm[ITEM_PART_2_ANIM_ONOFF].setAnimEnable(true); } } void dLytCommonIconItemPart2_c::startDecide() { - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setForwardOnce(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setToStart(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_DECIDE].setForwardOnce(); + mAnm[ITEM_PART_2_ANIM_DECIDE].setToStart(); + mAnm[ITEM_PART_2_ANIM_DECIDE].setAnimEnable(true); } bool dLytCommonIconItemPart2_c::isDoneDeciding() const { - return mAnm[LYT_COMMON_ICON_PART_2_ANIM_DECIDE].isStop2(); + return mAnm[ITEM_PART_2_ANIM_DECIDE].isStop2(); } bool dLytCommonIconItemPart2_c::isCursorOver() const { @@ -563,10 +563,10 @@ void dLytCommonIconItemPart2_c::setVisible(bool visible) { void dLytCommonIconItemPart2_c::setDurability(f32 durability) { if (mOnOff) { mDurability = durability; - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setFrameRatio(durability); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true); + mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setFrameRatio(durability); + mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false); + mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(false); } } @@ -578,16 +578,16 @@ static const d2d::LytBrlanMapping brlanMapPart3[] = { static const char *part3Bounding = "B_dauz_00"; -#define LYT_COMMON_ICON_PART_3_ANIM_SIZE 0 -#define LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN 1 -#define LYT_COMMON_ICON_PART_3_ANIM_ICON 2 +#define ITEM_PART_3_ANIM_SIZE 0 +#define ITEM_PART_3_ANIM_BOCOBURIN 1 +#define ITEM_PART_3_ANIM_ICON 2 -#define LYT_COMMON_ICON_PART_3_NUM_ANIMS 3 +#define ITEM_PART_3_NUM_ANIMS 3 bool dLytCommonIconItemPart3_c::build(d2d::ResAccIf_c *resAcc) { mLyt.setResAcc(resAcc); mLyt.build("commonIcon_04.brlyt", nullptr); - for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) { + 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].setRate(1.0f); @@ -599,7 +599,7 @@ bool dLytCommonIconItemPart3_c::build(d2d::ResAccIf_c *resAcc) { } bool dLytCommonIconItemPart3_c::remove() { - for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) { + for (int i = 0; i < ITEM_PART_3_NUM_ANIMS; i++) { mAnm[i].unbind(); mAnm[i].afterUnbind(); } @@ -607,7 +607,7 @@ bool dLytCommonIconItemPart3_c::remove() { } bool dLytCommonIconItemPart3_c::execute() { - for (int i = 0; i < LYT_COMMON_ICON_PART_3_NUM_ANIMS; i++) { + for (int i = 0; i < ITEM_PART_3_NUM_ANIMS; i++) { if (mAnm[i].isEnabled()) { mAnm[i].play(); } @@ -616,20 +616,20 @@ bool dLytCommonIconItemPart3_c::execute() { } void dLytCommonIconItemPart3_c::reset() { - mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(true); + mAnm[ITEM_PART_3_ANIM_ICON].setFrame(0.0f); + mAnm[ITEM_PART_3_ANIM_ICON].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(1.0f); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(true); + mAnm[ITEM_PART_3_ANIM_SIZE].setFrame(1.0f); + mAnm[ITEM_PART_3_ANIM_SIZE].setAnimEnable(true); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(0.0f); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(true); + mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(false); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(false); + mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[ITEM_PART_3_ANIM_SIZE].setAnimEnable(false); + mAnm[ITEM_PART_3_ANIM_ICON].setAnimEnable(false); } void dLytCommonIconItemPart3_c::setItem(u8 item) { @@ -640,28 +640,28 @@ void dLytCommonIconItemPart3_c::setItem(u8 item) { void dLytCommonIconItemPart3_c::realizeSize() { if (mSize) { - mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(0.0f); + mAnm[ITEM_PART_3_ANIM_SIZE].setFrame(0.0f); } else { - mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setFrame(1.0f); + mAnm[ITEM_PART_3_ANIM_SIZE].setFrame(1.0f); } - mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(true); + mAnm[ITEM_PART_3_ANIM_SIZE].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_SIZE].setAnimEnable(false); + mAnm[ITEM_PART_3_ANIM_SIZE].setAnimEnable(false); } void dLytCommonIconItemPart3_c::realizeBocoburin() { if (mBocoburinLocked) { - mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(1.0f); + mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setFrame(1.0f); } else { - mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setFrame(0.0f); + mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setFrame(0.0f); } - mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(true); + mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_BOCOBURIN].setAnimEnable(false); + mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setAnimEnable(false); } void dLytCommonIconItemPart3_c::realizeItem(u8 item) { - if (mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + if (mAnm[ITEM_PART_3_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { mItem = 0; } else { mItem = item; @@ -669,10 +669,10 @@ void dLytCommonIconItemPart3_c::realizeItem(u8 item) { // @bug ignoring the check above mItem = item; - mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setFrame(mItem); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(true); + mAnm[ITEM_PART_3_ANIM_ICON].setFrame(mItem); + mAnm[ITEM_PART_3_ANIM_ICON].setAnimEnable(true); mLyt.calc(); - mAnm[LYT_COMMON_ICON_PART_3_ANIM_ICON].setAnimEnable(false); + mAnm[ITEM_PART_3_ANIM_ICON].setAnimEnable(false); mpBounding->SetVisible(true); } From 2c3500e8d5e12a4129d78e53ae66dffdcba18ddd Mon Sep 17 00:00:00 2001 From: robojumper Date: Mon, 31 Mar 2025 14:40:18 +0200 Subject: [PATCH 3/7] Fix outdated comment --- include/d/lyt/d_lyt_common_icon_item.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/d/lyt/d_lyt_common_icon_item.h b/include/d/lyt/d_lyt_common_icon_item.h index f166845c..5dff8f5b 100644 --- a/include/d/lyt/d_lyt_common_icon_item.h +++ b/include/d/lyt/d_lyt_common_icon_item.h @@ -200,8 +200,7 @@ private: /* 0x004 */ d2d::dLytSub mLyt; /* 0x098 */ d2d::AnmGroup_c mAnm[3]; /* 0x158 */ nw4r::lyt::Bounding *mpBounding; - d2d::dLytStructD structD; - // TODO wrong names/offsets because these are relative to main class + /* 0x15C */ d2d::dLytStructD structD; /* 0x184 */ u8 mItem; /* 0x185 */ bool mSize; /* 0x186 */ bool mBocoburinLocked; From 799d659f9c163c335af24bc95cec50dc1b737988 Mon Sep 17 00:00:00 2001 From: robojumper Date: Mon, 31 Mar 2025 15:34:15 +0200 Subject: [PATCH 4/7] Missed a field --- include/d/lyt/d_lyt_common_icon_item.h | 4 ++-- src/d/lyt/d_lyt_common_icon_item.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/d/lyt/d_lyt_common_icon_item.h b/include/d/lyt/d_lyt_common_icon_item.h index 5dff8f5b..85e98a39 100644 --- a/include/d/lyt/d_lyt_common_icon_item.h +++ b/include/d/lyt/d_lyt_common_icon_item.h @@ -20,7 +20,7 @@ public: class dLytCommonIconItemPart1_c : public dLytCommonIconItemPartBase_c { public: dLytCommonIconItemPart1_c() - : field_0x28C(0), mColor(0), field_0x2B4(false), mHasNumber(false), mSize(false), mBocoburinLocked(false) {} + : mItem(0), mColor(0), field_0x2B4(false), mHasNumber(false), mSize(false), mBocoburinLocked(false) {} virtual ~dLytCommonIconItemPart1_c() {} virtual nw4r::lyt::Pane *getPane() override { return mLyt.getLayout()->GetRootPane(); @@ -71,7 +71,7 @@ private: /* 0x258 */ dTextBox_c *mpTextBoxes[2]; /* 0x260 */ nw4r::lyt::Bounding *mpBounding; /* 0x264 */ d2d::dLytStructD mStructD; - /* 0x28C */ u8 field_0x28C; + /* 0x28C */ u8 mItem; /* 0x28D */ u8 mColor; /* 0x28E */ u8 _0x28E[0x294 - 0x28E]; /* 0x294 */ wchar_t mNumberBuf[16]; diff --git a/src/d/lyt/d_lyt_common_icon_item.cpp b/src/d/lyt/d_lyt_common_icon_item.cpp index 7ad3bb6e..9effaee8 100644 --- a/src/d/lyt/d_lyt_common_icon_item.cpp +++ b/src/d/lyt/d_lyt_common_icon_item.cpp @@ -165,12 +165,12 @@ void dLytCommonIconItemPart1_c::realizeBocoburin() { void dLytCommonIconItemPart1_c::realizeItem(u8 item) { // Inline? if (mAnm[ITEM_PART_1_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { - field_0x28C = 0; + mItem = 0; } else { - field_0x28C = item; + mItem = item; } - mAnm[ITEM_PART_1_ANIM_ICON].setFrame(field_0x28C); + mAnm[ITEM_PART_1_ANIM_ICON].setFrame(mItem); mAnm[ITEM_PART_1_ANIM_ICON].setAnimEnable(true); mLyt.calc(); mAnm[ITEM_PART_1_ANIM_ICON].setAnimEnable(false); From 95c710fab00f8fbf2d47527085b7a4e0cd1761ce Mon Sep 17 00:00:00 2001 From: robojumper Date: Mon, 31 Mar 2025 22:55:30 +0200 Subject: [PATCH 5/7] d_lyt_common_icon_material OK --- config/SOUE01/splits.txt | 6 + config/SOUE01/symbols.txt | 342 ++++++------- configure.py | 3 +- include/d/lyt/d_lyt_common_icon_item.h | 4 +- include/d/lyt/d_lyt_common_icon_material.h | 201 ++++++++ include/d/lyt/d_lyt_pause_disp_00.h | 1 - include/d/lyt/d_lyt_pause_disp_01.h | 35 ++ src/d/lyt/d_lyt_common_icon_item.cpp | 12 +- src/d/lyt/d_lyt_common_icon_material.cpp | 547 +++++++++++++++++++++ src/d/lyt/d_lyt_pause_disp_01.cpp | 34 ++ 10 files changed, 1006 insertions(+), 179 deletions(-) create mode 100644 include/d/lyt/d_lyt_common_icon_material.h create mode 100644 include/d/lyt/d_lyt_pause_disp_01.h create mode 100644 src/d/lyt/d_lyt_common_icon_material.cpp create mode 100644 src/d/lyt/d_lyt_pause_disp_01.cpp diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 455ca8af..5685818f 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -410,6 +410,11 @@ d/lyt/d_lyt_do_button.cpp: d/lyt/d_lyt_common_icon_material.cpp: .text start:0x8010F820 end:0x80111718 .ctors start:0x804DB730 end:0x804DB734 + .rodata start:0x804E7330 end:0x804E7390 + .data start:0x8051ACD8 end:0x8051B070 + .sdata start:0x80572530 end:0x80572558 + .sdata2 start:0x80579DA8 end:0x80579DB8 + .bss start:0x805ACF88 end:0x805AD088 d/lyt/d_lyt_common_icon_item.cpp: .text start:0x80111720 end:0x80113ED8 @@ -561,6 +566,7 @@ d/lyt/d_lyt_pause_disp_00.cpp: d/lyt/d_lyt_pause_disp_01.cpp: .text start:0x8015EDF0 end:0x80161F98 .ctors start:0x804DB79C end:0x804DB7A0 + .data start:0x80525EE0 end:0x80526610 d/lyt/d_lyt_pause_info.cpp: .text start:0x80161FA0 end:0x80163568 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 2cc7c72f..82cba1f2 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -6568,90 +6568,90 @@ 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 -fn_8010F820 = .text:0x8010F820; // type:function size:0x100 -fn_8010F920 = .text:0x8010F920; // type:function size:0x58 -fn_8010F980 = .text:0x8010F980; // type:function size:0x9C -fn_8010FA20 = .text:0x8010FA20; // type:function size:0x15C -fn_8010FB80 = .text:0x8010FB80; // type:function size:0x54 -fn_8010FBE0 = .text:0x8010FBE0; // type:function size:0xAC -fn_8010FC90 = .text:0x8010FC90; // type:function size:0xAC -fn_8010FD40 = .text:0x8010FD40; // type:function size:0x8C -fn_8010FDD0 = .text:0x8010FDD0; // type:function size:0xD4 -fn_8010FEB0 = .text:0x8010FEB0; // type:function size:0x88 -fn_8010FF40 = .text:0x8010FF40; // type:function size:0x2C -fn_8010FF70 = .text:0x8010FF70; // type:function size:0x2C -fn_8010FFA0 = .text:0x8010FFA0; // type:function size:0x7C -fn_80110020 = .text:0x80110020; // type:function size:0x34 -fn_80110060 = .text:0x80110060; // type:function size:0x100 -fn_80110160 = .text:0x80110160; // type:function size:0x58 -fn_801101C0 = .text:0x801101C0; // type:function size:0x9C -fn_80110260 = .text:0x80110260; // type:function size:0x15C -fn_801103C0 = .text:0x801103C0; // type:function size:0x54 -fn_80110420 = .text:0x80110420; // type:function size:0xAC -fn_801104D0 = .text:0x801104D0; // type:function size:0xAC -fn_80110580 = .text:0x80110580; // type:function size:0x8C -fn_80110610 = .text:0x80110610; // type:function size:0xD4 -fn_801106F0 = .text:0x801106F0; // type:function size:0x88 -fn_80110780 = .text:0x80110780; // type:function size:0x2C -fn_801107B0 = .text:0x801107B0; // type:function size:0x2C -fn_801107E0 = .text:0x801107E0; // type:function size:0x7C -fn_80110860 = .text:0x80110860; // type:function size:0x34 -fn_801108A0 = .text:0x801108A0; // type:function size:0x4 -fn_801108B0 = .text:0x801108B0; // type:function size:0x4 -fn_801108C0 = .text:0x801108C0; // type:function size:0x4 -fn_801108D0 = .text:0x801108D0; // type:function size:0x4 -fn_801108E0 = .text:0x801108E0; // type:function size:0x4 -fn_801108F0 = .text:0x801108F0; // type:function size:0x4 -fn_80110900 = .text:0x80110900; // type:function size:0x4 -fn_80110910 = .text:0x80110910; // type:function size:0x4 -fn_80110920 = .text:0x80110920; // type:function size:0x4 -fn_80110930 = .text:0x80110930; // type:function size:0x4 -fn_80110940 = .text:0x80110940; // type:function size:0x4 -fn_80110950 = .text:0x80110950; // type:function size:0x4 -fn_80110960 = .text:0x80110960; // type:function size:0x28 -fn_80110990 = .text:0x80110990; // type:function size:0x4C -fn_801109E0 = .text:0x801109E0; // type:function size:0x4C -fn_80110A30 = .text:0x80110A30; // type:function size:0x4C -fn_80110A80 = .text:0x80110A80; // type:function size:0x2C -fn_80110AB0 = .text:0x80110AB0; // type:function size:0x28 -fn_80110AE0 = .text:0x80110AE0; // type:function size:0x28 -fn_80110B10 = .text:0x80110B10; // type:function size:0x28 -fn_80110B40 = .text:0x80110B40; // type:function size:0x2C -fn_80110B70 = .text:0x80110B70; // type:function size:0x2C -fn_80110BA0 = .text:0x80110BA0; // type:function size:0x2C -fn_80110BD0 = .text:0x80110BD0; // type:function size:0x2C -fn_80110C00 = .text:0x80110C00; // type:function size:0x68 -fn_80110C70 = .text:0x80110C70; // type:function size:0x2C -fn_80110CA0 = .text:0x80110CA0; // type:function size:0x30 -fn_80110CD0 = .text:0x80110CD0; // type:function size:0x40 -fn_80110D10 = .text:0x80110D10; // type:function size:0x8 -fn_80110D20 = .text:0x80110D20; // type:function size:0x8 -fn_80110D30 = .text:0x80110D30; // type:function size:0x40 -fn_80110D70 = .text:0x80110D70; // type:function size:0x8 -fn_80110D80 = .text:0x80110D80; // type:function size:0x8 -fn_80110D90 = .text:0x80110D90; // type:function size:0x40 -fn_80110DD0 = .text:0x80110DD0; // type:function size:0x8 -fn_80110DE0 = .text:0x80110DE0; // type:function size:0x8 -fn_80110DF0 = .text:0x80110DF0; // type:function size:0x12C -fn_80110F20 = .text:0x80110F20; // type:function size:0x84 -fn_80110FB0 = .text:0x80110FB0; // type:function size:0x84 -fn_80111040 = .text:0x80111040; // type:function size:0xA4 -fn_801110F0 = .text:0x801110F0; // type:function size:0xA0 -fn_80111190 = .text:0x80111190; // type:function size:0x6C -fn_80111200 = .text:0x80111200; // type:function size:0x58 -fn_80111260 = .text:0x80111260; // type:function size:0x30 -fn_80111290 = .text:0x80111290; // type:function size:0x30 -fn_801112C0 = .text:0x801112C0; // type:function size:0x30 -LytCommonIconMaterial__initStates = .text:0x801112F0; // type:function size:0x338 -LytCommonIconMaterial__dtor = .text:0x80111630; // type:function size:0x58 -fn_80111690 = .text:0x80111690; // type:function size:0x88 +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 +reset__29dLytCommonIconMaterialPart1_cFv = .text:0x8010FA20; // type:function size:0x15C +setItem__29dLytCommonIconMaterialPart1_cFUc = .text:0x8010FB80; // type:function size:0x54 +realizeBg__29dLytCommonIconMaterialPart1_cFv = .text:0x8010FBE0; // type:function size:0xAC +realizeNumberV__29dLytCommonIconMaterialPart1_cFv = .text:0x8010FC90; // type:function size:0xAC +realizeShadow__29dLytCommonIconMaterialPart1_cFv = .text:0x8010FD40; // type:function size:0x8C +realizeItem__29dLytCommonIconMaterialPart1_cFUc = .text:0x8010FDD0; // type:function size:0xD4 +setNumber__29dLytCommonIconMaterialPart1_cFl = .text:0x8010FEB0; // type:function size:0x88 +setOn__29dLytCommonIconMaterialPart1_cFv = .text:0x8010FF40; // type:function size:0x2C +setOff__29dLytCommonIconMaterialPart1_cFv = .text:0x8010FF70; // type:function size:0x2C +isCursorOver__29dLytCommonIconMaterialPart1_cCFv = .text:0x8010FFA0; // type:function size:0x7C +setVisible__29dLytCommonIconMaterialPart1_cFb = .text:0x80110020; // type:function size:0x34 +build__29dLytCommonIconMaterialPart2_cFPQ23d2d10ResAccIf_c = .text:0x80110060; // type:function size:0x100 +remove__29dLytCommonIconMaterialPart2_cFv = .text:0x80110160; // type:function size:0x58 +execute__29dLytCommonIconMaterialPart2_cFv = .text:0x801101C0; // type:function size:0x9C +reset__29dLytCommonIconMaterialPart2_cFv = .text:0x80110260; // type:function size:0x15C +setItem__29dLytCommonIconMaterialPart2_cFUc = .text:0x801103C0; // type:function size:0x54 +realizeBg__29dLytCommonIconMaterialPart2_cFv = .text:0x80110420; // type:function size:0xAC +realizeNumberV__29dLytCommonIconMaterialPart2_cFv = .text:0x801104D0; // type:function size:0xAC +realizeShadow__29dLytCommonIconMaterialPart2_cFv = .text:0x80110580; // type:function size:0x8C +realizeItem__29dLytCommonIconMaterialPart2_cFUc = .text:0x80110610; // type:function size:0xD4 +setNumber__29dLytCommonIconMaterialPart2_cFl = .text:0x801106F0; // type:function size:0x88 +setOn__29dLytCommonIconMaterialPart2_cFv = .text:0x80110780; // type:function size:0x2C +setOff__29dLytCommonIconMaterialPart2_cFv = .text:0x801107B0; // type:function size:0x2C +isCursorOver__29dLytCommonIconMaterialPart2_cCFv = .text:0x801107E0; // type:function size:0x7C +setVisible__29dLytCommonIconMaterialPart2_cFb = .text:0x80110860; // type:function size:0x34 +initializeState_None__24dLytCommonIconMaterial_cFv = .text:0x801108A0; // type:function size:0x4 +executeState_None__24dLytCommonIconMaterial_cFv = .text:0x801108B0; // type:function size:0x4 +finalizeState_None__24dLytCommonIconMaterial_cFv = .text:0x801108C0; // type:function size:0x4 +initializeState_In__24dLytCommonIconMaterial_cFv = .text:0x801108D0; // type:function size:0x4 +executeState_In__24dLytCommonIconMaterial_cFv = .text:0x801108E0; // type:function size:0x4 +finalizeState_In__24dLytCommonIconMaterial_cFv = .text:0x801108F0; // type:function size:0x4 +initializeState_Wait__24dLytCommonIconMaterial_cFv = .text:0x80110900; // type:function size:0x4 +executeState_Wait__24dLytCommonIconMaterial_cFv = .text:0x80110910; // type:function size:0x4 +finalizeState_Wait__24dLytCommonIconMaterial_cFv = .text:0x80110920; // type:function size:0x4 +initializeState_Out__24dLytCommonIconMaterial_cFv = .text:0x80110930; // type:function size:0x4 +executeState_Out__24dLytCommonIconMaterial_cFv = .text:0x80110940; // type:function size:0x4 +finalizeState_Out__24dLytCommonIconMaterial_cFv = .text:0x80110950; // type:function size:0x4 +build__24dLytCommonIconMaterial_cFPQ23d2d10ResAccIf_c = .text:0x80110960; // type:function size:0x28 +build__24dLytCommonIconMaterial_cFPQ23d2d10ResAccIf_cUc = .text:0x80110990; // type:function size:0x4C +remove__24dLytCommonIconMaterial_cFv = .text:0x801109E0; // type:function size:0x4C +execute__24dLytCommonIconMaterial_cFv = .text:0x80110A30; // type:function size:0x4C +reset__24dLytCommonIconMaterial_cFv = .text:0x80110A80; // type:function size:0x2C +setBg__24dLytCommonIconMaterial_cFb = .text:0x80110AB0; // type:function size:0x28 +setHasNumber__24dLytCommonIconMaterial_cFb = .text:0x80110AE0; // type:function size:0x28 +setShadow__24dLytCommonIconMaterial_cFb = .text:0x80110B10; // type:function size:0x28 +setItem__24dLytCommonIconMaterial_cFUc = .text:0x80110B40; // type:function size:0x2C +setNumber__24dLytCommonIconMaterial_cFl = .text:0x80110B70; // type:function size:0x2C +setOn__24dLytCommonIconMaterial_cFv = .text:0x80110BA0; // type:function size:0x2C +setOff__24dLytCommonIconMaterial_cFv = .text:0x80110BD0; // type:function size:0x2C +isCursorOver__24dLytCommonIconMaterial_cCFv = .text:0x80110C00; // type:function size:0x68 +setVisible__24dLytCommonIconMaterial_cFb = .text:0x80110C70; // type:function size:0x2C +getBounding__24dLytCommonIconMaterial_cCFv = .text:0x80110CA0; // type:function size:0x30 +getName__24dLytCommonIconMaterial_cCFv = .text:0x80110CD0; // type:function size:0x40 +getName__29dLytCommonIconMaterialPart1_cCFv = .text:0x80110D10; // type:function size:0x8 +getName__29dLytCommonIconMaterialPart2_cCFv = .text:0x80110D20; // type:function size:0x8 +getLyt__24dLytCommonIconMaterial_cFv = .text:0x80110D30; // type:function size:0x40 +getLyt__29dLytCommonIconMaterialPart1_cFv = .text:0x80110D70; // type:function size:0x8 +getLyt__29dLytCommonIconMaterialPart2_cFv = .text:0x80110D80; // type:function size:0x8 +getPane__24dLytCommonIconMaterial_cFv = .text:0x80110D90; // type:function size:0x40 +getPane__29dLytCommonIconMaterialPart1_cFv = .text:0x80110DD0; // type:function size:0x8 +getPane__29dLytCommonIconMaterialPart2_cFv = .text:0x80110DE0; // type:function size:0x8 +__dt__24dLytCommonIconMaterial_cFv = .text:0x80110DF0; // type:function size:0x12C +__dt__29dLytCommonIconMaterialPart2_cFv = .text:0x80110F20; // type:function size:0x84 +__dt__29dLytCommonIconMaterialPart1_cFv = .text:0x80110FB0; // type:function size:0x84 +__dt__63sFStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c>Fv = .text:0x80111040; // type:function size:0xA4 +__dt__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801110F0; // type:function size:0xA0 +__dt__40sFStateFct_c<24dLytCommonIconMaterial_c>Fv = .text:0x80111190; // type:function size:0x6C +__dt__37sFState_c<24dLytCommonIconMaterial_c>Fv = .text:0x80111200; // type:function size:0x58 +finalizeState__39sFStateID_c<24dLytCommonIconMaterial_c>CFR24dLytCommonIconMaterial_c = .text:0x80111260; // type:function size:0x30 +executeState__39sFStateID_c<24dLytCommonIconMaterial_c>CFR24dLytCommonIconMaterial_c = .text:0x80111290; // type:function size:0x30 +initializeState__39sFStateID_c<24dLytCommonIconMaterial_c>CFR24dLytCommonIconMaterial_c = .text:0x801112C0; // type:function size:0x30 +__sinit_\d_lyt_common_icon_material_cpp = .text:0x801112F0; // type:function size:0x338 scope:local +__dt__39sFStateID_c<24dLytCommonIconMaterial_c>Fv = .text:0x80111630; // type:function size:0x58 +isSameName__39sFStateID_c<24dLytCommonIconMaterial_c>CFPCc = .text:0x80111690; // type:function size:0x88 build__25dLytCommonIconItemPart1_cFPQ23d2d10ResAccIf_c = .text:0x80111720; // type:function size:0x100 remove__25dLytCommonIconItemPart1_cFv = .text:0x80111820; // type:function size:0x58 execute__25dLytCommonIconItemPart1_cFv = .text:0x80111880; // type:function size:0xC4 reset__25dLytCommonIconItemPart1_cFv = .text:0x80111950; // type:function size:0x198 setItem__25dLytCommonIconItemPart1_cFUc = .text:0x80111AF0; // type:function size:0x5C realizeUnk__25dLytCommonIconItemPart1_cFv = .text:0x80111B50; // type:function size:0x4 -realizeNumber__25dLytCommonIconItemPart1_cFv = .text:0x80111B60; // type:function size:0x8C +realizeNumberV__25dLytCommonIconItemPart1_cFv = .text:0x80111B60; // type:function size:0x8C realizeSize__25dLytCommonIconItemPart1_cFv = .text:0x80111BF0; // type:function size:0x8C realizeBocoburin__25dLytCommonIconItemPart1_cFv = .text:0x80111C80; // type:function size:0x8C realizeItem__25dLytCommonIconItemPart1_cFUc = .text:0x80111D10; // type:function size:0xD4 @@ -6670,7 +6670,7 @@ reset__25dLytCommonIconItemPart2_cFv = .text:0x80112300; // type:function size:0 setShieldOnOff__25dLytCommonIconItemPart2_cFb = .text:0x80112520; // type:function size:0x54 setItem__25dLytCommonIconItemPart2_cFUc = .text:0x80112580; // type:function size:0x130 realizeUnk__25dLytCommonIconItemPart2_cFv = .text:0x801126B0; // type:function size:0x4 -realizeNumber__25dLytCommonIconItemPart2_cFv = .text:0x801126C0; // type:function size:0x8C +realizeNumberV__25dLytCommonIconItemPart2_cFv = .text:0x801126C0; // type:function size:0x8C realizeSize__25dLytCommonIconItemPart2_cFv = .text:0x80112750; // type:function size:0x8C realizeBocoburin__25dLytCommonIconItemPart2_cFv = .text:0x801127E0; // type:function size:0x8C realizeItem__25dLytCommonIconItemPart2_cFUc = .text:0x80112870; // type:function size:0xD4 @@ -8862,42 +8862,42 @@ initializeState__32sFStateID_c<17dLytPauseDisp00_c>CFR17dLytPauseDisp00_c = .tex __sinit_\d_lyt_pause_disp_00_cpp = .text:0x8015E790; // type:function size:0x56C scope:local __dt__32sFStateID_c<17dLytPauseDisp00_c>Fv = .text:0x8015ED00; // type:function size:0x58 isSameName__32sFStateID_c<17dLytPauseDisp00_c>CFPCc = .text:0x8015ED60; // type:function size:0x88 -LytPauseDisp01__ctor = .text:0x8015EDF0; // type:function size:0x160 -fn_8015EF50 = .text:0x8015EF50; // type:function size:0xA4 -fn_8015F000 = .text:0x8015F000; // type:function size:0xA0 -fn_8015F0A0 = .text:0x8015F0A0; // type:function size:0x6C -fn_8015F110 = .text:0x8015F110; // type:function size:0x58 -fn_8015F170 = .text:0x8015F170; // type:function size:0x1A0 +__ct__17dLytPauseDisp01_cFv = .text:0x8015EDF0; // type:function size:0x160 +__dt__56sFStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c>Fv = .text:0x8015EF50; // type:function size:0xA4 +__dt__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8015F000; // type:function size:0xA0 +__dt__33sFStateFct_c<17dLytPauseDisp01_c>Fv = .text:0x8015F0A0; // type:function size:0x6C +__dt__30sFState_c<17dLytPauseDisp01_c>Fv = .text:0x8015F110; // type:function size:0x58 +__ct__24dLytCommonIconMaterial_cFv = .text:0x8015F170; // type:function size:0x1A0 fn_8015F310 = .text:0x8015F310; // type:function size:0x210 -fn_8015F520 = .text:0x8015F520; // type:function size:0x10 +changeState__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8015F520; // type:function size:0x10 fn_8015F530 = .text:0x8015F530; // type:function size:0xFC fn_8015F630 = .text:0x8015F630; // type:function size:0xF4 -fn_8015F730 = .text:0x8015F730; // type:function size:0x10 -fn_8015F740 = .text:0x8015F740; // type:function size:0x10 +executeState__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8015F730; // type:function size:0x10 +getStateID__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8015F740; // type:function size:0x10 fn_8015F750 = .text:0x8015F750; // type:function size:0x38 fn_8015F790 = .text:0x8015F790; // type:function size:0x14 fn_8015F7B0 = .text:0x8015F7B0; // type:function size:0x14 fn_8015F7D0 = .text:0x8015F7D0; // type:function size:0x14 fn_8015F7F0 = .text:0x8015F7F0; // type:function size:0x10 fn_8015F800 = .text:0x8015F800; // type:function size:0x10 -LytPauseDisp01__stateNoneEnter = .text:0x8015F810; // type:function size:0x1D4 -LytPauseDisp01__stateNoneUpdate = .text:0x8015F9F0; // type:function size:0x34 -LytPauseDisp01__stateNoneLeave = .text:0x8015FA30; // type:function size:0x4 -LytPauseDisp01__stateInEnter = .text:0x8015FA40; // type:function size:0xF0 -LytPauseDisp01__stateInUpdate = .text:0x8015FB30; // type:function size:0xE4 -LytPauseDisp01__stateInLeave = .text:0x8015FC20; // type:function size:0x98 -LytPauseDisp01__stateWaitEnter = .text:0x8015FCC0; // type:function size:0x10 -LytPauseDisp01__stateWaitUpdate = .text:0x8015FCD0; // type:function size:0xF0 -LytPauseDisp01__stateWaitLeave = .text:0x8015FDC0; // type:function size:0x4 -LytPauseDisp01__stateSelectEnter = .text:0x8015FDD0; // type:function size:0x10 -LytPauseDisp01__stateSelectUpdate = .text:0x8015FDE0; // type:function size:0x2C -LytPauseDisp01__stateSelectLeave = .text:0x8015FE10; // type:function size:0x10 -LytPauseDisp01__stateGetDemoEnter = .text:0x8015FE20; // type:function size:0x1C -LytPauseDisp01__stateGetDemoUpdate = .text:0x8015FE40; // type:function size:0x694 -LytPauseDisp01__stateGetDemoLeave = .text:0x801604E0; // type:function size:0x4 -LytPauseDisp01__stateOutEnter = .text:0x801604F0; // type:function size:0x94 -LytPauseDisp01__stateOutUpdate = .text:0x80160590; // type:function size:0xE0 -LytPauseDisp01__stateOutLeave = .text:0x80160670; // type:function size:0x4 +initializeState_None__17dLytPauseDisp01_cFv = .text:0x8015F810; // type:function size:0x1D4 +executeState_None__17dLytPauseDisp01_cFv = .text:0x8015F9F0; // type:function size:0x34 +finalizeState_None__17dLytPauseDisp01_cFv = .text:0x8015FA30; // type:function size:0x4 +initializeState_In__17dLytPauseDisp01_cFv = .text:0x8015FA40; // type:function size:0xF0 +executeState_In__17dLytPauseDisp01_cFv = .text:0x8015FB30; // type:function size:0xE4 +finalizeState_In__17dLytPauseDisp01_cFv = .text:0x8015FC20; // type:function size:0x98 +initializeState_Wait__17dLytPauseDisp01_cFv = .text:0x8015FCC0; // type:function size:0x10 +executeState_Wait__17dLytPauseDisp01_cFv = .text:0x8015FCD0; // type:function size:0xF0 +finalizeState_Wait__17dLytPauseDisp01_cFv = .text:0x8015FDC0; // type:function size:0x4 +initializeState_Select__17dLytPauseDisp01_cFv = .text:0x8015FDD0; // type:function size:0x10 +executeState_Select__17dLytPauseDisp01_cFv = .text:0x8015FDE0; // type:function size:0x2C +finalizeState_Select__17dLytPauseDisp01_cFv = .text:0x8015FE10; // type:function size:0x10 +initializeState_GetDemo__17dLytPauseDisp01_cFv = .text:0x8015FE20; // type:function size:0x1C +executeState_GetDemo__17dLytPauseDisp01_cFv = .text:0x8015FE40; // type:function size:0x694 +finalizeState_GetDemo__17dLytPauseDisp01_cFv = .text:0x801604E0; // type:function size:0x4 +initializeState_Out__17dLytPauseDisp01_cFv = .text:0x801604F0; // type:function size:0x94 +executeState_Out__17dLytPauseDisp01_cFv = .text:0x80160590; // type:function size:0xE0 +finalizeState_Out__17dLytPauseDisp01_cFv = .text:0x80160670; // type:function size:0x4 fn_80160680 = .text:0x80160680; // type:function size:0x68 fn_801606F0 = .text:0x801606F0; // type:function size:0x10 LytPauseDisp01__setupPauseMenuDisplayMaybe = .text:0x80160700; // type:function size:0x3E0 @@ -8917,37 +8917,37 @@ fn_80161560 = .text:0x80161560; // type:function size:0x14 fn_80161580 = .text:0x80161580; // type:function size:0x10 fn_80161590 = .text:0x80161590; // type:function size:0x14 fn_801615B0 = .text:0x801615B0; // type:function size:0x130 -fn_801616E0 = .text:0x801616E0; // type:function size:0x10 -fn_801616F0 = .text:0x801616F0; // type:function size:0x10 -fn_80161700 = .text:0x80161700; // type:function size:0x60 -fn_80161760 = .text:0x80161760; // type:function size:0xC -fn_80161770 = .text:0x80161770; // type:function size:0x60 -fn_801617D0 = .text:0x801617D0; // type:function size:0xC -fn_801617E0 = .text:0x801617E0; // type:function size:0x1C -fn_80161800 = .text:0x80161800; // type:function size:0x1C -fn_80161820 = .text:0x80161820; // type:function size:0x1C -fn_80161840 = .text:0x80161840; // type:function size:0x1C -fn_80161860 = .text:0x80161860; // type:function size:0x1C -fn_80161880 = .text:0x80161880; // type:function size:0x1C -fn_801618A0 = .text:0x801618A0; // type:function size:0x10 -fn_801618B0 = .text:0x801618B0; // type:function size:0x10 -fn_801618C0 = .text:0x801618C0; // type:function size:0x10 -fn_801618D0 = .text:0x801618D0; // type:function size:0x10 -fn_801618E0 = .text:0x801618E0; // type:function size:0x10 -fn_801618F0 = .text:0x801618F0; // type:function size:0x10 -fn_80161900 = .text:0x80161900; // type:function size:0x10 -fn_80161910 = .text:0x80161910; // type:function size:0x10 -fn_80161920 = .text:0x80161920; // type:function size:0x10 -fn_80161930 = .text:0x80161930; // type:function size:0x10 -fn_80161940 = .text:0x80161940; // type:function size:0x10 -fn_80161950 = .text:0x80161950; // type:function size:0x10 -fn_80161960 = .text:0x80161960; // type:function size:0x10 -fn_80161970 = .text:0x80161970; // type:function size:0x30 -fn_801619A0 = .text:0x801619A0; // type:function size:0x30 -fn_801619D0 = .text:0x801619D0; // type:function size:0x30 -LytPauseDisp01__initStates = .text:0x80161A00; // type:function size:0x4B0 -LytPauseDisp01__state_dtor = .text:0x80161EB0; // type:function size:0x58 -fn_80161F10 = .text:0x80161F10; // type:function size:0x88 +changeState__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x801616E0; // type:function size:0x10 +getStateID__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801616F0; // type:function size:0x10 +build__33sFStateFct_c<17dLytPauseDisp01_c>FRC12sStateIDIf_c = .text:0x80161700; // type:function size:0x60 +dispose__33sFStateFct_c<17dLytPauseDisp01_c>FRP10sStateIf_c = .text:0x80161760; // type:function size:0xC +build__40sFStateFct_c<24dLytCommonIconMaterial_c>FRC12sStateIDIf_c = .text:0x80161770; // type:function size:0x60 +dispose__40sFStateFct_c<24dLytCommonIconMaterial_c>FRP10sStateIf_c = .text:0x801617D0; // type:function size:0xC +initialize__30sFState_c<17dLytPauseDisp01_c>Fv = .text:0x801617E0; // type:function size:0x1C +execute__30sFState_c<17dLytPauseDisp01_c>Fv = .text:0x80161800; // type:function size:0x1C +finalize__30sFState_c<17dLytPauseDisp01_c>Fv = .text:0x80161820; // type:function size:0x1C +initialize__37sFState_c<24dLytCommonIconMaterial_c>Fv = .text:0x80161840; // type:function size:0x1C +execute__37sFState_c<24dLytCommonIconMaterial_c>Fv = .text:0x80161860; // type:function size:0x1C +finalize__37sFState_c<24dLytCommonIconMaterial_c>Fv = .text:0x80161880; // type:function size:0x1C +initializeState__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801618A0; // type:function size:0x10 +finalizeState__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801618B0; // type:function size:0x10 +refreshState__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801618C0; // type:function size:0x10 +getState__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801618D0; // type:function size:0x10 +getNewStateID__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801618E0; // type:function size:0x10 +getOldStateID__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801618F0; // type:function size:0x10 +initializeState__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80161900; // type:function size:0x10 +executeState__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80161910; // type:function size:0x10 +finalizeState__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80161920; // type:function size:0x10 +refreshState__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80161930; // type:function size:0x10 +getState__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80161940; // type:function size:0x10 +getNewStateID__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80161950; // type:function size:0x10 +getOldStateID__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80161960; // type:function size:0x10 +finalizeState__32sFStateID_c<17dLytPauseDisp01_c>CFR17dLytPauseDisp01_c = .text:0x80161970; // type:function size:0x30 +executeState__32sFStateID_c<17dLytPauseDisp01_c>CFR17dLytPauseDisp01_c = .text:0x801619A0; // type:function size:0x30 +initializeState__32sFStateID_c<17dLytPauseDisp01_c>CFR17dLytPauseDisp01_c = .text:0x801619D0; // type:function size:0x30 +__sinit_\d_lyt_pause_disp_01_cpp = .text:0x80161A00; // type:function size:0x4B0 +__dt__32sFStateID_c<17dLytPauseDisp01_c>Fv = .text:0x80161EB0; // type:function size:0x58 +isSameName__32sFStateID_c<17dLytPauseDisp01_c>CFPCc = .text:0x80161F10; // type:function size:0x88 LytPauseInfo__ctor = .text:0x80161FA0; // type:function size:0xCC fn_80162070 = .text:0x80162070; // type:function size:0xA4 fn_80162120 = .text:0x80162120; // type:function size:0xA0 @@ -31973,31 +31973,31 @@ 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_8051ACD8 = .data:0x8051ACD8; // type:object size:0x18 data:string -lbl_8051ACF0 = .data:0x8051ACF0; // type:object size:0xC +lbl_8051ACF0 = .data:0x8051ACF0; // type:object size:0x9 data:string lbl_8051ACFC = .data:0x8051ACFC; // type:object size:0x1C data:string -lbl_8051AD18 = .data:0x8051AD18; // type:object size:0x10 -lbl_8051AD28 = .data:0x8051AD28; // type:object size:0x1C -lbl_8051AD44 = .data:0x8051AD44; // type:object size:0xC -lbl_8051AD50 = .data:0x8051AD50; // type:object size:0x1C +lbl_8051AD18 = .data:0x8051AD18; // type:object size:0xD data:string +lbl_8051AD28 = .data:0x8051AD28; // type:object size:0x19 data:string +lbl_8051AD44 = .data:0x8051AD44; // type:object size:0xA data:string +lbl_8051AD50 = .data:0x8051AD50; // type:object size:0x1B data:string lbl_8051AD6C = .data:0x8051AD6C; // type:object size:0xC data:string -lbl_8051AD78 = .data:0x8051AD78; // type:object size:0x20 -lbl_8051AD98 = .data:0x8051AD98; // type:object size:0x10 -lbl_8051ADA8 = .data:0x8051ADA8; // type:object size:0x1C -lbl_8051ADC4 = .data:0x8051ADC4; // type:object size:0xC +lbl_8051AD78 = .data:0x8051AD78; // type:object size:0x1E data:string +lbl_8051AD98 = .data:0x8051AD98; // type:object size:0xF data:string +lbl_8051ADA8 = .data:0x8051ADA8; // type:object size:0x1A data:string +lbl_8051ADC4 = .data:0x8051ADC4; // type:object size:0x9 data:string lbl_8051ADD0 = .data:0x8051ADD0; // type:object size:0x10 data:string -lbl_8051ADE0 = .data:0x8051ADE0; // type:object size:0x10 -lbl_8051ADF0 = .data:0x8051ADF0; // type:object size:0xC +lbl_8051ADE0 = .data:0x8051ADE0; // type:object size:0xF data:string +lbl_8051ADF0 = .data:0x8051ADF0; // type:object size:0x9 data:string lbl_8051ADFC = .data:0x8051ADFC; // type:object size:0x14 data:string lbl_8051AE10 = .data:0x8051AE10; // type:object size:0x18 data:string lbl_8051AE28 = .data:0x8051AE28; // type:object size:0x1C data:string -lbl_8051AE44 = .data:0x8051AE44; // type:object size:0x1C -lbl_8051AE60 = .data:0x8051AE60; // type:object size:0x1C -lbl_8051AE7C = .data:0x8051AE7C; // type:object size:0x20 -lbl_8051AE9C = .data:0x8051AE9C; // type:object size:0x1C -lbl_8051AEB8 = .data:0x8051AEB8; // type:object size:0xC +lbl_8051AE44 = .data:0x8051AE44; // type:object size:0x1A data:string +lbl_8051AE60 = .data:0x8051AE60; // type:object size:0x1B data:string +lbl_8051AE7C = .data:0x8051AE7C; // type:object size:0x1E data:string +lbl_8051AE9C = .data:0x8051AE9C; // type:object size:0x1A data:string +lbl_8051AEB8 = .data:0x8051AEB8; // type:object size:0xB data:string lbl_8051AEC4 = .data:0x8051AEC4; // type:object size:0x14 data:string -lbl_8051AED8 = .data:0x8051AED8; // type:object size:0x164 -lbl_8051B03C = .data:0x8051B03C; // type:object size:0x34 +__vt__24dLytCommonIconMaterial_c = .data:0x8051AED8; // type:object size:0x34 +__vt__39sFStateID_c<24dLytCommonIconMaterial_c> = .data:0x8051B03C; // type:object size:0x34 lbl_8051B070 = .data:0x8051B070; // type:object size:0x19 data:string lbl_8051B08C = .data:0x8051B08C; // type:object size:0xA data:string lbl_8051B098 = .data:0x8051B098; // type:object size:0x1E data:string @@ -33241,17 +33241,17 @@ lbl_805261C0 = .data:0x805261C0; // type:object size:0xC lbl_805261CC = .data:0x805261CC; // type:object size:0xC lbl_805261D8 = .data:0x805261D8; // type:object size:0xC lbl_805261E4 = .data:0x805261E4; // type:object size:0x7C -lbl_80526260 = .data:0x80526260; // type:object size:0x10 -lbl_80526270 = .data:0x80526270; // type:object size:0x30 -lbl_805262A0 = .data:0x805262A0; // type:object size:0x30 -lbl_805262D0 = .data:0x805262D0; // type:object size:0x18 -lbl_805262E8 = .data:0x805262E8; // type:object size:0x18 -lbl_80526300 = .data:0x80526300; // type:object size:0x30 -lbl_80526330 = .data:0x80526330; // type:object size:0x30 -lbl_80526360 = .data:0x80526360; // type:object size:0x18 -lbl_80526378 = .data:0x80526378; // type:object size:0x18 -lbl_80526390 = .data:0x80526390; // type:object size:0x18 -lbl_805263A8 = .data:0x805263A8; // type:object size:0x230 +__vt__17dLytPauseDisp01_c = .data:0x80526260; // type:object size:0x10 +__vt__56sFStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c> = .data:0x80526270; // type:object size:0x30 +__vt__86sStateMgr_c<17dLytPauseDisp01_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x805262A0; // type:object size:0x30 +__vt__33sFStateFct_c<17dLytPauseDisp01_c> = .data:0x805262D0; // type:object size:0x18 +__vt__30sFState_c<17dLytPauseDisp01_c> = .data:0x805262E8; // type:object size:0x18 +__vt__63sFStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c> = .data:0x80526300; // type:object size:0x30 +__vt__93sStateMgr_c<24dLytCommonIconMaterial_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80526330; // type:object size:0x30 +__vt__40sFStateFct_c<24dLytCommonIconMaterial_c> = .data:0x80526360; // type:object size:0x18 +__vt__37sFState_c<24dLytCommonIconMaterial_c> = .data:0x80526378; // type:object size:0x18 +__vt__29dLytCommonIconMaterialPart2_c = .data:0x80526390; // type:object size:0x18 +__vt__29dLytCommonIconMaterialPart1_c = .data:0x805263A8; // type:object size:0x230 lbl_805265D8 = .data:0x805265D8; // type:object size:0x38 lbl_80526610 = .data:0x80526610; // type:object size:0x18 lbl_80526628 = .data:0x80526628; // type:object size:0xC @@ -38184,9 +38184,9 @@ lbl_80572520 = .sdata:0x80572520; // type:object size:0x8 data:string lbl_80572528 = .sdata:0x80572528; // type:object size:0x8 data:4byte lbl_80572530 = .sdata:0x80572530; // type:object size:0x8 data:4byte lbl_80572538 = .sdata:0x80572538; // type:object size:0x4 data:4byte -lbl_8057253C = .sdata:0x8057253C; // type:object size:0xC +lbl_8057253C = .sdata:0x8057253C; // type:object size:0x6 data:wstring lbl_80572548 = .sdata:0x80572548; // type:object size:0x8 data:4byte -lbl_80572550 = .sdata:0x80572550; // type:object size:0x8 data:4byte +lbl_80572550 = .sdata:0x80572550; // type:object size:0x4 data:4byte part1TextBoxes = .sdata:0x80572558; // type:object size:0x8 data:4byte part1Bounding = .sdata:0x80572560; // type:object size:0x4 data:4byte lbl_80572564 = .sdata:0x80572564; // type:object size:0x6 data:wstring @@ -48801,7 +48801,11 @@ LytDoButton__STATE_INVISIBLE_TIME_CNT = .bss:0x805ACE88; // type:object size:0x8 LytDoButton__STATE_WAIT = .bss:0x805ACF08; // type:object size:0x40 data:4byte LytDoButton__STATE_OUT = .bss:0x805ACF48; // type:object size:0x30 data:4byte lbl_805ACF78 = .bss:0x805ACF78; // type:object size:0x10 -lbl_805ACF88 = .bss:0x805ACF88; // type:object size:0x100 +lbl_805ACF88 = .bss:0x805ACF88; // type:object size:0xC +StateID_None__24dLytCommonIconMaterial_c = .bss:0x805ACF98; // type:object size:0x30 +StateID_In__24dLytCommonIconMaterial_c = .bss:0x805ACFD8; // type:object size:0x30 +StateID_Wait__24dLytCommonIconMaterial_c = .bss:0x805AD018; // type:object size:0x30 +StateID_Out__24dLytCommonIconMaterial_c = .bss:0x805AD058; // type:object size:0x30 lbl_805AD088 = .bss:0x805AD088; // type:object size:0xC StateID_None__20dLytCommonIconItem_c = .bss:0x805AD098; // type:object size:0x30 StateID_In__20dLytCommonIconItem_c = .bss:0x805AD0D8; // type:object size:0x30 diff --git a/configure.py b/configure.py index eff63851..4e07a0f9 100644 --- a/configure.py +++ b/configure.py @@ -401,7 +401,7 @@ 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(NonMatching, "d/lyt/d_lyt_common_icon_material.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"), @@ -426,6 +426,7 @@ config.libs = [ Object(Matching, "d/lyt/d_lyt_sky_gauge.cpp"), Object(NonMatching, "d/lyt/d_lyt_boss_gauge.cpp"), Object(NonMatching, "d/lyt/d_lyt_pause_disp_00.cpp"), + Object(NonMatching, "d/lyt/d_lyt_pause_disp_01.cpp"), Object(Matching, "d/lyt/d_lyt_fader.cpp"), Object(Matching, "d/lyt/d_screen_fader.cpp"), Object(NonMatching, "d/a/d_a_insect.cpp"), diff --git a/include/d/lyt/d_lyt_common_icon_item.h b/include/d/lyt/d_lyt_common_icon_item.h index 85e98a39..7e5712c7 100644 --- a/include/d/lyt/d_lyt_common_icon_item.h +++ b/include/d/lyt/d_lyt_common_icon_item.h @@ -61,7 +61,7 @@ public: private: void realizeUnk(); - void realizeNumber(); + void realizeNumberV(); void realizeSize(); void realizeBocoburin(); void realizeItem(u8 item); @@ -137,7 +137,7 @@ public: private: void realizeUnk(); - void realizeNumber(); + void realizeNumberV(); void realizeSize(); void realizeBocoburin(); void realizeItem(u8 item); diff --git a/include/d/lyt/d_lyt_common_icon_material.h b/include/d/lyt/d_lyt_common_icon_material.h new file mode 100644 index 00000000..525004d8 --- /dev/null +++ b/include/d/lyt/d_lyt_common_icon_material.h @@ -0,0 +1,201 @@ +#ifndef D_LYT_COMMON_ICON_MATERIAL_H +#define D_LYT_COMMON_ICON_MATERIAL_H + +#include "common.h" +#include "d/lyt/d2d.h" +#include "d/lyt/d_structd.h" +#include "d/lyt/d_textbox.h" +#include "nw4r/lyt/lyt_bounding.h" +#include "s/s_State.hpp" + +class dLytCommonIconMaterialPartBase_c { +public: + virtual ~dLytCommonIconMaterialPartBase_c() {} + virtual nw4r::lyt::Pane *getPane() = 0; + virtual d2d::LytBase_c *getLyt() = 0; + virtual const char *getName() const = 0; +}; + +/** Material - Bug */ +class dLytCommonIconMaterialPart1_c : public dLytCommonIconMaterialPartBase_c { +public: + dLytCommonIconMaterialPart1_c() {} + virtual ~dLytCommonIconMaterialPart1_c() {} + 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(); + } + + bool build(d2d::ResAccIf_c *resAcc); + bool remove(); + bool execute(); + void reset(); + void setItem(u8 item); + + void setNumber(s32 number); + void setOn(); + void setOff(); + + bool isCursorOver() const; + void setVisible(bool visible); + + const nw4r::lyt::Bounding *getBounding() const { + return mpBounding; + } + + void setBg(bool bg) { + mBg = bg; + } + void setHasNumber(bool hasNumber) { + mNumberV = hasNumber; + } + void setShadow(bool shadow) { + mShadow = shadow; + } + +private: + void realizeBg(); + void realizeNumberV(); + void realizeShadow(); + void realizeItem(u8 item); + + /* 0x004 */ d2d::dLytSub mLyt; + /* 0x098 */ d2d::AnmGroup_c mAnm[6]; + /* 0x218 */ dTextBox_c *mpTextBoxes[2]; + /* 0x220 */ nw4r::lyt::Bounding *mpBounding; + /* 0x224 */ d2d::dLytStructD mCursor; + /* 0x24C */ u8 mItem; + /* 0x24D */ u8 _0x24D[0x254 - 0x24D]; + /* 0x254 */ wchar_t mNumberBuf[16]; + /* 0x274 */ bool mBg; + /* 0x275 */ bool mNumberV; + /* 0x276 */ bool mShadow; +}; + +/** Material - Treasure */ +class dLytCommonIconMaterialPart2_c : public dLytCommonIconMaterialPartBase_c { +public: + dLytCommonIconMaterialPart2_c() {} + virtual ~dLytCommonIconMaterialPart2_c() {} + 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(); + } + + bool build(d2d::ResAccIf_c *resAcc); + bool remove(); + bool execute(); + void reset(); + void setItem(u8 item); + + void setNumber(s32 number); + void setOn(); + void setOff(); + + bool isCursorOver() const; + void setVisible(bool visible); + + const nw4r::lyt::Bounding *getBounding() const { + return mpBounding; + } + + void setBg(bool bg) { + mBg = bg; + } + void setHasNumber(bool hasNumber) { + mNumberV = hasNumber; + } + void setShadow(bool shadow) { + mShadow = shadow; + } + +private: + void realizeBg(); + void realizeNumberV(); + void realizeShadow(); + void realizeItem(u8 item); + + /* 0x004 */ d2d::dLytSub mLyt; + /* 0x098 */ d2d::AnmGroup_c mAnm[6]; + /* 0x218 */ dTextBox_c *mpTextBoxes[2]; + /* 0x220 */ nw4r::lyt::Bounding *mpBounding; + /* 0x224 */ d2d::dLytStructD mCursor; + /* 0x24C */ u8 mItem; + /* 0x24D */ u8 _0x24D[0x254 - 0x24D]; + /* 0x254 */ wchar_t mNumberBuf[16]; + /* 0x274 */ bool mBg; + /* 0x275 */ bool mNumberV; + /* 0x276 */ bool mShadow; +}; + +class dLytCommonIconMaterial_c : public d2d::dSubPane { +public: + dLytCommonIconMaterial_c() : mStateMgr(*this, sStateID::null), mPart(2) {} + ~dLytCommonIconMaterial_c() {} + + virtual bool build(d2d::ResAccIf_c *resAcc) override; + virtual bool remove() override; + virtual bool execute() override; + virtual nw4r::lyt::Pane *getPane() override { + switch (mPart) { + case 0: return mPart1.getPane(); + case 1: return mPart2.getPane(); + default: return nullptr; + } + } + virtual d2d::LytBase_c *getLyt() override { + switch (mPart) { + case 0: return mPart1.getLyt(); + case 1: return mPart2.getLyt(); + default: return nullptr; + } + } + virtual const char *getName() const override { + switch (mPart) { + case 0: return mPart1.getName(); + case 1: return mPart2.getName(); + default: return nullptr; + } + } + + bool build(d2d::ResAccIf_c *resAcc, u8 variant); + + void reset(); + + void setBg(bool bg); + void setHasNumber(bool hasNumber); + void setShadow(bool shadow); + void setItem(u8 item); + void setNumber(s32 number); + void setOn(); + void setOff(); + + bool isCursorOver() const; + void setVisible(bool visible); + + + const nw4r::lyt::Bounding *getBounding() const; + +private: + STATE_FUNC_DECLARE(dLytCommonIconMaterial_c, None); + STATE_FUNC_DECLARE(dLytCommonIconMaterial_c, In); + STATE_FUNC_DECLARE(dLytCommonIconMaterial_c, Wait); + STATE_FUNC_DECLARE(dLytCommonIconMaterial_c, Out); + + /* 0x008 */ UI_STATE_MGR_DECLARE(dLytCommonIconMaterial_c); + /* 0x044 */ u8 mPart; + /* 0x048 */ dLytCommonIconMaterialPart1_c mPart1; + /* 0x0B0 */ dLytCommonIconMaterialPart2_c mPart2; +}; + +#endif diff --git a/include/d/lyt/d_lyt_pause_disp_00.h b/include/d/lyt/d_lyt_pause_disp_00.h index 4367e246..a616ef92 100644 --- a/include/d/lyt/d_lyt_pause_disp_00.h +++ b/include/d/lyt/d_lyt_pause_disp_00.h @@ -5,7 +5,6 @@ #include "d/lyt/d_structd.h" #include "d/lyt/d_lyt_common_icon_item.h" #include "s/s_State.hpp" -#include "s/s_StateMgr.hpp" class dLytPauseDisp00_c { public: diff --git a/include/d/lyt/d_lyt_pause_disp_01.h b/include/d/lyt/d_lyt_pause_disp_01.h new file mode 100644 index 00000000..101e4b5a --- /dev/null +++ b/include/d/lyt/d_lyt_pause_disp_01.h @@ -0,0 +1,35 @@ +#ifndef LYT_PAUSE_DISP_01_H +#define LYT_PAUSE_DISP_01_H + +#include "d/lyt/d2d.h" +#include "d/lyt/d_structd.h" +#include "d/lyt/d_lyt_common_icon_material.h" +#include "s/s_State.hpp" + +class dLytPauseDisp01_c { +public: + dLytPauseDisp01_c(); + virtual ~dLytPauseDisp01_c() {} + + void init(); + + STATE_FUNC_DECLARE(dLytPauseDisp01_c, None); + STATE_FUNC_DECLARE(dLytPauseDisp01_c, In); + STATE_FUNC_DECLARE(dLytPauseDisp01_c, Wait); + STATE_FUNC_DECLARE(dLytPauseDisp01_c, Select); + STATE_FUNC_DECLARE(dLytPauseDisp01_c, GetDemo); + STATE_FUNC_DECLARE(dLytPauseDisp01_c, Out); + +private: + void displayElement(int idx, float value); + + /* 0x0004 */ STATE_MGR_DECLARE(dLytPauseDisp01_c); + /* 0x0040 */ d2d::LytBase_c mLytBase; + /* 0x00D0 */ d2d::AnmGroup_c field_0x00D0[15]; + /* 0x0490 */ dLytCommonIconMaterial_c field_0x2050[28]; + /* 0x96B0 */ d2d::SubPaneList mSubpanes; + /* 0x96BC */ d2d::SubPaneListNode field_0xE11C[28]; + /* 0x987C */ d2d::dLytStructD field_0xE29C; +}; + +#endif diff --git a/src/d/lyt/d_lyt_common_icon_item.cpp b/src/d/lyt/d_lyt_common_icon_item.cpp index 9effaee8..5b4217f3 100644 --- a/src/d/lyt/d_lyt_common_icon_item.cpp +++ b/src/d/lyt/d_lyt_common_icon_item.cpp @@ -119,7 +119,7 @@ void dLytCommonIconItemPart1_c::reset() { void dLytCommonIconItemPart1_c::setItem(u8 item) { realizeUnk(); - realizeNumber(); + realizeNumberV(); realizeSize(); realizeBocoburin(); realizeItem(item); @@ -129,7 +129,7 @@ void dLytCommonIconItemPart1_c::realizeUnk() { // Probably related to field_0x2B4 } -void dLytCommonIconItemPart1_c::realizeNumber() { +void dLytCommonIconItemPart1_c::realizeNumberV() { if (mHasNumber) { mAnm[ITEM_PART_1_ANIM_NUMBERV].setFrame(1.0f); } else { @@ -381,7 +381,7 @@ void dLytCommonIconItemPart2_c::setItem(u8 item) { mappedItem = 9; } mHasNumber = false; - realizeNumber(); + realizeNumberV(); } else if (item == 43) { if (mNumber == 1) { mappedItem = 51; @@ -389,9 +389,9 @@ void dLytCommonIconItemPart2_c::setItem(u8 item) { mappedItem = 43; } mHasNumber = false; - realizeNumber(); + realizeNumberV(); } else { - realizeNumber(); + realizeNumberV(); } realizeSize(); @@ -414,7 +414,7 @@ void dLytCommonIconItemPart2_c::realizeUnk() { // Probably related to field_0x??? } -void dLytCommonIconItemPart2_c::realizeNumber() { +void dLytCommonIconItemPart2_c::realizeNumberV() { if (mHasNumber) { mAnm[ITEM_PART_2_ANIM_NUMBERV].setFrame(1.0f); } else { diff --git a/src/d/lyt/d_lyt_common_icon_material.cpp b/src/d/lyt/d_lyt_common_icon_material.cpp new file mode 100644 index 00000000..72799255 --- /dev/null +++ b/src/d/lyt/d_lyt_common_icon_material.cpp @@ -0,0 +1,547 @@ +#include "d/lyt/d_lyt_common_icon_material.h" + +#include "common.h" +#include "d/d_cs_base.h" + +#include + +STATE_DEFINE(dLytCommonIconMaterial_c, None); +STATE_DEFINE(dLytCommonIconMaterial_c, In); +STATE_DEFINE(dLytCommonIconMaterial_c, Wait); +STATE_DEFINE(dLytCommonIconMaterial_c, Out); + +static const d2d::LytBrlanMapping brlanMapPart1[] = { + { "commonIcon_00_bgV.brlan", "G_bgV_00"}, + { "commonIcon_00_numberV.brlan", "G_numberV_00"}, + { "commonIcon_00_bugs.brlan", "G_icon_00"}, + { "commonIcon_00_shadow.brlan", "G_shadow_00"}, + {"commonIcon_00_textColor.brlan", "G_textColor_00"}, + { "commonIcon_00_onOff.brlan", "G_btn_00"}, +}; + +// S = shadow +static const char *part1TextBoxes[] = { + "T_comNumberS_00", + "T_comNumber_00", +}; + +static const char *part1Bounding = "B_bug_00"; + +#define MATERIAL_PART_1_ANIM_BG 0 +#define MATERIAL_PART_1_ANIM_NUMBERV 1 +#define MATERIAL_PART_1_ANIM_ICON 2 +#define MATERIAL_PART_1_ANIM_SHADOW 3 +#define MATERIAL_PART_1_ANIM_TEXTCOLOR 4 +#define MATERIAL_PART_1_ANIM_ONOFF 5 + +#define MATERIAL_PART_1_NUM_ANIMS 6 + +bool dLytCommonIconMaterialPart1_c::build(d2d::ResAccIf_c *resAcc) { + mLyt.setResAcc(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].setRate(1.0f); + } + + for (int i = 0; i < 2; i++) { + mpTextBoxes[i] = mLyt.getTextBox(part1TextBoxes[i]); + } + + mpBounding = mLyt.findBounding(part1Bounding); + reset(); + return true; +} + +bool dLytCommonIconMaterialPart1_c::remove() { + for (int i = 0; i < MATERIAL_PART_1_NUM_ANIMS; i++) { + mAnm[i].unbind(); + mAnm[i].afterUnbind(); + } + return true; +} + +bool dLytCommonIconMaterialPart1_c::execute() { + if (mAnm[MATERIAL_PART_1_ANIM_ONOFF].isEnabled() && mAnm[MATERIAL_PART_1_ANIM_ONOFF].isStop2()) { + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setAnimEnable(false); + } + + for (int i = 0; i < MATERIAL_PART_1_NUM_ANIMS; i++) { + if (mAnm[i].isEnabled()) { + mAnm[i].play(); + } + } + return true; +} + +void dLytCommonIconMaterialPart1_c::reset() { + mAnm[MATERIAL_PART_1_ANIM_ICON].setFrame(0.0f); + mAnm[MATERIAL_PART_1_ANIM_ICON].setAnimEnable(true); + + mAnm[MATERIAL_PART_1_ANIM_BG].setFrame(0.0f); + mAnm[MATERIAL_PART_1_ANIM_BG].setAnimEnable(true); + + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setFrame(0.0f); + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setAnimEnable(true); + + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setFrame(0.0f); + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setAnimEnable(true); + + mAnm[MATERIAL_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f); + mAnm[MATERIAL_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true); + + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setBackwardsOnce(); + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setToEnd2(); + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setAnimEnable(true); + + mLyt.calc(); + + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setAnimEnable(false); + mAnm[MATERIAL_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setAnimEnable(false); + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setAnimEnable(false); + mAnm[MATERIAL_PART_1_ANIM_BG].setAnimEnable(false); + mAnm[MATERIAL_PART_1_ANIM_ICON].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart1_c::setItem(u8 item) { + realizeBg(); + realizeNumberV(); + realizeShadow(); + realizeItem(item); +} + +void dLytCommonIconMaterialPart1_c::realizeBg() { + if (mBg) { + mAnm[MATERIAL_PART_1_ANIM_BG].setFrame(1.0f); + } else { + mAnm[MATERIAL_PART_1_ANIM_BG].setFrame(0.0f); + } + + if (mShadow) { + mAnm[MATERIAL_PART_1_ANIM_BG].setFrame(0.0f); + } + + mAnm[MATERIAL_PART_1_ANIM_BG].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_1_ANIM_BG].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart1_c::realizeNumberV() { + if (mNumberV) { + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setFrame(1.0f); + } else { + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setFrame(0.0f); + } + + if (mShadow) { + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setFrame(0.0f); + } + + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart1_c::realizeShadow() { + if (mShadow) { + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setFrame(1.0f); + } else { + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setFrame(0.0f); + } + + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart1_c::realizeItem(u8 item) { + // Inline? + if (mAnm[MATERIAL_PART_1_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + mItem = 0; + } else { + mItem = item; + } + + mAnm[MATERIAL_PART_1_ANIM_ICON].setFrame(mItem); + mAnm[MATERIAL_PART_1_ANIM_ICON].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_1_ANIM_ICON].setAnimEnable(false); + mpBounding->SetVisible(true); +} + +void dLytCommonIconMaterialPart1_c::setNumber(s32 number) { + std::memset(mNumberBuf, 0, sizeof(mNumberBuf)); + swprintf(mNumberBuf, ARRAY_LENGTH(mNumberBuf), L"%d", number); + for (int i = 0; i < 2; i++) { + mpTextBoxes[i]->fn_800AF930(mNumberBuf); + } +} + +void dLytCommonIconMaterialPart1_c::setOn() { + if (mAnm[MATERIAL_PART_1_ANIM_ONOFF].isPlayingBackwardsOnce()) { + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setForwardOnce(); + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setAnimEnable(true); + } +} + +void dLytCommonIconMaterialPart1_c::setOff() { + if (mAnm[MATERIAL_PART_1_ANIM_ONOFF].isPlayingForwardsOnce()) { + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setBackwardsOnce(); + mAnm[MATERIAL_PART_1_ANIM_ONOFF].setAnimEnable(true); + } +} + +bool dLytCommonIconMaterialPart1_c::isCursorOver() const { + d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk(); + if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) { + return true; + } + return false; +} + +void dLytCommonIconMaterialPart1_c::setVisible(bool visible) { + if (visible) { + mpBounding->SetVisible(true); + } else { + mpBounding->SetVisible(false); + } +} + +static const d2d::LytBrlanMapping brlanMapPart2[] = { + { "commonIcon_01_bgV.brlan", "G_bgV_00"}, + { "commonIcon_01_numberV.brlan", "G_numberV_00"}, + { "commonIcon_01_sozai.brlan", "G_icon_00"}, + { "commonIcon_01_shadow.brlan", "G_shadow_00"}, + {"commonIcon_01_textColor.brlan", "G_textColor_00"}, + { "commonIcon_01_onOff.brlan", "G_btn_00"}, +}; + +// S = shadow +static const char *part2TextBoxes[] = { + "T_comNumberS_00", + "T_comNumber_00", +}; + +static const char *part2Bounding = "B_sozai_00"; + +#define MATERIAL_PART_2_ANIM_BG 0 +#define MATERIAL_PART_2_ANIM_NUMBERV 1 +#define MATERIAL_PART_2_ANIM_ICON 2 +#define MATERIAL_PART_2_ANIM_SHADOW 3 +#define MATERIAL_PART_2_ANIM_TEXTCOLOR 4 +#define MATERIAL_PART_2_ANIM_ONOFF 5 + +#define MATERIAL_PART_2_NUM_ANIMS 6 + +bool dLytCommonIconMaterialPart2_c::build(d2d::ResAccIf_c *resAcc) { + mLyt.setResAcc(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].setRate(1.0f); + } + + for (int i = 0; i < 2; i++) { + mpTextBoxes[i] = mLyt.getTextBox(part2TextBoxes[i]); + } + + mpBounding = mLyt.findBounding(part2Bounding); + reset(); + return true; +} + +bool dLytCommonIconMaterialPart2_c::remove() { + for (int i = 0; i < MATERIAL_PART_2_NUM_ANIMS; i++) { + mAnm[i].unbind(); + mAnm[i].afterUnbind(); + } + return true; +} + +bool dLytCommonIconMaterialPart2_c::execute() { + if (mAnm[MATERIAL_PART_2_ANIM_ONOFF].isEnabled() && mAnm[MATERIAL_PART_2_ANIM_ONOFF].isStop2()) { + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setAnimEnable(false); + } + + for (int i = 0; i < MATERIAL_PART_2_NUM_ANIMS; i++) { + if (mAnm[i].isEnabled()) { + mAnm[i].play(); + } + } + return true; +} + +void dLytCommonIconMaterialPart2_c::reset() { + mAnm[MATERIAL_PART_2_ANIM_ICON].setFrame(0.0f); + mAnm[MATERIAL_PART_2_ANIM_ICON].setAnimEnable(true); + + mAnm[MATERIAL_PART_2_ANIM_BG].setFrame(0.0f); + mAnm[MATERIAL_PART_2_ANIM_BG].setAnimEnable(true); + + mAnm[MATERIAL_PART_2_ANIM_NUMBERV].setFrame(0.0f); + mAnm[MATERIAL_PART_2_ANIM_NUMBERV].setAnimEnable(true); + + mAnm[MATERIAL_PART_2_ANIM_SHADOW].setFrame(0.0f); + mAnm[MATERIAL_PART_2_ANIM_SHADOW].setAnimEnable(true); + + mAnm[MATERIAL_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f); + mAnm[MATERIAL_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true); + + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setBackwardsOnce(); + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setToEnd2(); + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setAnimEnable(true); + + mLyt.calc(); + + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setAnimEnable(false); + mAnm[MATERIAL_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false); + mAnm[MATERIAL_PART_2_ANIM_SHADOW].setAnimEnable(false); + mAnm[MATERIAL_PART_2_ANIM_NUMBERV].setAnimEnable(false); + mAnm[MATERIAL_PART_2_ANIM_BG].setAnimEnable(false); + mAnm[MATERIAL_PART_2_ANIM_ICON].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart2_c::setItem(u8 item) { + realizeBg(); + realizeNumberV(); + realizeShadow(); + realizeItem(item); +} + +void dLytCommonIconMaterialPart2_c::realizeBg() { + if (mBg) { + mAnm[MATERIAL_PART_1_ANIM_BG].setFrame(1.0f); + } else { + mAnm[MATERIAL_PART_1_ANIM_BG].setFrame(0.0f); + } + + if (mShadow) { + mAnm[MATERIAL_PART_1_ANIM_BG].setFrame(0.0f); + } + + mAnm[MATERIAL_PART_1_ANIM_BG].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_1_ANIM_BG].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart2_c::realizeNumberV() { + if (mNumberV) { + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setFrame(1.0f); + } else { + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setFrame(0.0f); + } + + if (mShadow) { + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setFrame(0.0f); + } + + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_1_ANIM_NUMBERV].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart2_c::realizeShadow() { + if (mShadow) { + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setFrame(1.0f); + } else { + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setFrame(0.0f); + } + + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_1_ANIM_SHADOW].setAnimEnable(false); +} + +void dLytCommonIconMaterialPart2_c::realizeItem(u8 item) { + // Inline? + if (mAnm[MATERIAL_PART_2_ANIM_ICON].getEndFrameRaw() - 1.0f < item) { + mItem = 0; + } else { + mItem = item; + } + + mAnm[MATERIAL_PART_2_ANIM_ICON].setFrame(mItem); + mAnm[MATERIAL_PART_2_ANIM_ICON].setAnimEnable(true); + mLyt.calc(); + mAnm[MATERIAL_PART_2_ANIM_ICON].setAnimEnable(false); + mpBounding->SetVisible(true); +} + +void dLytCommonIconMaterialPart2_c::setNumber(s32 number) { + std::memset(mNumberBuf, 0, sizeof(mNumberBuf)); + swprintf(mNumberBuf, ARRAY_LENGTH(mNumberBuf), L"%d", number); + for (int i = 0; i < 2; i++) { + mpTextBoxes[i]->fn_800AF930(mNumberBuf); + } +} + +void dLytCommonIconMaterialPart2_c::setOn() { + if (mAnm[MATERIAL_PART_2_ANIM_ONOFF].isPlayingBackwardsOnce()) { + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setForwardOnce(); + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setAnimEnable(true); + } +} + +void dLytCommonIconMaterialPart2_c::setOff() { + if (mAnm[MATERIAL_PART_2_ANIM_ONOFF].isPlayingForwardsOnce()) { + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setBackwardsOnce(); + mAnm[MATERIAL_PART_2_ANIM_ONOFF].setAnimEnable(true); + } +} + +bool dLytCommonIconMaterialPart2_c::isCursorOver() const { + d2d::dLytStructD *d = dCsBase_c::GetInstance()->getUnk(); + if (d != nullptr && d->getType() == 'lyt ' && d->field_0x24 == mpBounding) { + return true; + } + return false; +} + +void dLytCommonIconMaterialPart2_c::setVisible(bool visible) { + if (visible) { + mpBounding->SetVisible(true); + } else { + mpBounding->SetVisible(false); + } +} + +// Incredible use of the state manager here +void dLytCommonIconMaterial_c::initializeState_None() {} +void dLytCommonIconMaterial_c::executeState_None() {} +void dLytCommonIconMaterial_c::finalizeState_None() {} + +void dLytCommonIconMaterial_c::initializeState_In() {} +void dLytCommonIconMaterial_c::executeState_In() {} +void dLytCommonIconMaterial_c::finalizeState_In() {} + +void dLytCommonIconMaterial_c::initializeState_Wait() {} +void dLytCommonIconMaterial_c::executeState_Wait() {} +void dLytCommonIconMaterial_c::finalizeState_Wait() {} + +void dLytCommonIconMaterial_c::initializeState_Out() {} +void dLytCommonIconMaterial_c::executeState_Out() {} +void dLytCommonIconMaterial_c::finalizeState_Out() {} + +bool dLytCommonIconMaterial_c::build(d2d::ResAccIf_c *resAcc) { + build(resAcc, 1); + return true; +} + +bool dLytCommonIconMaterial_c::build(d2d::ResAccIf_c *resAcc, u8 variant) { + mPart = variant; + switch (mPart) { + case 0: mPart1.build(resAcc); break; + case 1: mPart2.build(resAcc); break; + } + return true; +} + +bool dLytCommonIconMaterial_c::remove() { + switch (mPart) { + case 0: mPart1.remove(); break; + case 1: mPart2.remove(); break; + } + return true; +} + +bool dLytCommonIconMaterial_c::execute() { + switch (mPart) { + case 0: mPart1.execute(); break; + case 1: mPart2.execute(); break; + } + return true; +} + +void dLytCommonIconMaterial_c::reset() { + switch (mPart) { + case 0: mPart1.reset(); break; + case 1: mPart2.reset(); break; + } +} + +void dLytCommonIconMaterial_c::setBg(bool bg) { + switch (mPart) { + case 0: mPart1.setBg(bg); break; + case 1: mPart2.setBg(bg); break; + } +} + +void dLytCommonIconMaterial_c::setHasNumber(bool hasNumber) { + switch (mPart) { + case 0: mPart1.setHasNumber(hasNumber); break; + case 1: mPart2.setHasNumber(hasNumber); break; + } +} + +void dLytCommonIconMaterial_c::setShadow(bool shadow) { + switch (mPart) { + case 0: mPart1.setShadow(shadow); break; + case 1: mPart2.setShadow(shadow); break; + } +} + +void dLytCommonIconMaterial_c::setItem(u8 item) { + switch (mPart) { + case 0: mPart1.setItem(item); break; + case 1: mPart2.setItem(item); break; + } +} + +void dLytCommonIconMaterial_c::setNumber(s32 number) { + switch (mPart) { + case 0: mPart1.setNumber(number); break; + case 1: mPart2.setNumber(number); break; + case 2: break; + } +} + +void dLytCommonIconMaterial_c::setOn() { + switch (mPart) { + case 0: mPart1.setOn(); break; + case 1: mPart2.setOn(); break; + case 2: break; + } +} + +void dLytCommonIconMaterial_c::setOff() { + switch (mPart) { + case 0: mPart1.setOff(); break; + case 1: mPart2.setOff(); break; + case 2: break; + } +} + +bool dLytCommonIconMaterial_c::isCursorOver() const { + switch (mPart) { + case 0: + if (mPart1.isCursorOver()) { + return true; + } + break; + case 1: + if (mPart2.isCursorOver()) { + return true; + } + break; + } + return false; +} + +void dLytCommonIconMaterial_c::setVisible(bool visible) { + switch (mPart) { + case 0: mPart1.setVisible(visible); break; + case 1: mPart2.setVisible(visible); break; + } +} + +const nw4r::lyt::Bounding *dLytCommonIconMaterial_c::getBounding() const { + const nw4r::lyt::Bounding *result = nullptr; + switch (mPart) { + case 0: result = mPart1.getBounding(); break; + case 1: result = mPart2.getBounding(); break; + } + return result; +} diff --git a/src/d/lyt/d_lyt_pause_disp_01.cpp b/src/d/lyt/d_lyt_pause_disp_01.cpp new file mode 100644 index 00000000..4d790486 --- /dev/null +++ b/src/d/lyt/d_lyt_pause_disp_01.cpp @@ -0,0 +1,34 @@ +#include "d/lyt/d_lyt_pause_disp_01.h" + +STATE_DEFINE(dLytPauseDisp01_c, None); +STATE_DEFINE(dLytPauseDisp01_c, In); +STATE_DEFINE(dLytPauseDisp01_c, Wait); +STATE_DEFINE(dLytPauseDisp01_c, Select); +STATE_DEFINE(dLytPauseDisp01_c, GetDemo); +STATE_DEFINE(dLytPauseDisp01_c, Out); + +dLytPauseDisp01_c::dLytPauseDisp01_c() : mStateMgr(*this, sStateID::null) {} + +void dLytPauseDisp01_c::initializeState_None() {} +void dLytPauseDisp01_c::executeState_None() {} +void dLytPauseDisp01_c::finalizeState_None() {} + +void dLytPauseDisp01_c::initializeState_In() {} +void dLytPauseDisp01_c::executeState_In() {} +void dLytPauseDisp01_c::finalizeState_In() {} + +void dLytPauseDisp01_c::initializeState_Wait() {} +void dLytPauseDisp01_c::executeState_Wait() {} +void dLytPauseDisp01_c::finalizeState_Wait() {} + +void dLytPauseDisp01_c::initializeState_Select() {} +void dLytPauseDisp01_c::executeState_Select() {} +void dLytPauseDisp01_c::finalizeState_Select() {} + +void dLytPauseDisp01_c::initializeState_GetDemo() {} +void dLytPauseDisp01_c::executeState_GetDemo() {} +void dLytPauseDisp01_c::finalizeState_GetDemo() {} + +void dLytPauseDisp01_c::initializeState_Out() {} +void dLytPauseDisp01_c::executeState_Out() {} +void dLytPauseDisp01_c::finalizeState_Out() {} From d85379e71851a08360e3f1b95613778dd0b167cc Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Mon, 31 Mar 2025 19:14:14 -0400 Subject: [PATCH 6/7] Magic Numbers go bye-bye (Only Pouch Currently) --- include/d/lyt/d_lyt_common_icon_item_maps.h | 58 +++++++++++++++++++++ src/d/lyt/d_lyt_common_icon_item.cpp | 47 ++++++++++------- 2 files changed, 87 insertions(+), 18 deletions(-) create mode 100644 include/d/lyt/d_lyt_common_icon_item_maps.h diff --git a/include/d/lyt/d_lyt_common_icon_item_maps.h b/include/d/lyt/d_lyt_common_icon_item_maps.h new file mode 100644 index 00000000..1e96231d --- /dev/null +++ b/include/d/lyt/d_lyt_common_icon_item_maps.h @@ -0,0 +1,58 @@ +#ifndef D_LYT_COMMON_ICON_MAPS_H +#define D_LYT_COMMON_ICON_MAPS_H + +// Pouch Items +#define LYT_CMN_PotionHealyh (0) // uc_bottleKusuriA_00.tpl +#define LYT_CMN_Bottle (1) // uc_bottleEmpty_00.tpl +#define LYT_CMN_ShieldWoodA (2) // uc_shieldWoodA_00.tpl +#define LYT_CMN_ShieldIronA (3) // uc_shieldIronA_00.tpl +#define LYT_CMN_ShieldHolyA (4) // uc_shieldHolyA_00.tpl +#define LYT_CMN_ShieldHylian (5) // uc_shieldHylia_00.tpl +#define LYT_CMN_PotionAir (6) // uc_bottleAirA_00.tpl +#define LYT_CMN_PotionStamina (7) // uc_bottleGutsA_00.tpl +#define LYT_CMN_PotionHealthPlus (8) // uc_bottleKusuriB_00.tpl +#define LYT_CMN_PotionHealthPlusPlusFull (9) // uc_bottleKusuriC_00.tpl +#define LYT_CMN_PotionAirPlus (10) // uc_bottleAirB_00.tpl +#define LYT_CMN_PotionStaminaPlus (11) // uc_bottleGutsB_00.tpl +#define LYT_CMN_Blank4 (12) // tr_black4_00.tpl +#define LYT_CMN_PotionGaurdian (13) // uc_bottleMutekiA_00.tpl +#define LYT_CMN_PotionGaurdianPlus (14) // uc_bottleMutekiB_00.tpl +#define LYT_CMN_ShieldWoodB (15) // uc_shieldWoodB_00.tpl +#define LYT_CMN_ShieldWoodC (16) // uc_shieldWoodC_00.tpl +#define LYT_CMN_ShieldIronB (17) // uc_shieldIronB_00.tpl +#define LYT_CMN_ShieldIronC (18) // uc_shieldIronC_00.tpl +#define LYT_CMN_ShieldHolyB (19) // uc_shieldHolyB_00.tpl +#define LYT_CMN_ShieldHolyC (20) // uc_shieldHolyC_00.tpl +#define LYT_CMN_SeedSatchelSmall (21) // uc_spareSeedA_00.tpl +#define LYT_CMN_SeedSatchelMed (22) // uc_spareSeedB_00.tpl +#define LYT_CMN_SeedSatchelBig (23) // uc_spareSeedC_00.tpl +#define LYT_CMN_QuiverSmall (24) // uc_spareQuiverA_00.tpl +#define LYT_CMN_QuiverMed (25) // uc_spareQuiverB_00.tpl +#define LYT_CMN_QuiverBig (26) // uc_spareQuiverC_00.tpl +#define LYT_CMN_BombBagSmall (27) // uc_spareBombBagA_00.tpl +#define LYT_CMN_BombBagMed (28) // uc_spareBombBagB_00.tpl +#define LYT_CMN_BombBagBig (29) // uc_spareBombBagC_00.tpl +#define LYT_CMN_GlitteringSpores (30) // uc_bottleKinokoB_00.tpl +#define LYT_CMN_HolyWater (31) // uc_bottleHoly_00.tpl +#define LYT_CMN_32 (32) // tr_rupyCrystal_02.tpl // Assuming Unused +#define LYT_CMN_33 (33) // tr_rupyCrystal_02.tpl +#define LYT_CMN_34 (34) // tr_rupyCrystal_03.tpl +#define LYT_CMN_MedalDurable (35) // uc_medalDurable_00.tpl +#define LYT_CMN_MedalHeart (36) // uc_medalHeart_00.tpl +#define LYT_CMN_MedalLife (37) // uc_medalLife_00.tpl +#define LYT_CMN_MedalRupee (38) // uc_medalLucky_00.tpl +#define LYT_CMN_MedalTreasure (39) // uc_medalReturn_00.tpl +#define LYT_CMN_MedalCursed (40) // uc_medalDemon_00.tpl +#define LYT_CMN_PotionRepair (41) // uc_bottleRepairA_00.tpl +#define LYT_CMN_PotionRepairPlus (42) // uc_bottleRepairB_00.tpl +#define LYT_CMN_PotionRepairPlusPlusFull (43) // uc_bottleRepairC_01.tpl +#define LYT_CMN_FairyBottle (44) // uc_bottleFairy_00.tpl +#define LYT_CMN_Water (45) // uc_bottleWater_00.tpl +#define LYT_CMN_PumpkinSoup (46) // uc_bottlePumpkinA_00.tpl +#define LYT_CMN_PumpkinSoupCold (47) // uc_bottlePumpkinB_00.tpl +#define LYT_CMN_MushroomSpores (48) // uc_bottleKinokoA_00.tpl +#define LYT_CMN_MedalBug (49) // uc_medalHunter_00.tpl +#define LYT_CMN_PotionHealthPlusPlusHalf (50) // uc_bottleKusuriC_01.tpl +#define LYT_CMN_PotionRepairPlusPlusHalf (51) // uc_bottleRepairC_00.tpl + +#endif diff --git a/src/d/lyt/d_lyt_common_icon_item.cpp b/src/d/lyt/d_lyt_common_icon_item.cpp index 5b4217f3..bb1b958f 100644 --- a/src/d/lyt/d_lyt_common_icon_item.cpp +++ b/src/d/lyt/d_lyt_common_icon_item.cpp @@ -2,6 +2,7 @@ #include "common.h" #include "d/d_cs_base.h" +#include "d/lyt/d_lyt_common_icon_item_maps.h" #include "d/lyt/d_structd.h" #include @@ -368,25 +369,25 @@ void dLytCommonIconItemPart2_c::setShieldOnOff(bool onOff) { } void dLytCommonIconItemPart2_c::setItem(u8 item) { - if (item == 32) { + if (item == LYT_CMN_32) { return; } u8 mappedItem = item; realizeUnk(); - if (item == 9) { + if (item == LYT_CMN_PotionHealthPlusPlusFull) { if (mNumber == 1) { - mappedItem = 50; + mappedItem = LYT_CMN_PotionHealthPlusPlusHalf; } else if (mNumber == 2) { - mappedItem = 9; + mappedItem = LYT_CMN_PotionHealthPlusPlusFull; } mHasNumber = false; realizeNumberV(); - } else if (item == 43) { + } else if (item == LYT_CMN_PotionRepairPlusPlusFull) { if (mNumber == 1) { - mappedItem = 51; + mappedItem = LYT_CMN_PotionRepairPlusPlusHalf; } else if (mNumber == 2) { - mappedItem = 43; + mappedItem = LYT_CMN_PotionRepairPlusPlusFull; } mHasNumber = false; realizeNumberV(); @@ -476,17 +477,27 @@ void dLytCommonIconItemPart2_c::realizeShieldOnOff(bool onOff) { u8 dLytCommonIconItemPart2_c::getShieldType() const { switch (mItem) { - case 2: - case 15: - case 16: return 0; // Wooden Shield - case 3: - case 17: - case 18: return 1; // Iron Shield - case 4: - case 19: - case 20: return 2; // Goddess Shield - case 5: return 3; // Hylia's Shield - default: return 4; + case LYT_CMN_ShieldWoodA: + case LYT_CMN_ShieldWoodB: + case LYT_CMN_ShieldWoodC: { + return 0; + } + case LYT_CMN_ShieldIronA: + case LYT_CMN_ShieldIronB: + case LYT_CMN_ShieldIronC: { + return 1; + } + case LYT_CMN_ShieldHolyA: + case LYT_CMN_ShieldHolyB: + case LYT_CMN_ShieldHolyC: { + return 2; + } + case LYT_CMN_ShieldHylian: { + return 3; + } + default: { + return 4; + } } } From abcaf2c9edd957253d21b2d580b2bb43f9dff195 Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Tue, 1 Apr 2025 08:46:13 -0400 Subject: [PATCH 7/7] more mapping --- include/d/lyt/d_lyt_common_icon_item_maps.h | 162 +++++++++++++------- src/d/lyt/d_lyt_common_icon_item.cpp | 34 ++-- 2 files changed, 127 insertions(+), 69 deletions(-) diff --git a/include/d/lyt/d_lyt_common_icon_item_maps.h b/include/d/lyt/d_lyt_common_icon_item_maps.h index 1e96231d..53708090 100644 --- a/include/d/lyt/d_lyt_common_icon_item_maps.h +++ b/include/d/lyt/d_lyt_common_icon_item_maps.h @@ -1,58 +1,116 @@ #ifndef D_LYT_COMMON_ICON_MAPS_H #define D_LYT_COMMON_ICON_MAPS_H +// Bugs +#define LYT_CMN_BugDekuHornet (0) // [ 0] tr_bugIcon_00.tpl +#define LYT_CMN_BugBlessedButterfly (1) // [ 1] tr_bugIcon_01.tpl +#define LYT_CMN_BugGerudoDragonfly (2) // [ 2] tr_bugIcon_02.tpl +#define LYT_CMN_BugStarryFirefly (3) // [ 3] tr_bugIcon_03.tpl +#define LYT_CMN_BugWoodlandRhinoBetle (4) // [ 4] tr_bugIcon_04.tpl +#define LYT_CMN_BugVolcanicLadyBug (5) // [ 5] tr_bugIcon_05.tpl +#define LYT_CMN_BugSandCicada (6) // [ 6] tr_bugIcon_06.tpl +#define LYT_CMN_BugSkyStagBeetle (7) // [ 7] tr_bugIcon_07.tpl +#define LYT_CMN_BugFaronGrasshopper (8) // [ 8] tr_bugIcon_08.tpl +#define LYT_CMN_BugSkyloftMantis (9) // [ 9] tr_bugIcon_09.tpl +#define LYT_CMN_BugLanayruAnt (10) // [10] tr_bugIcon_10.tpl +#define LYT_CMN_BugEldinRoller (11) // [11] tr_bugIcon_11.tpl + +// Items +#define LYT_CMN_ItemBombBag (0) // [ 8] uc_bomb_00.tpl +#define LYT_CMN_ItemBow (1) // [ 9] uc_bowA_00.tpl +#define LYT_CMN_ItemSlingshot (2) // [15] uc_pachinkoA_00.tpl +#define LYT_CMN_ItemBeetle (3) // [ 3] uc_beetleA_00.tpl +#define LYT_CMN_ItemClawshots (4) // [12] uc_hookShot_00.tpl +#define LYT_CMN_ItemBugnet (5) // [13] uc_netA_00.tpl +#define LYT_CMN_ItemWhip (6) // [ 2] tr_whip_00.tpl +#define LYT_CMN_ItemGustBellows (7) // [ 1] tr_vacuumIcon_00.tpl +#define LYT_CMN_ItemHookBeetle (8) // [ 4] uc_beetleB_00.tpl +#define LYT_CMN_ItemQuickBeetle (9) // [ 5] uc_beetleC_00.tpl +#define LYT_CMN_ItemToughBeetle (10) // [ 6] uc_beetleD_00.tpl +#define LYT_CMN_ItemIronBow (11) // [10] uc_bowB_00.tpl +#define LYT_CMN_ItemSacredBow (12) // [11] uc_bowC_00.tpl +#define LYT_CMN_ItemScattershot (13) // [16] uc_pachinkoB_00.tpl +#define LYT_CMN_ItemSailcloth (14) // [17] uc_stoleIcon_00.tpl +#define LYT_CMN_ItemBigBugnet (15) // [14] uc_netB_00.tpl +#define LYT_CMN_ItemBoatCannon (16) // [ 7] uc_boatCannon_00.tpl +#define LYT_CMN_ItemHarp (17) // [ 0] tr_tategoto_00.tpl + // Pouch Items -#define LYT_CMN_PotionHealyh (0) // uc_bottleKusuriA_00.tpl -#define LYT_CMN_Bottle (1) // uc_bottleEmpty_00.tpl -#define LYT_CMN_ShieldWoodA (2) // uc_shieldWoodA_00.tpl -#define LYT_CMN_ShieldIronA (3) // uc_shieldIronA_00.tpl -#define LYT_CMN_ShieldHolyA (4) // uc_shieldHolyA_00.tpl -#define LYT_CMN_ShieldHylian (5) // uc_shieldHylia_00.tpl -#define LYT_CMN_PotionAir (6) // uc_bottleAirA_00.tpl -#define LYT_CMN_PotionStamina (7) // uc_bottleGutsA_00.tpl -#define LYT_CMN_PotionHealthPlus (8) // uc_bottleKusuriB_00.tpl -#define LYT_CMN_PotionHealthPlusPlusFull (9) // uc_bottleKusuriC_00.tpl -#define LYT_CMN_PotionAirPlus (10) // uc_bottleAirB_00.tpl -#define LYT_CMN_PotionStaminaPlus (11) // uc_bottleGutsB_00.tpl -#define LYT_CMN_Blank4 (12) // tr_black4_00.tpl -#define LYT_CMN_PotionGaurdian (13) // uc_bottleMutekiA_00.tpl -#define LYT_CMN_PotionGaurdianPlus (14) // uc_bottleMutekiB_00.tpl -#define LYT_CMN_ShieldWoodB (15) // uc_shieldWoodB_00.tpl -#define LYT_CMN_ShieldWoodC (16) // uc_shieldWoodC_00.tpl -#define LYT_CMN_ShieldIronB (17) // uc_shieldIronB_00.tpl -#define LYT_CMN_ShieldIronC (18) // uc_shieldIronC_00.tpl -#define LYT_CMN_ShieldHolyB (19) // uc_shieldHolyB_00.tpl -#define LYT_CMN_ShieldHolyC (20) // uc_shieldHolyC_00.tpl -#define LYT_CMN_SeedSatchelSmall (21) // uc_spareSeedA_00.tpl -#define LYT_CMN_SeedSatchelMed (22) // uc_spareSeedB_00.tpl -#define LYT_CMN_SeedSatchelBig (23) // uc_spareSeedC_00.tpl -#define LYT_CMN_QuiverSmall (24) // uc_spareQuiverA_00.tpl -#define LYT_CMN_QuiverMed (25) // uc_spareQuiverB_00.tpl -#define LYT_CMN_QuiverBig (26) // uc_spareQuiverC_00.tpl -#define LYT_CMN_BombBagSmall (27) // uc_spareBombBagA_00.tpl -#define LYT_CMN_BombBagMed (28) // uc_spareBombBagB_00.tpl -#define LYT_CMN_BombBagBig (29) // uc_spareBombBagC_00.tpl -#define LYT_CMN_GlitteringSpores (30) // uc_bottleKinokoB_00.tpl -#define LYT_CMN_HolyWater (31) // uc_bottleHoly_00.tpl -#define LYT_CMN_32 (32) // tr_rupyCrystal_02.tpl // Assuming Unused -#define LYT_CMN_33 (33) // tr_rupyCrystal_02.tpl -#define LYT_CMN_34 (34) // tr_rupyCrystal_03.tpl -#define LYT_CMN_MedalDurable (35) // uc_medalDurable_00.tpl -#define LYT_CMN_MedalHeart (36) // uc_medalHeart_00.tpl -#define LYT_CMN_MedalLife (37) // uc_medalLife_00.tpl -#define LYT_CMN_MedalRupee (38) // uc_medalLucky_00.tpl -#define LYT_CMN_MedalTreasure (39) // uc_medalReturn_00.tpl -#define LYT_CMN_MedalCursed (40) // uc_medalDemon_00.tpl -#define LYT_CMN_PotionRepair (41) // uc_bottleRepairA_00.tpl -#define LYT_CMN_PotionRepairPlus (42) // uc_bottleRepairB_00.tpl -#define LYT_CMN_PotionRepairPlusPlusFull (43) // uc_bottleRepairC_01.tpl -#define LYT_CMN_FairyBottle (44) // uc_bottleFairy_00.tpl -#define LYT_CMN_Water (45) // uc_bottleWater_00.tpl -#define LYT_CMN_PumpkinSoup (46) // uc_bottlePumpkinA_00.tpl -#define LYT_CMN_PumpkinSoupCold (47) // uc_bottlePumpkinB_00.tpl -#define LYT_CMN_MushroomSpores (48) // uc_bottleKinokoA_00.tpl -#define LYT_CMN_MedalBug (49) // uc_medalHunter_00.tpl -#define LYT_CMN_PotionHealthPlusPlusHalf (50) // uc_bottleKusuriC_01.tpl -#define LYT_CMN_PotionRepairPlusPlusHalf (51) // uc_bottleRepairC_00.tpl +#define LYT_CMN_PouchPotionHealyh (0) // [12] uc_bottleKusuriA_00.tpl +#define LYT_CMN_PouchBottle (1) // [ 5] uc_bottleEmpty_00.tpl +#define LYT_CMN_PouchShieldWoodA (2) // [39] uc_shieldWoodA_00.tpl +#define LYT_CMN_PouchShieldIronA (3) // [36] uc_shieldIronA_00.tpl +#define LYT_CMN_PouchShieldHolyA (4) // [32] uc_shieldHolyA_00.tpl +#define LYT_CMN_PouchShieldHylian (5) // [35] uc_shieldHylia_00.tpl +#define LYT_CMN_PouchPotionAir (6) // [ 3] uc_bottleAirA_00.tpl +#define LYT_CMN_PouchPotionStamina (7) // [ 7] uc_bottleGutsA_00.tpl +#define LYT_CMN_PouchPotionHealthPlus (8) // [13] uc_bottleKusuriB_00.tpl +#define LYT_CMN_PouchPotionHealthPlusPlusFull (9) // [14] uc_bottleKusuriC_00.tpl +#define LYT_CMN_PouchPotionAirPlus (10) // [ 4] uc_bottleAirB_00.tpl +#define LYT_CMN_PouchPotionStaminaPlus (11) // [ 8] uc_bottleGutsB_00.tpl +#define LYT_CMN_PouchBlank4 (12) // [ 0] tr_black4_00.tpl +#define LYT_CMN_PouchPotionGaurdian (13) // [16] uc_bottleMutekiA_00.tpl +#define LYT_CMN_PouchPotionGaurdianPlus (14) // [17] uc_bottleMutekiB_00.tpl +#define LYT_CMN_PouchShieldWoodB (15) // [40] uc_shieldWoodB_00.tpl +#define LYT_CMN_PouchShieldWoodC (16) // [41] uc_shieldWoodC_00.tpl +#define LYT_CMN_PouchShieldIronB (17) // [37] uc_shieldIronB_00.tpl +#define LYT_CMN_PouchShieldIronC (18) // [38] uc_shieldIronC_00.tpl +#define LYT_CMN_PouchShieldHolyB (19) // [33] uc_shieldHolyB_00.tpl +#define LYT_CMN_PouchShieldHolyC (20) // [34] uc_shieldHolyC_00.tpl +#define LYT_CMN_PouchSeedSatchelSmall (21) // [48] uc_spareSeedA_00.tpl +#define LYT_CMN_PouchSeedSatchelMed (22) // [49] uc_spareSeedB_00.tpl +#define LYT_CMN_PouchSeedSatchelBig (23) // [50] uc_spareSeedC_00.tpl +#define LYT_CMN_PouchQuiverSmall (24) // [45] uc_spareQuiverA_00.tpl +#define LYT_CMN_PouchQuiverMed (25) // [46] uc_spareQuiverB_00.tpl +#define LYT_CMN_PouchQuiverBig (26) // [47] uc_spareQuiverC_00.tpl +#define LYT_CMN_PouchBombBagSmall (27) // [42] uc_spareBombBagA_00.tpl +#define LYT_CMN_PouchBombBagMed (28) // [43] uc_spareBombBagB_00.tpl +#define LYT_CMN_PouchBombBagBig (29) // [44] uc_spareBombBagC_00.tpl +#define LYT_CMN_PouchGlitteringSpores (30) // [11] uc_bottleKinokoB_00.tpl +#define LYT_CMN_PouchHolyWater (31) // [ 9] uc_bottleHoly_00.tpl +#define LYT_CMN_Pouch32 (32) // [ 1] tr_rupyCrystal_02.tpl // Assuming Unused +#define LYT_CMN_Pouch33 (33) // [ 1] tr_rupyCrystal_02.tpl +#define LYT_CMN_Pouch34 (34) // [ 2] tr_rupyCrystal_03.tpl +#define LYT_CMN_PouchMedalDurable (35) // [26] uc_medalDurable_00.tpl +#define LYT_CMN_PouchMedalHeart (36) // [27] uc_medalHeart_00.tpl +#define LYT_CMN_PouchMedalLife (37) // [29] uc_medalLife_00.tpl +#define LYT_CMN_PouchMedalRupee (38) // [30] uc_medalLucky_00.tpl +#define LYT_CMN_PouchMedalTreasure (39) // [31] uc_medalReturn_00.tpl +#define LYT_CMN_PouchMedalCursed (40) // [25] uc_medalDemon_00.tpl +#define LYT_CMN_PouchPotionRepair (41) // [20] uc_bottleRepairA_00.tpl +#define LYT_CMN_PouchPotionRepairPlus (42) // [21] uc_bottleRepairB_00.tpl +#define LYT_CMN_PouchPotionRepairPlusPlusFull (43) // [23] uc_bottleRepairC_01.tpl +#define LYT_CMN_PouchFairyBottle (44) // [ 6] uc_bottleFairy_00.tpl +#define LYT_CMN_PouchWater (45) // [24] uc_bottleWater_00.tpl +#define LYT_CMN_PouchPumpkinSoup (46) // [20] uc_bottlePumpkinA_00.tpl +#define LYT_CMN_PouchPumpkinSoupCold (47) // [21] uc_bottlePumpkinB_00.tpl +#define LYT_CMN_PouchMushroomSpores (48) // [10] uc_bottleKinokoA_00.tpl +#define LYT_CMN_PouchMedalBug (49) // [28] uc_medalHunter_00.tpl +#define LYT_CMN_PouchPotionHealthPlusPlusHalf (50) // [15] uc_bottleKusuriC_01.tpl +#define LYT_CMN_PouchPotionRepairPlusPlusHalf (51) // [22] uc_bottleRepairC_00.tpl + +// Dowsing Icons +#define LYT_CMN_DowsingNone (0) // [ 1] tr_dauzTarget_00.tpl +#define LYT_CMN_DowsingHeart (1) // [ 2] tr_dauzTarget_01.tpl +#define LYT_CMN_Dowsing2 (2) // [ 3] tr_dauzTarget_02.tpl +#define LYT_CMN_DowsingGratitudeCrystal (3) // [21] uk_dawGenki_00.tpl +#define LYT_CMN_DowsingRupee (4) // [ 4] tr_dauzTarget_04.tpl +#define LYT_CMN_DowsingHolyWater (5) // [20] uc_bottleHoly_00.tpl +#define LYT_CMN_DowsingTreasure (6) // [ 5] tr_dauzTarget_06.tpl +#define LYT_CMN_DowsingPowerGenerators (7) // [ 6] tr_dauzTarget_07.tpl +#define LYT_CMN_DowsingKikwi (8) // [ 7] tr_dauzTarget_08.tpl +#define LYT_CMN_DowsingLook (9) // [ 0] tr_cameraMark_00.tpl +#define LYT_CMN_DowsingWindmillPropeller (10) // [ 8] tr_dauzTarget_10.tpl +#define LYT_CMN_DowsingEarthTempleKey (11) // [18] ts_keyKakera_00.tpl +#define LYT_CMN_DowsingPumpkinPatchPlower (12) // [16] ts_dauzPump_00.tpl +#define LYT_CMN_DowsingPartyWheel (13) // [ 9] tr_dauzTarget_13.tpl +#define LYT_CMN_DowsingWaterBasin (14) // [19] ts_waterPot_00.tpl +#define LYT_CMN_DowsingCrystalBall (15) // [10] tr_dauzTarget_15.tpl +#define LYT_CMN_DowsingGoddessCube (16) // [17] ts_GdsCube_00.tpl +#define LYT_CMN_DowsingTadtones (17) // [11] tr_dauzTarget_17.tpl +#define LYT_CMN_DowsingSandship (18) // [12] tr_dauzTarget_18.tpl +#define LYT_CMN_DowsingZelda (19) // [13] tr_dauzTarget_19.tpl +#define LYT_CMN_DowsingTrialGate (20) // [14] tr_dauzTarget_20.tpl +#define LYT_CMN_DowsingNewPlantSpecies (21) // [15] tr_dauzTarget_21.tpl #endif diff --git a/src/d/lyt/d_lyt_common_icon_item.cpp b/src/d/lyt/d_lyt_common_icon_item.cpp index bb1b958f..c4fc6a66 100644 --- a/src/d/lyt/d_lyt_common_icon_item.cpp +++ b/src/d/lyt/d_lyt_common_icon_item.cpp @@ -369,25 +369,25 @@ void dLytCommonIconItemPart2_c::setShieldOnOff(bool onOff) { } void dLytCommonIconItemPart2_c::setItem(u8 item) { - if (item == LYT_CMN_32) { + if (item == LYT_CMN_Pouch32) { return; } u8 mappedItem = item; realizeUnk(); - if (item == LYT_CMN_PotionHealthPlusPlusFull) { + if (item == LYT_CMN_PouchPotionHealthPlusPlusFull) { if (mNumber == 1) { - mappedItem = LYT_CMN_PotionHealthPlusPlusHalf; + mappedItem = LYT_CMN_PouchPotionHealthPlusPlusHalf; } else if (mNumber == 2) { - mappedItem = LYT_CMN_PotionHealthPlusPlusFull; + mappedItem = LYT_CMN_PouchPotionHealthPlusPlusFull; } mHasNumber = false; realizeNumberV(); - } else if (item == LYT_CMN_PotionRepairPlusPlusFull) { + } else if (item == LYT_CMN_PouchPotionRepairPlusPlusFull) { if (mNumber == 1) { - mappedItem = LYT_CMN_PotionRepairPlusPlusHalf; + mappedItem = LYT_CMN_PouchPotionRepairPlusPlusHalf; } else if (mNumber == 2) { - mappedItem = LYT_CMN_PotionRepairPlusPlusFull; + mappedItem = LYT_CMN_PouchPotionRepairPlusPlusFull; } mHasNumber = false; realizeNumberV(); @@ -477,22 +477,22 @@ void dLytCommonIconItemPart2_c::realizeShieldOnOff(bool onOff) { u8 dLytCommonIconItemPart2_c::getShieldType() const { switch (mItem) { - case LYT_CMN_ShieldWoodA: - case LYT_CMN_ShieldWoodB: - case LYT_CMN_ShieldWoodC: { + case LYT_CMN_PouchShieldWoodA: + case LYT_CMN_PouchShieldWoodB: + case LYT_CMN_PouchShieldWoodC: { return 0; } - case LYT_CMN_ShieldIronA: - case LYT_CMN_ShieldIronB: - case LYT_CMN_ShieldIronC: { + case LYT_CMN_PouchShieldIronA: + case LYT_CMN_PouchShieldIronB: + case LYT_CMN_PouchShieldIronC: { return 1; } - case LYT_CMN_ShieldHolyA: - case LYT_CMN_ShieldHolyB: - case LYT_CMN_ShieldHolyC: { + case LYT_CMN_PouchShieldHolyA: + case LYT_CMN_PouchShieldHolyB: + case LYT_CMN_PouchShieldHolyC: { return 2; } - case LYT_CMN_ShieldHylian: { + case LYT_CMN_PouchShieldHylian: { return 3; } default: {