mirror of https://github.com/zeldaret/tmc.git
70 lines
1.3 KiB
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
|