#include "libforest/gbi_extensions.h"
#include "PR/gbi.h"
#include "evw_anime.h"
#include "c_keyframe.h"
#include "ac_npc.h"
#include "ef_effect_control.h"

u8 cKF_ckcb_r_npc_1_punpun2_tbl[] = { 56, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 7, 7, 0, 7, 7, 7, 7, 0, 7, 0, 0 };

s16 cKF_kn_npc_1_punpun2_tbl[] = { 2, 2, 2, 2,  3, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 4, 3,
                                   2, 5, 2, 12, 3, 2, 3, 3, 3, 2, 2, 2, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2 };

s16 cKF_c_npc_1_punpun2_tbl[] = { 0,    0, 900, 0,   0, 1800, 0, 0, 1800, 0, 900, 0, 0,   0,
                                  -900, 0, 0,   900, 0, -900, 0, 0, 0,    0, 0,   0, -900 };

s16 cKF_ds_npc_1_punpun2_tbl[] = {
    1,  0,     0,     21, 0,     0, 1,  975,  0,  21, 975,  0,    1,  150,  0,     21, 150,  0,    1,  0,     0,
    21, 0,     0,     1,  -30,   0, 16, -80,  0,  21, -30,  0,    1,  100,  0,     21, 100,  0,    1,  -175,  0,
    21, -175,  0,     1,  65,    0, 16, 15,   0,  21, 65,   0,    1,  -125, 0,     21, -125, 0,    1,  0,     0,
    21, 0,     0,     1,  0,     0, 21, 0,    0,  1,  0,    0,    21, 0,    0,     1,  0,    0,    21, 0,     0,
    1,  -95,   0,     21, -95,   0, 1,  5,    59, 21, 5,    0,    1,  300,  0,     21, 300,  0,    1,  -370,  0,
    16, -430,  0,     21, -380,  0, 1,  -270, 0,  21, -270, 0,    1,  0,    0,     21, 0,    0,    1,  550,   0,
    21, 550,   0,     1,  0,     0, 21, 0,    0,  1,  0,    0,    21, 0,    0,     1,  -175, 0,    21, -175,  0,
    1,  0,     0,     21, 0,     0, 1,  100,  0,  21, 100,  0,    1,  -250, -1742, 6,  -400, 0,    16, -50,   0,
    21, -250,  -1742, 1,  0,     0, 11, -70,  0,  21, 0,    0,    1,  0,    0,     21, 0,    0,    1,  30,    -905,
    2,  0,     -887,  7,  -100,  0, 17, 100,  0,  21, 30,   -905, 1,  0,    0,     21, 0,    0,    1,  0,     0,
    7,  -5,    0,     8,  5,     0, 9,  -5,   0,  10, 5,    0,    11, -15,  0,     12, 15,   0,    13, -30,   0,
    14, 30,    0,     15, -10,   0, 16, 10,   0,  21, 0,    0,    1,  -250, -159,  16, -300, 0,    21, -250,  -159,
    1,  -100,  0,     21, -100,  0, 1,  700,  0,  16, 600,  0,    21, 700,  0,     1,  0,    0,    16, 180,   0,
    21, 0,     0,     1,  -300,  0, 16, -300, 0,  21, -300, 0,    1,  0,    0,     21, 0,    0,    1,  -1000, 0,
    21, -1000, 0,     1,  0,     0, 21, 0,    0,  1,  -700, 0,    16, -600, 0,     21, -700, 0,    1,  0,     0,
    16, 180,   0,     21, 0,     0, 1,  300,  0,  16, 380,  0,    21, 300,  0,     1,  0,    0,    21, 0,     0,
    1,  -1000, 0,     21, -1000, 0, 1,  0,    0,  21, 0,    0,    1,  1800, 0,     21, 1800, 0,    1,  150,   0,
    21, 150,   0,     1,  0,     0, 21, 0,    0,  1,  0,    0,    21, 0,    0,     1,  200,  -188, 16, 160,   0,
    21, 200,   -188,  1,  0,     0, 21, 0,    0,  1,  0,    0,    21, 0,    0,     1,  0,    0,    21, 0,     0,
    1,  0,     0,     21, 0,     0
};

aNPC_Animation_c cKF_ba_r_npc_1_punpun2 = {
    { cKF_ckcb_r_npc_1_punpun2_tbl, cKF_ds_npc_1_punpun2_tbl, cKF_kn_npc_1_punpun2_tbl, cKF_c_npc_1_punpun2_tbl, -1,
      21 },
    1.0f,
    21.0f,
    cKF_FRAMECONTROL_REPEAT,
    0.0f,
    NULL,
    aNPC_EYE_TEX0,
    3,
    NULL,
    aNPC_MOUTH_TEX2,
    3,
    -1,
    eEC_EFFECT_PUN,
    NULL,
    NULL,
};
