summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2026-06-20 10:15:38 +0200
committerGitHub <noreply@github.com>2026-06-20 10:15:38 +0200
commit563dc67401782690a248a5775cce14a3c2bc98f4 (patch)
tree7a15216a8c3b2a2fee52e7eca73a02d37cbc37a2
parent9aac632fd0ec4c06141aa400771cd138fbc9e89a (diff)
parent3d31a7e4c30580b5415994ffd9e5d3a486f9f772 (diff)
Merge pull request #332 from compugab/match-d_lyt_boss_gauge
matching d_lyt_boss_gauge
-rw-r--r--config/SOUE01/symbols.txt337
-rw-r--r--configure.py2
-rw-r--r--include/d/lyt/d_lyt_boss_gauge.h15
-rw-r--r--include/d/lyt/meter/d_lyt_meter.h2
-rw-r--r--src/d/lyt/d_lyt_boss_gauge.cpp202
-rw-r--r--src/d/lyt/meter/d_lyt_meter.cpp4
6 files changed, 397 insertions, 165 deletions
diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt
index 220671a5..9d2d1bfd 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
@@ -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__15dLytBossGauge_cFv = .text:0x80158400; // type:function size:0x78
-fn_80158480 = .text:0x80158480; // type:function size:0x4
-fn_80158490 = .text:0x80158490; // type:function size:0x4
-fn_801584A0__15dLytBossGauge_cFv = .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
@@ -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..cebe17da 100644
--- a/configure.py
+++ b/configure.py
@@ -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/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/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/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/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);
}
}