#include<ultra64.h>

extern Vtx AC_Boss_ZoumotsuC_v[];

extern unsigned char AC_BossTX03_CI8_txt[];
extern unsigned char AC_BossTX07_CI8_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

/* main display list */


/* ======== DXFdata ======== */

Gfx AC_Boss_ZoumotsuC[]={

	gsDPLoadTLUT_pal256(&AC_BossTX03_CI8_txt[1024]),
	gsDPLoadTextureBlock(AC_BossTX03_CI8_txt,G_IM_FMT_CI,G_IM_SIZ_8b,32,32,0,G_TX_WRAP,G_TX_CLAMP,5,5,0,0),
	gsDPSetTextureLUT(G_TT_RGBA16),


	gsSPVertex(&AC_Boss_ZoumotsuC_v[0],6,0),
	gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
	gsDPLoadTLUT_pal256(&AC_BossTX07_CI8_txt[1024]),
	gsDPLoadTextureBlock(AC_BossTX07_CI8_txt,G_IM_FMT_CI,G_IM_SIZ_8b,32,32,0,G_TX_WRAP,G_TX_CLAMP,5,5,0,0),

	gsSPVertex(&AC_Boss_ZoumotsuC_v[6],23,0),
	gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0),
	gsSP2Triangles(4, 3, 1, 0, 5, 3, 4, 0),
	gsSP2Triangles(2, 3, 5, 0, 6, 7, 8, 0),
	gsSP2Triangles(6, 9, 10, 0, 10, 7, 6, 0),
	gsSP2Triangles(11, 10, 9, 0, 12, 11, 9, 0),
	gsSP2Triangles(7, 10, 11, 0, 4, 1, 0, 0),
	gsSP2Triangles(13, 14, 4, 0, 4, 14, 15, 0),
	gsSP2Triangles(0, 13, 4, 0, 16, 13, 0, 0),
	gsSP2Triangles(7, 17, 8, 0, 11, 17, 7, 0),
	gsSP2Triangles(18, 19, 12, 0, 16, 14, 13, 0),
	gsSP2Triangles(15, 14, 16, 0, 20, 17, 19, 0),
	gsSP2Triangles(8, 17, 20, 0, 8, 20, 21, 0),
	gsSP2Triangles(21, 20, 22, 0, 19, 22, 20, 0),
	gsSP2Triangles(22, 18, 21, 0, 18, 22, 19, 0),
	gsDPPipeSync(),
        gsDPSetTextureLUT(G_TT_NONE),
	gsSPEndDisplayList(),
}; /* DXFdata */ 

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 31 vertices */
Vtx AC_Boss_ZoumotsuC_v[]={
	{     0,  -272,   800,     0,   445,   304,     6,  -118,   -11,   255},	/* 0 */
	{  -441,  -220,   494,     0,  1216,   996,   -36,   -79,   -82,   255},	/* 1 */
	{   441,  -220,   494,     0,  -300,   989,    37,   -79,   -82,   255},	/* 2 */
	{  -441,  -220,   494,     0,  1624,  1181,   -36,   -79,   -82,   255},	/* 3 */
	{     0,   174,   336,     0,   526,  -224,    10,    48,  -110,   255},	/* 4 */
	{   441,  -220,   494,     0,  -722,  1133,    37,   -79,   -82,   255},	/* 5 */
	{     0,   138,   812,     0,   678,  -142,    36,    61,    96,   255},	/* 6 */
	{  -262,   384,   806,     0,   925,   467,    47,   108,    23,   255},	/* 7 */
	{  -505,   224,  1109,     0,  1568,   402,   -20,    42,   109,   255},	/* 8 */
	{  -524,   379,   750,     0,  1171,  1077,   -27,   114,   -25,   255},	/* 9 */
	{     0,   174,   336,     0,   618,   -21,    10,    48,  -110,   255},	/* 10 */
	{  -740,   244,   700,     0,  2016,   587,   -91,    67,   -36,   255},	/* 11 */
	{  -505,   224,  1109,     0,  1955,   225,   -20,    42,   109,   255},	/* 12 */
	{  -441,  -228,  1050,     0,  1568,  1371,    19,   -11,   117,   255},	/* 13 */
	{     0,   138,   812,     0,   410,    -4,    36,    61,    96,   255},	/* 14 */
	{  -740,   244,   700,     0,  2665,   386,   -91,    67,   -36,   255},	/* 15 */
	{  -787,   -32,   760,     0,  2685,  1164,  -106,   -48,    24,   255},	/* 16 */
	{  -441,  -220,   494,     0,  1571,  1350,   -36,   -79,   -82,   255},	/* 17 */
	{     0,   174,   336,     0,   425,  -100,    10,    48,  -110,   255},	/* 18 */
	{   262,   384,   806,     0,   925,   467,   -46,   108,    23,   255},	/* 19 */
	{   524,   379,   750,     0,  1171,  1077,    28,   114,   -25,   255},	/* 20 */
	{   740,   244,   700,     0,  2016,   587,    80,    46,   -77,   255},	/* 21 */
	{   505,   224,  1109,     0,  1568,   402,   -10,    28,   115,   255},	/* 22 */
	{     0,  -272,   800,     0,   232,  1087,    -6,   -69,    96,   255},	/* 23 */
	{   740,   244,   700,     0,  2665,   386,    80,    46,   -77,   255},	/* 24 */
	{   441,  -220,   494,     0,  1571,  1350,    37,   -79,   -82,   255},	/* 25 */
	{   441,  -228,  1050,     0,  1568,  1371,     7,   -80,    88,   255},	/* 26 */
	{   505,   224,  1109,     0,  1955,   225,   -10,    28,   115,   255},	/* 27 */
	{   787,   -32,   760,     0,  2685,  1164,    94,   -51,    53,   255},	/* 28 */
};


/*   0 vertices */
/*   1 Materials */

#define	LDIRX	0
#define	LDIRY	0
#define	LDIRZ	120
#define	AMBDIV	1
