#include<ultra64.h>

extern Vtx AC_ika_body_v[];

extern unsigned short AC_kabuto_TX_01_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_ika_body[]={

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,16,16,0,0,G_TX_WRAP,4,0,G_TX_WRAP,4,0),
	gs_Nin_LoadTextureImage(AC_kabuto_TX_01_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,16,16,0,7),

	gsSPVertex(&AC_ika_body_v[0], 15, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(3, 4, 5, 0),
	gsSP1Triangle(3, 5, 6, 0),
	gsSP1Triangle(7, 8, 9, 0),
	gsSP1Triangle(7, 9, 10, 0),
	gsSP1Triangle(11, 12, 13, 0),
	gsSP1Triangle(13, 14, 11, 0),
	gsSPVertex(&AC_ika_body_v[15], 6, 0),
	gsSPVertex(&AC_ika_body_v[33], 8, 6),
	gsSP1Triangle(0, 6, 1, 0),
	gsSP1Triangle(1, 7, 0, 0),
	gsSP1Triangle(2, 8, 3, 0),
	gsSP1Triangle(3, 9, 2, 0),
	gsSP1Triangle(4, 10, 11, 0),
	gsSP1Triangle(5, 12, 13, 0),
	gsSPVertex(&AC_ika_body_v[21], 5, 0),
	gsSPVertex(&AC_ika_body_v[41], 10, 5),
	gsSP1Triangle(0, 5, 6, 0),
	gsSP1Triangle(1, 7, 8, 0),
	gsSP1Triangle(2, 9, 10, 0),
	gsSP1Triangle(3, 11, 12, 0),
	gsSP1Triangle(4, 13, 14, 0),
	gsSPVertex(&AC_ika_body_v[26], 5, 0),
	gsSPVertex(&AC_ika_body_v[51], 11, 5),
	gsSP1Triangle(0, 5, 6, 0),
	gsSP1Triangle(1, 7, 8, 0),
	gsSP1Triangle(2, 9, 10, 0),
	gsSP1Triangle(2, 10, 11, 0),
	gsSP1Triangle(3, 12, 13, 0),
	gsSP1Triangle(4, 14, 15, 0),
	gsSPVertex(&AC_ika_body_v[31], 2, 0),
	gsSPVertex(&AC_ika_body_v[62], 4, 2),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(1, 4, 5, 0),
	gsSPEndDisplayList(),
}; /* DXFdata */ 

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 66 vertices */
Vtx AC_ika_body_v[]={
	{ -22,-19,19,0, 219, 1017, 60,-80,-65,255 },   /* v0 used p29/V1 2 times */
	{ -32,-15,23,0, 413, 687, 0,-84,84,255 },   /* v1 used p29/V2 2 times */
	{ -32,-23,15,0, 30, 684, 59,-87,-56,255 },   /* v2 used p29/V3 2 times */
	{ -32,23,15,0, 511, 512, 60,74,-73,255 },   /* v3 used p28/V1 2 times */
	{ -22,19,19,0, 0, 512, 60,74,-73,255 },   /* v4 used p27/V2 2 times */
	{ -22,-19,-19,0, 0, 0, 60,65,-81,255 },   /* v5 used p28/V2 2 times */
	{ -32,-15,-23,0, 511, 0, 59,56,-88,255 },   /* v6 used p28/V3 2 times */
	{ -32,15,23,0, 511, 0, -119,0,0,255 },   /* v7 used p26/V1 2 times */
	{ -32,23,15,0, 0, 0, -119,0,0,255 },   /* v8 used p25/V2 2 times */
	{ -32,-15,-23,0, 0, 512, -119,0,0,255 },   /* v9 used p26/V2 2 times */
	{ -32,-23,-15,0, 512, 512, -119,0,0,255 },   /* v10 used p26/V3 2 times */
	{ -22,-19,19,0, 0, 0, 60,-80,-65,255 },   /* v11 used p30/V1 4 times */
	{ -32,-23,15,0, 511, 0, 59,-87,-56,255 },   /* v12 used p30/V2 2 times */
	{ -32,15,-23,0, 511, 512, 60,-72,-73,255 },   /* v13 used p30/V3 4 times */
	{ -22,19,-19,0, 0, 512, 60,-72,-73,255 },   /* v14 used p34/V2 2 times */
	{ -32,23,-15,0, 512, 0, 60,74,72,255 },   /* v15 used p36/V1 2 times */
	{ -22,-19,19,0, 0, 512, 60,74,72,255 },   /* v16 used p36/V3 2 times */
	{ -32,-15,23,0, 512, 512, -119,0,0,255 },   /* v17 used p35/V3 2 times */
	{ -32,15,-23,0, 0, 0, -119,0,0,255 },   /* v18 used p35/V1 2 times */
	{ -32,23,-15,0, 56, 666, 0,85,-85,255 },   /* v19 used p31/V1 2 times */
	{ -32,-15,-23,0, 13, 624, 59,56,-88,255 },   /* v20 used p24/V1 2 times */
	{ -39,0,-17,0, 512, 512, -3,0,-120,255 },   /* v21 used p16/V1 2 times */
	{ -39,-17,0,0, 512, 512, -3,-119,0,255 },   /* v22 used p15/V1 2 times */
	{ -39,0,17,0, 512, 512, -3,0,119,255 },   /* v23 used p14/V1 2 times */
	{ -39,-17,0,0, 256, -44, -3,-119,0,255 },   /* v24 used p13/V1 2 times */
	{ -39,17,0,0, 511, 512, -3,120,0,255 },   /* v25 used p12/V1 2 times */
	{ -39,0,-17,0, 256, -44, -3,0,-120,255 },   /* v26 used p11/V1 2 times */
	{ -39,0,17,0, 255, -44, -3,0,119,255 },   /* v27 used p17/V1 2 times */
	{ -22,19,19,0, 0, 0, 60,-64,80,255 },   /* v28 used p23/V1 2 times */
	{ -22,19,19,0, 214, 942, 60,-64,80,255 },   /* v29 used p21/V1 2 times */
	{ -15,-11,-11,0, 0, 512, 80,-62,-63,255 },   /* v30 used p20/V1 2 times */
	{ -15,-11,11,0, 512, 512, 120,0,0,255 },   /* v31 used p19/V1 2 times */
	{ -15,11,-11,0, 511, 512, 86,59,-59,255 },   /* v32 used p18/V1 2 times */
	{ -32,-15,23,0, 511, 512, 60,74,72,255 },   /* v33 used p36/V2 2 times */
	{ -22,19,-19,0, 0, 0, 60,74,72,255 },   /* v34 used p33/V2 2 times */
	{ -32,23,-15,0, 512, 0, -119,0,0,255 },   /* v35 used p32/V2 2 times */
	{ -32,-23,15,0, 0, 512, -119,0,0,255 },   /* v36 used p35/V2 2 times */
	{ -22,19,-19,0, 189, 904, 0,85,-85,255 },   /* v37 used p31/V2 2 times */
	{ -32,15,-23,0, 329, 669, 0,85,-85,255 },   /* v38 used p31/V3 2 times */
	{ -22,-19,-19,0, 190, 917, 60,65,-81,255 },   /* v39 used p24/V2 2 times */
	{ -32,-23,-15,0, 355, 617, 0,-84,-85,255 },   /* v40 used p24/V3 2 times */
	{ -39,17,0,0, 0, 512, -3,120,0,255 },   /* v41 used p16/V2 2 times */
	{ -15,11,-11,0, 256, 1017, -18,84,-84,255 },   /* v42 used p16/V3 2 times */
	{ -39,0,-17,0, 0, 512, -3,0,-120,255 },   /* v43 used p15/V2 2 times */
	{ -15,-11,-11,0, 255, 1017, 80,-62,-63,255 },   /* v44 used p15/V3 2 times */
	{ -39,-17,0,0, 0, 512, -3,-119,0,255 },   /* v45 used p14/V2 2 times */
	{ -15,-11,11,0, 255, 1017, 16,-83,83,255 },   /* v46 used p14/V3 2 times */
	{ -15,-11,-11,0, 0, 512, 80,-62,-63,255 },   /* v47 used p13/V2 2 times */
	{ -15,-11,11,0, 512, 512, 16,-83,83,255 },   /* v48 used p13/V3 2 times */
	{ -39,0,17,0, 0, 512, -3,0,119,255 },   /* v49 used p12/V2 2 times */
	{ -15,11,11,0, 255, 1017, 16,84,83,255 },   /* v50 used p12/V3 2 times */
	{ -15,11,-11,0, 0, 512, 86,59,-59,255 },   /* v51 used p11/V2 2 times */
	{ -15,-11,-11,0, 512, 512, 80,-62,-63,255 },   /* v52 used p11/V3 2 times */
	{ -15,-11,11,0, 0, 512, 16,-83,83,255 },   /* v53 used p17/V2 2 times */
	{ -15,11,11,0, 511, 511, 16,84,83,255 },   /* v54 used p17/V3 2 times */
	{ -32,15,23,0, 512, 0, 59,-55,87,255 },   /* v55 used p22/V2 2 times */
	{ -32,-23,-15,0, 512, 512, 60,-72,72,255 },   /* v56 used p23/V2 2 times */
	{ -22,-19,-19,0, 0, 512, 60,-72,72,255 },   /* v57 used p23/V3 2 times */
	{ -32,23,15,0, 388, 631, 0,85,84,255 },   /* v58 used p21/V2 2 times */
	{ -32,15,23,0, 31, 635, 59,-55,87,255 },   /* v59 used p21/V3 2 times */
	{ -15,11,-11,0, 511, 511, 86,59,-59,255 },   /* v60 used p20/V2 2 times */
	{ -15,11,11,0, 511, 0, 120,0,0,255 },   /* v61 used p20/V3 2 times */
	{ -15,-11,-11,0, 0, 512, 80,-62,-63,255 },   /* v62 used p19/V2 2 times */
	{ -15,11,11,0, 512, 0, 120,0,0,255 },   /* v63 used p19/V3 2 times */
	{ -39,17,0,0, 255, -44, -3,120,0,255 },   /* v64 used p18/V2 2 times */
	{ -15,11,11,0, 0, 511, 16,84,83,255 },   /* v65 used p18/V3 2 times */
};


/*   0 vertices */
/*   1 Materials */

#define	LDIRX	0
#define	LDIRY	0
#define	LDIRZ	120
#define	AMBDIV	1
