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 @@ public: 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 @@ public: 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);