#include<ultra64.h>

extern Vtx AS_Jumprobo_reg01_v[];
extern Vtx AS_Jumprobo_reg01_vmcur[];
extern Tri AS_Jumprobo_reg01_tri[];
extern Mtx AS_Jumprobo_reg01_matrix[];

extern unsigned short AS_BossTX_01_txt[];
extern unsigned short AS_BossTX_02_txt[];
extern unsigned short AS_BossTX_03_txt[];
extern unsigned short AS_BossTX_05_txt[];
extern unsigned short AS_BossTX_06_txt[];
extern unsigned short AS_BossTX_BLACK_txt[];
extern unsigned short AS_Meteo_Tx01_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)

/* main display list */


/* ======== o1 ======== */

Gfx AS_Jumprobo_reg01[]={

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_MIRROR,5,0,G_TX_MIRROR,5,0),
	gs_Nin_LoadTextureImage(AS_BossTX_02_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPVertex(&AS_Jumprobo_reg01_v[0], 14, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(3, 2, 1, 0),
	gsSP1Triangle(2, 4, 0, 0),
	gsSP1Triangle(0, 4, 5, 0),
	gsSP1Triangle(6, 0, 7, 0),
	gsSP1Triangle(1, 0, 6, 0),
	gsSP1Triangle(5, 7, 0, 0),
	gsSP1Triangle(7, 5, 3, 0),
	gsSP1Triangle(7, 8, 6, 0),
	gsSP1Triangle(8, 7, 3, 0),
	gsSP1Triangle(9, 10, 3, 0),
	gsSP1Triangle(3, 10, 8, 0),
	gsSP1Triangle(3, 1, 9, 0),
	gsSP1Triangle(6, 9, 1, 0),
	gsSP1Triangle(11, 12, 13, 0),
	gsSPVertex(&AS_Jumprobo_reg01_v[6], 1, 0),
	gsSPVertex(&AS_Jumprobo_reg01_v[8], 3, 1),
	gsSPVertex(&AS_Jumprobo_reg01_v[14], 5, 4),
	gsSPVertex(&AS_Jumprobo_reg01_v[22], 6, 9),
	gsSP1Triangle(4, 10, 11, 0),
	gsSP1Triangle(5, 7, 0, 0),
	gsSP1Triangle(0, 1, 5, 0),
	gsSP1Triangle(6, 2, 0, 0),
	gsSP1Triangle(0, 7, 6, 0),
	gsSP1Triangle(7, 12, 6, 0),
	gsSP1Triangle(5, 12, 7, 0),
	gsSP1Triangle(6, 12, 9, 0),
	gsSP1Triangle(3, 2, 6, 0),
	gsSP1Triangle(6, 9, 3, 0),
	gsSP1Triangle(8, 13, 14, 0),
	gsSP1Triangle(5, 1, 3, 0),
	gsSP1Triangle(9, 12, 5, 0),
	gsSP1Triangle(3, 9, 5, 0),
	gsSPVertex(&AS_Jumprobo_reg01_v[19], 3, 0),
	gsSPVertex(&AS_Jumprobo_reg01_v[28], 6, 3),
	gsSP1Triangle(0, 3, 4, 0),
	gsSP1Triangle(1, 5, 6, 0),
	gsSP1Triangle(2, 7, 8, 0),

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,8,8,0,0,G_TX_WRAP,3,0,G_TX_WRAP,3,0),
	gs_Nin_LoadTextureImage(AS_BossTX_06_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,8,8,0,7),

	gsSPVertex(&AS_Jumprobo_reg01_v[34], 8, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(2, 1, 3, 0),
	gsSP1Triangle(4, 5, 6, 0),
	gsSP1Triangle(6, 5, 7, 0),
	gsSPEndDisplayList(),
}; /* o1 */ 

/* 42 vertices */
Vtx AS_Jumprobo_reg01_v[]={
	{ 31,18,-1,0, 490, 2028, 10, 113, 37, 0 },   /* v0 p27/V3 used 6 times */ 
	{ 34,10,9,0, 769, 2086, -4, 8, 119, 0 },   /* v1 p25/V3 used 5 times */ 
	{ 77,4,4,0, 641, 3267, -45, -21, 108, 0 },   /* v2 p27/V1 used 3 times */ 
	{ 76,-2,0,0, 501, 3225, -15, -71, -94, 0 },   /* v3 p26/V3 used 6 times */ 
	{ 77,9,0,0, 501, 3309, -54, 75, 75, 0 },   /* v4 p27/V2 used 2 times */ 
	{ 77,4,-5,0, 362, 3267, -45, -21, -109, 0 },   /* v5 p26/V2 used 3 times */ 
	{ 18,3,0,0, 511, 1581, 51, 106, -25, 0 },   /* v6 p18/V1 used 8 times */ 
	{ 34,10,-10,0, 211, 2086, -5, 2, -120, 0 },   /* v7 p26/V1 used 5 times */ 
	{ 17,-2,-5,0, 372, 1539, -70, 69, -68, 0 },   /* v8 p29/V2 used 5 times */ 
	{ 17,-2,5,0, 651, 1539, 13, -45, 109, 0 },   /* v9 p30/V2 used 5 times */ 
	{ 17,-7,0,0, 511, 1497, 33, -78, -84, 0 },   /* v10 p8/V2 used 6 times */ 
	{ 111,0,18,0, 1024, 1023, 102, 63, 0, 0 },   /* v11 p24/V1 used 1 times */ 
	{ 176,-82,0,0, 512, -1832, 94, 75, 0, 0 },   /* v12 p24/V2 used 1 times */ 
	{ 111,0,-19,0, 0, 1024, 102, 63, 0, 0 },   /* v13 p24/V3 used 1 times */ 
	{ 111,0,-19,0, -3, 1011, 102, 63, 0, 0 },   /* v14 p23/V1 used 1 times */ 
	{ -1,0,-18,0, 0, 1024, 23, -30, -113, 0 },   /* v15 p19/V1 used 6 times */ 
	{ -1,0,18,0, 1023, 1024, 28, 27, 112, 0 },   /* v16 p18/V3 used 6 times */ 
	{ 1,19,0,0, 511, 1178, 27, 110, 40, 0 },   /* v17 p18/V2 used 4 times */ 
	{ 176,-82,0,0, 1023, 0, -44, -57, 94, 0 },   /* v18 p36/V1 used 1 times */ 
	{ 77,4,-5,0, 0, 1024, -45, -21, -109, 0 },   /* v19 p35/V1 used 1 times */ 
	{ 88,59,0,0, 1023, 0, -111, 42, 0, 0 },   /* v20 p34/V1 used 1 times */ 
	{ 77,4,4,0, 0, 1024, -45, -21, 108, 0 },   /* v21 p33/V1 used 1 times */ 
	{ -3,-20,0,0, 511, 869, -74, -59, 71, 0 },   /* v22 p11/V3 used 4 times */ 
	{ 88,59,0,0, 489, 2761, 112, 43, 0, 0 },   /* v23 p23/V2 used 1 times */ 
	{ 111,0,18,0, 1024, 1024, 102, 63, 0, 0 },   /* v24 p23/V3 used 1 times */ 
	{ -19,1,0,0, 511, 508, -104, 44, 37, 0 },   /* v25 p11/V2 used 4 times */ 
	{ 111,0,18,0, 1023, 1024, -46, -28, 106, 0 },   /* v26 p36/V2 used 1 times */ 
	{ 77,4,4,0, 0, 1024, -45, -21, 108, 0 },   /* v27 p36/V3 used 1 times */ 
	{ 111,0,-19,0, 1023, 1024, -46, -28, -107, 0 },   /* v28 p35/V2 used 1 times */ 
	{ 176,-82,0,0, 1024, 0, -57, -73, -75, 0 },   /* v29 p35/V3 used 1 times */ 
	{ 111,0,-19,0, 1023, 1024, -46, -28, -107, 0 },   /* v30 p34/V2 used 1 times */ 
	{ 77,4,-5,0, 0, 1024, -45, -21, -109, 0 },   /* v31 p34/V3 used 1 times */ 
	{ 111,0,18,0, 1024, 1023, -46, -28, 106, 0 },   /* v32 p33/V2 used 1 times */ 
	{ 88,59,0,0, 1023, 0, -111, 42, 0, 0 },   /* v33 p33/V3 used 1 times */ 
	{ 77,4,4,0, 255, 256, -45, -21, 108, 0 },   /* v34 p3/V1 used 1 times */ 
	{ 76,-2,0,0, 127, 334, -15, -69, 95, 0 },   /* v35 p3/V2 used 2 times */ 
	{ 176,-82,0,0, 128, 3765, -57, -73, -75, 0 },   /* v36 p3/V3 used 2 times */ 
	{ 77,4,-5,0, 0, 256, -45, -21, -109, 0 },   /* v37 p20/V3 used 1 times */ 
	{ 77,4,-5,0, 256, 256, -45, -21, -109, 0 },   /* v38 p6/V1 used 1 times */ 
	{ 77,9,0,0, 128, 395, -54, 75, 75, 0 },   /* v39 p22/V2 used 2 times */ 
	{ 88,59,0,0, 128, 1778, -111, 42, 0, 0 },   /* v40 p22/V1 used 2 times */ 
	{ 77,4,4,0, 0, 255, -45, -21, 108, 0 },   /* v41 p22/V3 used 1 times */ 
};


/*   0 vertices */
/*   1 Materials */

#define	LDIRX	0
#define	LDIRY	0
#define	LDIRZ	120
#define	AMBDIV	1
