diff options
| -rw-r--r-- | config/SOUE01/symbols.txt | 355 | ||||
| -rw-r--r-- | configure.py | 4 | ||||
| -rw-r--r-- | include/d/d_stage.h | 24 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_boss_gauge.h | 15 | ||||
| -rw-r--r-- | include/d/lyt/d_lyt_map_capture.h | 16 | ||||
| -rw-r--r-- | include/d/lyt/meter/d_lyt_meter.h | 2 | ||||
| -rw-r--r-- | src/d/d_stage.cpp | 63 | ||||
| -rw-r--r-- | src/d/lyt/d_lyt_boss_gauge.cpp | 202 | ||||
| -rw-r--r-- | src/d/lyt/d_lyt_map_capture.cpp | 59 | ||||
| -rw-r--r-- | src/d/lyt/meter/d_lyt_meter.cpp | 4 |
10 files changed, 537 insertions, 207 deletions
diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 9e03037b..fe721dc1 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -4748,7 +4748,7 @@ isDoingSkyKeepPuzzle__15dLytMeterMain_cFv = .text:0x800D53D0; // type:function s fn_800D5420__15dLytMeterMain_cFv = .text:0x800D5420; // type:function size:0x114 isSilentRealm__15dLytMeterMain_cFv = .text:0x800D5540; // type:function size:0x4C fn_800D5590__15dLytMeterMain_cFv = .text:0x800D5590; // type:function size:0x98 -fn_800D5630__15dLytMeterMain_cFv = .text:0x800D5630; // type:function size:0x18 +fn_800D5630__15dLytMeterMain_cFf = .text:0x800D5630; // type:function size:0x18 isInModeMap__15dLytMeterMain_cFv = .text:0x800D5650; // type:function size:0x24 isInModePause__15dLytMeterMain_cFv = .text:0x800D5680; // type:function size:0x28 shouldBeHiddenGeneral__15dLytMeterMain_cFv = .text:0x800D56B0; // type:function size:0xFC @@ -7488,13 +7488,13 @@ finalizeState_RenderingWait__16dLytMapCapture_cFv = .text:0x8012D540; // type:fu initializeState_RenderingWaitStep2__16dLytMapCapture_cFv = .text:0x8012D550; // type:function size:0x4 executeState_RenderingWaitStep2__16dLytMapCapture_cFv = .text:0x8012D560; // type:function size:0x94 finalizeState_RenderingWaitStep2__16dLytMapCapture_cFv = .text:0x8012D600; // type:function size:0x4 -fn_8012D610 = .text:0x8012D610; // type:function size:0x5C -fn_8012D670 = .text:0x8012D670; // type:function size:0x5C -fn_8012D6D0 = .text:0x8012D6D0; // type:function size:0x20 -fn_8012D6F0 = .text:0x8012D6F0; // type:function size:0xE4 +fn_8012D610__16dLytMapCapture_cFP7mVec3_c = .text:0x8012D610; // type:function size:0x5C +fn_8012D670__16dLytMapCapture_cFP7mVec3_c = .text:0x8012D670; // type:function size:0x5C +fn_8012D6D0__16dLytMapCapture_cFP7mVec3_c = .text:0x8012D6D0; // type:function size:0x20 +fn_8012D6F0__16dLytMapCapture_cFv = .text:0x8012D6F0; // type:function size:0xE4 execute__16dLytMapCapture_cFv = .text:0x8012D7E0; // type:function size:0x10 isBusyRendering__16dLytMapCapture_cCFv = .text:0x8012D7F0; // type:function size:0x8 -fn_8012D800 = .text:0x8012D800; // type:function size:0xEC +fn_8012D800__16dLytMapCapture_cFPQ34nw4r3lyt4PaneP9_GXTexObj = .text:0x8012D800; // type:function size:0xEC finalizeState__31sFStateID_c<16dLytMapCapture_c>CFR16dLytMapCapture_c = .text:0x8012D8F0; // type:function size:0x30 executeState__31sFStateID_c<16dLytMapCapture_c>CFR16dLytMapCapture_c = .text:0x8012D920; // type:function size:0x30 initializeState__31sFStateID_c<16dLytMapCapture_c>CFR16dLytMapCapture_c = .text:0x8012D950; // type:function size:0x30 @@ -8705,27 +8705,27 @@ __dt__22dLytDepositBoxCursor_cFv = .text:0x801580B0; // type:function size:0x1A8 getName__22dLytDepositBoxCursor_cCFv = .text:0x80158260; // type:function size:0x8 scope:weak getLyt__22dLytDepositBoxCursor_cFv = .text:0x80158270; // type:function size:0x8 scope:weak getPane__22dLytDepositBoxCursor_cFv = .text:0x80158280; // type:function size:0x8 scope:weak -fn_80158290 = .text:0x80158290; // type:function size:0x4 -fn_801582A0 = .text:0x801582A0; // type:function size:0x134 -fn_801583E0 = .text:0x801583E0; // type:function size:0x4 -fn_801583F0 = .text:0x801583F0; // type:function size:0x4 -fn_80158400 = .text:0x80158400; // type:function size:0x78 -fn_80158480 = .text:0x80158480; // type:function size:0x4 -fn_80158490 = .text:0x80158490; // type:function size:0x4 -fn_801584A0 = .text:0x801584A0; // type:function size:0x78 -fn_80158520 = .text:0x80158520; // type:function size:0x4 -fn_80158530 = .text:0x80158530; // type:function size:0x4 -fn_80158540 = .text:0x80158540; // type:function size:0x80 -fn_801585C0 = .text:0x801585C0; // type:function size:0x4 +initializeState_None__15dLytBossGauge_cFv = .text:0x80158290; // type:function size:0x4 +executeState_None__15dLytBossGauge_cFv = .text:0x801582A0; // type:function size:0x134 +finalizeState_None__15dLytBossGauge_cFv = .text:0x801583E0; // type:function size:0x4 +initializeState_In__15dLytBossGauge_cFv = .text:0x801583F0; // type:function size:0x4 +executeState_In__15dLytBossGauge_cFv = .text:0x80158400; // type:function size:0x78 +finalizeState_In__15dLytBossGauge_cFv = .text:0x80158480; // type:function size:0x4 +initializeState_Move__15dLytBossGauge_cFv = .text:0x80158490; // type:function size:0x4 +executeState_Move__15dLytBossGauge_cFv = .text:0x801584A0; // type:function size:0x78 +finalizeState_Move__15dLytBossGauge_cFv = .text:0x80158520; // type:function size:0x4 +initializeState_Out__15dLytBossGauge_cFv = .text:0x80158530; // type:function size:0x4 +executeState_Out__15dLytBossGauge_cFv = .text:0x80158540; // type:function size:0x80 +finalizeState_Out__15dLytBossGauge_cFv = .text:0x801585C0; // type:function size:0x4 build__15dLytBossGauge_cFv = .text:0x801585D0; // type:function size:0x188 execute__15dLytBossGauge_cFv = .text:0x80158760; // type:function size:0x100 draw__15dLytBossGauge_cFv = .text:0x80158860; // type:function size:0x68 remove__15dLytBossGauge_cFv = .text:0x801588D0; // type:function size:0x5C setMode__15dLytBossGauge_cFl = .text:0x80158930; // type:function size:0x10 -fn_80158940__15dLytBossGauge_cFv = .text:0x80158940; // type:function size:0x108 +fn_80158940__15dLytBossGauge_cFf = .text:0x80158940; // type:function size:0x108 __sinit_\d_lyt_boss_gauge_cpp = .text:0x80158A50; // type:function size:0x338 scope:local -__dt__30sFStateID_c<15dLytBossGauge_c>Fv = .text:0x80158D90; // type:function size:0x58 -isSameName__30sFStateID_c<15dLytBossGauge_c>CFPCc = .text:0x80158DF0; // type:function size:0x88 +__dt__30sFStateID_c<15dLytBossGauge_c>Fv = .text:0x80158D90; // type:function size:0x58 scope:weak +isSameName__30sFStateID_c<15dLytBossGauge_c>CFPCc = .text:0x80158DF0; // type:function size:0x88 scope:weak __ct__15dLytPauseBack_cFv = .text:0x80158E80; // type:function size:0xC0 __dt__54sFStateMgr_c<15dLytPauseBack_c,20sStateMethodUsr_FI_c>Fv = .text:0x80158F40; // type:function size:0xA4 scope:weak __dt__84sStateMgr_c<15dLytPauseBack_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80158FF0; // type:function size:0xA0 scope:weak @@ -9532,7 +9532,7 @@ changeItemId__14dItemMdlItem_cFUs = .text:0x8016FD70; // type:function size:0x4 setPriorityDraw__14dItemMdlItem_cFv = .text:0x8016FD80; // type:function size:0x10 unsetPriorityDraw__14dItemMdlItem_cFv = .text:0x8016FD90; // type:function size:0x10 getMdl__14dItemMdlItem_cFv = .text:0x8016FDA0; // type:function size:0x8 -__dt__14dItemMdlItem_cFv = .text:0x8016FDB0; // type:function size:0x70 +__dt__14dItemMdlItem_cFv = .text:0x8016FDB0; // type:function size:0x70 scope:weak isMdlForItemId__15dItemMdlRupee_cFUs = .text:0x8016FE20; // type:function size:0x4C init__15dItemMdlRupee_cFUsP9dAcItem_cP12mAllocator_c = .text:0x8016FE70; // type:function size:0x2C0 setDrawMode__15dItemMdlRupee_cFUc = .text:0x80170130; // type:function size:0x1C @@ -9552,7 +9552,7 @@ draw__20dItemMdlLightFruit_cFv = .text:0x80170710; // type:function size:0x84 changeItemId__20dItemMdlLightFruit_cFUs = .text:0x801707A0; // type:function size:0x4 setPriorityDraw__20dItemMdlLightFruit_cFv = .text:0x801707B0; // type:function size:0x48 unsetPriorityDraw__20dItemMdlLightFruit_cFv = .text:0x80170800; // type:function size:0x48 -__dt__20dItemMdlLightFruit_cFv = .text:0x80170850; // type:function size:0x94 +__dt__20dItemMdlLightFruit_cFv = .text:0x80170850; // type:function size:0x94 scope:weak isMdlForItemId__22dItemMdlStaminaFruit_cFUs = .text:0x801708F0; // type:function size:0x10 init__22dItemMdlStaminaFruit_cFUsP9dAcItem_cP12mAllocator_c = .text:0x80170900; // type:function size:0x204 setDrawMode__22dItemMdlStaminaFruit_cFUc = .text:0x80170B10; // type:function size:0x1C @@ -9562,7 +9562,7 @@ draw__22dItemMdlStaminaFruit_cFv = .text:0x80170BD0; // type:function size:0x84 changeItemId__22dItemMdlStaminaFruit_cFUs = .text:0x80170C60; // type:function size:0x4 setPriorityDraw__22dItemMdlStaminaFruit_cFv = .text:0x80170C70; // type:function size:0x48 unsetPriorityDraw__22dItemMdlStaminaFruit_cFv = .text:0x80170CC0; // type:function size:0x48 -__dt__22dItemMdlStaminaFruit_cFv = .text:0x80170D10; // type:function size:0x94 +__dt__22dItemMdlStaminaFruit_cFv = .text:0x80170D10; // type:function size:0x94 scope:weak fn_80170DB0 = .text:0x80170DB0; // type:function size:0x8 fn_80170DC0 = .text:0x80170DC0; // type:function size:0x8 fn_80170DD0 = .text:0x80170DD0; // type:function size:0x8 @@ -11000,14 +11000,14 @@ fn_801B4B60 = .text:0x801B4B60; // type:function size:0xC fn_801B4B70 = .text:0x801B4B70; // type:function size:0xC fn_801B4B80 = .text:0x801B4B80; // type:function size:0xE8 fn_801B4C70 = .text:0x801B4C70; // type:function size:0x1C -fn_801B4C90 = .text:0x801B4C90; // type:function size:0x1C -fn_801B4CB0 = .text:0x801B4CB0; // type:function size:0x1C +fn_801B4C90__10MapRelatedCFv = .text:0x801B4C90; // type:function size:0x1C +fn_801B4CB0__10MapRelatedCFv = .text:0x801B4CB0; // type:function size:0x1C fn_801B4CD0 = .text:0x801B4CD0; // type:function size:0x78 fn_801B4D50 = .text:0x801B4D50; // type:function size:0x1BC fn_801B4F10__10MapRelatedCFlRC7mVec3_c = .text:0x801B4F10; // type:function size:0x1AC -fn_801B50C0 = .text:0x801B50C0; // type:function size:0xB8 +fn_801B50C0__10MapRelatedFl = .text:0x801B50C0; // type:function size:0xB8 fn_801B5180 = .text:0x801B5180; // type:function size:0x7F0 -fn_801B5970 = .text:0x801B5970; // type:function size:0x38 +fn_801B5970__10MapRelatedCFP9_GXTexObj = .text:0x801B5970; // type:function size:0x38 fn_801B59B0 = .text:0x801B59B0; // type:function size:0x58 fn_801B5A10 = .text:0x801B5A10; // type:function size:0x58 __dt__8dStage_cFv = .text:0x801B5A70; // type:function size:0x94 @@ -28317,7 +28317,7 @@ brlanMap = .rodata:0x804E80F8; // type:object size:0x40 scope:local data:4byte brlanMap = .rodata:0x804E8138; // type:object size:0x18 scope:local data:4byte brlanMap = .rodata:0x804E8150; // type:object size:0xC8 scope:local data:4byte brlanMap = .rodata:0x804E8218; // type:object size:0x10 scope:local data:4byte -lbl_804E8228 = .rodata:0x804E8228; // type:object size:0x20 data:4byte +brlanMap = .rodata:0x804E8228; // type:object size:0x20 scope:local data:4byte brlanMap = .rodata:0x804E8248; // type:object size:0x10 scope:local data:4byte sNavTable1 = .rodata:0x804E8258; // type:object size:0x128 scope:local sNavTable2 = .rodata:0x804E8380; // type:object size:0x128 scope:local @@ -28364,7 +28364,7 @@ sMdlConfig__16dItemMdlBottle_c = .rodata:0x804E94F8; // type:object size:0x60 sMdlConfig__14dItemMdlTear_c = .rodata:0x804E9558; // type:object size:0x10 sMdlIdx__16dItemMdlPotion_c = .rodata:0x804E9568; // type:object size:0xA7 sMdlConfig__16dItemMdlPotion_c = .rodata:0x804E9610; // type:object size:0x40 -sMdlIdx__14dItemMdlItem_c = .rodata:0x804E9650; // type:object size:0xA8 +sMdlIdx__14dItemMdlItem_c = .rodata:0x804E9650; // type:object size:0xA7 sMdlConfig__14dItemMdlItem_c = .rodata:0x804E96F8; // type:object size:0x350 RUPEE_ITEM_TO_TEX_FRAME = .rodata:0x804E9A48; // type:object size:0x38 data:2byte sEffectResourceIds = .rodata:0x804E9A80; // type:object size:0x18 data:2byte @@ -34517,17 +34517,34 @@ __vt__33sFStateID_c<18dLytDepositStock_c> = .data:0x80524B90; // type:object siz @13007 = .data:0x80524C70; // type:object size:0x9 scope:local data:string @13789 = .data:0x80524C7C; // type:object size:0x9 scope:local data:string __vt__22dLytDepositBoxCursor_c = .data:0x80524C88; // type:object size:0x34 -lbl_80524CD0 = .data:0x80524CD0; // type:object size:0xF data:string -lbl_80524CE0 = .data:0x80524CE0; // type:object size:0x16 data:string -lbl_80524CF8 = .data:0x80524CF8; // type:object size:0xB data:string -lbl_80524D04 = .data:0x80524D04; // type:object size:0x17 data:string -lbl_80524D1C = .data:0x80524D1C; // type:object size:0x1E data:string -lbl_80524D3C = .data:0x80524D3C; // type:object size:0xC data:string -lbl_80524D48 = .data:0x80524D48; // type:object size:0x18 data:string -lbl_80524D60 = .data:0x80524D60; // type:object size:0xA data:string -lbl_80524D6C = .data:0x80524D6C; // type:object size:0xA data:string -lbl_80524D78 = .data:0x80524D78; // type:object size:0x120 -__vt__30sFStateID_c<15dLytBossGauge_c> = .data:0x80524E98; // type:object size:0x34 +@11765 = .data:0x80524CD0; // type:object size:0xF scope:local data:string +...data.0 = .data:0x80524CD0; // type:label scope:local +@11479 = .data:0x80524CE0; // type:object size:0x16 scope:local data:string +@11480 = .data:0x80524CF8; // type:object size:0xB scope:local data:string +@11481 = .data:0x80524D04; // type:object size:0x17 scope:local data:string +@11482 = .data:0x80524D1C; // type:object size:0x1E scope:local data:string +@11483 = .data:0x80524D3C; // type:object size:0xC scope:local data:string +@11484 = .data:0x80524D48; // type:object size:0x18 scope:local data:string +@11485 = .data:0x80524D60; // type:object size:0xA scope:local data:string +@11807 = .data:0x80524D6C; // type:object size:0xA scope:local data:string +@11809 = .data:0x80524D78; // type:object size:0x13 scope:local data:string +@11870 = .data:0x80524D8C; // type:object size:0xC scope:local +@11871 = .data:0x80524D98; // type:object size:0xC scope:local +@11872 = .data:0x80524DA4; // type:object size:0xC scope:local +@11873 = .data:0x80524DB0; // type:object size:0xC scope:local +@11874 = .data:0x80524DBC; // type:object size:0xC scope:local +@11875 = .data:0x80524DC8; // type:object size:0xC scope:local +@11876 = .data:0x80524DD4; // type:object size:0xC scope:local +@11877 = .data:0x80524DE0; // type:object size:0xC scope:local +@11878 = .data:0x80524DEC; // type:object size:0xC scope:local +@11879 = .data:0x80524DF8; // type:object size:0xC scope:local +@11880 = .data:0x80524E04; // type:object size:0xC scope:local +@11881 = .data:0x80524E10; // type:object size:0xC scope:local +@11883 = .data:0x80524E1C; // type:object size:0x1E scope:local data:string +@11884 = .data:0x80524E3C; // type:object size:0x1C scope:local data:string +@11885 = .data:0x80524E58; // type:object size:0x1E scope:local data:string +@11886 = .data:0x80524E78; // type:object size:0x1D scope:local data:string +__vt__30sFStateID_c<15dLytBossGauge_c> = .data:0x80524E98; // type:object size:0x34 scope:weak @20998 = .data:0x80524ED0; // type:object size:0x16 scope:local data:string ...data.0 = .data:0x80524ED0; // type:label scope:local @20999 = .data:0x80524EE8; // type:object size:0xB scope:local data:string @@ -35143,110 +35160,110 @@ __vt__14dItemMdlTear_c = .data:0x805283D0; // type:object size:0x30 __vt__16dItemMdlBottle_c = .data:0x80528400; // type:object size:0x30 __vt__16dItemMdlShield_c = .data:0x80528430; // type:object size:0x30 __vt__13dItemMdlPut_c = .data:0x80528460; // type:object size:0x30 -lbl_80528490 = .data:0x80528490; // type:object size:0xC data:string -lbl_8052849C = .data:0x8052849C; // type:object size:0x9 data:string -lbl_805284A8 = .data:0x805284A8; // type:object size:0xA data:string -lbl_805284B4 = .data:0x805284B4; // type:object size:0xF data:string -lbl_805284C4 = .data:0x805284C4; // type:object size:0xC data:string -lbl_805284D0 = .data:0x805284D0; // type:object size:0xE data:string -lbl_805284E0 = .data:0x805284E0; // type:object size:0xD data:string -lbl_805284F0 = .data:0x805284F0; // type:object size:0xD data:string -lbl_80528500 = .data:0x80528500; // type:object size:0xD data:string -lbl_80528510 = .data:0x80528510; // type:object size:0xD data:string -lbl_80528520 = .data:0x80528520; // type:object size:0xC data:string -lbl_8052852C = .data:0x8052852C; // type:object size:0xC data:string -lbl_80528538 = .data:0x80528538; // type:object size:0xC data:string -lbl_80528544 = .data:0x80528544; // type:object size:0x11 data:string -lbl_80528558 = .data:0x80528558; // type:object size:0xA data:string -lbl_80528564 = .data:0x80528564; // type:object size:0xD data:string -lbl_80528574 = .data:0x80528574; // type:object size:0xB data:string -lbl_80528580 = .data:0x80528580; // type:object size:0x11 data:string -lbl_80528594 = .data:0x80528594; // type:object size:0xE data:string -lbl_805285A4 = .data:0x805285A4; // type:object size:0xB data:string -lbl_805285B0 = .data:0x805285B0; // type:object size:0x9 data:string -lbl_805285BC = .data:0x805285BC; // type:object size:0x9 data:string -lbl_805285C8 = .data:0x805285C8; // type:object size:0xF data:string -lbl_805285D8 = .data:0x805285D8; // type:object size:0xB data:string -lbl_805285E4 = .data:0x805285E4; // type:object size:0xB data:string -lbl_805285F0 = .data:0x805285F0; // type:object size:0xB data:string -lbl_805285FC = .data:0x805285FC; // type:object size:0xB data:string -lbl_80528608 = .data:0x80528608; // type:object size:0xA data:string -lbl_80528614 = .data:0x80528614; // type:object size:0xE data:string -lbl_80528624 = .data:0x80528624; // type:object size:0xE data:string -lbl_80528634 = .data:0x80528634; // type:object size:0xE data:string -lbl_80528644 = .data:0x80528644; // type:object size:0xF data:string -lbl_80528658 = .data:0x80528658; // type:object size:0x10 data:string -lbl_80528668 = .data:0x80528668; // type:object size:0xE data:string -lbl_80528678 = .data:0x80528678; // type:object size:0xD data:string -lbl_80528688 = .data:0x80528688; // type:object size:0xA data:string -lbl_80528694 = .data:0x80528694; // type:object size:0xA data:string -lbl_805286A0 = .data:0x805286A0; // type:object size:0xA data:string -lbl_805286AC = .data:0x805286AC; // type:object size:0xA data:string -lbl_805286B8 = .data:0x805286B8; // type:object size:0xA data:string -lbl_805286C4 = .data:0x805286C4; // type:object size:0xA data:string -lbl_805286D0 = .data:0x805286D0; // type:object size:0xA data:string -lbl_805286DC = .data:0x805286DC; // type:object size:0xA data:string -lbl_805286E8 = .data:0x805286E8; // type:object size:0xD data:string -lbl_805286F8 = .data:0x805286F8; // type:object size:0xF data:string -lbl_80528708 = .data:0x80528708; // type:object size:0x10 data:string -lbl_80528718 = .data:0x80528718; // type:object size:0xE data:string -lbl_80528728 = .data:0x80528728; // type:object size:0xE data:string -lbl_80528738 = .data:0x80528738; // type:object size:0xE data:string -lbl_80528748 = .data:0x80528748; // type:object size:0x10 data:string -lbl_80528758 = .data:0x80528758; // type:object size:0x10 data:string -lbl_80528768 = .data:0x80528768; // type:object size:0x10 data:string -lbl_80528778 = .data:0x80528778; // type:object size:0x11 data:string -lbl_8052878C = .data:0x8052878C; // type:object size:0x11 data:string -lbl_805287A0 = .data:0x805287A0; // type:object size:0x11 data:string -lbl_805287B4 = .data:0x805287B4; // type:object size:0xB data:string -lbl_805287C0 = .data:0x805287C0; // type:object size:0x15 data:string -lbl_805287D8 = .data:0x805287D8; // type:object size:0x10 data:string -lbl_805287E8 = .data:0x805287E8; // type:object size:0xD data:string -lbl_805287F8 = .data:0x805287F8; // type:object size:0x12 data:string -lbl_8052880C = .data:0x8052880C; // type:object size:0x11 data:string -lbl_80528820 = .data:0x80528820; // type:object size:0x13 data:string -lbl_80528834 = .data:0x80528834; // type:object size:0xD data:string -lbl_80528848 = .data:0x80528848; // type:object size:0x10 data:string -lbl_80528858 = .data:0x80528858; // type:object size:0x13 data:string -lbl_80528870 = .data:0x80528870; // type:object size:0x10 data:string -lbl_80528880 = .data:0x80528880; // type:object size:0x12 data:string -lbl_80528894 = .data:0x80528894; // type:object size:0xF data:string -lbl_805288A8 = .data:0x805288A8; // type:object size:0x10 data:string -lbl_805288B8 = .data:0x805288B8; // type:object size:0xD data:string -lbl_805288C8 = .data:0x805288C8; // type:object size:0xA data:string -lbl_805288D4 = .data:0x805288D4; // type:object size:0xA data:string -lbl_805288E0 = .data:0x805288E0; // type:object size:0xA data:string -lbl_805288EC = .data:0x805288EC; // type:object size:0xA data:string -lbl_805288F8 = .data:0x805288F8; // type:object size:0xA data:string -lbl_80528904 = .data:0x80528904; // type:object size:0xA data:string -lbl_80528910 = .data:0x80528910; // type:object size:0xA data:string -lbl_8052891C = .data:0x8052891C; // type:object size:0xA data:string -lbl_80528928 = .data:0x80528928; // type:object size:0xA data:string -lbl_80528934 = .data:0x80528934; // type:object size:0xA data:string -lbl_80528940 = .data:0x80528940; // type:object size:0xA data:string -lbl_8052894C = .data:0x8052894C; // type:object size:0xA data:string -lbl_80528958 = .data:0x80528958; // type:object size:0xA data:string -lbl_80528964 = .data:0x80528964; // type:object size:0xA data:string -lbl_80528970 = .data:0x80528970; // type:object size:0xA data:string -lbl_8052897C = .data:0x8052897C; // type:object size:0xF data:string -lbl_8052898C = .data:0x8052898C; // type:object size:0xC data:string -lbl_80528998 = .data:0x80528998; // type:object size:0xF data:string -lbl_805289A8 = .data:0x805289A8; // type:object size:0xC data:string -lbl_805289B4 = .data:0x805289B4; // type:object size:0xF data:string -lbl_805289C4 = .data:0x805289C4; // type:object size:0xC data:string -lbl_805289D0 = .data:0x805289D0; // type:object size:0xC data:string -lbl_805289DC = .data:0x805289DC; // type:object size:0x11 data:string -lbl_805289F0 = .data:0x805289F0; // type:object size:0xC data:string -lbl_805289FC = .data:0x805289FC; // type:object size:0xA data:string -lbl_80528A08 = .data:0x80528A08; // type:object size:0xE data:string -lbl_80528A18 = .data:0x80528A18; // type:object size:0xE data:string -lbl_80528A28 = .data:0x80528A28; // type:object size:0xE data:string +@21265 = .data:0x80528490; // type:object size:0xC scope:local data:string +@21266 = .data:0x8052849C; // type:object size:0x9 scope:local data:string +@21267 = .data:0x805284A8; // type:object size:0xA scope:local data:string +@21269 = .data:0x805284B4; // type:object size:0xF scope:local data:string +@21271 = .data:0x805284C4; // type:object size:0xC scope:local data:string +@21272 = .data:0x805284D0; // type:object size:0xE scope:local data:string +@21273 = .data:0x805284E0; // type:object size:0xD scope:local data:string +@21274 = .data:0x805284F0; // type:object size:0xD scope:local data:string +@21275 = .data:0x80528500; // type:object size:0xD scope:local data:string +@21276 = .data:0x80528510; // type:object size:0xD scope:local data:string +@21277 = .data:0x80528520; // type:object size:0xC scope:local data:string +@21278 = .data:0x8052852C; // type:object size:0xC scope:local data:string +@21279 = .data:0x80528538; // type:object size:0xC scope:local data:string +@21280 = .data:0x80528544; // type:object size:0x11 scope:local data:string +@21282 = .data:0x80528558; // type:object size:0xA scope:local data:string +@21284 = .data:0x80528564; // type:object size:0xD scope:local data:string +@21285 = .data:0x80528574; // type:object size:0xB scope:local data:string +@21286 = .data:0x80528580; // type:object size:0x11 scope:local data:string +@21287 = .data:0x80528594; // type:object size:0xE scope:local data:string +@21288 = .data:0x805285A4; // type:object size:0xB scope:local data:string +@21289 = .data:0x805285B0; // type:object size:0x9 scope:local data:string +@21290 = .data:0x805285BC; // type:object size:0x9 scope:local data:string +@21291 = .data:0x805285C8; // type:object size:0xF scope:local data:string +@21293 = .data:0x805285D8; // type:object size:0xB scope:local data:string +@21294 = .data:0x805285E4; // type:object size:0xB scope:local data:string +@21295 = .data:0x805285F0; // type:object size:0xB scope:local data:string +@21298 = .data:0x805285FC; // type:object size:0xB scope:local data:string +@21299 = .data:0x80528608; // type:object size:0xA scope:local data:string +@21300 = .data:0x80528614; // type:object size:0xE scope:local data:string +@21301 = .data:0x80528624; // type:object size:0xE scope:local data:string +@21302 = .data:0x80528634; // type:object size:0xE scope:local data:string +@21303 = .data:0x80528644; // type:object size:0xF scope:local data:string +@21304 = .data:0x80528658; // type:object size:0x10 scope:local data:string +@21305 = .data:0x80528668; // type:object size:0xE scope:local data:string +@21306 = .data:0x80528678; // type:object size:0xD scope:local data:string +@21307 = .data:0x80528688; // type:object size:0xA scope:local data:string +@21308 = .data:0x80528694; // type:object size:0xA scope:local data:string +@21309 = .data:0x805286A0; // type:object size:0xA scope:local data:string +@21310 = .data:0x805286AC; // type:object size:0xA scope:local data:string +@21311 = .data:0x805286B8; // type:object size:0xA scope:local data:string +@21312 = .data:0x805286C4; // type:object size:0xA scope:local data:string +@21313 = .data:0x805286D0; // type:object size:0xA scope:local data:string +@21314 = .data:0x805286DC; // type:object size:0xA scope:local data:string +@21315 = .data:0x805286E8; // type:object size:0xD scope:local data:string +@21316 = .data:0x805286F8; // type:object size:0xF scope:local data:string +@21317 = .data:0x80528708; // type:object size:0x10 scope:local data:string +@21318 = .data:0x80528718; // type:object size:0xE scope:local data:string +@21319 = .data:0x80528728; // type:object size:0xE scope:local data:string +@21320 = .data:0x80528738; // type:object size:0xE scope:local data:string +@21321 = .data:0x80528748; // type:object size:0x10 scope:local data:string +@21322 = .data:0x80528758; // type:object size:0x10 scope:local data:string +@21323 = .data:0x80528768; // type:object size:0x10 scope:local data:string +@21324 = .data:0x80528778; // type:object size:0x11 scope:local data:string +@21325 = .data:0x8052878C; // type:object size:0x11 scope:local data:string +@21326 = .data:0x805287A0; // type:object size:0x11 scope:local data:string +@21328 = .data:0x805287B4; // type:object size:0xB scope:local data:string +@21330 = .data:0x805287C0; // type:object size:0x15 scope:local data:string +@21331 = .data:0x805287D8; // type:object size:0x10 scope:local data:string +@21332 = .data:0x805287E8; // type:object size:0xD scope:local data:string +@21333 = .data:0x805287F8; // type:object size:0x12 scope:local data:string +@21334 = .data:0x8052880C; // type:object size:0x11 scope:local data:string +@21335 = .data:0x80528820; // type:object size:0x13 scope:local data:string +@21336 = .data:0x80528834; // type:object size:0xD scope:local data:string +@21337 = .data:0x80528848; // type:object size:0x10 scope:local data:string +@21338 = .data:0x80528858; // type:object size:0x13 scope:local data:string +@21339 = .data:0x80528870; // type:object size:0x10 scope:local data:string +@21340 = .data:0x80528880; // type:object size:0x12 scope:local data:string +@21341 = .data:0x80528894; // type:object size:0xF scope:local data:string +@21342 = .data:0x805288A8; // type:object size:0x10 scope:local data:string +@21343 = .data:0x805288B8; // type:object size:0xD scope:local data:string +@21344 = .data:0x805288C8; // type:object size:0xA scope:local data:string +@21345 = .data:0x805288D4; // type:object size:0xA scope:local data:string +@21346 = .data:0x805288E0; // type:object size:0xA scope:local data:string +@21347 = .data:0x805288EC; // type:object size:0xA scope:local data:string +@21348 = .data:0x805288F8; // type:object size:0xA scope:local data:string +@21349 = .data:0x80528904; // type:object size:0xA scope:local data:string +@21350 = .data:0x80528910; // type:object size:0xA scope:local data:string +@21351 = .data:0x8052891C; // type:object size:0xA scope:local data:string +@21352 = .data:0x80528928; // type:object size:0xA scope:local data:string +@21353 = .data:0x80528934; // type:object size:0xA scope:local data:string +@21354 = .data:0x80528940; // type:object size:0xA scope:local data:string +@21355 = .data:0x8052894C; // type:object size:0xA scope:local data:string +@21356 = .data:0x80528958; // type:object size:0xA scope:local data:string +@21357 = .data:0x80528964; // type:object size:0xA scope:local data:string +@21358 = .data:0x80528970; // type:object size:0xA scope:local data:string +@21359 = .data:0x8052897C; // type:object size:0xF scope:local data:string +@21360 = .data:0x8052898C; // type:object size:0xC scope:local data:string +@21361 = .data:0x80528998; // type:object size:0xF scope:local data:string +@21362 = .data:0x805289A8; // type:object size:0xC scope:local data:string +@21363 = .data:0x805289B4; // type:object size:0xF scope:local data:string +@21364 = .data:0x805289C4; // type:object size:0xC scope:local data:string +@21365 = .data:0x805289D0; // type:object size:0xC scope:local data:string +@21366 = .data:0x805289DC; // type:object size:0x11 scope:local data:string +@21367 = .data:0x805289F0; // type:object size:0xC scope:local data:string +@21368 = .data:0x805289FC; // type:object size:0xA scope:local data:string +@21369 = .data:0x80528A08; // type:object size:0xE scope:local data:string +@21608 = .data:0x80528A18; // type:object size:0xE scope:local data:string +@21609 = .data:0x80528A28; // type:object size:0xE scope:local data:string __vt__14dItemMdlItem_c = .data:0x80528A38; // type:object size:0x30 lbl_80528A68 = .data:0x80528A68; // type:object size:0x9 data:string lbl_80528A74 = .data:0x80528A74; // type:object size:0x9 data:string __vt__15dItemMdlRupee_c = .data:0x80528A80; // type:object size:0x30 __vt__20dItemMdlLightFruit_c = .data:0x80528AB0; // type:object size:0x30 -lbl_80528AE0 = .data:0x80528AE0; // type:object size:0xA data:string +@21512 = .data:0x80528AE0; // type:object size:0xA scope:local data:string __vt__22dItemMdlStaminaFruit_c = .data:0x80528AF0; // type:object size:0x30 lbl_80528B20 = .data:0x80528B20; // type:object size:0x78 lbl_80528B98 = .data:0x80528B98; // type:object size:0x20 @@ -38615,7 +38632,7 @@ __vt__18dSndRngLinkVoice_c = .data:0x8054D740; // type:object size:0x20 lbl_8054D760 = .data:0x8054D760; // type:object size:0x9 data:string jumptable_8054D76C = .data:0x8054D76C; // type:object size:0x30 scope:local __vt__34SndMgrDisposer<16dSndFiVocalMgr_c> = .data:0x8054D79C; // type:object size:0xC -__vt__9dSndRng_c = .data:0x8054D7A8; // type:object size:0x10 +__vt__9dSndRng_c = .data:0x8054D7A8; // type:object size:0xC scope:weak __vt__12dSndRngMgr_c = .data:0x8054D7B8; // type:object size:0xC scope:weak __vt__30SndMgrDisposer<12dSndRngMgr_c> = .data:0x8054D7C4; // type:object size:0xC scope:weak __vt__11dSndRngId_c = .data:0x8054D7D0; // type:object size:0xC scope:weak @@ -40568,7 +40585,7 @@ sGroupName = .sdata:0x80572988; // type:object size:0x4 scope:local data:4byte @22589 = .sdata:0x8057298C; // type:object size:0x1 scope:local sGroupName = .sdata:0x80572990; // type:object size:0x4 scope:local data:4byte @13790 = .sdata:0x80572994; // type:object size:0x1 scope:local -lbl_80572998 = .sdata:0x80572998; // type:object size:0x8 +@11808 = .sdata:0x80572998; // type:object size:0x1 scope:local lbl_805729A0 = .sdata:0x805729A0; // type:object size:0x8 data:4byte lbl_805729A8 = .sdata:0x805729A8; // type:object size:0x8 data:wstring sGroupName = .sdata:0x805729B0; // type:object size:0x4 scope:local data:4byte @@ -40589,21 +40606,21 @@ sGroupName = .sdata:0x805729C8; // type:object size:0x4 scope:local data:4byte @20966 = .sdata:0x80572A10; // type:object size:0x8 scope:local data:string @20967 = .sdata:0x80572A18; // type:object size:0x8 scope:local data:string @22133 = .sdata:0x80572A20; // type:object size:0x8 scope:local data:string -lbl_80572A28 = .sdata:0x80572A28; // type:object size:0x8 data:string -lbl_80572A30 = .sdata:0x80572A30; // type:object size:0x8 data:string -lbl_80572A38 = .sdata:0x80572A38; // type:object size:0x8 data:string -lbl_80572A40 = .sdata:0x80572A40; // type:object size:0x7 data:string -lbl_80572A48 = .sdata:0x80572A48; // type:object size:0x8 data:string -lbl_80572A50 = .sdata:0x80572A50; // type:object size:0x8 data:string -lbl_80572A58 = .sdata:0x80572A58; // type:object size:0x8 data:string -lbl_80572A60 = .sdata:0x80572A60; // type:object size:0x8 data:string -lbl_80572A68 = .sdata:0x80572A68; // type:object size:0x8 data:string +@21268 = .sdata:0x80572A28; // type:object size:0x8 scope:local data:string +@21270 = .sdata:0x80572A30; // type:object size:0x8 scope:local data:string +@21281 = .sdata:0x80572A38; // type:object size:0x8 scope:local data:string +@21283 = .sdata:0x80572A40; // type:object size:0x7 scope:local data:string +@21292 = .sdata:0x80572A48; // type:object size:0x8 scope:local data:string +@21296 = .sdata:0x80572A50; // type:object size:0x8 scope:local data:string +@21297 = .sdata:0x80572A58; // type:object size:0x8 scope:local data:string +@21327 = .sdata:0x80572A60; // type:object size:0x8 scope:local data:string +@21329 = .sdata:0x80572A68; // type:object size:0x8 scope:local data:string lbl_80572A70 = .sdata:0x80572A70; // type:object size:0x6 data:string -lbl_80572A78 = .sdata:0x80572A78; // type:object size:0x8 data:string -lbl_80572A80 = .sdata:0x80572A80; // type:object size:0x5 data:string -lbl_80572A88 = .sdata:0x80572A88; // type:object size:0x8 data:string -lbl_80572A90 = .sdata:0x80572A90; // type:object size:0x8 data:string -lbl_80572A98 = .sdata:0x80572A98; // type:object size:0x8 data:string +@21512 = .sdata:0x80572A78; // type:object size:0x8 scope:local data:string +@21513 = .sdata:0x80572A80; // type:object size:0x5 scope:local data:string +@21514 = .sdata:0x80572A88; // type:object size:0x8 scope:local data:string +@21510 = .sdata:0x80572A90; // type:object size:0x8 scope:local data:string +@21511 = .sdata:0x80572A98; // type:object size:0x8 scope:local data:string lbl_80572AA0 = .sdata:0x80572AA0; // type:object size:0x2 data:string lbl_80572AA4 = .sdata:0x80572AA4; // type:object size:0x3 data:string @7060 = .sdata:0x80572AA8; // type:object size:0x1 scope:local @@ -42355,7 +42372,7 @@ sInstance__10dLytHelp_c = .sbss:0x805754D0; // type:object size:0x4 data:4byte sInstance__18dLytSystemWindow_c = .sbss:0x805754D8; // type:object size:0x8 data:4byte sInstance__15dLytBirdGauge_c = .sbss:0x805754E0; // type:object size:0x4 data:4byte sInstance__14dLytSkyGauge_c = .sbss:0x805754E8; // type:object size:0x4 data:4byte -lbl_805754F0 = .sbss:0x805754F0; // type:object size:0x8 data:4byte +sInstance__15dLytBossGauge_c = .sbss:0x805754F0; // type:object size:0x4 data:4byte sInstance__17dLytCursorStick_c = .sbss:0x805754F8; // type:object size:0x4 data:4byte sInstance__9FiContext = .sbss:0x80575500; // type:object size:0x4 data:4byte sNaviTable = .sbss:0x80575504; // type:object size:0x4 scope:local data:4byte @@ -45804,11 +45821,11 @@ lbl_8057A030 = .sdata2:0x8057A030; // type:object size:0x4 align:4 data:float @13878 = .sdata2:0x8057A064; // type:object size:0x4 scope:local align:4 data:float @13879 = .sdata2:0x8057A068; // type:object size:0x4 scope:local align:4 data:float @13882 = .sdata2:0x8057A070; // type:object size:0x8 scope:local align:8 data:double -lbl_8057A078 = .sdata2:0x8057A078; // type:object size:0x4 align:4 data:float -lbl_8057A07C = .sdata2:0x8057A07C; // type:object size:0x4 align:4 data:float -lbl_8057A080 = .sdata2:0x8057A080; // type:object size:0x4 align:4 data:float -lbl_8057A084 = .sdata2:0x8057A084; // type:object size:0x4 align:4 data:float -lbl_8057A088 = .sdata2:0x8057A088; // type:object size:0x8 align:8 data:double +@11764 = .sdata2:0x8057A078; // type:object size:0x4 scope:local align:4 data:float +@11780 = .sdata2:0x8057A07C; // type:object size:0x4 scope:local align:4 data:float +@11806 = .sdata2:0x8057A080; // type:object size:0x4 scope:local align:4 data:float +@11856 = .sdata2:0x8057A084; // type:object size:0x4 scope:local align:4 data:float +@11860 = .sdata2:0x8057A088; // type:object size:0x8 scope:local align:8 data:double @21516 = .sdata2:0x8057A090; // type:object size:0x4 scope:local align:4 data:float @21517 = .sdata2:0x8057A094; // type:object size:0x4 scope:local align:4 data:float lbl_8057A098 = .sdata2:0x8057A098; // type:object size:0x4 align:4 data:float @@ -52146,11 +52163,15 @@ StateID_Move__14dLytSkyGauge_c = .bss:0x805B13C0; // type:object size:0x30 data: StateID_Out__14dLytSkyGauge_c = .bss:0x805B1400; // type:object size:0x30 data:4byte @20826 = .bss:0x805B1430; // type:object size:0xC scope:local StateID_None__18dLytDepositStock_c = .bss:0x805B1440; // type:object size:0x30 data:4byte -lbl_805B1470 = .bss:0x805B1470; // type:object size:0x10 -LytBossGauge__STATE_NONE = .bss:0x805B1480; // type:object size:0x40 data:4byte -LytBossGauge__STATE_IN = .bss:0x805B14C0; // type:object size:0x40 data:4byte -LytBossGauge__STATE_MOVE = .bss:0x805B1500; // type:object size:0x40 data:4byte -LytBossGauge__STATE_OUT = .bss:0x805B1540; // type:object size:0x30 data:4byte +@11382 = .bss:0x805B1470; // type:object size:0xC scope:local +...bss.0 = .bss:0x805B1470; // type:label scope:local +StateID_None__15dLytBossGauge_c = .bss:0x805B1480; // type:object size:0x30 data:4byte +@11386 = .bss:0x805B14B0; // type:object size:0xC scope:local +StateID_In__15dLytBossGauge_c = .bss:0x805B14C0; // type:object size:0x30 data:4byte +@11390 = .bss:0x805B14F0; // type:object size:0xC scope:local +StateID_Move__15dLytBossGauge_c = .bss:0x805B1500; // type:object size:0x30 data:4byte +@11394 = .bss:0x805B1530; // type:object size:0xC scope:local +StateID_Out__15dLytBossGauge_c = .bss:0x805B1540; // type:object size:0x30 data:4byte @20985 = .bss:0x805B1570; // type:object size:0xC scope:local ...bss.0 = .bss:0x805B1570; // type:label scope:local StateID_None__15dLytPauseBack_c = .bss:0x805B1580; // type:object size:0x30 data:4byte diff --git a/configure.py b/configure.py index 8d8cd555..dc9fe3b3 100644 --- a/configure.py +++ b/configure.py @@ -561,7 +561,7 @@ config.libs = [ Object(Matching, "d/lyt/d_lyt_auto_caption.cpp"), Object(Matching, "d/lyt/d_lyt_auto_explain.cpp"), Object(Matching, "d/lyt/d_lyt_map_global.cpp"), - Object(NonMatching, "d/lyt/d_lyt_map_capture.cpp"), + Object(Matching, "d/lyt/d_lyt_map_capture.cpp"), Object(NonMatching, "d/lyt/d_lyt_map.cpp"), Object(Matching, "d/lyt/d_lyt_note.cpp"), Object(Matching, "d/lyt/d_lyt_battery.cpp"), @@ -573,7 +573,7 @@ config.libs = [ Object(Matching, "d/lyt/d_lyt_sky_gauge.cpp"), Object(Matching, "d/lyt/d_lyt_deposit_stock.cpp"), Object(Matching, "d/lyt/d_lyt_deposit_box_cursor.cpp"), - Object(NonMatching, "d/lyt/d_lyt_boss_gauge.cpp"), + Object(Matching, "d/lyt/d_lyt_boss_gauge.cpp"), Object(Matching, "d/lyt/d_lyt_pause_back.cpp"), Object(NonMatching, "d/lyt/d_lyt_pause_disp_00.cpp"), Object(Matching, "d/lyt/d_lyt_pause_disp_01.cpp"), diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 3c3d2a93..1c238c2f 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -45,22 +45,17 @@ class MapRelated { public: MapRelated(); ~MapRelated(); + bool fn_801B5970(GXTexObj *) const; /* 0x000 */ mHeapAllocator_c mAllocator; /* 0x01C */ Child mChildren[8]; /* 0x0FC */ mVec3_c field_0x0FC; - /* 0x108 */ f32 field_0x108; - /* 0x10C */ f32 field_0x10C; - /* 0x110 */ f32 field_0x110; - /* 0x114 */ f32 field_0x114; - /* 0x118 */ f32 field_0x118; - /* 0x11C */ f32 field_0x11C; - /* 0x120 */ f32 field_0x120; - /* 0x124 */ f32 field_0x124; - /* 0x128 */ f32 field_0x128; + /* 0x108 */ mVec3_c field_0x108; + /* 0x114 */ mVec3_c field_0x114; + /* 0x120 */ mVec3_c field_0x120; /* 0x12C */ f32 field_0x12C; /* 0x130 */ EGG::ScreenEffectBlur mScreenEffect; /* 0x168 */ EGG::PostEffectBlur mPostEffect; - /* 0x1E0 */ u32 field_0x1E0; + /* 0x1E0 */ EGG::CpuTexture *mpCpuTexture; /* 0x1E4 */ u16 field_0x1E4; /* 0x1E6 */ u16 field_0x1E6; /* 0x1E8 */ u8 field_0x1E8; @@ -68,7 +63,7 @@ public: /* 0x1EA */ s8 field_0x1EA; /* 0x1EB */ u8 field_0x1EB; /* 0x1EC */ s8 field_0x1EC; - /* 0x1ED */ u8 field_0x1ED; + /* 0x1ED */ s8 field_0x1ED; /* 0x1EE */ u8 field_0x1EE; /* 0x1EF */ u8 field_0x1EF; /* 0x1F0 */ u8 field_0x1F0; @@ -90,11 +85,16 @@ public: field_0x1EF = v; } + Child *getChildForFloor(s32 floor) { + return &mChildren[floor + 3]; + } + void init(MapRelated *); void fn_801b4900(); void fn_801B4B80(u32 mapParams, const mVec3_c ¢er, const mVec3_c &size); void fn_801B4C70(const mVec3_c &); - void fn_801B50C0(s32); + bool fn_801B50C0(s32); + const mVec3_c &fn_801B4C90() const; const mVec3_c &fn_801B4CB0() const; s32 fn_801B4F10(s32 roomid, const mVec3_c &position) const; }; diff --git a/include/d/lyt/d_lyt_boss_gauge.h b/include/d/lyt/d_lyt_boss_gauge.h index 2beff090..1b3f8ffc 100644 --- a/include/d/lyt/d_lyt_boss_gauge.h +++ b/include/d/lyt/d_lyt_boss_gauge.h @@ -16,12 +16,16 @@ public: void setMode(s32 mode); - void fn_80158940(); - void setField_0x545(bool value) { field_0x545 = value; } + void setField_0x546(bool value) { + field_0x546 = value; + } + + void fn_80158940(f32); + private: STATE_FUNC_DECLARE(dLytBossGauge_c, None); STATE_FUNC_DECLARE(dLytBossGauge_c, In); @@ -30,13 +34,18 @@ private: STATE_MGR_DEFINE_UTIL_CHANGESTATE(dLytBossGauge_c); + static dLytBossGauge_c *sInstance; + /* 0x004 */ UI_STATE_MGR_DECLARE(dLytBossGauge_c); /* 0x040 */ d2d::ResAccIf_c mResAcc; /* 0x3B0 */ d2d::dLytSub mLyt; /* 0x444 */ d2d::AnmGroup_c mAnmGroups[4]; /* 0x544 */ u8 field_0x544; /* 0x545 */ bool field_0x545; - /* 0x546 */ u8 _0x546[0x550 - 0x546]; + /* 0x546 */ bool field_0x546; + /* 0x547 */ u8 field_0x547; + /* 0x548 */ s32 field_0x548; + /* 0x54c */ f32 field_0x54c; }; #endif diff --git a/include/d/lyt/d_lyt_map_capture.h b/include/d/lyt/d_lyt_map_capture.h index a99fb335..b227270c 100644 --- a/include/d/lyt/d_lyt_map_capture.h +++ b/include/d/lyt/d_lyt_map_capture.h @@ -2,15 +2,14 @@ #define D_LYT_MAP_CAPTURE_H #include "common.h" +#include "m/m_vec.h" #include "nw4r/lyt/lyt_picture.h" #include "s/s_State.hpp" #include "s/s_StateID.hpp" class dLytMapCapture_c { public: - dLytMapCapture_c() :mStateMgr(*this), mpPicture(nullptr) { - field_0x070 = 0.0f; - field_0x074 = 0.0f; + dLytMapCapture_c() : mStateMgr(*this), mpPicture(nullptr) { mRenderRequest = false; mIsBusyRendering = false; field_0x06C = 0.0f; @@ -26,16 +25,20 @@ public: void renderRequest() { mRenderRequest = true; } - + void setPicture(nw4r::lyt::Picture *pic) { mpPicture = pic; } - + void execute(); bool isBusyRendering() const; + void fn_8012D610(mVec3_c *out); + void fn_8012D670(mVec3_c *out); + void fn_8012D6D0(mVec3_c *out); private: void fn_8012D6F0(); + void fn_8012D800(nw4r::lyt::Pane *pane, GXTexObj *texObj); /* 0x004 */ UI_STATE_MGR_DECLARE(dLytMapCapture_c); /* 0x040 */ nw4r::lyt::Picture *mpPicture; @@ -43,8 +46,7 @@ private: /* 0x064 */ f32 field_0x064; /* 0x068 */ f32 field_0x068; /* 0x06C */ f32 field_0x06C; - /* 0x070 */ f32 field_0x070; - /* 0x074 */ f32 field_0x074; + /* 0x070 */ nw4r::lyt::Size field_0x070; /* 0x078 */ bool mRenderRequest; /* 0x079 */ bool mIsBusyRendering; }; diff --git a/include/d/lyt/meter/d_lyt_meter.h b/include/d/lyt/meter/d_lyt_meter.h index d5eebc37..26aa9668 100644 --- a/include/d/lyt/meter/d_lyt_meter.h +++ b/include/d/lyt/meter/d_lyt_meter.h @@ -99,7 +99,7 @@ public: bool fn_800D5380(u8); void executeMap(); bool fn_800D5590(); - void fn_800D5630(); + void fn_800D5630(f32); bool isInModeMap(); bool isInModePause(); bool shouldBeHiddenGeneral(); diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index 9e8fde25..57089d1a 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -14,6 +14,7 @@ #include "d/flag/sceneflag_manager.h" #include "d/flag/storyflag_manager.h" #include "d/snd/d_snd_source_mgr.h" +#include "egg/gfx/eggCpuTexture.h" #include "f/f_base.h" #include "f/f_profile.h" #include "f/f_profile_name.h" @@ -23,6 +24,7 @@ #include "nw4r/g3d/res/g3d_resmat.h" #include "nw4r/g3d/res/g3d_resmdl.h" #include "nw4r/math/math_types.h" +#include "rvl/GX/GXTexture.h" #include "s/s_FPhase.h" #include "toBeSorted/arc_managers/current_stage_arc_manager.h" #include "toBeSorted/arc_managers/layout_arc_manager.h" @@ -360,17 +362,11 @@ dRoomTable_c::dRoomTable_c() { MapRelated::MapRelated() : field_0x0FC(0.0f, 0.0f, 0.0f), - field_0x108(0.0f), - field_0x10C(0.0f), - field_0x110(0.0f), - field_0x114(0.0f), - field_0x118(0.0f), - field_0x11C(0.0f), - field_0x120(0.0f), - field_0x124(0.0f), - field_0x128(0.0f), + field_0x108(0.0f, 0.0f, 0.0f), + field_0x114(0.0f, 0.0f, 0.0f), + field_0x120(0.0f, 0.0f, 0.0f), field_0x12C(0.0f), - field_0x1E0(0), + mpCpuTexture(NULL), field_0x1E6(0), field_0x1E8(0), field_0x1E9(4), @@ -400,3 +396,50 @@ extern "C" void fn_801B4AE0(); MapRelated::~MapRelated() { fn_801B4AE0(); } + +const mVec3_c &MapRelated::fn_801B4C90() const { + return mChildren[3 + field_0x1ED].a; +} + +const mVec3_c &MapRelated::fn_801B4CB0() const { + return mChildren[3 + field_0x1ED].b; +} + +extern "C" u32 lbl_805732F0; + +bool MapRelated::fn_801B50C0(s32 s) { + if (s < 0) { + if (s < -3) { + return false; + } + } else { + if (s > 4) { + return false; + } + } + + if (!getChildForFloor(s)->c) { + return false; + } + + field_0x1ED = s; + + if (getChildForFloor(field_0x1ED)->c) { + field_0x108 = getChildForFloor(field_0x1ED)->a; + field_0x114 = getChildForFloor(field_0x1ED)->b; + field_0x120 = field_0x108; + + field_0x1E6 = lbl_805732F0; + } + + return true; +} + +bool MapRelated::fn_801B5970(GXTexObj *tex) const { + if (mpCpuTexture == NULL) { + return false; + } + + mpCpuTexture->getTexObj(tex); + return true; +} diff --git a/src/d/lyt/d_lyt_boss_gauge.cpp b/src/d/lyt/d_lyt_boss_gauge.cpp index 990dd989..79448b9b 100644 --- a/src/d/lyt/d_lyt_boss_gauge.cpp +++ b/src/d/lyt/d_lyt_boss_gauge.cpp @@ -1,6 +1,208 @@ #include "d/lyt/d_lyt_boss_gauge.h" +#include "common.h" +#include "toBeSorted/arc_managers/layout_arc_manager.h" +#include "sized_string.h" + STATE_DEFINE(dLytBossGauge_c, None); STATE_DEFINE(dLytBossGauge_c, In); STATE_DEFINE(dLytBossGauge_c, Move); STATE_DEFINE(dLytBossGauge_c, Out); + +#define BOSS_GAUGE_ANIM_IN 0 +#define BOSS_GAUGE_ANIM_OUT 1 +#define BOSS_GAUGE_ANIM_DANGERLOOP 2 +#define BOSS_GAUGE_ANIM_MOVE 3 + +dLytBossGauge_c *dLytBossGauge_c::sInstance; + +void dLytBossGauge_c::initializeState_None() { + return; +} + +void dLytBossGauge_c::executeState_None() { + if (field_0x544) { + mAnmGroups[BOSS_GAUGE_ANIM_IN].setAnimEnable(true); + mAnmGroups[BOSS_GAUGE_ANIM_IN].setFrame(0.0f); + + SizedString<64> name; + name[0] = 0; + + for (int i = 0; i < 3; i++) { + name.sprintf("N_bigBoss_%02d", i); + + nw4r::lyt::Pane *pane = mLyt.findPane(name); + + if (i == field_0x548) { + pane->SetVisible(true); + } else { + pane->SetVisible(false); + } + } + mAnmGroups[BOSS_GAUGE_ANIM_DANGERLOOP].setAnimEnable(true); + mAnmGroups[BOSS_GAUGE_ANIM_DANGERLOOP].setFrame(0.0f); + + mLyt.calc(); + + mAnmGroups[BOSS_GAUGE_ANIM_DANGERLOOP].setAnimEnable(false); + mStateMgr.changeState(dLytBossGauge_c::StateID_In); + field_0x546 = 0; + field_0x544 = 0; + } +} + +void dLytBossGauge_c::finalizeState_None() { + return; +} +void dLytBossGauge_c::initializeState_In() { + return; +} + +void dLytBossGauge_c::executeState_In() { + if (mAnmGroups[BOSS_GAUGE_ANIM_IN].isEndReached()) { + mAnmGroups[BOSS_GAUGE_ANIM_IN].setAnimEnable(false); + mStateMgr.changeState(dLytBossGauge_c::StateID_Move); + } + return; +} + +void dLytBossGauge_c::finalizeState_In() { + return; +} + +void dLytBossGauge_c::initializeState_Move() { + return; +} + +void dLytBossGauge_c::executeState_Move() { + if (field_0x545) { + mAnmGroups[BOSS_GAUGE_ANIM_OUT].setAnimEnable(true); + mAnmGroups[BOSS_GAUGE_ANIM_OUT].setFrame(0.0f); + mStateMgr.changeState(dLytBossGauge_c::StateID_Out); + field_0x545 = false; + } + return; +} + +void dLytBossGauge_c::finalizeState_Move() { + return; +} +void dLytBossGauge_c::initializeState_Out() { + return; +} + +void dLytBossGauge_c::executeState_Out() { + if (mAnmGroups[BOSS_GAUGE_ANIM_OUT].isEndReached()) { + mAnmGroups[BOSS_GAUGE_ANIM_OUT].setAnimEnable(false); + field_0x546 = true; + mStateMgr.changeState(dLytBossGauge_c::StateID_None); + } +} + +void dLytBossGauge_c::finalizeState_Out() { + return; +} + +static const d2d::LytBrlanMapping brlanMap[] = { + { "bossGauge_00_in.brlan", "G_inOut_00"}, + { "bossGauge_00_out.brlan", "G_inOut_00"}, + {"bossGauge_00_dangerLoop.brlan", "G_danger_00"}, + { "bossGauge_00_move.brlan", "G_move_00"}, +}; + +bool dLytBossGauge_c::build() { + sInstance = this; + field_0x54c = 0.8f; + + void *data = LayoutArcManager::GetInstance()->getLoadedData("BossGauge"); + + mResAcc.attach(data, ""); + mLyt.setResAcc(&mResAcc); + mLyt.build("bossGauge_00.brlyt", nullptr); + + for (int i = 0; i < 4; i++) { + mAnmGroups[i].init(brlanMap[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap[i].mName); + mAnmGroups[i].bind(false); + mAnmGroups[i].setAnimEnable(false); + } + + mAnmGroups[BOSS_GAUGE_ANIM_IN].setAnimEnable(true); + mAnmGroups[BOSS_GAUGE_ANIM_IN].setFrame(0.0f); + + mAnmGroups[BOSS_GAUGE_ANIM_MOVE].setAnimEnable(true); + mAnmGroups[BOSS_GAUGE_ANIM_MOVE].setFrame(0.0f); + + mLyt.calc(); + + mAnmGroups[BOSS_GAUGE_ANIM_IN].setAnimEnable(false); + mAnmGroups[BOSS_GAUGE_ANIM_MOVE].setAnimEnable(false); + + mStateMgr.changeState(dLytBossGauge_c::StateID_None); + + field_0x544 = 0; + field_0x545 = 0; + field_0x546 = 0; + field_0x548 = 0; + + return true; +} + +bool dLytBossGauge_c::execute() { + mStateMgr.executeState(); + + if (*mStateMgr.getStateID() != dLytBossGauge_c::StateID_None) { + for (int i = 0; i < 3; i++) { + if (mAnmGroups[i].isEnabled()) { + if (i < 2 && mAnmGroups[i].isStop()) { + mAnmGroups[i].setAnimEnable(false); + } + mAnmGroups[i].play(); + } + } + mLyt.calc(); + } + return true; +} + +bool dLytBossGauge_c::draw() { + if (*mStateMgr.getStateID() != dLytBossGauge_c::StateID_None) { + mLyt.addToDrawList(); + } + return true; +} + +bool dLytBossGauge_c::remove() { + mLyt.unbindAnims(); + + for (int i = 0; i < 4; i++) { + mAnmGroups[i].remove(); + } + + return true; +} + +void dLytBossGauge_c::setMode(s32 mode) { + field_0x548 = mode; + field_0x544 = 1; + return; +} + +void dLytBossGauge_c::fn_80158940(f32 f) { + int f2 = mAnmGroups[BOSS_GAUGE_ANIM_MOVE].getAnimDuration() * f + 0.5f; + + mAnmGroups[BOSS_GAUGE_ANIM_MOVE].setAnimEnable(true); + mAnmGroups[BOSS_GAUGE_ANIM_MOVE].setFrame(f2); + mLyt.calc(); + mAnmGroups[BOSS_GAUGE_ANIM_MOVE].setAnimEnable(false); + + if (f >= field_0x54c) { + if (!mAnmGroups[BOSS_GAUGE_ANIM_DANGERLOOP].isEnabled()) { + mAnmGroups[BOSS_GAUGE_ANIM_DANGERLOOP].setAnimEnable(true); + mAnmGroups[BOSS_GAUGE_ANIM_DANGERLOOP].setFrame(0.0f); + } + } else { + mAnmGroups[BOSS_GAUGE_ANIM_DANGERLOOP].setAnimEnable(false); + } + + return; +} diff --git a/src/d/lyt/d_lyt_map_capture.cpp b/src/d/lyt/d_lyt_map_capture.cpp index c8ead0c9..657e40bd 100644 --- a/src/d/lyt/d_lyt_map_capture.cpp +++ b/src/d/lyt/d_lyt_map_capture.cpp @@ -1,6 +1,8 @@ #include "d/lyt/d_lyt_map_capture.h" + #include "common.h" #include "d/d_stage.h" +#include "d/lyt/d_lyt_map_global.h" STATE_DEFINE(dLytMapCapture_c, RenderingWait); STATE_DEFINE(dLytMapCapture_c, RenderingWaitStep2); @@ -18,7 +20,8 @@ void dLytMapCapture_c::finalizeState_RenderingWait() {} void dLytMapCapture_c::initializeState_RenderingWaitStep2() {} void dLytMapCapture_c::executeState_RenderingWaitStep2() { - if (mIsBusyRendering && dStage_c::GetInstance() != nullptr && !dStage_c::GetInstance()->getMapRelated()->getField_0x1EE()) { + if (mIsBusyRendering && dStage_c::GetInstance() != nullptr && + !dStage_c::GetInstance()->getMapRelated()->getField_0x1EE()) { mIsBusyRendering = false; if (mRenderRequest) { fn_8012D6F0(); @@ -31,10 +34,60 @@ void dLytMapCapture_c::executeState_RenderingWaitStep2() { } void dLytMapCapture_c::finalizeState_RenderingWaitStep2() {} -bool dLytMapCapture_c::isBusyRendering() const{ - return mIsBusyRendering; +void dLytMapCapture_c::fn_8012D610(mVec3_c *out) { + dStage_c::GetInstance()->getMapRelated()->fn_801B50C0(0); + *out = dStage_c::GetInstance()->getMapRelated()->fn_801B4CB0(); +} + +void dLytMapCapture_c::fn_8012D670(mVec3_c *out) { + dStage_c::GetInstance()->getMapRelated()->fn_801B50C0(0); + *out = dStage_c::GetInstance()->getMapRelated()->fn_801B4C90(); +} + +void dLytMapCapture_c::fn_8012D6D0(mVec3_c *out) { + *out = dStage_c::GetInstance()->getMapRelated()->field_0x0FC; +} + +void dLytMapCapture_c::fn_8012D6F0() { + dStage_c *pStage = dStage_c::GetInstance(); + + if (pStage != nullptr) { + dLytMapGlobal_c *pLytMap = dLytMapGlobal_c::GetInstance(); + + f32 zoom = pLytMap->getZoomFrame(); + f32 inv = 1.0f / pLytMap->getField_0x44(); + s32 floor = pLytMap->getFloor(); + + mVec3_c v(field_0x064 * inv, 1, field_0x06C * inv); + + pStage->getMapRelated()->fn_801B50C0(floor); + + pStage->getMapRelated()->field_0x108 = pLytMap->getMapScroll(); + pStage->getMapRelated()->field_0x114 = v; + + pStage->getMapRelated()->field_0x120 = pLytMap->getMapRotationCenter(); + + pStage->getMapRelated()->field_0x1E6 = (u16)(-pLytMap->getMapRotation()); + pStage->getMapRelated()->field_0x12C = zoom; + pStage->getMapRelated()->field_0x1EE = 1; + } + return; } void dLytMapCapture_c::execute() { mStateMgr.executeState(); } + +bool dLytMapCapture_c::isBusyRendering() const { + return mIsBusyRendering; +} + +void dLytMapCapture_c::fn_8012D800(nw4r::lyt::Pane *param_2, GXTexObj *param_3) { + if (param_3 != nullptr && dStage_c::GetInstance() != nullptr && + dStage_c::GetInstance()->getMapRelated()->fn_801B5970(param_3)) { + field_0x070.width = GXGetTexObjWidth(param_3); + field_0x070.height = GXGetTexObjHeight(param_3); + param_2->SetSize(field_0x070); + param_2->GetMaterial()->GetTexMapAry()->ReplaceImage(*param_3); + } +} diff --git a/src/d/lyt/meter/d_lyt_meter.cpp b/src/d/lyt/meter/d_lyt_meter.cpp index 25798d54..9f2e6038 100644 --- a/src/d/lyt/meter/d_lyt_meter.cpp +++ b/src/d/lyt/meter/d_lyt_meter.cpp @@ -1058,9 +1058,9 @@ bool dLytMeterMain_c::fn_800D5590() { return field_0x13773; } -void dLytMeterMain_c::fn_800D5630() { +void dLytMeterMain_c::fn_800D5630(f32 f) { if (mpBossGauge != nullptr) { - mpBossGauge->fn_80158940(); + mpBossGauge->fn_80158940(f); } } |
