#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_taisou7_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_taisou7_tbl[] = { 7, 2,  5, 2, 13, 7, 7, 13, 11, 2, 11, 2,  2, 14, 7, 9, 13, 11,
                                   2, 11, 2, 2, 14, 7, 2, 10, 12, 2, 10, 12, 7, 13, 7, 8, 8,  7,
                                   2, 11, 2, 8, 8,  7, 2, 10, 2,  2, 2,  2,  9, 11, 9, 2, 2,  2 };

s16 cKF_c_npc_1_taisou7_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_taisou7_tbl[] = {
    1,    300,  0,     21,   200,  0,    61,   400,  0,    81,   300,  0,    101,  400,   0,    141,  200,  0,    161,
    300,  0,    1,     950,  0,    161,  950,  0,    1,    50,   0,    41,   200,  0,     81,   50,   0,    121,  200,
    0,    161,  50,    0,    1,    0,    0,    161,  0,    0,    1,    0,    0,    11,    -50,  0,    31,   75,   149,
    41,   100,  0,     51,   75,   -148, 71,   -25,  0,    81,   0,    0,    91,   -25,   0,    111,  75,   148,  121,
    100,  0,    131,   75,   -149, 151,  -50,  0,    161,  0,    0,    1,    -25,  0,     21,   75,   0,    61,   -75,
    0,    81,   25,    0,    101,  -75,  0,    141,  75,   0,    161,  -25,  0,    1,     -130, 0,    11,   -193, 0,
    51,   -55,  0,     81,   -155, 0,    111,  -48,  0,    151,  -193, 0,    161,  -130,  0,    1,    -88,  0,    11,
    -10,  48,   31,    168,  244,  41,   160,  -298, 61,   -113, -283, 71,   -130, 324,   81,   -28,  0,    91,   -130,
    -359, 101,  -113,  346,  121,  160,  299,  131,  168,  -246, 151,  -13,  -68,  161,   -88,  0,    1,    258,  0,
    11,   215,  -74,   21,   208,  0,    51,   238,  44,   71,   230,  -141, 81,   193,   0,    91,   230,  148,  111,
    238,  -40,  141,   208,  0,    151,  215,  55,   161,  258,  0,    1,    0,    0,     161,  0,    0,    1,    245,
    0,    11,   0,     0,    31,   0,    0,    61,   443,  0,    71,   323,  -708, 81,    110,  0,    91,   323,  704,
    101,  443,  0,     131,  0,    0,    151,  0,    0,    161,  245,  0,    1,    0,     0,    161,  0,    0,    1,
    0,    0,    161,   0,    0,    1,    -105, 0,    11,   53,   327,  21,   90,   0,     41,   -120, -498, 51,   -255,
    -252, 61,   -283,  92,   71,   -168, 492,  81,   -23,  0,    91,   -168, -489, 101,   -283, -94,  121,  -120, 502,
    141,  90,   0,     151,  53,   -323, 161,  -105, 0,    1,    -208, 0,    21,   -270,  -16,  61,   -180, 0,    81,
    -200, 0,    101,   -180, 0,    141,  -270, 21,   161,  -208, 0,    1,    155,  0,     11,   133,  -124, 31,   48,
    0,    71,   183,   0,    81,   130,  0,    91,   183,  0,    131,  48,   0,    151,   133,  125,  161,  155,  0,
    1,    -28,  0,     11,   -155, -187, 21,   -125, 384,  41,   160,  299,  51,   168,   -246, 71,   13,   -93,  81,
    -88,  0,    91,    13,   93,   111,  168,  244,  121,  160,  -298, 141,  -125, -368,  151,  -155, 183,  161,  -28,
    0,    1,    -193,  0,    11,   -235, -150, 21,   -253, 36,   61,   -208, 0,    71,    -215, -76,  81,   -258, 0,
    91,   -215, 74,    101,  -208, 0,    141,  -253, -37,  151,  -235, 146,  161,  -193,  0,    1,    0,    0,    161,
    0,    0,    1,     110,  0,    11,   323,  704,  21,   443,  0,    51,   0,    0,     71,   0,    0,    81,   245,
    0,    91,   0,     0,    111,  0,    0,    141,  443,  0,    151,  323,  -708, 161,   110,  0,    1,    0,    0,
    161,  0,    0,     1,    0,    0,    161,  0,    0,    1,    -23,  0,    11,   -168,  -489, 21,   -283, -94,  41,
    -120, 502,  61,    90,   0,    71,   53,   -323, 81,   -105, 0,    91,   53,   327,   101,  90,   0,    121,  -120,
    -498, 131,  -255,  -252, 141,  -283, 92,   151,  -168, 492,  161,  -23,  0,    1,     200,  0,    21,   180,  0,
    61,   270,  -24,   81,   208,  0,    101,  270,  17,   141,  180,  0,    161,  200,   0,    1,    0,    0,    161,
    0,    0,    1,     -93,  -240, 3,    -100, 0,    23,   150,  0,    43,   -100, 0,     63,   150,  0,    83,   -100,
    0,    103,  150,   0,    123,  -100, 0,    143,  150,  0,    161,  -93,  -240, 1,     -60,  308,  3,    -50,  0,
    13,   -150, 0,     33,   150,  0,    53,   -150, 0,    73,   150,  0,    83,   50,    0,    93,   150,  0,    113,
    -150, 0,    133,   150,  0,    153,  -150, 0,    161,  -60,  308,  1,    0,    0,     161,  0,    0,    1,    -103,
    -551, 6,    -150,  0,    26,   150,  0,    46,   -100, 0,    66,   100,  0,    86,    -100, 0,    106,  100,  0,
    126,  -100, 0,     146,  150,  0,    161,  -103, -551, 1,    -200, 1108, 6,    -100,  0,    16,   -300, 0,    36,
    300,  0,    56,    -300, 0,    76,   300,  0,    86,   100,  0,    96,   300,  0,     116,  -300, 0,    136,  300,
    0,    156,  -300,  0,    161,  -200, 1108, 1,    150,  0,    21,   -50,  0,    61,    50,   0,    81,   -150, 0,
    101,  50,   0,     141,  -50,  0,    161,  150,  0,    1,    -200, 0,    11,   -300,  0,    31,   150,  400,  41,
    200,  0,    51,    150,  -401, 71,   -300, 0,    81,   -200, 0,    91,   -300, 0,     111,  150,  404,  121,  200,
    0,    131,  150,   -397, 151,  -300, 0,    161,  -200, 0,    1,    -150, 0,    21,    200,  0,    61,   -200, 0,
    81,   150,  0,     101,  -200, 0,    141,  200,  0,    161,  -150, 0,    1,    -53,   0,    3,    -50,  0,    23,
    -150, -357, 43,    -500, 0,    83,   250,  0,    103,  0,    -701, 123,  -500, 0,     161,  -53,  0,    1,    -20,
    593,  3,    0,     0,    23,   -700, 0,    63,   200,  0,    83,   -750, 0,    103,   200,  0,    143,  -700, 0,
    161,  -20,  593,   1,    0,    0,    3,    0,    0,    43,   150,  0,    83,   -400,  0,    103,  -250, 590,  123,
    150,  0,    161,   0,    0,    1,    0,    0,    161,  0,    0,    1,    -138, 739,   4,    -100, 0,    14,   -100,
    0,    34,   -700,  0,    64,   -100, 0,    84,   -650, -979, 94,   -900, 0,    114,   -100, 0,    124,  -100, 0,
    144,  -700, 0,     161,  -138, 739,  1,    0,    0,    161,  0,    0,    1,    -295,  -102, 3,    -300, 0,    23,
    0,    843,  43,    500,  0,    83,   50,   0,    103,  150,  503,  123,  500,  0,     161,  -295, -102, 1,    -723,
    -823, 3,    -750,  0,    23,   200,  0,    63,   -700, 0,    83,   0,    0,    103,   -700, 0,    143,  200,  0,
    161,  -723, -823,  1,    395,  147,  3,    400,  0,    23,   250,  -485, 43,   -150,  0,    83,   0,    0,    123,
    -150, 0,    161,   395,  147,  1,    0,    0,    161,  0,    0,    1,    -543, -1081, 14,   -900, 0,    34,   -100,
    0,    44,   -100,  0,    64,   -700, 0,    84,   -100, 0,    94,   -100, 0,    114,   -700, 0,    144,  -100, 0,
    161,  -543, -1081, 1,    0,    0,    161,  0,    0,    1,    0,    0,    161,  0,     0,    1,    0,    0,    161,
    0,    0,    1,     0,    0,    161,  0,    0,    1,    -150, 0,    11,   -75,  252,   41,   0,    0,    71,   75,
    251,  81,   150,   0,    91,   75,   -252, 121,  0,    0,    151,  -75,  -252, 161,   -150, 0,    1,    -50,  0,
    11,   75,   336,   31,   150,  0,    51,   150,  0,    71,   75,   -337, 81,   -60,   0,    91,   75,   338,  111,
    150,  0,    131,   150,  0,    151,  75,   -338, 161,  -60,  0,    1,    200,  0,     11,   100,  -298, 41,   0,
    0,    71,   -100,  -300, 81,   -200, 0,    91,   -100, 298,  121,  0,    0,    151,   100,  301,  161,  200,  0,
    1,    0,    0,     161,  0,    0,    1,    0,    0,    161,  0,    0,    1,    0,     0,    161,  0,    0
};

aNPC_Animation_c cKF_ba_r_npc_1_taisou7 = {
    { cKF_ckcb_r_npc_1_taisou7_tbl, cKF_ds_npc_1_taisou7_tbl, cKF_kn_npc_1_taisou7_tbl, cKF_c_npc_1_taisou7_tbl, -1,
      161 },
    1.0f,
    161.0f,
    cKF_FRAMECONTROL_REPEAT,
    0.0f,
    NULL,
    aNPC_EYE_TEX0,
    0,
    NULL,
    aNPC_MOUTH_TEX0,
    0,
    -1,
    -1,
    NULL,
    NULL,
};
