Move ov000 documentation from Ghidra

This commit is contained in:
Aetias
2025-01-23 23:11:04 +01:00
parent af097b91d7
commit 1d4fc368c2
19 changed files with 982 additions and 454 deletions
@@ -1,3 +1,3 @@
#pragma once
class ActorNavi;
#pragma once
class ActorNavi;
+101
View File
@@ -0,0 +1,101 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Render/ModelRender.hpp"
class ActorNaviBase_Unk1 {};
class ActorNaviBase : public Actor {
/* 000 (base) */
/* 158 */ Vec3p mUnk_158;
/* 164 */ unk32 mUnk_164;
/* 168 */ unk8 mUnk_168[0x68];
/* 1d0 */ void *mUnk_1d0;
/* 1d4 */ unk8 mUnk_1d4[0x30];
/* 214 */ unk16 mUnk_214;
/* 216 */ unk8 mUnk_216[0xc];
/* 222 */ unk16 mUnk_222;
/* 224 */ unk8 mUnk_224[0x18];
/* 24c */ unk32 mUnk_24c;
/* 250 */ unk32 mUnk_250;
/* 254 */ unk32 mUnk_254;
/* 258 */ unk32 mUnk_258;
/* 25c */ unk32 mUnk_25c;
/* 260 */ unk32 mUnk_260;
/* 264 */ unk8 mUnk_264[0x1c];
/* 280 */ unk32 mUnk_280;
/* 284 */ unk32 mUnk_284;
/* 288 */ unk8 mUnk_288[0x2];
/* 28a */ unk16 mUnk_28a;
/* 28c */ unk8 mUnk_28c[0x8];
/* 294 */ ModelRender mUnk_294;
/* 2f0 */ void *mUnk_2f0;
/* 2f4 */ unk8 mUnk_2f4[0x40];
/* 334 */ unk32 mUnk_334;
/* 338 */ unk32 mUnk_338;
/* 33c */ unk32 mUnk_33c;
/* 340 */ unk16 mUnk_340;
/* 342 */ unk8 mUnk_342[0x2];
/* 344 */ unk32 mUnk_344;
/* 348 */ unk32 mUnk_348;
/* 34c */ unk8 mUnk_34c[0x68];
/* 3b4 */ unk32 mUnk_3b4;
/* 3b8 */ unk32 mUnk_3b8;
/* 3bc */ unk32 mUnk_3bc;
/* 3c0 */ unk8 mUnk_3c0[0x8];
/* 3c8 */
/* 00 */ ~ActorNaviBase() override;
/* 08 */ bool vfunc_08() override;
/* 10 */ void vfunc_10(u32 param1) override;
/* 14 */ void vfunc_14(u32 param1) override;
/* 18 */ void vfunc_18(u32 param1) override;
/* 20 */ void vfunc_20(bool param1) override;
/* 30 */ unk32 vfunc_30() override;
/* 34 */ void GetOffsetPos(Vec3p *pos) override;
/* 38 */ unk32 vfunc_38() override;
/* 74 */ void vfunc_74() override;
/* 78 */ bool vfunc_78() override;
/* 80 */ void vfunc_80() override;
/* 84 */ void vfunc_84() override;
/* 90 */ bool vfunc_90() override;
/* 94 */ void vfunc_94() override;
/* a0 */ bool TrySetTransform(Transform *transform) override;
/* b0 */ void SetTransform(Transform *transform) override;
/* b4 */ virtual void vfunc_b4() = 0;
/* b8 */ virtual s32 vfunc_b8();
/* bc */ virtual bool vfunc_bc(unk32 param1, unk8 param2, s32 param3);
/* c0 */ virtual bool vfunc_c0(Vec3p *param1);
/* c4 */ virtual void vfunc_c4();
/* c8 */ virtual void vfunc_c8();
/* cc */ virtual bool vfunc_cc(unk32 *param1);
/* d0 */ virtual void vfunc_d0();
/* d4 */ virtual void vfunc_d4();
/* d8 */ virtual void vfunc_d8();
/* dc */ virtual void SetActive(bool active);
/* e0 */ virtual void vfunc_e0();
/* e4 */ virtual void vfunc_e4();
/* e8 */ virtual void vfunc_e8();
/* ec */ virtual void vfunc_ec();
/* f0 */
void func_ov000_020b8c50();
void func_ov000_020b8c98(unk32 param1, unk32 param2, unk32 param3);
void TeleportAboveLink();
void func_ov000_020b9770(s32 param1);
void func_ov000_020b9fdc();
void func_ov000_020b9fe8();
unk32 func_ov000_020ba204(Vec3p *param1, Vec3p *param2, s32 param3);
unk32 func_ov000_020ba3b4();
void func_ov000_020ba414(Vec3p *param1);
bool func_ov000_020ba458();
void func_ov000_020ba4e4();
void func_ov000_020ba53c();
void func_ov000_020baca8(Vec3p *param1, unk32 param2);
void func_ov000_020bad18();
static void func_ov000_020bb0ac();
static void func_ov000_020bb0e0();
};
+1 -1
View File
@@ -8,7 +8,7 @@ extern "C" {
#include "nds/math.h"
#include "types.h"
#include "Actor/ActorNavi.hpp"
#include "Actor/Navi/ActorNavi.hpp"
#include "Item/Item.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
+26
View File
@@ -0,0 +1,26 @@
#pragma once
#include "global.h"
#include "types.h"
class ItemModelLoader {
public:
/* 00 */ unk32 mItems;
/* 04 */ unk32 mDungeonItems;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk8 mUnk_0c[0x14];
/* 20 */
ItemModelLoader();
ItemModelLoader *func_ov000_020bb2ec();
unk32 func_ov000_020bb34c();
void func_ov000_020bb378(s32 param1);
unk32 func_ov000_020bb390(s32 equipId);
unk32 func_ov000_020bb3a8(s32 param1);
s32 func_ov000_020bb3b4(s32 param1, char *param2);
unk32 func_ov000_020bb3d4(s32 param1, unk32 param2);
void func_ov000_020bb3f4(char *param2);
void func_ov000_020bb414(unk32 param1);
void func_ov000_020bb420(unk32 param1);
void func_ov000_020bb42c(unk32 param1);
};
+17 -15
View File
@@ -8,36 +8,38 @@
#include "System/SysNew.hpp"
class EquipItem : public SysObject {
private:
public:
/* 0 (vtable) */
/* 4 */ u16 mUnk_00;
/* 6 */ u16 mUnk_04;
/* 8 */ bool mInUse;
/* 9 */
public:
EquipItem();
/* 00 */ virtual void vfunc_00(); // func_ov00_020be8dc
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual ~EquipItem();
/* 0c */ virtual ItemFlag GetId() const = 0;
/* 10 */ virtual void vfunc_10(); // func_ov04_0210ba88
u16 GetAmmo();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual bool IsUsable(unk32 param1) const;
/* 18 */ virtual void vfunc_18() = 0;
/* 1c */ virtual void vfunc_1c(); // func_ov00_020be8e0
/* 1c */ virtual void vfunc_1c();
/* 20 */ virtual void GiveAmmo(u32 amount);
/* 24 */ virtual bool IsInUse() const;
/* 28 */ virtual bool UpdateInUse(unk32 param1);
/* 2c */ virtual u32 vfunc_2c(); // func_ov00_020be964
/* 2c */ virtual u32 vfunc_2c();
/* 30 */ virtual void vfunc_30() = 0;
/* 34 */ virtual void vfunc_34(unk16 *param1); // func_ov00_020be96c
/* 34 */ virtual void vfunc_34(unk16 *param1);
/* 38 */ virtual void vfunc_38(unk32 param1) = 0;
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020beb90
/* 40 */ virtual unk32 vfunc_40() const; // func_ov00_020be970
/* 44 */ virtual unk32 vfunc_44(unk32 param1) const; // func_ov00_020be978
/* 48 */ virtual unk32 vfunc_48(unk32 param1) const; // func_ov00_020be980
/* 4c */ virtual s32 vfunc_4c() const; // func_ov00_020be988
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const;
/* 40 */ virtual unk32 vfunc_40() const;
/* 44 */ virtual unk32 vfunc_44(unk32 param1) const;
/* 48 */ virtual unk32 vfunc_48(unk32 param1) const;
/* 4c */ virtual s32 vfunc_4c() const;
/* 50 */
Vec3p *GetPlayerPos();
void func_ov000_020be99c(Vec3p *param1);
void func_ov000_020be9e4(s32 param1, s32 param2, s32 param3, s16 param4);
u16 GetAmmo();
};
+10 -10
View File
@@ -20,17 +20,17 @@ private:
public:
EquipShield();
/* 00 */ virtual void vfunc_00() override; // func_ov00_020c06d4
/* 04 */ virtual ~EquipShield() override; // func_ov04_0210bc94
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipShield() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 10 */ virtual void vfunc_10() override; // func_ov00_020c076c
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov00_020c0770
/* 1c */ virtual void vfunc_1c(); // func_ov00_020c07f8
/* 30 */ virtual void vfunc_30() override; // func_ov00_020c0804
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020c086c
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020c0a88
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c();
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const;
/* 50 */
void func_ov000_020c070c(u32 param1, Vec3p *param2, unk32 param3);
};
+19 -8
View File
@@ -43,20 +43,31 @@ private:
public:
EquipSword();
/* 00 */ virtual void vfunc_00() override; // func_ov00_020beffc
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipSword() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 10 */ virtual void vfunc_10() override; // func_ov00_020bf18c
/* 10 */ virtual void vfunc_10() override;
/* 18 */ virtual void vfunc_18() override; // func_ov00_020bf270
/* 1c */ virtual void vfunc_1c() override; // func_ov00_020bf2d8
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c() override;
/* 28 */ virtual bool UpdateInUse(unk32 param1) override;
/* 2c */ virtual u32 vfunc_2c() override; // func_ov00_020c0674
/* 30 */ virtual void vfunc_30() override; // func_ov00_020bf538
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020bff94
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov00_020c01dc
/* 2c */ virtual u32 vfunc_2c() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override;
/* 50 */
void func_ov000_020bf008(unk16 param1, unk16 param2);
bool func_ov000_020bf028();
void func_ov000_020bf088();
void func_ov000_020bf330();
bool func_ov000_020bf4f4();
static EquipRope *GetEquipRope();
void func_ov000_020c024c(Vec3p *param1, s32 param2);
void func_ov000_020c0318(Vec3p *param1, s32 param2);
void func_ov000_020c0550(Vec3p *param1, s32 param2);
void func_ov000_020c05ec(s32 param1);
void func_ov000_020c0648();
void func_ov000_020c06b0(s32 param1);
};
+78 -6
View File
@@ -6,8 +6,10 @@
#include "Actor/ActorManager.hpp"
#include "Debug/DebugHierarchy.hpp"
#include "Item/ItemManager.hpp"
#include "Player/MotionParams.hpp"
#include "Player/PlayerBase.hpp"
#include "Player/PlayerControlData.hpp"
typedef s32 PlayerCharacter;
enum PlayerCharacter_ {
@@ -73,13 +75,83 @@ public:
/* 84 */ virtual void ResetUnk_5e();
/* 88 */
bool func_ov00_020bbd80(s32 param1);
void func_ov00_020bc854(Vec3p *param1);
bool func_ov00_020bce48(ItemId cutsceneItemId); // PlayItemCutscene
bool func_ov00_020bd304();
bool GongoronCollidesWith(Cylinder *hitbox);
s32 GetGrabActorId();
void UnequipPotion();
void ChangeLinkState(s32 index);
void SetLinkSubState(s32 index, unk32 substate);
PlayerControlData *GetPlayerControlData(s32 index);
void GetDistanceTo(Vec3p *vec, q20 *yDist, q20 *xzDist);
bool func_ov000_020bb68c(Vec3p *target);
bool func_ov000_020bb6d4();
void func_ov000_020bb810(Vec3p *target, unk32 param2);
void func_ov000_020bb8c4(Vec3p *param1);
void TurnTo(Vec3p *target);
void func_ov000_020bb9b0();
void func_ov000_020bb9c8();
void func_ov000_020bb9e4();
bool func_ov000_020bba00();
bool func_ov000_020bba14();
bool func_ov000_020bba28();
void func_ov000_020bba48();
bool func_ov000_020bbabc();
bool func_ov000_020bbb18();
bool func_ov000_020bbb64();
bool func_ov000_020bbb78();
void func_ov000_020bbbb8();
bool func_ov000_020bbbd0(s32 param1, s32 param2);
bool func_ov000_020bbc68(s32 param1);
bool func_ov000_020bbd40();
bool func_ov000_020bbd60();
bool func_ov000_020bbd80(s32 param1);
unk32 func_ov000_020bbe94();
void func_ov000_020bc088();
ItemManager *GetItemManager();
void func_ov000_020bc1c8(unk32 param1, unk32 param2, unk32 param3);
bool func_ov000_020bc210();
void SetVelocity(Vec3p *velocity, bool setAngle);
void func_ov000_020bc280(unk16 param1);
unk32 func_ov000_020bc2d4(unk32 param1);
unk32 func_ov000_020bc320(unk32 param1, unk32 param2, unk32 param3);
void func_ov000_020bc398(unk32 param1, s32 param2);
PlayerCharacter GetCurrentCharacter();
s32 GetHealth(PlayerCharacter character);
void AddHealth(s16 amount, PlayerCharacter character);
void func_ov000_020bc4ac();
s32 GetStateId();
s32 func_ov000_020bc520(Vec3p *param1);
unk32 Grab();
void func_ov000_020bc7e0(unk32 param1);
s32 GetGrabActorId();
s32 func_ov000_020bc808();
unk32 func_ov000_020bc84c();
void func_ov000_020bc854(Vec3p *param1);
void UpdateTilePos(Vec3p *param1, PlayerCharacter character);
void func_ov000_020bc90c(unk32 *param1, s32 param2);
bool func_ov000_020bc960(unk32 param1, unk32 param2, unk32 param3);
bool GongoronCollidesWith(Cylinder *hitbox);
bool func_ov000_020bcc78();
void func_ov000_020bccc8();
void func_ov000_020bcdb8();
void func_ov000_020bcdec(Vec3p *param1, unk16 param2);
bool PlayItemCutscene(ItemId cutsceneItemId);
bool func_ov000_020bcec8();
bool func_ov000_020bcefc();
bool func_ov000_020bcf2c();
bool func_ov000_020bcf50(Vec3p *param1, unk32 param2);
bool func_ov000_020bcf84(Vec3p *param1, Vec3p *param2);
bool func_ov000_020bcfb8(s32 param1);
bool func_ov000_020bd030(unk32 param1);
bool func_ov000_020bd070(unk32 param1);
bool func_ov000_020bd0a8();
bool func_ov000_020bd0bc(Vec3p *param1, s32 param2);
bool func_ov000_020bd268();
bool func_ov000_020bd2bc();
bool func_ov000_020bd304();
bool func_ov000_020bd318();
void SetPlayerCharacter(PlayerCharacter character);
bool func_ov000_020bd3b0(unk32 param1, unk32 param2, unk32 param3, unk16 param4);
void SetPosition(Vec3p *position);
void SetAngle(s16 *angle);
bool func_ov000_020bd510(s32 param1, unk32 *param2);
};
extern PlayerLinkBase *gPlayerLink;