mirror of
https://github.com/zeldaret/ph
synced 2026-05-23 06:54:18 -04:00
Match LinkStateMove
This commit is contained in:
@@ -118,6 +118,7 @@ src/00_Core/Player/LinkStateItem.cpp:
|
||||
.data start:0x020e5a40 end:0x020e5a8c
|
||||
|
||||
src/00_Core/Player/LinkStateMove.cpp:
|
||||
complete
|
||||
.text start:0x020a8e04 end:0x020a8f74
|
||||
.data start:0x020e56f0 end:0x020e575c
|
||||
|
||||
|
||||
@@ -4724,8 +4724,9 @@ data_ov000_020e5684 kind:data(any) addr:0x20e5684
|
||||
data_ov000_020e5694 kind:data(any) addr:0x20e5694
|
||||
_ZTV13LinkStateBase kind:data(any) addr:0x20e56ac
|
||||
data_ov000_020e56f0 kind:data(any) addr:0x20e56f0
|
||||
data_ov000_020e5700 kind:data(any) addr:0x20e5700
|
||||
data_ov000_020e5744 kind:data(any) addr:0x20e5744
|
||||
data_ov000_020e56f4$964 kind:data(any) addr:0x20e56f4 local
|
||||
_ZTV13LinkStateMove kind:data(any) addr:0x20e56f8
|
||||
@922 kind:data(any) addr:0x20e5744 local
|
||||
data_ov000_020e575c kind:data(any) addr:0x20e575c
|
||||
data_ov000_020e5760 kind:data(any) addr:0x20e5760
|
||||
data_ov000_020e5764 kind:data(any) addr:0x20e5764
|
||||
|
||||
@@ -2231,7 +2231,7 @@ from:0x0210aec2 kind:thumb_call to:0x0210adf4 module:overlay(4)
|
||||
from:0x0210aec8 kind:thumb_call_arm to:0x0202ea0c module:main
|
||||
from:0x0210aed0 kind:load to:0x020b7d74 module:overlay(0)
|
||||
from:0x0210aed8 kind:thumb_call to:0x0210add4 module:overlay(4)
|
||||
from:0x0210aef0 kind:load to:0x020e5700 module:overlay(0)
|
||||
from:0x0210aef0 kind:load to:0x020e56f8 add:8 module:overlay(0)
|
||||
from:0x0210aef8 kind:thumb_call to:0x0210adf4 module:overlay(4)
|
||||
from:0x0210af04 kind:thumb_call to:0x0210adf4 module:overlay(4)
|
||||
from:0x0210af0a kind:thumb_call_arm to:0x0202ea0c module:main
|
||||
|
||||
@@ -118,6 +118,7 @@ src/00_Core/Player/LinkStateItem.cpp:
|
||||
.data start:0x020e59e0 end:0x020e5a2c
|
||||
|
||||
src/00_Core/Player/LinkStateMove.cpp:
|
||||
complete
|
||||
.text start:0x020a8da4 end:0x020a8f14
|
||||
.data start:0x020e5690 end:0x020e56fc
|
||||
|
||||
|
||||
@@ -4724,8 +4724,9 @@ data_ov000_020e5684 kind:data(any) addr:0x20e5624
|
||||
data_ov000_020e5694 kind:data(any) addr:0x20e5634
|
||||
_ZTV13LinkStateBase kind:data(any) addr:0x20e564c
|
||||
data_ov000_020e56f0 kind:data(any) addr:0x20e5690
|
||||
data_ov000_020e5700 kind:data(any) addr:0x20e56a0
|
||||
data_ov000_020e5744 kind:data(any) addr:0x20e56e4
|
||||
data_ov000_020e56f4$964 kind:data(any) addr:0x20e5694 local
|
||||
_ZTV13LinkStateMove kind:data(any) addr:0x20e5698
|
||||
@922 kind:data(any) addr:0x20e56e4 local
|
||||
data_ov000_020e575c kind:data(any) addr:0x20e56fc
|
||||
data_ov000_020e5760 kind:data(any) addr:0x20e5700
|
||||
data_ov000_020e5764 kind:data(any) addr:0x20e5704
|
||||
|
||||
@@ -2231,7 +2231,7 @@ from:0x0210ae42 kind:thumb_call to:0x0210ad74 module:overlay(4)
|
||||
from:0x0210ae48 kind:thumb_call_arm to:0x0202ea08 module:main
|
||||
from:0x0210ae50 kind:load to:0x020b7d14 module:overlay(0)
|
||||
from:0x0210ae58 kind:thumb_call to:0x0210ad54 module:overlay(4)
|
||||
from:0x0210ae70 kind:load to:0x020e56a0 module:overlay(0)
|
||||
from:0x0210ae70 kind:load to:0x020e5698 add:8 module:overlay(0)
|
||||
from:0x0210ae78 kind:thumb_call to:0x0210ad74 module:overlay(4)
|
||||
from:0x0210ae84 kind:thumb_call to:0x0210ad74 module:overlay(4)
|
||||
from:0x0210ae8a kind:thumb_call_arm to:0x0202ea08 module:main
|
||||
|
||||
@@ -24,9 +24,10 @@ public:
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2c */ virtual void vfunc_2c();
|
||||
/* 30 */ virtual void vfunc_30();
|
||||
/* 34 */ virtual bool GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4);
|
||||
/* 34 */ virtual bool GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
|
||||
unk32 param6, unk32 param7, unk32 param8);
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3c */ virtual void vfunc_3c();
|
||||
/* 3c */ virtual void vfunc_3c(unk32 param1, void *param2);
|
||||
/* 40 */
|
||||
|
||||
DebugHierarchyBase();
|
||||
|
||||
@@ -12,8 +12,9 @@ public:
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk16 mUnk_12;
|
||||
/* 14 */ bool mUnk_14;
|
||||
/* 14 */ bool mUnk_15;
|
||||
/* 16 */ unk8 mUnk_16[2];
|
||||
/* 15 */ bool mUnk_15;
|
||||
/* 16 */ bool mUnk_16;
|
||||
/* 17 */ bool mUnk_17;
|
||||
/* 18 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
|
||||
@@ -48,8 +48,8 @@ public:
|
||||
|
||||
void SetUpdatePos(bool updatePos);
|
||||
void SetVisible(bool visible);
|
||||
EquipSword *GetEquipSword();
|
||||
EquipShield *GetEquipShield();
|
||||
static EquipSword *GetEquipSword();
|
||||
static EquipShield *GetEquipShield();
|
||||
void LookAt(Vec3p *target);
|
||||
bool func_ov00_020a7c00(s32 param1);
|
||||
bool CollidesWith(Cylinder *cylinder);
|
||||
|
||||
@@ -1,10 +1,71 @@
|
||||
#include "Player/LinkStateMove.hpp"
|
||||
|
||||
void LinkStateMove::vfunc_00() {}
|
||||
LinkStateId LinkStateMove::GetId() {}
|
||||
void LinkStateMove::CreateDebugHierarchy() {}
|
||||
void LinkStateMove::OnStateEnter() {}
|
||||
void LinkStateMove::OnStateLeave(s32 param1) {}
|
||||
bool LinkStateMove::vfunc_24(s32 param1) {}
|
||||
bool LinkStateMove::func_ov00_020a8f2c() {}
|
||||
bool LinkStateMove::func_ov00_020a8f4c() {}
|
||||
unk32 data_ov000_020e56f0 = 0x800;
|
||||
|
||||
THUMB void LinkStateMove::vfunc_00() {}
|
||||
|
||||
ARM LinkStateId LinkStateMove::GetId() {
|
||||
return LinkStateId_Move;
|
||||
}
|
||||
|
||||
THUMB void LinkStateMove::CreateDebugHierarchy() {
|
||||
unk32 id = 'LMOV';
|
||||
// Breath volume decay rate "息吹きボリューム低下率"
|
||||
const char *description = "\x91\xa7\x90\x81\x82\xab\x83{\x83\x8a\x83\x85\x81[\x83\x80\x92\xe1\x89\xba\x97\xa6";
|
||||
|
||||
DebugHierarchy *debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e56f0);
|
||||
|
||||
debugHierarchy->GetChildNode(1, description, id, &data_ov000_020e56f0, 8, 0, 0x1000, 0);
|
||||
}
|
||||
|
||||
extern u32 data_ov000_020eec9c;
|
||||
extern "C" void func_ov000_020d77e4(void *param1, s32 param2);
|
||||
|
||||
ARM void LinkStateMove::OnStateEnter() {
|
||||
this->mUnk_0c = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_12 = 0;
|
||||
if (this->mUnk_14 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
EquipItem *sword = this->GetEquipItem(ItemFlag_OshusSword);
|
||||
sword->UpdateInUse(1);
|
||||
EquipItem *shield = this->GetEquipItem(ItemFlag_WoodenShield);
|
||||
shield->UpdateInUse(1);
|
||||
|
||||
PlayerBase::GetEquipSword()->func_ov000_020c06b0(-1);
|
||||
func_ov000_020d77e4(&data_ov000_020eec9c, 0xD);
|
||||
}
|
||||
|
||||
ARM void LinkStateMove::OnStateLeave(s32 param1) {
|
||||
LinkStateBase::OnStateLeave(param1);
|
||||
this->mUnk_14 = 0;
|
||||
this->mUnk_15 = 0;
|
||||
this->mUnk_16 = 0;
|
||||
}
|
||||
|
||||
ARM bool LinkStateMove::vfunc_24(s32 param1) {
|
||||
if (this->GetHealth() > 0) {
|
||||
return LinkStateBase::vfunc_24(param1);
|
||||
}
|
||||
switch (param1) {
|
||||
case 2: return true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
ARM bool LinkStateMove::func_ov00_020a8f2c() {
|
||||
static unk32 data_ov000_020e56f4 = 0x100;
|
||||
return this->mUnk_0c > data_ov000_020e56f4;
|
||||
}
|
||||
|
||||
ARM bool LinkStateMove::func_ov00_020a8f4c() {
|
||||
if (this->mUnk_15) {
|
||||
return false;
|
||||
}
|
||||
this->mUnk_15 = true;
|
||||
this->mUnk_16 = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
DebugHierarchyBase::DebugHierarchyBase() {}
|
||||
DebugHierarchyBase::~DebugHierarchyBase() {}
|
||||
DebugHierarchyNode *DebugHierarchyBase::FindNode(u32 id) {}
|
||||
bool DebugHierarchyBase::GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4) {}
|
||||
bool DebugHierarchyBase::GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
|
||||
unk32 param6, unk32 param7, unk32 param8) {}
|
||||
void DebugHierarchyBase::vfunc_08() {}
|
||||
void DebugHierarchyBase::vfunc_0c() {}
|
||||
void DebugHierarchyBase::vfunc_10() {}
|
||||
@@ -16,4 +17,4 @@ void DebugHierarchyBase::vfunc_28() {}
|
||||
void DebugHierarchyBase::vfunc_2c() {}
|
||||
void DebugHierarchyBase::vfunc_30() {}
|
||||
void DebugHierarchyBase::vfunc_38() {}
|
||||
void DebugHierarchyBase::vfunc_3c() {}
|
||||
void DebugHierarchyBase::vfunc_3c(unk32 param1, void *param2) {}
|
||||
|
||||
Reference in New Issue
Block a user