#include<ultra64.h>

extern Vtx JT_BomEX02_v[];
extern Vtx JT_BomEX02_vmcur[];
extern Tri JT_BomEX02_tri[];
extern Mtx JT_BomEX02_matrix[];

extern unsigned short JT_Bom_EX_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 JT_BomEX02[]={

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,16,16,0,0,G_TX_CLAMP,4,0,G_TX_CLAMP,4,0),
	gs_Nin_LoadTextureImage(JT_Bom_EX_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,16,16,0,7),

	gsSPVertex(&JT_BomEX02_v[0], 14, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(3, 4, 2, 0),
	gsSP1Triangle(2, 5, 6, 0),
	gsSP1Triangle(2, 7, 8, 0),
	gsSP1Triangle(9, 10, 11, 0),
	gsSP1Triangle(9, 12, 13, 0),
	gsSPVertex(&JT_BomEX02_v[11], 1, 0),
	gsSPVertex(&JT_BomEX02_v[13], 8, 1),
	gsSPVertex(&JT_BomEX02_v[39], 7, 9),
	gsSP1Triangle(2, 9, 1, 0),
	gsSP1Triangle(3, 10, 11, 0),
	gsSP1Triangle(3, 12, 0, 0),
	gsSP1Triangle(4, 12, 13, 0),
	gsSP1Triangle(5, 14, 13, 0),
	gsSP1Triangle(6, 15, 8, 0),
	gsSPVertex(&JT_BomEX02_v[7], 1, 0),
	gsSPVertex(&JT_BomEX02_v[20], 5, 1),
	gsSPVertex(&JT_BomEX02_v[41], 1, 6),
	gsSPVertex(&JT_BomEX02_v[46], 1, 7),
	gsSPVertex(&JT_BomEX02_v[48], 8, 8),
	gsSP1Triangle(1, 7, 8, 0),
	gsSP1Triangle(1, 0, 9, 0),
	gsSP1Triangle(2, 10, 6, 0),
	gsSP1Triangle(3, 11, 12, 0),
	gsSP1Triangle(3, 13, 14, 0),
	gsSP1Triangle(4, 13, 15, 0),
	gsSPVertex(&JT_BomEX02_v[24], 5, 0),
	gsSPVertex(&JT_BomEX02_v[51], 1, 5),
	gsSPVertex(&JT_BomEX02_v[53], 2, 6),
	gsSPVertex(&JT_BomEX02_v[56], 2, 8),
	gsSPVertex(&JT_BomEX02_v[59], 4, 10),
	gsSP1Triangle(0, 6, 8, 0),
	gsSP1Triangle(1, 9, 7, 0),
	gsSP1Triangle(2, 10, 11, 0),
	gsSP1Triangle(2, 5, 8, 0),
	gsSP1Triangle(3, 5, 12, 0),
	gsSP1Triangle(4, 9, 13, 0),
	gsSP1Triangle(4, 10, 12, 0),
	gsSPVertex(&JT_BomEX02_v[5], 2, 0),
	gsSPVertex(&JT_BomEX02_v[18], 2, 2),
	gsSPVertex(&JT_BomEX02_v[29], 3, 4),
	gsSPVertex(&JT_BomEX02_v[47], 1, 7),
	gsSPVertex(&JT_BomEX02_v[59], 1, 8),
	gsSPVertex(&JT_BomEX02_v[64], 6, 9),
	gsSP1Triangle(4, 8, 9, 0),
	gsSP1Triangle(5, 10, 11, 0),
	gsSP1Triangle(5, 0, 12, 0),
	gsSP1Triangle(6, 10, 13, 0),
	gsSP1Triangle(3, 2, 1, 0),
	gsSP1Triangle(3, 7, 14, 0),
	gsSPVertex(&JT_BomEX02_v[8], 1, 0),
	gsSPVertex(&JT_BomEX02_v[31], 4, 1),
	gsSPVertex(&JT_BomEX02_v[46], 1, 5),
	gsSPVertex(&JT_BomEX02_v[52], 1, 6),
	gsSPVertex(&JT_BomEX02_v[68], 8, 7),
	gsSP1Triangle(2, 10, 7, 0),
	gsSP1Triangle(2, 11, 0, 0),
	gsSP1Triangle(1, 5, 8, 0),
	gsSP1Triangle(3, 9, 12, 0),
	gsSP1Triangle(3, 13, 6, 0),
	gsSP1Triangle(4, 13, 14, 0),
	gsSPVertex(&JT_BomEX02_v[23], 3, 0),
	gsSPVertex(&JT_BomEX02_v[34], 3, 3),
	gsSPVertex(&JT_BomEX02_v[55], 1, 6),
	gsSPVertex(&JT_BomEX02_v[57], 2, 7),
	gsSPVertex(&JT_BomEX02_v[63], 2, 9),
	gsSPVertex(&JT_BomEX02_v[73], 1, 11),
	gsSPVertex(&JT_BomEX02_v[76], 2, 12),
	gsSP1Triangle(2, 9, 11, 0),
	gsSP1Triangle(0, 7, 10, 0),
	gsSP1Triangle(1, 8, 12, 0),
	gsSP1Triangle(3, 8, 6, 0),
	gsSP1Triangle(4, 8, 13, 0),
	gsSP1Triangle(5, 9, 12, 0),
	gsSPVertex(&JT_BomEX02_v[29], 1, 0),
	gsSPVertex(&JT_BomEX02_v[35], 4, 1),
	gsSPVertex(&JT_BomEX02_v[60], 1, 5),
	gsSPVertex(&JT_BomEX02_v[62], 2, 6),
	gsSPVertex(&JT_BomEX02_v[70], 1, 8),
	gsSPVertex(&JT_BomEX02_v[75], 1, 9),
	gsSPVertex(&JT_BomEX02_v[78], 4, 10),
	gsSP1Triangle(1, 7, 6, 0),
	gsSP1Triangle(0, 8, 9, 0),
	gsSP1Triangle(2, 8, 5, 0),
	gsSP1Triangle(3, 10, 11, 0),
	gsSP1Triangle(4, 12, 13, 0),
	gsSPEndDisplayList(),
}; /* o1 */ 

/* 82 vertices */
Vtx JT_BomEX02_v[]={
	{ 0,6,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v0 p32/V1 used 1 times */ 
	{ 6,0,-6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v1 p32/V2 used 1 times */ 
	{ 0,0,-26,0, 256, -685,  255, 255, 255, 255 /* vertex color */  },   /* v2 p32/V3 used 4 times */ 
	{ 0,-6,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v3 p14/V1 used 1 times */ 
	{ -6,0,-6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v4 p14/V2 used 1 times */ 
	{ -6,0,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v5 p47/V2 used 2 times */ 
	{ 0,6,-6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v6 p44/V3 used 2 times */ 
	{ 6,0,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v7 p48/V2 used 2 times */ 
	{ 0,-6,-6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v8 p46/V3 used 2 times */ 
	{ 0,-6,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v9 p33/V1 used 2 times */ 
	{ 6,0,6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v10 p22/V2 used 1 times */ 
	{ 0,0,26,0, 255, -685,  255, 255, 255, 255 /* vertex color */  },   /* v11 p34/V3 used 2 times */ 
	{ -6,-6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v12 p33/V2 used 1 times */ 
	{ 0,-26,0,0, 255, -685,  255, 255, 255, 255 /* vertex color */  },   /* v13 p33/V3 used 2 times */ 
	{ 0,-6,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v14 p26/V1 used 1 times */ 
	{ 0,6,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v15 p34/V1 used 2 times */ 
	{ -6,-6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v16 p35/V1 used 1 times */ 
	{ -6,6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v17 p30/V1 used 1 times */ 
	{ 6,6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v18 p36/V1 used 2 times */ 
	{ 0,26,0,0, 256, -685,  255, 255, 255, 255 /* vertex color */  },   /* v19 p44/V1 used 2 times */ 
	{ 26,0,0,0, 256, -685,  255, 255, 255, 255 /* vertex color */  },   /* v20 p36/V3 used 3 times */ 
	{ 0,6,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v21 p31/V1 used 1 times */ 
	{ -6,0,6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v22 p27/V1 used 2 times */ 
	{ -6,6,0,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v23 p6/V1 used 2 times */ 
	{ 0,6,6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v24 p8/V1 used 2 times */ 
	{ 0,6,-6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v25 p7/V1 used 2 times */ 
	{ -6,-6,0,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v26 p28/V1 used 2 times */ 
	{ 0,-6,6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v27 p24/V1 used 1 times */ 
	{ -6,0,-6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v28 p29/V1 used 2 times */ 
	{ 0,-6,-6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v29 p11/V1 used 2 times */ 
	{ -26,0,0,0, 256, -685,  255, 255, 255, 255 /* vertex color */  },   /* v30 p37/V1 used 2 times */ 
	{ 0,0,26,0, 256, -685,  255, 255, 255, 255 /* vertex color */  },   /* v31 p39/V1 used 2 times */ 
	{ 0,-26,0,0, 256, -685,  255, 255, 255, 255 /* vertex color */  },   /* v32 p45/V1 used 2 times */ 
	{ 6,-6,0,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v33 p25/V1 used 2 times */ 
	{ 6,0,6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v34 p2/V1 used 2 times */ 
	{ 6,6,0,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v35 p9/V1 used 2 times */ 
	{ 6,0,-6,0, 512, 512,  255, 255, 255, 255 /* vertex color */  },   /* v36 p3/V1 used 2 times */ 
	{ 0,-6,6,0, 504, 516,  255, 255, 255, 255 /* vertex color */  },   /* v37 p19/V1 used 1 times */ 
	{ 6,-6,0,0, 0, 511,  255, 255, 255, 255 /* vertex color */  },   /* v38 p18/V1 used 1 times */ 
	{ 6,-6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v39 p26/V2 used 1 times */ 
	{ 6,6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v40 p10/V2 used 1 times */ 
	{ 0,26,0,0, 255, -685,  255, 255, 255, 255 /* vertex color */  },   /* v41 p31/V3 used 2 times */ 
	{ -6,0,6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v42 p34/V2 used 2 times */ 
	{ -26,0,0,0, 255, -685,  255, 255, 255, 255 /* vertex color */  },   /* v43 p35/V3 used 2 times */ 
	{ -6,0,-6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v44 p30/V2 used 1 times */ 
	{ 6,0,6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v45 p36/V2 used 1 times */ 
	{ 6,0,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v46 p39/V2 used 2 times */ 
	{ -6,6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v47 p43/V2 used 1 times */ 
	{ 6,-6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v48 p41/V3 used 1 times */ 
	{ 6,6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v49 p42/V3 used 1 times */ 
	{ -6,6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v50 p31/V2 used 1 times */ 
	{ -20,-20,20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v51 p28/V2 used 3 times */ 
	{ 0,-6,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v52 p25/V3 used 2 times */ 
	{ -20,20,20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v53 p27/V2 used 3 times */ 
	{ -6,6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v54 p27/V3 used 2 times */ 
	{ 0,6,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v55 p6/V3 used 2 times */ 
	{ -6,0,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v56 p28/V3 used 2 times */ 
	{ -20,20,-20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v57 p7/V2 used 3 times */ 
	{ 20,20,20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v58 p8/V2 used 3 times */ 
	{ -20,-20,-20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v59 p29/V2 used 3 times */ 
	{ 0,-6,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v60 p5/V3 used 2 times */ 
	{ -6,-6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v61 p29/V3 used 2 times */ 
	{ 0,6,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v62 p9/V3 used 2 times */ 
	{ 20,20,-20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v63 p9/V2 used 3 times */ 
	{ -6,0,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v64 p11/V3 used 2 times */ 
	{ -6,0,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v65 p37/V2 used 2 times */ 
	{ -6,6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v66 p37/V3 used 1 times */ 
	{ -6,-6,0,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v67 p38/V3 used 1 times */ 
	{ 0,-6,6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v68 p45/V3 used 2 times */ 
	{ 0,6,6,0, 512, 511,  255, 255, 255, 255 /* vertex color */  },   /* v69 p43/V3 used 2 times */ 
	{ 20,-20,-20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v70 p12/V2 used 3 times */ 
	{ 6,-6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v71 p45/V2 used 1 times */ 
	{ -6,-6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v72 p46/V2 used 1 times */ 
	{ 6,0,-6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v73 p13/V3 used 2 times */ 
	{ 20,-20,20,0, 255, -1126,  255, 255, 255, 255 /* vertex color */  },   /* v74 p25/V2 used 2 times */ 
	{ 6,-6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v75 p23/V3 used 2 times */ 
	{ 6,6,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v76 p8/V3 used 2 times */ 
	{ 6,0,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v77 p17/V3 used 1 times */ 
	{ 20,-20,20,0, 267, -1099,  255, 255, 255, 255 /* vertex color */  },   /* v78 p19/V2 used 1 times */ 
	{ 6,0,6,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v79 p19/V3 used 1 times */ 
	{ 6,0,-6,0, 487, 511,  255, 255, 255, 255 /* vertex color */  },   /* v80 p18/V2 used 1 times */ 
	{ 26,0,0,0, 243, -627,  255, 255, 255, 255 /* vertex color */  },   /* v81 p18/V3 used 1 times */ 
};


/*   0 vertices */
/*   1 Materials */

#define	LDIRX	0
#define	LDIRY	0
#define	LDIRZ	120
#define	AMBDIV	1
/* 16 x 16  G_IM_SIZ_16b G_IM_FMT_RGBA  */
unsigned short JT_Bom_EX_txt[] = {
	0x2197, 0x2197, 0x2197, 0x2197, 0x2197, 0x2197, 0x2197, 0x531f, 0x531f, 0x2197, 0x2197, 0x2197, 0x2197, 0x2197, 0x2197, 0x2197, 
	0x1db, 0x1db, 0x1db, 0x1db, 0x1db, 0x1db, 0x1db, 0x63a3, 0x63a3, 0x1db, 0x1db, 0x1db, 0x1db, 0x1db, 0x1db, 0x1db, 
	0xa61, 0xa61, 0xa61, 0xa61, 0xa61, 0xa61, 0xa61, 0x8c65, 0x8c65, 0xa61, 0xa61, 0xa61, 0xa61, 0xa61, 0xa61, 0xa61, 
	0x5b65, 0x5b65, 0x5b65, 0x5b65, 0x5b65, 0x5b65, 0x5b65, 0xbd27, 0xbd27, 0x5b65, 0x5b65, 0x5b65, 0x5b65, 0x5b65, 0x5b65, 0x5b65, 
	0xac65, 0xac65, 0xac65, 0xac65, 0xac65, 0xac65, 0xcce5, 0xe5e7, 0xe5e7, 0xcce5, 0xac65, 0xac65, 0xac65, 0xac65, 0xac65, 0xac65, 
	0xfd25, 0xfd25, 0xfd25, 0xfd25, 0xfd25, 0xfd25, 0xfda5, 0xfe69, 0xfe69, 0xfda5, 0xfd25, 0xfd25, 0xfd25, 0xfd25, 0xfd25, 0xfd25, 
	0xfe25, 0xfe25, 0xfe25, 0xfe25, 0xfe25, 0xfe25, 0xfe67, 0xfee9, 0xfee9, 0xfe67, 0xfe25, 0xfe25, 0xfe25, 0xfe25, 0xfe25, 0xfe25, 
	0xfee5, 0xfee5, 0xfee5, 0xfee5, 0xfee5, 0xfee5, 0xfee7, 0xff2b, 0xff2b, 0xfee7, 0xfee5, 0xfee5, 0xfee5, 0xfee5, 0xfee5, 0xfee5, 
	0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff6d, 0xff6d, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 
	0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff6b, 0xff6f, 0xff6f, 0xff6b, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 0xff29, 
	0xff6b, 0xff6b, 0xff6b, 0xff6b, 0xff6b, 0xff6b, 0xff6d, 0xffb1, 0xffb1, 0xff6d, 0xff6b, 0xff6b, 0xff6b, 0xff6b, 0xff6b, 0xff6b, 
	0xff6d, 0xff6d, 0xff6d, 0xff6d, 0xff6d, 0xff6d, 0xff6f, 0xffb5, 0xffb5, 0xff6f, 0xff6d, 0xff6d, 0xff6d, 0xff6d, 0xff6d, 0xff6d, 
	0xffaf, 0xffaf, 0xffaf, 0xffaf, 0xffaf, 0xffaf, 0xffb3, 0xfff7, 0xfff7, 0xffb3, 0xffaf, 0xffaf, 0xffaf, 0xffaf, 0xffaf, 0xffaf, 
	0xffb3, 0xffb3, 0xffb3, 0xffb3, 0xffb3, 0xffb3, 0xfff7, 0xfffb, 0xfffb, 0xfff7, 0xffb3, 0xffb3, 0xffb3, 0xffb3, 0xffb3, 0xffb3, 
	0xfff9, 0xfff9, 0xfff9, 0xfff9, 0xfff9, 0xfff9, 0xfffb, 0xfffd, 0xfffd, 0xfffb, 0xfff9, 0xfff9, 0xfff9, 0xfff9, 0xfff9, 0xfff9, 
	0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 
};

