tmc/src/enemy/enemyE.c

70 lines
1.3 KiB
C

#include "enemy.h"
#include "entity.h"
#include "functions.h"
void sub_08023000(Entity*, int);
extern void (*const gUnk_080CBBC8[])(Entity*);
extern void (*const gUnk_080CBBDC[])(Entity*);
void EnemyE(Entity* this) {
EnemyFunctionHandler(this, gUnk_080CBBC8);
}
void sub_08022FB4(Entity* this) {
gUnk_080CBBDC[this->action](this);
}
void nullsub_133(Entity* this) {
}
void sub_08022FD0(Entity* this) {
this->action = 1;
this->spriteSettings.b.draw = 1;
sub_08023000(this, 0);
}
void sub_08022FEC(Entity* this) {
sub_08023000(this, 0x80);
}
void sub_08022FF8(Entity* this) {
}
void sub_08022FFC(Entity* this) {
}
void sub_08023000(Entity* this, int frames) {
int tmp;
if (frames == 0x80) {
UpdateAnimationSingleFrame(this);
} else {
InitAnimationForceUpdate(this, frames);
}
tmp = 0x80;
if (this->frameSpriteSettings == 0x40)
tmp *= -1;
this->spriteRendering.b0 = 3;
sub_0805EC9C(this, tmp, 0x80, 0);
}
// clang-format off
void (*const gUnk_080CBBC8[])(Entity*) = {
sub_08022FB4,
nullsub_133,
sub_08001324,
sub_0804A7D4,
sub_08001242,
};
void (*const gUnk_080CBBDC[])(Entity*) = {
sub_08022FD0,
sub_08022FEC,
sub_08022FF8,
sub_08022FFC,
};
// clang-format on