summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-02-06 20:01:41 +0100
committeroctorock <79596758+octorock@users.noreply.github.com>2022-02-12 20:03:27 +0100
commitd6c79aa26346afc85bcfa724d3c086fb06c888dc (patch)
tree72b882ddb8ba879c7ab3a405641965bdf4fdf79b /src
parent75c57e31240c706e1ca9364954970861c1a85e78 (diff)
Rename enemy functions
Diffstat (limited to 'src')
-rw-r--r--src/collision.c22
-rw-r--r--src/createEnemy.c3
-rw-r--r--src/enemy/acroBandits.c20
-rw-r--r--src/enemy/armos.c10
-rw-r--r--src/enemy/ballChainSoldier.c34
-rw-r--r--src/enemy/beetle.c36
-rw-r--r--src/enemy/bobomb.c30
-rw-r--r--src/enemy/bombPeahat.c24
-rw-r--r--src/enemy/bombarossa.c21
-rw-r--r--src/enemy/bowMoblin.c26
-rw-r--r--src/enemy/businessScrub.c26
-rw-r--r--src/enemy/businessScrubPrologue.c22
-rw-r--r--src/enemy/chaser.c22
-rw-r--r--src/enemy/chuchu.c40
-rw-r--r--src/enemy/chuchuBoss.c24
-rw-r--r--src/enemy/crow.c18
-rw-r--r--src/enemy/cuccoAggr.c26
-rw-r--r--src/enemy/cuccoChickAggr.c26
-rw-r--r--src/enemy/curtain.c14
-rw-r--r--src/enemy/darkNut.c30
-rw-r--r--src/enemy/doorMimic.c26
-rw-r--r--src/enemy/enemy4D.c20
-rw-r--r--src/enemy/enemy50.c18
-rw-r--r--src/enemy/enemyE.c20
-rw-r--r--src/enemy/eyegore.c8
-rw-r--r--src/enemy/fallingBoulder.c24
-rw-r--r--src/enemy/fireballGuy.c12
-rw-r--r--src/enemy/flyingSkull.c22
-rw-r--r--src/enemy/ghini.c27
-rw-r--r--src/enemy/gibdo.c24
-rw-r--r--src/enemy/gleerok.c12
-rw-r--r--src/enemy/gyorgChild.c32
-rw-r--r--src/enemy/gyorgFemaleEye.c26
-rw-r--r--src/enemy/gyorgMaleEye.c12
-rw-r--r--src/enemy/hangingSeed.c20
-rw-r--r--src/enemy/helmasaur.c30
-rw-r--r--src/enemy/keaton.c18
-rw-r--r--src/enemy/keese.c26
-rw-r--r--src/enemy/lakitu.c20
-rw-r--r--src/enemy/lakituCloud.c17
-rw-r--r--src/enemy/leever.c26
-rw-r--r--src/enemy/likeLike.c24
-rw-r--r--src/enemy/madderpillar.c30
-rw-r--r--src/enemy/mazaalBracelet.c21
-rw-r--r--src/enemy/mazaalHead.c20
-rw-r--r--src/enemy/mazaalMacro.c22
-rw-r--r--src/enemy/miniFireballGuy.c16
-rw-r--r--src/enemy/miniSlime.c20
-rw-r--r--src/enemy/moldorm.c22
-rw-r--r--src/enemy/moldworm.c30
-rw-r--r--src/enemy/mulldozer.c12
-rw-r--r--src/enemy/octorok.c30
-rw-r--r--src/enemy/octorokBoss.c8
-rw-r--r--src/enemy/octorokGolden.c21
-rw-r--r--src/enemy/peahat.c30
-rw-r--r--src/enemy/pesto.c30
-rw-r--r--src/enemy/puffstool.c32
-rw-r--r--src/enemy/rockChuchu.c26
-rw-r--r--src/enemy/rollobite.c24
-rw-r--r--src/enemy/rope.c16
-rw-r--r--src/enemy/ropeGolden.c14
-rw-r--r--src/enemy/rupeeLike.c32
-rw-r--r--src/enemy/scissorsBeetle.c22
-rw-r--r--src/enemy/slime.c16
-rw-r--r--src/enemy/sluggula.c42
-rw-r--r--src/enemy/smallPesto.c12
-rw-r--r--src/enemy/spark.c24
-rw-r--r--src/enemy/spearMoblin.c30
-rw-r--r--src/enemy/spikedBeetle.c30
-rw-r--r--src/enemy/spinyBeetle.c28
-rw-r--r--src/enemy/spinyChuchu.c36
-rw-r--r--src/enemy/stalfos.c12
-rw-r--r--src/enemy/takkuri.c22
-rw-r--r--src/enemy/tektite.c20
-rw-r--r--src/enemy/tektiteGolden.c20
-rw-r--r--src/enemy/vaatiArm.c20
-rw-r--r--src/enemy/vaatiEyesMacro.c21
-rw-r--r--src/enemy/vaatiProjectile.c30
-rw-r--r--src/enemy/vaatiTransfigured.c6
-rw-r--r--src/enemy/vaatiTransfiguredEye.c30
-rw-r--r--src/enemy/wallMaster.c30
-rw-r--r--src/enemy/wallMaster2.c32
-rw-r--r--src/enemy/wisp.c12
-rw-r--r--src/enemy/wizzrobeFire.c16
-rw-r--r--src/enemy/wizzrobeIce.c16
-rw-r--r--src/enemy/wizzrobeWind.c16
-rw-r--r--src/enemyUtils.c4
-rw-r--r--src/movement.c4
-rw-r--r--src/projectile/mandiblesProjectile.c8
-rw-r--r--src/projectile/moblinSpear.c2
90 files changed, 997 insertions, 958 deletions
diff --git a/src/collision.c b/src/collision.c
index 4af9296e..bb8c3551 100644
--- a/src/collision.c
+++ b/src/collision.c
@@ -431,7 +431,7 @@ s32 sub_08017CBC(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
} else {
tgt->knockbackDuration = 12;
tgt->iframes = 16;
- tgt->field_0x43 = -16;
+ tgt->confusedTime = -16;
tgt->field_0x46 = 768;
if (org->iframes == 0)
org->iframes = -1;
@@ -526,7 +526,7 @@ s32 sub_08017F3C(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
}
s32 sub_08017F40(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) {
- if (tgt->field_0x43 == 0) {
+ if (tgt->confusedTime == 0) {
if (org == &gPlayerEntity) {
if (sub_08079F8C() &&
#ifdef EU
@@ -620,7 +620,7 @@ s32 sub_080180E8(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
}
s32 sub_08018168(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) {
- if (tgt->field_0x43 == 0) {
+ if (tgt->confusedTime == 0) {
if (org == &gPlayerEntity) {
if (sub_08079F8C() &&
#ifdef EU
@@ -676,7 +676,7 @@ s32 sub_08018288(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
}
s32 sub_080182A8(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) {
- if (tgt->field_0x43 == 0) {
+ if (tgt->confusedTime == 0) {
if (org->iframes == 0)
org->iframes = -1;
if (tgt->iframes == 0)
@@ -690,7 +690,7 @@ s32 sub_080182A8(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
s32 sub_08018308(Entity* org, Entity* tgt, u32 direction, ColSettings* settings) {
u32 temp = 0;
- if (tgt->field_0x43 && tgt->kind == ENEMY && org == &gPlayerEntity) {
+ if (tgt->confusedTime && tgt->kind == ENEMY && org == &gPlayerEntity) {
sub_08004484(tgt, org);
temp = 1;
}
@@ -709,8 +709,8 @@ s32 sub_08018308(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
tmp2 = 0xFF;
if (settings->_3 != 0)
org->health = sub_08017874(org, tgt);
- if (settings->_4 > org->field_0x43)
- org->field_0x43 = settings->_4;
+ if (settings->_4 > org->confusedTime)
+ org->confusedTime = settings->_4;
tgt->field_0x46 = 16 * settings->_5;
tgt->iframes = settings->_6;
if (settings->_6 == 0)
@@ -719,8 +719,8 @@ s32 sub_08018308(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
tmp2 &= org->damage = settings->_8;
if (tmp2 != 0)
tgt->health = sub_08017874(tgt, org);
- if (settings->_9 > tgt->field_0x43)
- tgt->field_0x43 = settings->_9;
+ if (settings->_9 > tgt->confusedTime)
+ tgt->confusedTime = settings->_9;
}
if (settings->_a & 1)
sub_08017940(org, tgt);
@@ -733,8 +733,8 @@ s32 sub_08018308(Entity* org, Entity* tgt, u32 direction, ColSettings* settings)
parent->iframes = tgt->iframes;
parent->knockbackDirection = direction;
parent->knockbackDuration = tgt->knockbackDuration;
- if (parent->field_0x43 == 0)
- parent->field_0x43 = tgt->field_0x43;
+ if (parent->confusedTime == 0)
+ parent->confusedTime = tgt->confusedTime;
parent->field_0x46 = tgt->field_0x46;
parent->field_0x4c = org;
}
diff --git a/src/createEnemy.c b/src/createEnemy.c
index 4550f3ad..ed4da368 100644
--- a/src/createEnemy.c
+++ b/src/createEnemy.c
@@ -1,6 +1,7 @@
#include "enemy.h"
-void sub_0804AA30(Entity* entity, void (*fntable[])()) {
+/** Unsets bitfield 0x80 before calling GetNextFunction, so that the enemyFunction 1 is not called. */
+void EnemyFunctionHandlerAfterCollision(Entity* entity, void (*fntable[])()) {
u32 idx;
entity->bitfield &= ~0x80;
idx = GetNextFunction(entity);
diff --git a/src/enemy/acroBandits.c b/src/enemy/acroBandits.c
index 1df406b1..685effd6 100644
--- a/src/enemy/acroBandits.c
+++ b/src/enemy/acroBandits.c
@@ -10,7 +10,7 @@
extern Entity* gUnk_020000B0;
extern void (*const gUnk_080012C8[])(Entity*);
-extern void (*const gUnk_080CE56C[])(Entity*);
+extern void (*const AcroBandit_Functions[])(Entity*);
extern void (*const gUnk_080CE584[])(Entity*);
extern void (*const gUnk_080CE58C[])(Entity*);
extern void (*const gUnk_080CE5C8[])(Entity*);
@@ -31,16 +31,16 @@ void AcroBandit(Entity* this) {
gUnk_080012C8[index](this);
} else {
- gUnk_080CE56C[GetNextFunction(this)](this);
+ AcroBandit_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
}
}
-void sub_080318C4(Entity* this) {
+void AcroBandit_OnTick(Entity* this) {
gUnk_080CE584[this->type](this);
}
-void sub_080318DC(Entity* this) {
+void AcroBandit_OnCollision(Entity* this) {
Entity* brother;
if (this->bitfield != 0x80 && this->bitfield != 0x81) {
@@ -96,20 +96,20 @@ void sub_080318DC(Entity* this) {
}
}
- if (this->field_0x43)
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime)
+ Create0x68FX(this, FX_STARS);
- sub_0804AA30(this, gUnk_080CE56C);
+ EnemyFunctionHandlerAfterCollision(this, AcroBandit_Functions);
}
-void sub_08031A60(Entity* this) {
+void AcroBandit_OnKnockback(Entity* this) {
if (this->iframes > 0)
GravityUpdate(this, Q_8_8(24.0));
- sub_08001324(this);
+ GenericKnockback(this);
}
-void nullsub_154(void) {
+void AcroBandit_OnGrabbed(void) {
/* ... */
}
diff --git a/src/enemy/armos.c b/src/enemy/armos.c
index c2df4d80..4ba4c511 100644
--- a/src/enemy/armos.c
+++ b/src/enemy/armos.c
@@ -68,11 +68,11 @@ void sub_080301D4(ArmosEntity* this) {
sub_080309C8(this, 6);
sub_080309E8(this);
}
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, 0x1c);
}
this->unk_81 = super->health;
- sub_0804AA30(super, gUnk_080CE124);
+ EnemyFunctionHandlerAfterCollision(super, gUnk_080CE124);
}
void sub_08030240(ArmosEntity* this) {
@@ -81,7 +81,7 @@ void sub_08030240(ArmosEntity* this) {
GetNextFrame(super);
}
}
- sub_08001242(super);
+ GenericConfused(super);
}
void nullsub_17(ArmosEntity* this) {
@@ -339,7 +339,7 @@ void sub_08030A04(ArmosEntity* this) {
}
void (*const gUnk_080CE124[])(ArmosEntity*) = {
- sub_080301BC, sub_080301D4, (void (*)(ArmosEntity*))sub_08001324, (void (*)(ArmosEntity*))sub_0804A7D4,
+ sub_080301BC, sub_080301D4, (void (*)(ArmosEntity*))GenericKnockback, (void (*)(ArmosEntity*))GenericDeath,
sub_08030240, nullsub_17,
};
void (*const gUnk_080CE13C[])(ArmosEntity*) = {
diff --git a/src/enemy/ballChainSoldier.c b/src/enemy/ballChainSoldier.c
index dad421f3..99a0ac81 100644
--- a/src/enemy/ballChainSoldier.c
+++ b/src/enemy/ballChainSoldier.c
@@ -17,7 +17,7 @@ typedef struct {
extern Entity* gUnk_020000B0;
-void (*const gUnk_080D06E0[])(BallChainSoldierEntity*);
+void (*const BallChainSoldier_Functions[])(BallChainSoldierEntity*);
void (*const gUnk_080D06F8[])(BallChainSoldierEntity*);
const u8 gUnk_080D0724[];
const u16 gUnk_080D0728[];
@@ -34,27 +34,27 @@ extern void sub_0803E94C(BallChainSoldierEntity*, u32);
extern bool32 sub_0803EAD0(BallChainSoldierEntity*, u32);
void BallChainSoldier(Entity* this) {
- EnemyFunctionHandler(this, (EntityActionArray)gUnk_080D06E0);
+ EnemyFunctionHandler(this, (EntityActionArray)BallChainSoldier_Functions);
}
-void sub_0803E538(BallChainSoldierEntity* this) {
+void BallChainSoldier_OnTick(BallChainSoldierEntity* this) {
gUnk_080D06F8[super->action](this);
}
-void sub_0803E550(BallChainSoldierEntity* this) {
- sub_0804AA30(super, gUnk_080D06E0);
+void BallChainSoldier_OnCollision(BallChainSoldierEntity* this) {
+ EnemyFunctionHandlerAfterCollision(super, BallChainSoldier_Functions);
}
-void sub_0803E560(BallChainSoldierEntity* this) {
- sub_08001324(super);
- sub_0803E538(this);
+void BallChainSoldier_OnKnockback(BallChainSoldierEntity* this) {
+ GenericKnockback(super);
+ BallChainSoldier_OnTick(this);
}
-void BallChainSoldier_CreateDeathFx(BallChainSoldierEntity* this) {
+void BallChainSoldier_OnDeath(BallChainSoldierEntity* this) {
CreateDeathFx(super, 0xff, 0x57);
}
-void nullsub_20(BallChainSoldierEntity* this) {
+void BallChainSoldier_OnGrabbed(BallChainSoldierEntity* this) {
}
void BallChainSoldier_Init(BallChainSoldierEntity* this) {
@@ -321,13 +321,13 @@ bool32 sub_0803EAD0(BallChainSoldierEntity* this, u32 distance) {
return EntityWithinDistance(super, gUnk_020000B0->x.HALF.HI, gUnk_020000B0->y.HALF.HI - 4, distance);
}
-void (*const gUnk_080D06E0[])(BallChainSoldierEntity*) = {
- sub_0803E538,
- sub_0803E550,
- sub_0803E560,
- BallChainSoldier_CreateDeathFx,
- (void (*const)(BallChainSoldierEntity*))sub_08001242,
- nullsub_20,
+void (*const BallChainSoldier_Functions[])(BallChainSoldierEntity*) = {
+ BallChainSoldier_OnTick,
+ BallChainSoldier_OnCollision,
+ BallChainSoldier_OnKnockback,
+ BallChainSoldier_OnDeath,
+ (void (*const)(BallChainSoldierEntity*))GenericConfused,
+ BallChainSoldier_OnGrabbed,
};
void (*const gUnk_080D06F8[])(BallChainSoldierEntity*) = {
diff --git a/src/enemy/beetle.c b/src/enemy/beetle.c
index 6b5ddbb6..abe8f8a8 100644
--- a/src/enemy/beetle.c
+++ b/src/enemy/beetle.c
@@ -13,7 +13,7 @@ extern u32 PlayerInRange(Entity*, u32, u32);
u32 sub_08021D00(Entity*);
void sub_08021D44(Entity* this, u32 direction);
-extern void (*const gUnk_080CB590[])(Entity*);
+extern void (*const Beetle_Functions[])(Entity*);
extern void (*const gUnk_080CB5A8[])(Entity*);
extern void (*const gUnk_080CB5C8[])(Entity*);
extern void (*const gUnk_080CB5D4[])(Entity*);
@@ -22,18 +22,18 @@ extern const s8 gUnk_080CB5DC[];
extern const s8 gUnk_080CB5E4[];
void Beetle(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CB590);
+ EnemyFunctionHandler(this, Beetle_Functions);
}
-void sub_08021768(Entity* this) {
+void Beetle_OnTick(Entity* this) {
gUnk_080CB5A8[this->action](this);
}
-void sub_08021780(Entity* this) {
+void Beetle_OnCollision(Entity* this) {
switch (this->bitfield) {
case 0x80:
if (gPlayerState.framestate == PL_STATE_CLIMB) {
- sub_08021768(this);
+ Beetle_OnTick(this);
} else {
this->action = 5;
this->actionDelay = 0xb4;
@@ -47,19 +47,19 @@ void sub_08021780(Entity* this) {
}
break;
case 0x93:
- sub_08021768(this);
+ Beetle_OnTick(this);
break;
}
if (this->health == 0)
this->knockbackDuration = 0;
- sub_0804AA30(this, gUnk_080CB590);
+ EnemyFunctionHandlerAfterCollision(this, Beetle_Functions);
}
-void sub_08021818(Entity* this) {
+void Beetle_OnDeath(Entity* this) {
if (this->type == 0) {
- sub_0804A7D4(this);
+ GenericDeath(this);
} else {
Entity* ent = this->parent;
if (ent) {
@@ -70,7 +70,7 @@ void sub_08021818(Entity* this) {
}
}
-void sub_08021848(Entity* this) {
+void Beetle_OnGrabbed(Entity* this) {
if (sub_0806F520(this)) {
gUnk_080CB5C8[this->subAction](this);
} else {
@@ -89,7 +89,7 @@ void nullsub_130(Entity* this) {
void sub_08021888(Entity* this) {
if (sub_0806F3E4(this))
- sub_08021818(this);
+ Beetle_OnDeath(this);
}
void Beetle_Initialize(Entity* this) {
@@ -322,13 +322,13 @@ void sub_08021D44(Entity* this, u32 direction) {
}
// clang-format off
-void (*const gUnk_080CB590[])(Entity*) = {
- sub_08021768,
- sub_08021780,
- sub_08001324,
- sub_08021818,
- sub_08001242,
- sub_08021848,
+void (*const Beetle_Functions[])(Entity*) = {
+ Beetle_OnTick,
+ Beetle_OnCollision,
+ GenericKnockback,
+ Beetle_OnDeath,
+ GenericConfused,
+ Beetle_OnGrabbed,
};
void (*const gUnk_080CB5A8[])(Entity*) = {
diff --git a/src/enemy/bobomb.c b/src/enemy/bobomb.c
index 116febb2..03c072a4 100644
--- a/src/enemy/bobomb.c
+++ b/src/enemy/bobomb.c
@@ -18,20 +18,20 @@ void sub_0802CB68(Entity*);
void sub_0802CBC4(Entity*);
void sub_0802CC18(Entity*);
-extern void (*const gUnk_080CD5D4[])(Entity*);
+extern void (*const Bobomb_Functions[])(Entity*);
extern void (*const gUnk_080CD5EC[])(Entity*);
extern void (*const gUnk_080CD600[])(Entity*);
extern void (*const gUnk_080CD618[])(Entity*);
void Bobomb(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CD5D4);
+ EnemyFunctionHandler(this, Bobomb_Functions);
}
-void sub_0802C670(Entity* this) {
+void Bobomb_OnTick(Entity* this) {
gUnk_080CD5EC[this->action](this);
}
-void sub_0802C688(Entity* this) {
+void Bobomb_OnCollision(Entity* this) {
if (this->bitfield & 0x80) {
switch (this->bitfield & 0x7f) {
case 0:
@@ -68,10 +68,10 @@ void sub_0802C688(Entity* this) {
break;
}
}
- sub_0804AA30(this, gUnk_080CD5D4);
+ EnemyFunctionHandlerAfterCollision(this, Bobomb_Functions);
}
-void sub_0802C7AC(Entity* this) {
+void Bobomb_OnGrabbed(Entity* this) {
if (this->subAction < 3 && !sub_0806F520(this)) {
this->subAction = 0;
this->field_0xf = 1;
@@ -140,8 +140,8 @@ void sub_0802C8B8(Entity* this) {
sub_0802CBC4(this);
}
-void sub_0802C8C4(Entity* this) {
- sub_0804A7D4(this);
+void Bobomb_OnDeath(Entity* this) {
+ GenericDeath(this);
this->spriteSettings.draw = 0;
}
@@ -305,13 +305,13 @@ void sub_0802CC18(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CD5D4[])(Entity*) = {
- sub_0802C670,
- sub_0802C688,
- sub_08001324,
- sub_0802C8C4,
- sub_08001242,
- sub_0802C7AC,
+void (*const Bobomb_Functions[])(Entity*) = {
+ Bobomb_OnTick,
+ Bobomb_OnCollision,
+ GenericKnockback,
+ Bobomb_OnDeath,
+ GenericConfused,
+ Bobomb_OnGrabbed,
};
void (*const gUnk_080CD5EC[])(Entity*) = {
diff --git a/src/enemy/bombPeahat.c b/src/enemy/bombPeahat.c
index 1ceea7db..4602b3a2 100644
--- a/src/enemy/bombPeahat.c
+++ b/src/enemy/bombPeahat.c
@@ -24,7 +24,7 @@ void sub_0802B264(Entity*);
extern void (*const gUnk_080012C8[])(Entity*);
-extern void (*const gUnk_080CD0F0[])(Entity*);
+extern void (*const BombPeahat_Functions[])(Entity*);
extern void (*const gUnk_080CD108[])(Entity*);
extern void (*const gUnk_080CD120[])(Entity*);
extern void (*const gUnk_080CD134[])(Entity*);
@@ -41,11 +41,11 @@ void BombPeahat(Entity* this) {
if ((this->type == 2) && (iVar1 = sub_080012DC(this), iVar1)) {
gUnk_080012C8[iVar1](this);
} else {
- gUnk_080CD0F0[GetNextFunction(this)](this);
+ BombPeahat_Functions[GetNextFunction(this)](this);
}
}
-void sub_0802A84C(Entity* this) {
+void BombPeahat_OnTick(Entity* this) {
switch (this->type) {
default:
gUnk_080CD108[this->action](this);
@@ -61,14 +61,14 @@ void sub_0802A84C(Entity* this) {
}
}
-void sub_0802A8AC(Entity* this) {
+void BombPeahat_OnCollision(Entity* this) {
this->field_0x80.HALF.HI = 0;
if (this->type < 2) {
InitializeAnimation(this, 0);
}
}
-void sub_0802A8C8(Entity* this) {
+void BombPeahat_OnGrabbed(Entity* this) {
gUnk_080CD140[this->subAction](this);
}
@@ -705,13 +705,13 @@ void sub_0802B264(Entity* this) {
#endif
// clang-format off
-void (*const gUnk_080CD0F0[])(Entity*) = {
- sub_0802A84C,
- sub_0802A8AC,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- sub_0802A8C8,
+void (*const BombPeahat_Functions[])(Entity*) = {
+ BombPeahat_OnTick,
+ BombPeahat_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ BombPeahat_OnGrabbed,
};
void (*const gUnk_080CD108[])(Entity*) = {
diff --git a/src/enemy/bombarossa.c b/src/enemy/bombarossa.c
index de59188d..05784a06 100644
--- a/src/enemy/bombarossa.c
+++ b/src/enemy/bombarossa.c
@@ -11,7 +11,7 @@ typedef struct {
u16 unk_0x76;
} BombarossaEntity;
-void (*const gUnk_080CEB38[])(Entity*);
+void (*const Bombarossa_Functions[])(Entity*);
const s8 gUnk_080CEB50[];
extern void sub_080A2CC0(Entity*, void*, void*);
@@ -19,10 +19,10 @@ extern void sub_080A2CC0(Entity*, void*, void*);
void sub_0803350C(BombarossaEntity* this);
void Bombarossa(Entity* this) {
- gUnk_080CEB38[GetNextFunction(this)](this);
+ Bombarossa_Functions[GetNextFunction(this)](this);
}
-void sub_080333D4(BombarossaEntity* this) {
+void Bombarossa_OnTick(BombarossaEntity* this) {
if (super->action == 0) {
super->action = 1;
super->actionDelay = Random() & 0xf;
@@ -41,7 +41,7 @@ void sub_080333D4(BombarossaEntity* this) {
}
}
-void sub_08033448(BombarossaEntity* this) {
+void Bombarossa_OnCollision(BombarossaEntity* this) {
Entity* ent;
switch (super->bitfield & 0x7f) {
default:
@@ -56,12 +56,12 @@ void sub_08033448(BombarossaEntity* this) {
case 27:
case 29:
case 30:
- sub_0804AA30(super, gUnk_080CEB38);
+ EnemyFunctionHandlerAfterCollision(super, Bombarossa_Functions);
break;
}
}
-void nullsub_158() {
+void Bombarossa_OnGrabbed() {
}
void sub_0803350C(BombarossaEntity* this) {
@@ -74,8 +74,13 @@ void sub_0803350C(BombarossaEntity* this) {
}
}
-void (*const gUnk_080CEB38[])(Entity*) = {
- (EntityActionPtr)sub_080333D4, (EntityActionPtr)sub_08033448, sub_08001324, sub_0804A7D4, sub_08001242, nullsub_158,
+void (*const Bombarossa_Functions[])(Entity*) = {
+ (EntityActionPtr)Bombarossa_OnTick,
+ (EntityActionPtr)Bombarossa_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ Bombarossa_OnGrabbed,
};
const s8 gUnk_080CEB50[] = {
diff --git a/src/enemy/bowMoblin.c b/src/enemy/bowMoblin.c
index d8737c42..e6ace018 100644
--- a/src/enemy/bowMoblin.c
+++ b/src/enemy/bowMoblin.c
@@ -35,7 +35,7 @@ u32 sub_0803C6F8(BowMoblinEntity*);
u32 sub_0803C568(BowMoblinEntity*);
void sub_0803C664(BowMoblinEntity*);
-void (*const gUnk_080CFF78[])(Entity*);
+void (*const BowMoblin_Functions[])(Entity*);
void (*const gUnk_080CFF90[])(BowMoblinEntity*);
const s8 gUnk_080CFFA4[8];
@@ -44,21 +44,21 @@ const u16 gUnk_080CFFBC[4];
const s8 gUnk_080CFFC4[8];
void BowMoblin(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CFF78);
+ EnemyFunctionHandler(this, BowMoblin_Functions);
SetChildOffset(this, 0, 1, -0x18);
}
-void sub_0803C180(BowMoblinEntity* this) {
+void BowMoblin_OnTick(BowMoblinEntity* this) {
gUnk_080CFF90[super->action](this);
}
-void sub_0803C198(BowMoblinEntity* this) {
+void BowMoblin_OnCollision(BowMoblinEntity* this) {
Entity* pEVar1;
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, (EntityActionArray)gUnk_080CFF78);
+ EnemyFunctionHandlerAfterCollision(super, (EntityActionArray)BowMoblin_Functions);
if ((super->bitfield & 0x80) != 0) {
sub_0803C5F0(this);
pEVar1 = super->child;
@@ -68,7 +68,7 @@ void sub_0803C198(BowMoblinEntity* this) {
}
}
-void nullsub_168(BowMoblinEntity* this) {
+void BowMoblin_OnGrabbed(BowMoblinEntity* this) {
}
void sub_0803C1E0(BowMoblinEntity* this) {
@@ -388,9 +388,13 @@ void sub_0803C714(BowMoblinEntity* this) {
PositionRelative(super, child, offsetX, offsetY);
}
-void (*const gUnk_080CFF78[])(Entity*) = {
- (EntityActionPtr)sub_0803C180, (EntityActionPtr)sub_0803C198, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)nullsub_168,
+void (*const BowMoblin_Functions[])(Entity*) = {
+ (EntityActionPtr)BowMoblin_OnTick,
+ (EntityActionPtr)BowMoblin_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ (EntityActionPtr)BowMoblin_OnGrabbed,
};
void (*const gUnk_080CFF90[])(BowMoblinEntity*) = {
diff --git a/src/enemy/businessScrub.c b/src/enemy/businessScrub.c
index b30080b8..01422aff 100644
--- a/src/enemy/businessScrub.c
+++ b/src/enemy/businessScrub.c
@@ -29,7 +29,7 @@ void sub_08028EDC(Entity*);
extern const struct SalesOffering gUnk_080CC954[];
extern const u8 gUnk_080CC9C0[];
-extern void (*const gUnk_080CC9C8[])(Entity*);
+extern void (*const BusinessScrub_Functions[])(Entity*);
extern void (*const gUnk_080CC9E0[])(Entity*);
extern const u8 gUnk_080CCA04[];
@@ -45,14 +45,14 @@ struct SalesOffering {
};
void BusinessScrub(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CC9C8);
+ EnemyFunctionHandler(this, BusinessScrub_Functions);
}
-void sub_0802891C(Entity* this) {
+void BusinessScrub_OnTick(Entity* this) {
gUnk_080CC9E0[this->action](this);
}
-void sub_08028934(Entity* this) {
+void BusinessScrub_OnCollision(Entity* this) {
Entity* pEVar1;
if (this->hitType == 1 && (this->bitfield & 0x7f) == 0x42) {
@@ -69,7 +69,7 @@ void sub_08028934(Entity* this) {
}
}
-void nullsub_140(Entity* this) {
+void BusinessScrub_OnGrabbed(Entity* this) {
/* ... */
}
@@ -206,7 +206,7 @@ void sub_08028BC4(Entity* this) {
this->actionDelay = 0x1e;
this->field_0xf = 5;
sub_080290E0(this, 0);
- iVar1 = sub_0804A9FC(this, 0x1c);
+ iVar1 = Create0x68FX(this, FX_STARS);
if (iVar1 != NULL) {
iVar1->spritePriority.b0 = 3;
iVar1->z.HALF.HI -= 12;
@@ -585,13 +585,13 @@ const u8 gUnk_080CC9C0[] = {
};
-void (*const gUnk_080CC9C8[])(Entity*) = {
- sub_0802891C,
- sub_08028934,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_140,
+void (*const BusinessScrub_Functions[])(Entity*) = {
+ BusinessScrub_OnTick,
+ BusinessScrub_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ BusinessScrub_OnGrabbed,
};
void (*const gUnk_080CC9E0[])(Entity*) = {
diff --git a/src/enemy/businessScrubPrologue.c b/src/enemy/businessScrubPrologue.c
index 7fe66de5..a523a27c 100644
--- a/src/enemy/businessScrubPrologue.c
+++ b/src/enemy/businessScrubPrologue.c
@@ -14,7 +14,7 @@ typedef struct {
extern u16 script_BusinessScrubIntro[];
-void (*const gUnk_080D19FC[])(Entity*);
+void (*const BusinessScrubPrologue_Functions[])(Entity*);
void (*const gUnk_080D1A14[])(BusinessScrubPrologueEntity*);
const u8 gUnk_080D1A38[];
const s8 gUnk_080D1A3E[];
@@ -31,16 +31,16 @@ void sub_0804604C(BusinessScrubPrologueEntity*);
void sub_08045FA0(BusinessScrubPrologueEntity*);
void BusinessScrubPrologue(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D19FC);
+ EnemyFunctionHandler(this, BusinessScrubPrologue_Functions);
}
-void sub_08045B98(BusinessScrubPrologueEntity* this) {
+void BusinessScrubPrologue_OnTick(BusinessScrubPrologueEntity* this) {
super->spriteSettings.draw = 1;
gUnk_080D1A14[super->action](this);
sub_0800445C(super);
}
-void sub_08045BC8(BusinessScrubPrologueEntity* this) {
+void BusinessScrubPrologue_OnCollision(BusinessScrubPrologueEntity* this) {
Entity* ent;
if (super->hitType == 1) {
if ((super->bitfield & 0x7f) == 0x42) {
@@ -61,7 +61,7 @@ void sub_08045BC8(BusinessScrubPrologueEntity* this) {
}
}
-void nullsub_174(BusinessScrubPrologueEntity* this) {
+void BusinessScrubPrologue_OnGrabbed(BusinessScrubPrologueEntity* this) {
}
void sub_08045C3C(BusinessScrubPrologueEntity* this) {
@@ -187,7 +187,7 @@ void sub_08045E14(BusinessScrubPrologueEntity* this) {
super->action = 5;
super->subAction = 0;
sub_08046030(this, 0);
- ent = sub_0804A9FC(super, 0x1c);
+ ent = Create0x68FX(super, FX_STARS);
if (ent) {
ent->spritePriority.b0 = 3;
ent->z.HALF.HI -= 0xc;
@@ -329,9 +329,13 @@ void sub_08046078(BusinessScrubPrologueEntity* this) {
sub_0804AA1C(super);
}
-void (*const gUnk_080D19FC[])(Entity*) = {
- (EntityActionPtr)sub_08045B98, (EntityActionPtr)sub_08045BC8, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)nullsub_174,
+void (*const BusinessScrubPrologue_Functions[])(Entity*) = {
+ (EntityActionPtr)BusinessScrubPrologue_OnTick,
+ (EntityActionPtr)BusinessScrubPrologue_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ (EntityActionPtr)BusinessScrubPrologue_OnGrabbed,
};
void (*const gUnk_080D1A14[])(BusinessScrubPrologueEntity*) = {
diff --git a/src/enemy/chaser.c b/src/enemy/chaser.c
index 2efbe92b..dbbf7a77 100644
--- a/src/enemy/chaser.c
+++ b/src/enemy/chaser.c
@@ -14,7 +14,7 @@ extern bool32 sub_080AF038(Entity*);
extern void (*const gUnk_080012C8[])(Entity*);
-extern void (*const gUnk_080CD27C[])(Entity*);
+extern void (*const Chaser_Functions[])(Entity*);
extern void (*const gUnk_080CD298[])(Entity*);
void Chaser(Entity* this) {
@@ -22,11 +22,11 @@ void Chaser(Entity* this) {
if (idx) {
gUnk_080012C8[idx](this);
} else {
- gUnk_080CD27C[GetNextFunction(this)](this);
+ Chaser_Functions[GetNextFunction(this)](this);
}
}
-void sub_0802B518(Entity* this) {
+void Chaser_OnTick(Entity* this) {
gUnk_080CD298[this->action](this);
}
@@ -77,14 +77,14 @@ void sub_0802B5C8(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CD27C[])(Entity*) = {
- sub_0802B518,
- sub_0802B518,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- sub_0802B518,
- sub_0802B518,
+void (*const Chaser_Functions[])(Entity*) = {
+ Chaser_OnTick,
+ Chaser_OnTick,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ Chaser_OnTick,
+ Chaser_OnTick,
};
void (*const gUnk_080CD298[])(Entity*) = {
diff --git a/src/enemy/chuchu.c b/src/enemy/chuchu.c
index 8a5f90fb..bba9b073 100644
--- a/src/enemy/chuchu.c
+++ b/src/enemy/chuchu.c
@@ -35,7 +35,7 @@ u32 sub_0801FBD0(Entity*);
void Chuchu_JumpAtPlayer(Entity*);
extern void (*const gUnk_080012C8[])(Entity*);
-extern void (*const gUnk_080CA21C[])(Entity*);
+extern void (*const Chuchu_Functions[])(Entity*);
extern void (*const gUnk_080CA234[])(Entity*);
extern void (*const gUnk_080CA25C[])(Entity*);
extern void (*const gUnk_080CA288[])(Entity*);
@@ -77,7 +77,7 @@ void Chuchu(Entity* this) {
break;
}
this->field_0x80.HALF.HI = index;
- gUnk_080CA21C[GetNextFunction(this)](this);
+ Chuchu_Functions[GetNextFunction(this)](this);
if (*(char*)(*(int*)&this->field_0x68 + 10) == 0x1c) {
SetChildOffset(this, 0, 1, -0x10);
} else if (this->type == 2) {
@@ -101,7 +101,7 @@ void Chuchu_OnTick(Entity* this) {
}
}
-void sub_0801EF40(Entity* this) {
+void Chuchu_OnCollision(Entity* this) {
u8 health;
if (this->type == 2) {
@@ -115,7 +115,7 @@ void sub_0801EF40(Entity* this) {
if (health) {
if (this->bitfield == 0x94) {
sub_0801FB68(this);
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
InitializeAnimation(this, 6);
} else if (this->field_0x80.HALF.LO != health) {
sub_0801FB68(this);
@@ -127,12 +127,12 @@ void sub_0801EF40(Entity* this) {
InitializeAnimation(this, 9);
}
this->field_0x80.HALF.LO = this->health;
- sub_0804AA30(this, gUnk_080CA21C);
+ EnemyFunctionHandlerAfterCollision(this, Chuchu_Functions);
}
-void sub_0801EFD8(Entity* this) {
- if (sub_0806F520(this) == 0 && this->field_0x43) {
- sub_0804A9FC(this, 0x1c);
+void Chuchu_OnGrabbed(Entity* this) {
+ if (sub_0806F520(this) == 0 && this->confusedTime) {
+ Create0x68FX(this, FX_STARS);
InitializeAnimation(this, 6);
} else {
if (this->animIndex != 8) {
@@ -144,17 +144,17 @@ void sub_0801EFD8(Entity* this) {
}
}
-void sub_0801F02C(Entity* this) {
+void Chuchu_OnKnockback(Entity* this) {
if (this->animIndex == 6)
GetNextFrame(this);
sub_08001318(this);
}
-void sub_0801F048(Entity* this) {
+void Chuchu_OnDeath(Entity* this) {
GravityUpdate(this, 0x1800);
GetNextFrame(this);
if (this->type == 0) {
- sub_0804A7D4(this);
+ GenericDeath(this);
} else if (this->type == 1) {
CreateDeathFx(this, 0xf2, 0);
} else {
@@ -162,10 +162,10 @@ void sub_0801F048(Entity* this) {
}
}
-void sub_0801F084(Entity* this) {
+void Chuchu_OnConfused(Entity* this) {
if ((this->frame & 0x80) == 0)
GetNextFrame(this);
- sub_08001242(this);
+ GenericConfused(this);
}
void sub_0801F0A4(Entity* this) {
@@ -559,7 +559,7 @@ void sub_0801F884(Entity* this) {
if (this->field_0xf) {
this->field_0xf--;
} else {
- Entity* ent = sub_0804A9FC(this, 0x1b);
+ Entity* ent = Create0x68FX(this, FX_LIGHTNING_STRIKE);
if (ent) {
ent->type2 = 64;
this->action = 4;
@@ -728,13 +728,13 @@ void Chuchu_JumpAtPlayer(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CA21C[])(Entity*) = {
+void (*const Chuchu_Functions[])(Entity*) = {
Chuchu_OnTick,
- sub_0801EF40,
- sub_0801F02C,
- sub_0801F048,
- sub_0801F084,
- sub_0801EFD8,
+ Chuchu_OnCollision,
+ Chuchu_OnKnockback,
+ Chuchu_OnDeath,
+ Chuchu_OnConfused,
+ Chuchu_OnGrabbed,
};
void (*const gUnk_080CA234[])(Entity*) = {
diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c
index 4204609f..ce00dd10 100644
--- a/src/enemy/chuchuBoss.c
+++ b/src/enemy/chuchuBoss.c
@@ -9,7 +9,7 @@
void sub_08027870(Entity*);
-extern void (*const gUnk_080CC19C[])(Entity*);
+extern void (*const ChuchuBoss_Functions[])(Entity*);
extern void (*const gUnk_080CC1B0[])(Entity*);
extern const u8 gUnk_080CC1B8[];
extern void (*const gUnk_080CC1C8[])(Entity*);
@@ -27,18 +27,18 @@ extern const u16 gUnk_080CC2BC[];
extern const s8 gUnk_080CC2DC[];
void ChuchuBoss(Entity* this) {
- gUnk_080CC19C[GetNextFunction(this)]((Entity*)this);
+ ChuchuBoss_Functions[GetNextFunction(this)]((Entity*)this);
}
-void sub_08025CBC(Entity* this) {
- sub_08001324(this);
+void ChuchuBoss_OnKnockback(Entity* this) {
+ GenericKnockback(this);
if (this->type == 0) {
sub_08027870(this);
}
}
-void sub_08025DC0(Entity*);
-void sub_08025CD4(Entity*);
+void ChuchuBoss_OnTick(Entity*);
+void ChuchuBoss_OnDeath(Entity*);
void sub_08025DD8(Entity*);
void sub_08026060(Entity*);
void sub_08026110(Entity*);
@@ -77,12 +77,12 @@ void sub_080269CC(Entity*);
void sub_08026BE8(Entity*);
// clang-format off
-void (*const gUnk_080CC19C[])(Entity*) = {
- sub_08025DC0,
- sub_08025DC0,
- sub_08025CBC,
- sub_08025CD4,
- sub_08001242,
+void (*const ChuchuBoss_Functions[])(Entity*) = {
+ ChuchuBoss_OnTick,
+ ChuchuBoss_OnTick,
+ ChuchuBoss_OnKnockback,
+ ChuchuBoss_OnDeath,
+ GenericConfused,
};
void (*const gUnk_080CC1B0[])(Entity*) = {
diff --git a/src/enemy/crow.c b/src/enemy/crow.c
index 4dfdc773..efe2b3e5 100644
--- a/src/enemy/crow.c
+++ b/src/enemy/crow.c
@@ -15,7 +15,7 @@ typedef struct {
u8 unk_84;
} CrowEntity;
-void (*const gUnk_080CE978[])(Entity*);
+void (*const Crow_Functions[])(Entity*);
void (*const gUnk_080CE990[])(CrowEntity*);
void (*const gUnk_080CE9A4[])(CrowEntity*);
extern Entity* gUnk_020000B0;
@@ -26,10 +26,10 @@ void sub_08032B38(CrowEntity* this);
void sub_08032B10(CrowEntity* this);
void Crow(Entity* this) {
- gUnk_080CE978[GetNextFunction(this)](this);
+ Crow_Functions[GetNextFunction(this)](this);
}
-void sub_08032810(CrowEntity* this) {
+void Crow_OnTick(CrowEntity* this) {
gUnk_080CE990[super->action](this);
if (super->field_0xf) {
if (--super->field_0xf == 0) {
@@ -38,7 +38,7 @@ void sub_08032810(CrowEntity* this) {
}
}
-void sub_08032844(CrowEntity* this) {
+void Crow_OnCollision(CrowEntity* this) {
if (super->bitfield & 0x80) {
if ((super->bitfield & 0x3f) == 0) {
COLLISION_OFF(super);
@@ -64,7 +64,7 @@ void sub_08032844(CrowEntity* this) {
GetNextFrame(super);
}
-void sub_080328B8(CrowEntity* this) {
+void Crow_OnGrabbed(CrowEntity* this) {
gUnk_080CE9A4[super->subAction](this);
GetNextFrame(super);
@@ -90,7 +90,7 @@ void sub_0803290C(CrowEntity* this) {
void sub_08032914(CrowEntity* this) {
if (sub_0806F3E4(super)) {
- sub_0804A7D4(super);
+ GenericDeath(super);
}
}
@@ -266,9 +266,9 @@ void sub_08032B38(CrowEntity* this) {
GetNextFrame(super);
}
-void (*const gUnk_080CE978[])(Entity*) = {
- (EntityActionPtr)sub_08032810, (EntityActionPtr)sub_08032844, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)sub_080328B8,
+void (*const Crow_Functions[])(Entity*) = {
+ (EntityActionPtr)Crow_OnTick, (EntityActionPtr)Crow_OnCollision, GenericKnockback, GenericDeath, GenericConfused,
+ (EntityActionPtr)Crow_OnGrabbed,
};
void (*const gUnk_080CE990[])(CrowEntity*) = {
diff --git a/src/enemy/cuccoAggr.c b/src/enemy/cuccoAggr.c
index fa6f8bf8..3678b7a6 100644
--- a/src/enemy/cuccoAggr.c
+++ b/src/enemy/cuccoAggr.c
@@ -18,7 +18,7 @@ typedef struct {
u16 y;
} PosOffset;
-void (*const gUnk_080CF778[])(Entity*);
+void (*const CuccoAggr_Functions[])(Entity*);
void (*const gUnk_080CF790[])(CuccoAggrEntity*);
void (*const gUnk_080CF7AC[])(CuccoAggrEntity*);
const u8 gUnk_080CF7BC[];
@@ -46,17 +46,17 @@ void CuccoAggr(Entity* this) {
if (index) {
gUnk_080012C8[index](this);
} else {
- gUnk_080CF778[GetNextFunction(this)](this);
+ CuccoAggr_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
sub_080391B4((CuccoAggrEntity*)this);
}
}
-void sub_08038CF8(CuccoAggrEntity* this) {
+void CuccoAggr_OnTick(CuccoAggrEntity* this) {
gUnk_080CF790[super->action](this);
}
-void sub_08038D10(CuccoAggrEntity* this) {
+void CuccoAggr_OnCollision(CuccoAggrEntity* this) {
if (super->type != 2) {
if (this->unk_7a == 0 && CheckRoomFlag(1) == 0) {
if (super->health <= 0xbf) {
@@ -70,14 +70,14 @@ void sub_08038D10(CuccoAggrEntity* this) {
CuccoAggr_CreateFx(this);
}
- if (super->field_0x43) {
- sub_0804A9FC(super, 0x1c);
+ if (super->confusedTime) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, gUnk_080CF778);
+ EnemyFunctionHandlerAfterCollision(super, CuccoAggr_Functions);
}
-void nullsub_165(CuccoAggrEntity* this) {
+void CuccoAggr_OnGrabbed(CuccoAggrEntity* this) {
}
void sub_08038D78(CuccoAggrEntity* this) {
@@ -332,9 +332,13 @@ void sub_08039298(CuccoAggrEntity* this) {
}
}
-void (*const gUnk_080CF778[])(Entity*) = {
- (EntityActionPtr)sub_08038CF8, (EntityActionPtr)sub_08038D10, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)nullsub_165,
+void (*const CuccoAggr_Functions[])(Entity*) = {
+ (EntityActionPtr)CuccoAggr_OnTick,
+ (EntityActionPtr)CuccoAggr_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ (EntityActionPtr)CuccoAggr_OnGrabbed,
};
void (*const gUnk_080CF790[])(CuccoAggrEntity*) = {
diff --git a/src/enemy/cuccoChickAggr.c b/src/enemy/cuccoChickAggr.c
index 5acaf9d3..4ecbee1e 100644
--- a/src/enemy/cuccoChickAggr.c
+++ b/src/enemy/cuccoChickAggr.c
@@ -14,22 +14,22 @@ void sub_08022B0C(Entity*);
u32 sub_08022B20(Entity*);
void sub_08022B44(Entity*);
-extern void (*const gUnk_080CBB64[])(Entity*);
+extern void (*const CuccoChickAggr_Functions[])(Entity*);
extern void (*const gUnk_080CBB7C[])(Entity*);
void CuccoChickAggr(Entity* this) {
- gUnk_080CBB64[GetNextFunction(this)](this);
+ CuccoChickAggr_Functions[GetNextFunction(this)](this);
}
-void sub_08022934(Entity* this) {
+void CuccoChickAggr_OnTick(Entity* this) {
gUnk_080CBB7C[this->action](this);
}
-void sub_0802294C(Entity* this) {
- sub_0804AA30(this, gUnk_080CBB64);
+void CuccoChickAggr_OnCollision(Entity* this) {
+ EnemyFunctionHandlerAfterCollision(this, CuccoChickAggr_Functions);
}
-void nullsub_132(Entity* this) {
+void CuccoChickAggr_OnGrabbed(Entity* this) {
}
void sub_08022960(Entity* this) {
@@ -151,13 +151,13 @@ void sub_08022B44(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CBB64[])(Entity*) = {
- sub_08022934,
- sub_0802294C,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_132,
+void (*const CuccoChickAggr_Functions[])(Entity*) = {
+ CuccoChickAggr_OnTick,
+ CuccoChickAggr_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ CuccoChickAggr_OnGrabbed,
};
void (*const gUnk_080CBB7C[])(Entity*) = {
diff --git a/src/enemy/curtain.c b/src/enemy/curtain.c
index d52c80b3..4f35dc2a 100644
--- a/src/enemy/curtain.c
+++ b/src/enemy/curtain.c
@@ -1,18 +1,18 @@
#include "enemy.h"
#include "entity.h"
-void (*const gUnk_080D1CC8[])(Entity*);
+void (*const Curtain_Functions[])(Entity*);
void (*const gUnk_080D1CE0[])(Entity*);
void Curtain(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D1CC8);
+ EnemyFunctionHandler(this, Curtain_Functions);
}
-void sub_080481D0(Entity* this) {
+void Curtain_OnTick(Entity* this) {
gUnk_080D1CE0[this->action](this);
}
-void sub_080481E8(Entity* this) {
+void Curtain_OnCollision(Entity* this) {
if (this->field_0x46) {
this->action = 2;
this->flags &= ~ENT_COLLIDE;
@@ -25,7 +25,7 @@ void sub_080481E8(Entity* this) {
InitializeAnimation(this, this->actionDelay);
}
-void nullsub_26() {
+void Curtain_OnGrabbed() {
}
void sub_08048224(Entity* this) {
@@ -68,8 +68,8 @@ void sub_08048294(Entity* this) {
void nullsub_27() {
}
-void (*const gUnk_080D1CC8[])(Entity*) = {
- sub_080481D0, sub_080481E8, sub_08001324, sub_0804A7D4, sub_08001242, nullsub_26,
+void (*const Curtain_Functions[])(Entity*) = {
+ Curtain_OnTick, Curtain_OnCollision, GenericKnockback, GenericDeath, GenericConfused, Curtain_OnGrabbed,
};
void (*const gUnk_080D1CE0[])(Entity*) = {
diff --git a/src/enemy/darkNut.c b/src/enemy/darkNut.c
index 57d2087f..db9e4983 100644
--- a/src/enemy/darkNut.c
+++ b/src/enemy/darkNut.c
@@ -37,7 +37,7 @@ void sub_08021424(Entity*);
extern Entity* gUnk_020000B0;
-extern void (*const gUnk_080CAA98[])(Entity*);
+extern void (*const DarkNut_Functions[])(Entity*);
extern void (*const gUnk_080CAAB0[])(Entity*);
extern const s8 gUnk_080CAB00[];
@@ -55,15 +55,15 @@ extern const u8 gUnk_080CAB68[];
extern void (*const gUnk_080CAB58[])(Entity*);
void DarkNut(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CAA98);
+ EnemyFunctionHandler(this, DarkNut_Functions);
SetChildOffset(this, 0, 1, -22);
}
-void sub_08020BA0(Entity* this) {
+void DarkNut_OnTick(Entity* this) {
gUnk_080CAAB0[this->action](this);
}
-void sub_08020BB8(Entity* this) {
+void DarkNut_OnCollision(Entity* this) {
switch (this->bitfield & 0x7f) {
case 0x1c:
this->action = 11;
@@ -71,7 +71,7 @@ void sub_08020BB8(Entity* this) {
this->hitType = 81;
sub_08021218(this, 8, DirectionToAnimationState(this->knockbackDirection ^ 0x10));
sub_08021588(this);
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
break;
case 0x16:
this->action = 11;
@@ -79,7 +79,7 @@ void sub_08020BB8(Entity* this) {
this->hitType = 81;
sub_08021218(this, 8, DirectionToAnimationState(this->knockbackDirection ^ 0x10));
sub_08021588(this);
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
break;
case 0x4b:
if (this->action == 13 || this->action == 15 || this->action == 19 || this->action == 18)
@@ -122,10 +122,10 @@ void sub_08020BB8(Entity* this) {
break;
}
this->field_0x78.HALF.LO = this->health;
- sub_0804AA30(this, gUnk_080CAA98);
+ EnemyFunctionHandlerAfterCollision(this, DarkNut_Functions);
}
-void nullsub_129(Entity* this) {
+void DarkNut_OnGrabbed(Entity* this) {
}
void sub_08020D70(Entity* this) {
@@ -655,13 +655,13 @@ u32 sub_0802169C(Entity* this, Entity* ent) {
}
// clang-format off
-void (*const gUnk_080CAA98[])(Entity*) = {
- sub_08020BA0,
- sub_08020BB8,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_129,
+void (*const DarkNut_Functions[])(Entity*) = {
+ DarkNut_OnTick,
+ DarkNut_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ DarkNut_OnGrabbed,
};
void (*const gUnk_080CAAB0[])(Entity*) = {
sub_08020D70,
diff --git a/src/enemy/doorMimic.c b/src/enemy/doorMimic.c
index a5b63e9d..6b84ef18 100644
--- a/src/enemy/doorMimic.c
+++ b/src/enemy/doorMimic.c
@@ -17,7 +17,7 @@ typedef struct {
s8 v;
} PACKED PosOffset;
-extern void (*const gUnk_080CB734[])(Entity*);
+extern void (*const DoorMimic_Functions[])(Entity*);
extern void (*const gUnk_080CB74C[])(Entity*);
extern const s8 gUnk_080CB764[];
@@ -28,19 +28,19 @@ extern const Hitbox* const* const gUnk_080CB8A4[];
extern s16 gUnk_080B4488[];
void DoorMimic(Entity* this) {
- gUnk_080CB734[GetNextFunction(this)](this);
+ DoorMimic_Functions[GetNextFunction(this)](this);
this->hitbox = (Hitbox*)gUnk_080CB8A4[this->type2][this->frameIndex];
}
-void sub_08021FDC(Entity* this) {
+void DoorMimic_OnTick(Entity* this) {
gUnk_080CB74C[this->action](this);
}
-void sub_08021FF4(Entity* this) {
- sub_0804AA30(this, gUnk_080CB734);
+void DoorMimic_OnCollision(Entity* this) {
+ EnemyFunctionHandlerAfterCollision(this, DoorMimic_Functions);
}
-void sub_08022004(Entity* this) {
+void DoorMimic_OnDeath(Entity* this) {
SetTile((u16)this->field_0x7c.HALF.LO, (u16)this->field_0x7c.HALF.HI, this->collisionLayer);
CreateFx(this, FX_POT_SHATTER, 0);
sub_08049CF4(this);
@@ -122,13 +122,13 @@ void sub_080221C0(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CB734[])(Entity*) = {
- sub_08021FDC,
- sub_08021FF4,
- sub_08001324,
- sub_08022004,
- sub_08001242,
- sub_08021FDC,
+void (*const DoorMimic_Functions[])(Entity*) = {
+ DoorMimic_OnTick,
+ DoorMimic_OnCollision,
+ GenericKnockback,
+ DoorMimic_OnDeath,
+ GenericConfused,
+ DoorMimic_OnTick,
};
void (*const gUnk_080CB74C[])(Entity*) = {
diff --git a/src/enemy/enemy4D.c b/src/enemy/enemy4D.c
index d06ec59c..616a52a2 100644
--- a/src/enemy/enemy4D.c
+++ b/src/enemy/enemy4D.c
@@ -12,31 +12,31 @@
extern void sub_0803EE8C(Entity*);
-extern void (*const gUnk_080D0880[])(Entity*);
+extern void (*const Enemy4D_Functions[])(Entity*);
extern void (*const gUnk_080D0898[])(Entity*);
void Enemy4D(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D0880);
+ EnemyFunctionHandler(this, Enemy4D_Functions);
}
-void sub_0803EAFC(Entity* this) {
+void Enemy4D_OnTick(Entity* this) {
gUnk_080D0898[this->action](this);
}
-void sub_0803EB14(Entity* this) {
- sub_0804AA30(this, gUnk_080D0880);
+void Enemy4D_OnCollision(Entity* this) {
+ EnemyFunctionHandlerAfterCollision(this, Enemy4D_Functions);
}
-void sub_0803EB24(Entity* this) {
- sub_08001324(this);
- sub_0803EAFC(this);
+void Enemy4D_OnKnockback(Entity* this) {
+ GenericKnockback(this);
+ Enemy4D_OnTick(this);
}
-void sub_0803EB34(Entity* this) {
+void Enemy4D_OnDeath(Entity* this) {
CreateDeathFx(this, 0xff, 0x57);
}
-void nullsub_21(Entity* this) {
+void Enemy4D_OnGrabbed(Entity* this) {
}
void sub_0803EB44(Entity* this) {
diff --git a/src/enemy/enemy50.c b/src/enemy/enemy50.c
index a77fdec3..284ba85a 100644
--- a/src/enemy/enemy50.c
+++ b/src/enemy/enemy50.c
@@ -95,10 +95,10 @@ void sub_08040B9C(Enemy50Entity* this) {
if (super->bitfield == 0x9d) {
super->zVelocity = 0x18000;
}
- if (super->field_0x43 != 0) {
+ if (super->confusedTime != 0) {
super->animationState = super->knockbackDirection >> 4;
InitializeAnimation(super, super->animationState + 7);
- sub_0804A9FC(super, 0x1c);
+ Create0x68FX(super, 0x1c);
}
if (super->health != this->unk_7a) {
if (super->type == 0) {
@@ -116,14 +116,14 @@ void sub_08040B9C(Enemy50Entity* this) {
this->unk_7a = super->health;
}
_08040C9C:
- sub_0804AA30(super, Enemy50_Functions);
+ EnemyFunctionHandlerAfterCollision(super, Enemy50_Functions);
}
void sub_08040CAC(Enemy50Entity* this) {
GetNextFrame(super);
- sub_08001328(super);
+ GenericKnockback2(super);
if (super->type == 0) {
- if (((super->knockbackDuration == 0) && (super->health != 0)) && (super->field_0x43 == 0)) {
+ if (((super->knockbackDuration == 0) && (super->health != 0)) && (super->confusedTime == 0)) {
super->animationState = 0xff;
if (super->animIndex == 7 || super->animIndex == 8) {
InitializeAnimation(super, ((super->animIndex - 7) ^ 1) + 1);
@@ -141,11 +141,11 @@ void sub_08040D30(Enemy50Entity* this) {
if (super->animIndex != 7 && super->animIndex != 8) {
InitializeAnimation(super, super->animationState + 7);
}
- sub_08001242(super);
+ GenericConfused(super);
if (super->z.HALF.HI == 0) {
super->z.HALF.HI = 0xffff;
}
- if (super->field_0x43 == 0) {
+ if (super->confusedTime == 0) {
InitializeAnimation(super, (super->animationState ^ 1) + 1);
super->direction = 0xff;
super->animationState = 0xff;
@@ -181,7 +181,7 @@ void Enemy50_SubAction2(Enemy50Entity* this) {
effect->spritePriority.b0 = 3;
}
if (super->type == 0) {
- sub_0804A7D4(super);
+ GenericDeath(super);
} else {
DeleteThisEntity();
}
@@ -436,7 +436,7 @@ bool32 sub_08041300(Enemy50Entity* this) {
#endif
void (*const Enemy50_Functions[])(Enemy50Entity*) = {
- Enemy50_OnTick, sub_08040B9C, sub_08040CAC, (void (*)(Enemy50Entity*))sub_0804A7D4, sub_08040D30, sub_08040D90,
+ Enemy50_OnTick, sub_08040B9C, sub_08040CAC, (void (*)(Enemy50Entity*))GenericDeath, sub_08040D30, sub_08040D90,
};
void (*const Enemy50_Actions[])(Enemy50Entity*) = {
Enemy50_Init, Enemy50_Action1, Enemy50_Action2, Enemy50_Action3, Enemy50_Action4, Enemy50_Action5,
diff --git a/src/enemy/enemyE.c b/src/enemy/enemyE.c
index d19d110b..f0428d37 100644
--- a/src/enemy/enemyE.c
+++ b/src/enemy/enemyE.c
@@ -10,18 +10,18 @@
void sub_08023000(Entity*, int);
-extern void (*const gUnk_080CBBC8[])(Entity*);
+extern void (*const EnemyE_Functions[])(Entity*);
extern void (*const gUnk_080CBBDC[])(Entity*);
void EnemyE(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CBBC8);
+ EnemyFunctionHandler(this, EnemyE_Functions);
}
-void sub_08022FB4(Entity* this) {
+void EnemyE_OnTick(Entity* this) {
gUnk_080CBBDC[this->action](this);
}
-void nullsub_133(Entity* this) {
+void EnemyE_OnCollision(Entity* this) {
}
void sub_08022FD0(Entity* this) {
@@ -58,12 +58,12 @@ void sub_08023000(Entity* this, int frames) {
}
// clang-format off
-void (*const gUnk_080CBBC8[])(Entity*) = {
- sub_08022FB4,
- nullsub_133,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
+void (*const EnemyE_Functions[])(Entity*) = {
+ EnemyE_OnTick,
+ EnemyE_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
};
void (*const gUnk_080CBBDC[])(Entity*) = {
diff --git a/src/enemy/eyegore.c b/src/enemy/eyegore.c
index 23acd17f..79c31cbc 100644
--- a/src/enemy/eyegore.c
+++ b/src/enemy/eyegore.c
@@ -64,9 +64,9 @@ void Eyegore_Action6(EyegoreEntity*);
void (*const Eyegore_Functions[])(EyegoreEntity*) = {
Eyegore_OnTick,
Eyegore_OnCollision,
- (void (*)(EyegoreEntity*))sub_08001324,
+ (void (*)(EyegoreEntity*))GenericKnockback,
Eyegore_OnDeath,
- (void (*)(EyegoreEntity*))sub_08001242,
+ (void (*)(EyegoreEntity*))GenericConfused,
Eyegore_OnGrabbed,
};
@@ -125,7 +125,7 @@ void Eyegore_OnCollision(EyegoreEntity* this) {
super->flags &= ~ENT_COLLIDE;
super->iframes = 0x78;
}
- sub_0804AA30(super, Eyegore_Functions);
+ EnemyFunctionHandlerAfterCollision(super, Eyegore_Functions);
}
void Eyegore_OnDeath(EyegoreEntity* this) {
@@ -136,7 +136,7 @@ void Eyegore_OnDeath(EyegoreEntity* this) {
if ((super->field_0x3a & 2) == 0) {
CreateFx(super, FX_GIANT_EXPLOSION4, 0);
}
- sub_0804A7D4(super);
+ GenericDeath(super);
}
}
diff --git a/src/enemy/fallingBoulder.c b/src/enemy/fallingBoulder.c
index 1bb932af..5c483e4b 100644
--- a/src/enemy/fallingBoulder.c
+++ b/src/enemy/fallingBoulder.c
@@ -11,7 +11,7 @@
void sub_0802C4B0(Entity*);
void sub_0802C62C(Entity*);
-extern void (*const gUnk_080CD540[])(Entity*);
+extern void (*const FallingBoulder_Functions[])(Entity*);
extern void (*const gUnk_080CD558[])(Entity*);
extern const u16 gUnk_080CD568[];
extern const u8 gUnk_080CD580[];
@@ -20,18 +20,18 @@ extern const s16 gUnk_080CD58C[];
extern void sub_080AEFB4(Entity*);
void FallingBoulder(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CD540);
+ EnemyFunctionHandler(this, FallingBoulder_Functions);
}
-void sub_0802C238(Entity* this) {
+void FallingBoulder_OnTick(Entity* this) {
gUnk_080CD558[this->action](this);
}
-void sub_0802C250(Entity* this) {
+void FallingBoulder_OnCollision(Entity* this) {
/* ... */
}
-void sub_0802C254(Entity* this) {
+void FallingBoulder_OnGrabbed(Entity* this) {
/* ... */
}
@@ -219,13 +219,13 @@ void sub_0802C62C(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CD540[])(Entity*) = {
- sub_0802C238,
- sub_0802C250,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- sub_0802C254,
+void (*const FallingBoulder_Functions[])(Entity*) = {
+ FallingBoulder_OnTick,
+ FallingBoulder_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ FallingBoulder_OnGrabbed,
};
void (*const gUnk_080CD558[])(Entity*) = {
diff --git a/src/enemy/fireballGuy.c b/src/enemy/fireballGuy.c
index a0546fb8..df3f3686 100644
--- a/src/enemy/fireballGuy.c
+++ b/src/enemy/fireballGuy.c
@@ -15,28 +15,28 @@ typedef struct {
extern void sub_08045524(Entity*);
void sub_08045178(Entity*, Entity*, int, int);
-extern void (*const gUnk_080D17E8[])(Entity*);
+extern void (*const FireballGuy_Functions[])(Entity*);
extern void (*const gUnk_080D1800[])(Entity*);
extern u8 gUnk_080D180C[4]; // Entity count per form
extern PosOffset gUnk_080D1810[4];
void FireballGuy(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D17E8);
+ EnemyFunctionHandler(this, FireballGuy_Functions);
}
-void sub_080453A4(Entity* this) {
+void FireballGuy_OnTick(Entity* this) {
gUnk_080D1800[this->action](this);
}
-void sub_080453BC(Entity* this) {
+void FireballGuy_OnCollision(Entity* this) {
if (this->health && this->cutsceneBeh.HALF.LO != this->health) {
this->action = 2;
} else {
- sub_0804AA30(this, gUnk_080D17E8);
+ EnemyFunctionHandlerAfterCollision(this, FireballGuy_Functions);
}
}
-void nullsub_172(void) {
+void FireballGuy_OnGrabbed(void) {
}
void sub_080453E8(Entity* this) {
diff --git a/src/enemy/flyingSkull.c b/src/enemy/flyingSkull.c
index 5c0fa3b0..b9529a51 100644
--- a/src/enemy/flyingSkull.c
+++ b/src/enemy/flyingSkull.c
@@ -14,7 +14,7 @@ extern void (*const gUnk_080012C8[])(Entity*);
extern Hitbox gUnk_080FD340; // TODO should be const
extern Hitbox gUnk_080FD34C;
-void (*const gUnk_080CFB84[])(Entity*);
+void (*const FlyingSkull_Functions[])(Entity*);
void (*const gUnk_080CFB9C[])(FlyingSkullEntity*);
void (*const gUnk_080CFBBC[])(FlyingSkullEntity*);
void (*const gUnk_080CFBD4[])(FlyingSkullEntity*);
@@ -31,15 +31,15 @@ void FlyingSkull(Entity* this) {
if (index) {
gUnk_080012C8[index](this);
} else {
- gUnk_080CFB84[GetNextFunction(this)](this);
+ FlyingSkull_Functions[GetNextFunction(this)](this);
}
}
-void sub_08039BE0(FlyingSkullEntity* this) {
+void FlyingSkull_OnTick(FlyingSkullEntity* this) {
gUnk_080CFB9C[super->action](this);
}
-void sub_08039BF8(FlyingSkullEntity* this) {
+void FlyingSkull_OnCollision(FlyingSkullEntity* this) {
sub_0803A100(this);
if (super->bitfield == 0x9d) {
@@ -52,10 +52,10 @@ void sub_08039BF8(FlyingSkullEntity* this) {
sub_0803A0E0(this);
}
- sub_0804AA30(super, gUnk_080CFB84);
+ EnemyFunctionHandlerAfterCollision(super, FlyingSkull_Functions);
}
-void sub_08039C80(FlyingSkullEntity* this) {
+void FlyingSkull_OnGrabbed(FlyingSkullEntity* this) {
gUnk_080CFBBC[super->subAction](this);
}
@@ -251,9 +251,13 @@ void sub_0803A100(FlyingSkullEntity* this) {
}
}
-void (*const gUnk_080CFB84[])(Entity*) = {
- (EntityActionPtr)sub_08039BE0, (EntityActionPtr)sub_08039BF8, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)sub_08039C80,
+void (*const FlyingSkull_Functions[])(Entity*) = {
+ (EntityActionPtr)FlyingSkull_OnTick,
+ (EntityActionPtr)FlyingSkull_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ (EntityActionPtr)FlyingSkull_OnGrabbed,
};
void (*const gUnk_080CFB9C[])(FlyingSkullEntity*) = {
diff --git a/src/enemy/ghini.c b/src/enemy/ghini.c
index caf0e985..4baf2fdf 100644
--- a/src/enemy/ghini.c
+++ b/src/enemy/ghini.c
@@ -55,7 +55,7 @@ void Ghini_OnTick(GhiniEntity* this) {
sub_0803F694(this);
}
-void sub_0803F028(GhiniEntity* this) {
+void Ghini_OnCollision(GhiniEntity* this) {
if (super->action == 8 || super->action == 9) {
super->animationState = 0xff;
InitializeAnimation(super, (super->knockbackDirection >> 4 ^ 1) + 1);
@@ -69,10 +69,10 @@ void sub_0803F028(GhiniEntity* this) {
if (super->bitfield == 0x9d) {
super->zVelocity = 0x18000;
}
- if (super->field_0x43 != 0) {
+ if (super->confusedTime != 0) {
super->animationState = super->knockbackDirection >> 4;
InitializeAnimation(super, super->animationState + 7);
- sub_0804A9FC(super, 0x1c);
+ Create0x68FX(super, FX_STARS);
}
if (super->health != this->unk_7a) {
this->unk_7a = super->health;
@@ -82,13 +82,13 @@ void sub_0803F028(GhiniEntity* this) {
InitializeAnimation(super, (super->knockbackDirection >> 4) + 7);
}
}
- sub_0804AA30(super, Ghini_Functions);
+ EnemyFunctionHandlerAfterCollision(super, Ghini_Functions);
}
-void sub_0803F0F4(GhiniEntity* this) {
+void Ghini_OnKnockback(GhiniEntity* this) {
GetNextFrame(super);
- sub_08001328(super);
- if (((super->knockbackDuration == 0) && (super->health != 0)) && (super->field_0x43 == 0)) {
+ GenericKnockback2(super);
+ if (((super->knockbackDuration == 0) && (super->health != 0)) && (super->confusedTime == 0)) {
super->animationState = 0xff;
if (super->animIndex == 7 || super->animIndex == 8) {
InitializeAnimation(super, ((super->animIndex - 7) ^ 1) + 1);
@@ -96,15 +96,15 @@ void sub_0803F0F4(GhiniEntity* this) {
}
}
-void sub_0803F148(GhiniEntity* this) {
+void Ghini_OnConfused(GhiniEntity* this) {
if (super->animIndex != 7 && super->animIndex != 8) {
InitializeAnimation(super, super->animationState + 7);
}
- sub_08001242(super);
+ GenericConfused(super);
if (super->z.HALF.HI == 0) {
super->z.HALF.HI = 0xffff;
}
- if (super->field_0x43 == 0) {
+ if (super->confusedTime == 0) {
InitializeAnimation(super, (super->animationState ^ 1) + 1);
super->direction = 0xff;
super->animationState = 0xff;
@@ -112,7 +112,7 @@ void sub_0803F148(GhiniEntity* this) {
}
}
-void sub_0803F1A8(GhiniEntity* this) {
+void Ghini_OnGrabbed(GhiniEntity* this) {
if (sub_0806F520()) {
Ghini_SubActions[super->subAction](this);
} else {
@@ -139,7 +139,7 @@ void Ghini_SubAction2(GhiniEntity* this) {
if (effect != NULL) {
effect->spritePriority.b0 = 3;
}
- sub_0804A7D4(super);
+ GenericDeath(super);
}
}
@@ -398,7 +398,8 @@ void sub_0803F738(GhiniEntity* this) {
}
void (*const Ghini_Functions[])(GhiniEntity*) = {
- Ghini_OnTick, sub_0803F028, sub_0803F0F4, (void (*)(GhiniEntity*))sub_0804A7D4, sub_0803F148, sub_0803F1A8,
+ Ghini_OnTick, Ghini_OnCollision, Ghini_OnKnockback, (void (*)(GhiniEntity*))GenericDeath,
+ Ghini_OnConfused, Ghini_OnGrabbed,
};
void (*const Ghini_Actions[])(GhiniEntity*) = {
Ghini_Init, Ghini_Action1, Ghini_Action2, Ghini_Action3, Ghini_Action4,
diff --git a/src/enemy/gibdo.c b/src/enemy/gibdo.c
index c2fe9fd2..b05ca9de 100644
--- a/src/enemy/gibdo.c
+++ b/src/enemy/gibdo.c
@@ -45,12 +45,12 @@ void sub_08037A14(GibdoEntity*);
extern void sub_0804A4E4(Entity*, Entity*);
u32 sub_0804A044(Entity*, Entity*, u32);
-void (*const gGibdo[6])(Entity*);
+void (*const Gibdo_Functions[6])(Entity*);
void (*const gUnk_080CF2AC[9])(GibdoEntity*);
extern Entity* gUnk_020000B0;
void Gibdo(Entity* this) {
- EnemyFunctionHandler(this, gGibdo);
+ EnemyFunctionHandler(this, Gibdo_Functions);
SetChildOffset(this, 0, 1, -0x15);
}
@@ -58,7 +58,7 @@ void Gibdo_OnTick(GibdoEntity* this) {
gUnk_080CF2AC[super->action](this);
}
-void sub_080374A4(GibdoEntity* this) {
+void Gibdo_OnCollision(GibdoEntity* this) {
u8 x;
if (super->bitfield == 0x87) {
if (super->action == 0x6) {
@@ -88,13 +88,13 @@ void sub_080374A4(GibdoEntity* this) {
sub_08037A58(this);
}
}
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, gGibdo);
+ EnemyFunctionHandlerAfterCollision(super, Gibdo_Functions);
}
-void nullsub_162(GibdoEntity* this) {
+void Gibdo_OnGrabbed(GibdoEntity* this) {
}
void sub_08037558(GibdoEntity* this) {
@@ -436,9 +436,13 @@ void Gibdo_MoveObjectsToStalfos(GibdoEntity* this, Entity* that) {
}
}
-void (*const gGibdo[6])(Entity*) = {
- (EntityActionPtr)Gibdo_OnTick, (EntityActionPtr)sub_080374A4, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)nullsub_162,
+void (*const Gibdo_Functions[6])(Entity*) = {
+ (EntityActionPtr)Gibdo_OnTick,
+ (EntityActionPtr)Gibdo_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ (EntityActionPtr)Gibdo_OnGrabbed,
};
void (*const gUnk_080CF2AC[9])(GibdoEntity*) = {
diff --git a/src/enemy/gleerok.c b/src/enemy/gleerok.c
index f7170f8e..bd1584b4 100644
--- a/src/enemy/gleerok.c
+++ b/src/enemy/gleerok.c
@@ -34,7 +34,7 @@ typedef struct {
Gleerok_HeapStruct* unk_84;
} GleerokEntity;
-extern void (*const gUnk_080CD748[])(Entity*);
+extern void (*const Gleerok_Functions[])(Entity*);
extern void (*const gUnk_080CD75C[])(GleerokEntity*);
extern void (*const gUnk_080CD7B8[])(GleerokEntity*);
extern void (*const gUnk_080CD7E4[])(GleerokEntity*);
@@ -69,10 +69,10 @@ extern bool32 sub_0802EA88(Gleerok_HeapStruct* param_1);
extern bool32 sub_0802E768(Gleerok_HeapStruct* param_1);
void Gleerok(Entity* this) {
- gUnk_080CD748[GetNextFunction(this)](this);
+ Gleerok_Functions[GetNextFunction(this)](this);
}
-void sub_0802D034(GleerokEntity* this) {
+void Gleerok_OnDeath(GleerokEntity* this) {
sub_08078B48();
switch (super->type) {
@@ -107,7 +107,7 @@ void sub_0802D034(GleerokEntity* this) {
break;
case 1:
SoundReq(SFX_BOSS_DIE);
- sub_0804A7D4(super);
+ GenericDeath(super);
break;
case 0:
gPlayerState.field_0x14 = 1;
@@ -237,7 +237,7 @@ NONMATCH("asm/non_matching/gleerok/sub_0802D33C.inc", void sub_0802D33C(GleerokE
}
END_NONMATCH
-void sub_0802D394(GleerokEntity* this) {
+void Gleerok_OnTick(GleerokEntity* this) {
gUnk_080CD7B8[super->action](this);
super->spriteRendering.b3 = 3;
}
@@ -273,7 +273,7 @@ NONMATCH("asm/non_matching/gleerok/sub_0802D3B8.inc", void sub_0802D3B8(GleerokE
heap = this->unk_84;
if (heap == NULL) {
- sub_0804A7D4(super);
+ GenericDeath(super);
DeleteThisEntity();
}
diff --git a/src/enemy/gyorgChild.c b/src/enemy/gyorgChild.c
index e260fb25..91b6bf41 100644
--- a/src/enemy/gyorgChild.c
+++ b/src/enemy/gyorgChild.c
@@ -5,17 +5,17 @@
#include "functions.h"
#include "enemy/gyorg.h"
-void sub_08048684(GyorgChildEntity*);
-void sub_0804869C(GyorgChildEntity*);
-void sub_080486AC(GyorgChildEntity*);
+void GyorgChild_OnTick(GyorgChildEntity*);
+void GyorgChild_OnCollision(GyorgChildEntity*);
+void GyorgChild_OnGrabbed(GyorgChildEntity*);
-void (*const gUnk_080D1E6C[])(GyorgChildEntity*) = {
- sub_08048684,
- sub_0804869C,
- (void (*)(GyorgChildEntity*))sub_08001324,
- (void (*)(GyorgChildEntity*))sub_0804A7D4,
- (void (*)(GyorgChildEntity*))sub_08001242,
- sub_080486AC,
+void (*const GyorgChild_Functions[])(GyorgChildEntity*) = {
+ GyorgChild_OnTick,
+ GyorgChild_OnCollision,
+ (void (*)(GyorgChildEntity*))GenericKnockback,
+ (void (*)(GyorgChildEntity*))GenericDeath,
+ (void (*)(GyorgChildEntity*))GenericConfused,
+ GyorgChild_OnGrabbed,
};
void GyorgChild(Entity* this) {
@@ -24,7 +24,7 @@ void GyorgChild(Entity* this) {
this->health = 0;
this->collisionLayer = 2;
}
- gUnk_080D1E6C[GetNextFunction(this)]((GyorgChildEntity*)this);
+ GyorgChild_Functions[GetNextFunction(this)]((GyorgChildEntity*)this);
}
void sub_080486F4(GyorgChildEntity*);
@@ -32,7 +32,7 @@ void sub_0804877C(GyorgChildEntity*);
void sub_0804882C(GyorgChildEntity*);
void sub_08048904(GyorgChildEntity*);
-void sub_08048684(GyorgChildEntity* this) {
+void GyorgChild_OnTick(GyorgChildEntity* this) {
static void (*const gUnk_080D1E84[])(GyorgChildEntity*) = {
sub_080486F4,
sub_0804877C,
@@ -42,15 +42,15 @@ void sub_08048684(GyorgChildEntity* this) {
gUnk_080D1E84[super->action](this);
}
-void sub_0804869C(GyorgChildEntity* this) {
- sub_0804AA30(super, gUnk_080D1E6C);
+void GyorgChild_OnCollision(GyorgChildEntity* this) {
+ EnemyFunctionHandlerAfterCollision(super, GyorgChild_Functions);
}
void sub_080486D0(GyorgChildEntity*);
void sub_080486D8(GyorgChildEntity*);
void sub_080486E0(GyorgChildEntity*);
-void sub_080486AC(GyorgChildEntity* this) {
+void GyorgChild_OnGrabbed(GyorgChildEntity* this) {
static void (*const gUnk_080D1E94[])(GyorgChildEntity*) = {
sub_080486D0,
sub_080486D8,
@@ -71,7 +71,7 @@ void sub_080486D8(GyorgChildEntity* this) {
void sub_080486E0(GyorgChildEntity* this) {
if (sub_0806F3E4(super)) {
- sub_0804A7D4(super);
+ GenericDeath(super);
}
}
diff --git a/src/enemy/gyorgFemaleEye.c b/src/enemy/gyorgFemaleEye.c
index a653de38..89d8207a 100644
--- a/src/enemy/gyorgFemaleEye.c
+++ b/src/enemy/gyorgFemaleEye.c
@@ -6,8 +6,8 @@
#include "functions.h"
#include "enemy/gyorg.h"
-void sub_080489B4(GyorgFemaleEyeEntity*);
-void sub_080489CC(GyorgFemaleEyeEntity*);
+void GyorgFemaleEye_OnTick(GyorgFemaleEyeEntity*);
+void GyorgFemaleEye_OnCollision(GyorgFemaleEyeEntity*);
void sub_08048AF0(GyorgFemaleEyeEntity*);
void sub_08048B2C(GyorgFemaleEyeEntity*);
@@ -18,23 +18,23 @@ void sub_08048CEC(GyorgFemaleEyeEntity*);
void sub_08048D20(GyorgFemaleEyeEntity*);
u32 sub_08048D70(GyorgFemaleEntity*);
-void (*const gUnk_080D1F64[])(GyorgFemaleEyeEntity*) = {
- sub_080489B4,
- sub_080489CC,
- (void (*)(GyorgFemaleEyeEntity*))sub_08001324,
- (void (*)(GyorgFemaleEyeEntity*))sub_0804A7D4,
- (void (*)(GyorgFemaleEyeEntity*))sub_08001242,
- sub_080489B4,
+void (*const GyorgFemaleEye_Functions[])(GyorgFemaleEyeEntity*) = {
+ GyorgFemaleEye_OnTick,
+ GyorgFemaleEye_OnCollision,
+ (void (*)(GyorgFemaleEyeEntity*))GenericKnockback,
+ (void (*)(GyorgFemaleEyeEntity*))GenericDeath,
+ (void (*)(GyorgFemaleEyeEntity*))GenericConfused,
+ GyorgFemaleEye_OnTick,
};
void GyorgFemaleEye(Entity* this) {
if (this->parent->next == NULL) {
DeleteThisEntity();
}
- gUnk_080D1F64[GetNextFunction(this)]((GyorgFemaleEyeEntity*)this);
+ GyorgFemaleEye_Functions[GetNextFunction(this)]((GyorgFemaleEyeEntity*)this);
}
-void sub_080489B4(GyorgFemaleEyeEntity* this) {
+void GyorgFemaleEye_OnTick(GyorgFemaleEyeEntity* this) {
static void (*const gUnk_080D1F7C[])(GyorgFemaleEyeEntity*) = {
sub_08048AF0, sub_08048B2C, sub_08048B84, sub_08048BB0, sub_08048CEC,
};
@@ -62,7 +62,7 @@ const u8 gUnk_080D2030[] = {
2, 2, 3, 3, 2, 2, 3, 3, 6, 6, 7, 7, 6, 6, 7, 7, 11, 11, 10, 10, 11, 11, 10, 10, 15, 15, 14, 14, 15, 15, 14, 14,
};
-void sub_080489CC(GyorgFemaleEyeEntity* this) {
+void GyorgFemaleEye_OnCollision(GyorgFemaleEyeEntity* this) {
GyorgFemaleEntity* parent;
if (super->health != 0xFF) {
parent = (GyorgFemaleEntity*)super->parent;
@@ -91,7 +91,7 @@ void sub_080489CC(GyorgFemaleEyeEntity* this) {
#endif
}
super->health = 0xFF;
- sub_0804AA30(super, (void (*const*)(Entity*))gUnk_080D1F64);
+ EnemyFunctionHandlerAfterCollision(super, (void (*const*)(Entity*))GyorgFemaleEye_Functions);
}
void sub_08048AF0(GyorgFemaleEyeEntity* this) {
diff --git a/src/enemy/gyorgMaleEye.c b/src/enemy/gyorgMaleEye.c
index 6f87fe4c..a7586c44 100644
--- a/src/enemy/gyorgMaleEye.c
+++ b/src/enemy/gyorgMaleEye.c
@@ -40,7 +40,7 @@ void GyorgMaleEye_OnTick(GyorgMaleEyeEntity* this) {
GyorgMaleEye_Actions[super->action](this);
}
-void sub_08048E1C(GyorgMaleEyeEntity* this) {
+void GyorgMaleEye_OnCollision(GyorgMaleEyeEntity* this) {
u32 tmp;
Entity* entity;
@@ -66,7 +66,7 @@ void sub_08048E1C(GyorgMaleEyeEntity* this) {
}
super->health = 0xff;
}
- sub_0804AA30(super, GyorgMaleEye_Functions);
+ EnemyFunctionHandlerAfterCollision(super, GyorgMaleEye_Functions);
}
void GyorgMaleEye_Init(GyorgMaleEyeEntity* this) {
@@ -114,10 +114,10 @@ void sub_08048F74(GyorgMaleEyeEntity* this) {
void (*const GyorgMaleEye_Functions[])(GyorgMaleEyeEntity*) = {
GyorgMaleEye_OnTick,
- sub_08048E1C,
- (void (*)(GyorgMaleEyeEntity*))sub_08001324,
- (void (*)(GyorgMaleEyeEntity*))sub_0804A7D4,
- (void (*)(GyorgMaleEyeEntity*))sub_08001242,
+ GyorgMaleEye_OnCollision,
+ (void (*)(GyorgMaleEyeEntity*))GenericKnockback,
+ (void (*)(GyorgMaleEyeEntity*))GenericDeath,
+ (void (*)(GyorgMaleEyeEntity*))GenericConfused,
GyorgMaleEye_OnTick,
};
void (*const GyorgMaleEye_Actions[])(GyorgMaleEyeEntity*) = {
diff --git a/src/enemy/hangingSeed.c b/src/enemy/hangingSeed.c
index 4839642f..51b119c7 100644
--- a/src/enemy/hangingSeed.c
+++ b/src/enemy/hangingSeed.c
@@ -9,25 +9,25 @@
#include "enemy.h"
#include "functions.h"
-extern void (*const gHangingSeedFunctions[])(Entity*);
+extern void (*const HangingSeed_Functions[])(Entity*);
extern void (*const gUnk_080CB588[])(Entity*);
void HangingSeed(Entity* this) {
- EnemyFunctionHandler(this, gHangingSeedFunctions);
+ EnemyFunctionHandler(this, HangingSeed_Functions);
}
void HangingSeed_OnTick(Entity* this) {
gUnk_080CB588[this->action](this);
}
-void sub_080216FC(Entity* this) {
+void HangingSeed_OnCollision(Entity* this) {
if (this->bitfield & 0x80) {
CreateFx(this, FX_BUSH, 0x80);
DeleteThisEntity();
}
}
-void nullsub_7(Entity* this) {
+void HangingSeed_OnGrabbed(Entity* this) {
/* ... */
}
@@ -44,13 +44,13 @@ void HangingSeed_Hang(Entity* this) {
}
// clang-format off
-void (*const gHangingSeedFunctions[])(Entity*) = {
+void (*const HangingSeed_Functions[])(Entity*) = {
HangingSeed_OnTick,
- sub_080216FC,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_7,
+ HangingSeed_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ HangingSeed_OnGrabbed,
};
void (*const gUnk_080CB588[])(Entity*) = {
diff --git a/src/enemy/helmasaur.c b/src/enemy/helmasaur.c
index 292d9b0b..8abdbdb3 100644
--- a/src/enemy/helmasaur.c
+++ b/src/enemy/helmasaur.c
@@ -23,7 +23,7 @@ bool32 sub_0802C06C(Entity*);
void sub_0802C1CC(Entity*);
bool32 sub_0802C0E8(Entity*);
-extern void (*const gUnk_080CD3E4[])(Entity*);
+extern void (*const Helmasaur_Functions[])(Entity*);
extern void (*const gUnk_080CD3FC[])(Entity*);
extern void (*const gUnk_080CD408[])(Entity*);
extern void (*const gUnk_080CD42C[])(Entity*);
@@ -34,18 +34,18 @@ extern const s8 gUnk_080CD464[];
void Helmasaur(Entity* this) {
if (this->type == 0) {
- EnemyFunctionHandler(this, gUnk_080CD3E4);
+ EnemyFunctionHandler(this, Helmasaur_Functions);
SetChildOffset(this, 0, 1, -0x10);
} else {
gUnk_080CD3FC[this->action](this);
}
}
-void sub_0802BBAC(Entity* this) {
+void Helmasaur_OnTick(Entity* this) {
gUnk_080CD408[this->action](this);
}
-void sub_0802BBC4(Entity* this) {
+void Helmasaur_OnCollision(Entity* this) {
if (this->hitType != 0x19) {
switch (this->bitfield & 0x7f) {
case 0:
@@ -58,14 +58,14 @@ void sub_0802BBC4(Entity* this) {
break;
}
}
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CD3E4);
+ EnemyFunctionHandlerAfterCollision(this, Helmasaur_Functions);
}
-void sub_0802BC20(Entity* this) {
+void Helmasaur_OnGrabbed(Entity* this) {
if (this->hitType != 0x19) {
if (sub_0806F520(this)) {
gUnk_080CD42C[this->subAction](this);
@@ -380,13 +380,13 @@ void sub_0802C218(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CD3E4[])(Entity*) = {
- sub_0802BBAC,
- sub_0802BBC4,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- sub_0802BC20,
+void (*const Helmasaur_Functions[])(Entity*) = {
+ Helmasaur_OnTick,
+ Helmasaur_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ Helmasaur_OnGrabbed,
};
void (*const gUnk_080CD3FC[])(Entity*) = {
diff --git a/src/enemy/keaton.c b/src/enemy/keaton.c
index df262f25..2e13814b 100644
--- a/src/enemy/keaton.c
+++ b/src/enemy/keaton.c
@@ -10,7 +10,7 @@
extern Entity* gUnk_020000B0;
-extern void (*const gUnk_080CE7B0[])(Entity*);
+extern void (*const Keaton_Functions[])(Entity*);
extern void (*const gUnk_080CE7C8[])(Entity*);
extern u8 gUnk_080CE7E0[];
extern u16 gUnk_080CE7F0[];
@@ -29,15 +29,15 @@ void sub_080327C8(Entity* this);
void sub_080327E0(Entity* this);
void Keaton(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CE7B0);
+ EnemyFunctionHandler(this, Keaton_Functions);
SetChildOffset(this, 0, 1, -18);
}
-void sub_080323DC(Entity* this) {
+void Keaton_OnTick(Entity* this) {
gUnk_080CE7C8[this->action](this);
}
-void sub_080323F4(Entity* this) {
+void Keaton_OnCollision(Entity* this) {
u32 var;
if (this->action != 3 && this->action != 4) {
@@ -46,17 +46,17 @@ void sub_080323F4(Entity* this) {
this->direction = DirectionTurnAround(DirectionRoundUp(this->knockbackDirection));
InitAnimationForceUpdate(this, this->direction >> 3);
} else if (this->bitfield == 0xCC) {
- if (this->field_0x43 == 0) {
+ if (this->confusedTime == 0) {
sub_0803275C(this);
}
}
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1C);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CE7B0);
+ EnemyFunctionHandlerAfterCollision(this, Keaton_Functions);
}
-void nullsub_155(Entity* this) {
+void Keaton_OnGrabbed(Entity* this) {
}
void sub_08032468(Entity* this) {
diff --git a/src/enemy/keese.c b/src/enemy/keese.c
index 1d276078..f555faa7 100644
--- a/src/enemy/keese.c
+++ b/src/enemy/keese.c
@@ -8,12 +8,12 @@
#include "enemy.h"
#include "functions.h"
-extern void sub_08001328(Entity*);
+extern void GenericKnockback2(Entity*);
extern void Keese_StartFly(Entity*);
extern void sub_080AEFB4(Entity*);
extern void sub_08021F24(Entity*);
-extern void (*const gKeeseFunctions[])(Entity*);
+extern void (*const Keese_Functions[])(Entity*);
extern void (*const gKeeseActions[])(Entity*);
extern void (*const gUnk_080CB6C4[])(Entity*);
@@ -27,18 +27,18 @@ enum {
};
void Keese(Entity* this) {
- gKeeseFunctions[GetNextFunction(this)](this);
+ Keese_Functions[GetNextFunction(this)](this);
}
void Keese_OnTick(Entity* this) {
gKeeseActions[this->action](this);
}
-void sub_08021d98(Entity* this) {
- sub_0804AA30(this, gKeeseFunctions);
+void Keese_OnCollision(Entity* this) {
+ EnemyFunctionHandlerAfterCollision(this, Keese_Functions);
}
-void sub_08021DA8(Entity* this) {
+void Keese_OnGrabbed(Entity* this) {
if (sub_0806F520(this)) {
gUnk_080CB6C4[this->subAction](this);
}
@@ -54,7 +54,7 @@ void sub_08021DD4(Entity* this) {
void sub_08021DDC(Entity* this) {
if (sub_0806F3E4(this)) {
- sub_0804A7D4(this);
+ GenericDeath(this);
}
}
@@ -131,13 +131,13 @@ void sub_08021F24(Entity* this) {
}
// clang-format off
-void (*const gKeeseFunctions[])(Entity*) = {
+void (*const Keese_Functions[])(Entity*) = {
Keese_OnTick,
- sub_08021d98,
- sub_08001328,
- sub_0804A7D4,
- sub_08001242,
- sub_08021DA8,
+ Keese_OnCollision,
+ GenericKnockback2,
+ GenericDeath,
+ GenericConfused,
+ Keese_OnGrabbed,
};
void (*const gKeeseActions[])(Entity*) = {
diff --git a/src/enemy/lakitu.c b/src/enemy/lakitu.c
index b9d72989..837dcd39 100644
--- a/src/enemy/lakitu.c
+++ b/src/enemy/lakitu.c
@@ -38,18 +38,18 @@ typedef struct {
} PACKED OffsetCoords;
// Variables
-extern void (*const gUnk_080D0110[])(Entity*);
+extern void (*const Lakitu_Functions[])(Entity*);
extern void (*const gUnk_080D0128[])(Entity*);
extern void (*const gUnk_080D0148[])(Entity*);
extern const OffsetCoords gUnk_080D0154[];
void Lakitu(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D0110);
+ EnemyFunctionHandler(this, Lakitu_Functions);
SetChildOffset(this, 0, 1, -16);
}
-void Lakitu_DoAction(Entity* this) {
+void Lakitu_OnTick(Entity* this) {
if (this->action != 0 && this->action != 7) {
sub_0803CAD0(this);
}
@@ -57,7 +57,7 @@ void Lakitu_DoAction(Entity* this) {
LakituActionFuncs[this->action](this);
}
-void sub_0803C784(Entity* this) {
+void Lakitu_OnCollision(Entity* this) {
if ((this->bitfield & 0x7f) == 0x1d) {
this->zVelocity = Q_16_16(2.0);
@@ -87,14 +87,14 @@ void sub_0803C784(Entity* this) {
}
}
- if (this->field_0x43) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080D0110);
+ EnemyFunctionHandlerAfterCollision(this, Lakitu_Functions);
}
-void sub_0803C820(Entity* this) {
+void Lakitu_OnGrabbed(Entity* this) {
if (sub_0806F520(this)) {
gUnk_080D0148[this->subAction](this);
}
@@ -393,8 +393,8 @@ void sub_0803CC08(Entity* this) {
DeleteEntity(cloud);
}
-void (*const gUnk_080D0110[])(Entity*) = {
- Lakitu_DoAction, sub_0803C784, sub_08001324, sub_0804A7D4, sub_08001242, sub_0803C820,
+void (*const Lakitu_Functions[])(Entity*) = {
+ Lakitu_OnTick, Lakitu_OnCollision, GenericKnockback, GenericDeath, GenericConfused, Lakitu_OnGrabbed,
};
void (*const LakituActionFuncs[])(Entity*) = {
diff --git a/src/enemy/lakituCloud.c b/src/enemy/lakituCloud.c
index 3cf330c2..48605900 100644
--- a/src/enemy/lakituCloud.c
+++ b/src/enemy/lakituCloud.c
@@ -15,7 +15,7 @@
extern u32 GetNextFunction(Entity*);
-extern void (*const gUnk_080D0418[6])(Entity*);
+extern void (*const LakituCloud_Functions[6])(Entity*);
extern void (*const gUnk_080D0430[3])(Entity*);
extern void (*const gUnk_080D043C[3])(Entity*);
@@ -26,19 +26,19 @@ extern void sub_08079D84(void);
extern void sub_080A2CC0(Entity*, Entity**, u16*);
void LakituCloud(Entity* this) {
- gUnk_080D0418[GetNextFunction(this)](this);
+ LakituCloud_Functions[GetNextFunction(this)](this);
}
-void sub_0803CCD4(Entity* this) {
+void LakituCloud_OnTick(Entity* this) {
gUnk_080D0430[this->action](this);
}
-void sub_0803CCEC(Entity* this) {
+void LakituCloud_OnKnockback(Entity* this) {
this->knockbackDuration = 0;
- sub_0803CCD4(this);
+ LakituCloud_OnTick(this);
}
-void sub_0803CCFC(Entity* this) {
+void LakituCloud_OnGrabbed(Entity* this) {
if (sub_0806F520(this) == 0) {
if (this->subAction == 2) {
sub_0803CE3C(this);
@@ -153,8 +153,9 @@ void sub_0803CE3C(Entity* this) {
sub_0803CE14(this);
}
-void (*const gUnk_080D0418[])(Entity*) = {
- sub_0803CCD4, sub_0803CCD4, sub_0803CCEC, sub_0804A7D4, sub_08001242, sub_0803CCFC,
+void (*const LakituCloud_Functions[])(Entity*) = {
+ LakituCloud_OnTick, LakituCloud_OnTick, LakituCloud_OnKnockback,
+ GenericDeath, GenericConfused, LakituCloud_OnGrabbed,
};
void (*const gUnk_080D0430[])(Entity*) = {
diff --git a/src/enemy/leever.c b/src/enemy/leever.c
index df9542f0..405cf0dc 100644
--- a/src/enemy/leever.c
+++ b/src/enemy/leever.c
@@ -16,7 +16,7 @@ extern Entity* gUnk_020000B0;
bool32 Leever_PlayerInRange(Entity*, s32);
void Leever_Move(Entity*);
-extern void (*const gLeeverFunctions[])(Entity*);
+extern void (*const Leever_Functions[])(Entity*);
extern void (*const gLeeverActions[])(Entity*);
extern const s8 gLeeverDrift[];
extern const u16 gUnk_080CA4CA[];
@@ -33,7 +33,7 @@ enum {
};
void Leever(Entity* this) {
- EnemyFunctionHandler(this, gLeeverFunctions);
+ EnemyFunctionHandler(this, Leever_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
@@ -41,22 +41,22 @@ void Leever_OnTick(Entity* this) {
gLeeverActions[this->action](this);
}
-void sub_0801FC40(Entity* this) {
+void Leever_OnCollision(Entity* this) {
if (this->bitfield == 0x80) {
if (this->action == 3) {
this->field_0x74.HWORD = 1;
}
} else {
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
}
- sub_0804AA30(this, gLeeverFunctions);
+ EnemyFunctionHandlerAfterCollision(this, Leever_Functions);
}
-void sub_0801FC7C(Entity* this) {
+void Leever_OnDeath(Entity* this) {
if (this->type == LeeverForm_Red) {
- sub_0804A7D4(this);
+ GenericDeath(this);
} else {
CreateDeathFx(this, 0xf1, 0);
}
@@ -184,12 +184,12 @@ void Leever_Move(Entity* this) {
}
// clang-format off
-void (*const gLeeverFunctions[])(Entity*) = {
+void (*const Leever_Functions[])(Entity*) = {
Leever_OnTick,
- sub_0801FC40,
- sub_08001324,
- sub_0801FC7C,
- sub_08001242,
+ Leever_OnCollision,
+ GenericKnockback,
+ Leever_OnDeath,
+ GenericConfused,
Leever_OnTick,
};
diff --git a/src/enemy/likeLike.c b/src/enemy/likeLike.c
index 8c39b720..97fbdb3d 100644
--- a/src/enemy/likeLike.c
+++ b/src/enemy/likeLike.c
@@ -19,19 +19,19 @@ void sub_080281A0(Entity*);
bool32 sub_080281E0(u32);
void sub_08028224(u32);
-extern void (*const gUnk_080CC6FC[])(Entity*);
+extern void (*const LikeLike_Functions[])(Entity*);
extern void (*const gUnk_080CC714[])(Entity*);
void LikeLike(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CC6FC);
+ EnemyFunctionHandler(this, LikeLike_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_08027D8C(Entity* this) {
+void LikeLike_OnTick(Entity* this) {
gUnk_080CC714[this->action](this);
}
-void sub_08027DA4(Entity* this) {
+void LikeLike_OnCollision(Entity* this) {
if (this->hitType == 1) {
this->action = 3;
COLLISION_OFF(this);
@@ -55,22 +55,22 @@ void sub_08027DA4(Entity* this) {
this->actionDelay = 0x20;
}
- if (this->field_0x43) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CC6FC);
+ EnemyFunctionHandlerAfterCollision(this, LikeLike_Functions);
}
-void sub_08027E40(Entity* this) {
+void LikeLike_OnDeath(Entity* this) {
if (this->actionDelay == 2 && this->field_0x80.HALF.LO != 0xff) {
SetDefaultPriority(this, PRIO_NO_BLOCK);
sub_08028224(this->field_0x80.HALF.LO);
}
- sub_0804A7D4(this);
+ GenericDeath(this);
}
-void nullsub_139(Entity* this) {
+void LikeLike_OnGrabbed(Entity* this) {
/* ... */
}
@@ -271,8 +271,8 @@ void sub_08028224(u32 param_1) {
MessageFromTarget(0x579);
}
-void (*const gUnk_080CC6FC[])(Entity*) = {
- sub_08027D8C, sub_08027DA4, sub_08001324, sub_08027E40, sub_08001242, nullsub_139,
+void (*const LikeLike_Functions[])(Entity*) = {
+ LikeLike_OnTick, LikeLike_OnCollision, GenericKnockback, LikeLike_OnDeath, GenericConfused, LikeLike_OnGrabbed,
};
void (*const gUnk_080CC714[])(Entity*) = {
diff --git a/src/enemy/madderpillar.c b/src/enemy/madderpillar.c
index e68df9fd..0ce445ff 100644
--- a/src/enemy/madderpillar.c
+++ b/src/enemy/madderpillar.c
@@ -23,7 +23,7 @@ void sub_08029FB4(Entity*, u32, u32);
void sub_0802A0F8(Entity*);
extern void (*const gUnk_080CCD44[])(Entity*);
-extern void (*const gUnk_080CCD60[])(Entity*);
+extern void (*const Madderpillar_Functions[])(Entity*);
extern void (*const gUnk_080CCD78[])(Entity*);
extern void (*const gUnk_080CCD88[])(Entity*);
extern const u8 gUnk_080CCDA0[];
@@ -36,14 +36,14 @@ void Madderpillar(Entity* this) {
}
void sub_08029870(Entity* this) {
- gUnk_080CCD60[GetNextFunction(this)](this);
+ Madderpillar_Functions[GetNextFunction(this)](this);
}
-void sub_0802988C(Entity* this) {
+void Madderpillar_OnTick(Entity* this) {
gUnk_080CCD78[this->action](this);
}
-void sub_080298A4(Entity* this) {
+void Madderpillar_OnCollision(Entity* this) {
if (this->action == 1) {
switch (this->bitfield & 0x7f) {
case 0:
@@ -67,18 +67,18 @@ void sub_080298A4(Entity* this) {
}
}
- sub_0804AA30(this, gUnk_080CCD60);
+ EnemyFunctionHandlerAfterCollision(this, Madderpillar_Functions);
}
-void sub_08029980(Entity* this) {
+void Madderpillar_OnDeath(Entity* this) {
if (this->field_0xf) {
this->field_0xf--;
} else {
- sub_0804A7D4(this);
+ GenericDeath(this);
}
}
-void nullsub_14(Entity* this) {
+void Madderpillar_OnGrabbed(Entity* this) {
/* ... */
}
@@ -522,13 +522,13 @@ void (*const gUnk_080CCD44[])(Entity*) = {
sub_08029C98,
};
-void (*const gUnk_080CCD60[])(Entity*) = {
- sub_0802988C,
- sub_080298A4,
- sub_0802988C,
- sub_08029980,
- sub_08001242,
- nullsub_14,
+void (*const Madderpillar_Functions[])(Entity*) = {
+ Madderpillar_OnTick,
+ Madderpillar_OnCollision,
+ Madderpillar_OnTick,
+ Madderpillar_OnDeath,
+ GenericConfused,
+ Madderpillar_OnGrabbed,
};
void (*const gUnk_080CCD78[])(Entity*) = {
diff --git a/src/enemy/mazaalBracelet.c b/src/enemy/mazaalBracelet.c
index dd687ac0..8f9a317d 100644
--- a/src/enemy/mazaalBracelet.c
+++ b/src/enemy/mazaalBracelet.c
@@ -29,9 +29,9 @@ void sub_0803BA8C(Entity*, u32);
void sub_0803B724(Entity*);
extern void SoundReqClipped(Entity*, u32);
-void sub_0803A170(Entity*);
-void sub_0803A188(Entity*);
-void nullsub_167(Entity*);
+void MazaalBracelet_OnTick(Entity*);
+void MazaalBracelet_OnCollision(Entity*);
+void MazaalBracelet_OnGrabbed(Entity*);
void sub_0803A254(Entity*);
void sub_0803B8F8(Entity*);
@@ -98,8 +98,9 @@ extern Hitbox gUnk_080FD364;
extern Hitbox gUnk_080FD36C;
extern Hitbox gUnk_080FD374;
-void (*const gUnk_080CFC14[])(Entity*) = { sub_0803A170, sub_0803A188, sub_08001324,
- sub_0804A7D4, sub_08001242, nullsub_167 };
+void (*const MazaalBracelet_Functions[])(Entity*) = { MazaalBracelet_OnTick, MazaalBracelet_OnCollision,
+ GenericKnockback, GenericDeath,
+ GenericConfused, MazaalBracelet_OnGrabbed };
void (*const gUnk_080CFC2C[])(Entity*) = { sub_0803A254, sub_0803A254, sub_0803B8F8, sub_0803B8F8 };
@@ -130,14 +131,14 @@ const u16 gUnk_080CFD5C[] = { 0xe7, 0xe8 };
extern s8 gUnk_080CED6C[8];
void MazaalBracelet(Entity* this) {
- gUnk_080CFC14[GetNextFunction(this)](this);
+ MazaalBracelet_Functions[GetNextFunction(this)](this);
}
-void sub_0803A170(Entity* this) {
+void MazaalBracelet_OnTick(Entity* this) {
gUnk_080CFC2C[this->type](this);
}
-void sub_0803A188(Entity* this) {
+void MazaalBracelet_OnCollision(Entity* this) {
Entity* ent;
if (this->type < 2) {
@@ -164,10 +165,10 @@ void sub_0803A188(Entity* this) {
SoundReq(SFX_BOSS_HIT);
}
}
- sub_0804AA30(this, gUnk_080CFC14);
+ EnemyFunctionHandlerAfterCollision(this, MazaalBracelet_Functions);
}
-void nullsub_167(Entity* this) {
+void MazaalBracelet_OnGrabbed(Entity* this) {
}
void sub_0803A254(Entity* this) {
diff --git a/src/enemy/mazaalHead.c b/src/enemy/mazaalHead.c
index a2432d0d..add39f8b 100644
--- a/src/enemy/mazaalHead.c
+++ b/src/enemy/mazaalHead.c
@@ -34,9 +34,9 @@ void sub_0803467C(Entity*);
u32 sub_080348A4(Entity*, Entity*, u32);
void sub_08034C00(Entity*);
-void sub_08033EF0(Entity* this);
-void sub_08033F08(Entity* this);
-void nullsub_160(Entity* this);
+void MazaalHead_OnTick(Entity* this);
+void MazaalHead_OnCollision(Entity* this);
+void MazaalHead_OnGrabbed(Entity* this);
void sub_08033F1C(Entity* this);
void sub_08034A84(Entity* this);
void sub_08034AC4(Entity* this);
@@ -67,8 +67,8 @@ void sub_08034B0C(Entity* this);
void sub_08034B38(Entity* this);
void sub_08034BA0(Entity* this);
-void (*const gUnk_080CEC88[])(Entity*) = {
- sub_08033EF0, sub_08033F08, sub_08001324, sub_0804A7D4, sub_08001242, nullsub_160,
+void (*const MazaalHead_Functions[])(Entity*) = {
+ MazaalHead_OnTick, MazaalHead_OnCollision, GenericKnockback, GenericDeath, GenericConfused, MazaalHead_OnGrabbed,
};
void (*const gUnk_080CECA0[])(Entity*) = {
sub_08033F1C, sub_08034A84, sub_08034AC4, sub_08034AC4, sub_08034BC8,
@@ -102,18 +102,18 @@ const ScreenTransitionData gUnk_080CED88 = { 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, 0
const ScreenTransitionData gUnk_080CED9C = { 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, 0x5a, 0, 1, 0, 0, 0 };
void MazaalHead(Entity* this) {
- gUnk_080CEC88[GetNextFunction(this)](this);
+ MazaalHead_Functions[GetNextFunction(this)](this);
}
-void sub_08033EF0(Entity* this) {
+void MazaalHead_OnTick(Entity* this) {
gUnk_080CECA0[this->type](this);
}
-void sub_08033F08(Entity* this) {
- sub_0804AA30(this, gUnk_080CEC88);
+void MazaalHead_OnCollision(Entity* this) {
+ EnemyFunctionHandlerAfterCollision(this, MazaalHead_Functions);
}
-void nullsub_160(Entity* this) {
+void MazaalHead_OnGrabbed(Entity* this) {
}
void sub_08033F1C(Entity* this) {
diff --git a/src/enemy/mazaalMacro.c b/src/enemy/mazaalMacro.c
index aa47e78b..31de7ed6 100644
--- a/src/enemy/mazaalMacro.c
+++ b/src/enemy/mazaalMacro.c
@@ -21,9 +21,9 @@ void sub_08034F70(Entity*);
void sub_08035120(Entity*);
void sub_08035050(Entity*);
-void sub_08034C7C(Entity* this);
-void sub_08034CA4(Entity* this);
-void sub_08034CBC(Entity* this);
+void MazaalMacro_OnTick(Entity* this);
+void MazaalMacro_OnCollision(Entity* this);
+void MazaalMacro_OnDeath(Entity* this);
void sub_08034CC4(Entity* this);
void sub_08034D4C(Entity* this);
void sub_08034DC8(Entity* this);
@@ -34,8 +34,8 @@ void sub_08034ED8(Entity* this);
void sub_08034EE4(Entity* this);
void sub_08034F58(Entity* this);
-void (*const gUnk_080CEE90[])(Entity*) = {
- sub_08034C7C, sub_08034CA4, sub_08001324, sub_08034CBC, sub_08001242,
+void (*const MazaalMacro_Functions[])(Entity*) = {
+ MazaalMacro_OnTick, MazaalMacro_OnCollision, GenericKnockback, MazaalMacro_OnDeath, GenericConfused,
};
void (*const gUnk_080CEEA4[])(Entity*) = {
sub_08034CC4,
@@ -54,10 +54,10 @@ const s16 gUnk_080CEED8[] = { -0x82, -0x81, -0x80, -0x7f, -0x7e, -0x42, -0x41, -
extern const ScreenTransitionData gUnk_0813ABA8;
void MazaalMacro(Entity* this) {
- gUnk_080CEE90[GetNextFunction(this)](this);
+ MazaalMacro_Functions[GetNextFunction(this)](this);
}
-void sub_08034C7C(Entity* this) {
+void MazaalMacro_OnTick(Entity* this) {
if (this->type != 2) {
gUnk_080CEEA4[this->action](this);
} else {
@@ -65,13 +65,13 @@ void sub_08034C7C(Entity* this) {
}
}
-void sub_08034CA4(Entity* this) {
+void MazaalMacro_OnCollision(Entity* this) {
sub_08034FA0(this);
- sub_0804AA30(this, gUnk_080CEE90);
+ EnemyFunctionHandlerAfterCollision(this, MazaalMacro_Functions);
}
-void sub_08034CBC(Entity* this) {
- sub_0804A7D4(this);
+void MazaalMacro_OnDeath(Entity* this) {
+ GenericDeath(this);
}
void sub_08034CC4(Entity* this) {
diff --git a/src/enemy/miniFireballGuy.c b/src/enemy/miniFireballGuy.c
index fd6f54e2..ab5ee505 100644
--- a/src/enemy/miniFireballGuy.c
+++ b/src/enemy/miniFireballGuy.c
@@ -10,31 +10,31 @@
extern void sub_08045678(Entity*);
-extern void (*const gUnk_080D1868[])(Entity*);
+extern void (*const MiniFireballGuy_Functions[])(Entity*);
extern void (*const gUnk_080D1880[])(Entity*);
void MiniFireballGuy(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D1868);
+ EnemyFunctionHandler(this, MiniFireballGuy_Functions);
}
-void sub_080455BC(Entity* this) {
+void MiniFireballGuy_OnTick(Entity* this) {
gUnk_080D1880[this->action](this);
}
-void sub_080455D4(Entity* this) {
- sub_0804AA30(this, gUnk_080D1868);
+void MiniFireballGuy_OnCollision(Entity* this) {
+ EnemyFunctionHandlerAfterCollision(this, MiniFireballGuy_Functions);
}
-void sub_080455E4(Entity* this) {
+void MiniFireballGuy_OnDeath(Entity* this) {
if ((this != this->parent) && (this->parent != NULL)) {
this->field_0x6c.HALF.LO &= 0x7f;
this->parent->child = this->child;
this->child->parent = this->parent;
}
- sub_0804A7D4(this);
+ GenericDeath(this);
}
-void nullsub_23(Entity* this) {
+void MiniFireballGuy_OnGrabbed(Entity* this) {
}
void sub_08045618(Entity* this) {
diff --git a/src/enemy/miniSlime.c b/src/enemy/miniSlime.c
index 8de89a28..7b00fe62 100644
--- a/src/enemy/miniSlime.c
+++ b/src/enemy/miniSlime.c
@@ -13,26 +13,26 @@ void sub_08045374(Entity*);
extern void sub_080452E4(Entity*);
extern void ReplaceMonitoredEntity(Entity*, Entity*);
-extern void (*const gUnk_080D17C0[])(Entity*);
+extern void (*const MiniSlime_Functions[])(Entity*);
extern void (*const gUnk_080D17D8[])(Entity*);
void MiniSlime(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D17C0);
+ EnemyFunctionHandler(this, MiniSlime_Functions);
SetChildOffset(this, 0, 1, -8);
}
-void sub_08045220(Entity* this) {
+void MiniSlime_OnTick(Entity* this) {
gUnk_080D17D8[this->action](this);
}
-void sub_08045238(Entity* this) {
- if (this->field_0x43)
- sub_0804A9FC(this, 0x1c);
+void MiniSlime_OnCollision(Entity* this) {
+ if (this->confusedTime)
+ Create0x68FX(this, FX_STARS);
- sub_0804AA30(this, gUnk_080D17C0);
+ EnemyFunctionHandlerAfterCollision(this, MiniSlime_Functions);
}
-void sub_0804525C(Entity* this) {
+void MiniSlime_OnDeath(Entity* this) {
Entity* parent = this->parent;
if (this != parent && parent) {
this->field_0x6c.HALF.LO &= 0x7f;
@@ -41,10 +41,10 @@ void sub_0804525C(Entity* this) {
if (this->field_0x6c.HALF.HI & 0x40)
ReplaceMonitoredEntity(this, parent);
}
- sub_0804A7D4(this);
+ GenericDeath(this);
}
-void nullsub_22(void) {
+void MiniSlime_OnGrabbed(void) {
}
void sub_080452A4(Entity* this) {
diff --git a/src/enemy/moldorm.c b/src/enemy/moldorm.c
index e53f2856..a2513c45 100644
--- a/src/enemy/moldorm.c
+++ b/src/enemy/moldorm.c
@@ -12,7 +12,7 @@ void sub_08022EAC(Entity*);
void sub_08022F14(Entity*);
extern void (*const gUnk_080CBB90[])(Entity*);
-extern void (*const gUnk_080CBBA0[])(Entity*);
+extern void (*const Moldorm_Functions[])(Entity*);
extern void (*const gUnk_080CBBB4[])(Entity*);
extern void (*const gUnk_080CBBBC[])(Entity*);
@@ -26,15 +26,15 @@ void sub_08022BA0(Entity* this) {
this->field_0x78.HALF.HI++;
this->field_0x74.HWORD = this->x.HALF.HI;
this->field_0x76.HWORD = this->y.HALF.HI;
- EnemyFunctionHandler(this, gUnk_080CBBA0);
+ EnemyFunctionHandler(this, Moldorm_Functions);
sub_08022EAC(this);
}
-void sub_08022BD4(Entity* this) {
+void Moldorm_OnTick(Entity* this) {
gUnk_080CBBB4[this->action](this);
}
-void sub_08022BEC(Entity* this) {
+void Moldorm_OnCollision(Entity* this) {
if (this->field_0x7a.HALF.LO != this->health)
this->field_0x7a.HALF.HI = 30;
@@ -48,7 +48,7 @@ void sub_08022BEC(Entity* this) {
this->child->iframes = this->iframes;
(*(Entity**)&this->field_0x7c)->iframes = this->iframes;
(*(Entity**)&this->field_0x80)->iframes = this->iframes;
- sub_0804AA30(this, gUnk_080CBBA0);
+ EnemyFunctionHandlerAfterCollision(this, Moldorm_Functions);
}
void sub_08022C58(Entity* this) {
@@ -189,12 +189,12 @@ void (*const gUnk_080CBB90[])(Entity*) = {
sub_08022D90,
};
-void (*const gUnk_080CBBA0[])(Entity*) = {
- sub_08022BD4,
- sub_08022BEC,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
+void (*const Moldorm_Functions[])(Entity*) = {
+ Moldorm_OnTick,
+ Moldorm_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
};
void (*const gUnk_080CBBB4[])(Entity*) = {
diff --git a/src/enemy/moldworm.c b/src/enemy/moldworm.c
index 652f0136..d97af3f2 100644
--- a/src/enemy/moldworm.c
+++ b/src/enemy/moldworm.c
@@ -23,7 +23,7 @@ bool32 sub_08023B38(Entity*);
extern const u8 gUnk_080B37A0[];
-extern void (*const gUnk_080CBC38[])(Entity*);
+extern void (*const Moldworm_Functions[])(Entity*);
extern void (*const gUnk_080CBC50[])(Entity*);
extern const s8 gUnk_080CBC70[];
extern const s8 gUnk_080CBC90[];
@@ -40,7 +40,7 @@ NONMATCH("asm/non_matching/moldworm/Moldworm.inc", void Moldworm(Entity* this))
sub_0802390C(this);
}
this->field_0x7c.BYTES.byte1 = this->field_0x7c.BYTES.byte0;
- EnemyFunctionHandler(this, gUnk_080CBC38);
+ EnemyFunctionHandler(this, Moldworm_Functions);
} else {
if (this->parent->next) {
if (this->type != 8) {
@@ -61,11 +61,11 @@ NONMATCH("asm/non_matching/moldworm/Moldworm.inc", void Moldworm(Entity* this))
}
END_NONMATCH
-void sub_080230CC(Entity* this) {
+void Moldworm_OnTick(Entity* this) {
gUnk_080CBC50[this->action](this);
}
-void sub_080230E4(Entity* this) {
+void Moldworm_OnCollision(Entity* this) {
if (this->subAction == 0xff) {
this->action = 7;
this->actionDelay = 1;
@@ -94,15 +94,15 @@ void sub_080230E4(Entity* this) {
gPlayerState.flags &= ~PL_MOLDWORM_CAPTURED;
}
- sub_0804AA30(this, gUnk_080CBC38);
+ EnemyFunctionHandlerAfterCollision(this, Moldworm_Functions);
}
-void sub_080231A4(Entity* this) {
+void Moldworm_OnKnockback(Entity* this) {
this->field_0x7c.BYTES.byte0++;
- sub_08001324(this);
+ GenericKnockback(this);
}
-void nullsub_135(Entity* this) {
+void Moldworm_OnGrabbed(Entity* this) {
}
void sub_080231BC(Entity* this) {
@@ -520,13 +520,13 @@ void sub_08023AB0(Entity* this) {
ASM_FUNC("asm/non_matching/moldworm/sub_08023B38.inc", bool32 sub_08023B38(Entity* this))
// clang-format off
-void (*const gUnk_080CBC38[])(Entity*) = {
- sub_080230CC,
- sub_080230E4,
- sub_080231A4,
- sub_0804A7D4,
- sub_08001242,
- nullsub_135,
+void (*const Moldworm_Functions[])(Entity*) = {
+ Moldworm_OnTick,
+ Moldworm_OnCollision,
+ Moldworm_OnKnockback,
+ GenericDeath,
+ GenericConfused,
+ Moldworm_OnGrabbed,
};
void (*const gUnk_080CBC50[])(Entity*) = {
diff --git a/src/enemy/mulldozer.c b/src/enemy/mulldozer.c
index 38e3bf88..5c7595db 100644
--- a/src/enemy/mulldozer.c
+++ b/src/enemy/mulldozer.c
@@ -54,10 +54,10 @@ void Mulldozer_OnInit(MulldozerEntity* this) {
}
void sub_08032CAC(MulldozerEntity* this) {
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, 0x1c);
}
- sub_0804AA30(super, Mulldozer_Functions);
+ EnemyFunctionHandlerAfterCollision(super, Mulldozer_Functions);
if ((super->bitfield & 0x80) != 0) {
switch (super->bitfield & 0x3f) {
case 2:
@@ -87,7 +87,7 @@ void sub_08032D3C(MulldozerEntity* this) {
sub_08032F24(this);
sub_080331E8(this);
}
- sub_08001324(super);
+ GenericKnockback(super);
}
void nullsub_157(MulldozerEntity* this) {
@@ -441,8 +441,8 @@ void (*const Mulldozer_Functions[])(MulldozerEntity*) = {
Mulldozer_OnInit,
sub_08032CAC,
sub_08032D3C,
- (void (*)(MulldozerEntity*))sub_0804A7D4,
- (void (*)(MulldozerEntity*))sub_08001242,
+ (void (*)(MulldozerEntity*))GenericDeath,
+ (void (*)(MulldozerEntity*))GenericConfused,
nullsub_157,
};
void (*const Mulldozer_Actions[])(MulldozerEntity*) = {
diff --git a/src/enemy/octorok.c b/src/enemy/octorok.c
index 6247a349..f90c0fac 100644
--- a/src/enemy/octorok.c
+++ b/src/enemy/octorok.c
@@ -12,7 +12,7 @@ void Octorok_Pause(Entity*);
bool32 Octorok_FacesPlayer(Entity*);
void Octorok_Turn(Entity*);
-extern void (*const gOctorok[6])(Entity*);
+extern void (*const Octorok_Functions[6])(Entity*);
extern void (*const gOctorokActions[4])(Entity*);
extern void (*const gUnk_080CA158[6])(Entity*);
@@ -24,7 +24,7 @@ extern const s8 gUnk_080CA17E[2];
// Main
void Octorok(Entity* this) {
- EnemyFunctionHandler(this, gOctorok);
+ EnemyFunctionHandler(this, Octorok_Functions);
SetChildOffset(this, 0, 1, -16);
}
@@ -34,23 +34,23 @@ void Octorok_OnTick(Entity* this) {
}
// Touch player
-void sub_0801EAE8(Entity* this) {
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 28);
+void Octorok_OnCollision(Entity* this) {
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gOctorok);
+ EnemyFunctionHandlerAfterCollision(this, Octorok_Functions);
}
// Death
-void sub_0801EB0C(Entity* this) {
+void Octorok_OnDeath(Entity* this) {
if (this->type == 0) {
- sub_0804A7D4(this);
+ GenericDeath(this);
} else {
CreateDeathFx(this, 241, 0);
}
}
-void sub_0801EB2C(Entity* this) {
+void Octorok_OnGrabbed(Entity* this) {
if (this->subAction < 3 && !sub_0806F520(this)) {
Octorok_Pause(this);
InitializeAnimation(this, this->animationState);
@@ -194,13 +194,13 @@ bool32 Octorok_FacesPlayer(Entity* this) {
}
// clang-format off
-void (*const gOctorok[])(Entity*) = {
+void (*const Octorok_Functions[])(Entity*) = {
Octorok_OnTick,
- sub_0801EAE8,
- sub_08001324,
- sub_0801EB0C,
- sub_08001242,
- sub_0801EB2C,
+ Octorok_OnCollision,
+ GenericKnockback,
+ Octorok_OnDeath,
+ GenericConfused,
+ Octorok_OnGrabbed,
};
void (*const gOctorokActions[])(Entity*) = {
diff --git a/src/enemy/octorokBoss.c b/src/enemy/octorokBoss.c
index 4af9d5b8..11f58d13 100644
--- a/src/enemy/octorokBoss.c
+++ b/src/enemy/octorokBoss.c
@@ -151,7 +151,7 @@ void OctorokBoss(Entity* this) {
OctorokBoss_Functions[GetNextFunction(this)](this);
}
-void OctorokBoss_OnHealthZero(Entity* this) {
+void OctorokBoss_Death(Entity* this) {
if (this->type == WHOLE) {
this->action = HIT;
this->subAction = 0;
@@ -356,7 +356,7 @@ void OctorokBoss_Hit_SubAction6(Entity* this) {
GET_HELPER(this)->mouthObject->health = 1;
SoundReq(SFX_BOSS_DIE);
// Kill this boss
- sub_0804A7D4(this);
+ GenericDeath(this);
}
} else {
GET_TIMER(this)--;
@@ -389,7 +389,7 @@ ASM_FUNC("asm/non_matching/octorokBoss/OctorokBoss_Init.inc", void OctorokBoss_I
GET_HELPER(this) = helper;
if (helper == NULL) {
// Kill this boss
- sub_0804A7D4(this);
+ GenericDeath(this);
return;
}
this->myHeap = (u32*)helper;
@@ -1448,7 +1448,7 @@ void sub_08036FE4(Entity* this) {
}
void (*const OctorokBoss_Functions[])(Entity*) = {
- OctorokBoss_OnTick, OctorokBoss_OnTick, sub_08001324, OctorokBoss_OnHealthZero, sub_08001242,
+ OctorokBoss_OnTick, OctorokBoss_OnTick, GenericKnockback, OctorokBoss_Death, GenericConfused,
};
void (*const OctorokBoss_Hit_SubActions[])(Entity*) = {
diff --git a/src/enemy/octorokGolden.c b/src/enemy/octorokGolden.c
index 5167cc4c..ab16e2fb 100644
--- a/src/enemy/octorokGolden.c
+++ b/src/enemy/octorokGolden.c
@@ -2,7 +2,7 @@
#include "enemy.h"
#include "functions.h"
-void (*const gUnk_080CF46C[])(Entity*);
+void (*const OctorokGolden_Functions[])(Entity*);
void (*const gUnk_080CF484[])(Entity*);
extern void (*const gUnk_080012C8[])(Entity*);
const s8 gUnk_080CF490[];
@@ -20,24 +20,24 @@ void OctorokGolden(Entity* this) {
//! @bug index (r4) is uninitialized
gUnk_080012C8[index](this);
} else {
- gUnk_080CF46C[GetNextFunction(this)](this);
+ OctorokGolden_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
}
}
-void sub_08037C84(Entity* this) {
+void OctorokGolden_OnTick(Entity* this) {
gUnk_080CF484[this->action](this);
}
-void sub_08037C9C(Entity* this) {
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+void OctorokGolden_OnCollision(Entity* this) {
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CF46C);
+ EnemyFunctionHandlerAfterCollision(this, OctorokGolden_Functions);
}
-void sub_08037CC0(Entity* this) {
+void OctorokGolden_OnDeath(Entity* this) {
if ((this->field_0x3a & 0x2) == 0) {
SetGlobalFlag(this->type2);
}
@@ -143,8 +143,9 @@ bool32 sub_08037E90(Entity* this) {
return 0;
}
-void (*const gUnk_080CF46C[])(Entity*) = {
- sub_08037C84, sub_08037C9C, sub_08001324, sub_08037CC0, sub_08001242, sub_08037C84,
+void (*const OctorokGolden_Functions[])(Entity*) = {
+ OctorokGolden_OnTick, OctorokGolden_OnCollision, GenericKnockback,
+ OctorokGolden_OnDeath, GenericConfused, OctorokGolden_OnTick,
};
void (*const gUnk_080CF484[])(Entity*) = {
diff --git a/src/enemy/peahat.c b/src/enemy/peahat.c
index 6389b179..b3d20e85 100644
--- a/src/enemy/peahat.c
+++ b/src/enemy/peahat.c
@@ -8,7 +8,7 @@
#include "enemy.h"
#include "functions.h"
-extern void (*const gPeahatFunctions[])(Entity*);
+extern void (*const Peahat_Functions[])(Entity*);
extern void (*const gPeahatPropellerFunctions[])(Entity*);
extern void (*const gPeahatActions[])(Entity*);
extern void (*const gUnk_080CA5BC[])(Entity*);
@@ -40,7 +40,7 @@ enum {
void Peahat(Entity* this) {
if (this->type == PeahatForm_Torso) {
- EnemyFunctionHandler(this, gPeahatFunctions);
+ EnemyFunctionHandler(this, Peahat_Functions);
SetChildOffset(this, 0, 1, -0x10);
} else {
gPeahatPropellerFunctions[this->action](this);
@@ -53,7 +53,7 @@ void Peahat_OnTick(Entity* this) {
this->z.HALF.HI = gPeahatFlightHeights[(this->field_0xf++ & 0x30) >> 4];
}
-void sub_0801FFDC(Entity* this) {
+void Peahat_OnCollision(Entity* this) {
if (this->field_0x82.HALF.LO) {
if (this->bitfield == 0x94) {
Entity* ent = CreateEnemy(PEAHAT, PeahatForm_Propeller);
@@ -87,13 +87,13 @@ void sub_0801FFDC(Entity* this) {
}
}
- if (this->field_0x43)
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime)
+ Create0x68FX(this, FX_STARS);
- sub_0804AA30(this, gPeahatFunctions);
+ EnemyFunctionHandlerAfterCollision(this, Peahat_Functions);
}
-void sub_08020088(Entity* this) {
+void Peahat_OnGrabbed(Entity* this) {
if (2 >= this->subAction && !sub_0806F520(this))
return;
@@ -259,7 +259,7 @@ void Peahat_Stunned(Entity* this) {
void Peahat_RepairPropeller(Entity* this) {
if (this->field_0xf)
if (--this->field_0xf == 0)
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
if (!sub_0800442E(this) && --this->actionDelay)
return;
@@ -275,7 +275,7 @@ void Peahat_RepairPropeller(Entity* this) {
void Peahat_Recover(Entity* this) {
if (this->field_0xf)
if (--this->field_0xf == 0)
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
if (!sub_0800442E(this) && --this->actionDelay)
return;
@@ -373,13 +373,13 @@ void sub_08020604(Entity* this) {
}
// clang-format off
-void (*const gPeahatFunctions[])(Entity*) = {
+void (*const Peahat_Functions[])(Entity*) = {
Peahat_OnTick,
- sub_0801FFDC,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- sub_08020088,
+ Peahat_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ Peahat_OnGrabbed,
};
void (*const gPeahatPropellerFunctions[])(Entity*) = {
diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c
index 5611e2d7..26439e36 100644
--- a/src/enemy/pesto.c
+++ b/src/enemy/pesto.c
@@ -30,7 +30,7 @@ void sub_08024F50(Entity*);
extern Entity* gUnk_020000B0;
-extern void (*const gUnk_080CBEC4[])(Entity*);
+extern void (*const Pesto_Functions[])(Entity*);
extern void (*const gUnk_080CBEDC[])(Entity*);
extern void (*const gUnk_080CBEF8[])(Entity*);
@@ -39,14 +39,14 @@ extern const u16 gUnk_080CBF18[];
extern const u8 gUnk_080CBF20[];
void Pesto(Entity* this) {
- gUnk_080CBEC4[GetNextFunction(this)](this);
+ Pesto_Functions[GetNextFunction(this)](this);
}
-void sub_08023F44(Entity* this) {
+void Pesto_OnTick(Entity* this) {
gUnk_080CBEDC[this->action](this);
}
-void sub_08023F5C(Entity* this) {
+void Pesto_OnCollision(Entity* this) {
if (this->hitType != 0x6e) {
if (this->bitfield == 0x80) {
this->field_0x86.HALF.LO = 0x30;
@@ -69,15 +69,15 @@ void sub_08023F5C(Entity* this) {
this->health = 0;
}
- sub_0804AA30(this, gUnk_080CBEC4);
+ EnemyFunctionHandlerAfterCollision(this, Pesto_Functions);
}
-void sub_08023FE0(Entity* this) {
- sub_08001324(this);
+void Pesto_OnKnockback(Entity* this) {
+ GenericKnockback(this);
GetNextFrame(this);
}
-void sub_08023FF0(Entity* this) {
+void Pesto_OnGrabbed(Entity* this) {
if (this->subAction < 3 && !sub_0806F520(this)) {
this->action = 1;
this->subAction = 0;
@@ -845,13 +845,13 @@ void sub_08024F50(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CBEC4[])(Entity*) = {
- sub_08023F44,
- sub_08023F5C,
- sub_08023FE0,
- sub_0804A7D4,
- sub_08001242,
- sub_08023FF0,
+void (*const Pesto_Functions[])(Entity*) = {
+ Pesto_OnTick,
+ Pesto_OnCollision,
+ Pesto_OnKnockback,
+ GenericDeath,
+ GenericConfused,
+ Pesto_OnGrabbed,
};
void (*const gUnk_080CBEDC[])(Entity*) = {
diff --git a/src/enemy/puffstool.c b/src/enemy/puffstool.c
index 3353422f..f5b8b158 100644
--- a/src/enemy/puffstool.c
+++ b/src/enemy/puffstool.c
@@ -26,7 +26,7 @@ bool32 sub_0802594C(Entity*, u32);
bool32 sub_080257EC(Entity*, u32, u32);
bool32 sub_08025AB8(u32, u32);
-extern void (*const gUnk_080CBF9C[])(Entity*);
+extern void (*const Puffstool_Functions[])(Entity*);
extern void (*const gUnk_080CBFB4[])(Entity*);
extern const u8 gUnk_080CBFE8[];
extern void (*const gUnk_080CBFEC[])(Entity*);
@@ -41,15 +41,15 @@ extern const s8 gUnk_080CC0BA[];
extern const s8 gUnk_080CC0C2[];
void Puffstool(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CBF9C);
+ EnemyFunctionHandler(this, Puffstool_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_08025008(Entity* this) {
+void Puffstool_OnTick(Entity* this) {
gUnk_080CBFB4[this->action](this);
}
-void sub_08025020(Entity* this) {
+void Puffstool_OnCollide(Entity* this) {
u8 tmp;
switch (this->bitfield & 0x7f) {
@@ -94,17 +94,17 @@ void sub_08025020(Entity* this) {
break;
}
- sub_0804AA30(this, gUnk_080CBF9C);
+ EnemyFunctionHandlerAfterCollision(this, Puffstool_Functions);
}
-void sub_0802511C(Entity* this) {
+void Puffstool_OnDeath(Entity* this) {
if ((this->field_0x3a & 2) && this->actionDelay == 1 && this->field_0x82.HALF.LO) {
sub_08025B18(this);
}
- sub_0804A7D4(this);
+ GenericDeath(this);
}
-void sub_0802514C(Entity* this) {
+void Puffstool_OnGrabbed(Entity* this) {
GravityUpdate(this, 0x2000);
if (sub_0806F520(this)) {
gUnk_080CBFEC[this->subAction](this);
@@ -278,7 +278,7 @@ void sub_080254B4(Entity* this) {
sub_080256B4(this);
} else {
this->action = 0xc;
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
}
InitializeAnimation(this, 0);
}
@@ -597,13 +597,13 @@ u32 sub_08025C60(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CBF9C[])(Entity*) = {
- sub_08025008,
- sub_08025020,
- sub_08001324,
- sub_0802511C,
- sub_08001242,
- sub_0802514C,
+void (*const Puffstool_Functions[])(Entity*) = {
+ Puffstool_OnTick,
+ Puffstool_OnCollide,
+ GenericKnockback,
+ Puffstool_OnDeath,
+ GenericConfused,
+ Puffstool_OnGrabbed,
};
void (*const gUnk_080CBFB4[])(Entity*) = {
diff --git a/src/enemy/rockChuchu.c b/src/enemy/rockChuchu.c
index 8f86eebb..a1508d95 100644
--- a/src/enemy/rockChuchu.c
+++ b/src/enemy/rockChuchu.c
@@ -10,18 +10,18 @@
extern void sub_0804A4E4(Entity*, Entity*);
-extern void (*const gUnk_080CB948[])(Entity*);
+extern void (*const RockChuchu_Functions[])(Entity*);
extern void (*const gUnk_080CB960[])(Entity*);
void RockChuchu(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CB948);
+ EnemyFunctionHandler(this, RockChuchu_Functions);
}
-void sub_0802223C(Entity* this) {
+void RockChuchu_OnTick(Entity* this) {
gUnk_080CB960[this->action](this);
}
-void sub_08022254(Entity* this) {
+void RockChuchu_OnCollision(Entity* this) {
Entity* ent;
if (this->health) {
@@ -65,10 +65,10 @@ void sub_08022254(Entity* this) {
InitializeAnimation(this, 2);
}
- sub_0804AA30(this, gUnk_080CB948);
+ EnemyFunctionHandlerAfterCollision(this, RockChuchu_Functions);
}
-void nullsub_131(Entity* this) {
+void RockChuchu_OnGrabbed(Entity* this) {
}
void sub_08022368(Entity* this) {
@@ -115,13 +115,13 @@ void sub_080223E4(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CB948[])(Entity*) = {
- sub_0802223C,
- sub_08022254,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_131,
+void (*const RockChuchu_Functions[])(Entity*) = {
+ RockChuchu_OnTick,
+ RockChuchu_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ RockChuchu_OnGrabbed,
};
void (*const gUnk_080CB960[])(Entity*) = {
diff --git a/src/enemy/rollobite.c b/src/enemy/rollobite.c
index 71ebddee..4db8a577 100644
--- a/src/enemy/rollobite.c
+++ b/src/enemy/rollobite.c
@@ -8,7 +8,7 @@
#include "enemy.h"
#include "functions.h"
-extern void (*const gRollobiteFunctions[])(Entity*);
+extern void (*const Rollobite_Functions[])(Entity*);
extern void (*const gRollobiteActions[])(Entity*);
extern void (*const gUnk_080CA6A4[])(Entity*);
extern void (*const gUnk_080CA6BC[])(Entity*);
@@ -25,7 +25,7 @@ extern void sub_080AE7E8(Entity*, u32, u32, u32);
extern void sub_08078930(Entity*);
void Rollobite(Entity* this) {
- EnemyFunctionHandler(this, gRollobiteFunctions);
+ EnemyFunctionHandler(this, Rollobite_Functions);
}
void Rollobite_OnTick(Entity* this) {
@@ -33,7 +33,7 @@ void Rollobite_OnTick(Entity* this) {
gRollobiteActions[this->action](this);
}
-void sub_08020668(Entity* this) {
+void Rollobite_OnCollision(Entity* this) {
if (this->hitType == 34 && this->health != 0xff) {
this->action = 4;
this->zVelocity = Q_16_16(2.0);
@@ -56,7 +56,7 @@ void sub_08020668(Entity* this) {
Rollobite_OnTick(this);
}
-void sub_080206E0(Entity* this) {
+void Rollobite_OnKnockback(Entity* this) {
if (Rollobite_TryToHoleUp(this)) {
this->knockbackDuration = 0;
} else if (Rollobite_IsRolledUp(this)) {
@@ -64,11 +64,11 @@ void sub_080206E0(Entity* this) {
sub_080AE58C(this, this->knockbackDirection, 10);
sub_080AE7E8(this, this->field_0x46, this->knockbackDirection, 10);
} else {
- sub_08001324(this);
+ GenericKnockback(this);
}
}
-void sub_08020734(Entity* this) {
+void Rollobite_OnGrabbed(Entity* this) {
if (this->subAction < 3 && !sub_0806F520(this)) {
this->action = 4;
COLLISION_ON(this);
@@ -285,13 +285,13 @@ bool32 Rollobite_IsRolledUp(Entity* this) {
}
// clang-format off
-void (*const gRollobiteFunctions[])(Entity*) = {
+void (*const Rollobite_Functions[])(Entity*) = {
Rollobite_OnTick,
- sub_08020668,
- sub_080206E0,
- sub_0804A7D4,
- sub_08001242,
- sub_08020734,
+ Rollobite_OnCollision,
+ Rollobite_OnKnockback,
+ GenericDeath,
+ GenericConfused,
+ Rollobite_OnGrabbed,
};
void (*const gRollobiteActions[])(Entity*) = {
diff --git a/src/enemy/rope.c b/src/enemy/rope.c
index 05e1c85e..c5caac37 100644
--- a/src/enemy/rope.c
+++ b/src/enemy/rope.c
@@ -8,7 +8,7 @@
#include "enemy.h"
#include "functions.h"
-extern void (*const gRope[6])(Entity*);
+extern void (*const Rope_Functions[6])(Entity*);
extern void (*const gUnk_080CE460[4])(Entity*);
extern void (*const gUnk_080CE470[3])(Entity*);
extern Entity* gUnk_020000B0;
@@ -18,7 +18,7 @@ void sub_08031600(Entity*);
u32 sub_0803163C(Entity*);
void Rope(Entity* this) {
- EnemyFunctionHandler(this, gRope);
+ EnemyFunctionHandler(this, Rope_Functions);
SetChildOffset(this, 0, 1, -16);
}
@@ -26,19 +26,19 @@ void Rope_OnTick(Entity* this) {
gUnk_080CE460[this->action](this);
}
-void sub_080313AC(Entity* this) {
+void Rope_OnCollision(Entity* this) {
if (this->action == 3) {
this->field_0xf = 0x1e;
this->field_0x78.HALF.LO = 0x3c;
sub_08031600(this);
}
- if (this->field_0x43) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gRope);
+ EnemyFunctionHandlerAfterCollision(this, Rope_Functions);
}
-void sub_080313E8(Entity* this) {
+void Rope_OnGrabbed(Entity* this) {
if (sub_0806F520()) {
gUnk_080CE470[this->subAction](this);
}
@@ -55,7 +55,7 @@ void sub_08031418(Entity* this) {
void sub_08031420(Entity* this) {
if (sub_0806F3E4(this)) {
- sub_0804A7D4(this);
+ GenericDeath(this);
}
}
diff --git a/src/enemy/ropeGolden.c b/src/enemy/ropeGolden.c
index f31229aa..881d1e36 100644
--- a/src/enemy/ropeGolden.c
+++ b/src/enemy/ropeGolden.c
@@ -11,7 +11,7 @@
#include "enemy.h"
extern void (*const gUnk_080012C8[])(Entity*);
-extern void (*const gUnk_080CF4C8[6])(Entity*);
+extern void (*const RopeGolden_Functions[6])(Entity*);
extern void (*const gUnk_080CF4E0[4])(Entity*);
extern s32 sub_080012DC(Entity*);
@@ -26,7 +26,7 @@ void RopeGolden(Entity* this) {
if (x != 0) {
gUnk_080012C8[x](this);
} else {
- gUnk_080CF4C8[GetNextFunction(this)](this);
+ RopeGolden_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
}
}
@@ -35,14 +35,14 @@ void RopeGolden_OnTick(Entity* this) {
gUnk_080CF4E0[this->action](this);
}
-void sub_08038210(Entity* this) {
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+void RopeGolden_OnCollision(Entity* this) {
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CF4C8);
+ EnemyFunctionHandlerAfterCollision(this, RopeGolden_Functions);
}
-void sub_08038234(Entity* this) {
+void RopeGolden_OnDeath(Entity* this) {
if ((this->field_0x3a & 2) == 0) {
SetGlobalFlag(this->type2);
}
diff --git a/src/enemy/rupeeLike.c b/src/enemy/rupeeLike.c
index 40964971..c285f0c0 100644
--- a/src/enemy/rupeeLike.c
+++ b/src/enemy/rupeeLike.c
@@ -21,7 +21,7 @@ extern void sub_080297F0(Entity*);
extern void sub_080296C8(Entity*);
extern void sub_0802969C(Entity*);
-extern void (*const gUnk_080CCC00[])(Entity*);
+extern void (*const RupeeLike_Functions[])(Entity*);
extern void (*const gUnk_080CCC18[])(Entity*);
extern void (*const gUnk_080CCC3C[])(Entity*);
@@ -41,7 +41,7 @@ void RupeeLike(Entity* this) {
}
sub_08001290(this, uVar1);
} else {
- gUnk_080CCC00[GetNextFunction(this)](this);
+ RupeeLike_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
}
} else {
@@ -49,11 +49,11 @@ void RupeeLike(Entity* this) {
}
}
-void sub_08029300(Entity* this) {
+void RupeeLike_OnTick(Entity* this) {
gUnk_080CCC18[this->action](this);
}
-void sub_08029318(Entity* this) {
+void RupeeLike_OnCollision(Entity* this) {
if (this->hitType == 0x8e) {
sub_08029770(this);
} else {
@@ -73,19 +73,19 @@ void sub_08029318(Entity* this) {
this->field_0x80.HALF.LO = gPlayerEntity.spritePriority.b1;
EnqueueSFX(SFX_104);
} else {
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
}
}
- sub_0804AA30(this, gUnk_080CCC00);
+ EnemyFunctionHandlerAfterCollision(this, RupeeLike_Functions);
}
-void sub_080293B4(Entity* this) {
+void RupeeLike_OnDeath(Entity* this) {
CreateDeathFx(this, 0xff, gUnk_080CCC34[this->cutsceneBeh.HALF.LO * 3 + this->type]);
}
-void nullsub_141(Entity* this) {
+void RupeeLike_OnGrabbed(Entity* this) {
}
void sub_080293DC(Entity* this) {
@@ -293,13 +293,13 @@ void sub_080297F0(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CCC00[])(Entity*) = {
- sub_08029300,
- sub_08029318,
- sub_08001324,
- sub_080293B4,
- sub_08001242,
- nullsub_141,
+void (*const RupeeLike_Functions[])(Entity*) = {
+ RupeeLike_OnTick,
+ RupeeLike_OnCollision,
+ GenericKnockback,
+ RupeeLike_OnDeath,
+ GenericConfused,
+ RupeeLike_OnGrabbed,
};
void (*const gUnk_080CCC18[])(Entity*) = {
diff --git a/src/enemy/scissorsBeetle.c b/src/enemy/scissorsBeetle.c
index e2de30fe..9c78d925 100644
--- a/src/enemy/scissorsBeetle.c
+++ b/src/enemy/scissorsBeetle.c
@@ -28,24 +28,24 @@ void ScissorsBeetle(Entity* this) {
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_080388D4(ScissorsBeetleEntity* this) {
+void ScissorsBeetle_OnTick(ScissorsBeetleEntity* this) {
ScissorsBeetle_Actions[super->action](this);
}
-void sub_080388EC(ScissorsBeetleEntity* this) {
+void ScissorsBeetle_OnCollision(ScissorsBeetleEntity* this) {
Entity* child;
- if (super->field_0x43) {
- sub_0804A9FC(super, 0x1c);
+ if (super->confusedTime) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, ScissorsBeetle_Functions);
+ EnemyFunctionHandlerAfterCollision(super, ScissorsBeetle_Functions);
if ((super->bitfield & 0x80) && super->action != 4) {
u32 knockbackDir;
child = super->child;
child->iframes = super->iframes;
knockbackDir = super->knockbackDirection;
child->knockbackDirection = knockbackDir;
- if (super->field_0x43) {
+ if (super->confusedTime) {
COLLISION_OFF(child);
} else if (super->action == 1) {
child->direction = Direction8Round(knockbackDir + 0x12);
@@ -58,7 +58,7 @@ void sub_080388EC(ScissorsBeetleEntity* this) {
}
}
-void nullsub_164(ScissorsBeetleEntity* this) {
+void ScissorsBeetle_OnGrabbed(ScissorsBeetleEntity* this) {
}
void ScissorsBeetle_Init(ScissorsBeetleEntity* this) {
@@ -231,8 +231,12 @@ void sub_08038C84(ScissorsBeetleEntity* this, u32 arg2) {
}
void (*const ScissorsBeetle_Functions[])(Entity*) = {
- (EntityActionPtr)sub_080388D4, (EntityActionPtr)sub_080388EC, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)nullsub_164,
+ (EntityActionPtr)ScissorsBeetle_OnTick,
+ (EntityActionPtr)ScissorsBeetle_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ (EntityActionPtr)ScissorsBeetle_OnGrabbed,
};
void (*const ScissorsBeetle_Actions[])(ScissorsBeetleEntity*) = {
diff --git a/src/enemy/slime.c b/src/enemy/slime.c
index 0ef493dd..b496288d 100644
--- a/src/enemy/slime.c
+++ b/src/enemy/slime.c
@@ -18,32 +18,32 @@ void sub_08045178(Entity*, Entity*, int, int);
extern void sub_0804A4E4(Entity*, Entity*);
extern void (*const gUnk_080D16BC[])(Entity*);
-extern void (*const gUnk_080D16A4[])(Entity*);
+extern void (*const Slime_Functions[])(Entity*);
extern u8 gUnk_080D16D0[4]; // Entity count per form
extern PosOffset gUnk_080D16D4[4];
void Slime(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080D16A4);
+ EnemyFunctionHandler(this, Slime_Functions);
SetChildOffset(this, 0, 1, -12);
}
-void sub_08044F70(Entity* this) {
+void Slime_OnTick(Entity* this) {
gUnk_080D16BC[this->action](this);
}
-void sub_08044F88(Entity* this) {
+void Slime_OnCollision(Entity* this) {
if ((this->health != 0) && (this->cutsceneBeh.HALF.LO != this->health)) {
this->action = 4;
} else {
- sub_0804AA30(this, gUnk_080D16A4);
+ EnemyFunctionHandlerAfterCollision(this, Slime_Functions);
}
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 28);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
}
-void nullsub_171(Entity* this) {
+void Slime_OnGrabbed(Entity* this) {
}
void sub_08044FC8(Entity* this) {
diff --git a/src/enemy/sluggula.c b/src/enemy/sluggula.c
index 7d6b68e9..460da1b8 100644
--- a/src/enemy/sluggula.c
+++ b/src/enemy/sluggula.c
@@ -18,7 +18,7 @@ void sub_0804A4E4(Entity*, Entity*);
extern void (*const gUnk_080012C8[])(Entity*);
-extern void (*const gUnk_080CBDBC[])(Entity*);
+extern void (*const Sluggula_Functions[])(Entity*);
extern void (*const gUnk_080CBDD4[])(Entity*);
extern void (*const gUnk_080CBDEC[])(Entity*);
@@ -28,7 +28,7 @@ extern const s8 gUnk_080CBDFF[];
void Sluggula(Entity* this) {
if (this->type == 1) {
- EnemyFunctionHandler(this, gUnk_080CBDBC);
+ EnemyFunctionHandler(this, Sluggula_Functions);
SetChildOffset(this, 0, 1, -0x10);
} else if (this->type == 0) {
@@ -47,22 +47,22 @@ void Sluggula(Entity* this) {
}
}
-void sub_08023C08(Entity* this) {
+void Sluggula_OnTick(Entity* this) {
gUnk_080CBDEC[this->action](this);
}
-void sub_08023C20(Entity* this) {
- if (this->field_0x43)
- sub_0804A9FC(this, 0x1c);
+void Sluggula_OnCollision(Entity* this) {
+ if (this->confusedTime)
+ Create0x68FX(this, FX_STARS);
if (this->type == 1) {
- sub_0804AA30(this, gUnk_080CBDBC);
+ EnemyFunctionHandlerAfterCollision(this, Sluggula_Functions);
} else {
- sub_0804AA30(this, gUnk_080CBDD4);
+ EnemyFunctionHandlerAfterCollision(this, gUnk_080CBDD4);
}
}
-void nullsub_137(Entity* this) {
+void Sluggula_OnGrabbed(Entity* this) {
/* ... */
}
@@ -195,22 +195,22 @@ void sub_08023E9C(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CBDBC[])(Entity*) = {
- sub_08023C08,
- sub_08023C20,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_137,
+void (*const Sluggula_Functions[])(Entity*) = {
+ Sluggula_OnTick,
+ Sluggula_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ Sluggula_OnGrabbed,
};
void (*const gUnk_080CBDD4[])(Entity*) = {
sub_08023CE0,
- sub_08023C20,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_137,
+ Sluggula_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ Sluggula_OnGrabbed,
};
void (*const gUnk_080CBDEC[])(Entity*) = {
diff --git a/src/enemy/smallPesto.c b/src/enemy/smallPesto.c
index 6d444f71..69f1e461 100644
--- a/src/enemy/smallPesto.c
+++ b/src/enemy/smallPesto.c
@@ -10,7 +10,7 @@
extern void sub_080317F8(Entity*);
-extern void (*gUnk_080CE530[])(Entity*);
+extern void (*SmallPesto_Functions[])(Entity*);
extern void (*gUnk_080CE548[])(Entity*);
extern void (*gUnk_080CE554[])(Entity*);
@@ -21,17 +21,17 @@ void sub_08031840(Entity*);
extern Hitbox gUnk_080CE560;
void SmallPesto(Entity* this) {
- gUnk_080CE530[GetNextFunction(this)](this);
+ SmallPesto_Functions[GetNextFunction(this)](this);
}
-void sub_08031680(Entity* this) {
+void SmallPesto_OnTick(Entity* this) {
gUnk_080CE548[this->action](this);
}
-void nullsub_152(Entity* this) {
+void SmallPesto_OnCollision(Entity* this) {
}
-void sub_0803169C(Entity* this) {
+void SmallPesto_OnGrabbed(Entity* this) {
s32 iVar1;
GetNextFrame(this);
@@ -58,7 +58,7 @@ void sub_080316E8(Entity* this) {
void sub_080316F0(Entity* this) {
if (sub_0806F3E4(this)) {
- sub_0804A7D4(this);
+ GenericDeath(this);
}
}
diff --git a/src/enemy/spark.c b/src/enemy/spark.c
index 30940109..7f467944 100644
--- a/src/enemy/spark.c
+++ b/src/enemy/spark.c
@@ -9,18 +9,18 @@
#include "object.h"
#include "functions.h"
-extern void (*const gUnk_080CD234[])(Entity*);
+extern void (*const Spark_Functions[])(Entity*);
extern void (*const gUnk_080CD24C[])(Entity*);
void Spark(Entity* this) {
- gUnk_080CD234[GetNextFunction(this)](this);
+ Spark_Functions[GetNextFunction(this)](this);
}
-void sub_0802B2C8(Entity* this) {
+void Spark_OnTick(Entity* this) {
gUnk_080CD24C[this->action](this);
}
-void sub_0802B2E0(Entity* this) {
+void Spark_OnCollision(Entity* this) {
Entity* ent;
if (this->bitfield & 0x80) {
@@ -39,7 +39,7 @@ void sub_0802B2E0(Entity* this) {
}
}
-void nullsub_15(Entity* this) {
+void Spark_OnGrabbed(Entity* this) {
/* ... */
}
@@ -130,13 +130,13 @@ void sub_0802B4A8(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CD234[])(Entity*) = {
- sub_0802B2C8,
- sub_0802B2E0,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_15,
+void (*const Spark_Functions[])(Entity*) = {
+ Spark_OnTick,
+ Spark_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ Spark_OnGrabbed,
};
void (*const gUnk_080CD24C[])(Entity*) = {
diff --git a/src/enemy/spearMoblin.c b/src/enemy/spearMoblin.c
index 8902e7fc..6c3110cb 100644
--- a/src/enemy/spearMoblin.c
+++ b/src/enemy/spearMoblin.c
@@ -20,7 +20,7 @@ void sub_080288C0(Entity*);
bool32 sub_08028828(u32, u32);
void sub_080287B4(Entity*);
-extern void (*const gUnk_080CC790[])(Entity*);
+extern void (*const SpearMoblin_Functions[])(Entity*);
extern void (*const gUnk_080CC7A8[])(Entity*);
extern const u8 gUnk_080CC7BC[];
extern const s8 gUnk_080CC7C0[];
@@ -30,22 +30,22 @@ extern const u16 gUnk_080CC7D8[];
extern const Hitbox* const gUnk_080CC944[];
void SpearMoblin(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CC790);
+ EnemyFunctionHandler(this, SpearMoblin_Functions);
SetChildOffset(this, 0, 1, -0x20);
if (this->child && this->child->next) {
CopyPosition(this, this->child);
}
}
-void sub_0802826C(Entity* this) {
+void SpearMoblin_OnTick(Entity* this) {
gUnk_080CC7A8[this->action](this);
}
-void sub_08028284(Entity* this) {
- if (this->field_0x43 != 0)
- sub_0804A9FC(this, 0x1c);
+void SpearMoblin_OnCollision(Entity* this) {
+ if (this->confusedTime != 0)
+ Create0x68FX(this, FX_STARS);
- sub_0804AA30(this, gUnk_080CC790);
+ EnemyFunctionHandlerAfterCollision(this, SpearMoblin_Functions);
if (this->bitfield & 0x80) {
if (this->action != 4) {
sub_08028754(this);
@@ -68,7 +68,7 @@ void sub_08028284(Entity* this) {
}
}
-void nullsub_13(Entity* this) {
+void SpearMoblin_OnGrabbed(Entity* this) {
/* ... */
}
@@ -390,13 +390,13 @@ void sub_080288C0(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CC790[])(Entity*) = {
- sub_0802826C,
- sub_08028284,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_13,
+void (*const SpearMoblin_Functions[])(Entity*) = {
+ SpearMoblin_OnTick,
+ SpearMoblin_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ SpearMoblin_OnGrabbed,
};
void (*const gUnk_080CC7A8[])(Entity*) = {
diff --git a/src/enemy/spikedBeetle.c b/src/enemy/spikedBeetle.c
index fa3d70b4..8b10fb17 100644
--- a/src/enemy/spikedBeetle.c
+++ b/src/enemy/spikedBeetle.c
@@ -16,21 +16,21 @@ void sub_0802B9B4(Entity*);
void sub_0802B7A4(Entity*);
void sub_0802B960(Entity*);
-extern void (*const gUnk_080CD2D8[])(Entity*);
+extern void (*const SpikedBeetle_Functions[])(Entity*);
extern void (*const gUnk_080CD2F0[])(Entity*);
extern const u8 gUnk_080CD314[];
extern const s8 gUnk_080CD318[];
void SpikedBeetle(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CD2D8);
+ EnemyFunctionHandler(this, SpikedBeetle_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_0802B610(Entity* this) {
+void SpikedBeetle_OnTick(Entity* this) {
gUnk_080CD2F0[this->action](this);
}
-void sub_0802B628(Entity* this) {
+void SpikedBeetle_OnCollision(Entity* this) {
switch (this->bitfield & 0x7f) {
case 0:
case 4:
@@ -63,13 +63,13 @@ void sub_0802B628(Entity* this) {
InitializeAnimation(this, 9);
}
}
- if (this->field_0x43) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CD2D8);
+ EnemyFunctionHandlerAfterCollision(this, SpikedBeetle_Functions);
}
-void nullsub_144(Entity* this) {
+void SpikedBeetle_OnGrabbed(Entity* this) {
/* ... */
}
@@ -210,13 +210,13 @@ void sub_0802B9B4(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CD2D8[])(Entity*) = {
- sub_0802B610,
- sub_0802B628,
- sub_08001324,
- sub_0804A7D4,
- sub_08001242,
- nullsub_144,
+void (*const SpikedBeetle_Functions[])(Entity*) = {
+ SpikedBeetle_OnTick,
+ SpikedBeetle_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ SpikedBeetle_OnGrabbed,
};
void (*const gUnk_080CD2F0[])(Entity*) = {
diff --git a/src/enemy/spinyBeetle.c b/src/enemy/spinyBeetle.c
index 81a45577..3c5fcbcc 100644
--- a/src/enemy/spinyBeetle.c
+++ b/src/enemy/spinyBeetle.c
@@ -18,7 +18,7 @@ typedef struct {
u16 unk_84;
} SpinyBeetleEntity;
-void (*const gUnk_080CEBEC[])(Entity*);
+void (*const SpinyBeetle_Functions[])(Entity*);
void (*const gUnk_080CEC04[])(SpinyBeetleEntity*);
const s8 gUnk_080CEC1C[];
@@ -26,25 +26,25 @@ extern void sub_08033E1C(SpinyBeetleEntity*);
extern void sub_08033D78(SpinyBeetleEntity*);
extern u32 sub_08033DF0(SpinyBeetleEntity*);
extern void SpinyBeetle_SetHitType(SpinyBeetleEntity*);
-extern void sub_0804AA30(Entity*, EntityActionArray);
+extern void EnemyFunctionHandlerAfterCollision(Entity*, EntityActionArray);
extern void sub_0807B9B8(s32, s32, s32);
extern u32 sub_0804A024(Entity*, u32, u32);
void SpinyBeetle(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CEBEC);
+ EnemyFunctionHandler(this, SpinyBeetle_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_080337BC(SpinyBeetleEntity* this) {
+void SpinyBeetle_OnTick(SpinyBeetleEntity* this) {
gUnk_080CEC04[super->action](this);
}
-void sub_080337D4(SpinyBeetleEntity* this) {
- if (super->field_0x43) {
- sub_0804A9FC(super, 0x1c);
+void SpinyBeetle_OnCollision(SpinyBeetleEntity* this) {
+ if (super->confusedTime) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, gUnk_080CEBEC);
+ EnemyFunctionHandlerAfterCollision(super, SpinyBeetle_Functions);
if (super->bitfield & 0x80) {
if (super->iframes > 0 && super->child) {
sub_08033E1C(this);
@@ -62,11 +62,11 @@ void sub_080337D4(SpinyBeetleEntity* this) {
}
}
-void nullsub_159(SpinyBeetleEntity* this) {
+void SpinyBeetle_OnGrabbed(SpinyBeetleEntity* this) {
}
-void sub_08033870(SpinyBeetleEntity* this) {
- sub_08001242(super);
+void SpinyBeetle_OnConfused(SpinyBeetleEntity* this) {
+ GenericConfused(super);
if (super->action != 5) {
if (sub_08033DF0(this)) {
@@ -382,9 +382,9 @@ const u16 unusedLabel_0CEBDC[] = {
0x3F, 0x1C, 0x50, 0x2A, 0x55, 0x1D, 0x5C, 0x2B,
};
-void (*const gUnk_080CEBEC[])(Entity*) = {
- (EntityActionPtr)sub_080337BC, (EntityActionPtr)sub_080337D4, sub_08001324, sub_0804A7D4,
- (EntityActionPtr)sub_08033870, (EntityActionPtr)nullsub_159,
+void (*const SpinyBeetle_Functions[])(Entity*) = {
+ (EntityActionPtr)SpinyBeetle_OnTick, (EntityActionPtr)SpinyBeetle_OnCollision, GenericKnockback, GenericDeath,
+ (EntityActionPtr)SpinyBeetle_OnConfused, (EntityActionPtr)SpinyBeetle_OnGrabbed,
};
void (*const gUnk_080CEC04[])(SpinyBeetleEntity*) = {
diff --git a/src/enemy/spinyChuchu.c b/src/enemy/spinyChuchu.c
index 68df4b69..27a07827 100644
--- a/src/enemy/spinyChuchu.c
+++ b/src/enemy/spinyChuchu.c
@@ -16,7 +16,7 @@ extern void sub_0804AA1C(Entity*);
u32 sub_080228CC(Entity*);
u32 sub_080228F0(Entity*);
-extern void (*const gUnk_080CBA28[])(Entity*);
+extern void (*const SpinyChuchu_Functions[])(Entity*);
extern void (*const gUnk_080CBA40[])(Entity*);
extern const u8 gUnk_080CBA60[];
@@ -27,15 +27,15 @@ extern Hitbox gHitbox_32;
extern Entity* gUnk_020000B0;
void SpinyChuchu(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CBA28);
+ EnemyFunctionHandler(this, SpinyChuchu_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_08022434(Entity* this) {
+void SpinyChuchu_OnTick(Entity* this) {
gUnk_080CBA40[this->action](this);
}
-void sub_0802244C(Entity* this) {
+void SpinyChuchu_OnCollision(Entity* this) {
if (this->health) {
if (this->hitType == 0x65) {
switch (this->bitfield & 0x7f) {
@@ -56,13 +56,13 @@ void sub_0802244C(Entity* this) {
case 0x18:
case 0x19:
case 0x1a:
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
this->action = 5;
this->hitType = 0x5c;
InitializeAnimation(this, 1);
}
} else if (this->bitfield == 0x94) {
- sub_0804A9FC(this, 0x1c);
+ Create0x68FX(this, FX_STARS);
this->action = 5;
InitializeAnimation(this, 1);
}
@@ -83,25 +83,25 @@ void sub_0802244C(Entity* this) {
}
this->field_0x80.HALF.LO = this->health;
- sub_0804AA30(this, gUnk_080CBA28);
+ EnemyFunctionHandlerAfterCollision(this, SpinyChuchu_Functions);
}
-void sub_080225A0(Entity* this) {
+void SpinyChuchu_OnKnockback(Entity* this) {
if (this->animIndex == 1)
GetNextFrame(this);
sub_08001318(this);
}
-void sub_080225BC(Entity* this) {
+void SpinyChuchu_OnDeath(Entity* this) {
GravityUpdate(this, Q_8_8(24.0));
if (this->frame & 1) {
- sub_0804A7D4(this);
+ GenericDeath(this);
} else {
GetNextFrame(this);
}
}
-void nullsub_9(Entity* this) {
+void SpinyChuchu_OnGrabbed(Entity* this) {
}
void sub_080225EC(Entity* this) {
@@ -265,13 +265,13 @@ u32 sub_080228F0(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CBA28[])(Entity*) = {
- sub_08022434,
- sub_0802244C,
- sub_080225A0,
- sub_080225BC,
- sub_08001242,
- nullsub_9,
+void (*const SpinyChuchu_Functions[])(Entity*) = {
+ SpinyChuchu_OnTick,
+ SpinyChuchu_OnCollision,
+ SpinyChuchu_OnKnockback,
+ SpinyChuchu_OnDeath,
+ GenericConfused,
+ SpinyChuchu_OnGrabbed,
};
void (*const gUnk_080CBA40[])(Entity*) = {
diff --git a/src/enemy/stalfos.c b/src/enemy/stalfos.c
index 2fea7018..2e6205d8 100644
--- a/src/enemy/stalfos.c
+++ b/src/enemy/stalfos.c
@@ -107,10 +107,10 @@ NONMATCH("asm/non_matching/stalfos/sub_0803933C.inc", void sub_0803933C(StalfosE
}
super->flags2 &= 0xfb;
}
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, 0x1c);
}
- sub_0804AA30(super, Stalfos_Functions);
+ EnemyFunctionHandlerAfterCollision(super, Stalfos_Functions);
}
END_NONMATCH
@@ -118,7 +118,7 @@ void sub_08039418(StalfosEntity* this) {
if (super->type == 0) {
CreateDeathFx(super, 0xf3, 0);
} else {
- sub_0804A7D4(super);
+ GenericDeath(super);
}
}
@@ -451,9 +451,9 @@ ASM_FUNC("asm/non_matching/stalfos/sub_08039B28.inc", u32 sub_08039B28(StalfosEn
void (*const Stalfos_Functions[])(StalfosEntity*) = {
Stalfos_OnTick,
sub_0803933C,
- (void (*)(StalfosEntity*))sub_08001324,
+ (void (*)(StalfosEntity*))GenericKnockback,
sub_08039418,
- (void (*)(StalfosEntity*))sub_08001242,
+ (void (*)(StalfosEntity*))GenericConfused,
sub_08039438,
};
void (*const Stalfos_Actions[])(StalfosEntity*) = {
diff --git a/src/enemy/takkuri.c b/src/enemy/takkuri.c
index a9a29a9b..dc28b862 100644
--- a/src/enemy/takkuri.c
+++ b/src/enemy/takkuri.c
@@ -22,7 +22,7 @@ static_assert(sizeof(TakkuriEntity) == 0x88);
extern Entity* gUnk_020000B0;
-void (*const gUnk_080CFF3C[])(Entity*);
+void (*const Takkuri_Functions[])(Entity*);
void (*const gUnk_080CFF54[])(TakkuriEntity*);
void (*const gUnk_080CFF6C[])(TakkuriEntity*);
@@ -33,14 +33,14 @@ void sub_0803BF48(TakkuriEntity* this);
void sub_0803C120(TakkuriEntity* this);
void Takkuri(Entity* this) {
- gUnk_080CFF3C[GetNextFunction(this)](this);
+ Takkuri_Functions[GetNextFunction(this)](this);
}
-void sub_0803BB98(TakkuriEntity* this) {
+void Takkuri_OnTick(TakkuriEntity* this) {
gUnk_080CFF54[super->action](this);
}
-void sub_0803BBB0(TakkuriEntity* this) {
+void Takkuri_OnCollision(TakkuriEntity* this) {
if (super->bitfield & 0x80) {
if ((super->bitfield & 0x7f) == 0) {
u32 direction;
@@ -71,7 +71,7 @@ void sub_0803BBB0(TakkuriEntity* this) {
GetNextFrame(super);
}
-void sub_0803BC34(TakkuriEntity* this) {
+void Takkuri_OnGrabbed(TakkuriEntity* this) {
gUnk_080CFF6C[super->subAction](this);
GetNextFrame(super);
if (sub_0806F520(super) == 0) {
@@ -95,7 +95,7 @@ void sub_0803BC88(TakkuriEntity* this) {
void sub_0803BC90(TakkuriEntity* this) {
if (sub_0806F3E4(super)) {
- sub_0804A7D4(super);
+ GenericDeath(super);
}
}
@@ -346,9 +346,13 @@ void sub_0803C120(TakkuriEntity* this) {
super->spritePriority.b1 = 3;
}
-void (*const gUnk_080CFF3C[])(Entity*) = {
- (EntityActionPtr)sub_0803BB98, (EntityActionPtr)sub_0803BBB0, sub_08001324, sub_0804A7D4, sub_08001242,
- (EntityActionPtr)sub_0803BC34,
+void (*const Takkuri_Functions[])(Entity*) = {
+ (EntityActionPtr)Takkuri_OnTick,
+ (EntityActionPtr)Takkuri_OnCollision,
+ GenericKnockback,
+ GenericDeath,
+ GenericConfused,
+ (EntityActionPtr)Takkuri_OnGrabbed,
};
void (*const gUnk_080CFF54[])(TakkuriEntity*) = {
diff --git a/src/enemy/tektite.c b/src/enemy/tektite.c
index 168f69b6..c833daa1 100644
--- a/src/enemy/tektite.c
+++ b/src/enemy/tektite.c
@@ -10,28 +10,28 @@
static void sub_0802F45C(Entity* this);
-extern void (*const gUnk_080CDED0[])(Entity*);
+extern void (*const Tektite_Functions[])(Entity*);
extern void (*const gUnk_080CDEE8[])(Entity*);
void Tektite(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CDED0);
+ EnemyFunctionHandler(this, Tektite_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_0802F138(Entity* this) {
+void Tektite_OnTick(Entity* this) {
gUnk_080CDEE8[this->action](this);
}
extern u8 gUnk_080CDEF8[];
-void sub_0802F150(Entity* this) {
+void Tektite_OnCollision(Entity* this) {
u32 bVar1;
u32 uVar2;
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CDED0);
+ EnemyFunctionHandlerAfterCollision(this, Tektite_Functions);
if ((this->bitfield & 0x80) != 0) {
switch (this->bitfield & 0x3f) {
case 0x14:
@@ -59,11 +59,11 @@ void sub_0802F150(Entity* this) {
}
}
-void nullsub_16(Entity* this) {
+void Tektite_OnGrabbed(Entity* this) {
}
-void sub_0802F1F0(Entity* this) {
- sub_08001242(this);
+void Tektite_OnConfused(Entity* this) {
+ GenericConfused(this);
if (this->z.HALF.HI != 0) {
GravityUpdate(this, this->field_0x80.HWORD);
}
diff --git a/src/enemy/tektiteGolden.c b/src/enemy/tektiteGolden.c
index 3841377e..2fd5458f 100644
--- a/src/enemy/tektiteGolden.c
+++ b/src/enemy/tektiteGolden.c
@@ -10,25 +10,25 @@
extern void sub_08038168(Entity*);
-extern void (*const gUnk_080CF4A0)(Entity*);
+extern void (*const TektiteGolden_Functions)(Entity*);
extern void (*const gUnk_080CF4B8[])(Entity*);
void TektiteGolden(Entity* this) {
- EnemyFunctionHandler(this, &gUnk_080CF4A0);
+ EnemyFunctionHandler(this, &TektiteGolden_Functions);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_08037EE8(Entity* this) {
+void TektiteGolden_OnTick(Entity* this) {
gUnk_080CF4B8[this->action](this);
}
-void sub_08037F00(Entity* this) {
+void TektiteGolden_OnCollision(Entity* this) {
u32 uVar1;
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, &gUnk_080CF4A0);
+ EnemyFunctionHandlerAfterCollision(this, &TektiteGolden_Functions);
if (this->bitfield == 0x94) {
this->action = 1;
this->subAction = 0;
@@ -45,7 +45,7 @@ void sub_08037F00(Entity* this) {
}
}
-void sub_08037F58(Entity* this) {
+void TektiteGolden_OnDeath(Entity* this) {
u32 uVar1;
if ((this->field_0x3a & 2) == 0) {
@@ -59,8 +59,8 @@ void sub_08037F58(Entity* this) {
CreateDeathFx(this, 0xff, uVar1);
}
-void sub_08037F84(Entity* this) {
- sub_08001242(this);
+void TektiteGolden_OnConfused(Entity* this) {
+ GenericConfused(this);
if (this->z.HALF.HI != 0) {
GravityUpdate(this, 0x3000);
}
diff --git a/src/enemy/vaatiArm.c b/src/enemy/vaatiArm.c
index 4d43d69c..4ced8ccc 100644
--- a/src/enemy/vaatiArm.c
+++ b/src/enemy/vaatiArm.c
@@ -30,8 +30,8 @@ typedef struct VaatiArm_HeapStruct {
u32 sub_080437DC(Entity*);
u32 sub_08043C98(Entity*);
-void sub_08042570(Entity*);
-void sub_08042588(Entity*);
+void VaatiArm_OnTick(Entity*);
+void VaatiArm_OnCollision(Entity*);
void sub_080425B4(Entity*);
void sub_08042818(Entity*);
void sub_08042870(Entity*);
@@ -40,7 +40,7 @@ void sub_08042C14(Entity*);
void sub_0804325C(Entity*);
void sub_08043420(Entity*);
void sub_08043680(Entity*);
-void nullsub_170(Entity*);
+void VaatiArm_OnGrabbed(Entity*);
void sub_08042654(Entity*);
void sub_0804259C(Entity*);
void sub_08043A10(Entity*);
@@ -94,8 +94,8 @@ void sub_08043700(Entity*);
void sub_08043738(Entity*);
void sub_08043770(Entity*);
-void (*const gUnk_080D1230[])(Entity*) = {
- sub_08042570, sub_08042588, sub_08001324, sub_0804A7D4, sub_08001242, nullsub_170,
+void (*const VaatiArm_Functions[])(Entity*) = {
+ VaatiArm_OnTick, VaatiArm_OnCollision, GenericKnockback, GenericDeath, GenericConfused, VaatiArm_OnGrabbed,
};
void (*const gUnk_080D1248[])(Entity*) = {
sub_0804259C, sub_08044078, sub_08044078, sub_08044078, sub_080440CC,
@@ -174,18 +174,18 @@ extern const Hitbox gUnk_080FD450;
extern const Hitbox gUnk_080FD538;
void VaatiArm(Entity* this) {
- gUnk_080D1230[GetNextFunction(this)](this);
+ VaatiArm_Functions[GetNextFunction(this)](this);
}
-void sub_08042570(Entity* this) {
+void VaatiArm_OnTick(Entity* this) {
gUnk_080D1248[this->type](this);
}
-void sub_08042588(Entity* this) {
- sub_0804AA30(this, gUnk_080D1230);
+void VaatiArm_OnCollision(Entity* this) {
+ EnemyFunctionHandlerAfterCollision(this, VaatiArm_Functions);
}
-void nullsub_170(Entity* this) {
+void VaatiArm_OnGrabbed(Entity* this) {
}
void sub_0804259C(Entity* this) {
diff --git a/src/enemy/vaatiEyesMacro.c b/src/enemy/vaatiEyesMacro.c
index e53d51f1..8a6a8c31 100644
--- a/src/enemy/vaatiEyesMacro.c
+++ b/src/enemy/vaatiEyesMacro.c
@@ -10,8 +10,8 @@
extern s16 gUnk_080B4488[];
-void VaatiEyesMacroFunction0(Entity*);
-void VaatiEyesMacroFunction1(Entity*);
+void VaatiEyesMacro_OnTick(Entity*);
+void VaatiEyesMacro_OnCollision(Entity*);
void VaatiEyesMacroFunction0Type0(Entity*);
void VaatiEyesMacroFunction0Type1(Entity*);
void VaatiEyesMacroFunction0Type2(Entity*);
@@ -25,8 +25,9 @@ void sub_0802EFB8(Entity*);
void sub_0802EF58(Entity*);
void sub_0802F04C(Entity*);
-void (*const vaatiEyesMacroFunctions[])(Entity*) = {
- VaatiEyesMacroFunction0, VaatiEyesMacroFunction1, sub_08001324, sub_0804A7D4, sub_08001242, VaatiEyesMacroFunction0,
+void (*const VaatiEyesMacro_Functions[])(Entity*) = {
+ VaatiEyesMacro_OnTick, VaatiEyesMacro_OnCollision, GenericKnockback, GenericDeath,
+ GenericConfused, VaatiEyesMacro_OnTick,
};
void (*const vaatiEyesMacroFunction0Types[])(Entity*) = {
VaatiEyesMacroFunction0Type0,
@@ -50,18 +51,18 @@ const s8 gUnk_080CDE90[] = { -2, -3, -4, -5, -6, -5, -4, -3 };
const u16 gUnk_080CDE98[] = { 0xc0, 0x100, 0x140, 0x180 };
void VaatiEyesMacro(Entity* this) {
- vaatiEyesMacroFunctions[GetNextFunction(this)](this);
+ VaatiEyesMacro_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
}
-void VaatiEyesMacroFunction0(Entity* this) {
+void VaatiEyesMacro_OnTick(Entity* this) {
vaatiEyesMacroFunction0Types[this->type](this);
if (this->type < 2) {
sub_0802EF90(this);
}
}
-void VaatiEyesMacroFunction1(Entity* this) {
+void VaatiEyesMacro_OnCollision(Entity* this) {
if (this->type == 0) {
if (this->health == 0) {
gRoomTransition.field_0x39 &= ~(1 << (gRoomTransition.field_0x3c + 2));
@@ -86,10 +87,10 @@ void VaatiEyesMacroFunction1(Entity* this) {
this->health = 0xff;
}
}
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, vaatiEyesMacroFunctions);
+ EnemyFunctionHandlerAfterCollision(this, VaatiEyesMacro_Functions);
}
void VaatiEyesMacroFunction0Type0(Entity* this) {
diff --git a/src/enemy/vaatiProjectile.c b/src/enemy/vaatiProjectile.c
index 440a4287..9cd3c973 100644
--- a/src/enemy/vaatiProjectile.c
+++ b/src/enemy/vaatiProjectile.c
@@ -12,11 +12,11 @@ extern Entity* gUnk_020000B0;
extern const ScreenTransitionData gUnk_0813AB94;
bool32 sub_0803E4A0(Entity*);
-void VaatiProjectileFunction0(Entity*);
-void VaatiProjectileFunction1(Entity*);
-void sub_08001328(Entity*);
-void VaatiProjectileFunction3(Entity*);
-void VaatiProjectileNoop(Entity*);
+void VaatiProjectile_OnTick(Entity*);
+void VaatiProjectile_OnCollision(Entity*);
+void GenericKnockback2(Entity*);
+void VaatiProjectile_OnDeath(Entity*);
+void VaatiProjectile_OnGrabbed(Entity*);
void VaatiProjectileFunction0Action0(Entity*);
void VaatiProjectileFunction0Action1(Entity*);
void VaatiProjectileFunction0Action2(Entity*);
@@ -31,9 +31,9 @@ void sub_0803E444(Entity*);
void sub_0803E480(Entity*);
void sub_0803E4D8(Entity*);
-void (*const vaatiProjectileFunctions[])(Entity*) = {
- VaatiProjectileFunction0, VaatiProjectileFunction1, sub_08001328, VaatiProjectileFunction3, sub_08001242,
- VaatiProjectileNoop,
+void (*const VaatiProjectile_Functions[])(Entity*) = {
+ VaatiProjectile_OnTick, VaatiProjectile_OnCollision, GenericKnockback2, VaatiProjectile_OnDeath,
+ GenericConfused, VaatiProjectile_OnGrabbed,
};
void (*const vaatiProjectileFunction0Actions[])(Entity*) = {
VaatiProjectileFunction0Action0, VaatiProjectileFunction0Action1, VaatiProjectileFunction0Action2,
@@ -48,14 +48,14 @@ void VaatiProjectile(Entity* this) {
this->health = 0;
this->parent = NULL;
}
- vaatiProjectileFunctions[GetNextFunction(this)](this);
+ VaatiProjectile_Functions[GetNextFunction(this)](this);
}
-void VaatiProjectileFunction0(Entity* this) {
+void VaatiProjectile_OnTick(Entity* this) {
vaatiProjectileFunction0Actions[this->action](this);
}
-void VaatiProjectileFunction1(Entity* this) {
+void VaatiProjectile_OnCollision(Entity* this) {
Entity* entity;
if (this->bitfield == 0x80) {
@@ -82,18 +82,18 @@ void VaatiProjectileFunction1(Entity* this) {
}
#endif
}
- sub_0804AA30(this, vaatiProjectileFunctions);
+ EnemyFunctionHandlerAfterCollision(this, VaatiProjectile_Functions);
}
-void VaatiProjectileFunction3(Entity* this) {
+void VaatiProjectile_OnDeath(Entity* this) {
if (this->parent != NULL) {
this->parent->field_0xf--;
this->parent = NULL;
}
- sub_0804A7D4(this);
+ GenericDeath(this);
}
-void VaatiProjectileNoop(Entity* this) {
+void VaatiProjectile_OnGrabbed(Entity* this) {
}
void VaatiProjectileFunction0Action0(Entity* this) {
diff --git a/src/enemy/vaatiTransfigured.c b/src/enemy/vaatiTransfigured.c
index e3fb790c..a9abc3d9 100644
--- a/src/enemy/vaatiTransfigured.c
+++ b/src/enemy/vaatiTransfigured.c
@@ -15,7 +15,7 @@ void sub_08040AD4(Entity*);
void sub_08040670(Entity*);
void sub_080406A0(Entity*);
void sub_08040770(Entity*);
-void sub_080AF18C(Entity*);
+extern void Knockback1(Entity*);
u32 sub_08040934(Entity*);
void sub_08040648(Entity*, u32, u32);
@@ -562,7 +562,7 @@ void VaatiTransfiguredType0Action7(Entity* this) {
this->spriteSettings.draw = 0;
}
} else {
- sub_0804A7D4(this);
+ GenericDeath(this);
}
UpdateAnimationSingleFrame(this);
return;
@@ -1071,7 +1071,7 @@ void sub_080409B0(Entity* this) {
if (this->field_0x80.HALF.HI < 3) {
if (this->knockbackDuration != 0) {
- sub_080AF18C(this);
+ Knockback1(this);
}
} else {
if (((this->bitfield & 0x80) != 0) && (0 < this->iframes)) {
diff --git a/src/enemy/vaatiTransfiguredEye.c b/src/enemy/vaatiTransfiguredEye.c
index e02f2f1b..cd42c7a3 100644
--- a/src/enemy/vaatiTransfiguredEye.c
+++ b/src/enemy/vaatiTransfiguredEye.c
@@ -14,22 +14,22 @@
void sub_08045A00(Entity*);
void sub_08045A28(Entity*);
-void VaatiTransfiguredEyeFunction0(Entity*);
-void VaatiTransfiguredEyeFunction1(Entity*);
-void VaatiTransfiguredEyeNoop(Entity*);
+void VaatiTransfiguredEye_OnTick(Entity*);
+void VaatiTransfiguredEye_OnCollision(Entity*);
+void VaatiTransfiguredEye_OnDragged(Entity*);
void VaatiTransfiguredEyeFunction0Action0(Entity*);
void VaatiTransfiguredEyeFunction0Action1(Entity*);
void VaatiTransfiguredEyeFunction0Action2(Entity*);
void VaatiTransfiguredEyeFunction0Action3(Entity*);
void VaatiTransfiguredEyeFunction0Action4(Entity*);
-void (*const vaatiTransfiguredEyeFunctions[])(Entity*) = {
- VaatiTransfiguredEyeFunction0,
- VaatiTransfiguredEyeFunction1,
- VaatiTransfiguredEyeFunction0,
- sub_0804A7D4,
- sub_08001242,
- VaatiTransfiguredEyeNoop,
+void (*const VaatiTransfiguredEye_Functions[])(Entity*) = {
+ VaatiTransfiguredEye_OnTick,
+ VaatiTransfiguredEye_OnCollision,
+ VaatiTransfiguredEye_OnTick,
+ GenericDeath,
+ GenericConfused,
+ VaatiTransfiguredEye_OnDragged,
};
void (*const vaatiTransfiguredEyeFunction0Actions[])(Entity*) = {
@@ -46,14 +46,14 @@ const struct xy gUnk_080D18B4[] = { { 0xe8, 0xf6 }, { 0xf6, 0xe8 }, { 0x0a, 0xe8
{ 0x18, 0x0a }, { 0x0a, 0x18 }, { 0xf6, 0x18 }, { 0xe8, 0x0a } };
void VaatiTransfiguredEye(Entity* this) {
- EnemyFunctionHandler(this, vaatiTransfiguredEyeFunctions);
+ EnemyFunctionHandler(this, VaatiTransfiguredEye_Functions);
}
-void VaatiTransfiguredEyeFunction0(Entity* this) {
+void VaatiTransfiguredEye_OnTick(Entity* this) {
vaatiTransfiguredEyeFunction0Actions[this->action](this);
}
-void VaatiTransfiguredEyeFunction1(Entity* this) {
+void VaatiTransfiguredEye_OnCollision(Entity* this) {
u8 bVar1;
Entity* pEVar4;
@@ -89,10 +89,10 @@ void VaatiTransfiguredEyeFunction1(Entity* this) {
}
}
}
- sub_0804AA30(this, vaatiTransfiguredEyeFunctions);
+ EnemyFunctionHandlerAfterCollision(this, VaatiTransfiguredEye_Functions);
}
-void VaatiTransfiguredEyeNoop(Entity* this) {
+void VaatiTransfiguredEye_OnDragged(Entity* this) {
}
void VaatiTransfiguredEyeFunction0Action0(Entity* this) {
diff --git a/src/enemy/wallMaster.c b/src/enemy/wallMaster.c
index 9c91c691..7f08b67e 100644
--- a/src/enemy/wallMaster.c
+++ b/src/enemy/wallMaster.c
@@ -14,21 +14,21 @@ extern ScreenTransitionData* gUnk_0813AB1C[];
void sub_0802A78C(Entity*);
void sub_0802A7D0(Entity*);
-extern void (*const gUnk_080CD07C[])(Entity*);
+extern void (*const WallMaster_Functions[])(Entity*);
extern void (*const gUnk_080CD094[])(Entity*);
extern const s8 gUnk_080CD0B0[];
void WallMaster(Entity* this) {
- gUnk_080CD07C[GetNextFunction(this)](this);
+ WallMaster_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_0802A434(Entity* this) {
+void WallMaster_OnTick(Entity* this) {
sub_0802A78C(this);
gUnk_080CD094[this->action](this);
}
-void sub_0802A454(Entity* this) {
+void WallMaster_OnCollision(Entity* this) {
if (this->hitType != 0x75 && ((this->bitfield & 0x7f) == 0 || (this->bitfield & 0x7f) == 0x1e)) {
this->action = 5;
COLLISION_OFF(this);
@@ -44,14 +44,14 @@ void sub_0802A454(Entity* this) {
if (this->knockbackDuration > 4)
this->knockbackDuration -= 4;
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CD07C);
+ EnemyFunctionHandlerAfterCollision(this, WallMaster_Functions);
}
-void nullsub_142(Entity* this) {
+void WallMaster_OnGrabbed(Entity* this) {
/* ... */
}
@@ -196,13 +196,13 @@ void sub_0802A7D0(Entity* this) {
sub_0805EC9C(this, unk, unk, 0);
}
// clang-format off
-void (*const gUnk_080CD07C[])(Entity*) = {
- sub_0802A434,
- sub_0802A454,
- sub_08001328,
- sub_0804A7D4,
- sub_08001242,
- nullsub_142,
+void (*const WallMaster_Functions[])(Entity*) = {
+ WallMaster_OnTick,
+ WallMaster_OnCollision,
+ GenericKnockback2,
+ GenericDeath,
+ GenericConfused,
+ WallMaster_OnGrabbed,
};
void (*const gUnk_080CD094[])(Entity*) = {
diff --git a/src/enemy/wallMaster2.c b/src/enemy/wallMaster2.c
index b2d5ba9f..3ee61f51 100644
--- a/src/enemy/wallMaster2.c
+++ b/src/enemy/wallMaster2.c
@@ -9,7 +9,7 @@
#include "area.h"
#include "functions.h"
-extern void sub_08001328(Entity*);
+extern void GenericKnockback2(Entity*);
extern Entity* gUnk_020000B0;
extern ScreenTransitionData* gUnk_0813AB1C[];
@@ -18,22 +18,22 @@ void sub_0802CF64(Entity*);
void sub_0802CF8C(Entity*);
void sub_0802CFD8(Entity*);
-extern void (*const gUnk_080CD6FC[])(Entity*);
+extern void (*const WallMaster2_Functions[])(Entity*);
extern void (*const gUnk_080CD714[])(Entity*);
extern const u16 gUnk_080CD728[];
extern const u16 gUnk_080CD730[];
extern const s8 gUnk_080CD740[];
void WallMaster2(Entity* this) {
- gUnk_080CD6FC[GetNextFunction(this)](this);
+ WallMaster2_Functions[GetNextFunction(this)](this);
SetChildOffset(this, 0, 1, -0x10);
}
-void sub_0802CC68(Entity* this) {
+void WallMaster2_OnTick(Entity* this) {
gUnk_080CD714[this->action](this);
}
-void sub_0802CC80(Entity* this) {
+void WallMaster2_OnCollision(Entity* this) {
u8 bVar1 = this->bitfield & 0x7f;
switch (this->bitfield & 0x7f) {
case 0 ... 1:
@@ -44,13 +44,13 @@ void sub_0802CC80(Entity* this) {
gPlayerEntity.flags &= ~ENT_COLLIDE;
break;
}
- if (this->field_0x43 != 0) {
- sub_0804A9FC(this, 0x1c);
+ if (this->confusedTime != 0) {
+ Create0x68FX(this, FX_STARS);
}
- sub_0804AA30(this, gUnk_080CD6FC);
+ EnemyFunctionHandlerAfterCollision(this, WallMaster2_Functions);
}
-void nullsub_151(Entity* this) {
+void WallMaster2_OnGrabbed(Entity* this) {
/* ... */
}
@@ -173,13 +173,13 @@ void sub_0802CFD8(Entity* this) {
}
// clang-format off
-void (*const gUnk_080CD6FC[])(Entity*) = {
- sub_0802CC68,
- sub_0802CC80,
- sub_08001328,
- sub_0804A7D4,
- sub_08001242,
- nullsub_151,
+void (*const WallMaster2_Functions[])(Entity*) = {
+ WallMaster2_OnTick,
+ WallMaster2_OnCollision,
+ GenericKnockback2,
+ GenericDeath,
+ GenericConfused,
+ WallMaster2_OnGrabbed,
};
void (*const gUnk_080CD714[])(Entity*) = {
diff --git a/src/enemy/wisp.c b/src/enemy/wisp.c
index 1d2f7a98..540ad1f9 100644
--- a/src/enemy/wisp.c
+++ b/src/enemy/wisp.c
@@ -12,21 +12,21 @@
static void sub_08033744(Entity* this);
-extern void (*const gUnk_080CEB74[])(Entity*);
+extern void (*const Wisp_Functions[])(Entity*);
extern void (*const gUnk_080CEB8C[])(Entity*);
extern void (*const gUnk_080CEB98[])(Entity*);
extern u8 gUnk_080CEBA4[];
void Wisp(Entity* this) {
- EnemyFunctionHandler(this, gUnk_080CEB74);
+ EnemyFunctionHandler(this, Wisp_Functions);
}
-void sub_0803354C(Entity* this) {
+void Wisp_OnTick(Entity* this) {
gUnk_080CEB8C[this->action](this);
}
-void sub_08033564(Entity* this) {
+void Wisp_OnCollision(Entity* this) {
u32 bits;
Entity* ent;
@@ -68,7 +68,7 @@ void sub_08033564(Entity* this) {
}
}
-void sub_0803362C(Entity* this) {
+void Wisp_OnGrabbed(Entity* this) {
if (sub_0806F520() != 0) {
gUnk_080CEB98[this->subAction](this);
}
@@ -84,7 +84,7 @@ void sub_08033658(Entity* this) {
void sub_08033660(Entity* this) {
if (sub_0806F3E4(this)) {
- sub_0804A7D4(this);
+ GenericDeath(this);
}
}
diff --git a/src/enemy/wizzrobeFire.c b/src/enemy/wizzrobeFire.c
index 0da0ca09..9cf0272d 100644
--- a/src/enemy/wizzrobeFire.c
+++ b/src/enemy/wizzrobeFire.c
@@ -23,11 +23,11 @@ void WizzrobeFire_OnTick(WizzrobeEntity* this) {
WizzrobeFire_Actions[super->action](this);
}
-void sub_0802FB74(WizzrobeEntity* this) {
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+void WizzrobeFire_OnCollision(WizzrobeEntity* this) {
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, WizzrobeFire_Functions);
+ EnemyFunctionHandlerAfterCollision(super, WizzrobeFire_Functions);
if (super->health == 0) {
SetTile(this->tileIndex, this->tilePosition, super->collisionLayer);
}
@@ -144,10 +144,10 @@ void WizzrobeFire_Action2(WizzrobeEntity* this) {
void (*const WizzrobeFire_Functions[])(WizzrobeEntity*) = {
WizzrobeFire_OnTick,
- sub_0802FB74,
- (void (*)(WizzrobeEntity*))sub_08001324,
- (void (*)(WizzrobeEntity*))sub_0804A7D4,
- (void (*)(WizzrobeEntity*))sub_08001242,
+ WizzrobeFire_OnCollision,
+ (void (*)(WizzrobeEntity*))GenericKnockback,
+ (void (*)(WizzrobeEntity*))GenericDeath,
+ (void (*)(WizzrobeEntity*))GenericConfused,
WizzrobeFire_OnTick,
};
void (*const WizzrobeFire_Actions[])(WizzrobeEntity*) = {
diff --git a/src/enemy/wizzrobeIce.c b/src/enemy/wizzrobeIce.c
index 9dbb5377..b053eb71 100644
--- a/src/enemy/wizzrobeIce.c
+++ b/src/enemy/wizzrobeIce.c
@@ -24,11 +24,11 @@ void WizzrobeIce_OnTick(WizzrobeEntity* this) {
WizzrobeIce_Actions[super->action](this);
}
-void sub_0802FE18(WizzrobeEntity* this) {
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+void WizzrobeIce_OnCollision(WizzrobeEntity* this) {
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, WizzrobeIce_Functions);
+ EnemyFunctionHandlerAfterCollision(super, WizzrobeIce_Functions);
if (super->bitfield == 0x87) {
Entity* obj = CreateObject(OBJECT_2A, 3, 0);
if (obj != NULL) {
@@ -150,10 +150,10 @@ void WizzrobeIce_Action2(WizzrobeEntity* this) {
void (*const WizzrobeIce_Functions[])(WizzrobeEntity*) = {
WizzrobeIce_OnTick,
- sub_0802FE18,
- (void (*)(WizzrobeEntity*))sub_08001324,
- (void (*)(WizzrobeEntity*))sub_0804A7D4,
- (void (*)(WizzrobeEntity*))sub_08001242,
+ WizzrobeIce_OnCollision,
+ (void (*)(WizzrobeEntity*))GenericKnockback,
+ (void (*)(WizzrobeEntity*))GenericDeath,
+ (void (*)(WizzrobeEntity*))GenericConfused,
WizzrobeIce_OnTick,
};
void (*const WizzrobeIce_Actions[])(WizzrobeEntity*) = {
diff --git a/src/enemy/wizzrobeWind.c b/src/enemy/wizzrobeWind.c
index 8815b5b5..68c883d9 100644
--- a/src/enemy/wizzrobeWind.c
+++ b/src/enemy/wizzrobeWind.c
@@ -30,11 +30,11 @@ void WizzrobeWind_OnTick(WizzrobeEntity* this) {
WizzrobeWind_Actions[super->action](this);
}
-void sub_0802F4E4(WizzrobeEntity* this) {
- if (super->field_0x43 != 0) {
- sub_0804A9FC(super, 0x1c);
+void WizzrobeWind_OnCollision(WizzrobeEntity* this) {
+ if (super->confusedTime != 0) {
+ Create0x68FX(super, FX_STARS);
}
- sub_0804AA30(super, WizzrobeWind_Functions);
+ EnemyFunctionHandlerAfterCollision(super, WizzrobeWind_Functions);
if (super->bitfield == 0x87) {
Entity* obj = CreateObject(OBJECT_2A, 3, 0);
if (obj != NULL) {
@@ -315,10 +315,10 @@ bool32 sub_0802FA88(WizzrobeEntity* this) {
void (*const WizzrobeWind_Functions[])(WizzrobeEntity*) = {
WizzrobeWind_OnTick,
- sub_0802F4E4,
- (void (*)(WizzrobeEntity*))sub_08001324,
- (void (*)(WizzrobeEntity*))sub_0804A7D4,
- (void (*)(WizzrobeEntity*))sub_08001242,
+ WizzrobeWind_OnCollision,
+ (void (*)(WizzrobeEntity*))GenericKnockback,
+ (void (*)(WizzrobeEntity*))GenericDeath,
+ (void (*)(WizzrobeEntity*))GenericConfused,
WizzrobeWind_OnTick,
};
void (*const WizzrobeWind_Actions[])(WizzrobeEntity*) = {
diff --git a/src/enemyUtils.c b/src/enemyUtils.c
index d37c33a1..5e60a0d9 100644
--- a/src/enemyUtils.c
+++ b/src/enemyUtils.c
@@ -96,7 +96,7 @@ bool32 LoadEnemySprite(Entity* entity, const EnemyDefinition* definition) {
ASM_FUNC("asm/non_matching/enemyUtils/sub_0804A720.inc", void sub_0804A720(Entity* this))
void CreateDeathFx(GenericEntity* parent, u32 parentId, u32 fixedItem);
-void sub_0804A7D4(Entity* this) {
+void GenericDeath(Entity* this) {
CreateDeathFx((GenericEntity*)this, this->id, 0);
}
@@ -209,7 +209,7 @@ void SetChildOffset(Entity* entity, s32 xOffset, s32 yOffset, s32 zOffset) {
}
}
-Entity* sub_0804A9FC(Entity* parent, u32 fxType) {
+Entity* Create0x68FX(Entity* parent, u32 fxType) {
Entity* fx;
GenericEntity* this = (GenericEntity*)parent;
diff --git a/src/movement.c b/src/movement.c
index da74634c..36d2fd2a 100644
--- a/src/movement.c
+++ b/src/movement.c
@@ -683,13 +683,13 @@ u32 sub_080AF160(Entity* this) {
return result;
}
-void sub_080AF18C(Entity* this) {
+void Knockback1(Entity* this) {
this->knockbackDuration--;
sub_080AE58C(this, this->knockbackDirection, 2);
sub_080AE7E8(this, this->field_0x46, this->knockbackDirection, 2);
}
-void sub_080AF1BC(Entity* this) {
+void Knockback2(Entity* this) {
this->knockbackDuration--;
sub_080AE58C(this, this->knockbackDirection, 1);
sub_080AE7E8(this, this->field_0x46, this->knockbackDirection, 1);
diff --git a/src/projectile/mandiblesProjectile.c b/src/projectile/mandiblesProjectile.c
index 26e2fe24..9d44a724 100644
--- a/src/projectile/mandiblesProjectile.c
+++ b/src/projectile/mandiblesProjectile.c
@@ -25,7 +25,7 @@ void MandiblesProjectile(Entity* this) {
if (entity == NULL) {
entity = this->parent;
}
- if ((entity->field_0x43 == 0) && ((this->flags & ENT_COLLIDE) == 0)) {
+ if ((entity->confusedTime == 0) && ((this->flags & ENT_COLLIDE) == 0)) {
COLLISION_ON(this);
}
MandiblesProjectile_Functions[GetNextFunction(this)](this);
@@ -50,7 +50,7 @@ void sub_080A9EBC(Entity* this) {
UpdateAnimationSingleFrame(this);
break;
case 3:
- if (this->field_0x43 != 0) {
+ if (this->confusedTime != 0) {
this->field_0x82.HALF.LO = 2;
this->animationState = 0xff;
sub_080AA270(this);
@@ -127,7 +127,7 @@ void MandiblesProjectile_Action3(Entity* this) {
PositionRelative(entity, this, Q_16_16(tmp[0]), Q_16_16(tmp[1]));
}
}
- if (entity->field_0x43 == 0) {
+ if (entity->confusedTime == 0) {
if (this->field_0xf != 0) {
this->field_0xf -= 1;
} else {
@@ -217,7 +217,7 @@ void sub_080AA1D8(Entity* this) {
} else {
PositionRelative(parent, this, Q_16_16(tmp[0]), Q_16_16(tmp[1]));
}
- if (parent->field_0x43 != 0) {
+ if (parent->confusedTime != 0) {
if ((this->flags & ENT_COLLIDE) != 0) {
COLLISION_OFF(this);
}
diff --git a/src/projectile/moblinSpear.c b/src/projectile/moblinSpear.c
index 09decdd6..a9c806e4 100644
--- a/src/projectile/moblinSpear.c
+++ b/src/projectile/moblinSpear.c
@@ -76,7 +76,7 @@ void MoblinSpear_Action1(Entity* this) {
this->hitbox->offset_y = *a++;
this->hitbox->width = *a++;
this->hitbox->height = *a++;
- if (parent->field_0x43 != 0) {
+ if (parent->confusedTime != 0) {
if ((this->flags & ENT_COLLIDE) != 0) {
COLLISION_OFF(this);
}