From 547fcc4d21fe363677282015c4f09f0b21bb48bd Mon Sep 17 00:00:00 2001 From: robojumper Date: Sat, 23 Nov 2024 22:44:53 +0100 Subject: [PATCH 1/5] d_lyt_map skeleton --- .clangd | 3 +- config/SOUE01/splits.txt | 2 + config/SOUE01/symbols.txt | 164 ++++++++-------- include/d/lyt/d_lyt_map.h | 312 ++++++++++++++++++++++++++++++ include/d/lyt/d_lyt_map_capture.h | 38 ++++ include/d/lyt/d_structd.h | 2 + include/m/m2d.h | 1 + include/s/s_FStateMgr.hpp | 2 + include/s/s_StateMgr.hpp | 3 + src/d/lyt/d_lyt_map.cpp | 99 ++++++++++ src/d/lyt/meter/d_lyt_meter.cpp | 2 +- 11 files changed, 544 insertions(+), 84 deletions(-) create mode 100644 include/d/lyt/d_lyt_map.h create mode 100644 include/d/lyt/d_lyt_map_capture.h create mode 100644 src/d/lyt/d_lyt_map.cpp diff --git a/.clangd b/.clangd index 7d32bd41..69c978c9 100644 --- a/.clangd +++ b/.clangd @@ -3,5 +3,6 @@ CompileFlags: Add: [ "-Wno-c++11-compat-deprecated-writable-strings", "-Wno-trigraphs", - "-fno-trigraphs" + "-fno-trigraphs", + "-Wno-c++11-extensions" ] diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 1f4b5e83..acdcc786 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -423,6 +423,8 @@ d/lyt/d_lyt_map_capture.cpp: d/lyt/d_lyt_map.cpp: .text start:0x8012DC30 end:0x80148DE8 .ctors start:0x804DB76C end:0x804DB770 + .data start:0x8051EAE0 end:0x805225E8 + .bss start:0x805AF480 end:0x805B0830 d/lyt/d_lyt_note.cpp: .text start:0x80148DF0 end:0x80149C28 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 428b2d63..e23eaa7b 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -2867,7 +2867,7 @@ appendToList1__Q23d2d15dLytStructDListFPQ23d2d11dLytStructC = .text:0x800657B0; removeFromList1__Q23d2d15dLytStructDListFPQ23d2d11dLytStructC = .text:0x80065810; // type:function size:0x60 appendToList2__Q23d2d15dLytStructDListFPQ23d2d11dLytStructD = .text:0x80065870; // type:function size:0x110 removeFromList2__Q23d2d15dLytStructDListFPQ23d2d11dLytStructD = .text:0x80065980; // type:function size:0xA4 -fn_80065A30 = .text:0x80065A30; // type:function size:0x34 +fn_80065A30__Q23d2d15dLytStructDListFPQ23d2d11dLytStructD = .text:0x80065A30; // type:function size:0x34 create__Q23d2d15dLytStructDListFPQ23EGG4Heap = .text:0x80065A70; // type:function size:0x38 fn_80065AB0 = .text:0x80065AB0; // type:function size:0x78 fn_80065B30 = .text:0x80065B30; // type:function size:0x4C @@ -7541,7 +7541,7 @@ fn_8012EB30 = .text:0x8012EB30; // type:function size:0xF8 fn_8012EC30 = .text:0x8012EC30; // type:function size:0x80 fn_8012ECB0 = .text:0x8012ECB0; // type:function size:0x10C fn_8012EDC0 = .text:0x8012EDC0; // type:function size:0x2C -fn_8012EDF0 = .text:0x8012EDF0; // type:function size:0x110 +__dt__16dLytMapPinIcon_cFv = .text:0x8012EDF0; // type:function size:0x110 fn_8012EF00 = .text:0x8012EF00; // type:function size:0xA4 fn_8012EFB0 = .text:0x8012EFB0; // type:function size:0xA0 fn_8012F050 = .text:0x8012F050; // type:function size:0x6C @@ -7609,8 +7609,8 @@ fn_80130470 = .text:0x80130470; // type:function size:0x4 fn_80130480 = .text:0x80130480; // type:function size:0x4 fn_80130490 = .text:0x80130490; // type:function size:0x78 fn_80130510 = .text:0x80130510; // type:function size:0x4 -fn_80130520 = .text:0x80130520; // type:function size:0x17C -fn_801306A0 = .text:0x801306A0; // type:function size:0xA8 +__dt__20dLytMapFloorBtnMgr_cFv = .text:0x80130520; // type:function size:0x17C +__dt__17dLytMapFloorBtn_cFv = .text:0x801306A0; // type:function size:0xA8 fn_80130750 = .text:0x80130750; // type:function size:0xA4 fn_80130800 = .text:0x80130800; // type:function size:0xA0 fn_801308A0 = .text:0x801308A0; // type:function size:0x6C @@ -7642,7 +7642,7 @@ fn_80131A80 = .text:0x80131A80; // type:function size:0x4 fn_80131A90 = .text:0x80131A90; // type:function size:0x4 fn_80131AA0 = .text:0x80131AA0; // type:function size:0x4 fn_80131AB0 = .text:0x80131AB0; // type:function size:0x98 -m2d__Base_c____ct = .text:0x80131B50; // type:function size:0x18 +__ct__Q23m2d6Base_cFv = .text:0x80131B50; // type:function size:0x18 __dt__Q23EGG10ColorFaderFv = .text:0x80131B70; // type:function size:0x40 fn_80131BB0 = .text:0x80131BB0; // type:function size:0x58 fn_80131C10 = .text:0x80131C10; // type:function size:0x10 @@ -7738,25 +7738,25 @@ fn_80133810 = .text:0x80133810; // type:function size:0x4C fn_80133860 = .text:0x80133860; // type:function size:0x54 fn_801338C0 = .text:0x801338C0; // type:function size:0x10 fn_801338D0 = .text:0x801338D0; // type:function size:0x60 -fn_80133930 = .text:0x80133930; // type:function size:0x358 +__ct__13dLytMapMain_cFv = .text:0x80133930; // type:function size:0x358 fn_80133C90 = .text:0x80133C90; // type:function size:0x1C fn_80133CB0 = .text:0x80133CB0; // type:function size:0x40 -fn_80133CF0 = .text:0x80133CF0; // type:function size:0xE0 +__ct__16dLytMapCapture_cFv = .text:0x80133CF0; // type:function size:0xE0 fn_80133DD0 = .text:0x80133DD0; // type:function size:0x58 fn_80133E30 = .text:0x80133E30; // type:function size:0x6C fn_80133EA0 = .text:0x80133EA0; // type:function size:0xA0 fn_80133F40 = .text:0x80133F40; // type:function size:0xA4 fn_80133FF0 = .text:0x80133FF0; // type:function size:0xB4 -fn_801340B0 = .text:0x801340B0; // type:function size:0x178 +__ct__20dLytMapFloorBtnMgr_cFPv = .text:0x801340B0; // type:function size:0x178 fn_80134230 = .text:0x80134230; // type:function size:0x140 -fn_80134370 = .text:0x80134370; // type:function size:0x48 -fn_801343C0 = .text:0x801343C0; // type:function size:0xAC -fn_80134470 = .text:0x80134470; // type:function size:0xF0 +__ct__Q23d2d11dLytStructDFv = .text:0x80134370; // type:function size:0x48 +__ct__17dLytMapFloorBtn_cFv = .text:0x801343C0; // type:function size:0xAC +__ct__25dLytMapPinIconAggregate_cFv = .text:0x80134470; // type:function size:0xF0 fn_80134560 = .text:0x80134560; // type:function size:0x58 fn_801345C0 = .text:0x801345C0; // type:function size:0x6C fn_80134630 = .text:0x80134630; // type:function size:0xA0 fn_801346D0 = .text:0x801346D0; // type:function size:0xA4 -fn_80134780 = .text:0x80134780; // type:function size:0x134 +__ct__16dLytMapPinIcon_cFv = .text:0x80134780; // type:function size:0x134 fn_801348C0 = .text:0x801348C0; // type:function size:0xCC fn_80134990 = .text:0x80134990; // type:function size:0x464 fn_80134E00 = .text:0x80134E00; // type:function size:0x74 @@ -7775,37 +7775,37 @@ fn_80135210 = .text:0x80135210; // type:function size:0x234 fn_80135450 = .text:0x80135450; // type:function size:0x78 fn_801354D0 = .text:0x801354D0; // type:function size:0x54 fn_80135530 = .text:0x80135530; // type:function size:0x5C -fn_80135590 = .text:0x80135590; // type:function size:0xC8 +__ct__16dLytMapSaveObj_cFv = .text:0x80135590; // type:function size:0xC8 fn_80135660 = .text:0x80135660; // type:function size:0x58 fn_801356C0 = .text:0x801356C0; // type:function size:0x6C fn_80135730 = .text:0x80135730; // type:function size:0xA0 fn_801357D0 = .text:0x801357D0; // type:function size:0xA4 -fn_80135880 = .text:0x80135880; // type:function size:0xD0 -fn_80135950 = .text:0x80135950; // type:function size:0xB4 +__dt__16dLytMapSaveObj_cFv = .text:0x80135880; // type:function size:0xD0 +__ct__20dLytMapSaveCaption_cFv = .text:0x80135950; // type:function size:0xB4 fn_80135A10 = .text:0x80135A10; // type:function size:0x58 fn_80135A70 = .text:0x80135A70; // type:function size:0x6C fn_80135AE0 = .text:0x80135AE0; // type:function size:0xA0 fn_80135B80 = .text:0x80135B80; // type:function size:0xA4 -fn_80135C30 = .text:0x80135C30; // type:function size:0x84 -fn_80135CC0 = .text:0x80135CC0; // type:function size:0xA0 +__ct__18dLytMapSavePopup_cFv = .text:0x80135C30; // type:function size:0x84 +__ct__24dLytMapSavePopupAction_cFv = .text:0x80135CC0; // type:function size:0xA0 fn_80135D60 = .text:0x80135D60; // type:function size:0x58 fn_80135DC0 = .text:0x80135DC0; // type:function size:0x6C fn_80135E30 = .text:0x80135E30; // type:function size:0xA0 fn_80135ED0 = .text:0x80135ED0; // type:function size:0xA4 -fn_80135F80 = .text:0x80135F80; // type:function size:0xA8 -fn_80136030 = .text:0x80136030; // type:function size:0xB4 +__dt__24dLytMapSavePopupAction_cFv = .text:0x80135F80; // type:function size:0xA8 +__ct__16dLytMapPopupInfoFv = .text:0x80136030; // type:function size:0xB4 fn_801360F0 = .text:0x801360F0; // type:function size:0x58 fn_80136150 = .text:0x80136150; // type:function size:0x6C fn_801361C0 = .text:0x801361C0; // type:function size:0xA0 fn_80136260 = .text:0x80136260; // type:function size:0xA4 -fn_80136310 = .text:0x80136310; // type:function size:0x90 +__ct__52sFStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c>FR13dLytMapMain_c = .text:0x80136310; // type:function size:0x90 fn_801363A0 = .text:0x801363A0; // type:function size:0x58 fn_80136400 = .text:0x80136400; // type:function size:0x6C fn_80136470 = .text:0x80136470; // type:function size:0xA0 fn_80136510 = .text:0x80136510; // type:function size:0xA4 fn_801365C0 = .text:0x801365C0; // type:function size:0x4 fn_801365D0 = .text:0x801365D0; // type:function size:0x40 -fn_80136610 = .text:0x80136610; // type:function size:0x608 +__dt__13dLytMapMain_cFv = .text:0x80136610; // type:function size:0x608 fn_80136C20 = .text:0x80136C20; // type:function size:0xC fn_80136C30 = .text:0x80136C30; // type:function size:0xC8 fn_80136D00 = .text:0x80136D00; // type:function size:0x6CC @@ -7815,7 +7815,7 @@ fn_80137490 = .text:0x80137490; // type:function size:0x2E8 fn_80137780 = .text:0x80137780; // type:function size:0x15C fn_801378E0 = .text:0x801378E0; // type:function size:0x838 fn_80138120 = .text:0x80138120; // type:function size:0x10 -fn_80138130 = .text:0x80138130; // type:function size:0x238 +draw__13dLytMapMain_cFv = .text:0x80138130; // type:function size:0x238 fn_80138370 = .text:0x80138370; // type:function size:0x138 fn_801384B0 = .text:0x801384B0; // type:function size:0x5C fn_80138510 = .text:0x80138510; // type:function size:0x140 @@ -8011,9 +8011,9 @@ fn_80143930 = .text:0x80143930; // type:function size:0x60 fn_80143990 = .text:0x80143990; // type:function size:0x4C fn_801439E0 = .text:0x801439E0; // type:function size:0x4C fn_80143A30 = .text:0x80143A30; // type:function size:0x70 -fn_80143AA0 = .text:0x80143AA0; // type:function size:0x8 -fn_80143AB0 = .text:0x80143AB0; // type:function size:0x8 -fn_80143AC0 = .text:0x80143AC0; // type:function size:0x8 +getName__20dLytMapFloorBtnMgr_cCFv = .text:0x80143AA0; // type:function size:0x8 +getLyt__20dLytMapFloorBtnMgr_cFv = .text:0x80143AB0; // type:function size:0x8 +getPane__20dLytMapFloorBtnMgr_cFv = .text:0x80143AC0; // type:function size:0x8 fn_80143AD0 = .text:0x80143AD0; // type:function size:0x60 fn_80143B30 = .text:0x80143B30; // type:function size:0xC fn_80143B40 = .text:0x80143B40; // type:function size:0x60 @@ -8156,7 +8156,7 @@ fn_80144B50 = .text:0x80144B50; // type:function size:0x30 fn_80144B80 = .text:0x80144B80; // type:function size:0x30 fn_80144BB0 = .text:0x80144BB0; // type:function size:0x30 fn_80144BE0 = .text:0x80144BE0; // type:function size:0x30 -LytMap__initStates = .text:0x80144C10; // type:function size:0x3968 +__sinit_\d_lyt_map_cpp = .text:0x80144C10; // type:function size:0x3968 scope:local LytMapPinIcon__dtor = .text:0x80148580; // type:function size:0x58 LytMapPinIconAggregate__dtor = .text:0x801485E0; // type:function size:0x58 LytMapFloorBtn__dtor = .text:0x80148640; // type:function size:0x58 @@ -32674,66 +32674,66 @@ lbl_80520588 = .data:0x80520588; // type:object size:0x10 data:string lbl_80520598 = .data:0x80520598; // type:object size:0x10 data:string lbl_805205A8 = .data:0x805205A8; // type:object size:0x10 data:string lbl_805205B8 = .data:0x805205B8; // type:object size:0xC -lbl_805205C4 = .data:0x805205C4; // type:object size:0x14 -lbl_805205D8 = .data:0x805205D8; // type:object size:0x30 -lbl_80520608 = .data:0x80520608; // type:object size:0x30 -lbl_80520638 = .data:0x80520638; // type:object size:0x18 -lbl_80520650 = .data:0x80520650; // type:object size:0x18 -lbl_80520668 = .data:0x80520668; // type:object size:0x30 -lbl_80520698 = .data:0x80520698; // type:object size:0x30 -lbl_805206C8 = .data:0x805206C8; // type:object size:0x18 -lbl_805206E0 = .data:0x805206E0; // type:object size:0x18 -lbl_805206F8 = .data:0x805206F8; // type:object size:0x30 -lbl_80520728 = .data:0x80520728; // type:object size:0x30 -lbl_80520758 = .data:0x80520758; // type:object size:0x18 -lbl_80520770 = .data:0x80520770; // type:object size:0x18 -lbl_80520788 = .data:0x80520788; // type:object size:0x30 -lbl_805207B8 = .data:0x805207B8; // type:object size:0x30 -lbl_805207E8 = .data:0x805207E8; // type:object size:0x18 -lbl_80520800 = .data:0x80520800; // type:object size:0x18 -lbl_80520818 = .data:0x80520818; // type:object size:0x30 -lbl_80520848 = .data:0x80520848; // type:object size:0x30 -lbl_80520878 = .data:0x80520878; // type:object size:0x18 -lbl_80520890 = .data:0x80520890; // type:object size:0x18 +__vt__13dLytMapMain_c = .data:0x805205C4; // type:object size:0x14 +__vt__52sFStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c> = .data:0x805205D8; // type:object size:0x30 +__vt__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520608; // type:object size:0x30 +__vt__29sFStateFct_c<13dLytMapMain_c> = .data:0x80520638; // type:object size:0x14 +__vt__26sFState_c<13dLytMapMain_c> = .data:0x80520650; // type:object size:0x18 +__vt__55sFStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c> = .data:0x80520668; // type:object size:0x30 +__vt__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520698; // type:object size:0x30 +__vt__32sFStateFct_c<16dLytMapSaveObj_c> = .data:0x805206C8; // type:object size:0x14 +__vt__29sFState_c<16dLytMapSaveObj_c> = .data:0x805206E0; // type:object size:0x18 +__vt__59sFStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c> = .data:0x805206F8; // type:object size:0x30 +__vt__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520728; // type:object size:0x30 +__vt__36sFStateFct_c<20dLytMapSaveCaption_c> = .data:0x80520758; // type:object size:0x14 +__vt__33sFState_c<20dLytMapSaveCaption_c> = .data:0x80520770; // type:object size:0x18 +__vt__63sFStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c> = .data:0x80520788; // type:object size:0x30 +__vt__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x805207B8; // type:object size:0x30 +__vt__40sFStateFct_c<24dLytMapSavePopupAction_c> = .data:0x805207E8; // type:object size:0x14 +__vt__37sFState_c<24dLytMapSavePopupAction_c> = .data:0x80520800; // type:object size:0x18 +__vt__57sFStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c> = .data:0x80520818; // type:object size:0x30 +__vt__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520848; // type:object size:0x30 +__vt__34sFStateFct_c<18dLytMapPopupInfo_c> = .data:0x80520878; // type:object size:0x14 +__vt__31sFState_c<18dLytMapPopupInfo_c> = .data:0x80520890; // type:object size:0x18 lbl_805208A8 = .data:0x805208A8; // type:object size:0x10 -lbl_805208B8 = .data:0x805208B8; // type:object size:0x38 -lbl_805208F0 = .data:0x805208F0; // type:object size:0x30 -lbl_80520920 = .data:0x80520920; // type:object size:0x30 -lbl_80520950 = .data:0x80520950; // type:object size:0x18 -lbl_80520968 = .data:0x80520968; // type:object size:0x18 -lbl_80520980 = .data:0x80520980; // type:object size:0x30 -lbl_805209B0 = .data:0x805209B0; // type:object size:0x30 -lbl_805209E0 = .data:0x805209E0; // type:object size:0x18 -lbl_805209F8 = .data:0x805209F8; // type:object size:0x18 -lbl_80520A10 = .data:0x80520A10; // type:object size:0x10 -lbl_80520A20 = .data:0x80520A20; // type:object size:0x30 -lbl_80520A50 = .data:0x80520A50; // type:object size:0x30 -lbl_80520A80 = .data:0x80520A80; // type:object size:0x18 -lbl_80520A98 = .data:0x80520A98; // type:object size:0x18 -lbl_80520AB0 = .data:0x80520AB0; // type:object size:0x10 -lbl_80520AC0 = .data:0x80520AC0; // type:object size:0x30 -lbl_80520AF0 = .data:0x80520AF0; // type:object size:0x30 -lbl_80520B20 = .data:0x80520B20; // type:object size:0x18 -lbl_80520B38 = .data:0x80520B38; // type:object size:0x18 +__vt__20dLytMapFloorBtnMgr_c = .data:0x805208B8; // type:object size:0x38 +__vt__59sFStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c> = .data:0x805208F0; // type:object size:0x30 +__vt__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520920; // type:object size:0x30 +__vt__36sFStateFct_c<20dLytMapFloorBtnMgr_c> = .data:0x80520950; // type:object size:0x14 +__vt__33sFState_c<20dLytMapFloorBtnMgr_c> = .data:0x80520968; // type:object size:0x18 +__vt__56sFStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c> = .data:0x80520980; // type:object size:0x30 +__vt__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x805209B0; // type:object size:0x30 +__vt__33sFStateFct_c<17dLytMapFloorBtn_c> = .data:0x805209E0; // type:object size:0x14 +__vt__30sFState_c<17dLytMapFloorBtn_c> = .data:0x805209F8; // type:object size:0x18 +__vt__25dLytMapPinIconAggregate_c = .data:0x80520A10; // type:object size:0x10 +__vt__64sFStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c> = .data:0x80520A20; // type:object size:0x30 +__vt__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520A50; // type:object size:0x30 +__vt__41sFStateFct_c<25dLytMapPinIconAggregate_c> = .data:0x80520A80; // type:object size:0x14 +__vt__38sFState_c<25dLytMapPinIconAggregate_c> = .data:0x80520A98; // type:object size:0x18 +__vt__16dLytMapPinIcon_c = .data:0x80520AB0; // type:object size:0x10 +__vt__55sFStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c> = .data:0x80520AC0; // type:object size:0x30 +__vt__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520AF0; // type:object size:0x30 +__vt__32sFStateFct_c<16dLytMapPinIcon_c> = .data:0x80520B20; // type:object size:0x14 +__vt__29sFState_c<16dLytMapPinIcon_c> = .data:0x80520B38; // type:object size:0x18 lbl_80520B50 = .data:0x80520B50; // type:object size:0xC lbl_80520B5C = .data:0x80520B5C; // type:object size:0xC lbl_80520B68 = .data:0x80520B68; // type:object size:0xC lbl_80520B74 = .data:0x80520B74; // type:object size:0xC lbl_80520B80 = .data:0x80520B80; // type:object size:0xC -lbl_80520B8C = .data:0x80520B8C; // type:object size:0xC -lbl_80520B98 = .data:0x80520B98; // type:object size:0x30 -lbl_80520BC8 = .data:0x80520BC8; // type:object size:0x30 -lbl_80520BF8 = .data:0x80520BF8; // type:object size:0x18 -lbl_80520C10 = .data:0x80520C10; // type:object size:0x1804 -lbl_80522414 = .data:0x80522414; // type:object size:0x34 -lbl_80522448 = .data:0x80522448; // type:object size:0x34 -lbl_8052247C = .data:0x8052247C; // type:object size:0x34 -lbl_805224B0 = .data:0x805224B0; // type:object size:0x34 -lbl_805224E4 = .data:0x805224E4; // type:object size:0x34 -lbl_80522518 = .data:0x80522518; // type:object size:0x34 -lbl_8052254C = .data:0x8052254C; // type:object size:0x34 -lbl_80522580 = .data:0x80522580; // type:object size:0x34 -lbl_805225B4 = .data:0x805225B4; // type:object size:0x34 +__vt__16dLytMapCapture_c = .data:0x80520B8C; // type:object size:0xC +__vt__55sFStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c> = .data:0x80520B98; // type:object size:0x30 +__vt__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80520BC8; // type:object size:0x30 +__vt__32sFStateFct_c<16dLytMapCapture_c> = .data:0x80520BF8; // type:object size:0x14 +__vt__29sFState_c<16dLytMapCapture_c> = .data:0x80520C10; // type:object size:0x18 +__vt__28sFStateID_c<13dLytMapMain_c> = .data:0x80522414; // type:object size:0x34 +__vt__35sFStateID_c<20dLytMapSaveCaption_c> = .data:0x80522448; // type:object size:0x34 +__vt__39sFStateID_c<24dLytMapSavePopupAction_c> = .data:0x8052247C; // type:object size:0x34 +__vt__33sFStateID_c<18dLytMapPopupInfo_c> = .data:0x805224B0; // type:object size:0x34 +__vt__31sFStateID_c<16dLytMapSaveObj_c> = .data:0x805224E4; // type:object size:0x34 +__vt__35sFStateID_c<20dLytMapFloorBtnMgr_c> = .data:0x80522518; // type:object size:0x34 +__vt__32sFStateID_c<17dLytMapFloorBtn_c> = .data:0x8052254C; // type:object size:0x34 +__vt__40sFStateID_c<25dLytMapPinIconAggregate_c> = .data:0x80522580; // type:object size:0x34 +__vt__31sFStateID_c<16dLytMapPinIcon_c> = .data:0x805225B4; // type:object size:0x34 lbl_805225E8 = .data:0x805225E8; // type:object size:0x20 lbl_80522608 = .data:0x80522608; // type:object size:0xC lbl_80522614 = .data:0x80522614; // type:object size:0x24 @@ -48683,8 +48683,8 @@ LytAutoExplain__STATE_IN = .bss:0x805AF340; // type:object size:0x40 data:4byte LytAutoExplain__STATE_OUTPUT_TEXT = .bss:0x805AF380; // type:object size:0x40 data:4byte LytAutoExplain__STATE_OUT = .bss:0x805AF3C0; // type:object size:0x30 data:4byte lbl_805AF3F0 = .bss:0x805AF3F0; // type:object size:0x10 -LytMapCapture__STATE_RENDERING_WAIT = .bss:0x805AF400; // type:object size:0x40 data:4byte -LytMapCapture__STATE_RENDERING_WAIT_STEP_2 = .bss:0x805AF440; // type:object size:0x30 data:4byte +StateID_RenderingWait__16dLytMapCapture_c = .bss:0x805AF400; // type:object size:0x40 data:4byte +StateID_RenderingWaitStep2__16dLytMapCapture_c = .bss:0x805AF440; // type:object size:0x30 data:4byte lbl_805AF470 = .bss:0x805AF470; // type:object size:0x10 lbl_805AF480 = .bss:0x805AF480; // type:object size:0x40 LytMapPinIcon__STATE_WAIT = .bss:0x805AF4C0; // type:object size:0x40 data:4byte diff --git a/include/d/lyt/d_lyt_map.h b/include/d/lyt/d_lyt_map.h new file mode 100644 index 00000000..2addd77e --- /dev/null +++ b/include/d/lyt/d_lyt_map.h @@ -0,0 +1,312 @@ +#ifndef D_LYT_MAP_H +#define D_LYT_MAP_H + +#include "common.h" +#include "d/lyt/d2d.h" +#include "d/lyt/d_lyt_map_capture.h" +#include "d/lyt/d_structd.h" +#include "m/m2d.h" +#include "m/m_vec.h" +#include "s/s_State.hpp" + +// Size 0x1E0 +class dLytMapPinIcon_c { +public: + friend class dLytMapPinIconAggregate_c; + + dLytMapPinIcon_c() + : mStateMgr(*this, sStateID::null), field_0x1B8(0), field_0x1BC(0), field_0x1C0(0.0f, 0.0f, 0.0f), + field_0x1CC(0), field_0x1D0(0), field_0x1D4(0), mIndex(0), field_0x1DC(0) {} + virtual ~dLytMapPinIcon_c() { + if (d2d::dLytStructDList::sInstance->fn_80065A30(&mStructD)) { + d2d::dLytStructDList::sInstance->removeFromList2(&mStructD); + } + } + + STATE_FUNC_DECLARE(dLytMapPinIcon_c, Wait); + STATE_FUNC_DECLARE(dLytMapPinIcon_c, ToSelect); + STATE_FUNC_DECLARE(dLytMapPinIcon_c, Select); + STATE_FUNC_DECLARE(dLytMapPinIcon_c, ToUnselect); + STATE_FUNC_DECLARE(dLytMapPinIcon_c, Remove); + +private: + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapPinIcon_c); + /* 0x040 */ d2d::LytBase_c mLyt; + /* 0x0D0 */ d2d::AnmGroup_c mAnm[3]; + /* 0x190 */ d2d::dLytStructD mStructD; + /* 0x1B8 */ UNKWORD field_0x1B8; + /* 0x1BC */ UNKWORD field_0x1BC; + /* 0x1C0 */ mVec3_c field_0x1C0; + /* 0x1CC */ u8 field_0x1CC; + /* 0x1D0 */ UNKWORD field_0x1D0; + /* 0x1D4 */ UNKWORD field_0x1D4; + /* 0x1D8 */ s32 mIndex; + /* 0x1DC */ UNKWORD field_0x1DC; +}; + +class dLytMapPinIconAggregate_c { +public: + dLytMapPinIconAggregate_c() : mStateMgr(*this, sStateID::null) { + field_0x9A0 = 0; + field_0x9A4 = 0; + field_0x9A8 = 0; + for (int i = 0; i < 5; i++) { + mPins[i].mIndex = i; + } + } + virtual ~dLytMapPinIconAggregate_c() {} + + STATE_FUNC_DECLARE(dLytMapPinIconAggregate_c, Wait); + STATE_FUNC_DECLARE(dLytMapPinIconAggregate_c, Select); + STATE_FUNC_DECLARE(dLytMapPinIconAggregate_c, Remove); + +private: + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapPinIconAggregate_c); + /* 0x040 */ dLytMapPinIcon_c mPins[5]; + + /* 0x9A0 */ UNKWORD field_0x9A0; + /* 0x9A4 */ UNKWORD field_0x9A4; + /* 0x9A8 */ UNKWORD field_0x9A8; +}; + +// Size 0x50 +class dLytMapFloorBtn_c { +public: + dLytMapFloorBtn_c() + : mStateMgr(*this, sStateID::null), field_0x3C(0), field_0x40(0), field_0x44(0), field_0x48(0), field_0x4C(0), + field_0x4D(0) {} + + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, Wait); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, ToSelect); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, Select); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, ToWait); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, ToDecide); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, Decide); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, ToSelectInDecide); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, SelectInDecide); + STATE_FUNC_DECLARE(dLytMapFloorBtn_c, DecideToSelectInDecide); + +private: + /* 0x00 */ UI_STATE_MGR_DECLARE(dLytMapFloorBtn_c); + /* 0x3C */ UNKWORD field_0x3C; + /* 0x40 */ UNKWORD field_0x40; + /* 0x44 */ UNKWORD field_0x44; + /* 0x48 */ UNKWORD field_0x48; + /* 0x4C */ u8 field_0x4C; + /* 0x4D */ u8 field_0x4D; +}; + +class dLytMapFloorBtnMgr_c : public d2d::dSubPane { +public: + dLytMapFloorBtnMgr_c(void *arg) : field_0x008(arg), mStateMgr(*this, sStateID::null) {} + virtual ~dLytMapFloorBtnMgr_c(); + + virtual bool build(d2d::ResAccIf_c *resAcc) override; + virtual bool remove() override; + virtual bool LytMeter0x14() override; + virtual nw4r::lyt::Pane *getPane() override { + return mLyt.getLayout()->GetRootPane(); + } + virtual d2d::LytBase_c *getLyt() override { + return &mLyt; + } + virtual const char *getName() const override { + return mLyt.getName(); + } + + STATE_FUNC_DECLARE(dLytMapFloorBtnMgr_c, Invisible); + STATE_FUNC_DECLARE(dLytMapFloorBtnMgr_c, Wait); + +private: + /* 0x008 */ void *field_0x008; + /* 0x00C */ UI_STATE_MGR_DECLARE(dLytMapFloorBtnMgr_c); + /* 0x048 */ d2d::dLytSub mLyt; + /* 0x0DC */ d2d::AnmGroup_c mAnm[1]; + /* 0x11C */ // unk array + /* 0x520 */ d2d::dLytStructD mStructDs[4]; + /* 0x5C0 */ dLytMapFloorBtn_c mFloorBtns[4]; +}; + +// Size 0x4C +class dLytMapPopupInfo_c { +public: + dLytMapPopupInfo_c() : mStateMgr(*this, sStateID::null) {} + + STATE_FUNC_DECLARE(dLytMapPopupInfo_c, Invisible); + STATE_FUNC_DECLARE(dLytMapPopupInfo_c, In); + STATE_FUNC_DECLARE(dLytMapPopupInfo_c, Wait); + STATE_FUNC_DECLARE(dLytMapPopupInfo_c, WaitInvalid); + STATE_FUNC_DECLARE(dLytMapPopupInfo_c, Out); + +private: + /* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapPopupInfo_c); + /* 0x03C */ d2d::LytBase_c mLyt; + /* 0x0CC */ d2d::AnmGroup_c mAnm[3]; +}; + +// Size 0x4C +class dLytMapSavePopupAction_c { +public: + dLytMapSavePopupAction_c() : mStateMgr(*this, sStateID::null), field_0x44(0.0f), field_0x48(0) {} + + STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, Invisible); + STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, In); + STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, Wait); + STATE_FUNC_DECLARE(dLytMapSavePopupAction_c, Out); + +private: + /* 0x00 */ UI_STATE_MGR_DECLARE(dLytMapSavePopupAction_c); + /* 0x44 */ f32 field_0x44; + /* 0x48 */ u8 field_0x48; +}; + +// Assumed name +class dLytMapSavePopup_c { +public: + dLytMapSavePopup_c() {} + +private: + /* 0x000 */ d2d::LytBase_c mLyt; + /* 0x090 */ d2d::AnmGroup_c mAnm[2]; + /* 0x110 */ dLytMapSavePopupAction_c mActions[12]; +}; + +class dLytMapSaveCaption_c { +public: + dLytMapSaveCaption_c() : mStateMgr(*this, sStateID::null) {} + + STATE_FUNC_DECLARE(dLytMapSaveCaption_c, Invisible); + STATE_FUNC_DECLARE(dLytMapSaveCaption_c, In); + STATE_FUNC_DECLARE(dLytMapSaveCaption_c, Wait); + STATE_FUNC_DECLARE(dLytMapSaveCaption_c, Out); + +private: + /* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapSaveCaption_c); + /* 0x03C */ d2d::LytBase_c mLyt; + /* 0x0CC */ d2d::AnmGroup_c mAnm[5]; +}; + +// Size 0x190 +class dLytMapSaveObj_c { +public: + dLytMapSaveObj_c() : mStateMgr(*this, sStateID::null), field_0x18C(0), field_0x18D(0), field_0x18E(0) {} + + STATE_FUNC_DECLARE(dLytMapSaveObj_c, Wait); + STATE_FUNC_DECLARE(dLytMapSaveObj_c, ToSelect); + STATE_FUNC_DECLARE(dLytMapSaveObj_c, Select); + STATE_FUNC_DECLARE(dLytMapSaveObj_c, ToWait); + STATE_FUNC_DECLARE(dLytMapSaveObj_c, Decide); + +private: + /* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapSaveObj_c); + /* 0x03C */ d2d::LytBase_c mLyt; + /* 0x0CC */ d2d::AnmGroup_c mAnm[3]; + /* 0x18C */ u8 field_0x18C; + /* 0x18D */ u8 field_0x18D; + /* 0x18E */ u8 field_0x18E; +}; + +class dLytMapMain_c : public m2d::Base_c { +public: + dLytMapMain_c(); + virtual ~dLytMapMain_c(); + virtual void draw() override; + virtual void dLytMapMain_vt0x10(); + + STATE_FUNC_DECLARE(dLytMapMain_c, Invisible); + STATE_FUNC_DECLARE(dLytMapMain_c, RenderingWait); + STATE_FUNC_DECLARE(dLytMapMain_c, In); + STATE_FUNC_DECLARE(dLytMapMain_c, Active); + STATE_FUNC_DECLARE(dLytMapMain_c, Out); + STATE_FUNC_DECLARE(dLytMapMain_c, FloorChange); + STATE_FUNC_DECLARE(dLytMapMain_c, ChgMapUpDirection); + STATE_FUNC_DECLARE(dLytMapMain_c, ChgDispAreaMode_Map); + STATE_FUNC_DECLARE(dLytMapMain_c, ChgDispAreaMode_MapRot); + STATE_FUNC_DECLARE(dLytMapMain_c, ChgDispAreaMode_WA); + STATE_FUNC_DECLARE(dLytMapMain_c, ChgDispAreaMode_CsrRot); + STATE_FUNC_DECLARE(dLytMapMain_c, ResetPos); + STATE_FUNC_DECLARE(dLytMapMain_c, ResetPosWithFloorChange); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSwBankSmall_Step1); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSwBankSmall_Step2); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSwBankSmall_Step3); + STATE_FUNC_DECLARE(dLytMapMain_c, EventMapIntro_Step1); + STATE_FUNC_DECLARE(dLytMapMain_c, EventMapIntro_Step2); + STATE_FUNC_DECLARE(dLytMapMain_c, EventMapIntro_Step3); + STATE_FUNC_DECLARE(dLytMapMain_c, EventMapIntro_Step4); + STATE_FUNC_DECLARE(dLytMapMain_c, EventDungeonMapGet_Step1); + STATE_FUNC_DECLARE(dLytMapMain_c, EventDungeonMapGet_Step2); + STATE_FUNC_DECLARE(dLytMapMain_c, EventDungeonMapGet_Step3); + STATE_FUNC_DECLARE(dLytMapMain_c, EventFieldMapChange_Step1); + STATE_FUNC_DECLARE(dLytMapMain_c, EventFieldMapChange_Step2); + STATE_FUNC_DECLARE(dLytMapMain_c, EventFieldMapChange_Step3); + STATE_FUNC_DECLARE(dLytMapMain_c, EventFieldMapChange_Step4); + STATE_FUNC_DECLARE(dLytMapMain_c, EventForestMapChange_Step1); + STATE_FUNC_DECLARE(dLytMapMain_c, EventForestMapChange_Step2); + STATE_FUNC_DECLARE(dLytMapMain_c, EventForestMapChange_Step3); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSignalAdd_Step1); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSignalAdd_Step2); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSignalAdd_Step3); + STATE_FUNC_DECLARE(dLytMapMain_c, EventGoddessCube_Step1); + STATE_FUNC_DECLARE(dLytMapMain_c, EventGoddessCube_Step2); + STATE_FUNC_DECLARE(dLytMapMain_c, EventGoddessCube_Step3); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSaveObjMsgWindow); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSaveObjSelect); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSaveObjConfirmMsgWindow); + STATE_FUNC_DECLARE(dLytMapMain_c, EventSaveObjDecide); + +private: + /* 0x0010 */ UI_STATE_MGR_DECLARE(dLytMapMain_c); + /* 0x004C */ u8 field_0x004C[0x00A4 - 0x004C]; + /* 0x00A4 */ u8 field_0x00A4[0x010C - 0x00A4]; + /* 0x010C */ d2d::LytBase_c mLyt; + /* 0x019C */ d2d::AnmGroup_c mAnmGroups[54]; + /* 0x0F1C */ u8 field_0x0F1C[0x0F24 - 0x0F1C]; + /* 0x0F24 */ dLytMapCapture_c mMapCapture; + /* 0x0FA0 */ dLytMapFloorBtnMgr_c mFloorBtnMgr; + /* 0x16B4 */ dLytMapPinIconAggregate_c mPinIconAggregate; + + /* 0x6704 */ dLytMapSaveObj_c mSaveObjs[12]; + /* 0x79C4 */ dLytMapSaveCaption_c mSaveCaption; + /* 0x0000 */ dLytMapSavePopup_c mSavePopup; + /* 0x807C */ dLytMapPopupInfo_c mPopupInfo; + /* 0x828C */ mVec3_c field_0x828C[12]; + /* 0x832C */ d2d::dLytStructD field_0x832C[33]; + /* 0x8904 */ mVec3_c field_0x8904; + /* 0x8910 */ mVec3_c field_0x8910; + /* 0x891C */ mVec3_c field_0x891C; + // ??? + /* 0x8930 */ mVec3_c field_0x8930; + /* 0x893C */ mVec3_c field_0x893C; + // ??? + + /* 0x8CC4 */ mVec3_c field_0x8CC4; + /* 0x8CD0 */ mVec3_c field_0x8CD0; + /* 0x8CDC */ mVec3_c field_0x8CDC; + /* 0x8CE8 */ mVec3_c field_0x8CE8; + /* 0x8CF4 */ mVec3_c field_0x8CF4; + /* 0x8D00 */ mVec3_c field_0x8D00; + /* 0x8D0C */ mVec3_c field_0x8D0C; + /* 0x8D18 */ mVec3_c field_0x8D18; + /* 0x8D24 */ mVec3_c field_0x8D24; + + /* 0x8DC8 */ UNKWORD field_0x8DC8; +}; + +// Size 0x91FC, inline ctor at 802ccd88 +class dLytMap_c { +public: + dLytMap_c() { + sInstance = this; + } + virtual ~dLytMap_c() { + sInstance = nullptr; + } + +private: + /* 0x0004 */ d2d::ResAccIf_c mResAcc; + /* 0x0374 */ dLytMapMain_c mMapMain; + + static dLytMap_c *sInstance; +}; + +#endif diff --git a/include/d/lyt/d_lyt_map_capture.h b/include/d/lyt/d_lyt_map_capture.h new file mode 100644 index 00000000..92d533a5 --- /dev/null +++ b/include/d/lyt/d_lyt_map_capture.h @@ -0,0 +1,38 @@ +#ifndef D_LYT_MAP_CAPTURE_H +#define D_LYT_MAP_CAPTURE_H + +#include "common.h" +#include "s/s_State.hpp" +#include "s/s_StateID.hpp" + +class dLytMapCapture_c { +public: + dLytMapCapture_c() :mStateMgr(*this, sStateID::null) { + field_0x040 = 0; + field_0x070 = 0.0f; + field_0x074 = 0.0f; + field_0x078 = 0; + field_0x079 = 0; + field_0x06C = 0.0f; + field_0x068 = 0.0f; + field_0x064 = 0.0f; + mStateMgr.changeState(StateID_RenderingWait); + } + virtual ~dLytMapCapture_c() {} + + STATE_FUNC_DECLARE(dLytMapCapture_c, RenderingWait); + STATE_FUNC_DECLARE(dLytMapCapture_c, RenderingWaitStep2); + +private: + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapCapture_c); + /* 0x040*/ UNKWORD field_0x040; + /* 0x064 */ f32 field_0x064; + /* 0x068 */ f32 field_0x068; + /* 0x06C */ f32 field_0x06C; + /* 0x070 */ f32 field_0x070; + /* 0x074 */ f32 field_0x074; + /* 0x078 */ u8 field_0x078; + /* 0x079 */ u8 field_0x079; +}; + +#endif diff --git a/include/d/lyt/d_structd.h b/include/d/lyt/d_structd.h index 346dda60..c3d75d2a 100644 --- a/include/d/lyt/d_structd.h +++ b/include/d/lyt/d_structd.h @@ -90,6 +90,8 @@ class dLytStructDList { void appendToList2(dLytStructD *other); void removeFromList2(dLytStructD *other); + bool fn_80065A30(dLytStructD *other); + private: TList mList1; TList mList2; diff --git a/include/m/m2d.h b/include/m/m2d.h index 72349aef..a07cdc26 100644 --- a/include/m/m2d.h +++ b/include/m/m2d.h @@ -155,6 +155,7 @@ class Anm_c { class Base_c { public: + Base_c() : mPriority(0x80) {} Base_c(u8 priority) : mPriority(priority) {} /* 0x00 */ nw4r::ut::Node mLink; diff --git a/include/s/s_FStateMgr.hpp b/include/s/s_FStateMgr.hpp index cac7efc1..ec3fea12 100644 --- a/include/s/s_FStateMgr.hpp +++ b/include/s/s_FStateMgr.hpp @@ -19,6 +19,8 @@ template class sFStateMgr_c : public sStateMgr_c { public: + sFStateMgr_c(T &owner) + : sStateMgr_c(owner) {} sFStateMgr_c(T &owner, const sStateIDIf_c &initializeState) : sStateMgr_c(owner, initializeState) {} }; diff --git a/include/s/s_StateMgr.hpp b/include/s/s_StateMgr.hpp index 388f72c6..507c7ddd 100644 --- a/include/s/s_StateMgr.hpp +++ b/include/s/s_StateMgr.hpp @@ -1,6 +1,7 @@ #ifndef S_STATEMGR_H #define S_STATEMGR_H +#include "s/s_StateID.hpp" #include "s/s_StateInterfaces.hpp" // Note: Ported from https://github.com/NSMBW-Community/NSMBW-Decomp/tree/master/include/dol/sLib @@ -18,6 +19,8 @@ template class Factory, class Check> class sStateMgr_c : sStateMgrIf_c { public: + sStateMgr_c(T &owner) + : mFactory(owner), mMethod(mCheck, mFactory, sStateID::null) {} sStateMgr_c(T &owner, const sStateIDIf_c &initialState) : mFactory(owner), mMethod(mCheck, mFactory, initialState) {} diff --git a/src/d/lyt/d_lyt_map.cpp b/src/d/lyt/d_lyt_map.cpp new file mode 100644 index 00000000..4ad5ea59 --- /dev/null +++ b/src/d/lyt/d_lyt_map.cpp @@ -0,0 +1,99 @@ +#include "d/lyt/d_lyt_map.h" + +STATE_DEFINE(dLytMapPinIcon_c, Wait); +STATE_DEFINE(dLytMapPinIcon_c, ToSelect); +STATE_DEFINE(dLytMapPinIcon_c, Select); +STATE_DEFINE(dLytMapPinIcon_c, ToUnselect); +STATE_DEFINE(dLytMapPinIcon_c, Remove); + +STATE_DEFINE(dLytMapPinIconAggregate_c, Wait); +STATE_DEFINE(dLytMapPinIconAggregate_c, Select); +STATE_DEFINE(dLytMapPinIconAggregate_c, Remove); + +STATE_DEFINE(dLytMapFloorBtn_c, Wait); +STATE_DEFINE(dLytMapFloorBtn_c, ToSelect); +STATE_DEFINE(dLytMapFloorBtn_c, Select); +STATE_DEFINE(dLytMapFloorBtn_c, ToWait); +STATE_DEFINE(dLytMapFloorBtn_c, ToDecide); +STATE_DEFINE(dLytMapFloorBtn_c, Decide); +STATE_DEFINE(dLytMapFloorBtn_c, ToSelectInDecide); +STATE_DEFINE(dLytMapFloorBtn_c, SelectInDecide); +STATE_DEFINE(dLytMapFloorBtn_c, DecideToSelectInDecide); + +STATE_DEFINE(dLytMapFloorBtnMgr_c, Invisible); +STATE_DEFINE(dLytMapFloorBtnMgr_c, Wait); + +nw4r::ut::Color sSomeColor(0xFF, 0xFF, 0xFF, 0xFF); + +STATE_DEFINE(dLytMapPopupInfo_c, Invisible); +STATE_DEFINE(dLytMapPopupInfo_c, In); +STATE_DEFINE(dLytMapPopupInfo_c, Wait); +STATE_DEFINE(dLytMapPopupInfo_c, WaitInvalid); +STATE_DEFINE(dLytMapPopupInfo_c, Out); + +STATE_DEFINE(dLytMapSavePopupAction_c, Invisible); +STATE_DEFINE(dLytMapSavePopupAction_c, In); +STATE_DEFINE(dLytMapSavePopupAction_c, Wait); +STATE_DEFINE(dLytMapSavePopupAction_c, Out); + +STATE_DEFINE(dLytMapSaveCaption_c, Invisible); +STATE_DEFINE(dLytMapSaveCaption_c, In); +STATE_DEFINE(dLytMapSaveCaption_c, Wait); +STATE_DEFINE(dLytMapSaveCaption_c, Out); + +STATE_DEFINE(dLytMapSaveObj_c, Wait); +STATE_DEFINE(dLytMapSaveObj_c, ToSelect); +STATE_DEFINE(dLytMapSaveObj_c, Select); +STATE_DEFINE(dLytMapSaveObj_c, ToWait); +STATE_DEFINE(dLytMapSaveObj_c, Decide); + +STATE_DEFINE(dLytMapMain_c, Invisible); +STATE_DEFINE(dLytMapMain_c, RenderingWait); +STATE_DEFINE(dLytMapMain_c, In); +STATE_DEFINE(dLytMapMain_c, Active); +STATE_DEFINE(dLytMapMain_c, Out); +STATE_DEFINE(dLytMapMain_c, FloorChange); +STATE_DEFINE(dLytMapMain_c, ChgMapUpDirection); +STATE_DEFINE(dLytMapMain_c, ChgDispAreaMode_Map); +STATE_DEFINE(dLytMapMain_c, ChgDispAreaMode_MapRot); +STATE_DEFINE(dLytMapMain_c, ChgDispAreaMode_WA); +STATE_DEFINE(dLytMapMain_c, ChgDispAreaMode_CsrRot); +STATE_DEFINE(dLytMapMain_c, ResetPos); +STATE_DEFINE(dLytMapMain_c, ResetPosWithFloorChange); +STATE_DEFINE(dLytMapMain_c, EventSwBankSmall_Step1); +STATE_DEFINE(dLytMapMain_c, EventSwBankSmall_Step2); +STATE_DEFINE(dLytMapMain_c, EventSwBankSmall_Step3); +STATE_DEFINE(dLytMapMain_c, EventMapIntro_Step1); +STATE_DEFINE(dLytMapMain_c, EventMapIntro_Step2); +STATE_DEFINE(dLytMapMain_c, EventMapIntro_Step3); +STATE_DEFINE(dLytMapMain_c, EventMapIntro_Step4); +STATE_DEFINE(dLytMapMain_c, EventDungeonMapGet_Step1); +STATE_DEFINE(dLytMapMain_c, EventDungeonMapGet_Step2); +STATE_DEFINE(dLytMapMain_c, EventDungeonMapGet_Step3); +STATE_DEFINE(dLytMapMain_c, EventFieldMapChange_Step1); +STATE_DEFINE(dLytMapMain_c, EventFieldMapChange_Step2); +STATE_DEFINE(dLytMapMain_c, EventFieldMapChange_Step3); +STATE_DEFINE(dLytMapMain_c, EventFieldMapChange_Step4); +STATE_DEFINE(dLytMapMain_c, EventForestMapChange_Step1); +STATE_DEFINE(dLytMapMain_c, EventForestMapChange_Step2); +STATE_DEFINE(dLytMapMain_c, EventForestMapChange_Step3); +STATE_DEFINE(dLytMapMain_c, EventSignalAdd_Step1); +STATE_DEFINE(dLytMapMain_c, EventSignalAdd_Step2); +STATE_DEFINE(dLytMapMain_c, EventSignalAdd_Step3); +STATE_DEFINE(dLytMapMain_c, EventGoddessCube_Step1); +STATE_DEFINE(dLytMapMain_c, EventGoddessCube_Step2); +STATE_DEFINE(dLytMapMain_c, EventGoddessCube_Step3); +STATE_DEFINE(dLytMapMain_c, EventSaveObjMsgWindow); +STATE_DEFINE(dLytMapMain_c, EventSaveObjSelect); +STATE_DEFINE(dLytMapMain_c, EventSaveObjConfirmMsgWindow); +STATE_DEFINE(dLytMapMain_c, EventSaveObjDecide); + +#pragma dont_inline on +dLytMapMain_c::dLytMapMain_c() : mStateMgr(*this), mFloorBtnMgr(&field_0x8DC8) {} +#pragma dont_inline reset + +dLytMapMain_c::~dLytMapMain_c() {} + +void dLytMapMain_c::draw() {} + +dLytMapFloorBtnMgr_c::~dLytMapFloorBtnMgr_c() {} diff --git a/src/d/lyt/meter/d_lyt_meter.cpp b/src/d/lyt/meter/d_lyt_meter.cpp index f86fb2fe..ef9eaf92 100644 --- a/src/d/lyt/meter/d_lyt_meter.cpp +++ b/src/d/lyt/meter/d_lyt_meter.cpp @@ -275,7 +275,7 @@ void floats2() { #pragma dont_inline on dLytMeter_c::dLytMeter_c() {} -#pragma dont_inline off +#pragma dont_inline reset extern "C" void *GLOBAL_TITLE_RELOADER; extern "C" void fn_800D97E0(int i); From 2f9a33d106f46c96b1da2f8ff5cedf6e000cb9a5 Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 24 Nov 2024 12:18:00 +0100 Subject: [PATCH 2/5] More map --- config/SOUE01/splits.txt | 2 +- config/SOUE01/symbols.txt | 605 ++++++++++++++++++++------------------ include/d/lyt/d_lyt_map.h | 25 +- include/m/m2d.h | 3 + include/sized_string.h | 31 ++ src/d/lyt/d_lyt_map.cpp | 104 ++++++- 6 files changed, 474 insertions(+), 296 deletions(-) diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index acdcc786..d11ec110 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -424,7 +424,7 @@ d/lyt/d_lyt_map.cpp: .text start:0x8012DC30 end:0x80148DE8 .ctors start:0x804DB76C end:0x804DB770 .data start:0x8051EAE0 end:0x805225E8 - .bss start:0x805AF480 end:0x805B0830 + .bss start:0x805AF470 end:0x805B0830 d/lyt/d_lyt_note.cpp: .text start:0x80148DF0 end:0x80149C28 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index e23eaa7b..c80be21a 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -7482,7 +7482,7 @@ fn_8012D370 = .text:0x8012D370; // type:function size:0x1C fn_8012D390 = .text:0x8012D390; // type:function size:0x118 LytMapCapture__stateRenderingWaitEnter = .text:0x8012D4B0; // type:function size:0x4 LytMapCapture__stateRenderingWaitUpdate = .text:0x8012D4C0; // type:function size:0x70 -fn_8012D530 = .text:0x8012D530; // type:function size:0x10 +changeState__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8012D530; // type:function size:0x10 LytMapCapture__stateRenderingWaitLeave = .text:0x8012D540; // type:function size:0x4 LytMapCapture__stateRenderingWaitStep2Enter = .text:0x8012D550; // type:function size:0x4 LytMapCapture__stateRenderingWaitStep2Update = .text:0x8012D560; // type:function size:0x94 @@ -7500,8 +7500,8 @@ fn_8012D950 = .text:0x8012D950; // type:function size:0x30 LytMapCapture__initStates = .text:0x8012D980; // type:function size:0x1C0 LytMapCapture__dtor = .text:0x8012DB40; // type:function size:0x58 fn_8012DBA0 = .text:0x8012DBA0; // type:function size:0x88 -fn_8012DC30 = .text:0x8012DC30; // type:function size:0xEC -fn_8012DD20 = .text:0x8012DD20; // type:function size:0x40 +__ct__17LytMapConfigMaybeFv = .text:0x8012DC30; // type:function size:0xEC +__dt__17LytMapConfigMaybeFv = .text:0x8012DD20; // type:function size:0x40 fn_8012DD60 = .text:0x8012DD60; // type:function size:0x17C fn_8012DEE0 = .text:0x8012DEE0; // type:function size:0x70 fn_8012DF50 = .text:0x8012DF50; // type:function size:0x20 @@ -7523,7 +7523,7 @@ fn_8012E7D0 = .text:0x8012E7D0; // type:function size:0x3C fn_8012E810 = .text:0x8012E810; // type:function size:0x24 fn_8012E840 = .text:0x8012E840; // type:function size:0x14 fn_8012E860 = .text:0x8012E860; // type:function size:0x58 -fn_8012E8C0 = .text:0x8012E8C0; // type:function size:0x10 +changeState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8012E8C0; // type:function size:0x10 fn_8012E8D0 = .text:0x8012E8D0; // type:function size:0x4 fn_8012E8E0 = .text:0x8012E8E0; // type:function size:0x48 fn_8012E930 = .text:0x8012E930; // type:function size:0x18 @@ -7542,21 +7542,21 @@ fn_8012EC30 = .text:0x8012EC30; // type:function size:0x80 fn_8012ECB0 = .text:0x8012ECB0; // type:function size:0x10C fn_8012EDC0 = .text:0x8012EDC0; // type:function size:0x2C __dt__16dLytMapPinIcon_cFv = .text:0x8012EDF0; // type:function size:0x110 -fn_8012EF00 = .text:0x8012EF00; // type:function size:0xA4 -fn_8012EFB0 = .text:0x8012EFB0; // type:function size:0xA0 -fn_8012F050 = .text:0x8012F050; // type:function size:0x6C -fn_8012F0C0 = .text:0x8012F0C0; // type:function size:0x58 +__dt__55sFStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c>Fv = .text:0x8012EF00; // type:function size:0xA4 +__dt__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012EFB0; // type:function size:0xA0 +__dt__32sFStateFct_c<16dLytMapPinIcon_c>Fv = .text:0x8012F050; // type:function size:0x6C +__dt__29sFState_c<16dLytMapPinIcon_c>Fv = .text:0x8012F0C0; // type:function size:0x58 fn_8012F120 = .text:0x8012F120; // type:function size:0x8 fn_8012F130 = .text:0x8012F130; // type:function size:0x17C fn_8012F2B0 = .text:0x8012F2B0; // type:function size:0x6C fn_8012F320 = .text:0x8012F320; // type:function size:0x60 fn_8012F380 = .text:0x8012F380; // type:function size:0xE4 -fn_8012F470 = .text:0x8012F470; // type:function size:0x10 +executeState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012F470; // type:function size:0x10 fn_8012F480 = .text:0x8012F480; // type:function size:0x34 fn_8012F4C0 = .text:0x8012F4C0; // type:function size:0x4 fn_8012F4D0 = .text:0x8012F4D0; // type:function size:0xD8 -fn_8012F5B0 = .text:0x8012F5B0; // type:function size:0x10 -fn_8012F5C0 = .text:0x8012F5C0; // type:function size:0x10 +getStateID__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8012F5B0; // type:function size:0x10 +changeState__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8012F5C0; // type:function size:0x10 fn_8012F5D0 = .text:0x8012F5D0; // type:function size:0x4 fn_8012F5E0 = .text:0x8012F5E0; // type:function size:0x4 fn_8012F5F0 = .text:0x8012F5F0; // type:function size:0x168 @@ -7574,12 +7574,12 @@ fn_8012F9C0 = .text:0x8012F9C0; // type:function size:0x5C fn_8012FA20 = .text:0x8012FA20; // type:function size:0xA8 fn_8012FAD0 = .text:0x8012FAD0; // type:function size:0x50 fn_8012FB20 = .text:0x8012FB20; // type:function size:0xA8 -fn_8012FBD0 = .text:0x8012FBD0; // type:function size:0x10 +executeState__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012FBD0; // type:function size:0x10 fn_8012FBE0 = .text:0x8012FBE0; // type:function size:0x50 fn_8012FC30 = .text:0x8012FC30; // type:function size:0x18 -fn_8012FC50 = .text:0x8012FC50; // type:function size:0x10 +changeState__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8012FC50; // type:function size:0x10 fn_8012FC60 = .text:0x8012FC60; // type:function size:0x10 -fn_8012FC70 = .text:0x8012FC70; // type:function size:0x10 +executeState__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012FC70; // type:function size:0x10 fn_8012FC80 = .text:0x8012FC80; // type:function size:0xB4 fn_8012FD40 = .text:0x8012FD40; // type:function size:0xAC fn_8012FDF0 = .text:0x8012FDF0; // type:function size:0x4 @@ -7611,28 +7611,28 @@ fn_80130490 = .text:0x80130490; // type:function size:0x78 fn_80130510 = .text:0x80130510; // type:function size:0x4 __dt__20dLytMapFloorBtnMgr_cFv = .text:0x80130520; // type:function size:0x17C __dt__17dLytMapFloorBtn_cFv = .text:0x801306A0; // type:function size:0xA8 -fn_80130750 = .text:0x80130750; // type:function size:0xA4 -fn_80130800 = .text:0x80130800; // type:function size:0xA0 -fn_801308A0 = .text:0x801308A0; // type:function size:0x6C -fn_80130910 = .text:0x80130910; // type:function size:0x58 +__dt__56sFStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c>Fv = .text:0x80130750; // type:function size:0xA4 +__dt__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80130800; // type:function size:0xA0 +__dt__33sFStateFct_c<17dLytMapFloorBtn_c>Fv = .text:0x801308A0; // type:function size:0x6C +__dt__30sFState_c<17dLytMapFloorBtn_c>Fv = .text:0x80130910; // type:function size:0x58 fn_80130970 = .text:0x80130970; // type:function size:0xA0 -fn_80130A10 = .text:0x80130A10; // type:function size:0xA4 -fn_80130AC0 = .text:0x80130AC0; // type:function size:0xA0 -fn_80130B60 = .text:0x80130B60; // type:function size:0x6C -fn_80130BD0 = .text:0x80130BD0; // type:function size:0x58 +__dt__59sFStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c>Fv = .text:0x80130A10; // type:function size:0xA4 +__dt__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80130AC0; // type:function size:0xA0 +__dt__36sFStateFct_c<20dLytMapFloorBtnMgr_c>Fv = .text:0x80130B60; // type:function size:0x6C +__dt__33sFState_c<20dLytMapFloorBtnMgr_c>Fv = .text:0x80130BD0; // type:function size:0x58 fn_80130C30 = .text:0x80130C30; // type:function size:0x300 -fn_80130F30 = .text:0x80130F30; // type:function size:0x10 +changeState__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80130F30; // type:function size:0x10 fn_80130F40 = .text:0x80130F40; // type:function size:0xB4 fn_80131000 = .text:0x80131000; // type:function size:0x2D4 -fn_801312E0 = .text:0x801312E0; // type:function size:0x10 -fn_801312F0 = .text:0x801312F0; // type:function size:0x10 +getStateID__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801312E0; // type:function size:0x10 +executeState__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801312F0; // type:function size:0x10 fn_80131300 = .text:0x80131300; // type:function size:0xF0 fn_801313F0 = .text:0x801313F0; // type:function size:0x58 fn_80131450 = .text:0x80131450; // type:function size:0x8 fn_80131460 = .text:0x80131460; // type:function size:0xC4 fn_80131530 = .text:0x80131530; // type:function size:0x5C fn_80131590 = .text:0x80131590; // type:function size:0x1D8 -fn_80131770 = .text:0x80131770; // type:function size:0x10 +getStateID__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80131770; // type:function size:0x10 fn_80131780 = .text:0x80131780; // type:function size:0x50 fn_801317D0 = .text:0x801317D0; // type:function size:0x27C fn_80131A50 = .text:0x80131A50; // type:function size:0x4 @@ -7641,18 +7641,18 @@ fn_80131A70 = .text:0x80131A70; // type:function size:0x4 fn_80131A80 = .text:0x80131A80; // type:function size:0x4 fn_80131A90 = .text:0x80131A90; // type:function size:0x4 fn_80131AA0 = .text:0x80131AA0; // type:function size:0x4 -fn_80131AB0 = .text:0x80131AB0; // type:function size:0x98 +__ct__14dLytMapFader_cFv = .text:0x80131AB0; // type:function size:0x98 __ct__Q23m2d6Base_cFv = .text:0x80131B50; // type:function size:0x18 __dt__Q23EGG10ColorFaderFv = .text:0x80131B70; // type:function size:0x40 -fn_80131BB0 = .text:0x80131BB0; // type:function size:0x58 -fn_80131C10 = .text:0x80131C10; // type:function size:0x10 -fn_80131C20 = .text:0x80131C20; // type:function size:0x10 +__dt__14dLytMapFader_cFv = .text:0x80131BB0; // type:function size:0x58 +calc__14dLytMapFader_cFv = .text:0x80131C10; // type:function size:0x10 +draw__14dLytMapFader_cFv = .text:0x80131C20; // type:function size:0x10 fn_80131C30 = .text:0x80131C30; // type:function size:0x4 fn_80131C40 = .text:0x80131C40; // type:function size:0x4 fn_80131C50 = .text:0x80131C50; // type:function size:0x4 fn_80131C60 = .text:0x80131C60; // type:function size:0xC fn_80131C70 = .text:0x80131C70; // type:function size:0x88 -fn_80131D00 = .text:0x80131D00; // type:function size:0x10 +changeState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80131D00; // type:function size:0x10 fn_80131D10 = .text:0x80131D10; // type:function size:0x4 fn_80131D20 = .text:0x80131D20; // type:function size:0x4 fn_80131D30 = .text:0x80131D30; // type:function size:0xB8 @@ -7666,11 +7666,11 @@ fn_80131F60 = .text:0x80131F60; // type:function size:0x4 fn_80131F70 = .text:0x80131F70; // type:function size:0xB0 fn_80132020 = .text:0x80132020; // type:function size:0x4C fn_80132070 = .text:0x80132070; // type:function size:0x94 -fn_80132110 = .text:0x80132110; // type:function size:0x10 +executeState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80132110; // type:function size:0x10 fn_80132120 = .text:0x80132120; // type:function size:0x14 fn_80132140 = .text:0x80132140; // type:function size:0x4 fn_80132150 = .text:0x80132150; // type:function size:0x28 -fn_80132180 = .text:0x80132180; // type:function size:0x10 +changeState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80132180; // type:function size:0x10 fn_80132190 = .text:0x80132190; // type:function size:0x4 fn_801321A0 = .text:0x801321A0; // type:function size:0x7C fn_80132220 = .text:0x80132220; // type:function size:0xC4 @@ -7682,14 +7682,14 @@ fn_80132350 = .text:0x80132350; // type:function size:0x7C fn_801323D0 = .text:0x801323D0; // type:function size:0xB4 fn_80132490 = .text:0x80132490; // type:function size:0x4 fn_801324A0 = .text:0x801324A0; // type:function size:0x10 -fn_801324B0 = .text:0x801324B0; // type:function size:0x10 +executeState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801324B0; // type:function size:0x10 fn_801324C0 = .text:0x801324C0; // type:function size:0x10 fn_801324D0 = .text:0x801324D0; // type:function size:0x78 fn_80132550 = .text:0x80132550; // type:function size:0xD0 fn_80132620 = .text:0x80132620; // type:function size:0x4C fn_80132670 = .text:0x80132670; // type:function size:0x94 fn_80132710 = .text:0x80132710; // type:function size:0x318 -fn_80132A30 = .text:0x80132A30; // type:function size:0x10 +getStateID__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80132A30; // type:function size:0x10 fn_80132A40 = .text:0x80132A40; // type:function size:0xC fn_80132A50 = .text:0x80132A50; // type:function size:0xA4 fn_80132B00 = .text:0x80132B00; // type:function size:0x10 @@ -7698,7 +7698,7 @@ fn_80132B20 = .text:0x80132B20; // type:function size:0x4 fn_80132B30 = .text:0x80132B30; // type:function size:0x4 fn_80132B40 = .text:0x80132B40; // type:function size:0x9C fn_80132BE0 = .text:0x80132BE0; // type:function size:0x94 -fn_80132C80 = .text:0x80132C80; // type:function size:0x10 +changeState__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80132C80; // type:function size:0x10 fn_80132C90 = .text:0x80132C90; // type:function size:0x4 fn_80132CA0 = .text:0x80132CA0; // type:function size:0x4 fn_80132CB0 = .text:0x80132CB0; // type:function size:0x4 @@ -7709,14 +7709,14 @@ fn_80132DB0 = .text:0x80132DB0; // type:function size:0x4 fn_80132DC0 = .text:0x80132DC0; // type:function size:0xB0 fn_80132E70 = .text:0x80132E70; // type:function size:0x4C fn_80132EC0 = .text:0x80132EC0; // type:function size:0xA0 -fn_80132F60 = .text:0x80132F60; // type:function size:0x10 +executeState__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80132F60; // type:function size:0x10 fn_80132F70 = .text:0x80132F70; // type:function size:0x6C -fn_80132FE0 = .text:0x80132FE0; // type:function size:0x10 +getStateID__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80132FE0; // type:function size:0x10 fn_80132FF0 = .text:0x80132FF0; // type:function size:0xA0 fn_80133090 = .text:0x80133090; // type:function size:0x19C fn_80133230 = .text:0x80133230; // type:function size:0x4 fn_80133240 = .text:0x80133240; // type:function size:0x78 -fn_801332C0 = .text:0x801332C0; // type:function size:0x10 +changeState__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x801332C0; // type:function size:0x10 fn_801332D0 = .text:0x801332D0; // type:function size:0x4 fn_801332E0 = .text:0x801332E0; // type:function size:0x4 fn_801332F0 = .text:0x801332F0; // type:function size:0xC0 @@ -7736,28 +7736,28 @@ fn_80133660 = .text:0x80133660; // type:function size:0xB0 fn_80133710 = .text:0x80133710; // type:function size:0xF8 fn_80133810 = .text:0x80133810; // type:function size:0x4C fn_80133860 = .text:0x80133860; // type:function size:0x54 -fn_801338C0 = .text:0x801338C0; // type:function size:0x10 +executeState__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801338C0; // type:function size:0x10 fn_801338D0 = .text:0x801338D0; // type:function size:0x60 __ct__13dLytMapMain_cFv = .text:0x80133930; // type:function size:0x358 fn_80133C90 = .text:0x80133C90; // type:function size:0x1C fn_80133CB0 = .text:0x80133CB0; // type:function size:0x40 __ct__16dLytMapCapture_cFv = .text:0x80133CF0; // type:function size:0xE0 -fn_80133DD0 = .text:0x80133DD0; // type:function size:0x58 -fn_80133E30 = .text:0x80133E30; // type:function size:0x6C -fn_80133EA0 = .text:0x80133EA0; // type:function size:0xA0 -fn_80133F40 = .text:0x80133F40; // type:function size:0xA4 -fn_80133FF0 = .text:0x80133FF0; // type:function size:0xB4 +__dt__29sFState_c<16dLytMapCapture_c>Fv = .text:0x80133DD0; // type:function size:0x58 +__dt__32sFStateFct_c<16dLytMapCapture_c>Fv = .text:0x80133E30; // type:function size:0x6C +__dt__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80133EA0; // type:function size:0xA0 +__dt__55sFStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c>Fv = .text:0x80133F40; // type:function size:0xA4 +__dt__16dLytMapCapture_cFv = .text:0x80133FF0; // type:function size:0xB4 __ct__20dLytMapFloorBtnMgr_cFPv = .text:0x801340B0; // type:function size:0x178 fn_80134230 = .text:0x80134230; // type:function size:0x140 __ct__Q23d2d11dLytStructDFv = .text:0x80134370; // type:function size:0x48 __ct__17dLytMapFloorBtn_cFv = .text:0x801343C0; // type:function size:0xAC __ct__25dLytMapPinIconAggregate_cFv = .text:0x80134470; // type:function size:0xF0 -fn_80134560 = .text:0x80134560; // type:function size:0x58 -fn_801345C0 = .text:0x801345C0; // type:function size:0x6C -fn_80134630 = .text:0x80134630; // type:function size:0xA0 -fn_801346D0 = .text:0x801346D0; // type:function size:0xA4 +__dt__38sFState_c<25dLytMapPinIconAggregate_c>Fv = .text:0x80134560; // type:function size:0x58 +__dt__41sFStateFct_c<25dLytMapPinIconAggregate_c>Fv = .text:0x801345C0; // type:function size:0x6C +__dt__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80134630; // type:function size:0xA0 +__dt__64sFStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c>Fv = .text:0x801346D0; // type:function size:0xA4 __ct__16dLytMapPinIcon_cFv = .text:0x80134780; // type:function size:0x134 -fn_801348C0 = .text:0x801348C0; // type:function size:0xCC +__dt__25dLytMapPinIconAggregate_cFv = .text:0x801348C0; // type:function size:0xCC fn_80134990 = .text:0x80134990; // type:function size:0x464 fn_80134E00 = .text:0x80134E00; // type:function size:0x74 fn_80134E80 = .text:0x80134E80; // type:function size:0x10 @@ -7776,45 +7776,45 @@ fn_80135450 = .text:0x80135450; // type:function size:0x78 fn_801354D0 = .text:0x801354D0; // type:function size:0x54 fn_80135530 = .text:0x80135530; // type:function size:0x5C __ct__16dLytMapSaveObj_cFv = .text:0x80135590; // type:function size:0xC8 -fn_80135660 = .text:0x80135660; // type:function size:0x58 -fn_801356C0 = .text:0x801356C0; // type:function size:0x6C -fn_80135730 = .text:0x80135730; // type:function size:0xA0 -fn_801357D0 = .text:0x801357D0; // type:function size:0xA4 +__dt__29sFState_c<16dLytMapSaveObj_c>Fv = .text:0x80135660; // type:function size:0x58 +__dt__32sFStateFct_c<16dLytMapSaveObj_c>Fv = .text:0x801356C0; // type:function size:0x6C +__dt__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80135730; // type:function size:0xA0 +__dt__55sFStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c>Fv = .text:0x801357D0; // type:function size:0xA4 __dt__16dLytMapSaveObj_cFv = .text:0x80135880; // type:function size:0xD0 __ct__20dLytMapSaveCaption_cFv = .text:0x80135950; // type:function size:0xB4 -fn_80135A10 = .text:0x80135A10; // type:function size:0x58 -fn_80135A70 = .text:0x80135A70; // type:function size:0x6C -fn_80135AE0 = .text:0x80135AE0; // type:function size:0xA0 -fn_80135B80 = .text:0x80135B80; // type:function size:0xA4 +__dt__33sFState_c<20dLytMapSaveCaption_c>Fv = .text:0x80135A10; // type:function size:0x58 +__dt__36sFStateFct_c<20dLytMapSaveCaption_c>Fv = .text:0x80135A70; // type:function size:0x6C +__dt__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80135AE0; // type:function size:0xA0 +__dt__59sFStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c>Fv = .text:0x80135B80; // type:function size:0xA4 __ct__18dLytMapSavePopup_cFv = .text:0x80135C30; // type:function size:0x84 __ct__24dLytMapSavePopupAction_cFv = .text:0x80135CC0; // type:function size:0xA0 -fn_80135D60 = .text:0x80135D60; // type:function size:0x58 -fn_80135DC0 = .text:0x80135DC0; // type:function size:0x6C -fn_80135E30 = .text:0x80135E30; // type:function size:0xA0 -fn_80135ED0 = .text:0x80135ED0; // type:function size:0xA4 +__dt__37sFState_c<24dLytMapSavePopupAction_c>Fv = .text:0x80135D60; // type:function size:0x58 +__dt__40sFStateFct_c<24dLytMapSavePopupAction_c>Fv = .text:0x80135DC0; // type:function size:0x6C +__dt__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80135E30; // type:function size:0xA0 +__dt__63sFStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c>Fv = .text:0x80135ED0; // type:function size:0xA4 __dt__24dLytMapSavePopupAction_cFv = .text:0x80135F80; // type:function size:0xA8 -__ct__16dLytMapPopupInfoFv = .text:0x80136030; // type:function size:0xB4 -fn_801360F0 = .text:0x801360F0; // type:function size:0x58 -fn_80136150 = .text:0x80136150; // type:function size:0x6C -fn_801361C0 = .text:0x801361C0; // type:function size:0xA0 -fn_80136260 = .text:0x80136260; // type:function size:0xA4 +__ct__18dLytMapPopupInfo_cFv = .text:0x80136030; // type:function size:0xB4 +__dt__31sFState_c<18dLytMapPopupInfo_c>Fv = .text:0x801360F0; // type:function size:0x58 +__dt__34sFStateFct_c<18dLytMapPopupInfo_c>Fv = .text:0x80136150; // type:function size:0x6C +__dt__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801361C0; // type:function size:0xA0 +__dt__57sFStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c>Fv = .text:0x80136260; // type:function size:0xA4 __ct__52sFStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c>FR13dLytMapMain_c = .text:0x80136310; // type:function size:0x90 -fn_801363A0 = .text:0x801363A0; // type:function size:0x58 -fn_80136400 = .text:0x80136400; // type:function size:0x6C -fn_80136470 = .text:0x80136470; // type:function size:0xA0 -fn_80136510 = .text:0x80136510; // type:function size:0xA4 +__dt__26sFState_c<13dLytMapMain_c>Fv = .text:0x801363A0; // type:function size:0x58 +__dt__29sFStateFct_c<13dLytMapMain_c>Fv = .text:0x80136400; // type:function size:0x6C +__dt__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80136470; // type:function size:0xA0 +__dt__52sFStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c>Fv = .text:0x80136510; // type:function size:0xA4 fn_801365C0 = .text:0x801365C0; // type:function size:0x4 fn_801365D0 = .text:0x801365D0; // type:function size:0x40 __dt__13dLytMapMain_cFv = .text:0x80136610; // type:function size:0x608 fn_80136C20 = .text:0x80136C20; // type:function size:0xC fn_80136C30 = .text:0x80136C30; // type:function size:0xC8 fn_80136D00 = .text:0x80136D00; // type:function size:0x6CC -fn_801373D0 = .text:0x801373D0; // type:function size:0x10 +changeState__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x801373D0; // type:function size:0x10 fn_801373E0 = .text:0x801373E0; // type:function size:0xAC fn_80137490 = .text:0x80137490; // type:function size:0x2E8 fn_80137780 = .text:0x80137780; // type:function size:0x15C fn_801378E0 = .text:0x801378E0; // type:function size:0x838 -fn_80138120 = .text:0x80138120; // type:function size:0x10 +getStateID__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80138120; // type:function size:0x10 draw__13dLytMapMain_cFv = .text:0x80138130; // type:function size:0x238 fn_80138370 = .text:0x80138370; // type:function size:0x138 fn_801384B0 = .text:0x801384B0; // type:function size:0x5C @@ -7983,7 +7983,7 @@ fn_80141FD0 = .text:0x80141FD0; // type:function size:0x4 whatBirdStatuesToShow = .text:0x80141FE0; // type:function size:0x1D4 fn_801421C0 = .text:0x801421C0; // type:function size:0x4 fn_801421D0 = .text:0x801421D0; // type:function size:0x278 -fn_80142450 = .text:0x80142450; // type:function size:0x10 +getStateID__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80142450; // type:function size:0x10 fn_80142460 = .text:0x80142460; // type:function size:0x4 getStatueSelectDestinationStruct = .text:0x80142470; // type:function size:0xEC fn_80142560 = .text:0x80142560; // type:function size:0x18 @@ -8014,167 +8014,167 @@ fn_80143A30 = .text:0x80143A30; // type:function size:0x70 getName__20dLytMapFloorBtnMgr_cCFv = .text:0x80143AA0; // type:function size:0x8 getLyt__20dLytMapFloorBtnMgr_cFv = .text:0x80143AB0; // type:function size:0x8 getPane__20dLytMapFloorBtnMgr_cFv = .text:0x80143AC0; // type:function size:0x8 -fn_80143AD0 = .text:0x80143AD0; // type:function size:0x60 -fn_80143B30 = .text:0x80143B30; // type:function size:0xC -fn_80143B40 = .text:0x80143B40; // type:function size:0x60 -fn_80143BA0 = .text:0x80143BA0; // type:function size:0xC -fn_80143BB0 = .text:0x80143BB0; // type:function size:0x60 -fn_80143C10 = .text:0x80143C10; // type:function size:0xC -fn_80143C20 = .text:0x80143C20; // type:function size:0x60 -fn_80143C80 = .text:0x80143C80; // type:function size:0xC -fn_80143C90 = .text:0x80143C90; // type:function size:0x60 -fn_80143CF0 = .text:0x80143CF0; // type:function size:0xC -fn_80143D00 = .text:0x80143D00; // type:function size:0x60 -fn_80143D60 = .text:0x80143D60; // type:function size:0xC -fn_80143D70 = .text:0x80143D70; // type:function size:0x60 -fn_80143DD0 = .text:0x80143DD0; // type:function size:0xC -fn_80143DE0 = .text:0x80143DE0; // type:function size:0x60 -fn_80143E40 = .text:0x80143E40; // type:function size:0xC -fn_80143E50 = .text:0x80143E50; // type:function size:0x60 -fn_80143EB0 = .text:0x80143EB0; // type:function size:0xC -fn_80143EC0 = .text:0x80143EC0; // type:function size:0x60 -fn_80143F20 = .text:0x80143F20; // type:function size:0xC -fn_80143F30 = .text:0x80143F30; // type:function size:0x1C -fn_80143F50 = .text:0x80143F50; // type:function size:0x1C -fn_80143F70 = .text:0x80143F70; // type:function size:0x1C -fn_80143F90 = .text:0x80143F90; // type:function size:0x1C -fn_80143FB0 = .text:0x80143FB0; // type:function size:0x1C -fn_80143FD0 = .text:0x80143FD0; // type:function size:0x1C -fn_80143FF0 = .text:0x80143FF0; // type:function size:0x1C -fn_80144010 = .text:0x80144010; // type:function size:0x1C -fn_80144030 = .text:0x80144030; // type:function size:0x1C -fn_80144050 = .text:0x80144050; // type:function size:0x1C -fn_80144070 = .text:0x80144070; // type:function size:0x1C -fn_80144090 = .text:0x80144090; // type:function size:0x1C -fn_801440B0 = .text:0x801440B0; // type:function size:0x1C -fn_801440D0 = .text:0x801440D0; // type:function size:0x1C -fn_801440F0 = .text:0x801440F0; // type:function size:0x1C -fn_80144110 = .text:0x80144110; // type:function size:0x1C -fn_80144130 = .text:0x80144130; // type:function size:0x1C -fn_80144150 = .text:0x80144150; // type:function size:0x1C -fn_80144170 = .text:0x80144170; // type:function size:0x1C -fn_80144190 = .text:0x80144190; // type:function size:0x1C -fn_801441B0 = .text:0x801441B0; // type:function size:0x1C -fn_801441D0 = .text:0x801441D0; // type:function size:0x1C -fn_801441F0 = .text:0x801441F0; // type:function size:0x1C -fn_80144210 = .text:0x80144210; // type:function size:0x1C -fn_80144230 = .text:0x80144230; // type:function size:0x1C -fn_80144250 = .text:0x80144250; // type:function size:0x1C -fn_80144270 = .text:0x80144270; // type:function size:0x1C -fn_80144290 = .text:0x80144290; // type:function size:0x1C -fn_801442B0 = .text:0x801442B0; // type:function size:0x1C -fn_801442D0 = .text:0x801442D0; // type:function size:0x1C -fn_801442F0 = .text:0x801442F0; // type:function size:0x10 -fn_80144300 = .text:0x80144300; // type:function size:0x10 -fn_80144310 = .text:0x80144310; // type:function size:0x10 -fn_80144320 = .text:0x80144320; // type:function size:0x10 -fn_80144330 = .text:0x80144330; // type:function size:0x10 -fn_80144340 = .text:0x80144340; // type:function size:0x10 -fn_80144350 = .text:0x80144350; // type:function size:0x10 -fn_80144360 = .text:0x80144360; // type:function size:0x10 -fn_80144370 = .text:0x80144370; // type:function size:0x10 -fn_80144380 = .text:0x80144380; // type:function size:0x10 -fn_80144390 = .text:0x80144390; // type:function size:0x10 -fn_801443A0 = .text:0x801443A0; // type:function size:0x10 -fn_801443B0 = .text:0x801443B0; // type:function size:0x10 -fn_801443C0 = .text:0x801443C0; // type:function size:0x10 -fn_801443D0 = .text:0x801443D0; // type:function size:0x10 -fn_801443E0 = .text:0x801443E0; // type:function size:0x10 -fn_801443F0 = .text:0x801443F0; // type:function size:0x10 -fn_80144400 = .text:0x80144400; // type:function size:0x10 -fn_80144410 = .text:0x80144410; // type:function size:0x10 -fn_80144420 = .text:0x80144420; // type:function size:0x10 -fn_80144430 = .text:0x80144430; // type:function size:0x10 -fn_80144440 = .text:0x80144440; // type:function size:0x10 -fn_80144450 = .text:0x80144450; // type:function size:0x10 -fn_80144460 = .text:0x80144460; // type:function size:0x10 -fn_80144470 = .text:0x80144470; // type:function size:0x10 -fn_80144480 = .text:0x80144480; // type:function size:0x10 -fn_80144490 = .text:0x80144490; // type:function size:0x10 -fn_801444A0 = .text:0x801444A0; // type:function size:0x10 -fn_801444B0 = .text:0x801444B0; // type:function size:0x10 -fn_801444C0 = .text:0x801444C0; // type:function size:0x10 -fn_801444D0 = .text:0x801444D0; // type:function size:0x10 -fn_801444E0 = .text:0x801444E0; // type:function size:0x10 -fn_801444F0 = .text:0x801444F0; // type:function size:0x10 -fn_80144500 = .text:0x80144500; // type:function size:0x10 -fn_80144510 = .text:0x80144510; // type:function size:0x10 -fn_80144520 = .text:0x80144520; // type:function size:0x10 -fn_80144530 = .text:0x80144530; // type:function size:0x10 -fn_80144540 = .text:0x80144540; // type:function size:0x10 -fn_80144550 = .text:0x80144550; // type:function size:0x10 -fn_80144560 = .text:0x80144560; // type:function size:0x10 -fn_80144570 = .text:0x80144570; // type:function size:0x10 -fn_80144580 = .text:0x80144580; // type:function size:0x10 -fn_80144590 = .text:0x80144590; // type:function size:0x10 -fn_801445A0 = .text:0x801445A0; // type:function size:0x10 -fn_801445B0 = .text:0x801445B0; // type:function size:0x10 -fn_801445C0 = .text:0x801445C0; // type:function size:0x10 -fn_801445D0 = .text:0x801445D0; // type:function size:0x10 -fn_801445E0 = .text:0x801445E0; // type:function size:0x10 -fn_801445F0 = .text:0x801445F0; // type:function size:0x10 -fn_80144600 = .text:0x80144600; // type:function size:0x10 -fn_80144610 = .text:0x80144610; // type:function size:0x10 -fn_80144620 = .text:0x80144620; // type:function size:0x10 -fn_80144630 = .text:0x80144630; // type:function size:0x10 -fn_80144640 = .text:0x80144640; // type:function size:0x10 -fn_80144650 = .text:0x80144650; // type:function size:0x10 -fn_80144660 = .text:0x80144660; // type:function size:0x10 -fn_80144670 = .text:0x80144670; // type:function size:0x10 -fn_80144680 = .text:0x80144680; // type:function size:0x10 -fn_80144690 = .text:0x80144690; // type:function size:0x10 -fn_801446A0 = .text:0x801446A0; // type:function size:0x10 -fn_801446B0 = .text:0x801446B0; // type:function size:0x10 -fn_801446C0 = .text:0x801446C0; // type:function size:0x10 -fn_801446D0 = .text:0x801446D0; // type:function size:0x10 -fn_801446E0 = .text:0x801446E0; // type:function size:0x10 -fn_801446F0 = .text:0x801446F0; // type:function size:0x10 -fn_80144700 = .text:0x80144700; // type:function size:0x30 -fn_80144730 = .text:0x80144730; // type:function size:0x30 -fn_80144760 = .text:0x80144760; // type:function size:0x30 -fn_80144790 = .text:0x80144790; // type:function size:0x30 -fn_801447C0 = .text:0x801447C0; // type:function size:0x30 -fn_801447F0 = .text:0x801447F0; // type:function size:0x30 -fn_80144820 = .text:0x80144820; // type:function size:0x30 -fn_80144850 = .text:0x80144850; // type:function size:0x30 -fn_80144880 = .text:0x80144880; // type:function size:0x30 -fn_801448B0 = .text:0x801448B0; // type:function size:0x30 -fn_801448E0 = .text:0x801448E0; // type:function size:0x30 -fn_80144910 = .text:0x80144910; // type:function size:0x30 -fn_80144940 = .text:0x80144940; // type:function size:0x30 -fn_80144970 = .text:0x80144970; // type:function size:0x30 -fn_801449A0 = .text:0x801449A0; // type:function size:0x30 -fn_801449D0 = .text:0x801449D0; // type:function size:0x30 -fn_80144A00 = .text:0x80144A00; // type:function size:0x30 -fn_80144A30 = .text:0x80144A30; // type:function size:0x30 -fn_80144A60 = .text:0x80144A60; // type:function size:0x30 -fn_80144A90 = .text:0x80144A90; // type:function size:0x30 -fn_80144AC0 = .text:0x80144AC0; // type:function size:0x30 -fn_80144AF0 = .text:0x80144AF0; // type:function size:0x30 -fn_80144B20 = .text:0x80144B20; // type:function size:0x30 -fn_80144B50 = .text:0x80144B50; // type:function size:0x30 -fn_80144B80 = .text:0x80144B80; // type:function size:0x30 -fn_80144BB0 = .text:0x80144BB0; // type:function size:0x30 -fn_80144BE0 = .text:0x80144BE0; // type:function size:0x30 +build__29sFStateFct_c<13dLytMapMain_c>FRC12sStateIDIf_c = .text:0x80143AD0; // type:function size:0x60 +dispose__29sFStateFct_c<13dLytMapMain_c>FRP10sStateIf_c = .text:0x80143B30; // type:function size:0xC +build__32sFStateFct_c<16dLytMapSaveObj_c>FRC12sStateIDIf_c = .text:0x80143B40; // type:function size:0x60 +dispose__32sFStateFct_c<16dLytMapSaveObj_c>FRP10sStateIf_c = .text:0x80143BA0; // type:function size:0xC +build__36sFStateFct_c<20dLytMapSaveCaption_c>FRC12sStateIDIf_c = .text:0x80143BB0; // type:function size:0x60 +dispose__36sFStateFct_c<20dLytMapSaveCaption_c>FRP10sStateIf_c = .text:0x80143C10; // type:function size:0xC +build__40sFStateFct_c<24dLytMapSavePopupAction_c>FRC12sStateIDIf_c = .text:0x80143C20; // type:function size:0x60 +dispose__40sFStateFct_c<24dLytMapSavePopupAction_c>FRP10sStateIf_c = .text:0x80143C80; // type:function size:0xC +build__34sFStateFct_c<18dLytMapPopupInfo_c>FRC12sStateIDIf_c = .text:0x80143C90; // type:function size:0x60 +dispose__34sFStateFct_c<18dLytMapPopupInfo_c>FRP10sStateIf_c = .text:0x80143CF0; // type:function size:0xC +build__36sFStateFct_c<20dLytMapFloorBtnMgr_c>FRC12sStateIDIf_c = .text:0x80143D00; // type:function size:0x60 +dispose__36sFStateFct_c<20dLytMapFloorBtnMgr_c>FRP10sStateIf_c = .text:0x80143D60; // type:function size:0xC +build__33sFStateFct_c<17dLytMapFloorBtn_c>FRC12sStateIDIf_c = .text:0x80143D70; // type:function size:0x60 +dispose__33sFStateFct_c<17dLytMapFloorBtn_c>FRP10sStateIf_c = .text:0x80143DD0; // type:function size:0xC +build__41sFStateFct_c<25dLytMapPinIconAggregate_c>FRC12sStateIDIf_c = .text:0x80143DE0; // type:function size:0x60 +dispose__41sFStateFct_c<25dLytMapPinIconAggregate_c>FRP10sStateIf_c = .text:0x80143E40; // type:function size:0xC +build__32sFStateFct_c<16dLytMapPinIcon_c>FRC12sStateIDIf_c = .text:0x80143E50; // type:function size:0x60 +dispose__32sFStateFct_c<16dLytMapPinIcon_c>FRP10sStateIf_c = .text:0x80143EB0; // type:function size:0xC +build__32sFStateFct_c<16dLytMapCapture_c>FRC12sStateIDIf_c = .text:0x80143EC0; // type:function size:0x60 +dispose__32sFStateFct_c<16dLytMapCapture_c>FRP10sStateIf_c = .text:0x80143F20; // type:function size:0xC +initialize__26sFState_c<13dLytMapMain_c>Fv = .text:0x80143F30; // type:function size:0x1C +execute__26sFState_c<13dLytMapMain_c>Fv = .text:0x80143F50; // type:function size:0x1C +finalize__26sFState_c<13dLytMapMain_c>Fv = .text:0x80143F70; // type:function size:0x1C +initialize__29sFState_c<16dLytMapSaveObj_c>Fv = .text:0x80143F90; // type:function size:0x1C +execute__29sFState_c<16dLytMapSaveObj_c>Fv = .text:0x80143FB0; // type:function size:0x1C +finalize__29sFState_c<16dLytMapSaveObj_c>Fv = .text:0x80143FD0; // type:function size:0x1C +initialize__33sFState_c<20dLytMapSaveCaption_c>Fv = .text:0x80143FF0; // type:function size:0x1C +execute__33sFState_c<20dLytMapSaveCaption_c>Fv = .text:0x80144010; // type:function size:0x1C +finalize__33sFState_c<20dLytMapSaveCaption_c>Fv = .text:0x80144030; // type:function size:0x1C +initialize__37sFState_c<24dLytMapSavePopupAction_c>Fv = .text:0x80144050; // type:function size:0x1C +execute__37sFState_c<24dLytMapSavePopupAction_c>Fv = .text:0x80144070; // type:function size:0x1C +finalize__37sFState_c<24dLytMapSavePopupAction_c>Fv = .text:0x80144090; // type:function size:0x1C +initialize__31sFState_c<18dLytMapPopupInfo_c>Fv = .text:0x801440B0; // type:function size:0x1C +execute__31sFState_c<18dLytMapPopupInfo_c>Fv = .text:0x801440D0; // type:function size:0x1C +finalize__31sFState_c<18dLytMapPopupInfo_c>Fv = .text:0x801440F0; // type:function size:0x1C +initialize__33sFState_c<20dLytMapFloorBtnMgr_c>Fv = .text:0x80144110; // type:function size:0x1C +execute__33sFState_c<20dLytMapFloorBtnMgr_c>Fv = .text:0x80144130; // type:function size:0x1C +finalize__33sFState_c<20dLytMapFloorBtnMgr_c>Fv = .text:0x80144150; // type:function size:0x1C +initialize__30sFState_c<17dLytMapFloorBtn_c>Fv = .text:0x80144170; // type:function size:0x1C +execute__30sFState_c<17dLytMapFloorBtn_c>Fv = .text:0x80144190; // type:function size:0x1C +finalize__30sFState_c<17dLytMapFloorBtn_c>Fv = .text:0x801441B0; // type:function size:0x1C +initialize__38sFState_c<25dLytMapPinIconAggregate_c>Fv = .text:0x801441D0; // type:function size:0x1C +execute__38sFState_c<25dLytMapPinIconAggregate_c>Fv = .text:0x801441F0; // type:function size:0x1C +finalize__38sFState_c<25dLytMapPinIconAggregate_c>Fv = .text:0x80144210; // type:function size:0x1C +initialize__29sFState_c<16dLytMapPinIcon_c>Fv = .text:0x80144230; // type:function size:0x1C +execute__29sFState_c<16dLytMapPinIcon_c>Fv = .text:0x80144250; // type:function size:0x1C +finalize__29sFState_c<16dLytMapPinIcon_c>Fv = .text:0x80144270; // type:function size:0x1C +initialize__29sFState_c<16dLytMapCapture_c>Fv = .text:0x80144290; // type:function size:0x1C +execute__29sFState_c<16dLytMapCapture_c>Fv = .text:0x801442B0; // type:function size:0x1C +finalize__29sFState_c<16dLytMapCapture_c>Fv = .text:0x801442D0; // type:function size:0x1C +initializeState__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801442F0; // type:function size:0x10 +executeState__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144300; // type:function size:0x10 +finalizeState__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144310; // type:function size:0x10 +refreshState__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144320; // type:function size:0x10 +getState__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144330; // type:function size:0x10 +getNewStateID__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144340; // type:function size:0x10 +getStateID__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144350; // type:function size:0x10 +getOldStateID__82sStateMgr_c<13dLytMapMain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144360; // type:function size:0x10 +initializeState__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144370; // type:function size:0x10 +finalizeState__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144380; // type:function size:0x10 +refreshState__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144390; // type:function size:0x10 +getState__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801443A0; // type:function size:0x10 +getNewStateID__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801443B0; // type:function size:0x10 +getOldStateID__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801443C0; // type:function size:0x10 +initializeState__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801443D0; // type:function size:0x10 +finalizeState__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801443E0; // type:function size:0x10 +refreshState__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801443F0; // type:function size:0x10 +getState__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144400; // type:function size:0x10 +getNewStateID__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144410; // type:function size:0x10 +getOldStateID__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144420; // type:function size:0x10 +initializeState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144430; // type:function size:0x10 +finalizeState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144440; // type:function size:0x10 +refreshState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144450; // type:function size:0x10 +getState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144460; // type:function size:0x10 +getNewStateID__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144470; // type:function size:0x10 +getOldStateID__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144480; // type:function size:0x10 +initializeState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144490; // type:function size:0x10 +finalizeState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801444A0; // type:function size:0x10 +refreshState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801444B0; // type:function size:0x10 +getState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801444C0; // type:function size:0x10 +getNewStateID__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801444D0; // type:function size:0x10 +getStateID__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801444E0; // type:function size:0x10 +getOldStateID__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801444F0; // type:function size:0x10 +initializeState__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144500; // type:function size:0x10 +finalizeState__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144510; // type:function size:0x10 +refreshState__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144520; // type:function size:0x10 +getState__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144530; // type:function size:0x10 +getNewStateID__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144540; // type:function size:0x10 +getOldStateID__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144550; // type:function size:0x10 +initializeState__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144560; // type:function size:0x10 +finalizeState__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144570; // type:function size:0x10 +refreshState__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144580; // type:function size:0x10 +getState__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144590; // type:function size:0x10 +getNewStateID__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801445A0; // type:function size:0x10 +getOldStateID__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801445B0; // type:function size:0x10 +initializeState__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801445C0; // type:function size:0x10 +finalizeState__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801445D0; // type:function size:0x10 +refreshState__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801445E0; // type:function size:0x10 +getState__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801445F0; // type:function size:0x10 +getNewStateID__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144600; // type:function size:0x10 +getOldStateID__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144610; // type:function size:0x10 +initializeState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144620; // type:function size:0x10 +finalizeState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144630; // type:function size:0x10 +refreshState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144640; // type:function size:0x10 +getState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144650; // type:function size:0x10 +getNewStateID__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144660; // type:function size:0x10 +getOldStateID__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80144670; // type:function size:0x10 +initializeState__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144680; // type:function size:0x10 +executeState__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80144690; // type:function size:0x10 +finalizeState__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801446A0; // type:function size:0x10 +refreshState__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801446B0; // type:function size:0x10 +getState__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801446C0; // type:function size:0x10 +getNewStateID__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801446D0; // type:function size:0x10 +getStateID__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801446E0; // type:function size:0x10 +getOldStateID__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801446F0; // type:function size:0x10 +finalizeState__31sFStateID_c<16dLytMapPinIcon_c>CFR16dLytMapPinIcon_c = .text:0x80144700; // type:function size:0x30 +executeState__31sFStateID_c<16dLytMapPinIcon_c>CFR16dLytMapPinIcon_c = .text:0x80144730; // type:function size:0x30 +initializeState__31sFStateID_c<16dLytMapPinIcon_c>CFR16dLytMapPinIcon_c = .text:0x80144760; // type:function size:0x30 +finalizeState__40sFStateID_c<25dLytMapPinIconAggregate_c>CFR25dLytMapPinIconAggregate_c = .text:0x80144790; // type:function size:0x30 +executeState__40sFStateID_c<25dLytMapPinIconAggregate_c>CFR25dLytMapPinIconAggregate_c = .text:0x801447C0; // type:function size:0x30 +initializeState__40sFStateID_c<25dLytMapPinIconAggregate_c>CFR25dLytMapPinIconAggregate_c = .text:0x801447F0; // type:function size:0x30 +finalizeState__32sFStateID_c<17dLytMapFloorBtn_c>CFR17dLytMapFloorBtn_c = .text:0x80144820; // type:function size:0x30 +executeState__32sFStateID_c<17dLytMapFloorBtn_c>CFR17dLytMapFloorBtn_c = .text:0x80144850; // type:function size:0x30 +initializeState__32sFStateID_c<17dLytMapFloorBtn_c>CFR17dLytMapFloorBtn_c = .text:0x80144880; // type:function size:0x30 +finalizeState__35sFStateID_c<20dLytMapFloorBtnMgr_c>CFR20dLytMapFloorBtnMgr_c = .text:0x801448B0; // type:function size:0x30 +executeState__35sFStateID_c<20dLytMapFloorBtnMgr_c>CFR20dLytMapFloorBtnMgr_c = .text:0x801448E0; // type:function size:0x30 +initializeState__35sFStateID_c<20dLytMapFloorBtnMgr_c>CFR20dLytMapFloorBtnMgr_c = .text:0x80144910; // type:function size:0x30 +finalizeState__33sFStateID_c<18dLytMapPopupInfo_c>CFR18dLytMapPopupInfo_c = .text:0x80144940; // type:function size:0x30 +executeState__33sFStateID_c<18dLytMapPopupInfo_c>CFR18dLytMapPopupInfo_c = .text:0x80144970; // type:function size:0x30 +initializeState__33sFStateID_c<18dLytMapPopupInfo_c>CFR18dLytMapPopupInfo_c = .text:0x801449A0; // type:function size:0x30 +finalizeState__39sFStateID_c<24dLytMapSavePopupAction_c>CFR24dLytMapSavePopupAction_c = .text:0x801449D0; // type:function size:0x30 +executeState__39sFStateID_c<24dLytMapSavePopupAction_c>CFR24dLytMapSavePopupAction_c = .text:0x80144A00; // type:function size:0x30 +initializeState__39sFStateID_c<24dLytMapSavePopupAction_c>CFR24dLytMapSavePopupAction_c = .text:0x80144A30; // type:function size:0x30 +finalizeState__35sFStateID_c<20dLytMapSaveCaption_c>CFR20dLytMapSaveCaption_c = .text:0x80144A60; // type:function size:0x30 +executeState__35sFStateID_c<20dLytMapSaveCaption_c>CFR20dLytMapSaveCaption_c = .text:0x80144A90; // type:function size:0x30 +initializeState__35sFStateID_c<20dLytMapSaveCaption_c>CFR20dLytMapSaveCaption_c = .text:0x80144AC0; // type:function size:0x30 +finalizeState__31sFStateID_c<16dLytMapSaveObj_c>CFR16dLytMapSaveObj_c = .text:0x80144AF0; // type:function size:0x30 +executeState__31sFStateID_c<16dLytMapSaveObj_c>CFR16dLytMapSaveObj_c = .text:0x80144B20; // type:function size:0x30 +initializeState__31sFStateID_c<16dLytMapSaveObj_c>CFR16dLytMapSaveObj_c = .text:0x80144B50; // type:function size:0x30 +finalizeState__28sFStateID_c<13dLytMapMain_c>CFR13dLytMapMain_c = .text:0x80144B80; // type:function size:0x30 +executeState__28sFStateID_c<13dLytMapMain_c>CFR13dLytMapMain_c = .text:0x80144BB0; // type:function size:0x30 +initializeState__28sFStateID_c<13dLytMapMain_c>CFR13dLytMapMain_c = .text:0x80144BE0; // type:function size:0x30 __sinit_\d_lyt_map_cpp = .text:0x80144C10; // type:function size:0x3968 scope:local -LytMapPinIcon__dtor = .text:0x80148580; // type:function size:0x58 -LytMapPinIconAggregate__dtor = .text:0x801485E0; // type:function size:0x58 -LytMapFloorBtn__dtor = .text:0x80148640; // type:function size:0x58 -LytMapFloorBtnMgr__dtor = .text:0x801486A0; // type:function size:0x58 -LytMapPopupInfo__dtor = .text:0x80148700; // type:function size:0x58 -LytMapSavePopupAction__dtor = .text:0x80148760; // type:function size:0x58 -LytMapSaveCaption__dtor = .text:0x801487C0; // type:function size:0x58 -LytMapSaveObj__dtor = .text:0x80148820; // type:function size:0x58 -LytMapMain__dtor = .text:0x80148880; // type:function size:0x58 -fn_801488E0 = .text:0x801488E0; // type:function size:0x88 -fn_80148970 = .text:0x80148970; // type:function size:0x88 -fn_80148A00 = .text:0x80148A00; // type:function size:0x88 -fn_80148A90 = .text:0x80148A90; // type:function size:0x88 -fn_80148B20 = .text:0x80148B20; // type:function size:0x88 -fn_80148BB0 = .text:0x80148BB0; // type:function size:0x88 -fn_80148C40 = .text:0x80148C40; // type:function size:0x88 -fn_80148CD0 = .text:0x80148CD0; // type:function size:0x88 -fn_80148D60 = .text:0x80148D60; // type:function size:0x88 +__dt__31sFStateID_c<16dLytMapPinIcon_c>Fv = .text:0x80148580; // type:function size:0x58 +__dt__40sFStateID_c<25dLytMapPinIconAggregate_c>Fv = .text:0x801485E0; // type:function size:0x58 +__dt__32sFStateID_c<17dLytMapFloorBtn_c>Fv = .text:0x80148640; // type:function size:0x58 +__dt__35sFStateID_c<20dLytMapFloorBtnMgr_c>Fv = .text:0x801486A0; // type:function size:0x58 +__dt__33sFStateID_c<18dLytMapPopupInfo_c>Fv = .text:0x80148700; // type:function size:0x58 +__dt__39sFStateID_c<24dLytMapSavePopupAction_c>Fv = .text:0x80148760; // type:function size:0x58 +__dt__35sFStateID_c<20dLytMapSaveCaption_c>Fv = .text:0x801487C0; // type:function size:0x58 +__dt__31sFStateID_c<16dLytMapSaveObj_c>Fv = .text:0x80148820; // type:function size:0x58 +__dt__28sFStateID_c<13dLytMapMain_c>Fv = .text:0x80148880; // type:function size:0x58 +isSameName__28sFStateID_c<13dLytMapMain_c>CFPCc = .text:0x801488E0; // type:function size:0x88 +isSameName__31sFStateID_c<16dLytMapSaveObj_c>CFPCc = .text:0x80148970; // type:function size:0x88 +isSameName__35sFStateID_c<20dLytMapSaveCaption_c>CFPCc = .text:0x80148A00; // type:function size:0x88 +isSameName__39sFStateID_c<24dLytMapSavePopupAction_c>CFPCc = .text:0x80148A90; // type:function size:0x88 +isSameName__33sFStateID_c<18dLytMapPopupInfo_c>CFPCc = .text:0x80148B20; // type:function size:0x88 +isSameName__35sFStateID_c<20dLytMapFloorBtnMgr_c>CFPCc = .text:0x80148BB0; // type:function size:0x88 +isSameName__32sFStateID_c<17dLytMapFloorBtn_c>CFPCc = .text:0x80148C40; // type:function size:0x88 +isSameName__40sFStateID_c<25dLytMapPinIconAggregate_c>CFPCc = .text:0x80148CD0; // type:function size:0x88 +isSameName__31sFStateID_c<16dLytMapPinIcon_c>CFPCc = .text:0x80148D60; // type:function size:0x88 initializeState_Wait__10dLytNote_cFv = .text:0x80148DF0; // type:function size:0xC executeState_Wait__10dLytNote_cFv = .text:0x80148E00; // type:function size:0x28 changeState__79sStateMgr_c<10dLytNote_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80148E30; // type:function size:0x10 @@ -39974,7 +39974,7 @@ lbl_8057548C = .sbss:0x8057548C; // type:object size:0x4 data:4byte CURRENT_ACTOR_EVENT_FLOW_MANAGER = .sbss:0x80575490; // type:object size:0x8 data:4byte LYT_SIMPLE_WINDOW = .sbss:0x80575498; // type:object size:0x8 data:4byte lbl_805754A0 = .sbss:0x805754A0; // type:object size:0x8 data:4byte -lbl_805754A8 = .sbss:0x805754A8; // type:object size:0x1 data:byte +sMapFaderColor = .sbss:0x805754A8; // type:object size:0x4 data:byte lbl_805754AC = .sbss:0x805754AC; // type:object size:0x1 data:byte lbl_805754B0 = .sbss:0x805754B0; // type:object size:0x8 data:4byte sInstance__13dLytBattery_c = .sbss:0x805754B8; // type:object size:0x8 data:4byte @@ -48687,63 +48687,84 @@ StateID_RenderingWait__16dLytMapCapture_c = .bss:0x805AF400; // type:object size StateID_RenderingWaitStep2__16dLytMapCapture_c = .bss:0x805AF440; // type:object size:0x30 data:4byte lbl_805AF470 = .bss:0x805AF470; // type:object size:0x10 lbl_805AF480 = .bss:0x805AF480; // type:object size:0x40 -LytMapPinIcon__STATE_WAIT = .bss:0x805AF4C0; // type:object size:0x40 data:4byte -LytMapPinIcon__STATE_TO_SELECT = .bss:0x805AF500; // type:object size:0x40 data:4byte -LytMapPinIcon__STATE_SELECT = .bss:0x805AF540; // type:object size:0x40 data:4byte -lbl_805AF580 = .bss:0x805AF580; // type:object size:0x40 data:4byte -LytMapPinIcon__STATE_REMOVE = .bss:0x805AF5C0; // type:object size:0x40 data:4byte -LytMapPinIconAggregate__STATE_WAIT = .bss:0x805AF600; // type:object size:0x40 data:4byte -LytMapPinIconAggregate__STATE_SELECT = .bss:0x805AF640; // type:object size:0x80 data:4byte -LytMapPinIconAggregate__STATE_REMOVE = .bss:0x805AF6C0; // type:object size:0x40 data:4byte -LytMapPinIconAggregate__STATE_TO_SELECT = .bss:0x805AF700; // type:object size:0x40 data:4byte -LytMapFloorBtn__STATE_SELECT = .bss:0x805AF740; // type:object size:0x40 data:4byte -LytMapFloorBtn__STATE_TO_WAIT = .bss:0x805AF780; // type:object size:0x40 data:4byte -LytMapFloorBtn__STATE_TO_DECIDE = .bss:0x805AF7C0; // type:object size:0x40 data:4byte -LytMapFloorBtn__STATE_DECIDE = .bss:0x805AF800; // type:object size:0x40 data:4byte -LytMapFloorBtn__STATE_TO_SELECT_IN_DECIDE = .bss:0x805AF840; // type:object size:0x40 data:4byte -LytMapFloorBtn__STATE_SELECT_IN_DECIDE = .bss:0x805AF880; // type:object size:0x40 data:4byte -LytMapFloorBtnMgr__STATE_DECIDE_TO_SELECT_IN_DECIDE = .bss:0x805AF8C0; // type:object size:0x40 data:4byte -LytMapFloorBtnMgr__STATE_INVISIBLE = .bss:0x805AF900; // type:object size:0x80 data:4byte -LytMapPopupInfo__STATE_INVISIBLE = .bss:0x805AF980; // type:object size:0x40 data:4byte -LytMapPopupInfo__STATE_IN = .bss:0x805AF9C0; // type:object size:0x40 data:4byte -LytMapPopupInfo__STATE_WAIT = .bss:0x805AFA00; // type:object size:0x40 data:4byte -LytMapPopupInfo__STATE_WAIT_INVALID = .bss:0x805AFA40; // type:object size:0x40 data:4byte -LytMapPopupInfo__STATE_OUT = .bss:0x805AFA80; // type:object size:0x40 data:4byte -LytMapSavePopupAction__STATE_INVISIBLE = .bss:0x805AFAC0; // type:object size:0x40 data:4byte -LytMapSavePopupAction__STATE_IN = .bss:0x805AFB00; // type:object size:0x40 data:4byte -LytMapSavePopupAction__STATE_WAIT = .bss:0x805AFB40; // type:object size:0x40 data:4byte -LytMapSavePopupAction__STATE_OUT = .bss:0x805AFB80; // type:object size:0x40 data:4byte -LytMapSaveCaption__STATE_INVISIBLE = .bss:0x805AFBC0; // type:object size:0x80 data:4byte -LytMapSaveCaption__STATE_WAIT = .bss:0x805AFC40; // type:object size:0x80 data:4byte -LytMapSaveObj__STATE_WAIT = .bss:0x805AFCC0; // type:object size:0x40 data:4byte -LytMapSaveObj__STATE_TO_HISTORY = .bss:0x805AFD00; // type:object size:0x40 data:4byte -LytMapSaveObj__STATE_SELECT = .bss:0x805AFD40; // type:object size:0x40 data:4byte -LytMapSaveObj__STATE_TO_WAIT = .bss:0x805AFD80; // type:object size:0x40 data:4byte -LytMapSaveObj__STATE_TO_DECIDE = .bss:0x805AFDC0; // type:object size:0x40 data:4byte -LytMapMain__STATE_INVISIBLE = .bss:0x805AFE00; // type:object size:0x40 data:4byte -LytMapMain__STATE_RENDERING_WAIT = .bss:0x805AFE40; // type:object size:0x40 data:4byte -LytMapMain__STATE_IN = .bss:0x805AFE80; // type:object size:0x40 data:4byte -LytMapMain__STATE_ACTIVE = .bss:0x805AFEC0; // type:object size:0x40 data:4byte -LytMapMain__STATE_OUT = .bss:0x805AFF00; // type:object size:0x100 data:4byte -LytMapMain__STATE_CHG_DISP_AREA_MODE_MAP_ROT = .bss:0x805B0000; // type:object size:0x40 data:4byte -LytMapMain__STATE_CHG_DISP_AREA_MODE_WA = .bss:0x805B0040; // type:object size:0x80 data:4byte -LytMapMain__STATE_RESET_POS = .bss:0x805B00C0; // type:object size:0xC0 data:4byte -LytMapMain__STATE_EVENT_SW_BANK_SMALL_2 = .bss:0x805B0180; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_SW_BANK_SMALL_3 = .bss:0x805B01C0; // type:object size:0x80 data:4byte -LytMapMain__STATE_EVENT_MAP_INTO_STEP_2 = .bss:0x805B0240; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_MAP_INTRO_STEP_3 = .bss:0x805B0280; // type:object size:0xC0 data:4byte -LytMapMain__STATE_EVENT_DUNGEON_MAP_GET_STEP_2 = .bss:0x805B0340; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_DUNGEON_MAP_GET_STEP_3 = .bss:0x805B0380; // type:object size:0x80 data:4byte -LytMapMain__STATE_EVENT_FIELD_MAP_CHANGE_STEP_2 = .bss:0x805B0400; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_FIELD_MAP_CHANGE_STEP_3 = .bss:0x805B0440; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_FIELD_MAP_CHANGE_STEP_4 = .bss:0x805B0480; // type:object size:0x80 data:4byte -LytMapMain__STATE_EVENT_FOREST_MAP_CHANGE_STEP_2 = .bss:0x805B0500; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_FOREST_MAP_CHANGE_STEP_3 = .bss:0x805B0540; // type:object size:0x80 data:4byte -LytMapMain__STATE_EVENT_SIGNAL_ADD_STEP_2 = .bss:0x805B05C0; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_SIGNAL_ADD_STEP_3 = .bss:0x805B0600; // type:object size:0x80 data:4byte -LytMapMain__STATE_EVENT_GODDESS_CUBE_STEP_2 = .bss:0x805B0680; // type:object size:0x40 data:4byte -LytMapMain__STATE_EVENT_GODDESS_CUBE_STEP_3 = .bss:0x805B06C0; // type:object size:0x80 data:4byte -LytMapMain__STATE_EVENT_SAVE_OBJ_SELECT = .bss:0x805B0740; // type:object size:0xF0 data:4byte +StateID_Wait__16dLytMapPinIcon_c = .bss:0x805AF4C0; // type:object size:0x30 data:4byte +StateID_ToSelect__16dLytMapPinIcon_c = .bss:0x805AF500; // type:object size:0x30 data:4byte +StateID_Select__16dLytMapPinIcon_c = .bss:0x805AF540; // type:object size:0x30 data:4byte +StateID_ToUnselect__16dLytMapPinIcon_c = .bss:0x805AF580; // type:object size:0x30 data:4byte +StateID_Remove__16dLytMapPinIcon_c = .bss:0x805AF5C0; // type:object size:0x30 data:4byte +StateID_Wait__25dLytMapPinIconAggregate_c = .bss:0x805AF600; // type:object size:0x30 data:4byte +StateID_Select__25dLytMapPinIconAggregate_c = .bss:0x805AF640; // type:object size:0x30 data:4byte +StateID_Remove__25dLytMapPinIconAggregate_c = .bss:0x805AF680; // type:object size:0x30 data:4byte +StateID_Wait__17dLytMapFloorBtn_c = .bss:0x805AF6C0; // type:object size:0x30 data:4byte +StateID_ToSelect__17dLytMapFloorBtn_c = .bss:0x805AF700; // type:object size:0x30 data:4byte +StateID_Select__17dLytMapFloorBtn_c = .bss:0x805AF740; // type:object size:0x30 data:4byte +StateID_ToWait__17dLytMapFloorBtn_c = .bss:0x805AF780; // type:object size:0x30 data:4byte +StateID_ToDecide__17dLytMapFloorBtn_c = .bss:0x805AF7C0; // type:object size:0x30 data:4byte +StateID_Decide__17dLytMapFloorBtn_c = .bss:0x805AF800; // type:object size:0x30 data:4byte +StateID_ToSelectInDecide__17dLytMapFloorBtn_c = .bss:0x805AF840; // type:object size:0x30 data:4byte +StateID_SelectInDecide__17dLytMapFloorBtn_c = .bss:0x805AF880; // type:object size:0x30 data:4byte +StateID_DecideToSelectInDecide__17dLytMapFloorBtn_c = .bss:0x805AF8C0; // type:object size:0x30 data:4byte +StateID_Invisible__20dLytMapFloorBtnMgr_c = .bss:0x805AF900; // type:object size:0x30 data:4byte +StateID_Wait__20dLytMapFloorBtnMgr_c = .bss:0x805AF940; // type:object size:0x30 data:4byte +StateID_Invisible__18dLytMapPopupInfo_c = .bss:0x805AF980; // type:object size:0x30 data:4byte +StateID_In__18dLytMapPopupInfo_c = .bss:0x805AF9C0; // type:object size:0x30 data:4byte +StateID_Wait__18dLytMapPopupInfo_c = .bss:0x805AFA00; // type:object size:0x30 data:4byte +StateID_WaitInvalid__18dLytMapPopupInfo_c = .bss:0x805AFA40; // type:object size:0x30 data:4byte +StateID_Out__18dLytMapPopupInfo_c = .bss:0x805AFA80; // type:object size:0x30 data:4byte +StateID_Invisible__24dLytMapSavePopupAction_c = .bss:0x805AFAC0; // type:object size:0x30 data:4byte +StateID_In__24dLytMapSavePopupAction_c = .bss:0x805AFB00; // type:object size:0x30 data:4byte +StateID_Wait__24dLytMapSavePopupAction_c = .bss:0x805AFB40; // type:object size:0x30 data:4byte +StateID_Out__24dLytMapSavePopupAction_c = .bss:0x805AFB80; // type:object size:0x30 data:4byte +StateID_Invisible__20dLytMapSaveCaption_c = .bss:0x805AFBC0; // type:object size:0x30 data:4byte +StateID_In__20dLytMapSaveCaption_c = .bss:0x805AFC00; // type:object size:0x30 data:4byte +StateID_Wait__20dLytMapSaveCaption_c = .bss:0x805AFC40; // type:object size:0x30 data:4byte +StateID_Out__20dLytMapSaveCaption_c = .bss:0x805AFC80; // type:object size:0x30 data:4byte +StateID_Wait__16dLytMapSaveObj_c = .bss:0x805AFCC0; // type:object size:0x30 data:4byte +StateID_ToSelect__16dLytMapSaveObj_c = .bss:0x805AFD00; // type:object size:0x30 data:4byte +StateID_Select__16dLytMapSaveObj_c = .bss:0x805AFD40; // type:object size:0x30 data:4byte +StateID_ToWait__16dLytMapSaveObj_c = .bss:0x805AFD80; // type:object size:0x30 data:4byte +StateID_Decide__16dLytMapSaveObj_c = .bss:0x805AFDC0; // type:object size:0x30 data:4byte +StateID_Invisible__13dLytMapMain_c = .bss:0x805AFE00; // type:object size:0x30 data:4byte +StateID_RenderingWait__13dLytMapMain_c = .bss:0x805AFE40; // type:object size:0x30 data:4byte +StateID_In__13dLytMapMain_c = .bss:0x805AFE80; // type:object size:0x30 data:4byte +StateID_Active__13dLytMapMain_c = .bss:0x805AFEC0; // type:object size:0x30 data:4byte +StateID_Out__13dLytMapMain_c = .bss:0x805AFF00; // type:object size:0x30 data:4byte +StateID_FloorChange__13dLytMapMain_c = .bss:0x805AFF40; // type:object size:0x30 data:4byte +StateID_ChgMapUpDirection__13dLytMapMain_c = .bss:0x805AFF80; // type:object size:0x30 data:4byte +StateID_ChgDispAreaMode_Map__13dLytMapMain_c = .bss:0x805AFFC0; // type:object size:0x30 data:4byte +StateID_ChgDispAreaMode_MapRot__13dLytMapMain_c = .bss:0x805B0000; // type:object size:0x30 data:4byte +StateID_ChgDispAreaMode_WA__13dLytMapMain_c = .bss:0x805B0040; // type:object size:0x30 data:4byte +StateID_ChgDispAreaMode_CsrRot__13dLytMapMain_c = .bss:0x805B0080; // type:object size:0x30 data:4byte +StateID_ResetPos__13dLytMapMain_c = .bss:0x805B00C0; // type:object size:0x30 data:4byte +StateID_ResetPosWithFloorChange__13dLytMapMain_c = .bss:0x805B0100; // type:object size:0x30 data:4byte +StateID_EventSwBankSmall_Step1__13dLytMapMain_c = .bss:0x805B0140; // type:object size:0x30 data:4byte +StateID_EventSwBankSmall_Step2__13dLytMapMain_c = .bss:0x805B0180; // type:object size:0x30 data:4byte +StateID_EventSwBankSmall_Step3__13dLytMapMain_c = .bss:0x805B01C0; // type:object size:0x30 data:4byte +StateID_EventMapIntro_Step1__13dLytMapMain_c = .bss:0x805B0200; // type:object size:0x30 data:4byte +StateID_EventMapIntro_Step2__13dLytMapMain_c = .bss:0x805B0240; // type:object size:0x30 data:4byte +StateID_EventMapIntro_Step3__13dLytMapMain_c = .bss:0x805B0280; // type:object size:0x30 data:4byte +StateID_EventMapIntro_Step4__13dLytMapMain_c = .bss:0x805B02C0; // type:object size:0x30 data:4byte +StateID_EventDungeonMapGet_Step1__13dLytMapMain_c = .bss:0x805B0300; // type:object size:0x30 data:4byte +StateID_EventDungeonMapGet_Step2__13dLytMapMain_c = .bss:0x805B0340; // type:object size:0x30 data:4byte +StateID_EventDungeonMapGet_Step3__13dLytMapMain_c = .bss:0x805B0380; // type:object size:0x30 data:4byte +StateID_EventFieldMapChange_Step1__13dLytMapMain_c = .bss:0x805B03C0; // type:object size:0x30 data:4byte +StateID_EventFieldMapChange_Step2__13dLytMapMain_c = .bss:0x805B0400; // type:object size:0x30 data:4byte +StateID_EventFieldMapChange_Step3__13dLytMapMain_c = .bss:0x805B0440; // type:object size:0x30 data:4byte +StateID_EventFieldMapChange_Step4__13dLytMapMain_c = .bss:0x805B0480; // type:object size:0x30 data:4byte +StateID_EventForestMapChange_Step1__13dLytMapMain_c = .bss:0x805B04C0; // type:object size:0x30 data:4byte +StateID_EventForestMapChange_Step2__13dLytMapMain_c = .bss:0x805B0500; // type:object size:0x30 data:4byte +StateID_EventForestMapChange_Step3__13dLytMapMain_c = .bss:0x805B0540; // type:object size:0x30 data:4byte +StateID_EventSignalAdd_Step1__13dLytMapMain_c = .bss:0x805B0580; // type:object size:0x30 data:4byte +StateID_EventSignalAdd_Step2__13dLytMapMain_c = .bss:0x805B05C0; // type:object size:0x30 data:4byte +StateID_EventSignalAdd_Step3__13dLytMapMain_c = .bss:0x805B0600; // type:object size:0x30 data:4byte +StateID_EventGoddessCube_Step1__13dLytMapMain_c = .bss:0x805B0640; // type:object size:0x30 data:4byte +StateID_EventGoddessCube_Step2__13dLytMapMain_c = .bss:0x805B0680; // type:object size:0x30 data:4byte +StateID_EventGoddessCube_Step3__13dLytMapMain_c = .bss:0x805B06C0; // type:object size:0x30 data:4byte +StateID_EventSaveObjMsgWindow__13dLytMapMain_c = .bss:0x805B0700; // type:object size:0x30 data:4byte +StateID_EventSaveObjSelect__13dLytMapMain_c = .bss:0x805B0740; // type:object size:0x30 data:4byte +StateID_EventSaveObjConfirmMsgWindow__13dLytMapMain_c = .bss:0x805B0780; // type:object size:0x30 data:4byte +StateID_EventSaveObjDecide__13dLytMapMain_c = .bss:0x805B07C0; // type:object size:0x30 data:4byte +lbl_805B07F0 = .bss:0x805B07F0; // type:object size:0x40 lbl_805B0830 = .bss:0x805B0830; // type:object size:0x10 StateID_Wait__10dLytNote_c = .bss:0x805B0840; // type:object size:0x30 data:4byte StateID_In__10dLytNote_c = .bss:0x805B0880; // type:object size:0x30 data:4byte diff --git a/include/d/lyt/d_lyt_map.h b/include/d/lyt/d_lyt_map.h index 2addd77e..807bd2e7 100644 --- a/include/d/lyt/d_lyt_map.h +++ b/include/d/lyt/d_lyt_map.h @@ -5,6 +5,7 @@ #include "d/lyt/d2d.h" #include "d/lyt/d_lyt_map_capture.h" #include "d/lyt/d_structd.h" +#include "egg/core/eggColorFader.h" #include "m/m2d.h" #include "m/m_vec.h" #include "s/s_State.hpp" @@ -75,6 +76,7 @@ class dLytMapFloorBtn_c { dLytMapFloorBtn_c() : mStateMgr(*this, sStateID::null), field_0x3C(0), field_0x40(0), field_0x44(0), field_0x48(0), field_0x4C(0), field_0x4D(0) {} + ~dLytMapFloorBtn_c() {} STATE_FUNC_DECLARE(dLytMapFloorBtn_c, Wait); STATE_FUNC_DECLARE(dLytMapFloorBtn_c, ToSelect); @@ -99,7 +101,7 @@ class dLytMapFloorBtn_c { class dLytMapFloorBtnMgr_c : public d2d::dSubPane { public: dLytMapFloorBtnMgr_c(void *arg) : field_0x008(arg), mStateMgr(*this, sStateID::null) {} - virtual ~dLytMapFloorBtnMgr_c(); + virtual ~dLytMapFloorBtnMgr_c() {} virtual bool build(d2d::ResAccIf_c *resAcc) override; virtual bool remove() override; @@ -213,6 +215,8 @@ class dLytMapMain_c : public m2d::Base_c { virtual void draw() override; virtual void dLytMapMain_vt0x10(); + void build(); + STATE_FUNC_DECLARE(dLytMapMain_c, Invisible); STATE_FUNC_DECLARE(dLytMapMain_c, RenderingWait); STATE_FUNC_DECLARE(dLytMapMain_c, In); @@ -292,6 +296,19 @@ class dLytMapMain_c : public m2d::Base_c { /* 0x8DC8 */ UNKWORD field_0x8DC8; }; +// Made up name +class dLytMapFader_c : public m2d::Base_c { +public: + dLytMapFader_c(); + virtual ~dLytMapFader_c(); + /* vt 0x0C */ virtual void draw() override; + + void calc(); + +private: + /* 0x10 */ EGG::ColorFader mFader; +}; + // Size 0x91FC, inline ctor at 802ccd88 class dLytMap_c { public: @@ -302,6 +319,12 @@ class dLytMap_c { sInstance = nullptr; } + static d2d::ResAccIf_c *getResAcc() { + return &sInstance->mResAcc; + } + + void build(); + private: /* 0x0004 */ d2d::ResAccIf_c mResAcc; /* 0x0374 */ dLytMapMain_c mMapMain; diff --git a/include/m/m2d.h b/include/m/m2d.h index a07cdc26..0ecd3f4c 100644 --- a/include/m/m2d.h +++ b/include/m/m2d.h @@ -198,6 +198,9 @@ class Simple_c : public Base_c { u32 field_0x94; }; + +void getAllocator(); + } // namespace m2d #endif diff --git a/include/sized_string.h b/include/sized_string.h index 9d06409b..c1aac98b 100644 --- a/include/sized_string.h +++ b/include/sized_string.h @@ -78,4 +78,35 @@ struct SizedString { } }; +// TODO this might be a shared template with SizedString but I'm +// not sure how to write the inline functions +template +struct SizedWString { + SizedWString() { + mChars[0] = '\0'; + } + + wchar_t mChars[Size]; + + operator wchar_t *() { + return mChars; + } + + operator const wchar_t *() const { + return mChars; + } + + int sprintf(const wchar_t *fmt, ...) { + va_list args; + va_start(args, fmt); + + int printed = vswprintf(this->mChars, Size, fmt, args); + if (printed != wcslen(this->mChars)) { + this->mChars[0] = '\0'; + } + va_end(list); + return printed; + } +}; + #endif diff --git a/src/d/lyt/d_lyt_map.cpp b/src/d/lyt/d_lyt_map.cpp index 4ad5ea59..f0029750 100644 --- a/src/d/lyt/d_lyt_map.cpp +++ b/src/d/lyt/d_lyt_map.cpp @@ -1,5 +1,75 @@ #include "d/lyt/d_lyt_map.h" +#include "egg/core/eggColorFader.h" +#include "m/m_video.h" +#include "sized_string.h" +#include "toBeSorted/arc_managers/layout_arc_manager.h" + +struct LytMapConfigMaybe { + LytMapConfigMaybe(); + virtual ~LytMapConfigMaybe(); + + /* 0x04 */ f32 field_0x04; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 field_0x0C; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ u8 field_0x18; + /* 0x19 */ u8 field_0x19; + /* 0x1A */ u8 field_0x1A; + /* 0x1B */ u8 field_0x1B; + /* 0x1C */ u8 field_0x1C; + /* 0x1D */ u8 field_0x1D; + /* 0x1E */ u8 field_0x1E; + /* 0x1F */ u8 field_0x1F; + /* 0x20 */ u8 field_0x20; + /* 0x21 */ u8 field_0x21; + /* 0x22 */ u8 field_0x22; + /* 0x23 */ u8 field_0x23; + /* 0x24 */ u8 field_0x24; + /* 0x25 */ u8 field_0x25; + /* 0x26 */ u8 field_0x26; + /* 0x27 */ u8 field_0x27; + /* 0x28 */ u8 field_0x28; + /* 0x29 */ u8 field_0x29; + /* 0x2A */ u8 field_0x2A; + /* 0x2B */ u8 field_0x2B; + /* 0x2C */ f32 field_0x2C; +}; + +LytMapConfigMaybe sLytMapConfig; + +LytMapConfigMaybe::LytMapConfigMaybe() { + field_0x04 = -10.0f; + field_0x10 = 14.0f; + field_0x14 = 32.0f; + field_0x18 = 0; + field_0x19 = 0xFF; + field_0x1A = 0xF; + field_0x1B = 0x12; + field_0x1C = 9; + field_0x2C = 0.0f; + field_0x1D = 0x2D; + field_0x1E = 0x2D; + field_0x1F = 0x1E; + field_0x20 = 0x17; + field_0x21 = 0x5A; + field_0x22 = 0x2D; + field_0x23 = 0x2D; + field_0x24 = 0x35; + field_0x25 = 0x2D; + field_0x26 = 0x5A; + field_0x27 = 0x2D; + field_0x28 = 0x5A; + field_0x29 = 0x5; + field_0x08 = 10.0f; + field_0x0C = 0.4f; + field_0x2A = 0x80; + field_0x2B = 10; +} + +LytMapConfigMaybe::~LytMapConfigMaybe() {} + STATE_DEFINE(dLytMapPinIcon_c, Wait); STATE_DEFINE(dLytMapPinIcon_c, ToSelect); STATE_DEFINE(dLytMapPinIcon_c, Select); @@ -23,7 +93,7 @@ STATE_DEFINE(dLytMapFloorBtn_c, DecideToSelectInDecide); STATE_DEFINE(dLytMapFloorBtnMgr_c, Invisible); STATE_DEFINE(dLytMapFloorBtnMgr_c, Wait); -nw4r::ut::Color sSomeColor(0xFF, 0xFF, 0xFF, 0xFF); +nw4r::ut::Color sMapFaderColor(0xFF, 0xFF, 0xFF, 0xFF); STATE_DEFINE(dLytMapPopupInfo_c, Invisible); STATE_DEFINE(dLytMapPopupInfo_c, In); @@ -88,6 +158,22 @@ STATE_DEFINE(dLytMapMain_c, EventSaveObjSelect); STATE_DEFINE(dLytMapMain_c, EventSaveObjConfirmMsgWindow); STATE_DEFINE(dLytMapMain_c, EventSaveObjDecide); +dLytMapFader_c::dLytMapFader_c() + : mFader( + 0.0f, 0.0f, mVideo::m_video->pRenderMode->fbWidth, mVideo::m_video->pRenderMode->efbHeight, sMapFaderColor, + EGG::ColorFader::STATUS_PREPARE_OUT + ) {} + +dLytMapFader_c::~dLytMapFader_c() {} + +void dLytMapFader_c::calc() { + mFader.calc(); +} + +void dLytMapFader_c::draw() { + mFader.draw(); +} + #pragma dont_inline on dLytMapMain_c::dLytMapMain_c() : mStateMgr(*this), mFloorBtnMgr(&field_0x8DC8) {} #pragma dont_inline reset @@ -96,4 +182,18 @@ dLytMapMain_c::~dLytMapMain_c() {} void dLytMapMain_c::draw() {} -dLytMapFloorBtnMgr_c::~dLytMapFloorBtnMgr_c() {} +extern "C" void fn_80016690(); +void dLytMap_c::build() { + fn_80016690(); + void *data = LayoutArcManager::sInstance->getLoadedData("Map2D"); + mResAcc.attach(data, ""); + mMapMain.build(); + m2d::getAllocator(); + mMapMain.setPriority(0x86); + // TODO there's another thing here at 0x91C0 +} + +void lytMapusesSizedWString() { + static SizedWString<0x20> sString; + sString.sprintf(L"%ld", 0); +} From 5379dcb2ad65179ef4e13465324290bbfe5aac8b Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 24 Nov 2024 13:02:38 +0100 Subject: [PATCH 3/5] State functions --- config/SOUE01/symbols.txt | 462 +++++++++++++++++++------------------- src/d/lyt/d_lyt_map.cpp | 308 +++++++++++++++++++++++++ 2 files changed, 539 insertions(+), 231 deletions(-) diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index c80be21a..bc43e7bd 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -7521,22 +7521,22 @@ fn_8012E780 = .text:0x8012E780; // type:function size:0x14 fn_8012E7A0 = .text:0x8012E7A0; // type:function size:0x24 fn_8012E7D0 = .text:0x8012E7D0; // type:function size:0x3C fn_8012E810 = .text:0x8012E810; // type:function size:0x24 -fn_8012E840 = .text:0x8012E840; // type:function size:0x14 -fn_8012E860 = .text:0x8012E860; // type:function size:0x58 +initializeState_Wait__16dLytMapPinIcon_cFv = .text:0x8012E840; // type:function size:0x14 +executeState_Wait__16dLytMapPinIcon_cFv = .text:0x8012E860; // type:function size:0x58 changeState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8012E8C0; // type:function size:0x10 -fn_8012E8D0 = .text:0x8012E8D0; // type:function size:0x4 -fn_8012E8E0 = .text:0x8012E8E0; // type:function size:0x48 -fn_8012E930 = .text:0x8012E930; // type:function size:0x18 -fn_8012E950 = .text:0x8012E950; // type:function size:0x10 -fn_8012E960 = .text:0x8012E960; // type:function size:0x4 -fn_8012E970 = .text:0x8012E970; // type:function size:0x12C -fn_8012EAA0 = .text:0x8012EAA0; // type:function size:0x4 -fn_8012EAB0 = .text:0x8012EAB0; // type:function size:0x4 -fn_8012EAC0 = .text:0x8012EAC0; // type:function size:0x18 -fn_8012EAE0 = .text:0x8012EAE0; // type:function size:0x10 -fn_8012EAF0 = .text:0x8012EAF0; // type:function size:0x4 -fn_8012EB00 = .text:0x8012EB00; // type:function size:0x18 -fn_8012EB20 = .text:0x8012EB20; // type:function size:0x4 +finalizeState_Wait__16dLytMapPinIcon_cFv = .text:0x8012E8D0; // type:function size:0x4 +initializeState_ToSelect__16dLytMapPinIcon_cFv = .text:0x8012E8E0; // type:function size:0x48 +executeState_ToSelect__16dLytMapPinIcon_cFv = .text:0x8012E930; // type:function size:0x18 +finalizeState_ToSelect__16dLytMapPinIcon_cFv = .text:0x8012E950; // type:function size:0x10 +initializeState_Select__16dLytMapPinIcon_cFv = .text:0x8012E960; // type:function size:0x4 +executeState_Select__16dLytMapPinIcon_cFv = .text:0x8012E970; // type:function size:0x12C +finalizeState_Select__16dLytMapPinIcon_cFv = .text:0x8012EAA0; // type:function size:0x4 +initializeState_ToUnselect__16dLytMapPinIcon_cFv = .text:0x8012EAB0; // type:function size:0x4 +executeState_ToUnselect__16dLytMapPinIcon_cFv = .text:0x8012EAC0; // type:function size:0x18 +finalizeState_ToUnselect__16dLytMapPinIcon_cFv = .text:0x8012EAE0; // type:function size:0x10 +initializeState_Remove__16dLytMapPinIcon_cFv = .text:0x8012EAF0; // type:function size:0x4 +executeState_Remove__16dLytMapPinIcon_cFv = .text:0x8012EB00; // type:function size:0x18 +finalizeState_Remove__16dLytMapPinIcon_cFv = .text:0x8012EB20; // type:function size:0x4 fn_8012EB30 = .text:0x8012EB30; // type:function size:0xF8 fn_8012EC30 = .text:0x8012EC30; // type:function size:0x80 fn_8012ECB0 = .text:0x8012ECB0; // type:function size:0x10C @@ -7553,17 +7553,17 @@ fn_8012F320 = .text:0x8012F320; // type:function size:0x60 fn_8012F380 = .text:0x8012F380; // type:function size:0xE4 executeState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012F470; // type:function size:0x10 fn_8012F480 = .text:0x8012F480; // type:function size:0x34 -fn_8012F4C0 = .text:0x8012F4C0; // type:function size:0x4 -fn_8012F4D0 = .text:0x8012F4D0; // type:function size:0xD8 +initializeState_Wait__25dLytMapPinIconAggregate_cFv = .text:0x8012F4C0; // type:function size:0x4 +executeState_Wait__25dLytMapPinIconAggregate_cFv = .text:0x8012F4D0; // type:function size:0xD8 getStateID__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8012F5B0; // type:function size:0x10 changeState__94sStateMgr_c<25dLytMapPinIconAggregate_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8012F5C0; // type:function size:0x10 -fn_8012F5D0 = .text:0x8012F5D0; // type:function size:0x4 -fn_8012F5E0 = .text:0x8012F5E0; // type:function size:0x4 -fn_8012F5F0 = .text:0x8012F5F0; // type:function size:0x168 -fn_8012F760 = .text:0x8012F760; // type:function size:0x4 -fn_8012F770 = .text:0x8012F770; // type:function size:0x4 -fn_8012F780 = .text:0x8012F780; // type:function size:0x24 -fn_8012F7B0 = .text:0x8012F7B0; // type:function size:0x4 +finalizeState_Wait__25dLytMapPinIconAggregate_cFv = .text:0x8012F5D0; // type:function size:0x4 +initializeState_Select__25dLytMapPinIconAggregate_cFv = .text:0x8012F5E0; // type:function size:0x4 +executeState_Select__25dLytMapPinIconAggregate_cFv = .text:0x8012F5F0; // type:function size:0x168 +finalizeState_Select__25dLytMapPinIconAggregate_cFv = .text:0x8012F760; // type:function size:0x4 +initializeState_Remove__25dLytMapPinIconAggregate_cFv = .text:0x8012F770; // type:function size:0x4 +executeState_Remove__25dLytMapPinIconAggregate_cFv = .text:0x8012F780; // type:function size:0x24 +finalizeState_Remove__25dLytMapPinIconAggregate_cFv = .text:0x8012F7B0; // type:function size:0x4 fn_8012F7C0 = .text:0x8012F7C0; // type:function size:0x94 fn_8012F860 = .text:0x8012F860; // type:function size:0x5C fn_8012F8C0 = .text:0x8012F8C0; // type:function size:0x4C @@ -7582,33 +7582,33 @@ fn_8012FC60 = .text:0x8012FC60; // type:function size:0x10 executeState__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012FC70; // type:function size:0x10 fn_8012FC80 = .text:0x8012FC80; // type:function size:0xB4 fn_8012FD40 = .text:0x8012FD40; // type:function size:0xAC -fn_8012FDF0 = .text:0x8012FDF0; // type:function size:0x4 -fn_8012FE00 = .text:0x8012FE00; // type:function size:0xA0 -fn_8012FEA0 = .text:0x8012FEA0; // type:function size:0x4 -fn_8012FEB0 = .text:0x8012FEB0; // type:function size:0x4 -fn_8012FEC0 = .text:0x8012FEC0; // type:function size:0x90 -fn_8012FF50 = .text:0x8012FF50; // type:function size:0x4 -fn_8012FF60 = .text:0x8012FF60; // type:function size:0x4 -fn_8012FF70 = .text:0x8012FF70; // type:function size:0x100 -fn_80130070 = .text:0x80130070; // type:function size:0x4 -fn_80130080 = .text:0x80130080; // type:function size:0x4 -fn_80130090 = .text:0x80130090; // type:function size:0x78 -fn_80130110 = .text:0x80130110; // type:function size:0x4 -fn_80130120 = .text:0x80130120; // type:function size:0x4 -fn_80130130 = .text:0x80130130; // type:function size:0x78 -fn_801301B0 = .text:0x801301B0; // type:function size:0x4 -fn_801301C0 = .text:0x801301C0; // type:function size:0x4 -fn_801301D0 = .text:0x801301D0; // type:function size:0x90 -fn_80130260 = .text:0x80130260; // type:function size:0x4 -fn_80130270 = .text:0x80130270; // type:function size:0x4 -fn_80130280 = .text:0x80130280; // type:function size:0x78 -fn_80130300 = .text:0x80130300; // type:function size:0x4 -fn_80130310 = .text:0x80130310; // type:function size:0x4 -fn_80130320 = .text:0x80130320; // type:function size:0x148 -fn_80130470 = .text:0x80130470; // type:function size:0x4 -fn_80130480 = .text:0x80130480; // type:function size:0x4 -fn_80130490 = .text:0x80130490; // type:function size:0x78 -fn_80130510 = .text:0x80130510; // type:function size:0x4 +initializeState_Wait__17dLytMapFloorBtn_cFv = .text:0x8012FDF0; // type:function size:0x4 +executeState_Wait__17dLytMapFloorBtn_cFv = .text:0x8012FE00; // type:function size:0xA0 +finalizeState_Wait__17dLytMapFloorBtn_cFv = .text:0x8012FEA0; // type:function size:0x4 +initializeState_ToSelect__17dLytMapFloorBtn_cFv = .text:0x8012FEB0; // type:function size:0x4 +executeState_ToSelect__17dLytMapFloorBtn_cFv = .text:0x8012FEC0; // type:function size:0x90 +finalizeState_ToSelect__17dLytMapFloorBtn_cFv = .text:0x8012FF50; // type:function size:0x4 +initializeState_Select__17dLytMapFloorBtn_cFv = .text:0x8012FF60; // type:function size:0x4 +executeState_Select__17dLytMapFloorBtn_cFv = .text:0x8012FF70; // type:function size:0x100 +finalizeState_Select__17dLytMapFloorBtn_cFv = .text:0x80130070; // type:function size:0x4 +initializeState_ToWait__17dLytMapFloorBtn_cFv = .text:0x80130080; // type:function size:0x4 +executeState_ToWait__17dLytMapFloorBtn_cFv = .text:0x80130090; // type:function size:0x78 +finalizeState_ToWait__17dLytMapFloorBtn_cFv = .text:0x80130110; // type:function size:0x4 +initializeState_ToSelectInDecide__17dLytMapFloorBtn_cFv = .text:0x80130120; // type:function size:0x4 +executeState_ToSelectInDecide__17dLytMapFloorBtn_cFv = .text:0x80130130; // type:function size:0x78 +finalizeState_ToSelectInDecide__17dLytMapFloorBtn_cFv = .text:0x801301B0; // type:function size:0x4 +initializeState_SelectInDecide__17dLytMapFloorBtn_cFv = .text:0x801301C0; // type:function size:0x4 +executeState_SelectInDecide__17dLytMapFloorBtn_cFv = .text:0x801301D0; // type:function size:0x90 +finalizeState_SelectInDecide__17dLytMapFloorBtn_cFv = .text:0x80130260; // type:function size:0x4 +initializeState_ToDecide__17dLytMapFloorBtn_cFv = .text:0x80130270; // type:function size:0x4 +executeState_ToDecide__17dLytMapFloorBtn_cFv = .text:0x80130280; // type:function size:0x78 +finalizeState_ToDecide__17dLytMapFloorBtn_cFv = .text:0x80130300; // type:function size:0x4 +initializeState_Decide__17dLytMapFloorBtn_cFv = .text:0x80130310; // type:function size:0x4 +executeState_Decide__17dLytMapFloorBtn_cFv = .text:0x80130320; // type:function size:0x148 +finalizeState_Decide__17dLytMapFloorBtn_cFv = .text:0x80130470; // type:function size:0x4 +initializeState_DecideToSelectInDecide__17dLytMapFloorBtn_cFv = .text:0x80130480; // type:function size:0x4 +executeState_DecideToSelectInDecide__17dLytMapFloorBtn_cFv = .text:0x80130490; // type:function size:0x78 +finalizeState_DecideToSelectInDecide__17dLytMapFloorBtn_cFv = .text:0x80130510; // type:function size:0x4 __dt__20dLytMapFloorBtnMgr_cFv = .text:0x80130520; // type:function size:0x17C __dt__17dLytMapFloorBtn_cFv = .text:0x801306A0; // type:function size:0xA8 __dt__56sFStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c>Fv = .text:0x80130750; // type:function size:0xA4 @@ -7635,52 +7635,52 @@ fn_80131590 = .text:0x80131590; // type:function size:0x1D8 getStateID__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80131770; // type:function size:0x10 fn_80131780 = .text:0x80131780; // type:function size:0x50 fn_801317D0 = .text:0x801317D0; // type:function size:0x27C -fn_80131A50 = .text:0x80131A50; // type:function size:0x4 -fn_80131A60 = .text:0x80131A60; // type:function size:0x4 -fn_80131A70 = .text:0x80131A70; // type:function size:0x4 -fn_80131A80 = .text:0x80131A80; // type:function size:0x4 -fn_80131A90 = .text:0x80131A90; // type:function size:0x4 -fn_80131AA0 = .text:0x80131AA0; // type:function size:0x4 +initializeState_Invisible__20dLytMapFloorBtnMgr_cFv = .text:0x80131A50; // type:function size:0x4 +executeState_Invisible__20dLytMapFloorBtnMgr_cFv = .text:0x80131A60; // type:function size:0x4 +finalizeState_Invisible__20dLytMapFloorBtnMgr_cFv = .text:0x80131A70; // type:function size:0x4 +initializeState_Wait__20dLytMapFloorBtnMgr_cFv = .text:0x80131A80; // type:function size:0x4 +executeState_Wait__20dLytMapFloorBtnMgr_cFv = .text:0x80131A90; // type:function size:0x4 +finalizeState_Wait__20dLytMapFloorBtnMgr_cFv = .text:0x80131AA0; // type:function size:0x4 __ct__14dLytMapFader_cFv = .text:0x80131AB0; // type:function size:0x98 __ct__Q23m2d6Base_cFv = .text:0x80131B50; // type:function size:0x18 __dt__Q23EGG10ColorFaderFv = .text:0x80131B70; // type:function size:0x40 __dt__14dLytMapFader_cFv = .text:0x80131BB0; // type:function size:0x58 calc__14dLytMapFader_cFv = .text:0x80131C10; // type:function size:0x10 draw__14dLytMapFader_cFv = .text:0x80131C20; // type:function size:0x10 -fn_80131C30 = .text:0x80131C30; // type:function size:0x4 -fn_80131C40 = .text:0x80131C40; // type:function size:0x4 -fn_80131C50 = .text:0x80131C50; // type:function size:0x4 -fn_80131C60 = .text:0x80131C60; // type:function size:0xC -fn_80131C70 = .text:0x80131C70; // type:function size:0x88 +initializeState_Invisible__18dLytMapPopupInfo_cFv = .text:0x80131C30; // type:function size:0x4 +executeState_Invisible__18dLytMapPopupInfo_cFv = .text:0x80131C40; // type:function size:0x4 +finalizeState_Invisible__18dLytMapPopupInfo_cFv = .text:0x80131C50; // type:function size:0x4 +initializeState_In__18dLytMapPopupInfo_cFv = .text:0x80131C60; // type:function size:0xC +executeState_In__18dLytMapPopupInfo_cFv = .text:0x80131C70; // type:function size:0x88 changeState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80131D00; // type:function size:0x10 -fn_80131D10 = .text:0x80131D10; // type:function size:0x4 -fn_80131D20 = .text:0x80131D20; // type:function size:0x4 -fn_80131D30 = .text:0x80131D30; // type:function size:0xB8 -fn_80131DF0 = .text:0x80131DF0; // type:function size:0x4 -fn_80131E00 = .text:0x80131E00; // type:function size:0x4 -fn_80131E10 = .text:0x80131E10; // type:function size:0xB8 -fn_80131ED0 = .text:0x80131ED0; // type:function size:0x4 -fn_80131EE0 = .text:0x80131EE0; // type:function size:0xC -fn_80131EF0 = .text:0x80131EF0; // type:function size:0x6C -fn_80131F60 = .text:0x80131F60; // type:function size:0x4 +finalizeState_In__18dLytMapPopupInfo_cFv = .text:0x80131D10; // type:function size:0x4 +initializeState_Wait__18dLytMapPopupInfo_cFv = .text:0x80131D20; // type:function size:0x4 +executeState_Wait__18dLytMapPopupInfo_cFv = .text:0x80131D30; // type:function size:0xB8 +finalizeState_Wait__18dLytMapPopupInfo_cFv = .text:0x80131DF0; // type:function size:0x4 +initializeState_WaitInvalid__18dLytMapPopupInfo_cFv = .text:0x80131E00; // type:function size:0x4 +executeState_WaitInvalid__18dLytMapPopupInfo_cFv = .text:0x80131E10; // type:function size:0xB8 +finalizeState_WaitInvalid__18dLytMapPopupInfo_cFv = .text:0x80131ED0; // type:function size:0x4 +initializeState_Out__18dLytMapPopupInfo_cFv = .text:0x80131EE0; // type:function size:0xC +executeState_Out__18dLytMapPopupInfo_cFv = .text:0x80131EF0; // type:function size:0x6C +finalizeState_Out__18dLytMapPopupInfo_cFv = .text:0x80131F60; // type:function size:0x4 fn_80131F70 = .text:0x80131F70; // type:function size:0xB0 fn_80132020 = .text:0x80132020; // type:function size:0x4C fn_80132070 = .text:0x80132070; // type:function size:0x94 executeState__87sStateMgr_c<18dLytMapPopupInfo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80132110; // type:function size:0x10 fn_80132120 = .text:0x80132120; // type:function size:0x14 -fn_80132140 = .text:0x80132140; // type:function size:0x4 -fn_80132150 = .text:0x80132150; // type:function size:0x28 +initializeState_Invisible__24dLytMapSavePopupAction_cFv = .text:0x80132140; // type:function size:0x4 +executeState_Invisible__24dLytMapSavePopupAction_cFv = .text:0x80132150; // type:function size:0x28 changeState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80132180; // type:function size:0x10 -fn_80132190 = .text:0x80132190; // type:function size:0x4 -fn_801321A0 = .text:0x801321A0; // type:function size:0x7C -fn_80132220 = .text:0x80132220; // type:function size:0xC4 -fn_801322F0 = .text:0x801322F0; // type:function size:0x4 -fn_80132300 = .text:0x80132300; // type:function size:0x4 -fn_80132310 = .text:0x80132310; // type:function size:0x28 -fn_80132340 = .text:0x80132340; // type:function size:0x4 -fn_80132350 = .text:0x80132350; // type:function size:0x7C -fn_801323D0 = .text:0x801323D0; // type:function size:0xB4 -fn_80132490 = .text:0x80132490; // type:function size:0x4 +finalizeState_Invisible__24dLytMapSavePopupAction_cFv = .text:0x80132190; // type:function size:0x4 +initializeState_In__24dLytMapSavePopupAction_cFv = .text:0x801321A0; // type:function size:0x7C +executeState_In__24dLytMapSavePopupAction_cFv = .text:0x80132220; // type:function size:0xC4 +finalizeState_In__24dLytMapSavePopupAction_cFv = .text:0x801322F0; // type:function size:0x4 +initializeState_Wait__24dLytMapSavePopupAction_cFv = .text:0x80132300; // type:function size:0x4 +executeState_Wait__24dLytMapSavePopupAction_cFv = .text:0x80132310; // type:function size:0x28 +finalizeState_Wait__24dLytMapSavePopupAction_cFv = .text:0x80132340; // type:function size:0x4 +initializeState_Out__24dLytMapSavePopupAction_cFv = .text:0x80132350; // type:function size:0x7C +executeState_Out__24dLytMapSavePopupAction_cFv = .text:0x801323D0; // type:function size:0xB4 +finalizeState_Out__24dLytMapSavePopupAction_cFv = .text:0x80132490; // type:function size:0x4 fn_801324A0 = .text:0x801324A0; // type:function size:0x10 executeState__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801324B0; // type:function size:0x10 fn_801324C0 = .text:0x801324C0; // type:function size:0x10 @@ -7693,19 +7693,19 @@ getStateID__93sStateMgr_c<24dLytMapSavePopupAction_c,20sStateMethodUsr_FI_c,12sF fn_80132A40 = .text:0x80132A40; // type:function size:0xC fn_80132A50 = .text:0x80132A50; // type:function size:0xA4 fn_80132B00 = .text:0x80132B00; // type:function size:0x10 -fn_80132B10 = .text:0x80132B10; // type:function size:0x4 -fn_80132B20 = .text:0x80132B20; // type:function size:0x4 -fn_80132B30 = .text:0x80132B30; // type:function size:0x4 -fn_80132B40 = .text:0x80132B40; // type:function size:0x9C -fn_80132BE0 = .text:0x80132BE0; // type:function size:0x94 +initializeState_Invisible__20dLytMapSaveCaption_cFv = .text:0x80132B10; // type:function size:0x4 +executeState_Invisible__20dLytMapSaveCaption_cFv = .text:0x80132B20; // type:function size:0x4 +finalizeState_Invisible__20dLytMapSaveCaption_cFv = .text:0x80132B30; // type:function size:0x4 +initializeState_In__20dLytMapSaveCaption_cFv = .text:0x80132B40; // type:function size:0x9C +executeState_In__20dLytMapSaveCaption_cFv = .text:0x80132BE0; // type:function size:0x94 changeState__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80132C80; // type:function size:0x10 -fn_80132C90 = .text:0x80132C90; // type:function size:0x4 -fn_80132CA0 = .text:0x80132CA0; // type:function size:0x4 -fn_80132CB0 = .text:0x80132CB0; // type:function size:0x4 -fn_80132CC0 = .text:0x80132CC0; // type:function size:0x4 -fn_80132CD0 = .text:0x80132CD0; // type:function size:0x48 -fn_80132D20 = .text:0x80132D20; // type:function size:0x90 -fn_80132DB0 = .text:0x80132DB0; // type:function size:0x4 +finalizeState_In__20dLytMapSaveCaption_cFv = .text:0x80132C90; // type:function size:0x4 +initializeState_Wait__20dLytMapSaveCaption_cFv = .text:0x80132CA0; // type:function size:0x4 +executeState_Wait__20dLytMapSaveCaption_cFv = .text:0x80132CB0; // type:function size:0x4 +finalizeState_Wait__20dLytMapSaveCaption_cFv = .text:0x80132CC0; // type:function size:0x4 +initializeState_Out__20dLytMapSaveCaption_cFv = .text:0x80132CD0; // type:function size:0x48 +executeState_Out__20dLytMapSaveCaption_cFv = .text:0x80132D20; // type:function size:0x90 +finalizeState_Out__20dLytMapSaveCaption_cFv = .text:0x80132DB0; // type:function size:0x4 fn_80132DC0 = .text:0x80132DC0; // type:function size:0xB0 fn_80132E70 = .text:0x80132E70; // type:function size:0x4C fn_80132EC0 = .text:0x80132EC0; // type:function size:0xA0 @@ -7714,22 +7714,22 @@ fn_80132F70 = .text:0x80132F70; // type:function size:0x6C getStateID__89sStateMgr_c<20dLytMapSaveCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80132FE0; // type:function size:0x10 fn_80132FF0 = .text:0x80132FF0; // type:function size:0xA0 fn_80133090 = .text:0x80133090; // type:function size:0x19C -fn_80133230 = .text:0x80133230; // type:function size:0x4 -fn_80133240 = .text:0x80133240; // type:function size:0x78 +initializeState_Wait__16dLytMapSaveObj_cFv = .text:0x80133230; // type:function size:0x4 +executeState_Wait__16dLytMapSaveObj_cFv = .text:0x80133240; // type:function size:0x78 changeState__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x801332C0; // type:function size:0x10 -fn_801332D0 = .text:0x801332D0; // type:function size:0x4 -fn_801332E0 = .text:0x801332E0; // type:function size:0x4 -fn_801332F0 = .text:0x801332F0; // type:function size:0xC0 -fn_801333B0 = .text:0x801333B0; // type:function size:0x4 -fn_801333C0 = .text:0x801333C0; // type:function size:0x4 -fn_801333D0 = .text:0x801333D0; // type:function size:0xE4 -fn_801334C0 = .text:0x801334C0; // type:function size:0x4 -fn_801334D0 = .text:0x801334D0; // type:function size:0x4 -fn_801334E0 = .text:0x801334E0; // type:function size:0x8C -fn_80133570 = .text:0x80133570; // type:function size:0x4 -fn_80133580 = .text:0x80133580; // type:function size:0x4 -fn_80133590 = .text:0x80133590; // type:function size:0x90 -fn_80133620 = .text:0x80133620; // type:function size:0x4 +finalizeState_Wait__16dLytMapSaveObj_cFv = .text:0x801332D0; // type:function size:0x4 +initializeState_ToSelect__16dLytMapSaveObj_cFv = .text:0x801332E0; // type:function size:0x4 +executeState_ToSelect__16dLytMapSaveObj_cFv = .text:0x801332F0; // type:function size:0xC0 +finalizeState_ToSelect__16dLytMapSaveObj_cFv = .text:0x801333B0; // type:function size:0x4 +initializeState_Select__16dLytMapSaveObj_cFv = .text:0x801333C0; // type:function size:0x4 +executeState_Select__16dLytMapSaveObj_cFv = .text:0x801333D0; // type:function size:0xE4 +finalizeState_Select__16dLytMapSaveObj_cFv = .text:0x801334C0; // type:function size:0x4 +initializeState_ToWait__16dLytMapSaveObj_cFv = .text:0x801334D0; // type:function size:0x4 +executeState_ToWait__16dLytMapSaveObj_cFv = .text:0x801334E0; // type:function size:0x8C +finalizeState_ToWait__16dLytMapSaveObj_cFv = .text:0x80133570; // type:function size:0x4 +initializeState_Decide__16dLytMapSaveObj_cFv = .text:0x80133580; // type:function size:0x4 +executeState_Decide__16dLytMapSaveObj_cFv = .text:0x80133590; // type:function size:0x90 +finalizeState_Decide__16dLytMapSaveObj_cFv = .text:0x80133620; // type:function size:0x4 fn_80133630 = .text:0x80133630; // type:function size:0x20 fn_80133650 = .text:0x80133650; // type:function size:0xC fn_80133660 = .text:0x80133660; // type:function size:0xB0 @@ -7850,148 +7850,148 @@ fn_8013AC10 = .text:0x8013AC10; // type:function size:0x138 fn_8013AD50 = .text:0x8013AD50; // type:function size:0x370 fn_8013B0C0 = .text:0x8013B0C0; // type:function size:0x28C fn_8013B350 = .text:0x8013B350; // type:function size:0x10 -fn_8013B360 = .text:0x8013B360; // type:function size:0x4 -fn_8013B370 = .text:0x8013B370; // type:function size:0x4 -fn_8013B380 = .text:0x8013B380; // type:function size:0x4 -fn_8013B390 = .text:0x8013B390; // type:function size:0xC0 -fn_8013B450 = .text:0x8013B450; // type:function size:0x64 -fn_8013B4C0 = .text:0x8013B4C0; // type:function size:0x4 +initializeState_Invisible__13dLytMapMain_cFv = .text:0x8013B360; // type:function size:0x4 +executeState_Invisible__13dLytMapMain_cFv = .text:0x8013B370; // type:function size:0x4 +finalizeState_Invisible__13dLytMapMain_cFv = .text:0x8013B380; // type:function size:0x4 +initializeState_RenderingWait__13dLytMapMain_cFv = .text:0x8013B390; // type:function size:0xC0 +executeState_RenderingWait__13dLytMapMain_cFv = .text:0x8013B450; // type:function size:0x64 +finalizeState_RenderingWait__13dLytMapMain_cFv = .text:0x8013B4C0; // type:function size:0x4 fn_8013B4D0 = .text:0x8013B4D0; // type:function size:0xD20 -fn_8013C1F0 = .text:0x8013C1F0; // type:function size:0xF4 -fn_8013C2F0 = .text:0x8013C2F0; // type:function size:0x380 -fn_8013C670 = .text:0x8013C670; // type:function size:0x40 +initializeState_In__13dLytMapMain_cFv = .text:0x8013C1F0; // type:function size:0xF4 +executeState_In__13dLytMapMain_cFv = .text:0x8013C2F0; // type:function size:0x380 +finalizeState_In__13dLytMapMain_cFv = .text:0x8013C670; // type:function size:0x40 fn_8013C6B0 = .text:0x8013C6B0; // type:function size:0xA8 fn_8013C760 = .text:0x8013C760; // type:function size:0x100 fn_8013C860 = .text:0x8013C860; // type:function size:0x1C fn_8013C880 = .text:0x8013C880; // type:function size:0x64 fn_8013C8F0 = .text:0x8013C8F0; // type:function size:0x644 fn_8013CF40 = .text:0x8013CF40; // type:function size:0x54C -fn_8013D490 = .text:0x8013D490; // type:function size:0x4 -fn_8013D4A0 = .text:0x8013D4A0; // type:function size:0x65C -fn_8013DB00 = .text:0x8013DB00; // type:function size:0x10 -fn_8013DB10 = .text:0x8013DB10; // type:function size:0x110 -fn_8013DC20 = .text:0x8013DC20; // type:function size:0x120 -fn_8013DD40 = .text:0x8013DD40; // type:function size:0x4 -fn_8013DD50 = .text:0x8013DD50; // type:function size:0xC -fn_8013DD60 = .text:0x8013DD60; // type:function size:0x58 -fn_8013DDC0 = .text:0x8013DDC0; // type:function size:0x4 -fn_8013DDD0 = .text:0x8013DDD0; // type:function size:0x17C -fn_8013DF50 = .text:0x8013DF50; // type:function size:0x208 -fn_8013E160 = .text:0x8013E160; // type:function size:0x4 -fn_8013E170 = .text:0x8013E170; // type:function size:0x418 -fn_8013E590 = .text:0x8013E590; // type:function size:0x660 -fn_8013EBF0 = .text:0x8013EBF0; // type:function size:0x4 -fn_8013EC00 = .text:0x8013EC00; // type:function size:0x180 -fn_8013ED80 = .text:0x8013ED80; // type:function size:0x514 -fn_8013F2A0 = .text:0x8013F2A0; // type:function size:0x4 -fn_8013F2B0 = .text:0x8013F2B0; // type:function size:0x594 -fn_8013F850 = .text:0x8013F850; // type:function size:0x2CC -fn_8013FB20 = .text:0x8013FB20; // type:function size:0x50 +initializeState_Active__13dLytMapMain_cFv = .text:0x8013D490; // type:function size:0x4 +executeState_Active__13dLytMapMain_cFv = .text:0x8013D4A0; // type:function size:0x65C +finalizeState_Active__13dLytMapMain_cFv = .text:0x8013DB00; // type:function size:0x10 +initializeState_Out__13dLytMapMain_cFv = .text:0x8013DB10; // type:function size:0x110 +executeState_Out__13dLytMapMain_cFv = .text:0x8013DC20; // type:function size:0x120 +finalizeState_Out__13dLytMapMain_cFv = .text:0x8013DD40; // type:function size:0x4 +initializeState_FloorChange__13dLytMapMain_cFv = .text:0x8013DD50; // type:function size:0xC +executeState_FloorChange__13dLytMapMain_cFv = .text:0x8013DD60; // type:function size:0x58 +finalizeState_FloorChange__13dLytMapMain_cFv = .text:0x8013DDC0; // type:function size:0x4 +initializeState_ChgMapUpDirection__13dLytMapMain_cFv = .text:0x8013DDD0; // type:function size:0x17C +executeState_ChgMapUpDirection__13dLytMapMain_cFv = .text:0x8013DF50; // type:function size:0x208 +finalizeState_ChgMapUpDirection__13dLytMapMain_cFv = .text:0x8013E160; // type:function size:0x4 +initializeState_ChgDispAreaMode_MapRot__13dLytMapMain_cFv = .text:0x8013E170; // type:function size:0x418 +executeState_ChgDispAreaMode_MapRot__13dLytMapMain_cFv = .text:0x8013E590; // type:function size:0x660 +finalizeState_ChgDispAreaMode_MapRot__13dLytMapMain_cFv = .text:0x8013EBF0; // type:function size:0x4 +initializeState_ChgDispAreaMode_Map__13dLytMapMain_cFv = .text:0x8013EC00; // type:function size:0x180 +executeState_ChgDispAreaMode_Map__13dLytMapMain_cFv = .text:0x8013ED80; // type:function size:0x514 +finalizeState_ChgDispAreaMode_Map__13dLytMapMain_cFv = .text:0x8013F2A0; // type:function size:0x4 +initializeState_ChgDispAreaMode_WA__13dLytMapMain_cFv = .text:0x8013F2B0; // type:function size:0x594 +executeState_ChgDispAreaMode_WA__13dLytMapMain_cFv = .text:0x8013F850; // type:function size:0x2CC +finalizeState_ChgDispAreaMode_WA__13dLytMapMain_cFv = .text:0x8013FB20; // type:function size:0x50 fn_8013FB70 = .text:0x8013FB70; // type:function size:0xC0 -fn_8013FC30 = .text:0x8013FC30; // type:function size:0x3C0 -fn_8013FFF0 = .text:0x8013FFF0; // type:function size:0x388 -fn_80140380 = .text:0x80140380; // type:function size:0x4 -fn_80140390 = .text:0x80140390; // type:function size:0x88 -fn_80140420 = .text:0x80140420; // type:function size:0x14C -fn_80140570 = .text:0x80140570; // type:function size:0x4 -fn_80140580 = .text:0x80140580; // type:function size:0x34 -fn_801405C0 = .text:0x801405C0; // type:function size:0xF4 -fn_801406C0 = .text:0x801406C0; // type:function size:0x4 -fn_801406D0 = .text:0x801406D0; // type:function size:0x20 -fn_801406F0 = .text:0x801406F0; // type:function size:0x3C +initializeState_ChgDispAreaMode_CsrRot__13dLytMapMain_cFv = .text:0x8013FC30; // type:function size:0x3C0 +executeState_ChgDispAreaMode_CsrRot__13dLytMapMain_cFv = .text:0x8013FFF0; // type:function size:0x388 +finalizeState_ChgDispAreaMode_CsrRot__13dLytMapMain_cFv = .text:0x80140380; // type:function size:0x4 +initializeState_ResetPos__13dLytMapMain_cFv = .text:0x80140390; // type:function size:0x88 +executeState_ResetPos__13dLytMapMain_cFv = .text:0x80140420; // type:function size:0x14C +finalizeState_ResetPos__13dLytMapMain_cFv = .text:0x80140570; // type:function size:0x4 +initializeState_ResetPosWithFloorChange__13dLytMapMain_cFv = .text:0x80140580; // type:function size:0x34 +executeState_ResetPosWithFloorChange__13dLytMapMain_cFv = .text:0x801405C0; // type:function size:0xF4 +finalizeState_ResetPosWithFloorChange__13dLytMapMain_cFv = .text:0x801406C0; // type:function size:0x4 +initializeState_EventSwBankSmall_Step1__13dLytMapMain_cFv = .text:0x801406D0; // type:function size:0x20 +executeState_EventSwBankSmall_Step1__13dLytMapMain_cFv = .text:0x801406F0; // type:function size:0x3C fn_8014072C = .text:0x8014072C; // type:function size:0x4 -fn_80140730 = .text:0x80140730; // type:function size:0x4 -fn_80140740 = .text:0x80140740; // type:function size:0x38 -fn_80140780 = .text:0x80140780; // type:function size:0x34 +finalizeState_EventSwBankSmall_Step1__13dLytMapMain_cFv = .text:0x80140730; // type:function size:0x4 +initializeState_EventSwBankSmall_Step2__13dLytMapMain_cFv = .text:0x80140740; // type:function size:0x38 +executeState_EventSwBankSmall_Step2__13dLytMapMain_cFv = .text:0x80140780; // type:function size:0x34 fn_801407B4 = .text:0x801407B4; // type:function size:0x4 -fn_801407C0 = .text:0x801407C0; // type:function size:0x4 -fn_801407D0 = .text:0x801407D0; // type:function size:0x18 -fn_801407F0 = .text:0x801407F0; // type:function size:0x28 -fn_80140820 = .text:0x80140820; // type:function size:0x4 -fn_80140830 = .text:0x80140830; // type:function size:0x18 -fn_80140850 = .text:0x80140850; // type:function size:0x68 -fn_801408C0 = .text:0x801408C0; // type:function size:0x4 -fn_801408D0 = .text:0x801408D0; // type:function size:0x9C -fn_80140970 = .text:0x80140970; // type:function size:0xE0 -fn_80140A50 = .text:0x80140A50; // type:function size:0x4 -fn_80140A60 = .text:0x80140A60; // type:function size:0x10 -fn_80140A70 = .text:0x80140A70; // type:function size:0xA0 -fn_80140B10 = .text:0x80140B10; // type:function size:0x4 -fn_80140B20 = .text:0x80140B20; // type:function size:0x18 -fn_80140B40 = .text:0x80140B40; // type:function size:0x38 -fn_80140B80 = .text:0x80140B80; // type:function size:0x4 +finalizeState_EventSwBankSmall_Step2__13dLytMapMain_cFv = .text:0x801407C0; // type:function size:0x4 +initializeState_EventSwBankSmall_Step3__13dLytMapMain_cFv = .text:0x801407D0; // type:function size:0x18 +executeState_EventSwBankSmall_Step3__13dLytMapMain_cFv = .text:0x801407F0; // type:function size:0x28 +finalizeState_EventSwBankSmall_Step3__13dLytMapMain_cFv = .text:0x80140820; // type:function size:0x4 +initializeState_EventMapIntro_Step1__13dLytMapMain_cFv = .text:0x80140830; // type:function size:0x18 +executeState_EventMapIntro_Step1__13dLytMapMain_cFv = .text:0x80140850; // type:function size:0x68 +finalizeState_EventMapIntro_Step1__13dLytMapMain_cFv = .text:0x801408C0; // type:function size:0x4 +initializeState_EventMapIntro_Step2__13dLytMapMain_cFv = .text:0x801408D0; // type:function size:0x9C +executeState_EventMapIntro_Step2__13dLytMapMain_cFv = .text:0x80140970; // type:function size:0xE0 +finalizeState_EventMapIntro_Step2__13dLytMapMain_cFv = .text:0x80140A50; // type:function size:0x4 +initializeState_EventMapIntro_Step3__13dLytMapMain_cFv = .text:0x80140A60; // type:function size:0x10 +executeState_EventMapIntro_Step3__13dLytMapMain_cFv = .text:0x80140A70; // type:function size:0xA0 +finalizeState_EventMapIntro_Step3__13dLytMapMain_cFv = .text:0x80140B10; // type:function size:0x4 +initializeState_EventMapIntro_Step4__13dLytMapMain_cFv = .text:0x80140B20; // type:function size:0x18 +executeState_EventMapIntro_Step4__13dLytMapMain_cFv = .text:0x80140B40; // type:function size:0x38 +finalizeState_EventMapIntro_Step4__13dLytMapMain_cFv = .text:0x80140B80; // type:function size:0x4 fn_80140B90 = .text:0x80140B90; // type:function size:0xBC -fn_80140C50 = .text:0x80140C50; // type:function size:0x18 -fn_80140C70 = .text:0x80140C70; // type:function size:0x34 +initializeState_EventDungeonMapGet_Step1__13dLytMapMain_cFv = .text:0x80140C50; // type:function size:0x18 +executeState_EventDungeonMapGet_Step1__13dLytMapMain_cFv = .text:0x80140C70; // type:function size:0x34 fn_80140CA4 = .text:0x80140CA4; // type:function size:0x4 -fn_80140CB0 = .text:0x80140CB0; // type:function size:0x4 -fn_80140CC0 = .text:0x80140CC0; // type:function size:0x68 -fn_80140D30 = .text:0x80140D30; // type:function size:0x12C -fn_80140E60 = .text:0x80140E60; // type:function size:0x4 -fn_80140E70 = .text:0x80140E70; // type:function size:0x18 -fn_80140E90 = .text:0x80140E90; // type:function size:0x28 -fn_80140EC0 = .text:0x80140EC0; // type:function size:0x4 -fn_80140ED0 = .text:0x80140ED0; // type:function size:0x18 -fn_80140EF0 = .text:0x80140EF0; // type:function size:0x34 +finalizeState_EventDungeonMapGet_Step1__13dLytMapMain_cFv = .text:0x80140CB0; // type:function size:0x4 +initializeState_EventDungeonMapGet_Step2__13dLytMapMain_cFv = .text:0x80140CC0; // type:function size:0x68 +executeState_EventDungeonMapGet_Step2__13dLytMapMain_cFv = .text:0x80140D30; // type:function size:0x12C +finalizeState_EventDungeonMapGet_Step2__13dLytMapMain_cFv = .text:0x80140E60; // type:function size:0x4 +initializeState_EventDungeonMapGet_Step3__13dLytMapMain_cFv = .text:0x80140E70; // type:function size:0x18 +executeState_EventDungeonMapGet_Step3__13dLytMapMain_cFv = .text:0x80140E90; // type:function size:0x28 +finalizeState_EventDungeonMapGet_Step3__13dLytMapMain_cFv = .text:0x80140EC0; // type:function size:0x4 +initializeState_EventFieldMapChange_Step1__13dLytMapMain_cFv = .text:0x80140ED0; // type:function size:0x18 +executeState_EventFieldMapChange_Step1__13dLytMapMain_cFv = .text:0x80140EF0; // type:function size:0x34 fn_80140F24 = .text:0x80140F24; // type:function size:0x4 -fn_80140F30 = .text:0x80140F30; // type:function size:0x4 -fn_80140F40 = .text:0x80140F40; // type:function size:0x28 -fn_80140F70 = .text:0x80140F70; // type:function size:0xBC -fn_80141030 = .text:0x80141030; // type:function size:0x4 -fn_80141040 = .text:0x80141040; // type:function size:0x18 -fn_80141060 = .text:0x80141060; // type:function size:0x58 +finalizeState_EventFieldMapChange_Step1__13dLytMapMain_cFv = .text:0x80140F30; // type:function size:0x4 +initializeState_EventFieldMapChange_Step2__13dLytMapMain_cFv = .text:0x80140F40; // type:function size:0x28 +executeState_EventFieldMapChange_Step2__13dLytMapMain_cFv = .text:0x80140F70; // type:function size:0xBC +finalizeState_EventFieldMapChange_Step2__13dLytMapMain_cFv = .text:0x80141030; // type:function size:0x4 +initializeState_EventFieldMapChange_Step3__13dLytMapMain_cFv = .text:0x80141040; // type:function size:0x18 +executeState_EventFieldMapChange_Step3__13dLytMapMain_cFv = .text:0x80141060; // type:function size:0x58 fn_801410B8 = .text:0x801410B8; // type:function size:0x4 -fn_801410C0 = .text:0x801410C0; // type:function size:0x4 -fn_801410D0 = .text:0x801410D0; // type:function size:0x4 -fn_801410E0 = .text:0x801410E0; // type:function size:0x4 -fn_801410F0 = .text:0x801410F0; // type:function size:0x4 -fn_80141100 = .text:0x80141100; // type:function size:0x18 -fn_80141120 = .text:0x80141120; // type:function size:0x34 +finalizeState_EventFieldMapChange_Step3__13dLytMapMain_cFv = .text:0x801410C0; // type:function size:0x4 +initializeState_EventFieldMapChange_Step4__13dLytMapMain_cFv = .text:0x801410D0; // type:function size:0x4 +executeState_EventFieldMapChange_Step4__13dLytMapMain_cFv = .text:0x801410E0; // type:function size:0x4 +finalizeState_EventFieldMapChange_Step4__13dLytMapMain_cFv = .text:0x801410F0; // type:function size:0x4 +initializeState_EventForestMapChange_Step1__13dLytMapMain_cFv = .text:0x80141100; // type:function size:0x18 +executeState_EventForestMapChange_Step1__13dLytMapMain_cFv = .text:0x80141120; // type:function size:0x34 fn_80141154 = .text:0x80141154; // type:function size:0x4 -fn_80141160 = .text:0x80141160; // type:function size:0x4 -fn_80141170 = .text:0x80141170; // type:function size:0x6C -fn_801411E0 = .text:0x801411E0; // type:function size:0x12C -fn_80141310 = .text:0x80141310; // type:function size:0x4 -fn_80141320 = .text:0x80141320; // type:function size:0x18 -fn_80141340 = .text:0x80141340; // type:function size:0x28 -fn_80141370 = .text:0x80141370; // type:function size:0x4 -fn_80141380 = .text:0x80141380; // type:function size:0x4 -fn_80141390 = .text:0x80141390; // type:function size:0x58 -fn_801413F0 = .text:0x801413F0; // type:function size:0x4 -fn_80141400 = .text:0x80141400; // type:function size:0x18 -fn_80141420 = .text:0x80141420; // type:function size:0x90 -fn_801414B0 = .text:0x801414B0; // type:function size:0x4 -fn_801414C0 = .text:0x801414C0; // type:function size:0x18 -fn_801414E0 = .text:0x801414E0; // type:function size:0x34 +finalizeState_EventForestMapChange_Step1__13dLytMapMain_cFv = .text:0x80141160; // type:function size:0x4 +initializeState_EventForestMapChange_Step2__13dLytMapMain_cFv = .text:0x80141170; // type:function size:0x6C +executeState_EventForestMapChange_Step2__13dLytMapMain_cFv = .text:0x801411E0; // type:function size:0x12C +finalizeState_EventForestMapChange_Step2__13dLytMapMain_cFv = .text:0x80141310; // type:function size:0x4 +initializeState_EventForestMapChange_Step3__13dLytMapMain_cFv = .text:0x80141320; // type:function size:0x18 +executeState_EventForestMapChange_Step3__13dLytMapMain_cFv = .text:0x80141340; // type:function size:0x28 +finalizeState_EventForestMapChange_Step3__13dLytMapMain_cFv = .text:0x80141370; // type:function size:0x4 +initializeState_EventSignalAdd_Step1__13dLytMapMain_cFv = .text:0x80141380; // type:function size:0x4 +executeState_EventSignalAdd_Step1__13dLytMapMain_cFv = .text:0x80141390; // type:function size:0x58 +finalizeState_EventSignalAdd_Step1__13dLytMapMain_cFv = .text:0x801413F0; // type:function size:0x4 +initializeState_EventSignalAdd_Step2__13dLytMapMain_cFv = .text:0x80141400; // type:function size:0x18 +executeState_EventSignalAdd_Step2__13dLytMapMain_cFv = .text:0x80141420; // type:function size:0x90 +finalizeState_EventSignalAdd_Step2__13dLytMapMain_cFv = .text:0x801414B0; // type:function size:0x4 +initializeState_EventSignalAdd_Step3__13dLytMapMain_cFv = .text:0x801414C0; // type:function size:0x18 +executeState_EventSignalAdd_Step3__13dLytMapMain_cFv = .text:0x801414E0; // type:function size:0x34 fn_80141514 = .text:0x80141514; // type:function size:0x4 -fn_80141520 = .text:0x80141520; // type:function size:0x4 +finalizeState_EventSignalAdd_Step3__13dLytMapMain_cFv = .text:0x80141520; // type:function size:0x4 fn_80141530 = .text:0x80141530; // type:function size:0x48 findGoddessChestWithStoryflag = .text:0x80141580; // type:function size:0x94 -fn_80141620 = .text:0x80141620; // type:function size:0x10 -fn_80141630 = .text:0x80141630; // type:function size:0x44 -fn_80141680 = .text:0x80141680; // type:function size:0x10 -fn_80141690 = .text:0x80141690; // type:function size:0x3E8 -fn_80141A80 = .text:0x80141A80; // type:function size:0x3B8 -fn_80141E40 = .text:0x80141E40; // type:function size:0x4 -fn_80141E50 = .text:0x80141E50; // type:function size:0x4 -fn_80141E60 = .text:0x80141E60; // type:function size:0x18 -fn_80141E80 = .text:0x80141E80; // type:function size:0x4 +initializeState_EventGoddessCube_Step1__13dLytMapMain_cFv = .text:0x80141620; // type:function size:0x10 +executeState_EventGoddessCube_Step1__13dLytMapMain_cFv = .text:0x80141630; // type:function size:0x44 +finalizeState_EventGoddessCube_Step1__13dLytMapMain_cFv = .text:0x80141680; // type:function size:0x10 +initializeState_EventGoddessCube_Step2__13dLytMapMain_cFv = .text:0x80141690; // type:function size:0x3E8 +executeState_EventGoddessCube_Step2__13dLytMapMain_cFv = .text:0x80141A80; // type:function size:0x3B8 +finalizeState_EventGoddessCube_Step2__13dLytMapMain_cFv = .text:0x80141E40; // type:function size:0x4 +initializeState_EventGoddessCube_Step3__13dLytMapMain_cFv = .text:0x80141E50; // type:function size:0x4 +executeState_EventGoddessCube_Step3__13dLytMapMain_cFv = .text:0x80141E60; // type:function size:0x18 +finalizeState_EventGoddessCube_Step3__13dLytMapMain_cFv = .text:0x80141E80; // type:function size:0x4 checkStoryflag = .text:0x80141E90; // type:function size:0x44 -fn_80141EE0 = .text:0x80141EE0; // type:function size:0x90 -fn_80141F70 = .text:0x80141F70; // type:function size:0x54 -fn_80141FD0 = .text:0x80141FD0; // type:function size:0x4 +initializeState_EventSaveObjMsgWindow__13dLytMapMain_cFv = .text:0x80141EE0; // type:function size:0x90 +executeState_EventSaveObjMsgWindow__13dLytMapMain_cFv = .text:0x80141F70; // type:function size:0x54 +finalizeState_EventSaveObjMsgWindow__13dLytMapMain_cFv = .text:0x80141FD0; // type:function size:0x4 whatBirdStatuesToShow = .text:0x80141FE0; // type:function size:0x1D4 -fn_801421C0 = .text:0x801421C0; // type:function size:0x4 -fn_801421D0 = .text:0x801421D0; // type:function size:0x278 +initializeState_EventSaveObjSelect__13dLytMapMain_cFv = .text:0x801421C0; // type:function size:0x4 +executeState_EventSaveObjSelect__13dLytMapMain_cFv = .text:0x801421D0; // type:function size:0x278 getStateID__85sStateMgr_c<16dLytMapSaveObj_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80142450; // type:function size:0x10 -fn_80142460 = .text:0x80142460; // type:function size:0x4 +finalizeState_EventSaveObjSelect__13dLytMapMain_cFv = .text:0x80142460; // type:function size:0x4 getStatueSelectDestinationStruct = .text:0x80142470; // type:function size:0xEC -fn_80142560 = .text:0x80142560; // type:function size:0x18 -fn_80142580 = .text:0x80142580; // type:function size:0x19C -fn_80142720 = .text:0x80142720; // type:function size:0x4 -fn_80142730 = .text:0x80142730; // type:function size:0x4 -fn_80142740 = .text:0x80142740; // type:function size:0x4 -fn_80142750 = .text:0x80142750; // type:function size:0x4 +initializeState_EventSaveObjConfirmMsgWindow__13dLytMapMain_cFv = .text:0x80142560; // type:function size:0x18 +executeState_EventSaveObjConfirmMsgWindow__13dLytMapMain_cFv = .text:0x80142580; // type:function size:0x19C +finalizeState_EventSaveObjConfirmMsgWindow__13dLytMapMain_cFv = .text:0x80142720; // type:function size:0x4 +initializeState_EventSaveObjDecide__13dLytMapMain_cFv = .text:0x80142730; // type:function size:0x4 +executeState_EventSaveObjDecide__13dLytMapMain_cFv = .text:0x80142740; // type:function size:0x4 +finalizeState_EventSaveObjDecide__13dLytMapMain_cFv = .text:0x80142750; // type:function size:0x4 fn_80142760 = .text:0x80142760; // type:function size:0x190 fn_801428F0 = .text:0x801428F0; // type:function size:0xB4 fn_801429B0 = .text:0x801429B0; // type:function size:0x1D8 diff --git a/src/d/lyt/d_lyt_map.cpp b/src/d/lyt/d_lyt_map.cpp index f0029750..855a3639 100644 --- a/src/d/lyt/d_lyt_map.cpp +++ b/src/d/lyt/d_lyt_map.cpp @@ -174,6 +174,154 @@ void dLytMapFader_c::draw() { mFader.draw(); } +void dLytMapPinIcon_c::initializeState_Wait() {} +void dLytMapPinIcon_c::executeState_Wait() {} +void dLytMapPinIcon_c::finalizeState_Wait() {} + +void dLytMapPinIcon_c::initializeState_ToSelect() {} +void dLytMapPinIcon_c::executeState_ToSelect() {} +void dLytMapPinIcon_c::finalizeState_ToSelect() {} + +void dLytMapPinIcon_c::initializeState_Select() {} +void dLytMapPinIcon_c::executeState_Select() {} +void dLytMapPinIcon_c::finalizeState_Select() {} + +void dLytMapPinIcon_c::initializeState_ToUnselect() {} +void dLytMapPinIcon_c::executeState_ToUnselect() {} +void dLytMapPinIcon_c::finalizeState_ToUnselect() {} + +void dLytMapPinIcon_c::initializeState_Remove() {} +void dLytMapPinIcon_c::executeState_Remove() {} +void dLytMapPinIcon_c::finalizeState_Remove() {} + +void dLytMapPinIconAggregate_c::initializeState_Wait() {} +void dLytMapPinIconAggregate_c::executeState_Wait() {} +void dLytMapPinIconAggregate_c::finalizeState_Wait() {} + +void dLytMapPinIconAggregate_c::initializeState_Select() {} +void dLytMapPinIconAggregate_c::executeState_Select() {} +void dLytMapPinIconAggregate_c::finalizeState_Select() {} + +void dLytMapPinIconAggregate_c::initializeState_Remove() {} +void dLytMapPinIconAggregate_c::executeState_Remove() {} +void dLytMapPinIconAggregate_c::finalizeState_Remove() {} + +void dLytMapFloorBtn_c::initializeState_Wait() {} +void dLytMapFloorBtn_c::executeState_Wait() {} +void dLytMapFloorBtn_c::finalizeState_Wait() {} + +void dLytMapFloorBtn_c::initializeState_ToSelect() {} +void dLytMapFloorBtn_c::executeState_ToSelect() {} +void dLytMapFloorBtn_c::finalizeState_ToSelect() {} + +void dLytMapFloorBtn_c::initializeState_Select() {} +void dLytMapFloorBtn_c::executeState_Select() {} +void dLytMapFloorBtn_c::finalizeState_Select() {} + +void dLytMapFloorBtn_c::initializeState_ToWait() {} +void dLytMapFloorBtn_c::executeState_ToWait() {} +void dLytMapFloorBtn_c::finalizeState_ToWait() {} + +void dLytMapFloorBtn_c::initializeState_ToSelectInDecide() {} +void dLytMapFloorBtn_c::executeState_ToSelectInDecide() {} +void dLytMapFloorBtn_c::finalizeState_ToSelectInDecide() {} + +void dLytMapFloorBtn_c::initializeState_SelectInDecide() {} +void dLytMapFloorBtn_c::executeState_SelectInDecide() {} +void dLytMapFloorBtn_c::finalizeState_SelectInDecide() {} + +void dLytMapFloorBtn_c::initializeState_ToDecide() {} +void dLytMapFloorBtn_c::executeState_ToDecide() {} +void dLytMapFloorBtn_c::finalizeState_ToDecide() {} + +void dLytMapFloorBtn_c::initializeState_Decide() {} +void dLytMapFloorBtn_c::executeState_Decide() {} +void dLytMapFloorBtn_c::finalizeState_Decide() {} + +void dLytMapFloorBtn_c::initializeState_DecideToSelectInDecide() {} +void dLytMapFloorBtn_c::executeState_DecideToSelectInDecide() {} +void dLytMapFloorBtn_c::finalizeState_DecideToSelectInDecide() {} + +void dLytMapFloorBtnMgr_c::initializeState_Invisible() {} +void dLytMapFloorBtnMgr_c::executeState_Invisible() {} +void dLytMapFloorBtnMgr_c::finalizeState_Invisible() {} + +void dLytMapFloorBtnMgr_c::initializeState_Wait() {} +void dLytMapFloorBtnMgr_c::executeState_Wait() {} +void dLytMapFloorBtnMgr_c::finalizeState_Wait() {} + +void dLytMapPopupInfo_c::initializeState_Invisible() {} +void dLytMapPopupInfo_c::executeState_Invisible() {} +void dLytMapPopupInfo_c::finalizeState_Invisible() {} + +void dLytMapPopupInfo_c::initializeState_In() {} +void dLytMapPopupInfo_c::executeState_In() {} +void dLytMapPopupInfo_c::finalizeState_In() {} + +void dLytMapPopupInfo_c::initializeState_Wait() {} +void dLytMapPopupInfo_c::executeState_Wait() {} +void dLytMapPopupInfo_c::finalizeState_Wait() {} + +void dLytMapPopupInfo_c::initializeState_WaitInvalid() {} +void dLytMapPopupInfo_c::executeState_WaitInvalid() {} +void dLytMapPopupInfo_c::finalizeState_WaitInvalid() {} + +void dLytMapPopupInfo_c::initializeState_Out() {} +void dLytMapPopupInfo_c::executeState_Out() {} +void dLytMapPopupInfo_c::finalizeState_Out() {} + +void dLytMapSavePopupAction_c::initializeState_Invisible() {} +void dLytMapSavePopupAction_c::executeState_Invisible() {} +void dLytMapSavePopupAction_c::finalizeState_Invisible() {} + +void dLytMapSavePopupAction_c::initializeState_In() {} +void dLytMapSavePopupAction_c::executeState_In() {} +void dLytMapSavePopupAction_c::finalizeState_In() {} + +void dLytMapSavePopupAction_c::initializeState_Wait() {} +void dLytMapSavePopupAction_c::executeState_Wait() {} +void dLytMapSavePopupAction_c::finalizeState_Wait() {} + +void dLytMapSavePopupAction_c::initializeState_Out() {} +void dLytMapSavePopupAction_c::executeState_Out() {} +void dLytMapSavePopupAction_c::finalizeState_Out() {} + +void dLytMapSaveCaption_c::initializeState_Invisible() {} +void dLytMapSaveCaption_c::executeState_Invisible() {} +void dLytMapSaveCaption_c::finalizeState_Invisible() {} + +void dLytMapSaveCaption_c::initializeState_In() {} +void dLytMapSaveCaption_c::executeState_In() {} +void dLytMapSaveCaption_c::finalizeState_In() {} + +void dLytMapSaveCaption_c::initializeState_Wait() {} +void dLytMapSaveCaption_c::executeState_Wait() {} +void dLytMapSaveCaption_c::finalizeState_Wait() {} + +void dLytMapSaveCaption_c::initializeState_Out() {} +void dLytMapSaveCaption_c::executeState_Out() {} +void dLytMapSaveCaption_c::finalizeState_Out() {} + +void dLytMapSaveObj_c::initializeState_Wait() {} +void dLytMapSaveObj_c::executeState_Wait() {} +void dLytMapSaveObj_c::finalizeState_Wait() {} + +void dLytMapSaveObj_c::initializeState_ToSelect() {} +void dLytMapSaveObj_c::executeState_ToSelect() {} +void dLytMapSaveObj_c::finalizeState_ToSelect() {} + +void dLytMapSaveObj_c::initializeState_Select() {} +void dLytMapSaveObj_c::executeState_Select() {} +void dLytMapSaveObj_c::finalizeState_Select() {} + +void dLytMapSaveObj_c::initializeState_ToWait() {} +void dLytMapSaveObj_c::executeState_ToWait() {} +void dLytMapSaveObj_c::finalizeState_ToWait() {} + +void dLytMapSaveObj_c::initializeState_Decide() {} +void dLytMapSaveObj_c::executeState_Decide() {} +void dLytMapSaveObj_c::finalizeState_Decide() {} + #pragma dont_inline on dLytMapMain_c::dLytMapMain_c() : mStateMgr(*this), mFloorBtnMgr(&field_0x8DC8) {} #pragma dont_inline reset @@ -197,3 +345,163 @@ void lytMapusesSizedWString() { static SizedWString<0x20> sString; sString.sprintf(L"%ld", 0); } + +void dLytMapMain_c::initializeState_Invisible() {} +void dLytMapMain_c::executeState_Invisible() {} +void dLytMapMain_c::finalizeState_Invisible() {} + +void dLytMapMain_c::initializeState_RenderingWait() {} +void dLytMapMain_c::executeState_RenderingWait() {} +void dLytMapMain_c::finalizeState_RenderingWait() {} + +void dLytMapMain_c::initializeState_In() {} +void dLytMapMain_c::executeState_In() {} +void dLytMapMain_c::finalizeState_In() {} + +void dLytMapMain_c::initializeState_Active() {} +void dLytMapMain_c::executeState_Active() {} +void dLytMapMain_c::finalizeState_Active() {} + +void dLytMapMain_c::initializeState_Out() {} +void dLytMapMain_c::executeState_Out() {} +void dLytMapMain_c::finalizeState_Out() {} + +void dLytMapMain_c::initializeState_FloorChange() {} +void dLytMapMain_c::executeState_FloorChange() {} +void dLytMapMain_c::finalizeState_FloorChange() {} + +void dLytMapMain_c::initializeState_ChgMapUpDirection() {} +void dLytMapMain_c::executeState_ChgMapUpDirection() {} +void dLytMapMain_c::finalizeState_ChgMapUpDirection() {} + +void dLytMapMain_c::initializeState_ChgDispAreaMode_MapRot() {} +void dLytMapMain_c::executeState_ChgDispAreaMode_MapRot() {} +void dLytMapMain_c::finalizeState_ChgDispAreaMode_MapRot() {} + +void dLytMapMain_c::initializeState_ChgDispAreaMode_Map() {} +void dLytMapMain_c::executeState_ChgDispAreaMode_Map() {} +void dLytMapMain_c::finalizeState_ChgDispAreaMode_Map() {} + +void dLytMapMain_c::initializeState_ChgDispAreaMode_WA() {} +void dLytMapMain_c::executeState_ChgDispAreaMode_WA() {} +void dLytMapMain_c::finalizeState_ChgDispAreaMode_WA() {} + +void dLytMapMain_c::initializeState_ChgDispAreaMode_CsrRot() {} +void dLytMapMain_c::executeState_ChgDispAreaMode_CsrRot() {} +void dLytMapMain_c::finalizeState_ChgDispAreaMode_CsrRot() {} + +void dLytMapMain_c::initializeState_ResetPos() {} +void dLytMapMain_c::executeState_ResetPos() {} +void dLytMapMain_c::finalizeState_ResetPos() {} + +void dLytMapMain_c::initializeState_ResetPosWithFloorChange() {} +void dLytMapMain_c::executeState_ResetPosWithFloorChange() {} +void dLytMapMain_c::finalizeState_ResetPosWithFloorChange() {} + +void dLytMapMain_c::initializeState_EventSwBankSmall_Step1() {} +void dLytMapMain_c::executeState_EventSwBankSmall_Step1() {} +void dLytMapMain_c::finalizeState_EventSwBankSmall_Step1() {} + +void dLytMapMain_c::initializeState_EventSwBankSmall_Step2() {} +void dLytMapMain_c::executeState_EventSwBankSmall_Step2() {} +void dLytMapMain_c::finalizeState_EventSwBankSmall_Step2() {} + +void dLytMapMain_c::initializeState_EventSwBankSmall_Step3() {} +void dLytMapMain_c::executeState_EventSwBankSmall_Step3() {} +void dLytMapMain_c::finalizeState_EventSwBankSmall_Step3() {} + +void dLytMapMain_c::initializeState_EventMapIntro_Step1() {} +void dLytMapMain_c::executeState_EventMapIntro_Step1() {} +void dLytMapMain_c::finalizeState_EventMapIntro_Step1() {} + +void dLytMapMain_c::initializeState_EventMapIntro_Step2() {} +void dLytMapMain_c::executeState_EventMapIntro_Step2() {} +void dLytMapMain_c::finalizeState_EventMapIntro_Step2() {} + +void dLytMapMain_c::initializeState_EventMapIntro_Step3() {} +void dLytMapMain_c::executeState_EventMapIntro_Step3() {} +void dLytMapMain_c::finalizeState_EventMapIntro_Step3() {} + +void dLytMapMain_c::initializeState_EventMapIntro_Step4() {} +void dLytMapMain_c::executeState_EventMapIntro_Step4() {} +void dLytMapMain_c::finalizeState_EventMapIntro_Step4() {} + +void dLytMapMain_c::initializeState_EventDungeonMapGet_Step1() {} +void dLytMapMain_c::executeState_EventDungeonMapGet_Step1() {} +void dLytMapMain_c::finalizeState_EventDungeonMapGet_Step1() {} + +void dLytMapMain_c::initializeState_EventDungeonMapGet_Step2() {} +void dLytMapMain_c::executeState_EventDungeonMapGet_Step2() {} +void dLytMapMain_c::finalizeState_EventDungeonMapGet_Step2() {} + +void dLytMapMain_c::initializeState_EventDungeonMapGet_Step3() {} +void dLytMapMain_c::executeState_EventDungeonMapGet_Step3() {} +void dLytMapMain_c::finalizeState_EventDungeonMapGet_Step3() {} + +void dLytMapMain_c::initializeState_EventFieldMapChange_Step1() {} +void dLytMapMain_c::executeState_EventFieldMapChange_Step1() {} +void dLytMapMain_c::finalizeState_EventFieldMapChange_Step1() {} + +void dLytMapMain_c::initializeState_EventFieldMapChange_Step2() {} +void dLytMapMain_c::executeState_EventFieldMapChange_Step2() {} +void dLytMapMain_c::finalizeState_EventFieldMapChange_Step2() {} + +void dLytMapMain_c::initializeState_EventFieldMapChange_Step3() {} +void dLytMapMain_c::executeState_EventFieldMapChange_Step3() {} +void dLytMapMain_c::finalizeState_EventFieldMapChange_Step3() {} + +void dLytMapMain_c::initializeState_EventFieldMapChange_Step4() {} +void dLytMapMain_c::executeState_EventFieldMapChange_Step4() {} +void dLytMapMain_c::finalizeState_EventFieldMapChange_Step4() {} + +void dLytMapMain_c::initializeState_EventForestMapChange_Step1() {} +void dLytMapMain_c::executeState_EventForestMapChange_Step1() {} +void dLytMapMain_c::finalizeState_EventForestMapChange_Step1() {} + +void dLytMapMain_c::initializeState_EventForestMapChange_Step2() {} +void dLytMapMain_c::executeState_EventForestMapChange_Step2() {} +void dLytMapMain_c::finalizeState_EventForestMapChange_Step2() {} + +void dLytMapMain_c::initializeState_EventForestMapChange_Step3() {} +void dLytMapMain_c::executeState_EventForestMapChange_Step3() {} +void dLytMapMain_c::finalizeState_EventForestMapChange_Step3() {} + +void dLytMapMain_c::initializeState_EventSignalAdd_Step1() {} +void dLytMapMain_c::executeState_EventSignalAdd_Step1() {} +void dLytMapMain_c::finalizeState_EventSignalAdd_Step1() {} + +void dLytMapMain_c::initializeState_EventSignalAdd_Step2() {} +void dLytMapMain_c::executeState_EventSignalAdd_Step2() {} +void dLytMapMain_c::finalizeState_EventSignalAdd_Step2() {} + +void dLytMapMain_c::initializeState_EventSignalAdd_Step3() {} +void dLytMapMain_c::executeState_EventSignalAdd_Step3() {} +void dLytMapMain_c::finalizeState_EventSignalAdd_Step3() {} + +void dLytMapMain_c::initializeState_EventGoddessCube_Step1() {} +void dLytMapMain_c::executeState_EventGoddessCube_Step1() {} +void dLytMapMain_c::finalizeState_EventGoddessCube_Step1() {} + +void dLytMapMain_c::initializeState_EventGoddessCube_Step2() {} +void dLytMapMain_c::executeState_EventGoddessCube_Step2() {} +void dLytMapMain_c::finalizeState_EventGoddessCube_Step2() {} + +void dLytMapMain_c::initializeState_EventGoddessCube_Step3() {} +void dLytMapMain_c::executeState_EventGoddessCube_Step3() {} +void dLytMapMain_c::finalizeState_EventGoddessCube_Step3() {} + +void dLytMapMain_c::initializeState_EventSaveObjMsgWindow() {} +void dLytMapMain_c::executeState_EventSaveObjMsgWindow() {} +void dLytMapMain_c::finalizeState_EventSaveObjMsgWindow() {} + +void dLytMapMain_c::initializeState_EventSaveObjSelect() {} +void dLytMapMain_c::executeState_EventSaveObjSelect() {} +void dLytMapMain_c::finalizeState_EventSaveObjSelect() {} + +void dLytMapMain_c::initializeState_EventSaveObjConfirmMsgWindow() {} +void dLytMapMain_c::executeState_EventSaveObjConfirmMsgWindow() {} +void dLytMapMain_c::finalizeState_EventSaveObjConfirmMsgWindow() {} + +void dLytMapMain_c::initializeState_EventSaveObjDecide() {} +void dLytMapMain_c::executeState_EventSaveObjDecide() {} +void dLytMapMain_c::finalizeState_EventSaveObjDecide() {} From e5a20e19c6db76751943310bc91935628e58ba6c Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 24 Nov 2024 17:06:40 +0100 Subject: [PATCH 4/5] Small progress --- config/SOUE01/splits.txt | 2 + config/SOUE01/symbols.txt | 14 +-- include/d/lyt/d_lyt_map.h | 69 +++++++++++---- src/d/lyt/d_lyt_map.cpp | 177 +++++++++++++++++++++++++++++++++++--- 4 files changed, 225 insertions(+), 37 deletions(-) diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index d11ec110..749a890d 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -423,7 +423,9 @@ d/lyt/d_lyt_map_capture.cpp: d/lyt/d_lyt_map.cpp: .text start:0x8012DC30 end:0x80148DE8 .ctors start:0x804DB76C end:0x804DB770 + .rodata start:0x804E76A0 end:0x804E7F50 .data start:0x8051EAE0 end:0x805225E8 + .sdata2 start:0x80579F40 end:0x80579FB8 .bss start:0x805AF470 end:0x805B0830 d/lyt/d_lyt_note.cpp: diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index bc43e7bd..14896863 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -7547,12 +7547,12 @@ __dt__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13s __dt__32sFStateFct_c<16dLytMapPinIcon_c>Fv = .text:0x8012F050; // type:function size:0x6C __dt__29sFState_c<16dLytMapPinIcon_c>Fv = .text:0x8012F0C0; // type:function size:0x58 fn_8012F120 = .text:0x8012F120; // type:function size:0x8 -fn_8012F130 = .text:0x8012F130; // type:function size:0x17C +build__16dLytMapPinIcon_cFPQ23d2d10ResAccIf_c = .text:0x8012F130; // type:function size:0x17C fn_8012F2B0 = .text:0x8012F2B0; // type:function size:0x6C -fn_8012F320 = .text:0x8012F320; // type:function size:0x60 -fn_8012F380 = .text:0x8012F380; // type:function size:0xE4 +remove__16dLytMapPinIcon_cFv = .text:0x8012F320; // type:function size:0x60 +execute__16dLytMapPinIcon_cFv = .text:0x8012F380; // type:function size:0xE4 executeState__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8012F470; // type:function size:0x10 -fn_8012F480 = .text:0x8012F480; // type:function size:0x34 +draw__16dLytMapPinIcon_cFv = .text:0x8012F480; // type:function size:0x34 initializeState_Wait__25dLytMapPinIconAggregate_cFv = .text:0x8012F4C0; // type:function size:0x4 executeState_Wait__25dLytMapPinIconAggregate_cFv = .text:0x8012F4D0; // type:function size:0xD8 getStateID__85sStateMgr_c<16dLytMapPinIcon_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8012F5B0; // type:function size:0x10 @@ -7615,7 +7615,7 @@ __dt__56sFStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c>Fv = .text:0x801 __dt__86sStateMgr_c<17dLytMapFloorBtn_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80130800; // type:function size:0xA0 __dt__33sFStateFct_c<17dLytMapFloorBtn_c>Fv = .text:0x801308A0; // type:function size:0x6C __dt__30sFState_c<17dLytMapFloorBtn_c>Fv = .text:0x80130910; // type:function size:0x58 -fn_80130970 = .text:0x80130970; // type:function size:0xA0 +__dt__20LytMapFourAnimGroupsFv = .text:0x80130970; // type:function size:0xA0 __dt__59sFStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c>Fv = .text:0x80130A10; // type:function size:0xA4 __dt__89sStateMgr_c<20dLytMapFloorBtnMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80130AC0; // type:function size:0xA0 __dt__36sFStateFct_c<20dLytMapFloorBtnMgr_c>Fv = .text:0x80130B60; // type:function size:0x6C @@ -7748,7 +7748,7 @@ __dt__85sStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13s __dt__55sFStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c>Fv = .text:0x80133F40; // type:function size:0xA4 __dt__16dLytMapCapture_cFv = .text:0x80133FF0; // type:function size:0xB4 __ct__20dLytMapFloorBtnMgr_cFPv = .text:0x801340B0; // type:function size:0x178 -fn_80134230 = .text:0x80134230; // type:function size:0x140 +__ct__20LytMapFourAnimGroupsFv = .text:0x80134230; // type:function size:0x140 __ct__Q23d2d11dLytStructDFv = .text:0x80134370; // type:function size:0x48 __ct__17dLytMapFloorBtn_cFv = .text:0x801343C0; // type:function size:0xAC __ct__25dLytMapPinIconAggregate_cFv = .text:0x80134470; // type:function size:0xF0 @@ -28298,7 +28298,7 @@ lbl_804E7620 = .rodata:0x804E7620; // type:object size:0x28 data:4byte lbl_804E7648 = .rodata:0x804E7648; // type:object size:0x20 data:4byte lbl_804E7668 = .rodata:0x804E7668; // type:object size:0x20 data:4byte lbl_804E7688 = .rodata:0x804E7688; // type:object size:0x18 data:4byte -lbl_804E76A0 = .rodata:0x804E76A0; // type:object size:0x18 data:4byte +sMapPinIconBrlanMap = .rodata:0x804E76A0; // type:object size:0x18 data:4byte lbl_804E76B8 = .rodata:0x804E76B8; // type:object size:0x18 data:4byte lbl_804E76D0 = .rodata:0x804E76D0; // type:object size:0x10 data:4byte lbl_804E76E0 = .rodata:0x804E76E0; // type:object size:0x28 data:4byte diff --git a/include/d/lyt/d_lyt_map.h b/include/d/lyt/d_lyt_map.h index 807bd2e7..1bfee8e2 100644 --- a/include/d/lyt/d_lyt_map.h +++ b/include/d/lyt/d_lyt_map.h @@ -8,20 +8,48 @@ #include "egg/core/eggColorFader.h" #include "m/m2d.h" #include "m/m_vec.h" +#include "nw4r/lyt/lyt_bounding.h" #include "s/s_State.hpp" +struct LytMap0x80520B5C { + LytMap0x80520B5C() : field_0x04(false), field_0x05(false) {} + virtual ~LytMap0x80520B5C() {} + + bool field_0x04; + bool field_0x05; +}; + +struct LytMapFourAnimGroups { + /* 0x00 */ d2d::AnmGroup_c mGroup1; + /* 0x40 */ d2d::AnmGroup_c mGroup2; + /* 0x80 */ d2d::AnmGroup_c mGroup3; + /* 0xC0 */ d2d::AnmGroup_c mGroup4; +}; + // Size 0x1E0 class dLytMapPinIcon_c { public: friend class dLytMapPinIconAggregate_c; dLytMapPinIcon_c() - : mStateMgr(*this, sStateID::null), field_0x1B8(0), field_0x1BC(0), field_0x1C0(0.0f, 0.0f, 0.0f), - field_0x1CC(0), field_0x1D0(0), field_0x1D4(0), mIndex(0), field_0x1DC(0) {} - virtual ~dLytMapPinIcon_c() { - if (d2d::dLytStructDList::sInstance->fn_80065A30(&mStructD)) { - d2d::dLytStructDList::sInstance->removeFromList2(&mStructD); - } + : mStateMgr(*this, sStateID::null), mpBounding(nullptr), field_0x1BC(0), field_0x1C0(0.0f, 0.0f, 0.0f), + field_0x1CC(0), field_0x1D0(nullptr), field_0x1D4(0), mIndex(0), field_0x1DC(0) {} + virtual ~dLytMapPinIcon_c(); + + bool build(d2d::ResAccIf_c *resAcc); + bool remove(); + bool draw(); + bool execute(); + + void fn_8012EC30(); + + bool isSelect() const { + return *mStateMgr.getStateID() == dLytMapPinIcon_c::StateID_ToSelect || + *mStateMgr.getStateID() == dLytMapPinIcon_c::StateID_Select; + } + + bool isRemove() const { + return *mStateMgr.getStateID() == dLytMapPinIcon_c::StateID_Remove; } STATE_FUNC_DECLARE(dLytMapPinIcon_c, Wait); @@ -33,13 +61,13 @@ class dLytMapPinIcon_c { private: /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapPinIcon_c); /* 0x040 */ d2d::LytBase_c mLyt; - /* 0x0D0 */ d2d::AnmGroup_c mAnm[3]; + /* 0x0D0 */ d2d::AnmGroup_c mAnmGroups[3]; /* 0x190 */ d2d::dLytStructD mStructD; - /* 0x1B8 */ UNKWORD field_0x1B8; + /* 0x1B8 */ nw4r::lyt::Bounding *mpBounding; /* 0x1BC */ UNKWORD field_0x1BC; /* 0x1C0 */ mVec3_c field_0x1C0; /* 0x1CC */ u8 field_0x1CC; - /* 0x1D0 */ UNKWORD field_0x1D0; + /* 0x1D0 */ LytMap0x80520B5C *field_0x1D0; /* 0x1D4 */ UNKWORD field_0x1D4; /* 0x1D8 */ s32 mIndex; /* 0x1DC */ UNKWORD field_0x1DC; @@ -48,7 +76,7 @@ class dLytMapPinIcon_c { class dLytMapPinIconAggregate_c { public: dLytMapPinIconAggregate_c() : mStateMgr(*this, sStateID::null) { - field_0x9A0 = 0; + field_0x9A0 = nullptr; field_0x9A4 = 0; field_0x9A8 = 0; for (int i = 0; i < 5; i++) { @@ -57,6 +85,8 @@ class dLytMapPinIconAggregate_c { } virtual ~dLytMapPinIconAggregate_c() {} + bool remove(); + STATE_FUNC_DECLARE(dLytMapPinIconAggregate_c, Wait); STATE_FUNC_DECLARE(dLytMapPinIconAggregate_c, Select); STATE_FUNC_DECLARE(dLytMapPinIconAggregate_c, Remove); @@ -65,7 +95,7 @@ class dLytMapPinIconAggregate_c { /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapPinIconAggregate_c); /* 0x040 */ dLytMapPinIcon_c mPins[5]; - /* 0x9A0 */ UNKWORD field_0x9A0; + /* 0x9A0 */ LytMap0x80520B5C *field_0x9A0; /* 0x9A4 */ UNKWORD field_0x9A4; /* 0x9A8 */ UNKWORD field_0x9A8; }; @@ -101,7 +131,7 @@ class dLytMapFloorBtn_c { class dLytMapFloorBtnMgr_c : public d2d::dSubPane { public: dLytMapFloorBtnMgr_c(void *arg) : field_0x008(arg), mStateMgr(*this, sStateID::null) {} - virtual ~dLytMapFloorBtnMgr_c() {} + virtual ~dLytMapFloorBtnMgr_c(); virtual bool build(d2d::ResAccIf_c *resAcc) override; virtual bool remove() override; @@ -123,8 +153,9 @@ class dLytMapFloorBtnMgr_c : public d2d::dSubPane { /* 0x008 */ void *field_0x008; /* 0x00C */ UI_STATE_MGR_DECLARE(dLytMapFloorBtnMgr_c); /* 0x048 */ d2d::dLytSub mLyt; - /* 0x0DC */ d2d::AnmGroup_c mAnm[1]; - /* 0x11C */ // unk array + /* 0x0DC */ d2d::AnmGroup_c mAnmGroups[1]; + /* 0x11C */ LytMapFourAnimGroups mMoreGroups[4]; + /* 0x51C */ u8 field_0x51C[0x520 - 0x51C]; /* 0x520 */ d2d::dLytStructD mStructDs[4]; /* 0x5C0 */ dLytMapFloorBtn_c mFloorBtns[4]; }; @@ -143,7 +174,7 @@ class dLytMapPopupInfo_c { private: /* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapPopupInfo_c); /* 0x03C */ d2d::LytBase_c mLyt; - /* 0x0CC */ d2d::AnmGroup_c mAnm[3]; + /* 0x0CC */ d2d::AnmGroup_c mAnmGroups[3]; }; // Size 0x4C @@ -169,7 +200,7 @@ class dLytMapSavePopup_c { private: /* 0x000 */ d2d::LytBase_c mLyt; - /* 0x090 */ d2d::AnmGroup_c mAnm[2]; + /* 0x090 */ d2d::AnmGroup_c mAnmGroups[2]; /* 0x110 */ dLytMapSavePopupAction_c mActions[12]; }; @@ -185,7 +216,7 @@ class dLytMapSaveCaption_c { private: /* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapSaveCaption_c); /* 0x03C */ d2d::LytBase_c mLyt; - /* 0x0CC */ d2d::AnmGroup_c mAnm[5]; + /* 0x0CC */ d2d::AnmGroup_c mAnmGroups[5]; }; // Size 0x190 @@ -202,7 +233,7 @@ class dLytMapSaveObj_c { private: /* 0x000 */ UI_STATE_MGR_DECLARE(dLytMapSaveObj_c); /* 0x03C */ d2d::LytBase_c mLyt; - /* 0x0CC */ d2d::AnmGroup_c mAnm[3]; + /* 0x0CC */ d2d::AnmGroup_c mAnmGroups[3]; /* 0x18C */ u8 field_0x18C; /* 0x18D */ u8 field_0x18D; /* 0x18E */ u8 field_0x18E; @@ -264,7 +295,7 @@ class dLytMapMain_c : public m2d::Base_c { /* 0x00A4 */ u8 field_0x00A4[0x010C - 0x00A4]; /* 0x010C */ d2d::LytBase_c mLyt; /* 0x019C */ d2d::AnmGroup_c mAnmGroups[54]; - /* 0x0F1C */ u8 field_0x0F1C[0x0F24 - 0x0F1C]; + /* 0x0F1C */ LytMap0x80520B5C field_0xF1C; /* 0x0F24 */ dLytMapCapture_c mMapCapture; /* 0x0FA0 */ dLytMapFloorBtnMgr_c mFloorBtnMgr; /* 0x16B4 */ dLytMapPinIconAggregate_c mPinIconAggregate; diff --git a/src/d/lyt/d_lyt_map.cpp b/src/d/lyt/d_lyt_map.cpp index 855a3639..0de1ef91 100644 --- a/src/d/lyt/d_lyt_map.cpp +++ b/src/d/lyt/d_lyt_map.cpp @@ -1,5 +1,8 @@ #include "d/lyt/d_lyt_map.h" +#include "common.h" +#include "d/lyt/d2d.h" +#include "d/lyt/d_structd.h" #include "egg/core/eggColorFader.h" #include "m/m_video.h" #include "sized_string.h" @@ -174,36 +177,178 @@ void dLytMapFader_c::draw() { mFader.draw(); } -void dLytMapPinIcon_c::initializeState_Wait() {} -void dLytMapPinIcon_c::executeState_Wait() {} +#define LYT_MAP_PIN_ICON_ANIM_SCALE 0 +#define LYT_MAP_PIN_ICON_ANIM_ERASE 1 +#define LYT_MAP_PIN_ICON_ANIM_LOOP 2 + +void dLytMapPinIcon_c::initializeState_Wait() { + mLyt.calc(); +} +void dLytMapPinIcon_c::executeState_Wait() { + bool keepGoing = false; + if (field_0x1D0 != nullptr) { + keepGoing = !field_0x1D0->field_0x04; + } + if (!keepGoing) { + return; + } + + if (field_0x1CC == 0) { + return; + } + + if (field_0x1BC == 0) { + return; + } + + mStateMgr.changeState(StateID_ToSelect); +} void dLytMapPinIcon_c::finalizeState_Wait() {} -void dLytMapPinIcon_c::initializeState_ToSelect() {} -void dLytMapPinIcon_c::executeState_ToSelect() {} -void dLytMapPinIcon_c::finalizeState_ToSelect() {} +void dLytMapPinIcon_c::initializeState_ToSelect() { + d2d::AnmGroup_c *m = &mAnmGroups[1]; + m->setDirection(false); + m->setFrame(0.0f); +} +void dLytMapPinIcon_c::executeState_ToSelect() { + mStateMgr.changeState(StateID_Select); +} +void dLytMapPinIcon_c::finalizeState_ToSelect() { + field_0x1D0->field_0x04 = true; +} void dLytMapPinIcon_c::initializeState_Select() {} void dLytMapPinIcon_c::executeState_Select() {} void dLytMapPinIcon_c::finalizeState_Select() {} void dLytMapPinIcon_c::initializeState_ToUnselect() {} -void dLytMapPinIcon_c::executeState_ToUnselect() {} -void dLytMapPinIcon_c::finalizeState_ToUnselect() {} +void dLytMapPinIcon_c::executeState_ToUnselect() { + mStateMgr.changeState(StateID_Wait); +} +void dLytMapPinIcon_c::finalizeState_ToUnselect() { + field_0x1D0->field_0x04 = false; +} void dLytMapPinIcon_c::initializeState_Remove() {} -void dLytMapPinIcon_c::executeState_Remove() {} +void dLytMapPinIcon_c::executeState_Remove() { + mStateMgr.changeState(StateID_Wait); +} void dLytMapPinIcon_c::finalizeState_Remove() {} +dLytMapPinIcon_c::~dLytMapPinIcon_c() { + if (d2d::dLytStructDList::sInstance->fn_80065A30(&mStructD)) { + d2d::dLytStructDList::sInstance->removeFromList2(&mStructD); + } +} + +static const d2d::LytBrlanMapping sMapPinIconBrlanMap[] = { + {"mapPutIcon_00_scale.brlan", "G_scale_00"}, + {"mapPutIcon_00_erase.brlan", "G_scale_00"}, + { "mapPutIcon_00_loop.brlan", "G_scale_00"}, +}; + +bool dLytMapPinIcon_c::build(d2d::ResAccIf_c *resAcc) { + mLyt.setResAcc(resAcc); + mLyt.build("mapPutIcon_00.brlyt", nullptr); + + d2d::AnmGroup_c *pAnmGroups = mAnmGroups; + + for (int i = 0; i < 3; i++) { + pAnmGroups[i].init(sMapPinIconBrlanMap[i].mFile, resAcc, mLyt.getLayout(), sMapPinIconBrlanMap[i].mName); + pAnmGroups[i].setDirection(false); + pAnmGroups[i].setFrame(0.0f); + } + + mLyt.calc(); + + for (int i = 0; i < 3; i++) { + pAnmGroups[i].unbind(); + } + + mpBounding = mLyt.findBounding("B_mark_00"); + mStructD.fn_80065E70(mpBounding, 2, 1, 0); + d2d::dLytStructDList::sInstance->appendToList2(&mStructD); + + mAnmGroups[LYT_MAP_PIN_ICON_ANIM_SCALE].setDirection(false); + mAnmGroups[LYT_MAP_PIN_ICON_ANIM_LOOP].setDirection(false); + + mLyt.calc(); + + mStateMgr.changeState(StateID_Wait); + field_0x1BC = 0; + field_0x1CC = 0; + field_0x1DC = 0; + return true; +} + +bool dLytMapPinIcon_c::remove() { + d2d::dLytStructDList::sInstance->removeFromList2(&mStructD); + for (int i = 0; i < 3; i++) { + mAnmGroups[i].afterUnbind(); + } + return true; +} + +bool dLytMapPinIcon_c::execute() { + fn_8012EC30(); + mStateMgr.executeState(); + field_0x1BC = 0; + mAnmGroups[2].setFrame(field_0x1DC); + // TODO something MapCapture + mLyt.calc(); + mStructD.field_0x22 = 0; + mStructD.fn_80065F70(); + return true; +} + +bool dLytMapPinIcon_c::draw() { + mLyt.draw(); + return true; +} + void dLytMapPinIconAggregate_c::initializeState_Wait() {} -void dLytMapPinIconAggregate_c::executeState_Wait() {} +void dLytMapPinIconAggregate_c::executeState_Wait() { + for (int i = 0; i < 5; i++) { + if (mPins[i].isSelect()) { + mStateMgr.changeState(StateID_Select); + } + } +} void dLytMapPinIconAggregate_c::finalizeState_Wait() {} void dLytMapPinIconAggregate_c::initializeState_Select() {} -void dLytMapPinIconAggregate_c::executeState_Select() {} +void dLytMapPinIconAggregate_c::executeState_Select() { + bool anyRemove = false; + for (int i = 0; i < 5; i++) { + if (mPins[i].isRemove()) { + mStateMgr.changeState(StateID_Remove); + anyRemove = true; + // a bit convoluted, an early return would've done the trick + break; + } + } + + if (!anyRemove) { + bool allSelect = true; + for (int i = 0; i < 5; i++) { + if (mPins[i].isSelect()) { + allSelect = false; + break; + } + } + + if (allSelect) { + mStateMgr.changeState(StateID_Wait); + } + } +} void dLytMapPinIconAggregate_c::finalizeState_Select() {} void dLytMapPinIconAggregate_c::initializeState_Remove() {} -void dLytMapPinIconAggregate_c::executeState_Remove() {} +void dLytMapPinIconAggregate_c::executeState_Remove() { + field_0x9A0->field_0x04 = false; + mStateMgr.changeState(StateID_Wait); +} void dLytMapPinIconAggregate_c::finalizeState_Remove() {} void dLytMapFloorBtn_c::initializeState_Wait() {} @@ -250,6 +395,16 @@ void dLytMapFloorBtnMgr_c::initializeState_Wait() {} void dLytMapFloorBtnMgr_c::executeState_Wait() {} void dLytMapFloorBtnMgr_c::finalizeState_Wait() {} +extern "C" void fn_801942F0(int, int); +dLytMapFloorBtnMgr_c::~dLytMapFloorBtnMgr_c() { + for (int i = 0; i < 4; i++) { + if (d2d::dLytStructDList::sInstance->fn_80065A30(&mStructDs[i])) { + d2d::dLytStructDList::sInstance->removeFromList2(&mStructDs[i]); + } + } + fn_801942F0(0, 0); +} + void dLytMapPopupInfo_c::initializeState_Invisible() {} void dLytMapPopupInfo_c::executeState_Invisible() {} void dLytMapPopupInfo_c::finalizeState_Invisible() {} From e9cbe49c1e263164176010090ddc8e13553a21ab Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 24 Nov 2024 20:59:00 +0100 Subject: [PATCH 5/5] Some sbss --- config/SOUE01/splits.txt | 6 ++++++ include/d/lyt/d_lyt_map.h | 19 +++++++++++++++++-- src/d/lyt/d_lyt_area_caption.cpp | 2 ++ src/d/lyt/d_lyt_battery.cpp | 2 ++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 749a890d..49bc3aa4 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -425,6 +425,7 @@ d/lyt/d_lyt_map.cpp: .ctors start:0x804DB76C end:0x804DB770 .rodata start:0x804E76A0 end:0x804E7F50 .data start:0x8051EAE0 end:0x805225E8 + .sbss start:0x805754A8 end:0x805754B8 .sdata2 start:0x80579F40 end:0x80579FB8 .bss start:0x805AF470 end:0x805B0830 @@ -443,6 +444,7 @@ d/lyt/d_lyt_battery.cpp: .rodata start:0x804E7F80 end:0x804E7FA0 .data start:0x80522820 end:0x80522B00 .sdata start:0x80572870 end:0x80572878 + .sbss start:0x805754B8 end:0x805754C0 .sdata2 start:0x80579FC8 end:0x80579FD0 .bss start:0x805B0930 end:0x805B0A70 @@ -452,20 +454,24 @@ d/lyt/d_lyt_area_caption.cpp: .rodata start:0x804E7FA0 end:0x804E7FE0 .data start:0x80522B00 end:0x80522E80 .sdata start:0x80572878 end:0x80572880 + .sbss start:0x805754C0 end:0x805754C8 .bss start:0x805B0A70 end:0x805B0B30 d/lyt/d_lyt_wipe.cpp: .text start:0x8014C6C0 end:0x8014E008 .ctors start:0x804DB77C end:0x804DB780 + .sbss start:0x805754C8 end:0x805754D0 d/lyt/d_lyt_help.cpp: .text start:0x8014E010 end:0x80150428 .ctors start:0x804DB780 end:0x804DB784 + .sbss start:0x805754D0 end:0x805754D8 d/lyt/d_lyt_bird_gauge.cpp: .text start:0x80152FD0 end:0x801548D8 .ctors start:0x804DB784 end:0x804DB788 .data start:0x80524020 end:0x80524510 + .sbss start:0x805754E0 end:0x805754E8 d/lyt/d_lyt_sky_gauge.cpp: .text start:0x801548E0 end:0x80155CC8 diff --git a/include/d/lyt/d_lyt_map.h b/include/d/lyt/d_lyt_map.h index 1bfee8e2..d1c048f8 100644 --- a/include/d/lyt/d_lyt_map.h +++ b/include/d/lyt/d_lyt_map.h @@ -130,7 +130,15 @@ class dLytMapFloorBtn_c { class dLytMapFloorBtnMgr_c : public d2d::dSubPane { public: - dLytMapFloorBtnMgr_c(void *arg) : field_0x008(arg), mStateMgr(*this, sStateID::null) {} + dLytMapFloorBtnMgr_c(void *arg) : field_0x008(arg), field_0x51C(nullptr), mStateMgr(*this, sStateID::null) { + field_0x700 = 1; + field_0x704 = 0; + field_0x708 = 0; + field_0x70C = 4; + field_0x710 = 0; + field_0x711 = 0; + field_0x712 = 0; + } virtual ~dLytMapFloorBtnMgr_c(); virtual bool build(d2d::ResAccIf_c *resAcc) override; @@ -155,9 +163,16 @@ class dLytMapFloorBtnMgr_c : public d2d::dSubPane { /* 0x048 */ d2d::dLytSub mLyt; /* 0x0DC */ d2d::AnmGroup_c mAnmGroups[1]; /* 0x11C */ LytMapFourAnimGroups mMoreGroups[4]; - /* 0x51C */ u8 field_0x51C[0x520 - 0x51C]; + /* 0x51C */ void *field_0x51C; /* 0x520 */ d2d::dLytStructD mStructDs[4]; /* 0x5C0 */ dLytMapFloorBtn_c mFloorBtns[4]; + /* 0x700 */ UNKWORD field_0x700; + /* 0x704 */ UNKWORD field_0x704; + /* 0x708 */ UNKWORD field_0x708; + /* 0x70C */ UNKWORD field_0x70C; + /* 0x710 */ u8 field_0x710; + /* 0x711 */ u8 field_0x711; + /* 0x712 */ u8 field_0x712; }; // Size 0x4C diff --git a/src/d/lyt/d_lyt_area_caption.cpp b/src/d/lyt/d_lyt_area_caption.cpp index 3d5e653f..e9854560 100644 --- a/src/d/lyt/d_lyt_area_caption.cpp +++ b/src/d/lyt/d_lyt_area_caption.cpp @@ -28,6 +28,8 @@ static const char *captionBoxes[] = { "T_captionS_01", }; +dLytAreaCaption_c *dLytAreaCaption_c::sInstance; + bool dLytAreaCaptionParts_c::init(int first) { void *data = LayoutArcManager::sInstance->getLoadedData("DoButton"); mResAcc.attach(data, ""); diff --git a/src/d/lyt/d_lyt_battery.cpp b/src/d/lyt/d_lyt_battery.cpp index cd4a2703..a80e2847 100644 --- a/src/d/lyt/d_lyt_battery.cpp +++ b/src/d/lyt/d_lyt_battery.cpp @@ -17,6 +17,8 @@ static const d2d::LytBrlanMapping brlanMap[] = { { "denchi_00_out.brlan", "G_inOut_00"}, }; +dLytBattery_c *dLytBattery_c::sInstance; + #define LYT_BATTERY_ANIM_IN 0 #define LYT_BATTERY_ANIM_NONE 1 #define LYT_BATTERY_ANIM_LOOP 2