diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 638e95b8..223e95e4 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -1674,7 +1674,9 @@ d/lyt/d_lyt_deposit.cpp: .ctors start:0x804DB888 end:0x804DB88C .rodata start:0x804EF970 end:0x804EFA90 .data start:0x8053CFC8 end:0x8053DFC8 + .sdata start:0x80573C10 end:0x80573C30 .sbss start:0x805759B8 end:0x805759D0 + .sdata2 start:0x8057C7C0 end:0x8057C7E0 .bss start:0x805B6C18 end:0x805B7120 d/lyt/d_lyt_demo_title.cpp: diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 9205361c..c4fc0d68 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -15966,49 +15966,49 @@ dLytShopMain__stateDtor = .text:0x802A7E00; // type:function size:0x58 dLytShop__dtor = .text:0x802A7E60; // type:function size:0x58 fn_802A7EC0 = .text:0x802A7EC0; // type:function size:0x88 fn_802A7F50 = .text:0x802A7F50; // type:function size:0x88 -fn_802A7FE0 = .text:0x802A7FE0; // type:function size:0x4 -fn_802A7FF0 = .text:0x802A7FF0; // type:function size:0x10 -fn_802A8000 = .text:0x802A8000; // type:function size:0x4 -fn_802A8010 = .text:0x802A8010; // type:function size:0x4 -fn_802A8020 = .text:0x802A8020; // type:function size:0x208 -fn_802A8230 = .text:0x802A8230; // type:function size:0x4 -fn_802A8240 = .text:0x802A8240; // type:function size:0x14 -fn_802A8260 = .text:0x802A8260; // type:function size:0x50 -fn_802A82B0 = .text:0x802A82B0; // type:function size:0x4 -fn_802A82C0 = .text:0x802A82C0; // type:function size:0x14 -fn_802A82E0 = .text:0x802A82E0; // type:function size:0x2A4 -fn_802A8590 = .text:0x802A8590; // type:function size:0x4 -fn_802A85A0 = .text:0x802A85A0; // type:function size:0x4 -fn_802A85B0 = .text:0x802A85B0; // type:function size:0x9C -fn_802A8650 = .text:0x802A8650; // type:function size:0x4 -fn_802A8660 = .text:0x802A8660; // type:function size:0x4 -fn_802A8670 = .text:0x802A8670; // type:function size:0xEC -fn_802A8760 = .text:0x802A8760; // type:function size:0x4 -fn_802A8770 = .text:0x802A8770; // type:function size:0x4 -fn_802A8780 = .text:0x802A8780; // type:function size:0x2F4 -fn_802A8A80 = .text:0x802A8A80; // type:function size:0x4 -fn_802A8A90 = .text:0x802A8A90; // type:function size:0x4 -fn_802A8AA0 = .text:0x802A8AA0; // type:function size:0x198 -fn_802A8C40 = .text:0x802A8C40; // type:function size:0x4 -fn_802A8C50 = .text:0x802A8C50; // type:function size:0x4 -fn_802A8C60 = .text:0x802A8C60; // type:function size:0x180 -fn_802A8DE0 = .text:0x802A8DE0; // type:function size:0x4 -fn_802A8DF0 = .text:0x802A8DF0; // type:function size:0x4 -fn_802A8E00 = .text:0x802A8E00; // type:function size:0x68 -fn_802A8E70 = .text:0x802A8E70; // type:function size:0x4 -fn_802A8E80 = .text:0x802A8E80; // type:function size:0x428 -fn_802A92B0 = .text:0x802A92B0; // type:function size:0xA4 -fn_802A9360 = .text:0x802A9360; // type:function size:0xA0 -fn_802A9400 = .text:0x802A9400; // type:function size:0x6C -fn_802A9470 = .text:0x802A9470; // type:function size:0x58 -fn_802A94D0 = .text:0x802A94D0; // type:function size:0x138 +initializeState_ModeNone__17dLytDepositMain_cFv = .text:0x802A7FE0; // type:function size:0x4 +executeState_ModeNone__17dLytDepositMain_cFv = .text:0x802A7FF0; // type:function size:0x10 +finalizeState_ModeNone__17dLytDepositMain_cFv = .text:0x802A8000; // type:function size:0x4 +initializeState_ModeIn__17dLytDepositMain_cFv = .text:0x802A8010; // type:function size:0x4 +executeState_ModeIn__17dLytDepositMain_cFv = .text:0x802A8020; // type:function size:0x208 +finalizeState_ModeIn__17dLytDepositMain_cFv = .text:0x802A8230; // type:function size:0x4 +initializeState_ModeCheck__17dLytDepositMain_cFv = .text:0x802A8240; // type:function size:0x14 +executeState_ModeCheck__17dLytDepositMain_cFv = .text:0x802A8260; // type:function size:0x50 +finalizeState_ModeCheck__17dLytDepositMain_cFv = .text:0x802A82B0; // type:function size:0x4 +initializeState_ModeChange__17dLytDepositMain_cFv = .text:0x802A82C0; // type:function size:0x14 +executeState_ModeChange__17dLytDepositMain_cFv = .text:0x802A82E0; // type:function size:0x2A4 +finalizeState_ModeChange__17dLytDepositMain_cFv = .text:0x802A8590; // type:function size:0x4 +initializeState_ModeArrangement__17dLytDepositMain_cFv = .text:0x802A85A0; // type:function size:0x4 +executeState_ModeArrangement__17dLytDepositMain_cFv = .text:0x802A85B0; // type:function size:0x9C +finalizeState_ModeArrangement__17dLytDepositMain_cFv = .text:0x802A8650; // type:function size:0x4 +initializeState_ModeReverseChange__17dLytDepositMain_cFv = .text:0x802A8660; // type:function size:0x4 +executeState_ModeReverseChange__17dLytDepositMain_cFv = .text:0x802A8670; // type:function size:0xEC +finalizeState_ModeReverseChange__17dLytDepositMain_cFv = .text:0x802A8760; // type:function size:0x4 +initializeState_ModeScroll__17dLytDepositMain_cFv = .text:0x802A8770; // type:function size:0x4 +executeState_ModeScroll__17dLytDepositMain_cFv = .text:0x802A8780; // type:function size:0x2F4 +finalizeState_ModeScroll__17dLytDepositMain_cFv = .text:0x802A8A80; // type:function size:0x4 +initializeState_ModeRecycle__17dLytDepositMain_cFv = .text:0x802A8A90; // type:function size:0x4 +executeState_ModeRecycle__17dLytDepositMain_cFv = .text:0x802A8AA0; // type:function size:0x198 +finalizeState_ModeRecycle__17dLytDepositMain_cFv = .text:0x802A8C40; // type:function size:0x4 +initializeState_ModeArrangementOut__17dLytDepositMain_cFv = .text:0x802A8C50; // type:function size:0x4 +executeState_ModeArrangementOut__17dLytDepositMain_cFv = .text:0x802A8C60; // type:function size:0x180 +finalizeState_ModeArrangementOut__17dLytDepositMain_cFv = .text:0x802A8DE0; // type:function size:0x4 +initializeState_ModeOut__17dLytDepositMain_cFv = .text:0x802A8DF0; // type:function size:0x4 +executeState_ModeOut__17dLytDepositMain_cFv = .text:0x802A8E00; // type:function size:0x68 +finalizeState_ModeOut__17dLytDepositMain_cFv = .text:0x802A8E70; // type:function size:0x4 +__ct__17dLytDepositMain_cFv = .text:0x802A8E80; // type:function size:0x428 +__dt__56sFStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c>Fv = .text:0x802A92B0; // type:function size:0xA4 +__dt__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802A9360; // type:function size:0xA0 +__dt__33sFStateFct_c<17dLytDepositMain_c>Fv = .text:0x802A9400; // type:function size:0x6C +__dt__30sFState_c<17dLytDepositMain_c>Fv = .text:0x802A9470; // type:function size:0x58 +__ct__18dLytDepositStock_cFv = .text:0x802A94D0; // type:function size:0x138 fn_802A9610 = .text:0x802A9610; // type:function size:0x468 fn_802A9A80 = .text:0x802A9A80; // type:function size:0x1EC -fn_802A9C70 = .text:0x802A9C70; // type:function size:0x10 +executeState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802A9C70; // type:function size:0x10 fn_802A9C80 = .text:0x802A9C80; // type:function size:0x4C fn_802A9CD0 = .text:0x802A9CD0; // type:function size:0x1A8 fn_802A9E80 = .text:0x802A9E80; // type:function size:0x50 -fn_802A9ED0 = .text:0x802A9ED0; // type:function size:0x10 +changeState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x802A9ED0; // type:function size:0x10 fn_802A9EE0 = .text:0x802A9EE0; // type:function size:0x19C fn_802AA080 = .text:0x802AA080; // type:function size:0x84 fn_802AA110 = .text:0x802AA110; // type:function size:0xE4 @@ -16018,7 +16018,7 @@ fn_802AA3D0 = .text:0x802AA3D0; // type:function size:0xFC fn_802AA4D0 = .text:0x802AA4D0; // type:function size:0xEC fn_802AA5C0 = .text:0x802AA5C0; // type:function size:0xB0 fn_802AA670 = .text:0x802AA670; // type:function size:0xF8 -fn_802AA770 = .text:0x802AA770; // type:function size:0x10 +getStateID__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AA770; // type:function size:0x10 fn_802AA780 = .text:0x802AA780; // type:function size:0x5C fn_802AA7E0 = .text:0x802AA7E0; // type:function size:0x348 fn_802AAB30 = .text:0x802AAB30; // type:function size:0x388 @@ -16038,105 +16038,105 @@ fn_802AC600 = .text:0x802AC600; // type:function size:0x64 fn_802AC670 = .text:0x802AC670; // type:function size:0x304 fn_802AC980 = .text:0x802AC980; // type:function size:0x54 fn_802AC9E0 = .text:0x802AC9E0; // type:function size:0x90 -fn_802ACA70 = .text:0x802ACA70; // type:function size:0x80 +setPouchItemsVisible__17dLytDepositMain_cFb = .text:0x802ACA70; // type:function size:0x80 fn_802ACAF0 = .text:0x802ACAF0; // type:function size:0x85C fn_802AD350 = .text:0x802AD350; // type:function size:0x18 fn_802AD370 = .text:0x802AD370; // type:function size:0x8C fn_802AD400 = .text:0x802AD400; // type:function size:0x5C fn_802AD460 = .text:0x802AD460; // type:function size:0x60 fn_802AD4C0 = .text:0x802AD4C0; // type:function size:0x5C -fn_802AD520 = .text:0x802AD520; // type:function size:0x4 -fn_802AD530 = .text:0x802AD530; // type:function size:0x68 -fn_802AD5A0 = .text:0x802AD5A0; // type:function size:0x10 -fn_802AD5B0 = .text:0x802AD5B0; // type:function size:0x4 -fn_802AD5C0 = .text:0x802AD5C0; // type:function size:0x4 -fn_802AD5D0 = .text:0x802AD5D0; // type:function size:0xBC -fn_802AD690 = .text:0x802AD690; // type:function size:0x4 -fn_802AD6A0 = .text:0x802AD6A0; // type:function size:0x4 -fn_802AD6B0 = .text:0x802AD6B0; // type:function size:0x14C -fn_802AD800 = .text:0x802AD800; // type:function size:0x4 -fn_802AD810 = .text:0x802AD810; // type:function size:0x4 -fn_802AD820 = .text:0x802AD820; // type:function size:0x280 -fn_802ADAA0 = .text:0x802ADAA0; // type:function size:0x4 -fn_802ADAB0 = .text:0x802ADAB0; // type:function size:0x4 -fn_802ADAC0 = .text:0x802ADAC0; // type:function size:0x60 -fn_802ADB20 = .text:0x802ADB20; // type:function size:0x4 -fn_802ADB30 = .text:0x802ADB30; // type:function size:0x4 -fn_802ADB40 = .text:0x802ADB40; // type:function size:0x5C -fn_802ADBA0 = .text:0x802ADBA0; // type:function size:0x4 -fn_802ADBB0 = .text:0x802ADBB0; // type:function size:0x4 -fn_802ADBC0 = .text:0x802ADBC0; // type:function size:0x60 -fn_802ADC20 = .text:0x802ADC20; // type:function size:0x4 -fn_802ADC30 = .text:0x802ADC30; // type:function size:0x4 -fn_802ADC40 = .text:0x802ADC40; // type:function size:0x5C -fn_802ADCA0 = .text:0x802ADCA0; // type:function size:0x4 -fn_802ADCB0 = .text:0x802ADCB0; // type:function size:0x4 -fn_802ADCC0 = .text:0x802ADCC0; // type:function size:0x5C -fn_802ADD20 = .text:0x802ADD20; // type:function size:0x4 -fn_802ADD30 = .text:0x802ADD30; // type:function size:0x4 -fn_802ADD40 = .text:0x802ADD40; // type:function size:0x80 -fn_802ADDC0 = .text:0x802ADDC0; // type:function size:0x4 -fn_802ADDD0 = .text:0x802ADDD0; // type:function size:0xF8 -fn_802ADED0 = .text:0x802ADED0; // type:function size:0x58 -fn_802ADF30 = .text:0x802ADF30; // type:function size:0x6C -fn_802ADFA0 = .text:0x802ADFA0; // type:function size:0xA0 -fn_802AE040 = .text:0x802AE040; // type:function size:0xA4 -fn_802AE0F0 = .text:0x802AE0F0; // type:function size:0x390 +initializeState_None__13dLytDeposit_cFv = .text:0x802AD520; // type:function size:0x4 +executeState_None__13dLytDeposit_cFv = .text:0x802AD530; // type:function size:0x68 +changeState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x802AD5A0; // type:function size:0x10 +finalizeState_None__13dLytDeposit_cFv = .text:0x802AD5B0; // type:function size:0x4 +initializeState_In__13dLytDeposit_cFv = .text:0x802AD5C0; // type:function size:0x4 +executeState_In__13dLytDeposit_cFv = .text:0x802AD5D0; // type:function size:0xBC +finalizeState_In__13dLytDeposit_cFv = .text:0x802AD690; // type:function size:0x4 +initializeState_Check__13dLytDeposit_cFv = .text:0x802AD6A0; // type:function size:0x4 +executeState_Check__13dLytDeposit_cFv = .text:0x802AD6B0; // type:function size:0x14C +finalizeState_Check__13dLytDeposit_cFv = .text:0x802AD800; // type:function size:0x4 +initializeState_Change__13dLytDeposit_cFv = .text:0x802AD810; // type:function size:0x4 +executeState_Change__13dLytDeposit_cFv = .text:0x802AD820; // type:function size:0x280 +finalizeState_Change__13dLytDeposit_cFv = .text:0x802ADAA0; // type:function size:0x4 +initializeState_Arrangement__13dLytDeposit_cFv = .text:0x802ADAB0; // type:function size:0x4 +executeState_Arrangement__13dLytDeposit_cFv = .text:0x802ADAC0; // type:function size:0x60 +finalizeState_Arrangement__13dLytDeposit_cFv = .text:0x802ADB20; // type:function size:0x4 +initializeState_ReverseChange__13dLytDeposit_cFv = .text:0x802ADB30; // type:function size:0x4 +executeState_ReverseChange__13dLytDeposit_cFv = .text:0x802ADB40; // type:function size:0x5C +finalizeState_ReverseChange__13dLytDeposit_cFv = .text:0x802ADBA0; // type:function size:0x4 +initializeState_Scroll__13dLytDeposit_cFv = .text:0x802ADBB0; // type:function size:0x4 +executeState_Scroll__13dLytDeposit_cFv = .text:0x802ADBC0; // type:function size:0x60 +finalizeState_Scroll__13dLytDeposit_cFv = .text:0x802ADC20; // type:function size:0x4 +initializeState_Recycle__13dLytDeposit_cFv = .text:0x802ADC30; // type:function size:0x4 +executeState_Recycle__13dLytDeposit_cFv = .text:0x802ADC40; // type:function size:0x5C +finalizeState_Recycle__13dLytDeposit_cFv = .text:0x802ADCA0; // type:function size:0x4 +initializeState_ArrangementOut__13dLytDeposit_cFv = .text:0x802ADCB0; // type:function size:0x4 +executeState_ArrangementOut__13dLytDeposit_cFv = .text:0x802ADCC0; // type:function size:0x5C +finalizeState_ArrangementOut__13dLytDeposit_cFv = .text:0x802ADD20; // type:function size:0x4 +initializeState_Out__13dLytDeposit_cFv = .text:0x802ADD30; // type:function size:0x4 +executeState_Out__13dLytDeposit_cFv = .text:0x802ADD40; // type:function size:0x80 +finalizeState_Out__13dLytDeposit_cFv = .text:0x802ADDC0; // type:function size:0x4 +dLytDeposit_c_classInit__Fv = .text:0x802ADDD0; // type:function size:0xF8 +__dt__26sFState_c<13dLytDeposit_c>Fv = .text:0x802ADED0; // type:function size:0x58 +__dt__29sFStateFct_c<13dLytDeposit_c>Fv = .text:0x802ADF30; // type:function size:0x6C +__dt__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802ADFA0; // type:function size:0xA0 +__dt__52sFStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c>Fv = .text:0x802AE040; // type:function size:0xA4 +__dt__17dLytDepositMain_cFv = .text:0x802AE0F0; // type:function size:0x390 fn_802AE480 = .text:0x802AE480; // type:function size:0x54 fn_802AE4E0 = .text:0x802AE4E0; // type:function size:0x70 fn_802AE550 = .text:0x802AE550; // type:function size:0xB0 -fn_802AE600 = .text:0x802AE600; // type:function size:0x10 -fn_802AE610 = .text:0x802AE610; // type:function size:0x10 +getStateID__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AE600; // type:function size:0x10 +executeState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AE610; // type:function size:0x10 fn_802AE620 = .text:0x802AE620; // type:function size:0x78 fn_802AE6A0 = .text:0x802AE6A0; // type:function size:0x50 fn_802AE6F0 = .text:0x802AE6F0; // type:function size:0xE0 fn_802AE7D0 = .text:0x802AE7D0; // type:function size:0x10C fn_802AE8E0 = .text:0x802AE8E0; // type:function size:0x434 -fn_802AED20 = .text:0x802AED20; // type:function size:0x60 -fn_802AED80 = .text:0x802AED80; // type:function size:0xC -fn_802AED90 = .text:0x802AED90; // type:function size:0x60 -fn_802AEDF0 = .text:0x802AEDF0; // type:function size:0xC -fn_802AEE00 = .text:0x802AEE00; // type:function size:0x60 -fn_802AEE60 = .text:0x802AEE60; // type:function size:0xC -fn_802AEE70 = .text:0x802AEE70; // type:function size:0x1C -fn_802AEE90 = .text:0x802AEE90; // type:function size:0x1C -fn_802AEEB0 = .text:0x802AEEB0; // type:function size:0x1C -fn_802AEED0 = .text:0x802AEED0; // type:function size:0x1C -fn_802AEEF0 = .text:0x802AEEF0; // type:function size:0x1C -fn_802AEF10 = .text:0x802AEF10; // type:function size:0x1C -fn_802AEF30 = .text:0x802AEF30; // type:function size:0x1C -fn_802AEF50 = .text:0x802AEF50; // type:function size:0x1C -fn_802AEF70 = .text:0x802AEF70; // type:function size:0x1C -fn_802AEF90 = .text:0x802AEF90; // type:function size:0x10 -fn_802AEFA0 = .text:0x802AEFA0; // type:function size:0x10 -fn_802AEFB0 = .text:0x802AEFB0; // type:function size:0x10 -fn_802AEFC0 = .text:0x802AEFC0; // type:function size:0x10 -fn_802AEFD0 = .text:0x802AEFD0; // type:function size:0x10 -fn_802AEFE0 = .text:0x802AEFE0; // type:function size:0x10 -fn_802AEFF0 = .text:0x802AEFF0; // type:function size:0x10 -fn_802AF000 = .text:0x802AF000; // type:function size:0x10 -fn_802AF010 = .text:0x802AF010; // type:function size:0x10 -fn_802AF020 = .text:0x802AF020; // type:function size:0x10 -fn_802AF030 = .text:0x802AF030; // type:function size:0x10 -fn_802AF040 = .text:0x802AF040; // type:function size:0x10 -fn_802AF050 = .text:0x802AF050; // type:function size:0x10 -fn_802AF060 = .text:0x802AF060; // type:function size:0x10 -fn_802AF070 = .text:0x802AF070; // type:function size:0x10 -fn_802AF080 = .text:0x802AF080; // type:function size:0x10 -fn_802AF090 = .text:0x802AF090; // type:function size:0x10 -fn_802AF0A0 = .text:0x802AF0A0; // type:function size:0x10 -fn_802AF0B0 = .text:0x802AF0B0; // type:function size:0x10 -fn_802AF0C0 = .text:0x802AF0C0; // type:function size:0x30 -fn_802AF0F0 = .text:0x802AF0F0; // type:function size:0x30 -fn_802AF120 = .text:0x802AF120; // type:function size:0x30 -fn_802AF150 = .text:0x802AF150; // type:function size:0x30 -fn_802AF180 = .text:0x802AF180; // type:function size:0x30 -fn_802AF1B0 = .text:0x802AF1B0; // type:function size:0x30 -LytDeposit__initStates = .text:0x802AF1E0; // type:function size:0xF04 -LytDepositMain__dtor = .text:0x802B00F0; // type:function size:0x58 -LytDeposit__dtor = .text:0x802B0150; // type:function size:0x58 -fn_802B01B0 = .text:0x802B01B0; // type:function size:0x88 -fn_802B0240 = .text:0x802B0240; // type:function size:0x88 +build__29sFStateFct_c<13dLytDeposit_c>FRC12sStateIDIf_c = .text:0x802AED20; // type:function size:0x60 +dispose__29sFStateFct_c<13dLytDeposit_c>FRP10sStateIf_c = .text:0x802AED80; // type:function size:0xC +build__33sFStateFct_c<17dLytDepositMain_c>FRC12sStateIDIf_c = .text:0x802AED90; // type:function size:0x60 +dispose__33sFStateFct_c<17dLytDepositMain_c>FRP10sStateIf_c = .text:0x802AEDF0; // type:function size:0xC +build__34sFStateFct_c<18dLytDepositStock_c>FRC12sStateIDIf_c = .text:0x802AEE00; // type:function size:0x60 +dispose__34sFStateFct_c<18dLytDepositStock_c>FRP10sStateIf_c = .text:0x802AEE60; // type:function size:0xC +initialize__26sFState_c<13dLytDeposit_c>Fv = .text:0x802AEE70; // type:function size:0x1C +execute__26sFState_c<13dLytDeposit_c>Fv = .text:0x802AEE90; // type:function size:0x1C +finalize__26sFState_c<13dLytDeposit_c>Fv = .text:0x802AEEB0; // type:function size:0x1C +initialize__30sFState_c<17dLytDepositMain_c>Fv = .text:0x802AEED0; // type:function size:0x1C +execute__30sFState_c<17dLytDepositMain_c>Fv = .text:0x802AEEF0; // type:function size:0x1C +finalize__30sFState_c<17dLytDepositMain_c>Fv = .text:0x802AEF10; // type:function size:0x1C +initialize__31sFState_c<18dLytDepositStock_c>Fv = .text:0x802AEF30; // type:function size:0x1C +execute__31sFState_c<18dLytDepositStock_c>Fv = .text:0x802AEF50; // type:function size:0x1C +finalize__31sFState_c<18dLytDepositStock_c>Fv = .text:0x802AEF70; // type:function size:0x1C +initializeState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AEF90; // type:function size:0x10 +finalizeState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AEFA0; // type:function size:0x10 +refreshState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AEFB0; // type:function size:0x10 +getState__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AEFC0; // type:function size:0x10 +getNewStateID__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AEFD0; // type:function size:0x10 +getOldStateID__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AEFE0; // type:function size:0x10 +initializeState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AEFF0; // type:function size:0x10 +finalizeState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AF000; // type:function size:0x10 +refreshState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AF010; // type:function size:0x10 +getState__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AF020; // type:function size:0x10 +getNewStateID__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AF030; // type:function size:0x10 +getOldStateID__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AF040; // type:function size:0x10 +initializeState__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AF050; // type:function size:0x10 +finalizeState__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AF060; // type:function size:0x10 +refreshState__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802AF070; // type:function size:0x10 +getState__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AF080; // type:function size:0x10 +getNewStateID__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AF090; // type:function size:0x10 +getStateID__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AF0A0; // type:function size:0x10 +getOldStateID__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802AF0B0; // type:function size:0x10 +finalizeState__32sFStateID_c<17dLytDepositMain_c>CFR17dLytDepositMain_c = .text:0x802AF0C0; // type:function size:0x30 +executeState__32sFStateID_c<17dLytDepositMain_c>CFR17dLytDepositMain_c = .text:0x802AF0F0; // type:function size:0x30 +initializeState__32sFStateID_c<17dLytDepositMain_c>CFR17dLytDepositMain_c = .text:0x802AF120; // type:function size:0x30 +finalizeState__28sFStateID_c<13dLytDeposit_c>CFR13dLytDeposit_c = .text:0x802AF150; // type:function size:0x30 +executeState__28sFStateID_c<13dLytDeposit_c>CFR13dLytDeposit_c = .text:0x802AF180; // type:function size:0x30 +initializeState__28sFStateID_c<13dLytDeposit_c>CFR13dLytDeposit_c = .text:0x802AF1B0; // type:function size:0x30 +__sinit_\d_lyt_deposit_cpp = .text:0x802AF1E0; // type:function size:0xF04 +__dt__32sFStateID_c<17dLytDepositMain_c>Fv = .text:0x802B00F0; // type:function size:0x58 +__dt__28sFStateID_c<13dLytDeposit_c>Fv = .text:0x802B0150; // type:function size:0x58 +isSameName__28sFStateID_c<13dLytDeposit_c>CFPCc = .text:0x802B01B0; // type:function size:0x88 +isSameName__32sFStateID_c<17dLytDepositMain_c>CFPCc = .text:0x802B0240; // type:function size:0x88 fn_802B02D0 = .text:0x802B02D0; // type:function size:0x4 fn_802B02E0 = .text:0x802B02E0; // type:function size:0xC fn_802B02F0 = .text:0x802B02F0; // type:function size:0x4 @@ -37446,7 +37446,8 @@ lbl_8053D454 = .data:0x8053D454; // type:object size:0xA data:string lbl_8053D460 = .data:0x8053D460; // type:object size:0xA data:string lbl_8053D46C = .data:0x8053D46C; // type:object size:0x3C lbl_8053D4A8 = .data:0x8053D4A8; // type:object size:0x9 data:string -lbl_8053D4B4 = .data:0x8053D4B4; // type:object size:0x84 +lbl_8053D4B4 = .data:0x8053D4B4; // type:object size:0x9 data:string +lbl_8053D4C0 = .data:0x8053D4C0; // type:object size:0x78 lbl_8053D538 = .data:0x8053D538; // type:object size:0x9 data:string lbl_8053D544 = .data:0x8053D544; // type:object size:0x9 data:string lbl_8053D550 = .data:0x8053D550; // type:object size:0xF data:string @@ -37456,22 +37457,22 @@ lbl_8053D5C8 = .data:0x8053D5C8; // type:object size:0xD data:string lbl_8053D5D8 = .data:0x8053D5D8; // type:object size:0x34 g_profile_LYT_DEPOSIT = .data:0x8053D60C; // type:object size:0xC lbl_8053D618 = .data:0x8053D618; // type:object size:0x1B data:string -lbl_8053D638 = .data:0x8053D638; // type:object size:0x50 -lbl_8053D688 = .data:0x8053D688; // type:object size:0x30 -lbl_8053D6B8 = .data:0x8053D6B8; // type:object size:0x30 -lbl_8053D6E8 = .data:0x8053D6E8; // type:object size:0x18 -lbl_8053D700 = .data:0x8053D700; // type:object size:0x18 -lbl_8053D718 = .data:0x8053D718; // type:object size:0x10 -lbl_8053D728 = .data:0x8053D728; // type:object size:0x30 -lbl_8053D758 = .data:0x8053D758; // type:object size:0x30 -lbl_8053D788 = .data:0x8053D788; // type:object size:0x18 -lbl_8053D7A0 = .data:0x8053D7A0; // type:object size:0x18 -lbl_8053D7B8 = .data:0x8053D7B8; // type:object size:0x30 -lbl_8053D7E8 = .data:0x8053D7E8; // type:object size:0x30 -lbl_8053D818 = .data:0x8053D818; // type:object size:0x18 -lbl_8053D830 = .data:0x8053D830; // type:object size:0x72C -lbl_8053DF5C = .data:0x8053DF5C; // type:object size:0x34 -lbl_8053DF90 = .data:0x8053DF90; // type:object size:0x38 +__vt__13dLytDeposit_c = .data:0x8053D638; // type:object size:0x50 +__vt__52sFStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c> = .data:0x8053D688; // type:object size:0x30 +__vt__82sStateMgr_c<13dLytDeposit_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8053D6B8; // type:object size:0x30 +__vt__29sFStateFct_c<13dLytDeposit_c> = .data:0x8053D6E8; // type:object size:0x18 +__vt__26sFState_c<13dLytDeposit_c> = .data:0x8053D700; // type:object size:0x18 +__vt__17dLytDepositMain_c = .data:0x8053D718; // type:object size:0x10 +__vt__56sFStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c> = .data:0x8053D728; // type:object size:0x30 +__vt__86sStateMgr_c<17dLytDepositMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8053D758; // type:object size:0x30 +__vt__33sFStateFct_c<17dLytDepositMain_c> = .data:0x8053D788; // type:object size:0x18 +__vt__30sFState_c<17dLytDepositMain_c> = .data:0x8053D7A0; // type:object size:0x18 +__vt__57sFStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c> = .data:0x8053D7B8; // type:object size:0x30 +__vt__87sStateMgr_c<18dLytDepositStock_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8053D7E8; // type:object size:0x30 +__vt__34sFStateFct_c<18dLytDepositStock_c> = .data:0x8053D818; // type:object size:0x18 +__vt__31sFState_c<18dLytDepositStock_c> = .data:0x8053D830; // type:object size:0x72C +__vt__32sFStateID_c<17dLytDepositMain_c> = .data:0x8053DF5C; // type:object size:0x34 +__vt__28sFStateID_c<13dLytDeposit_c> = .data:0x8053DF90; // type:object size:0x38 lbl_8053DFC8 = .data:0x8053DFC8; // type:object size:0x16 data:string lbl_8053DFE0 = .data:0x8053DFE0; // type:object size:0xB data:string lbl_8053DFEC = .data:0x8053DFEC; // type:object size:0x17 data:string diff --git a/include/d/lyt/d_lyt_common_arrow.h b/include/d/lyt/d_lyt_common_arrow.h index ccab07b9..c2e60b02 100644 --- a/include/d/lyt/d_lyt_common_arrow.h +++ b/include/d/lyt/d_lyt_common_arrow.h @@ -43,6 +43,10 @@ public: return field_0x6B8; } + bool isChangingState() const { + return mIsChangingState; + } + nw4r::lyt::Bounding *getArrowBounding(s32 idx) const { return mpBoundings[idx]; } diff --git a/include/d/lyt/d_lyt_deposit.h b/include/d/lyt/d_lyt_deposit.h index aa8804c9..a8a94d02 100644 --- a/include/d/lyt/d_lyt_deposit.h +++ b/include/d/lyt/d_lyt_deposit.h @@ -1,14 +1,129 @@ #ifndef D_LYT_DEPOSIT_H #define D_LYT_DEPOSIT_H -class dLytDeposit_c { +#include "d/d_cursor_hit_check.h" +#include "d/d_pad_nav.h" +#include "d/lyt/d2d.h" +#include "d/lyt/d_lyt_base.h" +#include "d/lyt/d_lyt_common_arrow.h" +#include "d/lyt/d_lyt_common_icon_item.h" +#include "d/lyt/d_lyt_deposit_box_cursor.h" +#include "d/lyt/d_lyt_deposit_stock.h" +#include "d/lyt/d_textbox.h" +#include "d/lyt/d_window.h" +#include "nw4r/lyt/lyt_bounding.h" +#include "nw4r/lyt/lyt_pane.h" +#include "s/s_State.hpp" + +class dLytDepositMain_c { public: + dLytDepositMain_c(); + virtual ~dLytDepositMain_c() { + dPadNav::setNavEnabled(false, false); + } + + bool build(d2d::ResAccIf_c *resAcc); + +private: + void setPouchItemsVisible(bool visible); + void fn_802AA7E0(); + void fn_802AD370(); + void fn_802A9E80(); + + void fn_802AAFC0(); + void fn_802AB210(); + void fn_802ACAF0(); + void fn_802ABB60(); + + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeNone); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeIn); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeCheck); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeChange); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeArrangement); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeReverseChange); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeScroll); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeRecycle); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeArrangementOut); + STATE_FUNC_DECLARE(dLytDepositMain_c, ModeOut); + + /* 0x00004 */ UI_STATE_MGR_DECLARE(dLytDepositMain_c); + /* 0x00040 */ d2d::LytBase_c mLyt; + /* 0x000D0 */ d2d::AnmGroup_c mAnm[36]; + + /* 0x009D0 */ nw4r::lyt::Bounding *mpBoundingBox; + /* 0x009D4 */ nw4r::lyt::Bounding *mpBoundingChoices; + /* 0x009D8 */ nw4r::lyt::Bounding *mpBoundingCleanUp; + /* 0x009DC */ nw4r::lyt::Bounding *mpBoundingItem12; + /* 0x009E0 */ nw4r::lyt::Bounding *mpItemBoundings[12]; + /* 0x00A10 */ nw4r::lyt::Bounding *mpRingBoundings[8]; + /* 0x00A30 */ nw4r::lyt::Pane *mpPaneABtn; + /* 0x00A34 */ nw4r::lyt::Pane *mpPanePrice; + /* 0x00A38 */ nw4r::lyt::Pane *mpPaneCommonArrow; + /* 0x00A3C */ dWindow_c *mpWindows[2]; + /* 0x00A44 */ dTextBox_c *mpSizeBoxes[2]; + /* 0x00A4C */ dCursorHitCheckLyt_c mCsHitCheck; + + u8 _0x00002[0x8]; + + /* 0x00A7C */ dLytDepositStock_c mStock[3]; + /* 0x143F0 */ dLytDepositBoxCursor_c mCursor; + /* 0x14D48 */ dLytCommonIconItem_c mPouchItems[8]; + /* 0x18D88 */ dLytCommonArrow_c mArrow; + /* 0x19458 */ d2d::SubPaneList mSubpaneList1; + /* 0x19464 */ d2d::SubPaneListNode mNodes1[3]; + /* 0x19494 */ d2d::SubPaneList mSubpaneList2; + /* 0x194A0 */ d2d::SubPaneListNode mNodes2[8]; + /* 0x19520 */ bool field_0x19520; + /* 0x19521 */ bool field_0x19521; + /* 0x19522 */ bool field_0x19522; + /* 0x19523 */ bool field_0x19523; + /* 0x19524 */ bool field_0x19524; + /* 0x19525 */ bool field_0x19525; + /* 0x19526 */ bool field_0x19526; + /* 0x19527 */ bool field_0x19527; + /* 0x19528 */ bool field_0x19528; + /* 0x19529 */ bool field_0x19529; + /* 0x1952A */ bool field_0x1952A; + /* 0x1952B */ bool field_0x1952B; + /* 0x1952C */ bool field_0x1952C; + /* 0x19530 */ UNKWORD field_0x19530; + /* 0x19534 */ UNKWORD field_0x19534; + /* 0x19538 */ UNKWORD field_0x19538; + /* 0x1953C */ UNKWORD field_0x1953C; + /* 0x19540 */ UNKWORD field_0x19540; + /* 0x19544 */ UNKWORD field_0x19544; + /* 0x19548 */ UNKWORD field_0x19548; + /* 0x1954C */ UNKWORD field_0x1954C; + /* 0x19550 */ UNKWORD field_0x19550; + /* 0x19554 */ UNKWORD field_0x19554; + /* 0x19558 */ u8 mPouchItemIds[8]; +}; + +class dLytDeposit_c : public dLytBase_c { +public: + dLytDeposit_c() : mStateMgr(*this) {} + static dLytDeposit_c *GetInstance() { return sInstance; } private: static dLytDeposit_c *sInstance; + + STATE_FUNC_DECLARE(dLytDeposit_c, None); + STATE_FUNC_DECLARE(dLytDeposit_c, In); + STATE_FUNC_DECLARE(dLytDeposit_c, Check); + STATE_FUNC_DECLARE(dLytDeposit_c, Change); + STATE_FUNC_DECLARE(dLytDeposit_c, Arrangement); + STATE_FUNC_DECLARE(dLytDeposit_c, ReverseChange); + STATE_FUNC_DECLARE(dLytDeposit_c, Scroll); + STATE_FUNC_DECLARE(dLytDeposit_c, Recycle); + STATE_FUNC_DECLARE(dLytDeposit_c, ArrangementOut); + STATE_FUNC_DECLARE(dLytDeposit_c, Out); + + /* 0x08C */ UI_STATE_MGR_DECLARE(dLytDeposit_c); + /* 0x0C8 */ d2d::ResAccIf_c mResAcc; + /* 0x438 */ dLytDepositMain_c mMain; }; #endif diff --git a/include/d/lyt/d_lyt_deposit_box_cursor.h b/include/d/lyt/d_lyt_deposit_box_cursor.h index f14b35dd..7278d42e 100644 --- a/include/d/lyt/d_lyt_deposit_box_cursor.h +++ b/include/d/lyt/d_lyt_deposit_box_cursor.h @@ -5,6 +5,7 @@ #include "d/lyt/d_lyt_common_icon_item.h" #include "nw4r/lyt/lyt_pane.h" +// made up name class dLytDepositBoxCursor_c : public d2d::dSubPane { public: enum ItemLocation_e { @@ -13,6 +14,7 @@ public: }; public: + dLytDepositBoxCursor_c() : mSlot(-1), field_0x950(0), mItemLocation(0) {} /* vt 0x0C */ virtual bool build(d2d::ResAccIf_c *resAcc) override; /* vt 0x10 */ virtual bool remove() override; /* vt 0x14 */ virtual bool execute() override; diff --git a/include/d/lyt/d_lyt_deposit_stock.h b/include/d/lyt/d_lyt_deposit_stock.h index a39e9690..414654cb 100644 --- a/include/d/lyt/d_lyt_deposit_stock.h +++ b/include/d/lyt/d_lyt_deposit_stock.h @@ -43,7 +43,8 @@ public: void nextPage(bool unk); void prevPage(bool unk); void fn_80156530(bool unk); - + + void navigateToItem(); void navigateToSell(); void navigateToSort(); void navigateToFinish(); @@ -62,12 +63,15 @@ public: STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dLytDepositStock_c); + s32 getCurrentNavTarget() const { + return mCurrentNavTarget; + } + private: static const s32 NUM_ICONS_PER_PAGE = 12; static const s32 NUM_PAGES = 5; void initIcons(); - void navigateToItem(); void loadItems(s32 hiddenSlot); void loadIcon(s32 idx); void navigateToPouch(); diff --git a/src/d/lyt/d_lyt_deposit.cpp b/src/d/lyt/d_lyt_deposit.cpp new file mode 100644 index 00000000..e2a657bb --- /dev/null +++ b/src/d/lyt/d_lyt_deposit.cpp @@ -0,0 +1,345 @@ +#include "d/lyt/d_lyt_deposit.h" + +#include "common.h" +#include "d/d_cs_base.h" +#include "d/d_cursor_hit_check.h" +#include "d/lyt/d2d.h" +#include "f/f_profile.h" +#include "f/f_profile_name.h" + +STATE_DEFINE(dLytDepositMain_c, ModeNone); +STATE_DEFINE(dLytDepositMain_c, ModeIn); +STATE_DEFINE(dLytDepositMain_c, ModeCheck); +STATE_DEFINE(dLytDepositMain_c, ModeChange); +STATE_DEFINE(dLytDepositMain_c, ModeArrangement); +STATE_DEFINE(dLytDepositMain_c, ModeReverseChange); +STATE_DEFINE(dLytDepositMain_c, ModeScroll); +STATE_DEFINE(dLytDepositMain_c, ModeRecycle); +STATE_DEFINE(dLytDepositMain_c, ModeArrangementOut); +STATE_DEFINE(dLytDepositMain_c, ModeOut); + +#define DEPOSIT_ANIM_IN 0 +#define DEPOSIT_ANIM_IN_BOX 1 +#define DEPOSIT_ANIM_FLASH_OFFSET 5 +#define DEPOSIT_ANIM_INPUT 22 +#define DEPOSIT_ANIM_ARROW_LOOP 24 +#define DEPOSIT_ANIM_BTN_LOOP 25 +#define DEPOSIT_ANIM_LOOP 26 + +#define DEPOSIT_NUM_RING_ITEMS 8 + +void dLytDepositMain_c::initializeState_ModeNone() {} +void dLytDepositMain_c::executeState_ModeNone() { + field_0x19520 = true; +} +void dLytDepositMain_c::finalizeState_ModeNone() {} + +void dLytDepositMain_c::initializeState_ModeIn() {} +void dLytDepositMain_c::executeState_ModeIn() { + if (field_0x19538 == 0) { + if (!field_0x19520) { + if (mAnm[DEPOSIT_ANIM_IN].isEndReached()) { + mAnm[DEPOSIT_ANIM_IN].setAnimEnable(false); + mpBoundingBox->SetVisible(true); + mpBoundingChoices->SetVisible(true); + mpBoundingItem12->SetVisible(true); + mpBoundingCleanUp->SetVisible(false); + setPouchItemsVisible(true); + mStock[0].navigateToItem(); + mStock[0].fn_80156530(false); + field_0x19530 = -DEPOSIT_NUM_RING_ITEMS; + dCsBase_c::GetInstance()->setCursorStickTargetPane(mpRingBoundings[0]); + field_0x1954C = 0; + field_0x19520 = true; + } + } + } else { + if (!field_0x19520) { + if (mAnm[DEPOSIT_ANIM_IN_BOX].isEndReached() && mArrow.isChangingState()) { + mAnm[DEPOSIT_ANIM_IN_BOX].setAnimEnable(false); + mpBoundingBox->SetVisible(false); + mpBoundingChoices->SetVisible(true); + mpBoundingItem12->SetVisible(true); + mpBoundingCleanUp->SetVisible(true); + setPouchItemsVisible(false); + mStock[0].navigateToItem(); + mStock[0].fn_80156530(true); + s32 target = mStock[0].getCurrentNavTarget(); + if (target < 0) { + target += 12; + } + dCsBase_c::GetInstance()->setCursorStickTargetPane(mpItemBoundings[target]); + field_0x1954C = 1; + field_0x19520 = true; + } + } + } +} +void dLytDepositMain_c::finalizeState_ModeIn() {} + +void dLytDepositMain_c::initializeState_ModeCheck() { + field_0x19521 = false; + field_0x19522 = false; +} +void dLytDepositMain_c::executeState_ModeCheck() { + fn_802AAFC0(); + fn_802AB210(); + fn_802ACAF0(); + fn_802ABB60(); + field_0x19520 = true; +} +void dLytDepositMain_c::finalizeState_ModeCheck() {} + +void dLytDepositMain_c::initializeState_ModeChange() { + field_0x19521 = false; + field_0x19522 = false; +} +void dLytDepositMain_c::executeState_ModeChange() {} +void dLytDepositMain_c::finalizeState_ModeChange() {} + +void dLytDepositMain_c::initializeState_ModeArrangement() {} +void dLytDepositMain_c::executeState_ModeArrangement() {} +void dLytDepositMain_c::finalizeState_ModeArrangement() {} + +void dLytDepositMain_c::initializeState_ModeReverseChange() {} +void dLytDepositMain_c::executeState_ModeReverseChange() {} +void dLytDepositMain_c::finalizeState_ModeReverseChange() {} + +void dLytDepositMain_c::initializeState_ModeScroll() {} +void dLytDepositMain_c::executeState_ModeScroll() {} +void dLytDepositMain_c::finalizeState_ModeScroll() {} + +void dLytDepositMain_c::initializeState_ModeRecycle() {} +void dLytDepositMain_c::executeState_ModeRecycle() {} +void dLytDepositMain_c::finalizeState_ModeRecycle() {} + +void dLytDepositMain_c::initializeState_ModeArrangementOut() {} +void dLytDepositMain_c::executeState_ModeArrangementOut() {} +void dLytDepositMain_c::finalizeState_ModeArrangementOut() {} + +void dLytDepositMain_c::initializeState_ModeOut() {} +void dLytDepositMain_c::executeState_ModeOut() {} +void dLytDepositMain_c::finalizeState_ModeOut() {} + +dLytDepositMain_c::dLytDepositMain_c() : mStateMgr(*this) {} + +static const d2d::LytBrlanMapping brlanMap[] = { + { "depositBox_00_in.brlan", "G_inOut_00"}, + { "depositBox_00_inBox.brlan", "G_inOut_01"}, + { "depositBox_00_change.brlan", "G_change_00"}, + { "depositBox_00_selectOn.brlan", "G_flashBox_00"}, + { "depositBox_00_selectOn.brlan", "G_flashPoach_00"}, + { "depositBox_00_flash.brlan", "G_poachFlash_00"}, + { "depositBox_00_flash.brlan", "G_poachFlash_01"}, + { "depositBox_00_flash.brlan", "G_poachFlash_02"}, + { "depositBox_00_flash.brlan", "G_poachFlash_03"}, + { "depositBox_00_flash.brlan", "G_poachFlash_04"}, + { "depositBox_00_flash.brlan", "G_poachFlash_05"}, + { "depositBox_00_flash.brlan", "G_poachFlash_06"}, + { "depositBox_00_flash.brlan", "G_poachFlash_07"}, + { "depositBox_00_scrollR.brlan", "G_scroll_00"}, + { "depositBox_00_scrollL.brlan", "G_scroll_00"}, + {"depositBox_00_btnDecide.brlan", "G_btn_00"}, + {"depositBox_00_btnDecide.brlan", "G_btn_01"}, + {"depositBox_00_btnDecide.brlan", "G_btn_02"}, + { "depositBox_00_out.brlan", "G_inOut_00"}, + { "depositBox_00_btnOnOff.brlan", "G_btn_00"}, + { "depositBox_00_btnOnOff.brlan", "G_btn_01"}, + { "depositBox_00_recycle.brlan", "G_recycle_00"}, + { "depositBox_00_input.brlan", "G_input_00"}, + { "depositBox_00_input.brlan", "G_input_01"}, + {"depositBox_00_arrowLoop.brlan", "G_arrowLoop_00"}, + { "depositBox_00_btnLoop.brlan", "G_btnLoop_00"}, + { "depositBox_00_loop.brlan", "G_loop_00"}, + { "depositBox_00_have.brlan", "G_itemA_00"}, + { "depositBox_00_have.brlan", "G_itemB_00"}, + { "depositBox_00_have.brlan", "G_itemC_00"}, + { "depositBox_00_have.brlan", "G_itemD_00"}, + { "depositBox_00_have.brlan", "G_itemE_00"}, + { "depositBox_00_have.brlan", "G_itemF_00"}, + { "depositBox_00_have.brlan", "G_itemG_00"}, + { "depositBox_00_have.brlan", "G_itemH_00"}, + { "depositBox_00_keta.brlan", "G_keta_00"}, +}; + +#define DEPOSIT_NUM_ANIMS 36 + +static const char *sRingBoundingNames[] = { + "B_ringA_00", "B_ringB_00", "B_ringC_00", "B_ringD_00", "B_ringE_00", "B_ringF_00", "B_ringG_00", "B_ringH_00", +}; + +#define DEPOSIT_NUM_RING_BOUNDINGS 8 + +static const char *sItemBoundingNames[] = { + "B_item_00", "B_item_01", "B_item_02", "B_item_03", "B_item_04", "B_item_05", + "B_item_06", "B_item_07", "B_item_08", "B_item_09", "B_item_10", "B_item_11", +}; + +#define DEPOSIT_NUM_ITEM_BOUNDINGS 12 + +static const char *sWindowNames[] = { + "W_bgP_00", + "W_bgP_01", +}; + +static const char *sGroupName = "G_ref_00"; + +bool dLytDepositMain_c::build(d2d::ResAccIf_c *resAcc) { + mLyt.setResAcc(resAcc); + mLyt.build("depositBox_00.brlyt", nullptr); + + for (int i = 0; i < DEPOSIT_NUM_ANIMS; i++) { + mAnm[i].init(brlanMap[i].mFile, resAcc, mLyt.getLayout(), brlanMap[i].mName); + mAnm[i].bind(false); + mAnm[i].setAnimEnable(false); + } + + mpBoundingBox = mLyt.findBounding("B_box_00"); + mpBoundingChoices = mLyt.findBounding("B_choices_00"); + mpBoundingChoices->SetVisible(true); + mpBoundingCleanUp = mLyt.findBounding("B_cleanUp_00"); + mpBoundingCleanUp->SetVisible(true); + mpBoundingItem12 = mLyt.findBounding("B_item_12"); + + mpPaneABtn = mLyt.findPane("N_aBtn_00"); + mpPanePrice = mLyt.findPane("N_price_00"); + mpPaneCommonArrow = mLyt.findPane("N_commonArrow_00"); + + for (int i = 0; i < DEPOSIT_NUM_RING_BOUNDINGS; i++) { + mpRingBoundings[i] = mLyt.findBounding(sRingBoundingNames[i]); + mpRingBoundings[i]->SetVisible(false); + } + + for (int i = 0; i < DEPOSIT_NUM_ITEM_BOUNDINGS; i++) { + mpItemBoundings[i] = mLyt.findBounding(sItemBoundingNames[i]); + mpItemBoundings[i]->SetVisible(false); + } + + for (int i = 0; i < 2; i++) { + mpWindows[i] = mLyt.getWindow(sWindowNames[i]); + mpSizeBoxes[i] = mLyt.getSizeBoxInWindow(sWindowNames[i]); + mpWindows[i]->UpdateSize(mpSizeBoxes[i], 32.0f); + } + + mAnm[DEPOSIT_ANIM_IN].setAnimEnable(true); + mAnm[DEPOSIT_ANIM_IN].setFrame(mAnm[DEPOSIT_ANIM_IN].getLastFrame()); + + mAnm[DEPOSIT_ANIM_ARROW_LOOP].setAnimEnable(true); + mAnm[DEPOSIT_ANIM_ARROW_LOOP].setFrame(0.0f); + + mAnm[DEPOSIT_ANIM_BTN_LOOP].setAnimEnable(true); + mAnm[DEPOSIT_ANIM_BTN_LOOP].setFrame(0.0f); + + mAnm[DEPOSIT_ANIM_LOOP].setAnimEnable(true); + mAnm[DEPOSIT_ANIM_LOOP].setFrame(0.0f); + + mAnm[DEPOSIT_ANIM_INPUT].setAnimEnable(true); + mAnm[DEPOSIT_ANIM_INPUT].setForwardOnce(); + mAnm[DEPOSIT_ANIM_INPUT].setFrame(mAnm[DEPOSIT_ANIM_INPUT].getLastFrame()); + + for (int i = 0; i < DEPOSIT_NUM_RING_ITEMS; i++) { + mAnm[i + DEPOSIT_ANIM_FLASH_OFFSET].setAnimEnable(true); + mAnm[i + DEPOSIT_ANIM_FLASH_OFFSET].setToEnd(); + } + + mLyt.calc(); + + mAnm[DEPOSIT_ANIM_IN].setAnimEnable(false); + mAnm[DEPOSIT_ANIM_ARROW_LOOP].setAnimEnable(false); + mAnm[DEPOSIT_ANIM_INPUT].setAnimEnable(false); + + for (int i = 0; i < DEPOSIT_NUM_RING_ITEMS; i++) { + mAnm[i + DEPOSIT_ANIM_FLASH_OFFSET].setAnimEnable(false); + } + + fn_802AA7E0(); + mCsHitCheck.init(mLyt.getLayout()->GetRootPane(), 0x1, 0, 0); + dCsMgr_c::GetInstance()->registCursorTarget(&mCsHitCheck); + fn_802AD370(); + + mCursor.build(resAcc); + + mArrow.build(); + mArrow.setState(1); + + fn_802A9E80(); + + field_0x19521 = false; + field_0x19522 = false; + field_0x19523 = false; + field_0x19524 = false; + field_0x19525 = false; + field_0x19526 = false; + field_0x19527 = false; + field_0x19528 = false; + field_0x19529 = false; + field_0x1952A = true; + field_0x1952B = false; + field_0x1952C = true; + + field_0x19530 = -1; + field_0x19534 = -1; + field_0x19538 = 0; + field_0x1953C = 0; + field_0x19540 = 0; + field_0x19544 = 0; + field_0x19548 = -1; + field_0x1954C = 0; + field_0x19550 = 0; + field_0x19554 = 0; + + return true; +} + +STATE_DEFINE(dLytDeposit_c, None); +STATE_DEFINE(dLytDeposit_c, In); +STATE_DEFINE(dLytDeposit_c, Check); +STATE_DEFINE(dLytDeposit_c, Change); +STATE_DEFINE(dLytDeposit_c, Arrangement); +STATE_DEFINE(dLytDeposit_c, ReverseChange); +STATE_DEFINE(dLytDeposit_c, Scroll); +STATE_DEFINE(dLytDeposit_c, Recycle); +STATE_DEFINE(dLytDeposit_c, ArrangementOut); +STATE_DEFINE(dLytDeposit_c, Out); + +SPECIAL_BASE_PROFILE(LYT_DEPOSIT, dLytDeposit_c, fProfile::LYT_DEPOSIT, 0x2B9, 0); + +void dLytDeposit_c::initializeState_None() {} +void dLytDeposit_c::executeState_None() {} +void dLytDeposit_c::finalizeState_None() {} + +void dLytDeposit_c::initializeState_In() {} +void dLytDeposit_c::executeState_In() {} +void dLytDeposit_c::finalizeState_In() {} + +void dLytDeposit_c::initializeState_Check() {} +void dLytDeposit_c::executeState_Check() {} +void dLytDeposit_c::finalizeState_Check() {} + +void dLytDeposit_c::initializeState_Change() {} +void dLytDeposit_c::executeState_Change() {} +void dLytDeposit_c::finalizeState_Change() {} + +void dLytDeposit_c::initializeState_Arrangement() {} +void dLytDeposit_c::executeState_Arrangement() {} +void dLytDeposit_c::finalizeState_Arrangement() {} + +void dLytDeposit_c::initializeState_ReverseChange() {} +void dLytDeposit_c::executeState_ReverseChange() {} +void dLytDeposit_c::finalizeState_ReverseChange() {} + +void dLytDeposit_c::initializeState_Scroll() {} +void dLytDeposit_c::executeState_Scroll() {} +void dLytDeposit_c::finalizeState_Scroll() {} + +void dLytDeposit_c::initializeState_Recycle() {} +void dLytDeposit_c::executeState_Recycle() {} +void dLytDeposit_c::finalizeState_Recycle() {} + +void dLytDeposit_c::initializeState_ArrangementOut() {} +void dLytDeposit_c::executeState_ArrangementOut() {} +void dLytDeposit_c::finalizeState_ArrangementOut() {} + +void dLytDeposit_c::initializeState_Out() {} +void dLytDeposit_c::executeState_Out() {} +void dLytDeposit_c::finalizeState_Out() {}