mirror of
https://github.com/zeldaret/ph
synced 2026-06-03 18:36:11 -04:00
Add ActorRope
This commit is contained in:
@@ -84,22 +84,22 @@ func_ov014_0212357c kind:function(arm,size=0x40) addr:0x212357c
|
||||
func_ov014_021235bc kind:function(arm,size=0x180) addr:0x21235bc
|
||||
func_ov014_0212373c kind:function(arm,size=0xb0) addr:0x212373c
|
||||
func_ov014_021237ec kind:function(arm,size=0x10) addr:0x21237ec
|
||||
func_ov014_021237fc kind:function(arm,size=0x30) addr:0x21237fc
|
||||
func_ov014_0212382c kind:function(arm,size=0x20) addr:0x212382c
|
||||
func_ov014_0212384c kind:function(arm,size=0xc) addr:0x212384c
|
||||
func_ov014_02123858 kind:function(arm,size=0x50) addr:0x2123858
|
||||
func_ov014_021238a8 kind:function(arm,size=0x48) addr:0x21238a8
|
||||
func_ov014_021238f0 kind:function(arm,size=0x14) addr:0x21238f0
|
||||
func_ov014_02123904 kind:function(arm,size=0x5c) addr:0x2123904
|
||||
func_ov014_02123960 kind:function(arm,size=0x34) addr:0x2123960
|
||||
func_ov014_02123994 kind:function(arm,size=0x214) addr:0x2123994
|
||||
func_ov014_02123ba8 kind:function(arm,size=0xac) addr:0x2123ba8
|
||||
func_ov014_02123c54 kind:function(arm,size=0x7c) addr:0x2123c54
|
||||
func_ov014_02123cd0 kind:function(arm,size=0x14c) addr:0x2123cd0
|
||||
func_ov014_02123e1c kind:function(arm,size=0x2c) addr:0x2123e1c
|
||||
func_ov014_02123e48 kind:function(arm,size=0xbc) addr:0x2123e48
|
||||
func_ov014_02123f04 kind:function(arm,size=0xec) addr:0x2123f04
|
||||
func_ov014_02123ff0 kind:function(thumb,size=0x14) addr:0x2123ff0
|
||||
_ZN9ActorRope6CreateEv kind:function(arm,size=0x30) addr:0x21237fc
|
||||
_ZN9ActorRope19func_ov014_0212382cEP5Vec4p kind:function(arm,size=0x20) addr:0x212382c
|
||||
_ZN9ActorRope19func_ov014_0212384cEv kind:function(arm,size=0xc) addr:0x212384c
|
||||
_ZN9ActorRopeD1Ev kind:function(arm,size=0x50) addr:0x2123858
|
||||
_ZN9ActorRopeD0Ev kind:function(arm,size=0x48) addr:0x21238a8
|
||||
_ZN9ActorRope19func_ov014_021238f0Ev kind:function(arm,size=0x14) addr:0x21238f0
|
||||
_ZN9ActorRope19func_ov014_02123904Ev kind:function(arm,size=0x5c) addr:0x2123904
|
||||
_ZN9ActorRope19func_ov014_02123960Ev kind:function(arm,size=0x34) addr:0x2123960
|
||||
_ZN9ActorRope8vfunc_14Ej kind:function(arm,size=0x214) addr:0x2123994
|
||||
_ZN9ActorRope8vfunc_18Ej kind:function(arm,size=0xac) addr:0x2123ba8
|
||||
_ZN9ActorRope19func_ov014_02123c54Ei kind:function(arm,size=0x7c) addr:0x2123c54
|
||||
_ZN9ActorRope19func_ov014_02123cd0EP5Vec3pi kind:function(arm,size=0x14c) addr:0x2123cd0
|
||||
_ZN9ActorRope19func_ov014_02123e1cEv kind:function(arm,size=0x2c) addr:0x2123e1c
|
||||
_ZN9ActorRope19func_ov014_02123e48Ei kind:function(arm,size=0xbc) addr:0x2123e48
|
||||
_ZN9ActorRope8vfunc_20Eb kind:function(arm,size=0xec) addr:0x2123f04
|
||||
_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x14) addr:0x2123ff0
|
||||
func_ov014_02124004 kind:function(arm,size=0x30) addr:0x2124004
|
||||
func_ov014_02124034 kind:function(arm,size=0xc) addr:0x2124034
|
||||
func_ov014_02124040 kind:function(arm,size=0xdc) addr:0x2124040
|
||||
@@ -1636,7 +1636,7 @@ __sinit_ActorArrow.cpp kind:function(arm,size=0x68) addr:0x21541ec
|
||||
__sinit_ActorBlast.cpp kind:function(arm,size=0x40) addr:0x2154254
|
||||
__sinit_ActorBomb.cpp kind:function(arm,size=0x60) addr:0x2154294
|
||||
__sinit_ov014_021542f4 kind:function(arm,size=0x40) addr:0x21542f4
|
||||
__sinit_ov014_02154334 kind:function(arm,size=0x40) addr:0x2154334
|
||||
__sinit_ActorRope.cpp kind:function(arm,size=0x40) addr:0x2154334
|
||||
__sinit_ov014_02154374 kind:function(arm,size=0x84) addr:0x2154374
|
||||
__sinit_ov014_021543f8 kind:function(arm,size=0x38) addr:0x21543f8
|
||||
__sinit_ov014_02154430 kind:function(arm,size=0x38) addr:0x2154430
|
||||
@@ -1751,7 +1751,7 @@ data_ov014_02155dc0 kind:data(any) addr:0x2155dc0
|
||||
data_ov014_02155dc4 kind:data(any) addr:0x2155dc4
|
||||
data_ov014_02155dc8 kind:data(any) addr:0x2155dc8
|
||||
data_ov014_02155dcc kind:data(any) addr:0x2155dcc
|
||||
data_ov014_02155df8 kind:data(any) addr:0x2155df8
|
||||
_ZTV9ActorRope kind:data(any) addr:0x2155df8
|
||||
data_ov014_02155eac kind:data(any) addr:0x2155eac
|
||||
data_ov014_02155eb0 kind:data(any) addr:0x2155eb0
|
||||
data_ov014_02155eb4 kind:data(any) addr:0x2155eb4
|
||||
@@ -2120,8 +2120,8 @@ data_ov014_0215ac40 kind:bss addr:0x215ac40
|
||||
data_ov014_0215ac4c kind:bss addr:0x215ac4c
|
||||
data_ov014_0215ac5c kind:bss addr:0x215ac5c
|
||||
data_ov014_0215ac68 kind:bss addr:0x215ac68
|
||||
data_ov014_0215ac7c kind:bss addr:0x215ac7c
|
||||
data_ov014_0215ac88 kind:bss addr:0x215ac88
|
||||
@366 kind:bss addr:0x215ac7c
|
||||
_ZN9ActorRope5gTypeE kind:bss addr:0x215ac88
|
||||
data_ov014_0215ac9c kind:bss addr:0x215ac9c
|
||||
data_ov014_0215aca8 kind:bss addr:0x215aca8
|
||||
data_ov014_0215acbc kind:bss addr:0x215acbc
|
||||
|
||||
@@ -84,22 +84,22 @@ func_ov014_0212357c kind:function(arm,size=0x40) addr:0x21234fc
|
||||
func_ov014_021235bc kind:function(arm,size=0x180) addr:0x212353c
|
||||
func_ov014_0212373c kind:function(arm,size=0xb0) addr:0x21236bc
|
||||
func_ov014_021237ec kind:function(arm,size=0x10) addr:0x212376c
|
||||
func_ov014_021237fc kind:function(arm,size=0x30) addr:0x212377c
|
||||
func_ov014_0212382c kind:function(arm,size=0x20) addr:0x21237ac
|
||||
func_ov014_0212384c kind:function(arm,size=0xc) addr:0x21237cc
|
||||
func_ov014_02123858 kind:function(arm,size=0x50) addr:0x21237d8
|
||||
func_ov014_021238a8 kind:function(arm,size=0x48) addr:0x2123828
|
||||
func_ov014_021238f0 kind:function(arm,size=0x14) addr:0x2123870
|
||||
func_ov014_02123904 kind:function(arm,size=0x5c) addr:0x2123884
|
||||
func_ov014_02123960 kind:function(arm,size=0x34) addr:0x21238e0
|
||||
func_ov014_02123994 kind:function(arm,size=0x214) addr:0x2123914
|
||||
func_ov014_02123ba8 kind:function(arm,size=0xac) addr:0x2123b28
|
||||
func_ov014_02123c54 kind:function(arm,size=0x7c) addr:0x2123bd4
|
||||
func_ov014_02123cd0 kind:function(arm,size=0x14c) addr:0x2123c50
|
||||
func_ov014_02123e1c kind:function(arm,size=0x2c) addr:0x2123d9c
|
||||
func_ov014_02123e48 kind:function(arm,size=0xbc) addr:0x2123dc8
|
||||
func_ov014_02123f04 kind:function(arm,size=0xec) addr:0x2123e84
|
||||
func_ov014_02123ff0 kind:function(thumb,size=0x14) addr:0x2123f70
|
||||
_ZN9ActorRope6CreateEv kind:function(arm,size=0x30) addr:0x212377c
|
||||
_ZN9ActorRope19func_ov014_0212382cEP5Vec4p kind:function(arm,size=0x20) addr:0x21237ac
|
||||
_ZN9ActorRope19func_ov014_0212384cEv kind:function(arm,size=0xc) addr:0x21237cc
|
||||
_ZN9ActorRopeD1Ev kind:function(arm,size=0x50) addr:0x21237d8
|
||||
_ZN9ActorRopeD0Ev kind:function(arm,size=0x48) addr:0x2123828
|
||||
_ZN9ActorRope19func_ov014_021238f0Ev kind:function(arm,size=0x14) addr:0x2123870
|
||||
_ZN9ActorRope19func_ov014_02123904Ev kind:function(arm,size=0x5c) addr:0x2123884
|
||||
_ZN9ActorRope19func_ov014_02123960Ev kind:function(arm,size=0x34) addr:0x21238e0
|
||||
_ZN9ActorRope8vfunc_14Ej kind:function(arm,size=0x214) addr:0x2123914
|
||||
_ZN9ActorRope8vfunc_18Ej kind:function(arm,size=0xac) addr:0x2123b28
|
||||
_ZN9ActorRope19func_ov014_02123c54Ei kind:function(arm,size=0x7c) addr:0x2123bd4
|
||||
_ZN9ActorRope19func_ov014_02123cd0EP5Vec3pi kind:function(arm,size=0x14c) addr:0x2123c50
|
||||
_ZN9ActorRope19func_ov014_02123e1cEv kind:function(arm,size=0x2c) addr:0x2123d9c
|
||||
_ZN9ActorRope19func_ov014_02123e48Ei kind:function(arm,size=0xbc) addr:0x2123dc8
|
||||
_ZN9ActorRope8vfunc_20Eb kind:function(arm,size=0xec) addr:0x2123e84
|
||||
_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x14) addr:0x2123f70
|
||||
func_ov014_02124004 kind:function(arm,size=0x30) addr:0x2123f84
|
||||
func_ov014_02124034 kind:function(arm,size=0xc) addr:0x2123fb4
|
||||
func_ov014_02124040 kind:function(arm,size=0xdc) addr:0x2123fc0
|
||||
@@ -1636,7 +1636,7 @@ __sinit_ActorArrow.cpp kind:function(arm,size=0x68) addr:0x2154148
|
||||
__sinit_ActorBlast.cpp kind:function(arm,size=0x40) addr:0x21541b0
|
||||
__sinit_ActorBomb.cpp kind:function(arm,size=0x60) addr:0x21541f0
|
||||
__sinit_ov014_021542f4 kind:function(arm,size=0x40) addr:0x2154250
|
||||
__sinit_ov014_02154334 kind:function(arm,size=0x40) addr:0x2154290
|
||||
__sinit_ActorRope.cpp kind:function(arm,size=0x40) addr:0x2154290
|
||||
__sinit_ov014_02154374 kind:function(arm,size=0x84) addr:0x21542d0
|
||||
__sinit_ov014_021543f8 kind:function(arm,size=0x38) addr:0x2154354
|
||||
__sinit_ov014_02154430 kind:function(arm,size=0x38) addr:0x215438c
|
||||
@@ -1751,7 +1751,7 @@ data_ov014_02155dc0 kind:data(any) addr:0x2155d20
|
||||
data_ov014_02155dc4 kind:data(any) addr:0x2155d24
|
||||
data_ov014_02155dc8 kind:data(any) addr:0x2155d28
|
||||
data_ov014_02155dcc kind:data(any) addr:0x2155d2c
|
||||
data_ov014_02155df8 kind:data(any) addr:0x2155d58
|
||||
_ZTV9ActorRope kind:data(any) addr:0x2155d58
|
||||
data_ov014_02155eac kind:data(any) addr:0x2155e0c
|
||||
data_ov014_02155eb0 kind:data(any) addr:0x2155e10
|
||||
data_ov014_02155eb4 kind:data(any) addr:0x2155e14
|
||||
@@ -2120,8 +2120,8 @@ data_ov014_0215ac40 kind:bss addr:0x215aba0
|
||||
data_ov014_0215ac4c kind:bss addr:0x215abac
|
||||
data_ov014_0215ac5c kind:bss addr:0x215abbc
|
||||
data_ov014_0215ac68 kind:bss addr:0x215abc8
|
||||
data_ov014_0215ac7c kind:bss addr:0x215abdc
|
||||
data_ov014_0215ac88 kind:bss addr:0x215abe8
|
||||
@366 kind:bss addr:0x215abdc
|
||||
_ZN9ActorRope5gTypeE kind:bss addr:0x215abe8
|
||||
data_ov014_0215ac9c kind:bss addr:0x215abfc
|
||||
data_ov014_0215aca8 kind:bss addr:0x215ac08
|
||||
data_ov014_0215acbc kind:bss addr:0x215ac1c
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
@@ -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();
|
||||
|
||||
@@ -551,7 +551,7 @@ ARM bool Actor::func_ov00_020c243c(ActorTypeId *actorTypes, Actor **out) {
|
||||
knockback.mUnk_10 = 5;
|
||||
} break;
|
||||
|
||||
case ActorTypeId_ROPE: {
|
||||
case ActorTypeId_GrapplingHook: {
|
||||
knockback.mUnk_10 = 8;
|
||||
} break;
|
||||
|
||||
@@ -759,7 +759,7 @@ ARM EquipBoomerang *Actor::GetEquipBoomerang() {
|
||||
|
||||
ARM bool Actor::func_ov00_020c2d54() {
|
||||
const ActorTypeId types[] = {
|
||||
ActorTypeId_ROPE,
|
||||
ActorTypeId_GrapplingHook,
|
||||
ActorTypeId_Null,
|
||||
};
|
||||
if (mHitbox.size >= 0) {
|
||||
@@ -780,7 +780,7 @@ ARM bool Actor::func_ov00_020c2de4() {
|
||||
|
||||
EquipRope *rope = EquipSword::GetEquipRope();
|
||||
|
||||
Actor *actor = rope->func_ov14_0213d420();
|
||||
ActorRope *actor = rope->GetRopeActor();
|
||||
if (actor) {
|
||||
Vec3p_Sub(&actor->mPos, &mPos, &vel);
|
||||
if (Vec3p_Length(&vel) > FLOAT_TO_Q20(1.0)) {
|
||||
@@ -819,8 +819,8 @@ ARM bool Actor::func_ov00_020c2ed4() {
|
||||
|
||||
s32 index = rope->func_ov14_0213d440(mRef.id);
|
||||
if (index >= 0) {
|
||||
bool unk1 = rope->func_ov14_0213d420();
|
||||
if (unk1) {
|
||||
ActorRope *actor = rope->GetRopeActor();
|
||||
if (actor) {
|
||||
Vec3p vel;
|
||||
if (rope->func_ov14_0213d81c(index, &vel)) {
|
||||
mVel = vel;
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#include "Actor/Player/ActorRope.hpp"
|
||||
|
||||
ActorType ActorRope::gType(ActorTypeId_GrapplingHook, (ActorCreateFunc) ActorRope::Create, NULL);
|
||||
|
||||
ActorRope *ActorRope::Create() {}
|
||||
void ActorRope::func_ov014_0212382c(Vec4p *vec) {}
|
||||
q20 ActorRope::func_ov014_0212384c() {}
|
||||
ActorRope::~ActorRope() {}
|
||||
s32 ActorRope::func_ov014_021238f0() {}
|
||||
void ActorRope::func_ov014_02123904() {}
|
||||
bool ActorRope::func_ov014_02123960() {}
|
||||
void ActorRope::vfunc_14(u32 param1) {}
|
||||
void ActorRope::vfunc_18(u32 param1) {}
|
||||
void ActorRope::func_ov014_02123c54(s32 param1) {}
|
||||
bool ActorRope::func_ov014_02123cd0(Vec3p *param1, s32 param2) {}
|
||||
bool ActorRope::func_ov014_02123e1c() {}
|
||||
bool ActorRope::func_ov014_02123e48(unk32 param1) {}
|
||||
void ActorRope::vfunc_20(bool param1) {}
|
||||
void ActorRope::vfunc_10(u32 param1) {}
|
||||
@@ -10,7 +10,7 @@ void EquipRope::vfunc_10() {}
|
||||
ItemFlag EquipRope::GetId() const {}
|
||||
bool EquipRope::func_ov014_0213d3d4(Vec3p *vec) {}
|
||||
void EquipRope::func_ov014_0213d404(unk32 *param1) {}
|
||||
Actor *EquipRope::func_ov14_0213d420() {}
|
||||
ActorRope *EquipRope::GetRopeActor() {}
|
||||
s32 EquipRope::func_ov14_0213d440(s32 actorId) {}
|
||||
s32 EquipRope::func_ov14_0213d480(s32 actorId) {}
|
||||
bool EquipRope::func_ov014_0213d4c8() {}
|
||||
|
||||
Reference in New Issue
Block a user