summaryrefslogtreecommitdiff
path: root/src/00_Core/Player
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2025-02-04 21:30:00 +0100
committerAetias <aetias@outlook.com>2025-02-04 21:30:00 +0100
commitc380ac51a48d17348b1cdcbb615ce22be22f409e (patch)
tree6713ed5a1cd172f665e52ea0f995fc905ca3db2d /src/00_Core/Player
parent8cda3ca2d7f5fe424cc1a649baec2ff992368e62 (diff)
parent3f7197110627adbbe7ff1f69db1f5a15f9b6c598 (diff)
Merge remote-tracking branch 'zeldaret/main' into decomp-PlayerControl
Diffstat (limited to 'src/00_Core/Player')
-rw-r--r--src/00_Core/Player/EquipItem.cpp19
-rw-r--r--src/00_Core/Player/EquipShield.cpp12
-rw-r--r--src/00_Core/Player/EquipSword.cpp26
-rw-r--r--src/00_Core/Player/LinkStateCutscene.cpp37
-rw-r--r--src/00_Core/Player/LinkStateItem.cpp14
-rw-r--r--src/00_Core/Player/PlayerControl.cpp2
-rw-r--r--src/00_Core/Player/PlayerControlData.cpp37
-rw-r--r--src/00_Core/Player/PlayerControl_2.cpp7
-rw-r--r--src/00_Core/Player/PlayerLinkBase.cpp101
-rw-r--r--src/00_Core/Player/PlayerManager.cpp5
10 files changed, 252 insertions, 8 deletions
diff --git a/src/00_Core/Player/EquipItem.cpp b/src/00_Core/Player/EquipItem.cpp
new file mode 100644
index 00000000..9256b13a
--- /dev/null
+++ b/src/00_Core/Player/EquipItem.cpp
@@ -0,0 +1,19 @@
+#include "Player/EquipItem.hpp"
+
+void EquipItem::vfunc_00() {}
+void EquipItem::vfunc_1c() {}
+bool EquipItem::IsUsable(unk32 param1) const {}
+bool EquipItem::IsInUse() const {}
+bool EquipItem::UpdateInUse(unk32 param1) {}
+u32 EquipItem::vfunc_2c() {}
+void EquipItem::vfunc_34(unk16 *param1) {}
+unk32 EquipItem::vfunc_40() const {}
+unk32 EquipItem::vfunc_44(unk32 param1) const {}
+unk32 EquipItem::vfunc_48(unk32 param1) const {}
+s32 EquipItem::vfunc_4c() const {}
+Vec3p *EquipItem::GetPlayerPos() {}
+void EquipItem::func_ov000_020be99c(Vec3p *param1) {}
+void EquipItem::func_ov000_020be9e4(s32 param1, s32 param2, s32 param3, s16 param4) {}
+u16 EquipItem::GetAmmo() {}
+void EquipItem::GiveAmmo(u32 amount) {}
+bool EquipItem::GetHitbox(Cylinder *hitbox) const {}
diff --git a/src/00_Core/Player/EquipShield.cpp b/src/00_Core/Player/EquipShield.cpp
new file mode 100644
index 00000000..b7b30105
--- /dev/null
+++ b/src/00_Core/Player/EquipShield.cpp
@@ -0,0 +1,12 @@
+#include "Player/EquipShield.hpp"
+
+void EquipShield::vfunc_00() {}
+ItemFlag EquipShield::GetId() const {}
+bool EquipShield::IsUsable(unk32 param1) const {}
+void EquipShield::func_ov000_020c070c(u32 param1, Vec3p *param2, unk32 param3) {}
+void EquipShield::vfunc_10() {}
+void EquipShield::vfunc_18() {}
+void EquipShield::vfunc_1c() {}
+void EquipShield::vfunc_30() {}
+void EquipShield::vfunc_38(unk32 param1) {}
+bool EquipShield::GetHitbox(Cylinder *hitbox) const {}
diff --git a/src/00_Core/Player/EquipSword.cpp b/src/00_Core/Player/EquipSword.cpp
new file mode 100644
index 00000000..813f0e1c
--- /dev/null
+++ b/src/00_Core/Player/EquipSword.cpp
@@ -0,0 +1,26 @@
+#include "Player/EquipSword.hpp"
+
+void EquipSword::vfunc_00() {}
+ItemFlag EquipSword::GetId() const {}
+void EquipSword::func_ov000_020bf008(unk16 param1, unk16 param2) {}
+bool EquipSword::func_ov000_020bf028() {}
+void EquipSword::func_ov000_020bf088() {}
+void EquipSword::vfunc_10() {}
+bool EquipSword::UpdateInUse(unk32 param1) {}
+void EquipSword::vfunc_18() {}
+void EquipSword::vfunc_1c() {}
+void EquipSword::func_ov000_020bf330() {}
+bool EquipSword::func_ov000_020bf4f4() {}
+void EquipSword::vfunc_30() {}
+EquipRope *EquipSword::GetEquipRope() {}
+void *func_ov000_020bff80(void *param1) {}
+void EquipSword::vfunc_38(unk32 param1) {}
+bool EquipSword::GetHitbox(Cylinder *hitbox) const {}
+void EquipSword::func_ov000_020c024c(Vec3p *param1, s32 param2) {}
+void EquipSword::func_ov000_020c0318(Vec3p *param1, s32 param2) {}
+void EquipSword::func_ov000_020c0550(Vec3p *param1, s32 param2) {}
+void EquipSword::func_ov000_020c05ec(s32 param1) {}
+void EquipSword::func_ov000_020c0648() {}
+u32 EquipSword::vfunc_2c() {}
+void EquipSword::func_ov000_020c06b0(s32 param1) {}
+void *func_ov000_020c06b8() {}
diff --git a/src/00_Core/Player/LinkStateCutscene.cpp b/src/00_Core/Player/LinkStateCutscene.cpp
new file mode 100644
index 00000000..be25ba5b
--- /dev/null
+++ b/src/00_Core/Player/LinkStateCutscene.cpp
@@ -0,0 +1,37 @@
+#include "Player/LinkStateCutscene.hpp"
+
+void LinkStateCutscene::vfunc_00() {}
+void UnkStruct_ov004_0210abb8::vfunc_08(unk32 param1) {}
+bool LinkStateCutscene::func_ov000_020b1e98(s32 param1) {}
+bool LinkStateCutscene::func_ov000_020b1eb8() {}
+bool LinkStateCutscene::func_ov000_020b1eec() {}
+void LinkStateCutscene::CreateDebugHierarchy() {}
+void LinkStateCutscene::OnStateEnter() {}
+void LinkStateCutscene::OnStateLeave(s32 param1) {}
+LinkStateId LinkStateCutscene::GetId() {}
+void LinkStateCutscene::vfunc_1c() {}
+void LinkStateCutscene::StopVerticalVelocity() {}
+void LinkStateCutscene::func_ov000_020b2568() {}
+void LinkStateCutscene::func_ov000_020b2598() {}
+void LinkStateCutscene::func_ov000_020b2ba4() {}
+void LinkStateCutscene::func_ov000_020b2ce4(unk32 param1, s16 param2) {}
+void LinkStateCutscene::func_ov000_020b2cf0() {}
+void LinkStateCutscene::func_ov000_020b2d60() {}
+bool LinkStateCutscene::func_ov000_020b2d8c() {}
+void LinkStateCutscene::func_ov000_020b2e84() {}
+bool LinkStateCutscene::vfunc_24(s32 param1) {}
+bool LinkStateCutscene::vfunc_28() {}
+void LinkStateCutscene::func_ov000_020b2f48(unk32 param1, unk32 param2) {}
+void LinkStateCutscene::func_ov000_020b2f70(unk32 param1, void *param2, unk32 *param3) {}
+void LinkStateCutscene::ChangeToMoveState() {}
+bool LinkStateCutscene::func_ov000_020b2fac() {}
+void LinkStateCutscene::func_ov000_020b3024(Vec3p *param1, unk32 param2) {}
+void LinkStateCutscene::func_ov000_020b305c(Vec3p *param1, Vec3p *param2) {}
+void LinkStateCutscene::func_ov000_020b309c(Vec3p *param1) {}
+void LinkStateCutscene::func_ov000_020b30e4(u32 param1, unk32 param2, unk32 param3) {}
+void LinkStateCutscene::func_ov000_020b3278(s32 param1, s32 *param2) {}
+void LinkStateCutscene::func_ov000_020b35d8(s32 param1, s32 param2) {}
+void LinkStateCutscene::func_ov000_020b38dc(u32 param1, u32 param2) {}
+bool LinkStateCutscene::vfunc_40() {}
+bool LinkStateCutscene::vfunc_38() {}
+UnkStruct_ov004_0210abb8::~UnkStruct_ov004_0210abb8() {}
diff --git a/src/00_Core/Player/LinkStateItem.cpp b/src/00_Core/Player/LinkStateItem.cpp
index 56b6bc37..9e42961f 100644
--- a/src/00_Core/Player/LinkStateItem.cpp
+++ b/src/00_Core/Player/LinkStateItem.cpp
@@ -43,17 +43,17 @@ ARM void LinkStateItem::OnStateLeave(s32 param1) {
case ItemFlag_OshusSword: break;
case ItemFlag_WoodenShield: break;
case ItemFlag_Boomerang: break;
- case ItemFlag_BombBag: EquipBomb::StopUsing(this, param1); break;
+ case ItemFlag_BombBag: this->StopUsingBomb(param1); break;
case ItemFlag_Bow: break;
- case ItemFlag_GrapplingHook: EquipRope::StopUsing(this); break;
- case ItemFlag_Hammer: EquipHammer::StopUsing(this); break;
+ case ItemFlag_GrapplingHook: this->StopUsingRope(); break;
+ case ItemFlag_Hammer: this->StopUsingHammer(); break;
case ItemFlag_PotionA:
case ItemFlag_PotionB:
- UnkStruct_027e103c *unk = data_027e103c;
- unk->mUnk_2a = 0;
- unk->func_ov000_020cf9dc(0, 0);
+ UnkStruct_027e103c *pData_027e103c = data_027e103c;
+ pData_027e103c->mUnk_2a = 0;
+ pData_027e103c->func_ov000_020cf9dc(0, 0);
break;
- case ItemFlag_Shovel: EquipScoop::StopUsing(this); break;
+ case ItemFlag_Shovel: this->StopUsingScoop(); break;
}
if (this->mEquipId != ItemFlag_None) {
diff --git a/src/00_Core/Player/PlayerControl.cpp b/src/00_Core/Player/PlayerControl.cpp
index 58441736..d8b677f9 100644
--- a/src/00_Core/Player/PlayerControl.cpp
+++ b/src/00_Core/Player/PlayerControl.cpp
@@ -1,6 +1,6 @@
#include "Player/PlayerControl.hpp"
#include "Actor/ActorManager.hpp"
-#include "Actor/ActorNaviBase.hpp"
+#include "Actor/Navi/ActorNaviBase.hpp"
#include "DTCM/UnkStruct_027e05f8.hpp"
#include "DTCM/UnkStruct_027e077c.hpp"
#include "DTCM/UnkStruct_027e0c68.hpp"
diff --git a/src/00_Core/Player/PlayerControlData.cpp b/src/00_Core/Player/PlayerControlData.cpp
new file mode 100644
index 00000000..50e6c853
--- /dev/null
+++ b/src/00_Core/Player/PlayerControlData.cpp
@@ -0,0 +1,37 @@
+#include "Player/PlayerControlData.hpp"
+
+void PlayerControlData::vfunc_00() {}
+void PlayerControlData::func_ov000_020b4440() {}
+void PlayerControlData::func_ov000_020b4460(s32 param1) {}
+void PlayerControlData::func_ov000_020b44d4(s32 param1, u32 param2) {}
+void PlayerControlData::func_ov000_020b4558(s32 param1, u32 param2) {}
+void PlayerControlData::func_ov000_020b45e0() {}
+void PlayerControlData::func_ov000_020b45f8(unk32 *param1, unk8 param2, unk8 param3) {}
+void PlayerControlData::func_ov000_020b464c(unk32 *param1, unk8 param2, unk8 param3) {}
+void PlayerControlData::vfunc_60(unk32 param1, unk32 param2, s32 param3) {}
+void PlayerControlData::vfunc_68(unk32 param1, unk32 param2) {}
+void PlayerControlData::vfunc_64(u32 param1) {}
+void PlayerControlData::vfunc_20() {}
+void PlayerControlData::vfunc_24() {}
+void PlayerControlData::vfunc_28() {}
+void PlayerControlData::vfunc_2c() {}
+void PlayerControlData::vfunc_30() {}
+void PlayerControlData::vfunc_34() {}
+unk32 PlayerControlData::vfunc_7c() {}
+unk32 PlayerControlData::vfunc_74() {}
+unk32 PlayerControlData::vfunc_78() {}
+void PlayerControlData::func_ov000_020b484c(s32 param1, s32 param2, s32 param3) {}
+void PlayerControlData::vfunc_6c(s32 param1, Vec3p *param2) {}
+void PlayerControlData::vfunc_5c() {}
+void PlayerControlData::vfunc_3c(s32 param1, s32 param2) {}
+void PlayerControlData::vfunc_40(u16 *param1, Vec3p *param2, unk32 param3, char param4) {}
+void PlayerControlData::vfunc_44(unk32 param1, unk32 *param2, unk32 param3, unk16 param4) {}
+void PlayerControlData::vfunc_48(unk32 param1, unk32 param2, unk32 param3, s16 param4) {}
+void PlayerControlData::vfunc_4c(unk32 param1, Vec3p *param2) {}
+void PlayerControlData::vfunc_70(s32 param1) {}
+void PlayerControlData::vfunc_50() {}
+void PlayerControlData::vfunc_54() {}
+void PlayerControlData::vfunc_58() {}
+void PlayerControlData::func_ov000_020b4944(unk32 param1, u32 param2, s32 param3) {}
+void PlayerControlData::func_ov000_020b4a00(s32 *param1, s32 *param2, s32 *param3, s32 param4) {}
+unk32 PlayerControlData::vfunc_0c() {}
diff --git a/src/00_Core/Player/PlayerControl_2.cpp b/src/00_Core/Player/PlayerControl_2.cpp
new file mode 100644
index 00000000..7535837a
--- /dev/null
+++ b/src/00_Core/Player/PlayerControl_2.cpp
@@ -0,0 +1,7 @@
+#include "Player/PlayerControl.hpp"
+
+void PlayerControl::ResetTouchWorld() {}
+void PlayerControl::InitTouchMovement() {}
+void PlayerControl::func_ov000_020b7924(s32 param1) {}
+void PlayerControl::ApplyTouchWorld(Vec3p *result, unk32 scale) {}
+bool PlayerControl::func_ov000_020b7d6c() {}
diff --git a/src/00_Core/Player/PlayerLinkBase.cpp b/src/00_Core/Player/PlayerLinkBase.cpp
new file mode 100644
index 00000000..897932c8
--- /dev/null
+++ b/src/00_Core/Player/PlayerLinkBase.cpp
@@ -0,0 +1,101 @@
+#include "Player/PlayerLinkBase.hpp"
+
+s32 PlayerLinkBase::GetMaxHealth() {}
+void PlayerLinkBase::vfunc_10(Cylinder *param1) {}
+void PlayerLinkBase::vfunc_14(Cylinder *param1) {}
+void PlayerLinkBase::UnequipPotion() {}
+void PlayerLinkBase::ChangeLinkState(s32 index) {}
+void PlayerLinkBase::SetLinkSubState(s32 index, unk32 substate) {}
+PlayerControlData *PlayerLinkBase::GetPlayerControlData(s32 index) {}
+void PlayerLinkBase::GetDistanceTo(Vec3p *vec, q20 *yDist, q20 *xzDist) {}
+bool PlayerLinkBase::func_ov000_020bb68c(Vec3p *target) {}
+bool PlayerLinkBase::func_ov000_020bb6d4() {}
+void PlayerLinkBase::func_ov000_020bb810(Vec3p *target, unk32 param2) {}
+void PlayerLinkBase::func_ov000_020bb8c4(Vec3p *param1) {}
+void PlayerLinkBase::TurnTo(Vec3p *target) {}
+void PlayerLinkBase::func_ov000_020bb9b0() {}
+void PlayerLinkBase::func_ov000_020bb9c8() {}
+void PlayerLinkBase::func_ov000_020bb9e4() {}
+bool PlayerLinkBase::func_ov000_020bba00() {}
+bool PlayerLinkBase::func_ov000_020bba14() {}
+bool PlayerLinkBase::func_ov000_020bba28() {}
+void PlayerLinkBase::func_ov000_020bba48() {}
+void PlayerLinkBase::vfunc_18(s32 param1) {}
+bool PlayerLinkBase::CanMove() {}
+bool PlayerLinkBase::vfunc_58() {}
+bool PlayerLinkBase::vfunc_5c() {}
+bool PlayerLinkBase::vfunc_60() {}
+void PlayerLinkBase::vfunc_64() {}
+bool PlayerLinkBase::func_ov000_020bbabc() {}
+bool PlayerLinkBase::func_ov000_020bbb18() {}
+bool PlayerLinkBase::func_ov000_020bbb64() {}
+bool PlayerLinkBase::func_ov000_020bbb78() {}
+void PlayerLinkBase::func_ov000_020bbbb8() {}
+bool PlayerLinkBase::func_ov000_020bbbd0(s32 param1, s32 param2) {}
+bool PlayerLinkBase::func_ov000_020bbc68(s32 param1) {}
+bool PlayerLinkBase::func_ov000_020bbd40() {}
+bool PlayerLinkBase::func_ov000_020bbd60() {}
+bool PlayerLinkBase::func_ov000_020bbd80(s32 param1) {}
+unk32 PlayerLinkBase::func_ov000_020bbe94() {}
+bool PlayerLinkBase::vfunc_30(s32 param1, Vec3p *param2, s32 param3) {}
+void PlayerLinkBase::func_ov000_020bc088() {}
+ItemManager *PlayerLinkBase::GetItemManager() {}
+void PlayerLinkBase::vfunc_70(s32 param1, Vec3p *param2, unk32 param3) {}
+void PlayerLinkBase::func_ov000_020bc1c8(unk32 param1, unk32 param2, unk32 param3) {}
+bool PlayerLinkBase::func_ov000_020bc210() {}
+void PlayerLinkBase::SetVelocity(Vec3p *velocity, bool setAngle) {}
+void PlayerLinkBase::vfunc_6c() {}
+void PlayerLinkBase::func_ov000_020bc280(unk16 param1) {}
+unk32 PlayerLinkBase::func_ov000_020bc2d4(unk32 param1) {}
+unk32 PlayerLinkBase::func_ov000_020bc320(unk32 param1, unk32 param2, unk32 param3) {}
+void PlayerLinkBase::func_ov000_020bc398(unk32 param1, s32 param2) {}
+PlayerCharacter PlayerLinkBase::GetCurrentCharacter() {}
+s32 PlayerLinkBase::GetHealth(PlayerCharacter character) {}
+void PlayerLinkBase::AddHealth(s16 amount, PlayerCharacter character) {}
+void PlayerLinkBase::func_ov000_020bc4ac() {}
+s32 PlayerLinkBase::GetStateId() {}
+s32 PlayerLinkBase::func_ov000_020bc520(Vec3p *param1) {}
+ItemFlag PlayerLinkBase::GetEquipId() {}
+unk32 PlayerLinkBase::Grab() {}
+void PlayerLinkBase::func_ov000_020bc7e0(unk32 param1) {}
+s32 PlayerLinkBase::GetGrabActorId() {}
+s32 PlayerLinkBase::func_ov000_020bc808() {}
+unk32 PlayerLinkBase::func_ov000_020bc84c() {}
+void PlayerLinkBase::func_ov000_020bc854(Vec3p *param1) {}
+void PlayerLinkBase::UpdateTilePos(Vec3p *param1, PlayerCharacter character) {}
+void PlayerLinkBase::func_ov000_020bc90c(unk32 *param1, s32 param2) {}
+bool PlayerLinkBase::func_ov000_020bc960(unk32 param1, unk32 param2, unk32 param3) {}
+bool PlayerLinkBase::TeleportToLastEntrance(bool param1) {}
+bool PlayerLinkBase::TeleportToEntrance(unk32 entranceId, bool param2) {}
+bool PlayerLinkBase::Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5) {}
+void PlayerLinkBase::vfunc_74() {}
+bool PlayerLinkBase::GongoronCollidesWith(Cylinder *hitbox) {}
+unk32 PlayerLinkBase::vfunc_78() {}
+bool PlayerLinkBase::func_ov000_020bcc78() {}
+void PlayerLinkBase::func_ov000_020bccc8() {}
+void PlayerLinkBase::func_ov000_020bcdb8() {}
+void PlayerLinkBase::func_ov000_020bcdec(Vec3p *param1, unk16 param2) {}
+bool PlayerLinkBase::PlayItemCutscene(ItemId cutsceneItemId) {}
+bool PlayerLinkBase::func_ov000_020bcec8() {}
+bool PlayerLinkBase::func_ov000_020bcefc() {}
+bool PlayerLinkBase::func_ov000_020bcf2c() {}
+bool PlayerLinkBase::func_ov000_020bcf50(Vec3p *param1, unk32 param2) {}
+bool PlayerLinkBase::func_ov000_020bcf84(Vec3p *param1, Vec3p *param2) {}
+bool PlayerLinkBase::func_ov000_020bcfb8(s32 param1) {}
+bool PlayerLinkBase::func_ov000_020bd030(unk32 param1) {}
+bool PlayerLinkBase::func_ov000_020bd070(unk32 param1) {}
+bool PlayerLinkBase::func_ov000_020bd0a8() {}
+bool PlayerLinkBase::func_ov000_020bd0bc(Vec3p *param1, s32 param2) {}
+bool PlayerLinkBase::func_ov000_020bd268() {}
+bool PlayerLinkBase::func_ov000_020bd2bc() {}
+bool PlayerLinkBase::func_ov000_020bd304() {}
+bool PlayerLinkBase::func_ov000_020bd318() {}
+void PlayerLinkBase::vfunc_7c() {}
+void PlayerLinkBase::SetPlayerCharacter(PlayerCharacter character) {}
+bool PlayerLinkBase::func_ov000_020bd3b0(unk32 param1, unk32 param2, unk32 param3, unk16 param4) {}
+void PlayerLinkBase::SetPosition(Vec3p *position) {}
+void PlayerLinkBase::SetAngle(s16 *angle) {}
+bool PlayerLinkBase::func_ov000_020bd510(s32 param1, unk32 *param2) {}
+void PlayerLinkBase::vfunc_68() {}
+void PlayerLinkBase::SetUnk_5e() {}
+void PlayerLinkBase::ResetUnk_5e() {}
diff --git a/src/00_Core/Player/PlayerManager.cpp b/src/00_Core/Player/PlayerManager.cpp
new file mode 100644
index 00000000..c5e67e1d
--- /dev/null
+++ b/src/00_Core/Player/PlayerManager.cpp
@@ -0,0 +1,5 @@
+#include "Player/PlayerManager.hpp"
+
+void PlayerManager::Save(SaveItemManager *save) {}
+void PlayerManager::IncreaseMaxHealth(s16 amount) {}
+void PlayerManager::UpdateShipMaxHealth() {}