mirror of
https://github.com/zeldaret/st
synced 2026-06-19 15:40:35 -04:00
Add struct members for Actor_9C (#86)
This commit is contained in:
@@ -110,7 +110,15 @@ struct ActorGrabParams {
|
||||
class Actor_9C {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ ActorRef mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ u16 mUnk_1C;
|
||||
/* 1E */ u16 mUnk_1E;
|
||||
/* 20 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00(); // corresponds to func_ov000_02097c14
|
||||
/* 04 */ virtual void vfunc_04(); // corresponds to func_ov000_02097c20
|
||||
|
||||
@@ -31,12 +31,6 @@ public:
|
||||
/* 94 */ u16 mUnk_94;
|
||||
/* 96 */ u16 mUnk_96;
|
||||
/* 98 */ Actor_9C mUnk_98;
|
||||
/* 9C */ unk32 mUnk_9C;
|
||||
/* A0 */ unk32 mUnk_A0;
|
||||
/* A4 */ unk32 mUnk_A4;
|
||||
/* A8 */ STRUCT_PAD(0xA8, 0xB4);
|
||||
/* B4 */ unk16 mUnk_B4;
|
||||
/* B6 */ STRUCT_PAD(0xB6, 0xB8);
|
||||
/* B8 */ s16 mUnk_B8;
|
||||
/* BA */ unk16 mUnk_BA;
|
||||
/* BC */ unk16 mUnk_BC;
|
||||
|
||||
@@ -49,11 +49,6 @@ public:
|
||||
/* 0B0 */ u16 mUnk_B0;
|
||||
/* 0B2 */ STRUCT_PAD(0xB2, 0xB4);
|
||||
/* 0B4 */ Actor_9C mUnk_B4;
|
||||
/* 0B8 */ unk32 mUnk_B8;
|
||||
/* 0BC */ unk32 mUnk_BC;
|
||||
/* 0C0 */ ActorRef mUnk_C0;
|
||||
/* 0C4 */ STRUCT_PAD(0x0C4, 0x0D0);
|
||||
/* 0D0 */ u16 mUnk_D0;
|
||||
/* 0D4 */ ItemDropType mItemTypeId;
|
||||
/* 0D8 */ fx32 mUnk_D8;
|
||||
/* 0DC */ ActorRef mUnk_DC;
|
||||
@@ -80,7 +75,6 @@ public:
|
||||
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 4C */ virtual ~ActorItemDrop() override;
|
||||
|
||||
void func_ov031_020fa260();
|
||||
void SetState(ActorState state);
|
||||
|
||||
@@ -54,13 +54,6 @@ public:
|
||||
/* 98 */ u16 mUnk_98;
|
||||
/* 9A */ u16 mUnk_9A;
|
||||
/* 9C */ Actor_9C mUnk_9C;
|
||||
/* A0 */ unk32 mUnk_A0;
|
||||
/* A4 */ unk32 mUnk_A4;
|
||||
/* A8 */ unk32 mUnk_A8;
|
||||
/* AC */ unk32 mUnk_AC;
|
||||
/* B0 */ unk32 mUnk_B0;
|
||||
/* B4 */ unk32 mUnk_B4;
|
||||
/* B8 */ unk32 mUnk_B8;
|
||||
/* BC */ ActorRef mUnk_BC;
|
||||
/* C0 */ ActorRef mUnk_C0;
|
||||
/* C4 */ ActorRupee_C4 mUnk_C4;
|
||||
|
||||
@@ -80,8 +80,8 @@ ARM ActorHeart::ActorHeart() :
|
||||
this->mUnk_EC.y = FLOAT_TO_FX32(0.0);
|
||||
this->mUnk_EC.z = FLOAT_TO_FX32(0.0);
|
||||
|
||||
this->mUnk_9C = 0x13100;
|
||||
this->mUnk_40 = &this->mUnk_C8;
|
||||
this->mUnk_98.mUnk_04 = 0x13100;
|
||||
this->mUnk_40 = &this->mUnk_C8;
|
||||
u16 sp0;
|
||||
func_01ffedac(&sp0, &this->mPos);
|
||||
|
||||
@@ -169,11 +169,11 @@ void ActorHeart::vfunc_20() {
|
||||
}
|
||||
}
|
||||
|
||||
if (!(this->mUnk_A0 & 0x3FFFF)) {
|
||||
unk16 var = this->mUnk_B4;
|
||||
if (!(this->mUnk_98.mUnk_08 & 0x3FFFF)) {
|
||||
unk16 var = this->mUnk_98.mUnk_1C;
|
||||
if (var != 0x8 && var == 0xC) {
|
||||
this->mUnk_C0 = this->mUnk_A4;
|
||||
this->mUnk_9C &= ~0x1000;
|
||||
this->mUnk_C0 = this->mUnk_98.mUnk_0C;
|
||||
this->mUnk_98.mUnk_04 &= ~0x1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -313,7 +313,7 @@ ARM void ActorHeart::func_ov031_020ef3d0() {
|
||||
this->mVel.y = FLOAT_TO_FX32(0.0);
|
||||
this->mVel.z = FLOAT_TO_FX32(0.0);
|
||||
|
||||
this->mUnk_9C |= 0x1000;
|
||||
this->mUnk_98.mUnk_04 |= 0x1000;
|
||||
this->SetState(ActorHeartState_1);
|
||||
}
|
||||
|
||||
|
||||
@@ -162,8 +162,8 @@ ARM ActorItemDrop::ActorItemDrop() :
|
||||
break;
|
||||
}
|
||||
|
||||
this->mUnk_B8 = 0x13100;
|
||||
this->mUnk_40 = &this->mUnk_E4;
|
||||
this->mUnk_B4.mUnk_04 = 0x13100;
|
||||
this->mUnk_40 = &this->mUnk_E4;
|
||||
|
||||
u16 sp0;
|
||||
func_01ffedac(&sp0, &this->mPos);
|
||||
@@ -212,28 +212,28 @@ ARM void ActorItemDrop::func_ov031_020fa260() {
|
||||
if (this->IsTimerOut()) {
|
||||
this->func_ov000_020989e0();
|
||||
|
||||
if (this->mUnk_BC & 0x3FFFF) {
|
||||
switch (this->mUnk_D0) {
|
||||
if (this->mUnk_B4.mUnk_08 & 0x3FFFF) {
|
||||
switch (this->mUnk_B4.mUnk_1C) {
|
||||
case 8:
|
||||
case 16:
|
||||
if (this->mUnk_119) {
|
||||
bool var_r1_3 = false;
|
||||
|
||||
if (this->mUnk_C0.type_index == 0x100 && this->mUnk_C0.unk_id == 0) {
|
||||
if (this->mUnk_B4.mUnk_0C.type_index == 0x100 && this->mUnk_B4.mUnk_0C.unk_id == 0) {
|
||||
var_r1_3 = true;
|
||||
}
|
||||
|
||||
if (var_r1_3 || (this->mUnk_C0.type_index == 0x100 && this->mUnk_C0.unk_id == 1 &&
|
||||
if (var_r1_3 || (this->mUnk_B4.mUnk_0C.type_index == 0x100 && this->mUnk_B4.mUnk_0C.unk_id == 1 &&
|
||||
data_027e0ce0->func_01fff1e0())) {
|
||||
this->SetState(ActorItemDropState_6);
|
||||
}
|
||||
} else if (this->mUnk_C0.type_index & 0x100) {
|
||||
} else if (this->mUnk_B4.mUnk_0C.type_index & 0x100) {
|
||||
this->SetState(ActorItemDropState_6);
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
this->mUnk_DC = this->mUnk_C0;
|
||||
this->mUnk_B8 &= ~0x1000;
|
||||
this->mUnk_DC = this->mUnk_B4.mUnk_0C;
|
||||
this->mUnk_B4.mUnk_04 &= ~0x1000;
|
||||
this->SetState(ActorItemDropState_3);
|
||||
break;
|
||||
default:
|
||||
@@ -373,7 +373,7 @@ ARM void ActorItemDrop::func_ov031_020fa5f0() {
|
||||
this->mVel.x = FLOAT_TO_FX32(0.0f);
|
||||
this->mVel.y = FLOAT_TO_FX32(0.0f);
|
||||
this->mVel.z = FLOAT_TO_FX32(0.0f);
|
||||
this->mUnk_B8 |= 0x1000;
|
||||
this->mUnk_B4.mUnk_04 |= 0x1000;
|
||||
this->SetState(ActorItemDropState_1);
|
||||
}
|
||||
}
|
||||
@@ -556,5 +556,3 @@ ARM void ActorItemDrop_C4::vfunc_08() {
|
||||
this->GetActorPtr<ActorItemDrop>()->SetState(ActorItemDropState_6);
|
||||
Actor_C4::vfunc_08();
|
||||
}
|
||||
|
||||
ARM ActorItemDrop::~ActorItemDrop() {}
|
||||
|
||||
@@ -60,8 +60,8 @@ ARM ActorRupee::ActorRupee() :
|
||||
mUnk_E8(0),
|
||||
mUnk_F0(0),
|
||||
mUnk_F4(false) {
|
||||
this->mUnk_A0 = 0x13100;
|
||||
this->mUnk_40 = &this->mUnk_C4;
|
||||
this->mUnk_9C.mUnk_04 = 0x13100;
|
||||
this->mUnk_40 = &this->mUnk_C4;
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/wunA4
|
||||
@@ -342,7 +342,7 @@ ARM void ActorRupee::func_ov031_020e9450() {
|
||||
this->mVel.x = 0;
|
||||
this->mVel.y = 0;
|
||||
this->mVel.z = 0;
|
||||
this->mUnk_A0 |= 0x1000;
|
||||
this->mUnk_9C.mUnk_04 |= 0x1000;
|
||||
this->SetState(ActorRupeeState_0);
|
||||
}
|
||||
|
||||
@@ -595,20 +595,20 @@ ARM void ActorRupee::vfunc_20() {
|
||||
this->func_ov000_020989e0();
|
||||
uVar3 = uStack_18;
|
||||
|
||||
if ((this->mUnk_A4 & 0x3FFFF) != 0) {
|
||||
sVar1 = *(short *) &this->mUnk_B8;
|
||||
if ((this->mUnk_9C.mUnk_08 & 0x3FFFF) != 0) {
|
||||
sVar1 = *(short *) &this->mUnk_9C.mUnk_1C;
|
||||
|
||||
switch (mUnk_B8) {
|
||||
switch (this->mUnk_9C.mUnk_1C) {
|
||||
case 0x08:
|
||||
case 0x10:
|
||||
if ((this->mUnk_A8 & 0x100) != 0) {
|
||||
if ((this->mUnk_9C.mUnk_0C.type_index & 0x100) != 0) {
|
||||
this->func_ov031_020e9068();
|
||||
uVar3 = uStack_18;
|
||||
}
|
||||
break;
|
||||
case 0x0C:
|
||||
this->mUnk_BC = this->mUnk_A8;
|
||||
this->mUnk_A0 &= 0xFFFFEFFF;
|
||||
this->mUnk_BC = this->mUnk_9C.mUnk_0C;
|
||||
this->mUnk_9C.mUnk_04 &= 0xFFFFEFFF;
|
||||
this->SetState(ActorRupeeState_6);
|
||||
uVar3 = uStack_18;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user