diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 13ac74a7..d5744794 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -443,6 +443,8 @@ d/lyt/msg_window/d_lyt_msg_window.cpp: .text start:0x801148F0 end:0x8011C8C8 .ctors start:0x804DB738 end:0x804DB73C .data start:0x8051B6E8 end:0x8051C300 + .sdata start:0x80572580 end:0x80572588 + .sdata2 start:0x80579DF0 end:0x80579E18 .bss start:0x805AD188 end:0x805AE670 d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp: @@ -450,6 +452,7 @@ d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp: .ctors start:0x804DB73C end:0x804DB740 .rodata start:0x804E7468 end:0x804E7540 .data start:0x8051C300 end:0x8051CB10 + .sdata start:0x80572588 end:0x80572598 .bss start:0x805AE670 end:0x805AE930 d/lyt/msg_window/d_lyt_msg_window_common.cpp: diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index e9793e75..fc61b299 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -2357,8 +2357,8 @@ fn_80059630 = .text:0x80059630; // type:function size:0x4 fn_80059640 = .text:0x80059640; // type:function size:0x4 fn_80059650 = .text:0x80059650; // type:function size:0x4 checkInputManagerPressedMask = .text:0x80059660; // type:function size:0x18 -checkButtonAPressed = .text:0x80059680; // type:function size:0x18 -checkButtonBPressed = .text:0x800596A0; // type:function size:0x18 +checkButtonAPressed__4dPadFv = .text:0x80059680; // type:function size:0x18 +checkButtonBPressed__4dPadFv = .text:0x800596A0; // type:function size:0x18 checkButtonCPressed = .text:0x800596C0; // type:function size:0x18 checkButtonZPressed__4dPadFv = .text:0x800596E0; // type:function size:0x18 checkButtonDpadUpPressed = .text:0x80059700; // type:function size:0x18 @@ -2368,11 +2368,11 @@ checkButtonDpadRightPressed = .text:0x80059760; // type:function size:0x18 checkButton1Pressed = .text:0x80059780; // type:function size:0x18 checkButton2Pressed = .text:0x800597A0; // type:function size:0x18 checkButtonMinusPressed = .text:0x800597C0; // type:function size:0x18 -checkButtonPlusPressed = .text:0x800597E0; // type:function size:0x18 +checkButtonPlusPressed__4dPadFv = .text:0x800597E0; // type:function size:0x18 checkInputManagerHeldMask = .text:0x80059800; // type:function size:0x18 down__Q23EGG14CoreControllerCFUl = .text:0x80059820; // type:function size:0x18 downAll__Q23EGG14CoreControllerCFUl = .text:0x80059840; // type:function size:0x18 -checkButtonAHeld = .text:0x80059860; // type:function size:0x18 +checkButtonAHeld__4dPadFv = .text:0x80059860; // type:function size:0x18 checkButtonBHeld = .text:0x80059880; // type:function size:0x18 checkButtonCHeld = .text:0x800598A0; // type:function size:0x18 checkButtonZHeld__4dPadFv = .text:0x800598C0; // type:function size:0x18 @@ -3891,7 +3891,7 @@ __ct__13TextWindowUnkFP15dTagProcessor_c = .text:0x800B20E0; // type:function si fn_800B2130__13TextWindowUnkFPCcP10dTextBox_cP21dLytMsgWindowCharDatab = .text:0x800B2130; // type:function size:0x370 textAdvancingRelated__13TextWindowUnkFbb = .text:0x800B24A0; // type:function size:0x5FC fn_800B2AA0__13TextWindowUnkFv = .text:0x800B2AA0; // type:function size:0x80 -checkLastLineReached__13TextWindowUnkFv = .text:0x800B2B20; // type:function size:0x48 +reset__13TextWindowUnkFv = .text:0x800B2B20; // type:function size:0x48 checkEndReached__13TextWindowUnkCFv = .text:0x800B2B70; // type:function size:0x1C reset__13TextWindowUnkFv = .text:0x800B2B90; // type:function size:0xD8 fn_800B2C70 = .text:0x800B2C70; // type:function size:0x340 @@ -6852,27 +6852,27 @@ __dt__59sFStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c>Fv = .text:0x __dt__13dLytTextSwordFv = .text:0x80118360; // type:function size:0x70 setSwordType__20dLytMsgWindowSword_cFQ213dLytTextSword10ESwordType = .text:0x801183D0; // type:function size:0x8 __ct__19dLytMsgWindowLink_cFv = .text:0x801183E0; // type:function size:0x1FC -fn_801185E0 = .text:0x801185E0; // type:function size:0x58 -fn_80118640 = .text:0x80118640; // type:function size:0x6C -fn_801186B0 = .text:0x801186B0; // type:function size:0xA0 -fn_80118750 = .text:0x80118750; // type:function size:0xA4 +__dt__32sFState_c<19dLytMsgWindowLink_c>Fv = .text:0x801185E0; // type:function size:0x58 +__dt__35sFStateFct_c<19dLytMsgWindowLink_c>Fv = .text:0x80118640; // type:function size:0x6C +__dt__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801186B0; // type:function size:0xA0 +__dt__58sFStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c>Fv = .text:0x80118750; // type:function size:0xA4 __dt__13dLytTextLightFv = .text:0x80118800; // type:function size:0x70 __dt__20MsgWindowBlurRelatedFv = .text:0x80118870; // type:function size:0x40 __ct__18dLytMsgWindowGet_cFv = .text:0x801188B0; // type:function size:0x1FC -fn_80118AB0 = .text:0x80118AB0; // type:function size:0x58 -fn_80118B10 = .text:0x80118B10; // type:function size:0x6C -fn_80118B80 = .text:0x80118B80; // type:function size:0xA0 -fn_80118C20 = .text:0x80118C20; // type:function size:0xA4 +__dt__31sFState_c<18dLytMsgWindowGet_c>Fv = .text:0x80118AB0; // type:function size:0x58 +__dt__34sFStateFct_c<18dLytMsgWindowGet_c>Fv = .text:0x80118B10; // type:function size:0x6C +__dt__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80118B80; // type:function size:0xA0 +__dt__57sFStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c>Fv = .text:0x80118C20; // type:function size:0xA4 __ct__19dLytMsgWindowDemo_cFv = .text:0x80118CD0; // type:function size:0x1B0 __dt__32sFState_c<19dLytMsgWindowDemo_c>Fv = .text:0x80118E80; // type:function size:0x58 __dt__35sFStateFct_c<19dLytMsgWindowDemo_c>Fv = .text:0x80118EE0; // type:function size:0x6C __dt__88sStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80118F50; // type:function size:0xA0 __dt__58sFStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c>Fv = .text:0x80118FF0; // type:function size:0xA4 __ct__19dLytMsgWindowTalk_cFv = .text:0x801190A0; // type:function size:0x1FC -fn_801192A0 = .text:0x801192A0; // type:function size:0x58 -fn_80119300 = .text:0x80119300; // type:function size:0x6C -fn_80119370 = .text:0x80119370; // type:function size:0xA0 -fn_80119410 = .text:0x80119410; // type:function size:0xA4 +__dt__32sFState_c<19dLytMsgWindowTalk_c>Fv = .text:0x801192A0; // type:function size:0x58 +__dt__35sFStateFct_c<19dLytMsgWindowTalk_c>Fv = .text:0x80119300; // type:function size:0x6C +__dt__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80119370; // type:function size:0xA0 +__dt__58sFStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c>Fv = .text:0x80119410; // type:function size:0xA4 removeSubMsgManagers__15dLytMsgWindow_cFv = .text:0x801194C0; // type:function size:0x40C __dt__19dLytMsgWindowTalk_cFv = .text:0x801198D0; // type:function size:0x198 __dt__19dLytMsgWindowLink_cFv = .text:0x80119A70; // type:function size:0x198 @@ -6887,30 +6887,30 @@ fn_8011A5D0__15dLytMsgWindow_cCFv = .text:0x8011A5D0; // type:function size:0x1A changeState__86sStateMgr_c<17dLytAutoCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A780; // type:function size:0x10 changeState__86sStateMgr_c<17dLytAutoExplain_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A790; // type:function size:0x10 changeState__88sStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A7A0; // type:function size:0x10 -fn_8011A7B0 = .text:0x8011A7B0; // type:function size:0x10 +changeState__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A7B0; // type:function size:0x10 changeState__89sStateMgr_c<20dLytMsgWindowStone_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A7C0; // type:function size:0x10 changeState__88sStateMgr_c<19dLytMsgWindowWood_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A7D0; // type:function size:0x10 changeState__89sStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A7E0; // type:function size:0x10 -fn_8011A7F0 = .text:0x8011A7F0; // type:function size:0x10 -fn_8011A800 = .text:0x8011A800; // type:function size:0x10 +changeState__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A7F0; // type:function size:0x10 +changeState__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8011A800; // type:function size:0x10 build__33sFStateFct_c<17dLytAutoCaption_c>FRC12sStateIDIf_c = .text:0x8011A810; // type:function size:0x60 dispose__33sFStateFct_c<17dLytAutoCaption_c>FRP10sStateIf_c = .text:0x8011A870; // type:function size:0xC build__33sFStateFct_c<17dLytAutoExplain_c>FRC12sStateIDIf_c = .text:0x8011A880; // type:function size:0x60 dispose__33sFStateFct_c<17dLytAutoExplain_c>FRP10sStateIf_c = .text:0x8011A8E0; // type:function size:0xC build__35sFStateFct_c<19dLytMsgWindowDemo_c>FRC12sStateIDIf_c = .text:0x8011A8F0; // type:function size:0x60 dispose__35sFStateFct_c<19dLytMsgWindowDemo_c>FRP10sStateIf_c = .text:0x8011A950; // type:function size:0xC -fn_8011A960 = .text:0x8011A960; // type:function size:0x60 -fn_8011A9C0 = .text:0x8011A9C0; // type:function size:0xC +build__34sFStateFct_c<18dLytMsgWindowGet_c>FRC12sStateIDIf_c = .text:0x8011A960; // type:function size:0x60 +dispose__34sFStateFct_c<18dLytMsgWindowGet_c>FRP10sStateIf_c = .text:0x8011A9C0; // type:function size:0xC build__36sFStateFct_c<20dLytMsgWindowStone_c>FRC12sStateIDIf_c = .text:0x8011A9D0; // type:function size:0x60 dispose__36sFStateFct_c<20dLytMsgWindowStone_c>FRP10sStateIf_c = .text:0x8011AA30; // type:function size:0xC build__35sFStateFct_c<19dLytMsgWindowWood_c>FRC12sStateIDIf_c = .text:0x8011AA40; // type:function size:0x60 dispose__35sFStateFct_c<19dLytMsgWindowWood_c>FRP10sStateIf_c = .text:0x8011AAA0; // type:function size:0xC build__36sFStateFct_c<20dLytMsgWindowSword_c>FRC12sStateIDIf_c = .text:0x8011AAB0; // type:function size:0x60 dispose__36sFStateFct_c<20dLytMsgWindowSword_c>FRP10sStateIf_c = .text:0x8011AB10; // type:function size:0xC -fn_8011AB20 = .text:0x8011AB20; // type:function size:0x60 -fn_8011AB80 = .text:0x8011AB80; // type:function size:0xC -fn_8011AB90 = .text:0x8011AB90; // type:function size:0x60 -fn_8011ABF0 = .text:0x8011ABF0; // type:function size:0xC +build__35sFStateFct_c<19dLytMsgWindowLink_c>FRC12sStateIDIf_c = .text:0x8011AB20; // type:function size:0x60 +dispose__35sFStateFct_c<19dLytMsgWindowLink_c>FRP10sStateIf_c = .text:0x8011AB80; // type:function size:0xC +build__35sFStateFct_c<19dLytMsgWindowTalk_c>FRC12sStateIDIf_c = .text:0x8011AB90; // type:function size:0x60 +dispose__35sFStateFct_c<19dLytMsgWindowTalk_c>FRP10sStateIf_c = .text:0x8011ABF0; // type:function size:0xC initialize__30sFState_c<17dLytAutoCaption_c>Fv = .text:0x8011AC00; // type:function size:0x1C execute__30sFState_c<17dLytAutoCaption_c>Fv = .text:0x8011AC20; // type:function size:0x1C finalize__30sFState_c<17dLytAutoCaption_c>Fv = .text:0x8011AC40; // type:function size:0x1C @@ -6920,9 +6920,9 @@ finalize__30sFState_c<17dLytAutoExplain_c>Fv = .text:0x8011ACA0; // type:functio initialize__32sFState_c<19dLytMsgWindowDemo_c>Fv = .text:0x8011ACC0; // type:function size:0x1C execute__32sFState_c<19dLytMsgWindowDemo_c>Fv = .text:0x8011ACE0; // type:function size:0x1C finalize__32sFState_c<19dLytMsgWindowDemo_c>Fv = .text:0x8011AD00; // type:function size:0x1C -fn_8011AD20 = .text:0x8011AD20; // type:function size:0x1C -fn_8011AD40 = .text:0x8011AD40; // type:function size:0x1C -fn_8011AD60 = .text:0x8011AD60; // type:function size:0x1C +initialize__31sFState_c<18dLytMsgWindowGet_c>Fv = .text:0x8011AD20; // type:function size:0x1C +execute__31sFState_c<18dLytMsgWindowGet_c>Fv = .text:0x8011AD40; // type:function size:0x1C +finalize__31sFState_c<18dLytMsgWindowGet_c>Fv = .text:0x8011AD60; // type:function size:0x1C initialize__33sFState_c<20dLytMsgWindowStone_c>Fv = .text:0x8011AD80; // type:function size:0x1C execute__33sFState_c<20dLytMsgWindowStone_c>Fv = .text:0x8011ADA0; // type:function size:0x1C finalize__33sFState_c<20dLytMsgWindowStone_c>Fv = .text:0x8011ADC0; // type:function size:0x1C @@ -6932,12 +6932,12 @@ finalize__32sFState_c<19dLytMsgWindowWood_c>Fv = .text:0x8011AE20; // type:funct initialize__33sFState_c<20dLytMsgWindowSword_c>Fv = .text:0x8011AE40; // type:function size:0x1C execute__33sFState_c<20dLytMsgWindowSword_c>Fv = .text:0x8011AE60; // type:function size:0x1C finalize__33sFState_c<20dLytMsgWindowSword_c>Fv = .text:0x8011AE80; // type:function size:0x1C -fn_8011AEA0 = .text:0x8011AEA0; // type:function size:0x1C -fn_8011AEC0 = .text:0x8011AEC0; // type:function size:0x1C -fn_8011AEE0 = .text:0x8011AEE0; // type:function size:0x1C -fn_8011AF00 = .text:0x8011AF00; // type:function size:0x1C -fn_8011AF20 = .text:0x8011AF20; // type:function size:0x1C -fn_8011AF40 = .text:0x8011AF40; // type:function size:0x1C +initialize__32sFState_c<19dLytMsgWindowLink_c>Fv = .text:0x8011AEA0; // type:function size:0x1C +execute__32sFState_c<19dLytMsgWindowLink_c>Fv = .text:0x8011AEC0; // type:function size:0x1C +finalize__32sFState_c<19dLytMsgWindowLink_c>Fv = .text:0x8011AEE0; // type:function size:0x1C +initialize__32sFState_c<19dLytMsgWindowTalk_c>Fv = .text:0x8011AF00; // type:function size:0x1C +execute__32sFState_c<19dLytMsgWindowTalk_c>Fv = .text:0x8011AF20; // type:function size:0x1C +finalize__32sFState_c<19dLytMsgWindowTalk_c>Fv = .text:0x8011AF40; // type:function size:0x1C initializeState__86sStateMgr_c<17dLytAutoCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011AF60; // type:function size:0x10 executeState__86sStateMgr_c<17dLytAutoCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011AF70; // type:function size:0x10 finalizeState__86sStateMgr_c<17dLytAutoCaption_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011AF80; // type:function size:0x10 @@ -6962,14 +6962,14 @@ getState__88sStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c,12sFStateFc getNewStateID__88sStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B0B0; // type:function size:0x10 getStateID__88sStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B0C0; // type:function size:0x10 getOldStateID__88sStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B0D0; // type:function size:0x10 -fn_8011B0E0 = .text:0x8011B0E0; // type:function size:0x10 -fn_8011B0F0 = .text:0x8011B0F0; // type:function size:0x10 -fn_8011B100 = .text:0x8011B100; // type:function size:0x10 -fn_8011B110 = .text:0x8011B110; // type:function size:0x10 -fn_8011B120 = .text:0x8011B120; // type:function size:0x10 -fn_8011B130 = .text:0x8011B130; // type:function size:0x10 -fn_8011B140 = .text:0x8011B140; // type:function size:0x10 -fn_8011B150 = .text:0x8011B150; // type:function size:0x10 +initializeState__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B0E0; // type:function size:0x10 +executeState__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B0F0; // type:function size:0x10 +finalizeState__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B100; // type:function size:0x10 +refreshState__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B110; // type:function size:0x10 +getState__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B120; // type:function size:0x10 +getNewStateID__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B130; // type:function size:0x10 +getStateID__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B140; // type:function size:0x10 +getOldStateID__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B150; // type:function size:0x10 initializeState__89sStateMgr_c<20dLytMsgWindowStone_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B160; // type:function size:0x10 executeState__89sStateMgr_c<20dLytMsgWindowStone_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B170; // type:function size:0x10 finalizeState__89sStateMgr_c<20dLytMsgWindowStone_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B180; // type:function size:0x10 @@ -6994,31 +6994,31 @@ getState__89sStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c,12sFStateF getNewStateID__89sStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B2B0; // type:function size:0x10 getStateID__89sStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B2C0; // type:function size:0x10 getOldStateID__89sStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B2D0; // type:function size:0x10 -fn_8011B2E0 = .text:0x8011B2E0; // type:function size:0x10 -fn_8011B2F0 = .text:0x8011B2F0; // type:function size:0x10 -fn_8011B300 = .text:0x8011B300; // type:function size:0x10 -fn_8011B310 = .text:0x8011B310; // type:function size:0x10 -fn_8011B320 = .text:0x8011B320; // type:function size:0x10 -fn_8011B330 = .text:0x8011B330; // type:function size:0x10 -fn_8011B340 = .text:0x8011B340; // type:function size:0x10 -fn_8011B350 = .text:0x8011B350; // type:function size:0x10 -fn_8011B360 = .text:0x8011B360; // type:function size:0x10 -fn_8011B370 = .text:0x8011B370; // type:function size:0x10 -fn_8011B380 = .text:0x8011B380; // type:function size:0x10 -fn_8011B390 = .text:0x8011B390; // type:function size:0x10 -fn_8011B3A0 = .text:0x8011B3A0; // type:function size:0x10 -fn_8011B3B0 = .text:0x8011B3B0; // type:function size:0x10 -fn_8011B3C0 = .text:0x8011B3C0; // type:function size:0x10 -fn_8011B3D0 = .text:0x8011B3D0; // type:function size:0x10 +initializeState__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B2E0; // type:function size:0x10 +executeState__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B2F0; // type:function size:0x10 +finalizeState__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B300; // type:function size:0x10 +refreshState__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B310; // type:function size:0x10 +getState__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B320; // type:function size:0x10 +getNewStateID__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B330; // type:function size:0x10 +getStateID__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B340; // type:function size:0x10 +getOldStateID__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B350; // type:function size:0x10 +initializeState__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B360; // type:function size:0x10 +executeState__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B370; // type:function size:0x10 +finalizeState__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B380; // type:function size:0x10 +refreshState__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011B390; // type:function size:0x10 +getState__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B3A0; // type:function size:0x10 +getNewStateID__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B3B0; // type:function size:0x10 +getStateID__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B3C0; // type:function size:0x10 +getOldStateID__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8011B3D0; // type:function size:0x10 finalizeState__30sFStateID_c<15dLytMsgWindow_c>CFR15dLytMsgWindow_c = .text:0x8011B3E0; // type:function size:0x30 executeState__30sFStateID_c<15dLytMsgWindow_c>CFR15dLytMsgWindow_c = .text:0x8011B410; // type:function size:0x30 initializeState__30sFStateID_c<15dLytMsgWindow_c>CFR15dLytMsgWindow_c = .text:0x8011B440; // type:function size:0x30 -fn_8011B470 = .text:0x8011B470; // type:function size:0x30 -fn_8011B4A0 = .text:0x8011B4A0; // type:function size:0x30 -fn_8011B4D0 = .text:0x8011B4D0; // type:function size:0x30 -fn_8011B500 = .text:0x8011B500; // type:function size:0x30 -fn_8011B530 = .text:0x8011B530; // type:function size:0x30 -fn_8011B560 = .text:0x8011B560; // type:function size:0x30 +finalizeState__34sFStateID_c<19dLytMsgWindowTalk_c>CFR19dLytMsgWindowTalk_c = .text:0x8011B470; // type:function size:0x30 +executeState__34sFStateID_c<19dLytMsgWindowTalk_c>CFR19dLytMsgWindowTalk_c = .text:0x8011B4A0; // type:function size:0x30 +initializeState__34sFStateID_c<19dLytMsgWindowTalk_c>CFR19dLytMsgWindowTalk_c = .text:0x8011B4D0; // type:function size:0x30 +finalizeState__34sFStateID_c<19dLytMsgWindowLink_c>CFR19dLytMsgWindowLink_c = .text:0x8011B500; // type:function size:0x30 +executeState__34sFStateID_c<19dLytMsgWindowLink_c>CFR19dLytMsgWindowLink_c = .text:0x8011B530; // type:function size:0x30 +initializeState__34sFStateID_c<19dLytMsgWindowLink_c>CFR19dLytMsgWindowLink_c = .text:0x8011B560; // type:function size:0x30 finalizeState__35sFStateID_c<20dLytMsgWindowSword_c>CFR20dLytMsgWindowSword_c = .text:0x8011B590; // type:function size:0x30 executeState__35sFStateID_c<20dLytMsgWindowSword_c>CFR20dLytMsgWindowSword_c = .text:0x8011B5C0; // type:function size:0x30 initializeState__35sFStateID_c<20dLytMsgWindowSword_c>CFR20dLytMsgWindowSword_c = .text:0x8011B5F0; // type:function size:0x30 @@ -7028,9 +7028,9 @@ initializeState__34sFStateID_c<19dLytMsgWindowWood_c>CFR19dLytMsgWindowWood_c = finalizeState__35sFStateID_c<20dLytMsgWindowStone_c>CFR20dLytMsgWindowStone_c = .text:0x8011B6B0; // type:function size:0x30 executeState__35sFStateID_c<20dLytMsgWindowStone_c>CFR20dLytMsgWindowStone_c = .text:0x8011B6E0; // type:function size:0x30 initializeState__35sFStateID_c<20dLytMsgWindowStone_c>CFR20dLytMsgWindowStone_c = .text:0x8011B710; // type:function size:0x30 -fn_8011B740 = .text:0x8011B740; // type:function size:0x30 -fn_8011B770 = .text:0x8011B770; // type:function size:0x30 -fn_8011B7A0 = .text:0x8011B7A0; // type:function size:0x30 +finalizeState__33sFStateID_c<18dLytMsgWindowGet_c>CFR18dLytMsgWindowGet_c = .text:0x8011B740; // type:function size:0x30 +executeState__33sFStateID_c<18dLytMsgWindowGet_c>CFR18dLytMsgWindowGet_c = .text:0x8011B770; // type:function size:0x30 +initializeState__33sFStateID_c<18dLytMsgWindowGet_c>CFR18dLytMsgWindowGet_c = .text:0x8011B7A0; // type:function size:0x30 finalizeState__34sFStateID_c<19dLytMsgWindowDemo_c>CFR19dLytMsgWindowDemo_c = .text:0x8011B7D0; // type:function size:0x30 executeState__34sFStateID_c<19dLytMsgWindowDemo_c>CFR19dLytMsgWindowDemo_c = .text:0x8011B800; // type:function size:0x30 initializeState__34sFStateID_c<19dLytMsgWindowDemo_c>CFR19dLytMsgWindowDemo_c = .text:0x8011B830; // type:function size:0x30 @@ -7072,7 +7072,7 @@ finalizeState_Off__29dLytMsgWindowSelectBtnParts_cFv = .text:0x8011E500; // type init__29dLytMsgWindowSelectBtnParts_cFv = .text:0x8011E510; // type:function size:0x54 execute__29dLytMsgWindowSelectBtnParts_cFv = .text:0x8011E570; // type:function size:0x4C executeState__98sStateMgr_c<29dLytMsgWindowSelectBtnParts_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8011E5C0; // type:function size:0x10 -fn_8011E5D0 = .text:0x8011E5D0; // type:function size:0x138 +fn_8011E5D0__24dLytMsgWindowSelectBtn_cFUlb = .text:0x8011E5D0; // type:function size:0x138 fn_8011E710 = .text:0x8011E710; // type:function size:0x10 initializeState_Wait__24dLytMsgWindowSelectBtn_cFv = .text:0x8011E720; // type:function size:0x2C executeState_Wait__24dLytMsgWindowSelectBtn_cFv = .text:0x8011E750; // type:function size:0x4 @@ -7161,8 +7161,8 @@ fn_80121EB0 = .text:0x80121EB0; // type:function size:0x8 fn_80121EC0 = .text:0x80121EC0; // type:function size:0x8 fn_80121ED0 = .text:0x80121ED0; // type:function size:0x8 LytMsgWindowTalk__initStates = .text:0x80121EE0; // type:function size:0x3F4 -LytMsgWindowTalk__dtor2 = .text:0x801222E0; // type:function size:0x58 -fn_80122340 = .text:0x80122340; // type:function size:0x88 +__dt__34sFStateID_c<19dLytMsgWindowTalk_c>Fv = .text:0x801222E0; // type:function size:0x58 +isSameName__34sFStateID_c<19dLytMsgWindowTalk_c>CFPCc = .text:0x80122340; // type:function size:0x88 fn_801223D0 = .text:0x801223D0; // type:function size:0x2F8 fn_801226D0 = .text:0x801226D0; // type:function size:0xE0 fn_801227B0 = .text:0x801227B0; // type:function size:0x8 @@ -7192,8 +7192,8 @@ fn_80123220 = .text:0x80123220; // type:function size:0x8 fn_80123230 = .text:0x80123230; // type:function size:0x8 fn_80123240 = .text:0x80123240; // type:function size:0x8 LytMsgWindowLink__initStates = .text:0x80123250; // type:function size:0x3F4 -LytMsgWindowLink__dtor = .text:0x80123650; // type:function size:0x58 -fn_801236B0 = .text:0x801236B0; // type:function size:0x88 +__dt__34sFStateID_c<19dLytMsgWindowLink_c>Fv = .text:0x80123650; // type:function size:0x58 +isSameName__34sFStateID_c<19dLytMsgWindowLink_c>CFPCc = .text:0x801236B0; // type:function size:0x88 fn_80123740 = .text:0x80123740; // type:function size:0x2A0 fn_801239E0 = .text:0x801239E0; // type:function size:0xE0 fn_80123AC0 = .text:0x80123AC0; // type:function size:0x8 @@ -7220,8 +7220,8 @@ fn_80124220 = .text:0x80124220; // type:function size:0x8 fn_80124230 = .text:0x80124230; // type:function size:0x8 fn_80124240 = .text:0x80124240; // type:function size:0x8 LytMsgWindowGet__initStates = .text:0x80124250; // type:function size:0x338 -LytMsgWindowGet__dtor = .text:0x80124590; // type:function size:0x58 -fn_801245F0 = .text:0x801245F0; // type:function size:0x88 +__dt__33sFStateID_c<18dLytMsgWindowGet_c>Fv = .text:0x80124590; // type:function size:0x58 +isSameName__33sFStateID_c<18dLytMsgWindowGet_c>CFPCc = .text:0x801245F0; // type:function size:0x88 build__20dLytMsgWindowSword_cFPQ23d2d10ResAccIf_cPQ23d2d10ResAccIf_cP15dTagProcessor_c = .text:0x80124680; // type:function size:0x3A4 remove__20dLytMsgWindowSword_cFv = .text:0x80124A30; // type:function size:0xE0 initializeState_Invisible__20dLytMsgWindowSword_cFv = .text:0x80124B10; // type:function size:0x8 @@ -9343,7 +9343,7 @@ getNaviTableEquipmentCheckEntry = .text:0x8016C360; // type:function size:0x9C FiContext__setTargetedActorTextId = .text:0x8016C400; // type:function size:0x9C rateBattlePerformance = .text:0x8016C4A0; // type:function size:0x148 prepareFiHelpIndex = .text:0x8016C5F0; // type:function size:0x288 -getGlobalFiInfo0 = .text:0x8016C880; // type:function size:0x20 +getGlobalFiInfo0__9FiContextFl = .text:0x8016C880; // type:function size:0x20 fn_8016C8A0 = .text:0x8016C8A0; // type:function size:0x54 createGlobalFiContext = .text:0x8016C900; // type:function size:0x2C FiContext__init = .text:0x8016C930; // type:function size:0xB4 @@ -32070,10 +32070,10 @@ __vt__58sFStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c> = .data:0x805 __vt__88sStateMgr_c<19dLytMsgWindowDemo_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8051B8E8; // type:object size:0x30 __vt__35sFStateFct_c<19dLytMsgWindowDemo_c> = .data:0x8051B918; // type:object size:0x14 __vt__32sFState_c<19dLytMsgWindowDemo_c> = .data:0x8051B930; // type:object size:0x18 -lbl_8051B948 = .data:0x8051B948; // type:object size:0x30 -lbl_8051B978 = .data:0x8051B978; // type:object size:0x30 -lbl_8051B9A8 = .data:0x8051B9A8; // type:object size:0x14 -lbl_8051B9C0 = .data:0x8051B9C0; // type:object size:0x18 +__vt__57sFStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c> = .data:0x8051B948; // type:object size:0x30 +__vt__87sStateMgr_c<18dLytMsgWindowGet_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8051B978; // type:object size:0x30 +__vt__34sFStateFct_c<18dLytMsgWindowGet_c> = .data:0x8051B9A8; // type:object size:0x14 +__vt__31sFState_c<18dLytMsgWindowGet_c> = .data:0x8051B9C0; // type:object size:0x18 __vt__59sFStateMgr_c<20dLytMsgWindowStone_c,20sStateMethodUsr_FI_c> = .data:0x8051B9D8; // type:object size:0x30 __vt__89sStateMgr_c<20dLytMsgWindowStone_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8051BA08; // type:object size:0x30 __vt__36sFStateFct_c<20dLytMsgWindowStone_c> = .data:0x8051BA38; // type:object size:0x14 @@ -32086,14 +32086,14 @@ __vt__59sFStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c> = .data:0x80 __vt__89sStateMgr_c<20dLytMsgWindowSword_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8051BB28; // type:object size:0x30 __vt__36sFStateFct_c<20dLytMsgWindowSword_c> = .data:0x8051BB58; // type:object size:0x14 __vt__33sFState_c<20dLytMsgWindowSword_c> = .data:0x8051BB70; // type:object size:0x18 -lbl_8051BB88 = .data:0x8051BB88; // type:object size:0x30 -lbl_8051BBB8 = .data:0x8051BBB8; // type:object size:0x30 -lbl_8051BBE8 = .data:0x8051BBE8; // type:object size:0x14 -lbl_8051BC00 = .data:0x8051BC00; // type:object size:0x18 -lbl_8051BC18 = .data:0x8051BC18; // type:object size:0x30 -lbl_8051BC48 = .data:0x8051BC48; // type:object size:0x30 -lbl_8051BC78 = .data:0x8051BC78; // type:object size:0x14 -lbl_8051BC90 = .data:0x8051BC90; // type:object size:0x18 +__vt__58sFStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c> = .data:0x8051BB88; // type:object size:0x30 +__vt__88sStateMgr_c<19dLytMsgWindowLink_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8051BBB8; // type:object size:0x30 +__vt__35sFStateFct_c<19dLytMsgWindowLink_c> = .data:0x8051BBE8; // type:object size:0x14 +__vt__32sFState_c<19dLytMsgWindowLink_c> = .data:0x8051BC00; // type:object size:0x18 +__vt__58sFStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c> = .data:0x8051BC18; // type:object size:0x30 +__vt__88sStateMgr_c<19dLytMsgWindowTalk_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8051BC48; // type:object size:0x30 +__vt__35sFStateFct_c<19dLytMsgWindowTalk_c> = .data:0x8051BC78; // type:object size:0x14 +__vt__32sFState_c<19dLytMsgWindowTalk_c> = .data:0x8051BC90; // type:object size:0x18 __vt__20MsgWindowBlurRelated = .data:0x8051BCA8; // type:object size:0xC __vt__13dLytTextLight = .data:0x8051BCB4; // type:object size:0xC __vt__13dLytTextSword = .data:0x8051BCC0; // type:object size:0xC @@ -32177,8 +32177,8 @@ lbl_8051CD90 = .data:0x8051CD90; // type:object size:0x10 lbl_8051CDA0 = .data:0x8051CDA0; // type:object size:0x10 lbl_8051CDB0 = .data:0x8051CDB0; // type:object size:0xC lbl_8051CDBC = .data:0x8051CDBC; // type:object size:0x18 -LytMsgWindowTalk__vtable = .data:0x8051CDD4; // type:object size:0x1B4 -lbl_8051CF88 = .data:0x8051CF88; // type:object size:0x38 +__vt__19dLytMsgWindowTalk_c = .data:0x8051CDD4; // type:object size:0x1B4 +__vt__34sFStateID_c<19dLytMsgWindowTalk_c> = .data:0x8051CF88; // type:object size:0x38 lbl_8051CFC0 = .data:0x8051CFC0; // type:object size:0x18 lbl_8051CFD8 = .data:0x8051CFD8; // type:object size:0x10 lbl_8051CFE8 = .data:0x8051CFE8; // type:object size:0x18 data:string @@ -32196,8 +32196,8 @@ lbl_8051D0B0 = .data:0x8051D0B0; // type:object size:0x10 lbl_8051D0C0 = .data:0x8051D0C0; // type:object size:0x10 lbl_8051D0D0 = .data:0x8051D0D0; // type:object size:0xC lbl_8051D0DC = .data:0x8051D0DC; // type:object size:0x14 data:string -lbl_8051D0F0 = .data:0x8051D0F0; // type:object size:0x1B0 -lbl_8051D2A0 = .data:0x8051D2A0; // type:object size:0x38 +__vt__19dLytMsgWindowLink_c = .data:0x8051D0F0; // type:object size:0x1B0 +__vt__34sFStateID_c<19dLytMsgWindowLink_c> = .data:0x8051D2A0; // type:object size:0x38 lbl_8051D2D8 = .data:0x8051D2D8; // type:object size:0x18 lbl_8051D2F0 = .data:0x8051D2F0; // type:object size:0xC lbl_8051D2FC = .data:0x8051D2FC; // type:object size:0x1C @@ -32214,8 +32214,8 @@ lbl_8051D3A0 = .data:0x8051D3A0; // type:object size:0x10 lbl_8051D3B0 = .data:0x8051D3B0; // type:object size:0x10 lbl_8051D3C0 = .data:0x8051D3C0; // type:object size:0xC lbl_8051D3CC = .data:0x8051D3CC; // type:object size:0x14 -LytMsgWindowGet__vtable = .data:0x8051D3E0; // type:object size:0x160 -lbl_8051D540 = .data:0x8051D540; // type:object size:0x38 +__vt__18dLytMsgWindowGet_c = .data:0x8051D3E0; // type:object size:0x160 +__vt__33sFStateID_c<18dLytMsgWindowGet_c> = .data:0x8051D540; // type:object size:0x38 lbl_8051D578 = .data:0x8051D578; // type:object size:0x1C lbl_8051D594 = .data:0x8051D594; // type:object size:0xC lbl_8051D5A0 = .data:0x8051D5A0; // type:object size:0x1C @@ -48831,7 +48831,7 @@ LytMsgWindowSelectBtn__LytMsgWindowSelectBtnParts__STATE_WAIT = .bss:0x805AE680; LytMsgWindowSelectBtn__LytMsgWindowSelectBtnParts__STATE_ON = .bss:0x805AE6C0; // type:object size:0x40 data:4byte LytMsgWindowSelectBtn__LytMsgWindowSelectBtnParts__STATE_SELECT = .bss:0x805AE700; // type:object size:0x40 data:4byte LytMsgWindowSelectBtn__LytMsgWindowSelectBtnParts__STATE_OFF = .bss:0x805AE740; // type:object size:0x40 data:4byte -LytMsgWindowSelectBtn__STATE_WAIT = .bss:0x805AE780; // type:object size:0x40 data:4byte +StateID_Wait__24dLytMsgWindowSelectBtn_c = .bss:0x805AE780; // type:object size:0x40 data:4byte LytMsgWindowSelectBtn__STATE_IN = .bss:0x805AE7C0; // type:object size:0x40 data:4byte LytMsgWindowSelectBtn__STATE_WAIT_SELECT = .bss:0x805AE800; // type:object size:0x80 data:4byte LytMsgWindowSelectBtn__STATE_WAIT_DECIDE = .bss:0x805AE880; // type:object size:0x80 data:4byte diff --git a/include/d/d_message.h b/include/d/d_message.h index eaab2918..47b0fe4d 100644 --- a/include/d/d_message.h +++ b/include/d/d_message.h @@ -88,6 +88,8 @@ private: /* 0x2FC */ s32 field_0x2FC; + /* 0x300 */ u8 _0x300[0x329 - 0x300]; + /* 0x329 */ bool field_0x329; /* 0x32A */ bool field_0x32A; diff --git a/include/d/d_pad.h b/include/d/d_pad.h index e158fafb..5175dbca 100644 --- a/include/d/d_pad.h +++ b/include/d/d_pad.h @@ -3,8 +3,12 @@ class dPad { public: - + static bool checkButtonAPressed(); + static bool checkButtonBPressed(); static bool checkButtonZPressed(); + static bool checkButtonPlusPressed(); + + static bool checkButtonAHeld(); static bool checkButtonZHeld(); }; diff --git a/include/d/lyt/d_lyt_auto_caption.h b/include/d/lyt/d_lyt_auto_caption.h index 1a2bbfcd..7ad26cba 100644 --- a/include/d/lyt/d_lyt_auto_caption.h +++ b/include/d/lyt/d_lyt_auto_caption.h @@ -34,6 +34,7 @@ public: bool checkSomethingMeter(); private: + MSG_WINDOW_STATE_MGR_INLINE(dLytAutoCaption_c) /* 0x010 */ UI_STATE_MGR_DECLARE(dLytAutoCaption_c); /* 0x068 */ d2d::ResAccIf_c mResAcc; /* 0x3C4 */ d2d::LytBase_c mLyt; diff --git a/include/d/lyt/d_lyt_auto_explain.h b/include/d/lyt/d_lyt_auto_explain.h index 538bd2be..b3988de4 100644 --- a/include/d/lyt/d_lyt_auto_explain.h +++ b/include/d/lyt/d_lyt_auto_explain.h @@ -34,6 +34,7 @@ public: bool checkSomethingMeter(); private: + MSG_WINDOW_STATE_MGR_INLINE(dLytAutoExplain_c) /* 0x010 */ UI_STATE_MGR_DECLARE(dLytAutoExplain_c); /* 0x068 */ d2d::ResAccIf_c mResAcc; /* 0x3C4 */ d2d::LytBase_c mLyt; diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_common.h b/include/d/lyt/msg_window/d_lyt_msg_window_common.h index 6278730e..70548d3c 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_common.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_common.h @@ -9,6 +9,8 @@ #include "m/m_vec.h" #include "nw4r/lyt/lyt_pane.h" +#define MSG_WINDOW_STATE_MGR_INLINE(className) void changeState(const sFStateID_c &newState) { mStateMgr.changeState(newState); } + class dLytMsgWindowSubtype : public m2d::Base_c { public: /* vt 0x08 */ virtual ~dLytMsgWindowSubtype() {} diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_demo.h b/include/d/lyt/msg_window/d_lyt_msg_window_demo.h index 952912f4..3b930056 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_demo.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_demo.h @@ -41,6 +41,7 @@ public: private: static SizedString<64> getTextLabel(); + MSG_WINDOW_STATE_MGR_INLINE(dLytMsgWindowDemo_c) /* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowDemo_c); /* 0x04C */ d2d::ResAccIf_c mResAcc; /* 0x3BC */ d2d::LytBase_c mLyt; diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_get.h b/include/d/lyt/msg_window/d_lyt_msg_window_get.h index 0f36ac58..fbfa1f6a 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_get.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_get.h @@ -2,10 +2,13 @@ #define D_LYT_MSG_WINDOW_GET_H #include "d/d_tag_processor.h" +#include "d/d_textwindow_unk.h" #include "d/lyt/d2d.h" +#include "d/lyt/d_lyt_common_a_btn.h" #include "d/lyt/d_textbox.h" #include "d/lyt/msg_window/d_lyt_msg_window_common.h" #include "s/s_State.hpp" +#include "toBeSorted/lyt_vec2f.h" class dLytMsgWindowGet_c : public dLytMsgWindowSubtype { public: @@ -39,8 +42,27 @@ public: STATE_FUNC_DECLARE(dLytMsgWindowGet_c, Visible); STATE_FUNC_DECLARE(dLytMsgWindowGet_c, Out); + dLytMsgWindowCharData *getCharData() { + return mBlurRelated.getCharData(); + } + private: - /* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowGet_c); + MSG_WINDOW_STATE_MGR_INLINE(dLytMsgWindowGet_c) + /* 0x0010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowGet_c); + /* 0x004C */ d2d::SubPaneList mSubpaneList; + /* 0x005C */ d2d::SubPaneListNode mNodes[1]; + /* 0x0068 */ d2d::ResAccIf_c mResAcc; + /* 0x03D8 */ d2d::LytBase_c mLyt; + /* 0x0468 */ d2d::AnmGroup_c mAnm[3]; + /* 0x0528 */ dTextBox_c *mpTextboxes[2]; + /* 0x0530 */ nw4r::lyt::Pane *mpPanes[6]; + /* 0x0548 */ dTagProcessor_c *mpTagProcessor; + /* 0x054C */ u8 _0x054C[8]; + /* 0x0554 */ dLytCommonABtn_c mBtn; + /* 0x06E8 */ dLytTextLight mText; + /* 0x07C4 */ MsgWindowBlurRelated mBlurRelated; + + /* 0x55B8 */ bool mShouldBeOpen; }; #endif diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_link.h b/include/d/lyt/msg_window/d_lyt_msg_window_link.h index 35f3e7d7..3d517d26 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_link.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_link.h @@ -2,7 +2,9 @@ #define D_LYT_MSG_WINDOW_LINK_H #include "d/d_tag_processor.h" +#include "d/d_textwindow_unk.h" #include "d/lyt/d2d.h" +#include "d/lyt/d_lyt_common_a_btn.h" #include "d/lyt/d_textbox.h" #include "d/lyt/msg_window/d_lyt_msg_window_common.h" #include "s/s_State.hpp" @@ -39,8 +41,26 @@ public: STATE_FUNC_DECLARE(dLytMsgWindowLink_c, Visible); STATE_FUNC_DECLARE(dLytMsgWindowLink_c, Out); + dLytMsgWindowCharData *getCharData() { + return mBlurRelated.getCharData(); + } + private: - /* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowLink_c); + MSG_WINDOW_STATE_MGR_INLINE(dLytMsgWindowLink_c) + /* 0x0010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowLink_c); + /* 0x004C */ d2d::SubPaneList mSubpaneList; + /* 0x005C */ d2d::SubPaneListNode mNodes[1]; + /* 0x0068 */ d2d::ResAccIf_c mResAcc; + /* 0x03D8 */ d2d::LytBase_c mLyt; + /* 0x0468 */ d2d::AnmGroup_c mAnm[4]; + /* 0x0568 */ dTextBox_c *mpTextboxes[2]; + /* 0x0570 */ nw4r::lyt::Pane *mpPanes[5]; + /* 0x0584 */ dTagProcessor_c *mpTagProcessor; + /* 0x0588 */ u8 _0x0588[0x05C0 - 0x0588]; + /* 0x05C0 */ dLytCommonABtn_c mBtn; + /* 0x0770 */ dLytTextLight mText; + /* 0x084C */ MsgWindowBlurRelated mBlurRelated; + /* 0x583C */ bool mShouldBeOpen; }; #endif diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_stone.h b/include/d/lyt/msg_window/d_lyt_msg_window_stone.h index cc98a9d3..4e2b4e71 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_stone.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_stone.h @@ -42,6 +42,7 @@ public: STATE_FUNC_DECLARE(dLytMsgWindowStone_c, Out); private: + MSG_WINDOW_STATE_MGR_INLINE(dLytMsgWindowStone_c) /* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowStone_c); /* 0x04C */ d2d::SubPaneList mSubpaneList; /* 0x05C */ d2d::SubPaneListNode mNodes[1]; diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_sword.h b/include/d/lyt/msg_window/d_lyt_msg_window_sword.h index 772dd631..268a5bf5 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_sword.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_sword.h @@ -53,6 +53,7 @@ public: } private: + MSG_WINDOW_STATE_MGR_INLINE(dLytMsgWindowSword_c) /* 0x0010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowSword_c); /* 0x004C */ d2d::SubPaneList mSubpaneList; /* 0x005C */ d2d::SubPaneListNode mNodes[1]; diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_talk.h b/include/d/lyt/msg_window/d_lyt_msg_window_talk.h index 05bc5095..abf23061 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_talk.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_talk.h @@ -2,7 +2,9 @@ #define D_LYT_MSG_WINDOW_TALK_H #include "d/d_tag_processor.h" +#include "d/d_textwindow_unk.h" #include "d/lyt/d2d.h" +#include "d/lyt/d_lyt_common_a_btn.h" #include "d/lyt/d_textbox.h" #include "d/lyt/msg_window/d_lyt_msg_window_common.h" #include "s/s_State.hpp" @@ -39,8 +41,26 @@ public: STATE_FUNC_DECLARE(dLytMsgWindowTalk_c, Visible); STATE_FUNC_DECLARE(dLytMsgWindowTalk_c, Out); + dLytMsgWindowCharData *getCharData() { + return mBlurRelated.getCharData(); + } + private: - /* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowTalk_c); + MSG_WINDOW_STATE_MGR_INLINE(dLytMsgWindowTalk_c) + /* 0x0010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowTalk_c); + /* 0x004C */ d2d::SubPaneList mSubpaneList; + /* 0x005C */ d2d::SubPaneListNode mNodes[1]; + /* 0x0068 */ d2d::ResAccIf_c mResAcc; + /* 0x03D8 */ d2d::LytBase_c mLyt; + /* 0x0468 */ d2d::AnmGroup_c mAnm[4]; + /* 0x0568 */ dTextBox_c *mpTextboxes[2]; + /* 0x0570 */ nw4r::lyt::Pane *mpPanes[5]; + /* 0x0584 */ dTagProcessor_c *mpTagProcessor; + /* 0x0588 */ u8 _0x0588[0x05C0 - 0x0588]; + /* 0x05C0 */ dLytCommonABtn_c mBtn; + /* 0x0770 */ dLytTextLight mText; + /* 0x084C */ MsgWindowBlurRelated mBlurRelated; + /* 0x583C */ bool mShouldBeOpen; }; #endif diff --git a/include/d/lyt/msg_window/d_lyt_msg_window_wood.h b/include/d/lyt/msg_window/d_lyt_msg_window_wood.h index 45f43937..d1a31ff6 100644 --- a/include/d/lyt/msg_window/d_lyt_msg_window_wood.h +++ b/include/d/lyt/msg_window/d_lyt_msg_window_wood.h @@ -43,6 +43,7 @@ public: STATE_FUNC_DECLARE(dLytMsgWindowWood_c, Out); private: + MSG_WINDOW_STATE_MGR_INLINE(dLytMsgWindowWood_c) /* 0x010 */ UI_STATE_MGR_DECLARE(dLytMsgWindowWood_c); /* 0x04C */ d2d::SubPaneList mSubpaneList; /* 0x05C */ d2d::SubPaneListNode mNodes[1]; diff --git a/include/toBeSorted/lyt_related_floats.h b/include/toBeSorted/lyt_related_floats.h index 17f92f6a..5b12e937 100644 --- a/include/toBeSorted/lyt_related_floats.h +++ b/include/toBeSorted/lyt_related_floats.h @@ -8,4 +8,14 @@ inline f32 get_805751A4() { return lbl_805751A4; } +extern "C" s32 lbl_80575134; +inline s32 get_80575134() { + return lbl_80575134; +} + +extern "C" s32 lbl_8057511C; +inline s32 get_8057511C() { + return lbl_8057511C; +} + #endif diff --git a/include/toBeSorted/other_sound_stuff.h b/include/toBeSorted/other_sound_stuff.h index de8d083e..9de21cee 100644 --- a/include/toBeSorted/other_sound_stuff.h +++ b/include/toBeSorted/other_sound_stuff.h @@ -5,5 +5,6 @@ extern "C" void *lbl_80575DE0; extern "C" void fn_803996B0(void *, const char *msgLabelName, u16, s32); +extern "C" void fn_803998A0(void *, u16, u16); #endif diff --git a/src/d/lyt/msg_window/d_lyt_msg_window.cpp b/src/d/lyt/msg_window/d_lyt_msg_window.cpp index 3b310dc6..f7461031 100644 --- a/src/d/lyt/msg_window/d_lyt_msg_window.cpp +++ b/src/d/lyt/msg_window/d_lyt_msg_window.cpp @@ -3,6 +3,7 @@ #include "common.h" #include "d/a/obj/d_a_obj_base.h" #include "d/d_message.h" +#include "d/d_pad.h" #include "d/d_stage_mgr.h" #include "d/d_tag_processor.h" #include "d/d_textunk.h" @@ -14,8 +15,8 @@ // clang-format off // vtable order #include "d/lyt/msg_window/d_lyt_msg_window_common.h" -#include "d/lyt/msg_window/d_lyt_msg_window_link.h" #include "d/lyt/msg_window/d_lyt_msg_window_talk.h" +#include "d/lyt/msg_window/d_lyt_msg_window_link.h" #include "d/lyt/msg_window/d_lyt_msg_window_sword.h" #include "d/lyt/msg_window/d_lyt_msg_window_wood.h" #include "d/lyt/msg_window/d_lyt_msg_window_stone.h" @@ -24,6 +25,7 @@ #include "d/lyt/d_lyt_auto_explain.h" #include "d/lyt/d_lyt_auto_caption.h" // clang-format on + #include "f/f_base.h" #include "m/m_fader_base.h" #include "m/m_vec.h" @@ -32,7 +34,9 @@ #include "toBeSorted/d_d3d.h" #include "toBeSorted/event_manager.h" #include "toBeSorted/global_fi_context.h" +#include "toBeSorted/lyt_related_floats.h" #include "toBeSorted/music_mgrs.h" +#include "toBeSorted/other_sound_stuff.h" #include "toBeSorted/small_sound_mgr.h" #include @@ -77,11 +81,6 @@ STATE_DEFINE(dLytMsgWindow_c, DemoIn); STATE_DEFINE(dLytMsgWindow_c, DemoVisible); STATE_DEFINE(dLytMsgWindow_c, DemoOut); -extern "C" bool checkButtonAPressed(); -extern "C" bool checkButtonAHeld(); -extern "C" bool checkButtonBPressed(); -extern "C" bool checkButtonPlusPressed(); - bool dLytMsgWindow_c::build() { mResAcc1.attach(LayoutArcManager::GetInstance()->getLoadedData("DoButton"), ""); mResAcc2.attach(LayoutArcManager::GetInstance()->getLoadedData("System2D"), ""); @@ -176,7 +175,7 @@ void dLytMsgWindow_c::executeState_Invisible() { field_0x80C = 0; if (dMessage_c::isValidTextLabel(mName)) { mNameCopy = mName; - dMessage_c::loadTextByLabel(mNameCopy, mpTagProcessor, true, 0, 0); + dMessage_c::getTextMessageByLabel(mNameCopy, mpTagProcessor, true, 0, 0); if (field_0x1220 == 0) { if (field_0x80D != 0) { @@ -219,10 +218,10 @@ void dLytMsgWindow_c::executeState_Invisible() { field_0x828 = mpWindowSword->getCharData(); } else if (mpTagProcessor->getMsgWindowSubtype() == 9) { mpCurrentSubtype = mpWindowLink; - // TODO + field_0x828 = mpWindowLink->getCharData(); } else if (mpTagProcessor->getMsgWindowSubtype() == 5) { mpCurrentSubtype = mpWindowGet; - // TODO + field_0x828 = mpWindowGet->getCharData(); } else if (mpTagProcessor->getMsgWindowSubtype() == 30) { mpCurrentSubtype = mpWindowDemo; field_0x828 = mpWindowDemo->getCharData(); @@ -235,7 +234,7 @@ void dLytMsgWindow_c::executeState_Invisible() { return; } else { mpCurrentSubtype = mpWindowTalk; - // TODO + field_0x828 = mpWindowTalk->getCharData(); } mpCurrentSubtype->setPriority(0x8A); dTextBox_c *box = mpCurrentSubtype->getTextBox(); @@ -251,9 +250,6 @@ void dLytMsgWindow_c::executeState_Invisible() { } void dLytMsgWindow_c::finalizeState_Invisible() {} -extern "C" s32 lbl_80575134; -extern "C" s32 lbl_8057511C; - void dLytMsgWindow_c::initializeState_In() { dAcObjBase_c *obj = EventManager::fn_800A08F0(fBase_c::ACTOR); u32 param = 0; @@ -267,7 +263,7 @@ void dLytMsgWindow_c::initializeState_In() { d3d::fn_80016960(field_0x768, obj->poscopy2); // TODO - stack and FPR problems field_0x768 = mVec3_c(field_0x768.x, field_0x768.y, 0.0f); - if (field_0x768.y < lbl_8057511C / 3.0f + lbl_80575134) { + if (field_0x768.y < get_8057511C() / 3.0f + get_80575134()) { param = 2; } } @@ -297,14 +293,14 @@ void dLytMsgWindow_c::executeState_OutputText() { if (field_0x815 == 0 && field_0x816 == 0) { mpMsgWindowUnk->textAdvancingRelated(false, true); - if (field_0x811 == 0 && checkButtonAHeld() && field_0x815 == 0 && field_0x816 == 0) { + if (field_0x811 == 0 && dPad::checkButtonAHeld() && field_0x815 == 0 && field_0x816 == 0) { mpMsgWindowUnk->textAdvancingRelated(false, true); } } if (mpTagProcessor->getMsgWindowSubtype() >= 2 && mpTagProcessor->getMsgWindowSubtype() < 5) { - // TODO - } else if (mpTagProcessor->getMsgWindowSubtype() < 2 && oldValue != mpMsgWindowUnk->getField_0x147A()) { + fn_803998A0(lbl_80575DE0, mpMsgWindowUnk->getField_0x147A(), mpMsgWindowUnk->getField_0x147C()); + } else if (mpTagProcessor->getMsgWindowSubtype() <= 1 && oldValue != mpMsgWindowUnk->getField_0x147A()) { u16 a = mpMsgWindowUnk->getField_0x147C(); f32 b = (dTagProcessor_c::fn_800B8040(0, 0) * 100.0f); SmallSoundManager::GetInstance()->playButtonPressSoundWhenAdvancingTextBoxes(a / b); @@ -353,7 +349,7 @@ void dLytMsgWindow_c::executeState_WaitKeyChangePage0() { field_0x813 = 0; allowChange = true; } - } else if (checkButtonAPressed() || fn_8011A5D0()) { + } else if (dPad::checkButtonAPressed() || fn_8011A5D0()) { fn_8035E880(BGM_MGR); allowChange = true; } @@ -411,7 +407,7 @@ void dLytMsgWindow_c::executeState_WaitKeyMsgEnd0() { field_0x813 = 0; allowChange = true; } - } else if (checkButtonAPressed() || fn_8011A5D0()) { + } else if (dPad::checkButtonAPressed() || fn_8011A5D0()) { fn_8035E880(BGM_MGR); allowChange = true; } @@ -553,7 +549,8 @@ void dLytMsgWindow_c::finalizeState_MapOpen() {} void dLytMsgWindow_c::initializeState_WaitKeyMapClose() {} void dLytMsgWindow_c::executeState_WaitKeyMapClose() { - if ((checkButtonBPressed() || checkButtonPlusPressed()) && !dLytControlGame_c::getInstance()->isNotInStateMap()) { + if ((dPad::checkButtonBPressed() || dPad::checkButtonPlusPressed()) && + !dLytControlGame_c::getInstance()->isNotInStateMap()) { dLytControlGame_c::getInstance()->fn_802CCD40(true); mStateMgr.changeState(StateID_MapClose); } diff --git a/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp b/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp index 5cdec587..4f1dc36f 100644 --- a/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp +++ b/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp @@ -1,10 +1,12 @@ #include "d/lyt/msg_window/d_lyt_msg_window_select_btn.h" #include "common.h" +#include "d/d_pad.h" #include "d/lyt/d2d.h" #include "toBeSorted/music_mgrs.h" #include "toBeSorted/small_sound_mgr.h" + STATE_DEFINE(dLytMsgWindowSelectBtnParts_c, Wait); STATE_DEFINE(dLytMsgWindowSelectBtnParts_c, On); STATE_DEFINE(dLytMsgWindowSelectBtnParts_c, Select); @@ -305,8 +307,7 @@ void dLytMsgWindowSelectBtn_c::initializeState_WaitSelect() { mBtnHelper.fn_8011C970(); mBtnHelper.field_0x48 = fn_8011FE50(); } -extern "C" bool checkButtonAPressed(); -extern "C" bool checkButtonBPressed(); + void dLytMsgWindowSelectBtn_c::executeState_WaitSelect() { u8 v = mBtnHelper.fn_8011CAC0(); if (v == 1) { @@ -327,7 +328,7 @@ void dLytMsgWindowSelectBtn_c::executeState_WaitSelect() { return; } - if (mBtnHelper.field_0x50 >= 0 && checkButtonAPressed()) { + if (mBtnHelper.field_0x50 >= 0 && dPad::checkButtonAPressed()) { field_0x9D0 = 0; field_0x9B0 = mBtnHelper.field_0x50; mStateMgr.changeState(StateID_WaitDecide); @@ -338,7 +339,7 @@ void dLytMsgWindowSelectBtn_c::executeState_WaitSelect() { SmallSoundManager::GetInstance()->playSound(SE_S_TALK_CURSOR_OK); } fn_8035E880(BGM_MGR); - } else if (checkButtonBPressed()) { + } else if (dPad::checkButtonBPressed()) { f32 f = mBtnHelper.fn_8011D690(field_0x9BC); // TODO field_0x9CC = field_0x9BC; diff --git a/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp b/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp index 47fd2eb6..dc2a35b3 100644 --- a/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp +++ b/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp @@ -243,7 +243,7 @@ void dLytMsgWindowSword_c::executeState_Out() { if (mAnm[SWORD_ANIM_OUT].isEndReached()) { mAnm[SWORD_ANIM_OUT].setAnimEnable(false); - mStateMgr.changeState(StateID_Visible); + mStateMgr.changeState(StateID_Invisible); } } void dLytMsgWindowSword_c::finalizeState_Out() {}