summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormike8699 <mikebuntu68@gmail.com>2024-12-31 01:21:30 -0500
committermike8699 <mikebuntu68@gmail.com>2024-12-31 14:51:33 -0500
commit82ba3ff31176383a6cd7902aaf6e2941d039e02e (patch)
treeee7cdb41e55a780048995c98c7a0135157bbf49a /src
parent1fd88bee60ac098077640b07b7530255171dc09b (diff)
Start decompiling `LinkStateItem`
Diffstat (limited to 'src')
-rw-r--r--src/00_Core/Player/LinkStateItem.cpp34
-rw-r--r--src/00_Core/Save/AdventureFlags.cpp2
2 files changed, 30 insertions, 6 deletions
diff --git a/src/00_Core/Player/LinkStateItem.cpp b/src/00_Core/Player/LinkStateItem.cpp
index ecedca78..6719ee12 100644
--- a/src/00_Core/Player/LinkStateItem.cpp
+++ b/src/00_Core/Player/LinkStateItem.cpp
@@ -1,10 +1,34 @@
+#include "Item/ItemManager.hpp"
#include "Player/LinkStateItem.hpp"
+#include "Save/AdventureFlags.hpp"
void LinkStateItem::vfunc_00() {}
-LinkStateId LinkStateItem::GetId() {}
-s32 LinkStateItem::IsHammerEquipped() {}
+
+LinkStateId LinkStateItem::GetId() {
+ return 1;
+}
+
+s32 LinkStateItem::IsHammerEquipped() {
+ switch (this->mEquipId) {
+ case 8:
+ return 0;
+ default:
+ return -1;
+ }
+}
+
void LinkStateItem::OnStateLeave(s32 param1) {}
-EquipBombchu *LinkStateItem::GetEquipBombchu() {}
+
+EquipBombchu *LinkStateItem::GetEquipBombchu() {
+ return (EquipBombchu *)ItemManager::GetEquipItemUnchecked(7);
+}
+
LinkStateMove *LinkStateItem::GetLinkStateMove() {}
-bool LinkStateItem::func_ov00_020abf70() {}
-bool LinkStateItem::vfunc_28() {}
+
+bool LinkStateItem::func_ov00_020abf70() {
+ return gAdventureFlags->func_ov00_02097b9c(this->mUnk_5c);
+}
+
+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() {}