#include "global.h"
#include "entity.h"
#include "enemy.h"

// clang-format off
void (*const gEnemyFunctions[])(Entity* ent) = {
    [OCTOROK] = Octorok,
    [CHUCHU] = Chuchu,
    [LEEVER] = Leever,
    [PEAHAT] = Peahat,
    [ROLLOBITE] = Rollobite,
    [DARK_NUT] = DarkNut,
    [HANGING_SEED] = HangingSeed,
    [BEETLE] = Beetle,
    [KEESE] = Keese,
    [DOOR_MIMIC] = DoorMimic,
    [ROCK_CHUCHU] = RockChuchu,
    [SPINY_CHUCHU] = SpinyChuchu,
    [CUCCO_CHICK_AGGR] = CuccoChickAggr,
    [MOLDORM] = Moldorm,
    [ENEMY_E] = EnemyE,
    [MOLDWORM] = Moldworm,
    [SLUGGULA] = Sluggula,
    [PESTO] = Pesto,
    [PUFFSTOOL] = Puffstool,
    [CHUCHU_BOSS] = ChuchuBoss,
    [LIKE_LIKE] = LikeLike,
    [SPEAR_MOBLIN] = SpearMoblin,
    [BUSINESS_SCRUB] = BusinessScrub,
    [RUPEE_LIKE] = RupeeLike,
    [MADDERPILLAR] = Madderpillar,
    [WATER_DROP] = WaterDrop,
    [WALL_MASTER] = WallMaster,
    [BOMB_PEAHAT] = BombPeahat,
    [SPARK] = Spark,
    [CHASER] = Chaser,
    [SPIKED_BEETLE] = SpikedBeetle,
    [SENSOR_BLADE_TRAP] = SensorBladeTrap,
    [HELMASAUR] = Helmasaur,
    [FALLING_BOULDER] = FallingBoulder,
    [BOBOMB] = Bobomb,
    [WALL_MASTER_2] = WallMaster2,
    [GLEEROCK] = Gleerok,
    [VAATI_EYES_MACRO] = VaatiEyesMacro,
    [TEKTITE] = Tektite,
    [WIZZROBE_WIND] = WizzrobeWind,
    [WIZZROBE_FIRE] = WizzrobeFire,
    [WIZZROBE_ICE] = WizzrobeIce,
    [ARMOS] = Armos,
    [EYEGORE] = Eyegore,
    [ROPE] = Rope,
    [SMALL_PESTO] = SmallPesto,
    [ACRO_BANDIT] = AcroBandit,
    [BLADE_TRAP] = BladeTrap,
    [KEATON] = Keaton,
    [CROW] = Crow,
    [MULLDOZER] = Mulldozer,
    [BOMBAROSSA] = Bombarossa,
    [WISP] = Wisp,
    [SPINY_BEETLE] = SpinyBeetle,
    [MAZAAL_HEAD] = MazaalHead,
    [MAZAAL_MACRO] = MazaalMacro,
    [MAZAAL_HAND] = MazaalHand,
    [OCTOROK_BOSS] = OctorokBoss,
    [FLYING_POT] = FlyingPot,
    [GOBDO] = Gibdo,
    [OCTOROK_GOLDEN] = OctorokGolden,
    [TEKTITE_GOLDEN] = TektiteGolden,
    [ROPE_GOLDEN] = RopeGolden,
    [CLOUD_PIRANHA] = CloudPiranha,
    [SCISSORS_BEETLE] = ScissorsBeetle,
    [CUCCO_AGGR] = CuccoAggr,
    [STALFOS] = Stalfos,
    [FLYING_SKULL] = FlyingSkull,
    [MAZAAL_BRACELET] = MazaalBracelet,
    [TAKKURI] = Takkuri,
    [BOW_MOBLIN] = BowMoblin,
    [LAKITU] = Lakitu,
    [LAKITU_CLOUD] = LakituCloud,
    [ENEMY_49] = Enemy49,
    [VAATI_REBORN_ENEMY] = VaatiRebornEnemy,
    [VAATI_PROJECTILE] = VaatiProjectile,
    [BALL_CHAIN_SOLIDER] = BallChainSoldier,
    [ENEMY_4D] = Enemy4D,
    [GHINI] = Ghini,
    [VAATI_TRANSFIGURED] = VaatiTransfigured,
    [ENEMY_50] = Enemy50,
    [VAATI_WRATH] = VaatiWrath,
    [VAATI_ARM] = VaatiArm,
    [DUST] = Dust,
    [VAATI_BALL] = VaatiBall,
    [OCTOROK2] = Octorok,
    [SLIME] = Slime,
    [MINI_SLIME] = MiniSlime,
    [FIREBALL_GUY] = FireballGuy,
    [MINI_FIREBALL_GUY] = MiniFireballGuy,
    [ENEMY_5A] = Enemy5A,
    [BUSINESS_SCRUB_PROLOGUE] = BusinessScrubPrologue,
    [GYORG_FEMALE] = GyorgFemale,
    [GYORG_MALE] = GyorgMale,
    [CURTAIN] = Curtain,
    [ENEMY_5F] = Enemy5F,
    [GYORG_CHILD] = GyorgChild,
    [GYORG_FEMALE_EYE] = GyorgFemaleEye,
    [ENEMY_62] = Enemy62,
    [GYORG_FEMALE_MOUTH] = GyorgFemaleMouth,
    [ENEMY_64] = Enemy64,
    [TREE_ITEM] = TreeItem,
    [ENEMY_66] = Enemy66
};
// clang-format on
