From e6e212279f2e4fbd37cf3ef03850b67952a5c07b Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 1 Feb 2025 10:04:48 +0100 Subject: [PATCH] Move ov056 documentation from Ghidra --- config/eur/arm9/overlays/ov056/symbols.txt | 34 +++++++++++----------- config/usa/arm9/overlays/ov056/symbols.txt | 34 +++++++++++----------- include/Player/EquipBow.hpp | 11 +++++-- include/Player/LinkStateItem.hpp | 4 +++ src/56_Bow/Player/EquipBow.cpp | 18 ++++++++++++ 5 files changed, 65 insertions(+), 36 deletions(-) create mode 100644 src/56_Bow/Player/EquipBow.cpp diff --git a/config/eur/arm9/overlays/ov056/symbols.txt b/config/eur/arm9/overlays/ov056/symbols.txt index 77401f8b..db15a399 100644 --- a/config/eur/arm9/overlays/ov056/symbols.txt +++ b/config/eur/arm9/overlays/ov056/symbols.txt @@ -1,17 +1,17 @@ -func_ov056_02198d00 kind:function(arm,size=0x4c) addr:0x2198d00 -func_ov056_02198d4c kind:function(arm,size=0x38) addr:0x2198d4c -func_ov056_02198d84 kind:function(arm,size=0x60) addr:0x2198d84 -func_ov056_02198de4 kind:function(arm,size=0x14) addr:0x2198de4 -func_ov056_02198df8 kind:function(arm,size=0xe0) addr:0x2198df8 -func_ov056_02198ed8 kind:function(arm,size=0x10) addr:0x2198ed8 -func_ov056_02198ee8 kind:function(arm,size=0x60) addr:0x2198ee8 -func_ov056_02198f48 kind:function(arm,size=0x178) addr:0x2198f48 -func_ov056_021990c0 kind:function(arm,size=0x5c) addr:0x21990c0 -func_ov056_0219911c kind:function(arm,size=0x1cc) addr:0x219911c -func_ov056_021992e8 kind:function(arm,size=0x10) addr:0x21992e8 -func_ov056_021992f8 kind:function(arm,size=0x24) addr:0x21992f8 +_ZN8EquipBow8vfunc_00Ev kind:function(arm,size=0x4c) addr:0x2198d00 +_ZNK8EquipBow8IsUsableEi kind:function(arm,size=0x38) addr:0x2198d4c +_ZN8EquipBow8vfunc_18Ev kind:function(arm,size=0x60) addr:0x2198d84 +_ZN8EquipBow8vfunc_30Ev kind:function(arm,size=0x14) addr:0x2198de4 +_ZN8EquipBow8vfunc_38Ei kind:function(arm,size=0xe0) addr:0x2198df8 +_Z16GetLinkStateItemv kind:function(arm,size=0x10) addr:0x2198ed8 local +_ZN8EquipBow19func_ov056_02198ee8Ev kind:function(arm,size=0x60) addr:0x2198ee8 +_ZN8EquipBow19func_ov056_02198f48Et kind:function(arm,size=0x178) addr:0x2198f48 +_ZN13LinkStateItem19func_ov056_021990c0Ev kind:function(arm,size=0x5c) addr:0x21990c0 +_ZN13LinkStateItem19func_ov056_0219911cEv kind:function(arm,size=0x1cc) addr:0x219911c +_Z11GetEquipBowv kind:function(arm,size=0x10) addr:0x21992e8 +_ZN13LinkStateItem19func_ov056_021992f8Ev kind:function(arm,size=0x24) addr:0x21992f8 data_ov056_0219931c kind:data(any) addr:0x219931c -__sinit_ov056_02199328 kind:function(arm,size=0x54) addr:0x2199328 +__sinit_EquipBow.cpp kind:function(arm,size=0x54) addr:0x2199328 data_ov056_021993a0 kind:data(any) addr:0x21993a0 data_ov056_021993a4 kind:data(any) addr:0x21993a4 data_ov056_021993a8 kind:data(any) addr:0x21993a8 @@ -24,8 +24,8 @@ data_ov056_021993c0 kind:data(any) addr:0x21993c0 data_ov056_021993e0 kind:data(any) addr:0x21993e0 data_ov056_021993e8 kind:data(any) addr:0x21993e8 ambiguous data_ov056_021993f0 kind:data(any) addr:0x21993f0 -data_ov056_02199400 kind:bss addr:0x2199400 -data_ov056_0219940c kind:bss addr:0x219940c -data_ov056_02199468 kind:bss addr:0x2199468 -data_ov056_02199474 kind:bss addr:0x2199474 +@867 kind:bss addr:0x2199400 +_ZN8EquipBow15gModelRenderBowE kind:bss addr:0x219940c +@866 kind:bss addr:0x2199468 +_ZN8EquipBow17gModelRenderArrowE kind:bss addr:0x2199474 data_ov056_021994d0 kind:bss addr:0x21994d0 diff --git a/config/usa/arm9/overlays/ov056/symbols.txt b/config/usa/arm9/overlays/ov056/symbols.txt index c733a19c..26bdc8f8 100644 --- a/config/usa/arm9/overlays/ov056/symbols.txt +++ b/config/usa/arm9/overlays/ov056/symbols.txt @@ -1,17 +1,17 @@ -func_ov056_02198d00 kind:function(arm,size=0x4c) addr:0x2198c60 -func_ov056_02198d4c kind:function(arm,size=0x38) addr:0x2198cac -func_ov056_02198d84 kind:function(arm,size=0x60) addr:0x2198ce4 -func_ov056_02198de4 kind:function(arm,size=0x14) addr:0x2198d44 -func_ov056_02198df8 kind:function(arm,size=0xe0) addr:0x2198d58 -func_ov056_02198ed8 kind:function(arm,size=0x10) addr:0x2198e38 -func_ov056_02198ee8 kind:function(arm,size=0x60) addr:0x2198e48 -func_ov056_02198f48 kind:function(arm,size=0x178) addr:0x2198ea8 -func_ov056_021990c0 kind:function(arm,size=0x5c) addr:0x2199020 -func_ov056_0219911c kind:function(arm,size=0x1cc) addr:0x219907c -func_ov056_021992e8 kind:function(arm,size=0x10) addr:0x2199248 -func_ov056_021992f8 kind:function(arm,size=0x24) addr:0x2199258 +_ZN8EquipBow8vfunc_00Ev kind:function(arm,size=0x4c) addr:0x2198c60 +_ZNK8EquipBow8IsUsableEi kind:function(arm,size=0x38) addr:0x2198cac +_ZN8EquipBow8vfunc_18Ev kind:function(arm,size=0x60) addr:0x2198ce4 +_ZN8EquipBow8vfunc_30Ev kind:function(arm,size=0x14) addr:0x2198d44 +_ZN8EquipBow8vfunc_38Ei kind:function(arm,size=0xe0) addr:0x2198d58 +_Z16GetLinkStateItemv kind:function(arm,size=0x10) addr:0x2198e38 local +_ZN8EquipBow19func_ov056_02198ee8Ev kind:function(arm,size=0x60) addr:0x2198e48 +_ZN8EquipBow19func_ov056_02198f48Et kind:function(arm,size=0x178) addr:0x2198ea8 +_ZN13LinkStateItem19func_ov056_021990c0Ev kind:function(arm,size=0x5c) addr:0x2199020 +_ZN13LinkStateItem19func_ov056_0219911cEv kind:function(arm,size=0x1cc) addr:0x219907c +_Z11GetEquipBowv kind:function(arm,size=0x10) addr:0x2199248 +_ZN13LinkStateItem19func_ov056_021992f8Ev kind:function(arm,size=0x24) addr:0x2199258 data_ov056_0219931c kind:data(any) addr:0x219927c -__sinit_ov056_02199328 kind:function(arm,size=0x54) addr:0x2199288 +__sinit_EquipBow.cpp kind:function(arm,size=0x54) addr:0x2199288 data_ov056_021993a0 kind:data(any) addr:0x2199300 data_ov056_021993a4 kind:data(any) addr:0x2199304 data_ov056_021993a8 kind:data(any) addr:0x2199308 @@ -24,8 +24,8 @@ data_ov056_021993c0 kind:data(any) addr:0x2199320 data_ov056_021993e0 kind:data(any) addr:0x2199340 data_ov056_021993e8 kind:data(any) addr:0x2199348 ambiguous data_ov056_021993f0 kind:data(any) addr:0x2199350 -data_ov056_02199400 kind:bss addr:0x2199360 -data_ov056_0219940c kind:bss addr:0x219936c -data_ov056_02199468 kind:bss addr:0x21993c8 -data_ov056_02199474 kind:bss addr:0x21993d4 +@867 kind:bss addr:0x2199360 +_ZN8EquipBow15gModelRenderBowE kind:bss addr:0x219936c +@866 kind:bss addr:0x21993c8 +_ZN8EquipBow17gModelRenderArrowE kind:bss addr:0x21993d4 data_ov056_021994d0 kind:bss addr:0x2199430 diff --git a/include/Player/EquipBow.hpp b/include/Player/EquipBow.hpp index 3552fc30..f3037198 100644 --- a/include/Player/EquipBow.hpp +++ b/include/Player/EquipBow.hpp @@ -3,9 +3,13 @@ #include "types.h" #include "Player/EquipItem.hpp" +#include "Render/ModelRender.hpp" class EquipBow : public EquipItem { -private: +public: + static ModelRender gModelRenderBow; + static ModelRender gModelRenderArrow; + /* 00 (base) */ /* 09 */ unk8 mUnk_09; /* 0a */ unk8 mUnk_0a; @@ -14,7 +18,6 @@ private: /* 0d */ unk8 mUnk_0d[3]; /* 10 */ -public: /* 00 */ virtual void vfunc_00() override; /* 04 */ virtual ~EquipBow() override; /* 0c */ virtual ItemFlag GetId() const override; @@ -25,4 +28,8 @@ public: /* 50 */ EquipBow(); + + bool func_ov056_02198ee8(); + void func_ov056_02198f48(u16 param1); + bool func_ov056_021992f8(); }; diff --git a/include/Player/LinkStateItem.hpp b/include/Player/LinkStateItem.hpp index 564d656e..be160ae0 100644 --- a/include/Player/LinkStateItem.hpp +++ b/include/Player/LinkStateItem.hpp @@ -75,4 +75,8 @@ public: void func_ov055_02199020(); void func_ov055_021993b8(); void func_ov055_02199654(); + + void func_ov056_021990c0(); + void func_ov056_0219911c(); + bool func_ov056_021992f8(); }; diff --git a/src/56_Bow/Player/EquipBow.cpp b/src/56_Bow/Player/EquipBow.cpp new file mode 100644 index 00000000..8cb51602 --- /dev/null +++ b/src/56_Bow/Player/EquipBow.cpp @@ -0,0 +1,18 @@ +#include "Player/EquipBow.hpp" +#include "Player/LinkStateItem.hpp" + +ModelRender EquipBow::gModelRenderBow; +ModelRender EquipBow::gModelRenderArrow; + +void EquipBow::vfunc_00() {} +bool EquipBow::IsUsable(unk32 param1) const {} +void EquipBow::vfunc_18() {} +void EquipBow::vfunc_30() {} +void EquipBow::vfunc_38(unk32 param1) {} +LinkStateItem *GetLinkStateItem() {} +bool EquipBow::func_ov056_02198ee8() {} +void EquipBow::func_ov056_02198f48(u16 param1) {} +void LinkStateItem::func_ov056_021990c0() {} +void LinkStateItem::func_ov056_0219911c() {} +EquipBow *GetEquipBow() {} +bool LinkStateItem::func_ov056_021992f8() {} \ No newline at end of file