Add ActorRope

This commit is contained in:
Aetias
2025-02-02 11:38:39 +01:00
parent 1d2d2e4a2a
commit d5376fc903
8 changed files with 121 additions and 52 deletions
+4 -4
View File
@@ -28,9 +28,10 @@ enum ActorTypeId_ {
ActorTypeId_Heart = 'HART',
ActorTypeId_Rupee = 'RUPY',
ActorTypeId_Arrow = 'ARRW',
ActorTypeId_Blast = 'BLST',
ActorTypeId_Bomb = 'BOMB',
ActorTypeId_Arrow = 'ARRW',
ActorTypeId_Blast = 'BLST',
ActorTypeId_Bomb = 'BOMB',
ActorTypeId_GrapplingHook = 'ROPE',
ActorTypeId_PlayerDummy = 'PLDM',
ActorTypeId_PushBlock = 'PSBL',
@@ -77,7 +78,6 @@ enum ActorTypeId_ {
ActorTypeId_FLTB = 'FLTB',
ActorTypeId_FLTM = 'FLTM',
ActorTypeId_FORC = 'FORC',
ActorTypeId_ROPE = 'ROPE',
ActorTypeId_SBEM = 'SBEM',
ActorTypeId_STNE = 'STNE',
ActorTypeId_TARU = 'TARU',
+49
View File
@@ -0,0 +1,49 @@
#pragma once
#include "global.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
class ActorRope : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */ unk8 mUnk_158[0xc];
/* 164 */ unk16 mUnk_164;
/* 166 */ unk16 mUnk_166;
/* 168 */ unk8 mUnk_168[0x3];
/* 16b */ unk8 mUnk_16b;
/* 16c */ unk8 mUnk_16c;
/* 16d */ unk8 mUnk_16d;
/* 16e */ unk16 mUnk_16e;
/* 170 */ unk8 mUnk_170[0x4];
/* 174 */ Vec3p mUnk_174;
/* 180 */ Vec3p mUnk_180;
/* 18c */ unk8 mUnk_18c[0x4];
/* 190 */ Vec3p mUnk_190;
/* 19c */ u32 mUnk_19c;
/* 1a0 */
/* 00 */ virtual ~ActorRope() override;
/* 08 */ virtual bool vfunc_08() override;
/* 10 */ virtual void vfunc_10(u32 param1) override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* b4 */
static ActorRope *Create();
static void func_ov014_0212382c(Vec4p *vec);
static q20 func_ov014_0212384c();
s32 func_ov014_021238f0();
void func_ov014_02123904();
bool func_ov014_02123960();
void func_ov014_02123c54(s32 param1);
bool func_ov014_02123cd0(Vec3p *param1, s32 param2);
bool func_ov014_02123e1c();
bool func_ov014_02123e48(unk32 param1);
};
+3 -2
View File
@@ -5,6 +5,7 @@
#include "types.h"
#include "Actor/ActorRef.hpp"
#include "Actor/Player/ActorRope.hpp"
#include "Physics/Cylinder.hpp"
#include "Player/EquipItem.hpp"
@@ -23,7 +24,7 @@ public:
/* 09 */ unk8 mUnk_09;
/* 0a */ unk16 mUnk_0a;
/* 0c */ unk8 mUnk_0c[4];
/* 10 */ ActorRef mRef;
/* 10 */ ActorRef mRopeRef;
/* 18 */ EquipRope_Unk_18 mUnk_18[2];
/* 50 */ unk8 mUnk_50[0x1a];
/* 6a */ bool mUnk_6a;
@@ -52,7 +53,7 @@ public:
EquipRope();
bool func_ov014_0213d3d4(Vec3p *vec);
void func_ov014_0213d404(unk32 *param1);
Actor *func_ov14_0213d420();
ActorRope *GetRopeActor();
s32 func_ov14_0213d440(s32 actorId);
s32 func_ov14_0213d480(s32 actorId);
bool func_ov014_0213d4c8();