#include<ultra64.h>
extern Vtx SN_SNB_Ago_v[];
extern Lights1 SN_SNB_Ago_material[];

extern unsigned short SN_BossTX08_txt[];
extern unsigned short SN_BossTX_01_txt[];
extern unsigned short SN_BossTX_05_txt[];



#define gs_Nin_LoadTextureImage(timg,fmt,siz,width,height,tmem,tt)	\
	gsDPSetTextureImage(fmt,siz,1,timg),	\
	gsDPTileSync(),	\
	gsDPSetTile(fmt,siz,0,tmem,tt,0,0,0,0,0,0,0),	\
	gsDPLoadSync(),	\
	gsDPLoadBlock(tt,0,0,width*height-1,CALC_DXT(width,siz##_BYTES))

#define gs_Nin_SetUpTileDescrip(fmt,siz,width,height,tmem,tt,cs,ms,ss,ct,mt,st)	\
	gsDPTileSync(),	\
	gsDPSetTile(fmt,siz,((((width)*siz##_LINE_BYTES)+7)>>3),tmem,tt,0,ct,mt,st,cs,ms,ss),	\
	gsDPSetTileSize(tt,0,0,(width-1)<<G_TEXTURE_IMAGE_FRAC,(height-1)<<G_TEXTURE_IMAGE_FRAC)

#define G_CC_PRIMSHADE PRIMITIVE,0,SHADE,0,0,0,0,SHADE


/* ======== o1 ======== */

Gfx SN_SNB_Ago[]={

	gsDPLoadTextureBlock(SN_BossTX_01_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 5, 5, G_TX_NOLOD, G_TX_NOLOD ),





	gsSPVertex(&SN_SNB_Ago_v[0],32,0),
	gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0),
	gsSP2Triangles(0, 3, 4, 0, 0, 5, 1, 0),
	gsSP1Quadrangle(6, 7, 8, 9, 0),
	gsSP2Triangles(7, 6, 10, 0, 7, 10, 11, 0),
	gsSP2Triangles(8, 7, 12, 0, 12, 7, 13, 0),
	gsSP2Triangles(14, 7, 15, 0, 11, 10, 16, 0),
	gsSP2Triangles(11, 17, 18, 0, 11, 19, 15, 0),
	gsSP2Triangles(11, 18, 19, 0, 11, 15, 7, 0),
	gsSP2Triangles(20, 21, 22, 0, 20, 22, 17, 0),
	gsSP2Triangles(23, 22, 21, 0, 15, 19, 24, 0),
	gsSP2Triangles(15, 25, 26, 0, 14, 15, 26, 0),
	gsSP2Triangles(24, 25, 15, 0, 25, 27, 8, 0),
	gsSP2Triangles(25, 28, 26, 0, 25, 29, 30, 0),
	gsSP2Triangles(25, 31, 29, 0, 28, 25, 8, 0),
	gsSP2Triangles(24, 31, 25, 0, 4, 23, 21, 0),
	gsSP2Triangles(28, 8, 12, 0, 9, 8, 27, 0),
	gsSPVertex(&SN_SNB_Ago_v[32],7,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP1Triangle(4, 5, 6, 0),
	gsDPLoadTextureBlock(SN_BossTX08_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 16, 0, G_TX_MIRROR, G_TX_MIRROR, 4, 4, G_TX_NOLOD, G_TX_NOLOD ),





	gsSPVertex(&SN_SNB_Ago_v[39],29,0),
	gsSP2Triangles(0, 1, 2, 0, 3, 2, 4, 0),
	gsSP2Triangles(2, 5, 4, 0, 2, 1, 5, 0),
	gsSP2Triangles(6, 7, 1, 0, 1, 8, 5, 0),
	gsSP2Triangles(4, 5, 9, 0, 10, 11, 12, 0),
	gsSP2Triangles(12, 11, 13, 0, 10, 14, 11, 0),
	gsSP2Triangles(14, 3, 11, 0, 11, 15, 16, 0),
	gsSP2Triangles(17, 16, 13, 0, 9, 18, 4, 0),
	gsSP2Triangles(3, 4, 18, 0, 19, 20, 14, 0),
	gsSP2Triangles(21, 6, 20, 0, 20, 6, 22, 0),
	gsSP2Triangles(20, 22, 3, 0, 21, 23, 6, 0),
	gsSP2Triangles(14, 24, 3, 0, 25, 19, 14, 0),
	gsSP2Triangles(25, 26, 7, 0, 19, 27, 24, 0),
	gsSP2Triangles(23, 28, 7, 0, 23, 7, 0, 0),
	gsDPLoadTextureBlock(SN_BossTX_05_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 5, 5, G_TX_NOLOD, G_TX_NOLOD ),


	gsSPVertex(&SN_SNB_Ago_v[68],5,0),
	gsSP1Quadrangle(0, 3, 1, 2, 0),
	gsSP1Triangle(1, 3, 4, 0),
	gsSPEndDisplayList(),
}; /* o1 */ 

#undef G_CC_PRIMSHADE
#undef gs_Nin_LoadTextureImage
#undef gs_Nin_SetUpTileDescrip
/*  69 vertices */
Vtx SN_SNB_Ago_v[]={
	{    36,    -4,   -16,     0,     0,  2346,    -5,  -115,    28,   255},	/* 0 */
	{    -2,   -13,   -32,     0,  -511,  1151,     7,  -109,    45,   255},	/* 1 */
	{    37,    -8,   -23,     0,  -206,  2369,   -27,   -95,    65,   255},	/* 2 */
	{    69,   -18,   -11,     0,   175,  3396,   -47,   -77,    76,   255},	/* 3 */
	{    67,    -5,     0,     0,   512,  3329,   -33,  -114,     0,   255},	/* 4 */
	{    -2,    -8,   -16,     0,     0,  1128,    13,  -118,     6,   255},	/* 5 */
	{    -5,    13,    16,     0,  1024,  1024,     8,   119,    12,   255},	/* 6 */
	{    40,    10,    16,     0,  1024,  2456,     0,   116,    26,   255},	/* 7 */
	{    40,    10,   -16,     0,     0,  2456,     4,   119,   -14,   255},	/* 8 */
	{    -5,    13,   -16,     0,     0,  1024,     5,   118,   -18,   255},	/* 9 */
	{    -4,     5,    32,     0,  1536,  1066,     0,    95,    71,   255},	/* 10 */
	{    23,     8,    32,     0,  1536,  1922,    31,    14,   113,   255},	/* 11 */
	{    43,    17,     0,     0,   512,  2528,   -86,    80,    15,   255},	/* 12 */
	{    50,    14,    11,     0,   853,  2745,   -61,    85,    55,   255},	/* 13 */
	{    50,    14,    11,     0,   853,  2745,    83,    23,    82,   255},	/* 14 */
	{    61,     4,    16,     0,  1024,  3107,    82,    54,    67,   255},	/* 15 */
	{    -2,   -13,    32,     0,  1536,  1151,     0,     0,   119,   255},	/* 16 */
	{    -2,   -13,    32,     0,  1536,  1151,    26,  -100,    57,   255},	/* 17 */
	{    37,    -8,    23,     0,  1231,  2369,    30,   -39,   108,   255},	/* 18 */
	{    69,   -18,    11,     0,   849,  3396,    61,    -9,   101,   255},	/* 19 */
	{    -2,    -8,    16,     0,  1024,  1128,    11,  -116,   -20,   255},	/* 20 */
	{    36,    -4,    16,     0,  1024,  2346,    -1,  -117,   -20,   255},	/* 21 */
	{    37,    -8,    23,     0,  1231,  2369,    -6,  -107,   -50,   255},	/* 22 */
	{    69,   -18,    11,     0,   849,  3396,   -47,   -77,   -77,   255},	/* 23 */
	{    67,    -5,     0,     0,   512,  3329,   109,    50,     0,   255},	/* 24 */
	{    61,     4,   -16,     0,     0,  3107,    78,    41,   -80,   255},	/* 25 */
	{    57,    12,     0,     0,   512,  2962,   116,    24,   -15,   255},	/* 26 */
	{    23,     8,   -32,     0,  -511,  1922,     8,   112,   -42,   255},	/* 27 */
	{    50,    14,   -11,     0,   171,  2745,   -20,    90,   -75,   255},	/* 28 */
	{    37,    -8,   -23,     0,  -206,  2369,    31,   -21,  -113,   255},	/* 29 */
	{    23,     8,   -32,     0,  -511,  1922,    27,   -42,  -108,   255},	/* 30 */
	{    69,   -18,   -11,     0,   175,  3396,    71,     3,   -96,   255},	/* 31 */
	{    -4,     5,   -32,     0,  -511,  1066,    20,   -23,  -115,   255},	/* 32 */
	{    23,     8,   -32,     0,  -511,  1922,    27,   -42,  -108,   255},	/* 33 */
	{    37,    -8,   -23,     0,  -206,  2369,    31,   -21,  -113,   255},	/* 34 */
	{    -2,   -13,   -32,     0,  -511,  1151,    29,     3,  -116,   255},	/* 35 */
	{    -5,    13,   -16,     0,     0,  1024,     5,   118,   -18,   255},	/* 36 */
	{    23,     8,   -32,     0,  -511,  1922,     8,   112,   -42,   255},	/* 37 */
	{    -4,     5,   -32,     0,  -511,  1066,   -11,   104,   -57,   255},	/* 38 */
	{    53,    33,     0,     0,   154,   629,   -47,    65,    88,   255},	/* 39 */
	{    88,    42,     5,     0,   512,   511,   -15,    56,   103,   255},	/* 40 */
	{    91,    48,     0,     0,   589,   559,    40,    90,    66,   255},	/* 41 */
	{    88,    42,    -5,     0,   525,   614,    46,    -1,  -110,   255},	/* 42 */
	{   104,    30,     0,     0,   595,   525,    96,    56,   -45,   255},	/* 43 */
	{   106,    24,     4,     0,   567,   476,    45,    21,   108,   255},	/* 44 */
	{    53,    33,     0,     0,   154,   629,   -62,    92,   -44,   255},	/* 45 */
	{    59,    30,     7,     0,   191,   544,   -39,    64,    92,   255},	/* 46 */
	{   108,    11,     0,     0,   506,   509,   -30,   -37,   108,   255},	/* 47 */
	{   108,    11,     0,     0,   506,   509,   117,    23,     0,   255},	/* 48 */
	{    59,    30,     7,     0,   191,   544,    41,   -89,    66,   255},	/* 49 */
	{    88,    39,     0,     0,   506,   560,    -6,  -115,    26,   255},	/* 50 */
	{    88,    42,     5,     0,   512,   511,   -31,  -100,    55,   255},	/* 51 */
	{   108,    11,     0,     0,   506,   509,   -84,   -60,   -59,   255},	/* 52 */
	{    66,    28,     0,     0,   246,   600,    74,   -92,   -14,   255},	/* 53 */
	{    88,    42,    -5,     0,   525,   614,   -75,   -82,   -40,   255},	/* 54 */
	{   106,    24,    -4,     0,   578,   561,   -63,   -55,   -84,   255},	/* 55 */
	{    88,    39,     0,     0,   506,   560,   -52,   -37,  -100,   255},	/* 56 */
	{   106,    24,    -4,     0,   578,   561,    96,    57,   -43,   255},	/* 57 */
	{    57,    12,     0,     0,    61,   613,   116,    24,   -15,   255},	/* 58 */
	{    59,    30,    -7,     0,   209,   685,   -21,    66,   -97,   255},	/* 59 */
	{    50,    14,   -11,     0,    30,   743,   -20,    90,   -75,   255},	/* 60 */
	{    91,    48,     0,     0,   589,   559,   -32,    85,   -77,   255},	/* 61 */
	{    43,    17,     0,     0,   -30,   641,   -86,    80,    15,   255},	/* 62 */
	{    59,    30,    -7,     0,   209,   685,    69,   -66,   -71,   255},	/* 63 */
	{    50,    14,    11,     0,     0,   511,    83,    23,    82,   255},	/* 64 */
	{    66,    28,     0,     0,   246,   600,    78,   -23,    87,   255},	/* 65 */
	{    50,    14,   -11,     0,    30,   743,    92,   -38,   -66,   255},	/* 66 */
	{    50,    14,    11,     0,     0,   511,   -61,    85,    55,   255},	/* 67 */
	{    -2,    -8,   -16,     0,  1024,  1024,    13,  -118,     6,   255},	/* 68 */
	{    36,    -4,    16,     0,     0,  -208,    -1,  -117,   -20,   255},	/* 69 */
	{    -2,    -8,    16,     0,     0,  1024,    11,  -116,   -20,   255},	/* 70 */
	{    36,    -4,   -16,     0,  1024,  -208,    -5,  -115,    28,   255},	/* 71 */
	{    67,    -5,     0,     0,   512, -1180,   -33,  -114,     0,   255},	/* 72 */
};
