mirror of
https://github.com/zeldaret/st
synced 2026-08-22 23:01:46 -04:00
Decompiling part of ROCK (#129)
* feat: decompiling part of ROCK * style: add non-matching comments above non-matching functions * typo: use PascalCase Max for State Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> --------- Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
This commit is contained in:
@@ -1467,7 +1467,7 @@ func_ov000_0207e184 kind:function(arm,size=0x58) addr:0x0207e184
|
||||
func_ov000_0207e1dc kind:function(arm,size=0x30) addr:0x0207e1dc
|
||||
func_ov000_0207e20c kind:function(arm,size=0x34) addr:0x0207e20c
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e240EP15ActorUnkSCCN_B8 kind:function(arm,size=0x14) addr:0x0207e240
|
||||
func_ov000_0207e254 kind:function(arm,size=0x14) addr:0x0207e254
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e254EP15ActorUnkSCCN_B8 kind:function(arm,size=0x14) addr:0x0207e254
|
||||
func_ov000_0207e268 kind:function(arm,size=0x2c) addr:0x0207e268
|
||||
_ZN5Actor19func_ov000_0207e294EP8Cylinder kind:function(arm,size=0x118) addr:0x0207e294
|
||||
func_ov000_0207e3ac kind:function(arm,size=0xac) addr:0x0207e3ac
|
||||
@@ -1914,7 +1914,7 @@ func_ov000_0208ba60 kind:function(arm,size=0x20) addr:0x0208ba60
|
||||
func_ov000_0208ba80 kind:function(arm,size=0x14) addr:0x0208ba80
|
||||
func_ov000_0208ba94 kind:function(arm,size=0x1c) addr:0x0208ba94
|
||||
func_ov000_0208bab0 kind:function(arm,size=0x1c) addr:0x0208bab0
|
||||
func_ov000_0208bacc kind:function(arm,size=0x10) addr:0x0208bacc
|
||||
_ZN18UnkStruct_027e0ce019func_ov000_0208baccEiP7VecFx32 kind:function(arm,size=0x10) addr:0x0208bacc
|
||||
func_ov000_0208badc kind:function(arm,size=0x10) addr:0x0208badc
|
||||
func_ov000_0208baec kind:function(arm,size=0x10) addr:0x0208baec
|
||||
func_ov000_0208bafc kind:function(arm,size=0x10) addr:0x0208bafc
|
||||
|
||||
@@ -53,6 +53,7 @@ src/031_Land/Actor/ActorUnkROCK.cpp:
|
||||
.text start:0x020e8824 end:0x020e8cb8
|
||||
.init start:0x02111220 end:0x02111270
|
||||
.ctor start:0x021127b4 end:0x021127b8
|
||||
.data start:0x021133c4 end:0x02113468
|
||||
.bss start:0x021165d0 end:0x021166e8
|
||||
|
||||
src/031_Land/Actor/ActorRupee.cpp:
|
||||
|
||||
@@ -1723,7 +1723,7 @@ from:0x020e8840 kind:arm_call to:0x02011f3c module:main
|
||||
from:0x020e884c kind:arm_call to:0x020e88e0 module:overlay(31)
|
||||
from:0x020e8860 kind:arm_call to:0x02097898 module:overlay(0)
|
||||
from:0x020e8870 kind:arm_call to:0x0207c018 module:overlay(0)
|
||||
from:0x020e88c8 kind:load to:0x021133cc module:overlay(31)
|
||||
from:0x020e88c8 kind:load to:0x021133c4 module:overlay(31) add:0x8
|
||||
from:0x020e88cc kind:load to:0x02112a70 add:0x8 module:overlay(31)
|
||||
from:0x020e88d0 kind:load to:0x021133e8 add:0x8 module:overlay(31)
|
||||
from:0x020e88e8 kind:arm_call to:0x02098388 module:overlay(0)
|
||||
|
||||
@@ -546,13 +546,13 @@ _ZN19ActorProfileUnkROCK10GetProfileEv kind:function(arm,size=0xc) addr:0x020e88
|
||||
_ZN19ActorProfileUnkROCK6CreateEv kind:function(arm,size=0x24) addr:0x020e8830
|
||||
_ZN19ActorProfileUnkROCKC1Ev kind:function(arm,size=0x8c) addr:0x020e8854
|
||||
_ZN12ActorUnkROCKC1Ev kind:function(arm,size=0x9c) addr:0x020e88e0
|
||||
_ZN12ActorUnkROCK19func_ov031_020e897cEv kind:function(arm,size=0x30) addr:0x020e897c
|
||||
_ZN12ActorUnkROCK19func_ov031_020e89acEv kind:function(arm,size=0x9c) addr:0x020e89ac
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8a48Ev kind:function(arm,size=0x84) addr:0x020e8a48
|
||||
_ZN12ActorUnkROCK8vfunc_18Ei kind:function(arm,size=0x30) addr:0x020e897c
|
||||
_ZN12ActorUnkROCK8vfunc_20Ev kind:function(arm,size=0x9c) addr:0x020e89ac
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8a48Es kind:function(arm,size=0x84) addr:0x020e8a48
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8accEv kind:function(arm,size=0x30) addr:0x020e8acc
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8afcEv kind:function(arm,size=0xa4) addr:0x020e8afc
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8ba0Ev kind:function(arm,size=0x68) addr:0x020e8ba0
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8c08Ev kind:function(arm,size=0x44) addr:0x020e8c08
|
||||
_ZN12ActorUnkROCK8vfunc_2CEi kind:function(arm,size=0xa4) addr:0x020e8afc
|
||||
_ZN12ActorUnkROCK4GrabE15ActorGrabParams kind:function(arm,size=0x68) addr:0x020e8ba0
|
||||
_ZN12ActorUnkROCK4DropE15ActorGrabParamsPK7VecFx32 kind:function(arm,size=0x44) addr:0x020e8c08
|
||||
_ZN12ActorUnkROCKD1Ev kind:function(arm,size=0x28) addr:0x020e8c4c
|
||||
_ZN12ActorUnkROCKD0Ev kind:function(arm,size=0x30) addr:0x020e8c74
|
||||
_ZN19ActorProfileUnkROCKD1Ev kind:function(arm,size=0x14) addr:0x020e8ca4
|
||||
@@ -2284,9 +2284,9 @@ data_ov031_02113204 kind:data(any) addr:0x02113204
|
||||
data_ov031_02113218 kind:data(any) addr:0x02113218
|
||||
data_ov031_02113260 kind:data(any) addr:0x02113260
|
||||
_ZTV19data_ov031_021132a8 kind:data(any) addr:0x021132a8
|
||||
data_ov031_021133cc kind:data(any) addr:0x021133cc
|
||||
_ZTV19data_ov031_021133e8 kind:data(any) addr:0x021133e8
|
||||
_ZTV19data_ov031_0211340c kind:data(any) addr:0x0211340c
|
||||
_ZTV24ActorProfileUnkROCK_Base kind:data(any) addr:0x021133c4
|
||||
_ZTV19ActorProfileUnkROCK kind:data(any) addr:0x021133e8
|
||||
_ZTV12ActorUnkROCK kind:data(any) addr:0x0211340c
|
||||
data_ov031_02113468 kind:data(any) addr:0x02113468
|
||||
data_ov031_02113478 kind:data(any) addr:0x02113478
|
||||
_ZTV13ActorRupee_C4 kind:data(any) addr:0x02113488
|
||||
|
||||
@@ -1465,7 +1465,7 @@ func_ov000_0207f83c kind:function(arm,size=0x58) addr:0x0207f83c
|
||||
func_ov000_0207f894 kind:function(arm,size=0x30) addr:0x0207f894
|
||||
func_ov000_0207f8c4 kind:function(arm,size=0x34) addr:0x0207f8c4
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e240EP15ActorUnkSCCN_B8 kind:function(arm,size=0x14) addr:0x0207f8f8
|
||||
func_ov000_0207f90c kind:function(arm,size=0x14) addr:0x0207f90c
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e254EP15ActorUnkSCCN_B8 kind:function(arm,size=0x14) addr:0x0207f90c
|
||||
func_ov000_0207f920 kind:function(arm,size=0x2c) addr:0x0207f920
|
||||
_ZN5Actor19func_ov000_0207e294EP8Cylinder kind:function(arm,size=0x118) addr:0x0207f94c
|
||||
func_ov000_0207fa64 kind:function(arm,size=0xac) addr:0x0207fa64
|
||||
@@ -1912,7 +1912,7 @@ func_ov000_0208d134 kind:function(arm,size=0x20) addr:0x0208d134
|
||||
func_ov000_0208d154 kind:function(arm,size=0x14) addr:0x0208d154
|
||||
func_ov000_0208d168 kind:function(arm,size=0x1c) addr:0x0208d168
|
||||
func_ov000_0208d184 kind:function(arm,size=0x1c) addr:0x0208d184
|
||||
func_ov000_0208d1a0 kind:function(arm,size=0x10) addr:0x0208d1a0
|
||||
_ZN18UnkStruct_027e0ce019func_ov000_0208baccEiP7VecFx32 kind:function(arm,size=0x10) addr:0x0208d1a0
|
||||
func_ov000_0208d1b0 kind:function(arm,size=0x10) addr:0x0208d1b0
|
||||
func_ov000_0208d1c0 kind:function(arm,size=0x10) addr:0x0208d1c0
|
||||
func_ov000_0208d1d0 kind:function(arm,size=0x10) addr:0x0208d1d0
|
||||
|
||||
@@ -52,6 +52,7 @@ src/031_Land/Actor/ActorUnkROCK.cpp:
|
||||
.text start:0x020ea210 end:0x020ea6a4
|
||||
.init start:0x02112f90 end:0x02112fe0
|
||||
.ctor start:0x02114540 end:0x02114544
|
||||
.data start:0x02115164 end:0x02115208
|
||||
.bss start:0x02118370 end:0x02118458
|
||||
|
||||
src/031_Land/Actor/ActorRupee.cpp:
|
||||
|
||||
@@ -1724,7 +1724,7 @@ from:0x020ea22c kind:arm_call to:0x02011f3c module:main
|
||||
from:0x020ea238 kind:arm_call to:0x020ea2cc module:overlay(31)
|
||||
from:0x020ea24c kind:arm_call to:0x02099040 module:overlay(0)
|
||||
from:0x020ea25c kind:arm_call to:0x0207d6d0 module:overlay(0)
|
||||
from:0x020ea2b4 kind:load to:0x0211516c module:overlay(31)
|
||||
from:0x020ea2b4 kind:load to:0x02115164 module:overlay(31) add:0x8
|
||||
from:0x020ea2b8 kind:load to:0x02114818 module:overlay(31)
|
||||
from:0x020ea2bc kind:load to:0x02115188 add:0x8 module:overlay(31)
|
||||
from:0x020ea2d4 kind:arm_call to:0x02099b30 module:overlay(0)
|
||||
|
||||
@@ -546,13 +546,13 @@ _ZN19ActorProfileUnkROCK10GetProfileEv kind:function(arm,size=0xc) addr:0x020ea2
|
||||
_ZN19ActorProfileUnkROCK6CreateEv kind:function(arm,size=0x24) addr:0x020ea21c
|
||||
_ZN19ActorProfileUnkROCKC1Ev kind:function(arm,size=0x8c) addr:0x020ea240
|
||||
_ZN12ActorUnkROCKC1Ev kind:function(arm,size=0x9c) addr:0x020ea2cc
|
||||
_ZN12ActorUnkROCK19func_ov031_020e897cEv kind:function(arm,size=0x30) addr:0x020ea368
|
||||
_ZN12ActorUnkROCK19func_ov031_020e89acEv kind:function(arm,size=0x9c) addr:0x020ea398
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8a48Ev kind:function(arm,size=0x84) addr:0x020ea434
|
||||
_ZN12ActorUnkROCK8vfunc_18Ei kind:function(arm,size=0x30) addr:0x020ea368
|
||||
_ZN12ActorUnkROCK8vfunc_20Ev kind:function(arm,size=0x9c) addr:0x020ea398
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8a48Es kind:function(arm,size=0x84) addr:0x020ea434
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8accEv kind:function(arm,size=0x30) addr:0x020ea4b8
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8afcEv kind:function(arm,size=0xa4) addr:0x020ea4e8
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8ba0Ev kind:function(arm,size=0x68) addr:0x020ea58c
|
||||
_ZN12ActorUnkROCK19func_ov031_020e8c08Ev kind:function(arm,size=0x44) addr:0x020ea5f4
|
||||
_ZN12ActorUnkROCK8vfunc_2CEi kind:function(arm,size=0xa4) addr:0x020ea4e8
|
||||
_ZN12ActorUnkROCK4GrabE15ActorGrabParams kind:function(arm,size=0x68) addr:0x020ea58c
|
||||
_ZN12ActorUnkROCK4DropE15ActorGrabParamsPK7VecFx32 kind:function(arm,size=0x44) addr:0x020ea5f4
|
||||
_ZN12ActorUnkROCKD1Ev kind:function(arm,size=0x28) addr:0x020ea638
|
||||
_ZN12ActorUnkROCKD0Ev kind:function(arm,size=0x30) addr:0x020ea660
|
||||
_ZN19ActorProfileUnkROCKD1Ev kind:function(arm,size=0x14) addr:0x020ea690
|
||||
@@ -2281,9 +2281,9 @@ data_ov031_02114fa4 kind:data(any) addr:0x02114fa4
|
||||
data_ov031_02114fb8 kind:data(any) addr:0x02114fb8
|
||||
data_ov031_02115000 kind:data(any) addr:0x02115000
|
||||
_ZTV19data_ov031_02115048 kind:data(any) addr:0x02115048
|
||||
data_ov031_0211516c kind:data(any) addr:0x0211516c
|
||||
_ZTV19data_ov031_02115188 kind:data(any) addr:0x02115188
|
||||
_ZTV19data_ov031_021151ac kind:data(any) addr:0x021151ac
|
||||
_ZTV24ActorProfileUnkROCK_Base kind:data(any) addr:0x02115164
|
||||
_ZTV19ActorProfileUnkROCK kind:data(any) addr:0x02115188
|
||||
_ZTV12ActorUnkROCK kind:data(any) addr:0x021151ac
|
||||
data_ov031_02115208 kind:data(any) addr:0x02115208
|
||||
data_ov031_02115218 kind:data(any) addr:0x02115218
|
||||
_ZTV13ActorRupee_C4 kind:data(any) addr:0x02115228
|
||||
@@ -2538,7 +2538,7 @@ data_ov031_0211836c kind:bss addr:0x0211836c
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x02118370
|
||||
@30811 kind:bss addr:0x02118374
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkROCKE8sProfileE kind:bss addr:0x02118380
|
||||
data_ov031_02118458 kind:bss addr:0x02118458
|
||||
data_ov031_021166b8 kind:bss addr:0x02118458
|
||||
data_ov031_02118478 kind:bss addr:0x02118478
|
||||
data_ov031_0211847c kind:bss addr:0x0211847c
|
||||
_ZN15ProfileInstanceI17ActorProfileRupeeE8sProfileE kind:bss addr:0x02118488
|
||||
|
||||
@@ -1,46 +1,59 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "ActorUnkSCCN.hpp"
|
||||
#include "MapObject/MapObject_ov031.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class ActorUnkROCK_C4 : public Actor_C4 {
|
||||
public:
|
||||
ActorUnkROCK_C4(Actor *param1);
|
||||
|
||||
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
|
||||
/* 04 */ virtual bool vfunc_04() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
|
||||
enum ActorUnkROCKState_ {
|
||||
ActorUnkROCKState_0 = 0,
|
||||
ActorUnkROCKState_1 = 1,
|
||||
ActorUnkROCKState_2 = 2,
|
||||
ActorUnkROCKState_3 = 3,
|
||||
ActorUnkROCKState_4 = 4,
|
||||
ActorUnkROCKState_Max,
|
||||
};
|
||||
|
||||
class ActorUnkROCK : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
/* 94 */ UnkSystem6_Derived2 mUnk_94;
|
||||
/* 9C */ bool mUnk_9C;
|
||||
/* A0 */ ActorUnkSCCN_B8 mUnk_A0;
|
||||
/* B0 */
|
||||
|
||||
ActorUnkROCK();
|
||||
|
||||
/* 4C */ virtual ~ActorUnkROCK() override;
|
||||
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
|
||||
/* 38 */ virtual bool Grab(ActorGrabParams param1) override;
|
||||
/* 38 */ virtual bool Drop(ActorGrabParams param1, const VecFx32 *param2) override;
|
||||
|
||||
void func_ov031_020e897c(void);
|
||||
void func_ov031_020e89ac(void);
|
||||
void func_ov031_020e8a48(void);
|
||||
void func_ov031_020e8acc(void);
|
||||
void func_ov031_020e8afc(void);
|
||||
void func_ov031_020e8ba0(void);
|
||||
void func_ov031_020e8c08(void);
|
||||
void func_ov031_020e8a48(ActorState state);
|
||||
void func_ov031_020e8acc();
|
||||
};
|
||||
|
||||
class ActorProfileUnkROCK : public ActorProfile_Derived1 {
|
||||
class ActorProfileUnkROCK_Base : public ActorProfile_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D8 */ MapObject_10_Pot mUnk_D8;
|
||||
/* FC */
|
||||
|
||||
ActorProfileUnkROCK_Base(ActorId actorId) :
|
||||
ActorProfile_Derived1(actorId) {}
|
||||
|
||||
// data_ov031_021133cc
|
||||
};
|
||||
|
||||
class ActorProfileUnkROCK : public ActorProfileUnkROCK_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* FC */
|
||||
|
||||
ActorProfileUnkROCK();
|
||||
~ActorProfileUnkROCK();
|
||||
|
||||
/* 0C */ virtual Actor *Create();
|
||||
|
||||
|
||||
@@ -71,6 +71,7 @@ public:
|
||||
s16 func_ov000_0207dc88(Actor **, Actor_38 *);
|
||||
void func_ov000_0207de98(ActorRef param1, UnkStruct_ov000_0207de98 *param2, Actor_38 *param3);
|
||||
void func_ov000_0207e240(ActorUnkSCCN_B8 *param1);
|
||||
void func_ov000_0207e254(ActorUnkSCCN_B8 *param1);
|
||||
void func_ov000_0207e58c(ActorRef param1, unk32 param2, u8 param3, UnkStruct_ov031_Items_01 *param4);
|
||||
bool func_ov000_0207e458(unk32 param1, unk32 param2, VecFx32 *param3, unk32 param4, VecFx32 *param5, ActorRef param6);
|
||||
|
||||
|
||||
@@ -771,6 +771,7 @@ public:
|
||||
void func_ov000_0208a2c4(unk32 param1, unk32 param2);
|
||||
void func_ov000_0208a318(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_0208ba94(unk32 param1, VecFx32 *param2);
|
||||
void func_ov000_0208bacc(unk32 param1, VecFx32 *param2);
|
||||
void func_ov000_0208bbd4(unk32 param1, VecFx32 *param2, u16 param3);
|
||||
bool func_ov000_0208bc1c(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
void func_ov000_0208bc9c(unk32 param1, unk32 param2);
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "Actor/ActorUnkROCK.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09c0.hpp"
|
||||
|
||||
extern "C" Mat3p data_027e0130;
|
||||
|
||||
static MapObject_10 data_ov031_021166b8;
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkROCK);
|
||||
|
||||
@@ -9,18 +14,115 @@ Actor *ActorProfileUnkROCK::Create() {
|
||||
return new(HeapIndex_2) ActorUnkROCK();
|
||||
}
|
||||
|
||||
// non-matching
|
||||
ActorProfileUnkROCK::ActorProfileUnkROCK() :
|
||||
ActorProfile_Derived1(ActorId_ROCK) {}
|
||||
ActorProfileUnkROCK_Base(ActorId_ROCK) {
|
||||
this->mUnk_04.Init(FLOAT_TO_FX32(0.5f));
|
||||
VecFx32_Init(FLOAT_TO_FX32(7.0017f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mUnk_D8.mUnk_0C);
|
||||
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.6f), FLOAT_TO_FX32(1.2f), &this->mUnk_D8.mUnk_18);
|
||||
}
|
||||
|
||||
ActorUnkROCK::ActorUnkROCK() {}
|
||||
ActorUnkROCK::ActorUnkROCK() :
|
||||
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkROCK)->mUnk_3C.mUnk_50)),
|
||||
mUnk_9C(true) {
|
||||
this->mUnk_44 = 0x1F;
|
||||
this->mUnk_4A[1] = 0x02;
|
||||
}
|
||||
|
||||
void ActorUnkROCK::func_ov031_020e897c(void) {}
|
||||
void ActorUnkROCK::func_ov031_020e89ac(void) {}
|
||||
void ActorUnkROCK::func_ov031_020e8a48(void) {}
|
||||
void ActorUnkROCK::func_ov031_020e8acc(void) {}
|
||||
void ActorUnkROCK::func_ov031_020e8afc(void) {}
|
||||
void ActorUnkROCK::func_ov031_020e8ba0(void) {}
|
||||
void ActorUnkROCK::func_ov031_020e8c08(void) {}
|
||||
bool ActorUnkROCK::vfunc_18(unk32 param1) {
|
||||
this->mUnk_A0.mUnk_04 = this->mRef;
|
||||
this->mUnk_A0.mUnk_08 = &this->mPos;
|
||||
this->mUnk_A0.mUnk_0C = &data_ov031_021166b8;
|
||||
|
||||
ActorUnkROCK::~ActorUnkROCK() {}
|
||||
ActorProfileUnkROCK::~ActorProfileUnkROCK() {}
|
||||
this->func_ov031_020e8a48(ActorUnkROCKState_0);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void ActorUnkROCK::vfunc_20() {
|
||||
VecFx32_Copy(&this->mPos, &this->mPrevPos);
|
||||
switch (this->mState) {
|
||||
case ActorUnkROCKState_1:
|
||||
data_027e0ce0->func_ov000_0208bacc(0x1, &this->mPos);
|
||||
break;
|
||||
case ActorUnkROCKState_3:
|
||||
this->func_ov000_02098838();
|
||||
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
|
||||
if (this->func_ov000_02098910(NULL, 0x10) == 0x0) {
|
||||
break;
|
||||
}
|
||||
this->func_ov031_020e8a48(ActorUnkROCKState_4);
|
||||
break;
|
||||
case ActorUnkROCKState_0:
|
||||
case ActorUnkROCKState_2:
|
||||
case ActorUnkROCKState_4:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkROCK::func_ov031_020e8a48(ActorState state) {
|
||||
this->mUnk_52 = 0xFFFF;
|
||||
this->mUnk_50 = 0x0000;
|
||||
|
||||
if (this->mState == ActorUnkROCKState_0) {
|
||||
data_027e09c0->func_ov000_0207e254(&this->mUnk_A0);
|
||||
}
|
||||
|
||||
this->mState = state;
|
||||
switch (state) {
|
||||
case ActorUnkROCKState_0:
|
||||
data_027e09c0->func_ov000_0207e240(&this->mUnk_A0);
|
||||
break;
|
||||
case ActorUnkROCKState_4:
|
||||
this->func_ov031_020e8acc();
|
||||
break;
|
||||
case ActorUnkROCKState_1:
|
||||
case ActorUnkROCKState_2:
|
||||
case ActorUnkROCKState_3:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ActorUnkROCK::func_ov031_020e8acc() {
|
||||
data_027e09a8->func_ov000_02071b30(0x0, &this->mPos, 0x0);
|
||||
this->func_ov000_020984d0();
|
||||
}
|
||||
|
||||
void ActorUnkROCK::vfunc_2C(unk32 param1) {
|
||||
if (!this->func_01fff5d0(param1, 0x0)) {
|
||||
return;
|
||||
}
|
||||
VecFx32 vecSp18;
|
||||
VecFx32_Init(FLOAT_TO_FX32(1.2f), FLOAT_TO_FX32(1.2f), FLOAT_TO_FX32(1.2f), &vecSp18);
|
||||
|
||||
VecFx32 vecSp0C = this->mPos;
|
||||
vecSp0C.y += FLOAT_TO_FX32(0.8f);
|
||||
|
||||
this->mUnk_94.vfunc_10(&vecSp18, &data_027e0130, &vecSp0C);
|
||||
|
||||
data_027e09b4->func_01fff60c(&this->mPos, 0xC00, 0xC00, 0x1F, 0x0, 0x0);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
bool ActorUnkROCK::Grab(ActorGrabParams param1) {
|
||||
if (param1.unk_00 != 0x100 || param1.unk_02 != 1) {
|
||||
return false;
|
||||
}
|
||||
if (!this->Actor::Grab(param1)) {
|
||||
return false;
|
||||
}
|
||||
this->func_ov031_020e8a48(ActorUnkROCKState_1);
|
||||
return true;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
bool ActorUnkROCK::Drop(ActorGrabParams param1, const VecFx32 *param2) {
|
||||
if (!this->Actor::Drop(param1, param2)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this->func_ov031_020e8a48(ActorUnkROCKState_3);
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user