Merge pull request #146 from robojumper/common_item

d_lyt_common_icon_item, d_lyt_common_icon_material OK
This commit is contained in:
robojumper
2025-04-01 23:04:18 +02:00
committed by GitHub
28 changed files with 2496 additions and 416 deletions
+10
View File
@@ -410,11 +410,20 @@ 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
.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
@@ -557,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
+299 -291
View File
@@ -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
@@ -6568,169 +6568,169 @@ 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
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__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
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
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
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
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
@@ -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
@@ -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
@@ -31973,70 +31973,70 @@ 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
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
__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
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
@@ -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,12 +38184,12 @@ 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_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
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
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
@@ -48801,8 +48801,16 @@ 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_805AD088 = .bss:0x805AD088; // 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
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
+3 -2
View File
@@ -401,8 +401,8 @@ 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(NonMatching, "d/lyt/d_lyt_common_icon_item.cpp"),
Object(Matching, "d/lyt/d_lyt_common_icon_material.cpp"),
Object(Matching, "d/lyt/d_lyt_common_icon_item.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_select_btn.cpp"),
Object(NonMatching, "d/lyt/d_lyt_msg_window_talk.cpp"),
@@ -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"),
+26 -12
View File
@@ -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() {
+247 -49
View File
@@ -1,76 +1,274 @@
#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) {}
: mItem(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 realizeNumberV();
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 mItem;
/* 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 realizeNumberV();
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;
d2d::dLytStructD structD;
u8 field_0x804;
u8 field_0x805;
u8 field_0x806;
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;
/* 0x15C */ d2d::dLytStructD structD;
/* 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 +276,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
+116
View File
@@ -0,0 +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_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
+201
View File
@@ -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
-1
View File
@@ -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:
+35
View File
@@ -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
+12
View File
@@ -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) {}
+2
View File
@@ -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:
+3 -3
View File
@@ -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 {
+5 -5
View File
@@ -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 {
+8 -9
View File
@@ -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;
}
}
+1 -1
View File
@@ -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();
}
}
+1 -1
View File
@@ -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();
}
}
+1 -1
View File
@@ -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();
}
}
+897
View File
@@ -1,6 +1,903 @@
#include "d/lyt/d_lyt_common_icon_item.h"
#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 <cstring>
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 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 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 < 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);
}
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 < ITEM_PART_1_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
}
return true;
}
bool dLytCommonIconItemPart1_c::execute() {
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[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 < ITEM_PART_1_NUM_ANIMS; i++) {
if (mAnm[i].isEnabled()) {
mAnm[i].play();
}
}
return true;
}
void dLytCommonIconItemPart1_c::reset() {
mAnm[ITEM_PART_1_ANIM_ICON].setFrame(0.0f);
mAnm[ITEM_PART_1_ANIM_ICON].setAnimEnable(true);
mAnm[ITEM_PART_1_ANIM_SIZE].setFrame(1.0f);
mAnm[ITEM_PART_1_ANIM_SIZE].setAnimEnable(true);
mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setFrame(0.0f);
mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setAnimEnable(true);
mAnm[ITEM_PART_1_ANIM_NUMBERV].setFrame(0.0f);
mAnm[ITEM_PART_1_ANIM_NUMBERV].setAnimEnable(true);
mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setFrame(0.0f);
mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].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[ITEM_PART_1_ANIM_DECIDE].setForwardOnce();
mAnm[ITEM_PART_1_ANIM_DECIDE].setToEnd2();
mAnm[ITEM_PART_1_ANIM_DECIDE].setAnimEnable(true);
mLyt.calc();
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) {
realizeUnk();
realizeNumberV();
realizeSize();
realizeBocoburin();
realizeItem(item);
}
void dLytCommonIconItemPart1_c::realizeUnk() {
// Probably related to field_0x2B4
}
void dLytCommonIconItemPart1_c::realizeNumberV() {
if (mHasNumber) {
mAnm[ITEM_PART_1_ANIM_NUMBERV].setFrame(1.0f);
} else {
mAnm[ITEM_PART_1_ANIM_NUMBERV].setFrame(0.0f);
}
mAnm[ITEM_PART_1_ANIM_NUMBERV].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_1_ANIM_NUMBERV].setAnimEnable(false);
}
void dLytCommonIconItemPart1_c::realizeSize() {
if (mSize) {
mAnm[ITEM_PART_1_ANIM_SIZE].setFrame(0.0f);
} else {
mAnm[ITEM_PART_1_ANIM_SIZE].setFrame(1.0f);
}
mAnm[ITEM_PART_1_ANIM_SIZE].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_1_ANIM_SIZE].setAnimEnable(false);
}
void dLytCommonIconItemPart1_c::realizeBocoburin() {
if (mBocoburinLocked) {
mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setFrame(1.0f);
} else {
mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setFrame(0.0f);
}
mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_1_ANIM_BOCOBURIN].setAnimEnable(false);
}
void dLytCommonIconItemPart1_c::realizeItem(u8 item) {
// Inline?
if (mAnm[ITEM_PART_1_ANIM_ICON].getEndFrameRaw() - 1.0f < item) {
mItem = 0;
} else {
mItem = item;
}
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);
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[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[ITEM_PART_1_ANIM_TEXTCOLOR].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_1_ANIM_TEXTCOLOR].setAnimEnable(false);
}
void dLytCommonIconItemPart1_c::setOn() {
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[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[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[ITEM_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 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 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 < 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);
}
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 < ITEM_PART_2_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
}
return true;
}
bool dLytCommonIconItemPart2_c::execute() {
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[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 < ITEM_PART_2_NUM_ANIMS; i++) {
if (mAnm[i].isEnabled()) {
mAnm[i].play();
}
}
return true;
}
void dLytCommonIconItemPart2_c::reset() {
mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f);
mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true);
mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setFrame(0.0f);
mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true);
mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setFrame(0.0f);
mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true);
mAnm[ITEM_PART_2_ANIM_ICON].setFrame(0.0f);
mAnm[ITEM_PART_2_ANIM_ICON].setAnimEnable(true);
mAnm[ITEM_PART_2_ANIM_SIZE].setFrame(1.0f);
mAnm[ITEM_PART_2_ANIM_SIZE].setAnimEnable(true);
mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setFrame(0.0f);
mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setAnimEnable(true);
mAnm[ITEM_PART_2_ANIM_NUMBERV].setFrame(0.0f);
mAnm[ITEM_PART_2_ANIM_NUMBERV].setAnimEnable(true);
mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setFrame(0.0f);
mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].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[ITEM_PART_2_ANIM_DECIDE].setForwardOnce();
mAnm[ITEM_PART_2_ANIM_DECIDE].setToEnd2();
mAnm[ITEM_PART_2_ANIM_DECIDE].setAnimEnable(true);
mLyt.calc();
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) {
if (getShieldType() != 4) {
mOnOff = onOff;
realizeShieldOnOff(mOnOff);
}
}
void dLytCommonIconItemPart2_c::setItem(u8 item) {
if (item == LYT_CMN_Pouch32) {
return;
}
u8 mappedItem = item;
realizeUnk();
if (item == LYT_CMN_PouchPotionHealthPlusPlusFull) {
if (mNumber == 1) {
mappedItem = LYT_CMN_PouchPotionHealthPlusPlusHalf;
} else if (mNumber == 2) {
mappedItem = LYT_CMN_PouchPotionHealthPlusPlusFull;
}
mHasNumber = false;
realizeNumberV();
} else if (item == LYT_CMN_PouchPotionRepairPlusPlusFull) {
if (mNumber == 1) {
mappedItem = LYT_CMN_PouchPotionRepairPlusPlusHalf;
} else if (mNumber == 2) {
mappedItem = LYT_CMN_PouchPotionRepairPlusPlusFull;
}
mHasNumber = false;
realizeNumberV();
} else {
realizeNumberV();
}
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::realizeNumberV() {
if (mHasNumber) {
mAnm[ITEM_PART_2_ANIM_NUMBERV].setFrame(1.0f);
} else {
mAnm[ITEM_PART_2_ANIM_NUMBERV].setFrame(0.0f);
}
mAnm[ITEM_PART_2_ANIM_NUMBERV].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_2_ANIM_NUMBERV].setAnimEnable(false);
}
void dLytCommonIconItemPart2_c::realizeSize() {
if (mSize) {
mAnm[ITEM_PART_2_ANIM_SIZE].setFrame(0.0f);
} else {
mAnm[ITEM_PART_2_ANIM_SIZE].setFrame(1.0f);
}
mAnm[ITEM_PART_2_ANIM_SIZE].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_2_ANIM_SIZE].setAnimEnable(false);
}
void dLytCommonIconItemPart2_c::realizeBocoburin() {
if (mBocoburinLocked) {
mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setFrame(1.0f);
} else {
mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setFrame(0.0f);
}
mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_2_ANIM_BOCOBURIN].setAnimEnable(false);
}
void dLytCommonIconItemPart2_c::realizeItem(u8 item) {
// Inline?
if (mAnm[ITEM_PART_2_ANIM_ICON].getEndFrameRaw() - 1.0f < item) {
mItem = 0;
} else {
mItem = item;
}
mAnm[ITEM_PART_2_ANIM_ICON].setFrame(mItem);
mAnm[ITEM_PART_2_ANIM_ICON].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_2_ANIM_ICON].setAnimEnable(false);
mpBounding->SetVisible(true);
}
void dLytCommonIconItemPart2_c::realizeShieldOnOff(bool onOff) {
mOnOff = onOff;
if (onOff) {
mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setFrame(0.0f);
} else {
mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setFrame(1.0f);
}
mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_2_ANIM_SHIELD_ONOFF].setAnimEnable(false);
}
u8 dLytCommonIconItemPart2_c::getShieldType() const {
switch (mItem) {
case LYT_CMN_PouchShieldWoodA:
case LYT_CMN_PouchShieldWoodB:
case LYT_CMN_PouchShieldWoodC: {
return 0;
}
case LYT_CMN_PouchShieldIronA:
case LYT_CMN_PouchShieldIronB:
case LYT_CMN_PouchShieldIronC: {
return 1;
}
case LYT_CMN_PouchShieldHolyA:
case LYT_CMN_PouchShieldHolyB:
case LYT_CMN_PouchShieldHolyC: {
return 2;
}
case LYT_CMN_PouchShieldHylian: {
return 3;
}
default: {
return 4;
}
}
}
void dLytCommonIconItemPart2_c::realizeShieldType(u8 type) {
if (mOnOff) {
mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setFrame(type);
mAnm[ITEM_PART_2_ANIM_SHIELD_TYPE].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_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[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[ITEM_PART_2_ANIM_TEXTCOLOR].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_2_ANIM_TEXTCOLOR].setAnimEnable(false);
}
void dLytCommonIconItemPart2_c::setOn() {
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[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[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[ITEM_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[ITEM_PART_2_ANIM_SHIELD_GAUGE].setFrameRatio(durability);
mAnm[ITEM_PART_2_ANIM_SHIELD_GAUGE].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_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 ITEM_PART_3_ANIM_SIZE 0
#define ITEM_PART_3_ANIM_BOCOBURIN 1
#define ITEM_PART_3_ANIM_ICON 2
#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 < 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);
}
mpBounding = mLyt.findBounding(part3Bounding);
reset();
return true;
}
bool dLytCommonIconItemPart3_c::remove() {
for (int i = 0; i < ITEM_PART_3_NUM_ANIMS; i++) {
mAnm[i].unbind();
mAnm[i].afterUnbind();
}
return true;
}
bool dLytCommonIconItemPart3_c::execute() {
for (int i = 0; i < ITEM_PART_3_NUM_ANIMS; i++) {
if (mAnm[i].isEnabled()) {
mAnm[i].play();
}
}
return true;
}
void dLytCommonIconItemPart3_c::reset() {
mAnm[ITEM_PART_3_ANIM_ICON].setFrame(0.0f);
mAnm[ITEM_PART_3_ANIM_ICON].setAnimEnable(true);
mAnm[ITEM_PART_3_ANIM_SIZE].setFrame(1.0f);
mAnm[ITEM_PART_3_ANIM_SIZE].setAnimEnable(true);
mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setFrame(0.0f);
mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setAnimEnable(true);
mLyt.calc();
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) {
realizeSize();
realizeBocoburin();
realizeItem(item);
}
void dLytCommonIconItemPart3_c::realizeSize() {
if (mSize) {
mAnm[ITEM_PART_3_ANIM_SIZE].setFrame(0.0f);
} else {
mAnm[ITEM_PART_3_ANIM_SIZE].setFrame(1.0f);
}
mAnm[ITEM_PART_3_ANIM_SIZE].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_3_ANIM_SIZE].setAnimEnable(false);
}
void dLytCommonIconItemPart3_c::realizeBocoburin() {
if (mBocoburinLocked) {
mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setFrame(1.0f);
} else {
mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setFrame(0.0f);
}
mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_PART_3_ANIM_BOCOBURIN].setAnimEnable(false);
}
void dLytCommonIconItemPart3_c::realizeItem(u8 item) {
if (mAnm[ITEM_PART_3_ANIM_ICON].getEndFrameRaw() - 1.0f < item) {
mItem = 0;
} else {
mItem = item;
}
// @bug ignoring the check above
mItem = item;
mAnm[ITEM_PART_3_ANIM_ICON].setFrame(mItem);
mAnm[ITEM_PART_3_ANIM_ICON].setAnimEnable(true);
mLyt.calc();
mAnm[ITEM_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;
}
}
+547
View File
@@ -0,0 +1,547 @@
#include "d/lyt/d_lyt_common_icon_material.h"
#include "common.h"
#include "d/d_cs_base.h"
#include <cstring>
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;
}
+3 -1
View File
@@ -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);
}
+2 -2
View File
@@ -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();
}
}
+1 -1
View File
@@ -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]);
}
+34
View File
@@ -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() {}
+1 -1
View File
@@ -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) {
+12 -8
View File
@@ -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();
}
}
+6 -5
View File
@@ -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();
}
}
+21 -21
View File
@@ -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);
+2 -2
View File
@@ -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;
}