mirror of
https://github.com/zeldaret/ph
synced 2026-05-30 17:05:38 -04:00
started EquipHammer.cpp
This commit is contained in:
@@ -680,7 +680,7 @@ _ZN10MapManager18func_ov00_0208527cEv kind:function(arm,size=0x180) addr:0x20852
|
||||
_ZN10MapManager18func_ov00_020853fcEv kind:function(arm,size=0x198) addr:0x20853fc
|
||||
_ZN10MapManager18func_ov00_02085594Ev kind:function(arm,size=0x2a8) addr:0x2085594
|
||||
_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi kind:function(arm,size=0x74) addr:0x208583c
|
||||
_ZN10MapManager18func_ov00_020858b0Ev kind:function(arm,size=0x184) addr:0x20858b0
|
||||
_ZN10MapManager18func_ov00_020858b0EPS_P5Vec3pi kind:function(arm,size=0x184) addr:0x20858b0
|
||||
_ZN10MapManager18func_ov00_02085a34Eii kind:function(arm,size=0x22c) addr:0x2085a34
|
||||
_ZN10MapManager18func_ov00_02085c60Eiiii kind:function(arm,size=0x3e4) addr:0x2085c60
|
||||
_ZN10MapManager18func_ov00_02086044Eiii kind:function(arm,size=0x240) addr:0x2086044
|
||||
@@ -1921,7 +1921,7 @@ _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi kind:function(arm,size=0xd0) add
|
||||
_ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb kind:function(arm,size=0x110) addr:0x20a8844
|
||||
_ZN13LinkStateBase18func_ov00_020a8954EbPi kind:function(arm,size=0x40) addr:0x20a8954
|
||||
_ZN13LinkStateBase18func_ov00_020a8994Ev kind:function(arm,size=0x28) addr:0x20a8994
|
||||
_ZN13LinkStateBase18func_ov00_020a89bcEii kind:function(arm,size=0x4c) addr:0x20a89bc
|
||||
_ZN13LinkStateBase18func_ov00_020a89bcEPii kind:function(arm,size=0x4c) addr:0x20a89bc
|
||||
_ZN13LinkStateBase18func_ov00_020a8a08Ei kind:function(arm,size=0x44) addr:0x20a8a08
|
||||
_ZN13LinkStateBase18func_ov00_020a8a4cEii kind:function(arm,size=0x44) addr:0x20a8a4c
|
||||
_ZN13LinkStateBase18func_ov00_020a8a90Ei kind:function(arm,size=0x20) addr:0x20a8a90
|
||||
|
||||
@@ -4,3 +4,9 @@
|
||||
.data start:0x0219b140 end:0x0219b1c0 kind:data align:32
|
||||
.bss start:0x0219b1c0 end:0x0219b1c0 kind:bss align:32
|
||||
|
||||
|
||||
src/59_Hammer/Player/EquipHammer.cpp:
|
||||
.text start:0x02198d00 end:0x0219933c
|
||||
|
||||
src/59_Hammer/Actor/Navi/ActorNaviBase.cpp:
|
||||
.text start:0x0219933c end:0x0219b110
|
||||
|
||||
@@ -680,7 +680,7 @@ _ZN10MapManager18func_ov00_0208527cEv kind:function(arm,size=0x180) addr:0x20852
|
||||
_ZN10MapManager18func_ov00_020853fcEv kind:function(arm,size=0x198) addr:0x208539c
|
||||
_ZN10MapManager18func_ov00_02085594Ev kind:function(arm,size=0x2a8) addr:0x2085534
|
||||
_ZN10MapManager18func_ov00_0208583cEiP5Vec3pi kind:function(arm,size=0x74) addr:0x20857dc
|
||||
_ZN10MapManager18func_ov00_020858b0Ev kind:function(arm,size=0x184) addr:0x2085850
|
||||
_ZN10MapManager18func_ov00_020858b0EPS_P5Vec3pi kind:function(arm,size=0x184) addr:0x2085850
|
||||
_ZN10MapManager18func_ov00_02085a34Eii kind:function(arm,size=0x22c) addr:0x20859d4
|
||||
_ZN10MapManager18func_ov00_02085c60Eiiii kind:function(arm,size=0x3e4) addr:0x2085c00
|
||||
_ZN10MapManager18func_ov00_02086044Eiii kind:function(arm,size=0x240) addr:0x2085fe4
|
||||
@@ -1921,7 +1921,7 @@ _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi kind:function(arm,size=0xd0) add
|
||||
_ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb kind:function(arm,size=0x110) addr:0x20a87e4
|
||||
_ZN13LinkStateBase18func_ov00_020a8954EbPi kind:function(arm,size=0x40) addr:0x20a88f4
|
||||
_ZN13LinkStateBase18func_ov00_020a8994Ev kind:function(arm,size=0x28) addr:0x20a8934
|
||||
_ZN13LinkStateBase18func_ov00_020a89bcEii kind:function(arm,size=0x4c) addr:0x20a895c
|
||||
_ZN13LinkStateBase18func_ov00_020a89bcEPii kind:function(arm,size=0x4c) addr:0x20a895c
|
||||
_ZN13LinkStateBase18func_ov00_020a8a08Ei kind:function(arm,size=0x44) addr:0x20a89a8
|
||||
_ZN13LinkStateBase18func_ov00_020a8a4cEii kind:function(arm,size=0x44) addr:0x20a89ec
|
||||
_ZN13LinkStateBase18func_ov00_020a8a90Ei kind:function(arm,size=0x20) addr:0x20a8a30
|
||||
|
||||
@@ -237,7 +237,7 @@ public:
|
||||
static unk8 func_ov00_020853fc();
|
||||
static unk8 func_ov00_02085594();
|
||||
static void func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3);
|
||||
static unk8 func_ov00_020858b0();
|
||||
static unk8 func_ov00_020858b0(MapManager *param_1, Vec3p *param_2, s32 param_3);
|
||||
s32 func_ov00_02085a34(unk32 param_2, unk32 param_3);
|
||||
unk8 func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
|
||||
unk8 func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
|
||||
@@ -11,12 +11,12 @@ private:
|
||||
/* 00 (base) */
|
||||
/* 09 */ unk8 mUnk_09[3];
|
||||
/* 0c */ Vec3p mUnk_0c;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk8 mUnk_1c;
|
||||
/* 1d */ unk8 mUnk_1d;
|
||||
/* 18 */ s32 mUnk_18;
|
||||
/* 1c */ u8 mUnk_1c;
|
||||
/* 1d */ u8 mUnk_1d;
|
||||
/* 1e */ unk8 mUnk_1e[2];
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ void *mUnk_24;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2c */
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
void func_ov00_020a8844(Vec3p *param1, bool param2, bool param3);
|
||||
void func_ov00_020a8954(bool param1, unk32 *param2);
|
||||
void func_ov00_020a8994();
|
||||
void func_ov00_020a89bc(unk32 param1, unk32 param2);
|
||||
void func_ov00_020a89bc(unk32* param1, unk32 param2);
|
||||
void func_ov00_020a8a08(unk32 param1);
|
||||
void func_ov00_020a8a4c(unk32 param1, unk32 param2);
|
||||
void func_ov00_020a8a90(unk32 param1);
|
||||
|
||||
@@ -24,9 +24,7 @@ public:
|
||||
/* 2e */ unk8 mUnk_2e[2];
|
||||
/* 30 */ void *mUnk_30;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3c */ void *mUnk_3c;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 38 */ Vec3p mUnk_38;
|
||||
/* 44 */ unk32 mUnk_44;
|
||||
/* 48 */ void *mUnk_48;
|
||||
/* 4c */ unk32 mUnk_4c;
|
||||
|
||||
@@ -192,7 +192,7 @@ unk8 MapManager::func_ov00_0208527c() {}
|
||||
unk8 MapManager::func_ov00_020853fc() {}
|
||||
unk8 MapManager::func_ov00_02085594() {}
|
||||
void MapManager::func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_020858b0() {}
|
||||
unk8 MapManager::func_ov00_020858b0(MapManager *param_1, Vec3p *param_2, s32 param_3) {}
|
||||
s32 MapManager::func_ov00_02085a34(unk32 param_2, unk32 param_3) {}
|
||||
unk8 MapManager::func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {}
|
||||
unk8 MapManager::func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
|
||||
@@ -44,7 +44,7 @@ bool LinkStateBase::func_ov00_020a8774(Vec3p *param1, s32 angle) {}
|
||||
void LinkStateBase::func_ov00_020a8844(Vec3p *param1, bool param2, bool param3) {}
|
||||
void LinkStateBase::func_ov00_020a8954(bool param1, unk32 *param2) {}
|
||||
void LinkStateBase::func_ov00_020a8994() {}
|
||||
void LinkStateBase::func_ov00_020a89bc(unk32 param1, unk32 param2) {}
|
||||
void LinkStateBase::func_ov00_020a89bc(unk32* param1, unk32 param2) {}
|
||||
void LinkStateBase::func_ov00_020a8a08(unk32 param1) {}
|
||||
void LinkStateBase::func_ov00_020a8a4c(unk32 param1, unk32 param2) {}
|
||||
void LinkStateBase::func_ov00_020a8a90(unk32 param1) {}
|
||||
|
||||
@@ -1,21 +1,133 @@
|
||||
#include "Player/EquipHammer.hpp"
|
||||
#include "Player/LinkStateItem.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
|
||||
bool EquipHammer::IsUsable(unk32 param1) const {}
|
||||
LinkStateItem *GetLinkStateItem() {}
|
||||
void EquipHammer::vfunc_18() {}
|
||||
void EquipHammer::vfunc_1c() {}
|
||||
void EquipHammer::vfunc_30() {}
|
||||
void EquipHammer::func_ov059_02198e90() {}
|
||||
bool EquipHammer::func_ov059_02198ebc() {}
|
||||
bool EquipHammer::func_ov059_02198ed4() {}
|
||||
void EquipHammer::func_ov059_02198f10(Vec3p *vec, unk32 param2, s32 param3) {}
|
||||
void EquipHammer::func_ov059_02198fa8(unk32 param1) {}
|
||||
void EquipHammer::vfunc_38(unk32 param1) {}
|
||||
u32 EquipHammer::vfunc_2c() {}
|
||||
bool EquipHammer::func_ov059_02198fe0() {}
|
||||
void LinkStateItem::func_ov059_02198ffc() {}
|
||||
void LinkStateItem::func_ov059_0219907c() {}
|
||||
void LinkStateItem::func_ov059_021990a4() {}
|
||||
EquipHammer *GetEquipHammer() {}
|
||||
void LinkStateItem::StopUsingHammer() {}
|
||||
extern "C" void ApproachAngle_thunk(s16* src, s16* dst, u32 param3);
|
||||
extern "C" void func_ov000_020b853c(void);
|
||||
extern unk32 data_ov059_0219b180;
|
||||
|
||||
ARM bool EquipHammer::IsUsable(unk32 param1) const {}
|
||||
|
||||
ARM LinkStateItem *GetLinkStateItem() {
|
||||
return (LinkStateItem*)GetLinkState(1);
|
||||
}
|
||||
|
||||
ARM void EquipHammer::vfunc_18() {
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_1d = 0;
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_28 = 0x1000;
|
||||
}
|
||||
|
||||
ARM void EquipHammer::vfunc_1c() {
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_1d = 0;
|
||||
this->mUnk_18 = 0;
|
||||
}
|
||||
|
||||
ARM void EquipHammer::vfunc_30() {
|
||||
if (this->mUnk_24 > 0) {
|
||||
this->mUnk_24--;
|
||||
|
||||
if (this->mUnk_24 <= 1) {
|
||||
this->mUnk_18 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ARM void EquipHammer::func_ov059_02198e90() {
|
||||
if (this->mUnk_24 <= 0 && this->mUnk_1c == 0) {
|
||||
this->mUnk_1c = 1;
|
||||
this->mUnk_20 = 0x28;
|
||||
}
|
||||
}
|
||||
|
||||
ARM bool EquipHammer::func_ov059_02198ebc() {
|
||||
if (this->mUnk_24 <= 0) {
|
||||
this->mUnk_1d = 1;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM bool EquipHammer::func_ov059_02198ed4() {
|
||||
if (this->mUnk_20 > 0) {
|
||||
this->mUnk_18 = 0x10000;
|
||||
this->mUnk_20--;
|
||||
return this->mUnk_20 == 0;
|
||||
}
|
||||
|
||||
this->mUnk_18 = 0x20000;
|
||||
return false;
|
||||
}
|
||||
|
||||
ARM void EquipHammer::func_ov059_02198f10(Vec3p *vec, unk32 param2, s32 param3) {
|
||||
Vec3p local_18;
|
||||
|
||||
this->mUnk_0c = *vec;
|
||||
|
||||
if (this->mUnk_1d != 0) {
|
||||
this->mUnk_1d = 0;
|
||||
|
||||
if (param3 == 0) {
|
||||
local_18 = this->mUnk_0c;
|
||||
MapManager::func_ov00_020858b0(gMapManager, &local_18, this->mUnk_20 == 0x0);
|
||||
}
|
||||
}
|
||||
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_24 = 4;
|
||||
this->mUnk_28 = param2;
|
||||
}
|
||||
|
||||
ARM void EquipHammer::func_ov059_02198fa8(unk32 param1) {
|
||||
this->mUnk_1d = 0;
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_24 = 4;
|
||||
this->mUnk_28 = param1;
|
||||
}
|
||||
|
||||
ARM void EquipHammer::vfunc_38(unk32 param1) {
|
||||
}
|
||||
|
||||
ARM u32 EquipHammer::vfunc_2c() {
|
||||
//! TODO: fake?
|
||||
return (this->mUnk_18 + (s32)((u32)(this->mUnk_18 >> 0xB) >> 0x14)) >> 0xC;
|
||||
}
|
||||
|
||||
ARM bool EquipHammer::func_ov059_02198fe0() {
|
||||
return this->mUnk_18 == 0x20000 && this->mUnk_20 == 0;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ARM void LinkStateItem::func_ov059_02198ffc() {
|
||||
s16 dest;
|
||||
Vec3p local_20;
|
||||
Vec3p local_14;
|
||||
|
||||
local_14 = this->mUnk_38;
|
||||
local_20 = *this->GetPlayerPos();
|
||||
|
||||
Vec3p_Sub(&local_14, &local_20, &local_14);
|
||||
dest = Atan2(local_14.x, local_14.z);
|
||||
ApproachAngle_thunk(this->GetPlayerAngle(), &dest, 0x2000);
|
||||
}
|
||||
|
||||
ARM void LinkStateItem::func_ov059_0219907c() {
|
||||
this->func_ov00_020a89bc(&data_ov059_0219b180, 1);
|
||||
this->mUnk_25[2] = 0;
|
||||
this->mUnk_25[3] = 0;
|
||||
}
|
||||
|
||||
ARM void LinkStateItem::func_ov059_021990a4() {}
|
||||
|
||||
ARM EquipHammer *GetEquipHammer() {
|
||||
return (EquipHammer*)ItemManager::GetEquipItemUnchecked(ItemFlag_Hammer);
|
||||
}
|
||||
|
||||
ARM void LinkStateItem::StopUsingHammer() {
|
||||
gItemManager->GetFairy(FairyId_Courage);
|
||||
func_ov000_020b853c();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user