diff --git a/config/eur/arm9/dtcm/symbols.txt b/config/eur/arm9/dtcm/symbols.txt index 42ca4f97..f80704e7 100644 --- a/config/eur/arm9/dtcm/symbols.txt +++ b/config/eur/arm9/dtcm/symbols.txt @@ -144,7 +144,7 @@ data_027e0fce kind:bss addr:0x27e0fce data_027e0fd0 kind:bss addr:0x27e0fd0 data_027e0fd4 kind:bss addr:0x27e0fd4 data_027e0fd8 kind:bss addr:0x27e0fd8 -data_027e0fdc kind:bss addr:0x27e0fdc +gLinkStates kind:bss addr:0x27e0fdc data_027e0fe0 kind:bss addr:0x27e0fe0 gActorManager kind:bss addr:0x27e0fe4 data_027e0fe8 kind:bss addr:0x27e0fe8 diff --git a/config/eur/arm9/itcm/symbols.txt b/config/eur/arm9/itcm/symbols.txt index 7905c0b7..b8aab999 100644 --- a/config/eur/arm9/itcm/symbols.txt +++ b/config/eur/arm9/itcm/symbols.txt @@ -106,7 +106,7 @@ func_01fffb80 kind:function(arm,size=0x6c) addr:0x1fffb80 func_01fffbec kind:function(arm,size=0x58) addr:0x1fffbec func_01fffc44 kind:function(arm,size=0x50) addr:0x1fffc44 func_01fffc94 kind:function(arm,size=0x44) addr:0x1fffc94 -func_01fffcd8 kind:function(arm,size=0x14) addr:0x1fffcd8 +_Z12GetLinkStatei kind:function(arm,size=0x14) addr:0x1fffcd8 _ZN11ItemManager21GetEquipItemUncheckedEi kind:function(arm,size=0x18) addr:0x1fffcec _ZN5Actor13func_01fffd04Ei kind:function(arm,size=0x204) addr:0x1fffd04 func_01ffff08 kind:function(arm,size=0x8c) addr:0x1ffff08 diff --git a/config/eur/arm9/overlays/ov000/delinks.txt b/config/eur/arm9/overlays/ov000/delinks.txt index 3d73e576..78534402 100644 --- a/config/eur/arm9/overlays/ov000/delinks.txt +++ b/config/eur/arm9/overlays/ov000/delinks.txt @@ -62,6 +62,7 @@ src/00_Core/Player/LinkStateInteract.cpp: .data start:0x020e58e8 end:0x020e5a40 src/00_Core/Player/LinkStateItem.cpp: + complete .text start:0x020abd78 end:0x020abfa4 .data start:0x020e5a40 end:0x020e5a8c diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 8493df3d..63208160 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -1288,7 +1288,7 @@ _ZN14AdventureFlags3SetEjb kind:function(arm,size=0x74) addr:0x209779c _ZN14AdventureFlags18func_Ov00_02097810Ei kind:function(arm,size=0x158) addr:0x2097810 _ZN14AdventureFlags18func_ov00_02097968Ei kind:function(arm,size=0xdc) addr:0x2097968 _ZN14AdventureFlags18func_ov00_02097a44Eii kind:function(arm,size=0x158) addr:0x2097a44 -_ZN14AdventureFlags18func_ov00_02097b9cEv kind:function(arm,size=0x10) addr:0x2097b9c +_ZN14AdventureFlags18func_ov00_02097b9cEi kind:function(arm,size=0x10) addr:0x2097b9c _ZN14AdventureFlags18func_ov00_02097bacEv kind:function(arm,size=0x10) addr:0x2097bac _ZN14AdventureFlags18func_ov00_02097bbcEv kind:function(arm,size=0x10) addr:0x2097bbc _ZN14AdventureFlags18func_ov00_02097bccEv kind:function(arm,size=0x10) addr:0x2097bcc @@ -2387,7 +2387,7 @@ func_ov000_020b7d4c kind:function(arm,size=0x20) addr:0x20b7d4c func_ov000_020b7d6c kind:function(arm,size=0x8) addr:0x20b7d6c func_ov000_020b7d74 kind:function(arm,size=0x7c) addr:0x20b7d74 func_ov000_020b7df0 kind:function(arm,size=0x7c) addr:0x20b7df0 -func_ov000_020b7e6c kind:function(arm,size=0x38) addr:0x20b7e6c +_Z19func_ov000_020b7e6cPi kind:function(arm,size=0x38) addr:0x20b7e6c func_ov000_020b7ea4 kind:function(arm,size=0x20) addr:0x20b7ea4 func_ov000_020b7ec4 kind:function(thumb,size=0x24) addr:0x20b7ec4 func_ov000_020b7ee8 kind:function(arm,size=0x40) addr:0x20b7ee8 @@ -3240,7 +3240,7 @@ func_ov000_020cef9c kind:function(arm,size=0x20) addr:0x20cef9c func_ov000_020cefbc kind:function(arm,size=0x20) addr:0x20cefbc func_ov000_020cefdc kind:function(arm,size=0x20) addr:0x20cefdc func_ov000_020ceffc kind:function(arm,size=0x20) addr:0x20ceffc -func_ov000_020cf01c kind:function(arm,size=0x20) addr:0x20cf01c +_Z19func_ov000_020cf01cPi kind:function(arm,size=0x20) addr:0x20cf01c func_ov000_020cf03c kind:function(arm,size=0x20) addr:0x20cf03c func_ov000_020cf05c kind:function(arm,size=0x20) addr:0x20cf05c func_ov000_020cf07c kind:function(arm,size=0x20) addr:0x20cf07c @@ -3288,7 +3288,7 @@ func_ov000_020cf7e8 kind:function(arm,size=0x7c) addr:0x20cf7e8 func_ov000_020cf864 kind:function(arm,size=0x98) addr:0x20cf864 func_ov000_020cf8fc kind:function(arm,size=0x4c) addr:0x20cf8fc func_ov000_020cf948 kind:function(arm,size=0x94) addr:0x20cf948 -func_ov000_020cf9dc kind:function(arm,size=0x48) addr:0x20cf9dc +_Z19func_ov000_020cf9dciii kind:function(arm,size=0x48) addr:0x20cf9dc func_ov000_020cfa24 kind:function(arm,size=0x40) addr:0x20cfa24 func_ov000_020cfa64 kind:function(arm,size=0xc) addr:0x20cfa64 func_ov000_020cfa70 kind:function(arm,size=0x40) addr:0x20cfa70 diff --git a/config/eur/arm9/overlays/ov004/relocs.txt b/config/eur/arm9/overlays/ov004/relocs.txt index daa63436..ce85e811 100644 --- a/config/eur/arm9/overlays/ov004/relocs.txt +++ b/config/eur/arm9/overlays/ov004/relocs.txt @@ -1960,7 +1960,7 @@ from:0x02109a4c kind:thumb_call_arm to:0x020d0530 module:overlay(0) from:0x02109a52 kind:thumb_call to:0x021099b0 module:overlay(4) from:0x02109a5e kind:thumb_call to:0x0210add4 module:overlay(4) from:0x02109aba kind:thumb_call_arm to:0x0204f614 module:main -from:0x02109ad8 kind:load to:0x020e5a48 module:overlay(0) +from:0x02109ad8 kind:load to:0x020e5a48 add:8 module:overlay(0) from:0x02109adc kind:load to:0x021079d5 module:overlay(4) from:0x02109ae0 kind:load to:0x02057200 module:main from:0x02109ae4 kind:load to:0x020b7d74 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov004/symbols.txt b/config/eur/arm9/overlays/ov004/symbols.txt index b260299b..0fd913c5 100644 --- a/config/eur/arm9/overlays/ov004/symbols.txt +++ b/config/eur/arm9/overlays/ov004/symbols.txt @@ -264,8 +264,8 @@ func_ov004_02109968 kind:function(thumb,size=0x48) addr:0x2109968 func_ov004_021099b0 kind:function(thumb,size=0x5c) addr:0x21099b0 func_ov004_02109a0c kind:function(thumb,size=0x4c) addr:0x2109a0c func_ov004_02109a58 kind:function(thumb,size=0x90) addr:0x2109a58 -func_ov004_02109ae8 kind:function(thumb,size=0x20) addr:0x2109ae8 -func_ov004_02109b08 kind:function(thumb,size=0x24) addr:0x2109b08 +_ZN13LinkStateItemD1Ev kind:function(thumb,size=0x20) addr:0x2109ae8 +_ZN13LinkStateItemD0Ev kind:function(thumb,size=0x24) addr:0x2109b08 func_ov004_02109b2c kind:function(thumb,size=0x4c) addr:0x2109b2c func_ov004_02109b78 kind:function(thumb,size=0x234) addr:0x2109b78 func_ov004_02109dac kind:function(thumb,size=0x64) addr:0x2109dac @@ -293,7 +293,7 @@ func_ov004_0210add4 kind:function(thumb,size=0x10) addr:0x210add4 func_ov004_0210ade4 kind:function(thumb,size=0x4) addr:0x210ade4 func_ov004_0210ade8 kind:function(thumb,size=0xc) addr:0x210ade8 func_ov004_0210adf4 kind:function(thumb,size=0x4) addr:0x210adf4 -func_ov004_0210adf8 kind:function(thumb,size=0x4) addr:0x210adf8 +_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x4) addr:0x210adf8 func_ov004_0210adfc kind:function(thumb,size=0x84) addr:0x210adfc func_ov004_0210ae80 kind:function(thumb,size=0x28) addr:0x210ae80 func_ov004_0210aea8 kind:function(thumb,size=0x2c) addr:0x210aea8 diff --git a/config/eur/arm9/overlays/ov005/symbols.txt b/config/eur/arm9/overlays/ov005/symbols.txt index dd5f1700..0209a999 100644 --- a/config/eur/arm9/overlays/ov005/symbols.txt +++ b/config/eur/arm9/overlays/ov005/symbols.txt @@ -126,12 +126,12 @@ func_ov005_02104f28 kind:function(arm,size=0x218) addr:0x2104f28 func_ov005_02105140 kind:function(arm,size=0x1c4) addr:0x2105140 func_ov005_02105304 kind:function(arm,size=0x58) addr:0x2105304 func_ov005_0210535c kind:function(arm,size=0xb0) addr:0x210535c -func_ov005_0210540c kind:function(arm,size=0x1c4) addr:0x210540c +_ZN13LinkStateItem12OnStateEnterEv kind:function(arm,size=0x1c4) addr:0x210540c func_ov005_021055d0 kind:function(arm,size=0x10) addr:0x21055d0 -func_ov005_021055e0 kind:function(arm,size=0x90) addr:0x21055e0 -func_ov005_02105670 kind:function(arm,size=0x144) addr:0x2105670 +_ZN13LinkStateItem8vfunc_1cEv kind:function(arm,size=0x90) addr:0x21055e0 +_ZN13LinkStateItem8vfunc_20Ei kind:function(arm,size=0x144) addr:0x2105670 func_ov005_021057b4 kind:function(arm,size=0x10) addr:0x21057b4 -func_ov005_021057c4 kind:function(arm,size=0x8c) addr:0x21057c4 +_ZN13LinkStateItem8vfunc_24Ei kind:function(arm,size=0x8c) addr:0x21057c4 func_ov005_02105850 kind:function(arm,size=0x3d8) addr:0x2105850 func_ov005_02105c28 kind:function(arm,size=0x15c) addr:0x2105c28 func_ov005_02105d84 kind:function(arm,size=0x10) addr:0x2105d84 @@ -278,11 +278,11 @@ func_ov005_0210ec3c kind:function(arm,size=0xaa0) addr:0x210ec3c func_ov005_0210f6dc kind:function(arm,size=0x8) addr:0x210f6dc func_ov005_0210f6e4 kind:function(arm,size=0x1c) addr:0x210f6e4 func_ov005_0210f700 kind:function(arm,size=0x4) addr:0x210f700 -func_ov005_0210f704 kind:function(arm,size=0x4) addr:0x210f704 -func_ov005_0210f708 kind:function(arm,size=0x4) addr:0x210f708 -func_ov005_0210f70c kind:function(arm,size=0x8) addr:0x210f70c -func_ov005_0210f714 kind:function(arm,size=0x8) addr:0x210f714 -func_ov005_0210f71c kind:function(arm,size=0x3c) addr:0x210f71c +_ZN13LinkStateBase8vfunc_2cEPt kind:function(arm,size=0x4) addr:0x210f704 +_ZN13LinkStateBase8vfunc_30Ei kind:function(arm,size=0x4) addr:0x210f708 +_ZN13LinkStateBase8vfunc_38Ev kind:function(arm,size=0x8) addr:0x210f70c +_ZN13LinkStateBase8vfunc_3cEv kind:function(arm,size=0x8) addr:0x210f714 +_ZN13LinkStateBase8vfunc_40Ev kind:function(arm,size=0x3c) addr:0x210f71c func_ov005_0210f758 kind:function(arm,size=0x60) addr:0x210f758 func_ov005_0210f7b8 kind:function(arm,size=0x50) addr:0x210f7b8 func_ov005_0210f808 kind:function(arm,size=0xa18) addr:0x210f808 diff --git a/config/eur/arm9/overlays/ov014/symbols.txt b/config/eur/arm9/overlays/ov014/symbols.txt index d53f225f..4046d529 100644 --- a/config/eur/arm9/overlays/ov014/symbols.txt +++ b/config/eur/arm9/overlays/ov014/symbols.txt @@ -8,7 +8,7 @@ func_ov014_0211f980 kind:function(arm,size=0x130) addr:0x211f980 func_ov014_0211fab0 kind:function(arm,size=0x1dc) addr:0x211fab0 func_ov014_0211fc8c kind:function(arm,size=0x50) addr:0x211fc8c func_ov014_0211fcdc kind:function(thumb,size=0x28) addr:0x211fcdc -func_ov014_0211fd04 kind:function(thumb,size=0x4c) addr:0x211fd04 +_Z19func_ov014_0211fd04Pi kind:function(thumb,size=0x4c) addr:0x211fd04 func_ov014_0211fd50 kind:function(arm,size=0x30) addr:0x211fd50 func_ov014_0211fd80 kind:function(arm,size=0x10) addr:0x211fd80 func_ov014_0211fd90 kind:function(arm,size=0x14) addr:0x211fd90 @@ -917,7 +917,7 @@ func_ov014_0213eb5c kind:function(thumb,size=0x20) addr:0x213eb5c func_ov014_0213eb7c kind:function(thumb,size=0x28) addr:0x213eb7c func_ov014_0213eba4 kind:function(arm,size=0x9c) addr:0x213eba4 func_ov014_0213ec40 kind:function(arm,size=0x24) addr:0x213ec40 -func_ov014_0213ec64 kind:function(arm,size=0x48) addr:0x213ec64 +_Z19func_ov014_0213ec64i kind:function(arm,size=0x48) addr:0x213ec64 func_ov014_0213ecac kind:function(arm,size=0x8) addr:0x213ecac func_ov014_0213ecb4 kind:function(arm,size=0xc0) addr:0x213ecb4 func_ov014_0213ed74 kind:function(arm,size=0x20) addr:0x213ed74 diff --git a/config/eur/arm9/overlays/ov054/symbols.txt b/config/eur/arm9/overlays/ov054/symbols.txt index 8414c258..3284e7c3 100644 --- a/config/eur/arm9/overlays/ov054/symbols.txt +++ b/config/eur/arm9/overlays/ov054/symbols.txt @@ -13,7 +13,7 @@ func_ov054_02198eec kind:function(arm,size=0x10) addr:0x2198eec func_ov054_02198efc kind:function(arm,size=0x3cc) addr:0x2198efc func_ov054_021992c8 kind:function(arm,size=0x518) addr:0x21992c8 func_ov054_021997e0 kind:function(arm,size=0x10) addr:0x21997e0 -func_ov054_021997f0 kind:function(arm,size=0xe4) addr:0x21997f0 +_ZN10EquipScoop9StopUsingEP13LinkStateItem kind:function(arm,size=0xe4) addr:0x21997f0 func_ov054_021998d4 kind:function(arm,size=0x40) addr:0x21998d4 data_ov054_02199914 kind:data(any) addr:0x2199914 func_ov054_02199924 kind:function(arm,size=0x30) addr:0x2199924 diff --git a/config/eur/arm9/overlays/ov055/symbols.txt b/config/eur/arm9/overlays/ov055/symbols.txt index 6c67528d..f060b1b3 100644 --- a/config/eur/arm9/overlays/ov055/symbols.txt +++ b/config/eur/arm9/overlays/ov055/symbols.txt @@ -5,7 +5,7 @@ func_ov055_02198da4 kind:function(arm,size=0x54) addr:0x2198da4 func_ov055_02198df8 kind:function(arm,size=0x68) addr:0x2198df8 func_ov055_02198e60 kind:function(arm,size=0x118) addr:0x2198e60 func_ov055_02198f78 kind:function(arm,size=0x18) addr:0x2198f78 -func_ov055_02198f90 kind:function(arm,size=0x80) addr:0x2198f90 +_ZN9EquipBomb9StopUsingEP13LinkStateItemi kind:function(arm,size=0x80) addr:0x2198f90 func_ov055_02199010 kind:function(arm,size=0x10) addr:0x2199010 func_ov055_02199020 kind:function(arm,size=0x188) addr:0x2199020 func_ov055_021991a8 kind:function(arm,size=0x4) addr:0x21991a8 diff --git a/config/eur/arm9/overlays/ov057/symbols.txt b/config/eur/arm9/overlays/ov057/symbols.txt index 2acb6748..9b95976e 100644 --- a/config/eur/arm9/overlays/ov057/symbols.txt +++ b/config/eur/arm9/overlays/ov057/symbols.txt @@ -31,7 +31,7 @@ func_ov057_02199e64 kind:function(arm,size=0x68) addr:0x2199e64 func_ov057_02199ecc kind:function(arm,size=0x10) addr:0x2199ecc func_ov057_02199edc kind:function(arm,size=0x32c) addr:0x2199edc func_ov057_0219a208 kind:function(arm,size=0x124) addr:0x219a208 -func_ov057_0219a32c kind:function(arm,size=0x38) addr:0x219a32c +_ZN9EquipRope9StopUsingEP13LinkStateItem kind:function(arm,size=0x38) addr:0x219a32c func_ov057_0219a364 kind:function(arm,size=0x4c) addr:0x219a364 func_ov057_0219a3b0 kind:function(arm,size=0x4c) addr:0x219a3b0 func_ov057_0219a3fc kind:function(arm,size=0x64) addr:0x219a3fc diff --git a/config/eur/arm9/overlays/ov059/symbols.txt b/config/eur/arm9/overlays/ov059/symbols.txt index 67794c81..754f0f57 100644 --- a/config/eur/arm9/overlays/ov059/symbols.txt +++ b/config/eur/arm9/overlays/ov059/symbols.txt @@ -15,7 +15,7 @@ func_ov059_02198ffc kind:function(arm,size=0x80) addr:0x2198ffc func_ov059_0219907c kind:function(arm,size=0x28) addr:0x219907c func_ov059_021990a4 kind:function(arm,size=0x268) addr:0x21990a4 func_ov059_0219930c kind:function(arm,size=0x10) addr:0x219930c -func_ov059_0219931c kind:function(arm,size=0x20) addr:0x219931c +_ZN11EquipHammer9StopUsingEP13LinkStateItem kind:function(arm,size=0x20) addr:0x219931c func_ov059_0219933c kind:function(arm,size=0xd70) addr:0x219933c func_ov059_0219a0ac kind:function(arm,size=0x95c) addr:0x219a0ac func_ov059_0219aa08 kind:function(arm,size=0x1a0) addr:0x219aa08 diff --git a/config/usa/arm9/dtcm/symbols.txt b/config/usa/arm9/dtcm/symbols.txt index 42ca4f97..f80704e7 100644 --- a/config/usa/arm9/dtcm/symbols.txt +++ b/config/usa/arm9/dtcm/symbols.txt @@ -144,7 +144,7 @@ data_027e0fce kind:bss addr:0x27e0fce data_027e0fd0 kind:bss addr:0x27e0fd0 data_027e0fd4 kind:bss addr:0x27e0fd4 data_027e0fd8 kind:bss addr:0x27e0fd8 -data_027e0fdc kind:bss addr:0x27e0fdc +gLinkStates kind:bss addr:0x27e0fdc data_027e0fe0 kind:bss addr:0x27e0fe0 gActorManager kind:bss addr:0x27e0fe4 data_027e0fe8 kind:bss addr:0x27e0fe8 diff --git a/config/usa/arm9/itcm/symbols.txt b/config/usa/arm9/itcm/symbols.txt index 7905c0b7..b8aab999 100644 --- a/config/usa/arm9/itcm/symbols.txt +++ b/config/usa/arm9/itcm/symbols.txt @@ -106,7 +106,7 @@ func_01fffb80 kind:function(arm,size=0x6c) addr:0x1fffb80 func_01fffbec kind:function(arm,size=0x58) addr:0x1fffbec func_01fffc44 kind:function(arm,size=0x50) addr:0x1fffc44 func_01fffc94 kind:function(arm,size=0x44) addr:0x1fffc94 -func_01fffcd8 kind:function(arm,size=0x14) addr:0x1fffcd8 +_Z12GetLinkStatei kind:function(arm,size=0x14) addr:0x1fffcd8 _ZN11ItemManager21GetEquipItemUncheckedEi kind:function(arm,size=0x18) addr:0x1fffcec _ZN5Actor13func_01fffd04Ei kind:function(arm,size=0x204) addr:0x1fffd04 func_01ffff08 kind:function(arm,size=0x8c) addr:0x1ffff08 diff --git a/config/usa/arm9/overlays/ov000/delinks.txt b/config/usa/arm9/overlays/ov000/delinks.txt index a924815e..356452b7 100644 --- a/config/usa/arm9/overlays/ov000/delinks.txt +++ b/config/usa/arm9/overlays/ov000/delinks.txt @@ -62,6 +62,7 @@ src/00_Core/Player/LinkStateInteract.cpp: .data start:0x020e5888 end:0x020e59e0 src/00_Core/Player/LinkStateItem.cpp: + complete .text start:0x020abd18 end:0x020abf44 .data start:0x020e59e0 end:0x020e5a2c diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index 45a0c886..b8a5116b 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -1288,7 +1288,7 @@ _ZN14AdventureFlags3SetEjb kind:function(arm,size=0x74) addr:0x209773c _ZN14AdventureFlags18func_Ov00_02097810Ei kind:function(arm,size=0x158) addr:0x20977b0 _ZN14AdventureFlags18func_ov00_02097968Ei kind:function(arm,size=0xdc) addr:0x2097908 _ZN14AdventureFlags18func_ov00_02097a44Eii kind:function(arm,size=0x158) addr:0x20979e4 -_ZN14AdventureFlags18func_ov00_02097b9cEv kind:function(arm,size=0x10) addr:0x2097b3c +_ZN14AdventureFlags18func_ov00_02097b9cEi kind:function(arm,size=0x10) addr:0x2097b3c _ZN14AdventureFlags18func_ov00_02097bacEv kind:function(arm,size=0x10) addr:0x2097b4c _ZN14AdventureFlags18func_ov00_02097bbcEv kind:function(arm,size=0x10) addr:0x2097b5c _ZN14AdventureFlags18func_ov00_02097bccEv kind:function(arm,size=0x10) addr:0x2097b6c @@ -2387,7 +2387,7 @@ func_ov000_020b7d4c kind:function(arm,size=0x20) addr:0x20b7cec func_ov000_020b7d6c kind:function(arm,size=0x8) addr:0x20b7d0c func_ov000_020b7d74 kind:function(arm,size=0x7c) addr:0x20b7d14 func_ov000_020b7df0 kind:function(arm,size=0x7c) addr:0x20b7d90 -func_ov000_020b7e6c kind:function(arm,size=0x38) addr:0x20b7e0c +_Z19func_ov000_020b7e6cPi kind:function(arm,size=0x38) addr:0x20b7e0c func_ov000_020b7ea4 kind:function(arm,size=0x20) addr:0x20b7e44 func_ov000_020b7ec4 kind:function(thumb,size=0x24) addr:0x20b7e64 func_ov000_020b7ee8 kind:function(arm,size=0x40) addr:0x20b7e88 @@ -3240,7 +3240,7 @@ func_ov000_020cef9c kind:function(arm,size=0x20) addr:0x20cef3c func_ov000_020cefbc kind:function(arm,size=0x20) addr:0x20cef5c func_ov000_020cefdc kind:function(arm,size=0x20) addr:0x20cef7c func_ov000_020ceffc kind:function(arm,size=0x20) addr:0x20cef9c -func_ov000_020cf01c kind:function(arm,size=0x20) addr:0x20cefbc +_Z19func_ov000_020cf01cPi kind:function(arm,size=0x20) addr:0x20cefbc func_ov000_020cf03c kind:function(arm,size=0x20) addr:0x20cefdc func_ov000_020cf05c kind:function(arm,size=0x20) addr:0x20ceffc func_ov000_020cf07c kind:function(arm,size=0x20) addr:0x20cf01c @@ -3288,7 +3288,7 @@ func_ov000_020cf7e8 kind:function(arm,size=0x7c) addr:0x20cf788 func_ov000_020cf864 kind:function(arm,size=0x98) addr:0x20cf804 func_ov000_020cf8fc kind:function(arm,size=0x4c) addr:0x20cf89c func_ov000_020cf948 kind:function(arm,size=0x94) addr:0x20cf8e8 -func_ov000_020cf9dc kind:function(arm,size=0x48) addr:0x20cf97c +_Z19func_ov000_020cf9dciii kind:function(arm,size=0x48) addr:0x20cf97c func_ov000_020cfa24 kind:function(arm,size=0x40) addr:0x20cf9c4 func_ov000_020cfa64 kind:function(arm,size=0xc) addr:0x20cfa04 func_ov000_020cfa70 kind:function(arm,size=0x40) addr:0x20cfa10 diff --git a/config/usa/arm9/overlays/ov004/relocs.txt b/config/usa/arm9/overlays/ov004/relocs.txt index b6a09277..76d78e03 100644 --- a/config/usa/arm9/overlays/ov004/relocs.txt +++ b/config/usa/arm9/overlays/ov004/relocs.txt @@ -1960,7 +1960,7 @@ from:0x021099cc kind:thumb_call_arm to:0x020d04d0 module:overlay(0) from:0x021099d2 kind:thumb_call to:0x02109930 module:overlay(4) from:0x021099de kind:thumb_call to:0x0210ad54 module:overlay(4) from:0x02109a3a kind:thumb_call_arm to:0x0204f5d0 module:main -from:0x02109a58 kind:load to:0x020e59e8 module:overlay(0) +from:0x02109a58 kind:load to:0x020e59e8 add:8 module:overlay(0) from:0x02109a5c kind:load to:0x02107955 module:overlay(4) from:0x02109a60 kind:load to:0x020571b8 module:main from:0x02109a64 kind:load to:0x020b7d14 module:overlay(0) diff --git a/config/usa/arm9/overlays/ov004/symbols.txt b/config/usa/arm9/overlays/ov004/symbols.txt index 37276c76..1728bd3a 100644 --- a/config/usa/arm9/overlays/ov004/symbols.txt +++ b/config/usa/arm9/overlays/ov004/symbols.txt @@ -264,8 +264,8 @@ func_ov004_02109968 kind:function(thumb,size=0x48) addr:0x21098e8 func_ov004_021099b0 kind:function(thumb,size=0x5c) addr:0x2109930 func_ov004_02109a0c kind:function(thumb,size=0x4c) addr:0x210998c func_ov004_02109a58 kind:function(thumb,size=0x90) addr:0x21099d8 -func_ov004_02109ae8 kind:function(thumb,size=0x20) addr:0x2109a68 -func_ov004_02109b08 kind:function(thumb,size=0x24) addr:0x2109a88 +_ZN13LinkStateItemD1Ev kind:function(thumb,size=0x20) addr:0x2109a68 +_ZN13LinkStateItemD0Ev kind:function(thumb,size=0x24) addr:0x2109a88 func_ov004_02109b2c kind:function(thumb,size=0x4c) addr:0x2109aac func_ov004_02109b78 kind:function(thumb,size=0x234) addr:0x2109af8 func_ov004_02109dac kind:function(thumb,size=0x64) addr:0x2109d2c @@ -293,7 +293,7 @@ func_ov004_0210add4 kind:function(thumb,size=0x10) addr:0x210ad54 func_ov004_0210ade4 kind:function(thumb,size=0x4) addr:0x210ad64 func_ov004_0210ade8 kind:function(thumb,size=0xc) addr:0x210ad68 func_ov004_0210adf4 kind:function(thumb,size=0x4) addr:0x210ad74 -func_ov004_0210adf8 kind:function(thumb,size=0x4) addr:0x210ad78 +_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x4) addr:0x210ad78 func_ov004_0210adfc kind:function(thumb,size=0x84) addr:0x210ad7c func_ov004_0210ae80 kind:function(thumb,size=0x28) addr:0x210ae00 func_ov004_0210aea8 kind:function(thumb,size=0x2c) addr:0x210ae28 diff --git a/config/usa/arm9/overlays/ov005/symbols.txt b/config/usa/arm9/overlays/ov005/symbols.txt index b64c608f..7268453d 100644 --- a/config/usa/arm9/overlays/ov005/symbols.txt +++ b/config/usa/arm9/overlays/ov005/symbols.txt @@ -126,12 +126,12 @@ func_ov005_02104f28 kind:function(arm,size=0x218) addr:0x2104ea8 func_ov005_02105140 kind:function(arm,size=0x1c4) addr:0x21050c0 func_ov005_02105304 kind:function(arm,size=0x58) addr:0x2105284 func_ov005_0210535c kind:function(arm,size=0xb0) addr:0x21052dc -func_ov005_0210540c kind:function(arm,size=0x1c4) addr:0x210538c +_ZN13LinkStateItem12OnStateEnterEv kind:function(arm,size=0x1c4) addr:0x210538c func_ov005_021055d0 kind:function(arm,size=0x10) addr:0x2105550 -func_ov005_021055e0 kind:function(arm,size=0x90) addr:0x2105560 -func_ov005_02105670 kind:function(arm,size=0x144) addr:0x21055f0 +_ZN13LinkStateItem8vfunc_1cEv kind:function(arm,size=0x90) addr:0x2105560 +_ZN13LinkStateItem8vfunc_20Ei kind:function(arm,size=0x144) addr:0x21055f0 func_ov005_021057b4 kind:function(arm,size=0x10) addr:0x2105734 -func_ov005_021057c4 kind:function(arm,size=0x8c) addr:0x2105744 +_ZN13LinkStateItem8vfunc_24Ei kind:function(arm,size=0x8c) addr:0x2105744 func_ov005_02105850 kind:function(arm,size=0x3d8) addr:0x21057d0 func_ov005_02105c28 kind:function(arm,size=0x15c) addr:0x2105ba8 func_ov005_02105d84 kind:function(arm,size=0x10) addr:0x2105d04 @@ -278,11 +278,11 @@ func_ov005_0210ec3c kind:function(arm,size=0xaa0) addr:0x210ebbc func_ov005_0210f6dc kind:function(arm,size=0x8) addr:0x210f65c func_ov005_0210f6e4 kind:function(arm,size=0x1c) addr:0x210f664 func_ov005_0210f700 kind:function(arm,size=0x4) addr:0x210f680 -func_ov005_0210f704 kind:function(arm,size=0x4) addr:0x210f684 -func_ov005_0210f708 kind:function(arm,size=0x4) addr:0x210f688 -func_ov005_0210f70c kind:function(arm,size=0x8) addr:0x210f68c -func_ov005_0210f714 kind:function(arm,size=0x8) addr:0x210f694 -func_ov005_0210f71c kind:function(arm,size=0x3c) addr:0x210f69c +_ZN13LinkStateBase8vfunc_2cEPt kind:function(arm,size=0x4) addr:0x210f684 +_ZN13LinkStateBase8vfunc_30Ei kind:function(arm,size=0x4) addr:0x210f688 +_ZN13LinkStateBase8vfunc_38Ev kind:function(arm,size=0x8) addr:0x210f68c +_ZN13LinkStateBase8vfunc_3cEv kind:function(arm,size=0x8) addr:0x210f694 +_ZN13LinkStateBase8vfunc_40Ev kind:function(arm,size=0x3c) addr:0x210f69c func_ov005_0210f758 kind:function(arm,size=0x60) addr:0x210f6d8 func_ov005_0210f7b8 kind:function(arm,size=0x50) addr:0x210f738 func_ov005_0210f808 kind:function(arm,size=0xa18) addr:0x210f788 diff --git a/config/usa/arm9/overlays/ov014/symbols.txt b/config/usa/arm9/overlays/ov014/symbols.txt index 028839a5..8456081e 100644 --- a/config/usa/arm9/overlays/ov014/symbols.txt +++ b/config/usa/arm9/overlays/ov014/symbols.txt @@ -8,7 +8,7 @@ func_ov014_0211f980 kind:function(arm,size=0x130) addr:0x211f900 func_ov014_0211fab0 kind:function(arm,size=0x1dc) addr:0x211fa30 func_ov014_0211fc8c kind:function(arm,size=0x50) addr:0x211fc0c func_ov014_0211fcdc kind:function(thumb,size=0x28) addr:0x211fc5c -func_ov014_0211fd04 kind:function(thumb,size=0x4c) addr:0x211fc84 +_Z19func_ov014_0211fd04Pi kind:function(thumb,size=0x4c) addr:0x211fc84 func_ov014_0211fd50 kind:function(arm,size=0x30) addr:0x211fcd0 func_ov014_0211fd80 kind:function(arm,size=0x10) addr:0x211fd00 func_ov014_0211fd90 kind:function(arm,size=0x14) addr:0x211fd10 @@ -917,7 +917,7 @@ func_ov014_0213eb5c kind:function(thumb,size=0x20) addr:0x213eab8 func_ov014_0213eb7c kind:function(thumb,size=0x28) addr:0x213ead8 func_ov014_0213eba4 kind:function(arm,size=0x9c) addr:0x213eb00 func_ov014_0213ec40 kind:function(arm,size=0x24) addr:0x213eb9c -func_ov014_0213ec64 kind:function(arm,size=0x48) addr:0x213ebc0 +_Z19func_ov014_0213ec64i kind:function(arm,size=0x48) addr:0x213ebc0 func_ov014_0213ecac kind:function(arm,size=0x8) addr:0x213ec08 func_ov014_0213ecb4 kind:function(arm,size=0xc0) addr:0x213ec10 func_ov014_0213ed74 kind:function(arm,size=0x20) addr:0x213ecd0 diff --git a/config/usa/arm9/overlays/ov054/symbols.txt b/config/usa/arm9/overlays/ov054/symbols.txt index 91290893..0a781ca3 100644 --- a/config/usa/arm9/overlays/ov054/symbols.txt +++ b/config/usa/arm9/overlays/ov054/symbols.txt @@ -13,7 +13,7 @@ func_ov054_02198eec kind:function(arm,size=0x10) addr:0x2198e4c func_ov054_02198efc kind:function(arm,size=0x3cc) addr:0x2198e5c func_ov054_021992c8 kind:function(arm,size=0x518) addr:0x2199228 func_ov054_021997e0 kind:function(arm,size=0x10) addr:0x2199740 -func_ov054_021997f0 kind:function(arm,size=0xe4) addr:0x2199750 +_ZN10EquipScoop9StopUsingEP13LinkStateItem kind:function(arm,size=0xe4) addr:0x2199750 func_ov054_021998d4 kind:function(arm,size=0x40) addr:0x2199834 data_ov054_02199914 kind:data(any) addr:0x2199874 func_ov054_02199924 kind:function(arm,size=0x30) addr:0x2199884 diff --git a/config/usa/arm9/overlays/ov055/symbols.txt b/config/usa/arm9/overlays/ov055/symbols.txt index f0f12c91..8569f1af 100644 --- a/config/usa/arm9/overlays/ov055/symbols.txt +++ b/config/usa/arm9/overlays/ov055/symbols.txt @@ -5,7 +5,7 @@ func_ov055_02198da4 kind:function(arm,size=0x54) addr:0x2198d04 func_ov055_02198df8 kind:function(arm,size=0x68) addr:0x2198d58 func_ov055_02198e60 kind:function(arm,size=0x118) addr:0x2198dc0 func_ov055_02198f78 kind:function(arm,size=0x18) addr:0x2198ed8 -func_ov055_02198f90 kind:function(arm,size=0x80) addr:0x2198ef0 +_ZN9EquipBomb9StopUsingEP13LinkStateItemi kind:function(arm,size=0x80) addr:0x2198ef0 func_ov055_02199010 kind:function(arm,size=0x10) addr:0x2198f70 func_ov055_02199020 kind:function(arm,size=0x188) addr:0x2198f80 func_ov055_021991a8 kind:function(arm,size=0x4) addr:0x2199108 diff --git a/config/usa/arm9/overlays/ov057/symbols.txt b/config/usa/arm9/overlays/ov057/symbols.txt index d846c004..de0bc77e 100644 --- a/config/usa/arm9/overlays/ov057/symbols.txt +++ b/config/usa/arm9/overlays/ov057/symbols.txt @@ -31,7 +31,7 @@ func_ov057_02199e64 kind:function(arm,size=0x68) addr:0x2199dc4 func_ov057_02199ecc kind:function(arm,size=0x10) addr:0x2199e2c func_ov057_02199edc kind:function(arm,size=0x32c) addr:0x2199e3c func_ov057_0219a208 kind:function(arm,size=0x124) addr:0x219a168 -func_ov057_0219a32c kind:function(arm,size=0x38) addr:0x219a28c +_ZN9EquipRope9StopUsingEP13LinkStateItem kind:function(arm,size=0x38) addr:0x219a28c func_ov057_0219a364 kind:function(arm,size=0x4c) addr:0x219a2c4 func_ov057_0219a3b0 kind:function(arm,size=0x4c) addr:0x219a310 func_ov057_0219a3fc kind:function(arm,size=0x64) addr:0x219a35c diff --git a/config/usa/arm9/overlays/ov059/symbols.txt b/config/usa/arm9/overlays/ov059/symbols.txt index 30043ecc..58b1b5f3 100644 --- a/config/usa/arm9/overlays/ov059/symbols.txt +++ b/config/usa/arm9/overlays/ov059/symbols.txt @@ -15,7 +15,7 @@ func_ov059_02198ffc kind:function(arm,size=0x80) addr:0x2198f5c func_ov059_0219907c kind:function(arm,size=0x28) addr:0x2198fdc func_ov059_021990a4 kind:function(arm,size=0x268) addr:0x2199004 func_ov059_0219930c kind:function(arm,size=0x10) addr:0x219926c -func_ov059_0219931c kind:function(arm,size=0x20) addr:0x219927c +_ZN11EquipHammer9StopUsingEP13LinkStateItem kind:function(arm,size=0x20) addr:0x219927c func_ov059_0219933c kind:function(arm,size=0xd70) addr:0x219929c func_ov059_0219a0ac kind:function(arm,size=0x95c) addr:0x219a00c func_ov059_0219aa08 kind:function(arm,size=0x1a0) addr:0x219a968 diff --git a/include/Player/EquipBomb.hpp b/include/Player/EquipBomb.hpp index d21e12f1..9eb26ec9 100644 --- a/include/Player/EquipBomb.hpp +++ b/include/Player/EquipBomb.hpp @@ -4,6 +4,8 @@ #include "Player/EquipItem.hpp" +class LinkStateItem; + class EquipBomb : public EquipItem { private: /* 00 (base) */ @@ -26,4 +28,6 @@ public: /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov55_2198df8 /* 50 */ virtual void vfunc_50(); // func_ov14_0213d228 /* 54 */ + + static void StopUsing(LinkStateItem *param1, unk32 param2); }; diff --git a/include/Player/EquipHammer.hpp b/include/Player/EquipHammer.hpp index 4cf56a21..9d3f0394 100644 --- a/include/Player/EquipHammer.hpp +++ b/include/Player/EquipHammer.hpp @@ -4,6 +4,8 @@ #include "Player/EquipItem.hpp" +class LinkStateItem; + class EquipHammer : public EquipItem { private: /* 00 (base) */ @@ -29,10 +31,12 @@ public: /* 18 */ virtual void vfunc_18() override; // func_ov59_02198e3c /* 1c */ virtual void vfunc_1c() override; // func_ov59_02198e58 - /* 2c */ virtual unk32 vfunc_2c() override; // func_ov59_02198fcc + /* 2c */ virtual u32 vfunc_2c() override; // func_ov59_02198fcc /* 30 */ virtual void vfunc_30() override; // func_ov59_02198e6c /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_0v59_02198fc8 /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov14_0213ee10 /* 4c */ virtual s32 vfunc_4c() const override; // func_ov14_0213eea8 /* 50 */ + + static void StopUsing(LinkStateItem *param1); }; diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 9eb7cdec..127eb974 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -15,6 +15,7 @@ struct EquipRope_Unk_18 { }; class Actor; +class LinkStateItem; class EquipRope : public EquipItem { public: @@ -59,4 +60,6 @@ public: bool func_ov14_0213dadc(s32 index, Cylinder *cylinder); s32 func_ov14_0213ddd4(Actor *actor); bool func_ov14_0213defc(Actor *actor); + + static void StopUsing(LinkStateItem *param1); }; diff --git a/include/Player/EquipScoop.hpp b/include/Player/EquipScoop.hpp index f0958df5..8c4694bc 100644 --- a/include/Player/EquipScoop.hpp +++ b/include/Player/EquipScoop.hpp @@ -4,6 +4,8 @@ #include "Player/EquipItem.hpp" +class LinkStateItem; + class EquipScoop : public EquipItem { private: /* 0 (base) */ @@ -24,4 +26,6 @@ public: /* 44 */ virtual unk32 vfunc_44(unk32 param1) const override; // func_ov54_02198d38 /* 48 */ virtual unk32 vfunc_48(unk32 param1) const override; // func_ov54_02198d48 /* 50 */ + + static void StopUsing(LinkStateItem *param1); }; diff --git a/include/Player/LinkStateBase.hpp b/include/Player/LinkStateBase.hpp index f4591991..3371b937 100644 --- a/include/Player/LinkStateBase.hpp +++ b/include/Player/LinkStateBase.hpp @@ -128,3 +128,7 @@ public: DebugHierarchy *GetDebugHierarchy0(); DebugHierarchy *GetDebugHierarchy1(); }; + +LinkStateBase *GetLinkState(s32 index); + +extern LinkStateBase **gLinkStates; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index 591614f2..0c5f4a4d 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -13,8 +13,8 @@ public: /* 00 (base) */ /* 0c */ void *mUnk_0c; /* 10 */ unk32 mUnk_10; - /* 14 */ ItemId mEquipId; - /* 18 */ ItemId mNextEquip; + /* 14 */ ItemFlag mEquipId; + /* 18 */ ItemFlag mNextEquip; /* 1c */ unk32 mUnk_1c; /* 20 */ unk16 mUnk_20; /* 22 */ unk8 mUnk_22[2]; @@ -47,7 +47,7 @@ public: /* 44 */ s32 IsHammerEquipped(); // returns 0 if hammer is equipped, otherwise -1 - EquipBombchu *GetEquipBombchu(); - LinkStateMove *GetLinkStateMove(); + static EquipBombchu *GetEquipBombchu(); + static LinkStateMove *GetLinkStateMove(); bool func_ov00_020abf70(); }; diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 65831d20..2a353075 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -92,7 +92,7 @@ public: void func_Ov00_02097810(s32 param1); unk32 func_ov00_02097968(unk32 param1); unk32 func_ov00_02097a44(unk32 param1, s32 param2); - bool func_ov00_02097b9c(); + bool func_ov00_02097b9c(s32 param1); bool func_ov00_02097bac(); bool func_ov00_02097bbc(); bool func_ov00_02097bcc(); diff --git a/src/00_Core/Player/LinkStateItem.cpp b/src/00_Core/Player/LinkStateItem.cpp index ecedca78..5cbccd85 100644 --- a/src/00_Core/Player/LinkStateItem.cpp +++ b/src/00_Core/Player/LinkStateItem.cpp @@ -1,10 +1,110 @@ #include "Player/LinkStateItem.hpp" +#include "Item/ItemManager.hpp" +#include "Player/EquipBomb.hpp" +#include "Player/EquipHammer.hpp" +#include "Player/EquipItem.hpp" +#include "Player/EquipScoop.hpp" +#include "Player/PlayerControl.hpp" +#include "Save/AdventureFlags.hpp" -void LinkStateItem::vfunc_00() {} -LinkStateId LinkStateItem::GetId() {} -s32 LinkStateItem::IsHammerEquipped() {} -void LinkStateItem::OnStateLeave(s32 param1) {} -EquipBombchu *LinkStateItem::GetEquipBombchu() {} -LinkStateMove *LinkStateItem::GetLinkStateMove() {} -bool LinkStateItem::func_ov00_020abf70() {} -bool LinkStateItem::vfunc_28() {} +extern unk32 func_ov000_020cf01c(s32 *param1); +extern void func_ov000_020cf9dc(s32 param1, s32 param2, s32 param3); +extern void func_ov014_0213ec64(s32 param1); +extern void func_ov014_0211fd04(s32 *param1); +extern void func_ov000_020b7e6c(s32 *param1); + +extern s32 *data_027e103c; +extern s32 *data_027e1098; + +THUMB void LinkStateItem::vfunc_00() {} + +ARM LinkStateId LinkStateItem::GetId() { + return LinkStateId_Item; +} + +ARM s32 LinkStateItem::IsHammerEquipped() { + switch (this->mEquipId) { + case ItemFlag_Hammer: return 0; + default: return -1; + } +} + +ARM void LinkStateItem::OnStateLeave(s32 param1) { + EquipItem *pEVar1; + LinkStateMove *pLVar2; + s32 iVar3; + unk32 *puVar4; + + LinkStateBase::OnStateLeave(param1); + + switch (this->mEquipId) { + case ItemFlag_BombchuBag: + iVar3 = func_ov000_020cf01c(data_027e103c); + if (*(u8 *) (iVar3 + 0xe0) == '\0') { + func_ov014_0213ec64((s32) GetEquipBombchu()); + } + func_ov014_0211fd04(data_027e1098); + break; + case ItemFlag_OshusSword: break; + case ItemFlag_WoodenShield: break; + case ItemFlag_Boomerang: break; + case ItemFlag_BombBag: EquipBomb::StopUsing(this, param1); break; + case ItemFlag_Bow: break; + case ItemFlag_GrapplingHook: EquipRope::StopUsing(this); break; + case ItemFlag_Hammer: EquipHammer::StopUsing(this); break; + case ItemFlag_PotionA: + case ItemFlag_PotionB: + iVar3 = (int) (data_027e103c); + *(unk8 *) ((s16 *) data_027e103c + 0x15) = 0; + func_ov000_020cf9dc(iVar3, 0, 0); + break; + case ItemFlag_Shovel: EquipScoop::StopUsing(this); break; + } + + if (this->mEquipId != ItemFlag_None) { + pEVar1 = this->GetEquipItem(this->mEquipId); + pEVar1->vfunc_1c(); + } + + switch (this->mEquipId) { + case ItemFlag_None: + case ItemFlag_OshusSword: break; + case ItemFlag_WoodenShield: break; + case ItemFlag_PotionA: + case ItemFlag_PotionB: this->EquipItem_vfunc_28(); break; + default: + this->EquipItem_vfunc_28(); + if (param1 != 4 && param1 != 2) { + pLVar2 = this->GetLinkStateMove(); + pLVar2->mUnk_14 = true; + } + } + + this->mNextEquip = ItemFlag_None; + + puVar4 = (unk32 *) this + 20; + for (; puVar4 != (unk32 *) this + 22; puVar4++) { + func_ov000_020b7e6c(puVar4); + } + if (gPlayerControl->mUnk_80 != false) { + gPlayerControl->StopFollowing(); + } + this->mUnk_25[1] = 0; + return; +} + +ARM EquipBombchu *LinkStateItem::GetEquipBombchu() { + return (EquipBombchu *) ItemManager::GetEquipItemUnchecked(ItemFlag_BombchuBag); +} + +ARM LinkStateMove *LinkStateItem::GetLinkStateMove() { + return (LinkStateMove *) GetLinkState(LinkStateId_Move); +} + +ARM bool LinkStateItem::func_ov00_020abf70() { + return gAdventureFlags->func_ov00_02097b9c(this->mUnk_5c); +} + +ARM bool LinkStateItem::vfunc_28() { + return this->mUnk_5c < 0; +} diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 03bb6c76..a6a944b5 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -14,7 +14,7 @@ void AdventureFlags::Set(AdventureFlag flag, bool value) {} void AdventureFlags::func_Ov00_02097810(s32 param1) {} unk32 AdventureFlags::func_ov00_02097968(unk32 param1) {} unk32 AdventureFlags::func_ov00_02097a44(unk32 param1, s32 param2) {} -bool AdventureFlags::func_ov00_02097b9c() {} +bool AdventureFlags::func_ov00_02097b9c(s32 param1) {} bool AdventureFlags::func_ov00_02097bac() {} bool AdventureFlags::func_ov00_02097bbc() {} bool AdventureFlags::func_ov00_02097bcc() {} diff --git a/src/Main/Player/LinkState.cpp b/src/Main/Player/LinkState.cpp new file mode 100644 index 00000000..b5e5621e --- /dev/null +++ b/src/Main/Player/LinkState.cpp @@ -0,0 +1,5 @@ +#include "Player/LinkStateBase.hpp" + +LinkStateBase *GetLinkState(s32 index) { + return gLinkStates[index]; +}