mirror of
https://github.com/zeldaret/ph
synced 2026-05-25 07:22:58 -04:00
LinkStateItem::OnStateLeave 71% match
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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_0211fd04i 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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_0211fd04i 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
|
||||
|
||||
@@ -4,8 +4,15 @@
|
||||
#include "Player/EquipItem.hpp"
|
||||
#include "Player/EquipScoop.hpp"
|
||||
#include "Player/LinkStateItem.hpp"
|
||||
#include "Player/PlayerControl.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
|
||||
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);
|
||||
|
||||
void LinkStateItem::vfunc_00() {}
|
||||
|
||||
LinkStateId LinkStateItem::GetId() {
|
||||
@@ -21,45 +28,68 @@ s32 LinkStateItem::IsHammerEquipped() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LinkStateItem::OnStateLeave(s32 param1) {
|
||||
EquipItem *pEVar1;
|
||||
LinkStateMove *pLVar2;
|
||||
s32 iVar3;
|
||||
unk32 *puVar4;
|
||||
EquipItem *pEVar1;
|
||||
LinkStateMove *pLVar2;
|
||||
s32 iVar3;
|
||||
unk32 *puVar4;
|
||||
unk32 *puVar5;
|
||||
|
||||
LinkStateBase::OnStateLeave(param1);
|
||||
LinkStateBase::OnStateLeave(param1);
|
||||
|
||||
switch(this->mEquipId) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
case 3:
|
||||
EquipScoop::StopUsing(this);
|
||||
break;
|
||||
case 4:
|
||||
EquipBomb::StopUsing(this);
|
||||
break;
|
||||
case 5:
|
||||
break;
|
||||
case 6:
|
||||
EquipRope::StopUsing(this);
|
||||
break;
|
||||
case 7:
|
||||
// TODO
|
||||
break;
|
||||
case 8:
|
||||
EquipHammer::StopUsing(this);
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
// TODO
|
||||
break;
|
||||
}
|
||||
switch (this->mEquipId) {
|
||||
case 0: break;
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
case 3: EquipScoop::StopUsing(this); break;
|
||||
case 4: EquipBomb::StopUsing(this); break;
|
||||
case 5: break;
|
||||
case 6: EquipRope::StopUsing(this); break;
|
||||
case 7:
|
||||
/* bombchu */
|
||||
iVar3 = func_ov000_020cf01c((s32 *) (*(s32 *) 0x20abf44));
|
||||
if (*(char *) (iVar3 + 0xe0) == '\0') {
|
||||
func_ov014_0213ec64((s32) GetEquipBombchu());
|
||||
}
|
||||
func_ov014_0211fd04(*(s32 *) (0x20abf48));
|
||||
break;
|
||||
case 8: EquipHammer::StopUsing(this); break;
|
||||
case 9:
|
||||
case 10:
|
||||
iVar3 = *(int *) (0x20abf44);
|
||||
*(unk8 *) (iVar3 + 0x2a) = 0;
|
||||
func_ov000_020cf9dc(iVar3, 0, 0);
|
||||
}
|
||||
|
||||
this->mNextEquip = 0xffffffff;
|
||||
if (this->mEquipId != -1) {
|
||||
pEVar1 = this->GetEquipItem(this->mEquipId);
|
||||
pEVar1->vfunc_1c();
|
||||
}
|
||||
|
||||
if ((this->mEquipId <= 9 && this->mEquipId >= 9) || (this->mEquipId <= 1 && this->mEquipId >= -1)) {
|
||||
this->EquipItem_vfunc_28();
|
||||
} else {
|
||||
this->EquipItem_vfunc_28();
|
||||
|
||||
if (param1 != 4 && param1 != 2) {
|
||||
pLVar2 = this->GetLinkStateMove();
|
||||
pLVar2->mUnk_14 = true;
|
||||
}
|
||||
}
|
||||
|
||||
this->mNextEquip = 0xffffffff;
|
||||
|
||||
puVar4 = (unk32 *) this + 20;
|
||||
puVar5 = (unk32 *) this + 22;
|
||||
for (; puVar4 != puVar5; puVar4 = puVar4 + 4) {
|
||||
func_ov000_020b7e6c(puVar4);
|
||||
}
|
||||
if (gPlayerControl->mUnk_80 != false) {
|
||||
gPlayerControl->StopFollowing();
|
||||
}
|
||||
this->mUnk_25[1] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
EquipBombchu *LinkStateItem::GetEquipBombchu() {
|
||||
|
||||
Reference in New Issue
Block a user