ActorRefill::vfunc_b4 -> ActorRefill::GetAmmoItem

This commit is contained in:
Aetias
2025-05-30 18:45:04 +02:00
parent 2bb9bf4fee
commit fdb4f5ee3f
4 changed files with 17 additions and 18 deletions
+6 -6
View File
@@ -23,7 +23,7 @@ public:
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* b4 */ virtual ItemFlag vfunc_b4() = 0;
/* b4 */ virtual ItemFlag GetAmmoItem() = 0;
/* b8 */
bool func_ov014_02135364(unk32 param1);
@@ -42,7 +42,7 @@ public:
static ActorRefillBombs *Create();
/* 00 */ virtual ~ActorRefillBombs() override;
/* b4 */ virtual ItemFlag vfunc_b4() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
@@ -58,7 +58,7 @@ public:
static ActorRefillBombchus *Create();
/* 00 */ virtual ~ActorRefillBombchus() override;
/* b4 */ virtual ItemFlag vfunc_b4() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
@@ -74,7 +74,7 @@ public:
static ActorRefillArrows *Create();
/* 00 */ virtual ~ActorRefillArrows() override;
/* b4 */ virtual ItemFlag vfunc_b4() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
@@ -91,7 +91,7 @@ public:
/* 00 */ virtual ~ActorRefillTime() override;
/* 08 */ virtual bool Init() override;
/* b4 */ virtual ItemFlag vfunc_b4() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
@@ -108,6 +108,6 @@ public:
/* 00 */ virtual ~ActorLSTM() override;
/* 08 */ virtual bool Init() override;
/* b4 */ virtual ItemFlag vfunc_b4() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
+1 -2
View File
@@ -48,8 +48,7 @@ ARM Actor::Actor() :
mUnk_010(0),
mUnk_011(0),
mUnk_012(0),
mUnk_034(-1),
mUnk_038(-1),
mUnk_034(-1, -1),
mUnk_03c(-1),
mUnk_040(-1, -1),
mGravity(FLOAT_TO_Q20(0.0498)),
+1 -1
View File
@@ -154,7 +154,7 @@ ARM Actor *ActorManager::GetActor(ActorRef *ref) {
ARM bool FilterActor::Filter(Actor *actor) {
if (mType != actor->mType) return false;
if (mUnk_08 != -1 && mUnk_08 != actor->mUnk_034) return false;
if (mUnk_08 != -1 && mUnk_08 != actor->mUnk_034.id) return false;
if (mExcludeRefs != NULL) {
for (s32 i = 0; mExcludeRefs[i].id != -1; ++i) {
ActorRef *ref = &mExcludeRefs[i];
+9 -9
View File
@@ -44,13 +44,13 @@ ARM ActorRefill::~ActorRefill() {}
ARM bool ActorRefill::Init() {
ItemManager *itemManager;
if (this->vfunc_b4() == ItemFlag_None) {
if (this->GetAmmoItem() == ItemFlag_None) {
if (data_027e0d38->func_ov000_02078b40() != 3) {
return false;
}
} else {
ItemManager *itemManager = gItemManager;
ItemFlag item = this->vfunc_b4();
ItemFlag item = this->GetAmmoItem();
if (!itemManager->HasItem(item)) {
return false;
}
@@ -111,11 +111,11 @@ ARM void ActorRefill::vfunc_14(u32 param1) {
case 4:
case 5:
if (this->CollidesWithPlayer(PlayerCollide_PickupFlags) != 0) {
if (this->vfunc_b4() == -1) {
if (this->GetAmmoItem() == -1) {
data_027e103c->func_ov000_020cfbf0(mUnk_158 * 60, 1, 0);
} else {
ItemManager *itemManager = gItemManager;
itemManager->GiveAmmo(this->vfunc_b4(), mUnk_158);
itemManager->GiveAmmo(this->GetAmmoItem(), mUnk_158);
}
func_ov000_020d7ad4(&data_ov000_020eec9c, 0x100);
this->func_ov014_02135364(3);
@@ -227,7 +227,7 @@ ARM ActorRefillBombs::ActorRefillBombs() :
ARM ActorRefillBombs::~ActorRefillBombs() {}
ARM ItemFlag ActorRefillBombs::vfunc_b4() {
ARM ItemFlag ActorRefillBombs::GetAmmoItem() {
return ItemFlag_BombBag;
}
@@ -239,7 +239,7 @@ ARM ActorRefillBombchus::ActorRefillBombchus() :
ARM ActorRefillBombchus::~ActorRefillBombchus() {}
ARM ItemFlag ActorRefillBombchus::vfunc_b4() {
ARM ItemFlag ActorRefillBombchus::GetAmmoItem() {
return ItemFlag_BombchuBag;
}
@@ -251,7 +251,7 @@ ARM ActorRefillArrows::ActorRefillArrows() :
ARM ActorRefillArrows::~ActorRefillArrows() {}
ARM ItemFlag ActorRefillArrows::vfunc_b4() {
ARM ItemFlag ActorRefillArrows::GetAmmoItem() {
return ItemFlag_Bow;
}
@@ -293,7 +293,7 @@ ARM bool ActorRefillTime::Init() {
return true;
}
ARM ItemFlag ActorRefillTime::vfunc_b4() {
ARM ItemFlag ActorRefillTime::GetAmmoItem() {
return ItemFlag_None;
}
@@ -335,6 +335,6 @@ ARM bool ActorLSTM::Init() {
return true;
}
ARM ItemFlag ActorLSTM::vfunc_b4() {
ARM ItemFlag ActorLSTM::GetAmmoItem() {
return ItemFlag_None;
}