#include<ultra64.h>

extern Vtx JT_BomEX03_v[];
extern Vtx JT_BomEX03_vmcur[];
extern Tri JT_BomEX03_tri[];
extern Mtx JT_BomEX03_matrix[];

extern unsigned short JT_BomEX_03_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 */


/* ======== o2 ======== */

Gfx JT_BomEX03[]={

	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(JT_BomEX_03_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,16,16,0,7),

	gsSPVertex(&JT_BomEX03_v[0], 14, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(3, 2, 4, 0),
	gsSP1Triangle(1, 5, 2, 0),
	gsSP1Triangle(2, 5, 6, 0),
	gsSP1Triangle(2, 6, 4, 0),
	gsSP1Triangle(4, 6, 7, 0),
	gsSP1Triangle(3, 4, 8, 0),
	gsSP1Triangle(8, 4, 9, 0),
	gsSP1Triangle(4, 7, 9, 0),
	gsSP1Triangle(1, 10, 5, 0),
	gsSP1Triangle(10, 1, 11, 0),
	gsSP1Triangle(1, 0, 12, 0),
	gsSP1Triangle(9, 7, 13, 0),
	gsSPVertex(&JT_BomEX03_v[3], 1, 1),
	gsSPVertex(&JT_BomEX03_v[8], 2, 2),
	gsSPVertex(&JT_BomEX03_v[13], 7, 4),
	gsSPVertex(&JT_BomEX03_v[47], 3, 11),
	gsSP1Triangle(5, 3, 7, 0),
	gsSP1Triangle(5, 7, 6, 0),
	gsSP1Triangle(6, 7, 11, 0),
	gsSP1Triangle(3, 4, 7, 0),
	gsSP1Triangle(7, 4, 12, 0),
	gsSP1Triangle(2, 3, 5, 0),
	gsSP1Triangle(8, 0, 1, 0),
	gsSP1Triangle(8, 1, 9, 0),
	gsSP1Triangle(9, 1, 2, 0),
	gsSP1Triangle(9, 2, 10, 0),
	gsSP1Triangle(10, 2, 5, 0),
	gsSP1Triangle(0, 8, 13, 0),
	gsSPVertex(&JT_BomEX03_v[14], 2, 0),
	gsSPVertex(&JT_BomEX03_v[19], 9, 2),
	gsSPVertex(&JT_BomEX03_v[50], 3, 11),
	gsSP1Triangle(3, 1, 11, 0),
	gsSP1Triangle(4, 0, 1, 0),
	gsSP1Triangle(4, 1, 3, 0),
	gsSP1Triangle(2, 0, 4, 0),
	gsSP1Triangle(5, 6, 12, 0),
	gsSP1Triangle(6, 5, 9, 0),
	gsSP1Triangle(5, 7, 10, 0),
	gsSP1Triangle(5, 10, 9, 0),
	gsSP1Triangle(7, 5, 13, 0),
	gsSP1Triangle(6, 9, 8, 0),
	gsSPVertex(&JT_BomEX03_v[24], 10, 0),
	gsSPVertex(&JT_BomEX03_v[38], 1, 10),
	gsSPVertex(&JT_BomEX03_v[41], 1, 11),
	gsSPVertex(&JT_BomEX03_v[43], 1, 12),
	gsSPVertex(&JT_BomEX03_v[53], 1, 13),
	gsSP1Triangle(1, 2, 5, 0),
	gsSP1Triangle(2, 3, 4, 0),
	gsSP1Triangle(2, 4, 5, 0),
	gsSP1Triangle(3, 11, 4, 0),
	gsSP1Triangle(4, 11, 12, 0),
	gsSP1Triangle(4, 12, 8, 0),
	gsSP1Triangle(5, 4, 8, 0),
	gsSP1Triangle(6, 5, 9, 0),
	gsSP1Triangle(1, 5, 6, 0),
	gsSP1Triangle(5, 8, 9, 0),
	gsSP1Triangle(0, 10, 3, 0),
	gsSP1Triangle(3, 10, 11, 0),
	gsSP1Triangle(7, 0, 13, 0),
	gsSP1Triangle(0, 7, 10, 0),
	gsSPVertex(&JT_BomEX03_v[30], 9, 0),
	gsSPVertex(&JT_BomEX03_v[41], 4, 9),
	gsSPVertex(&JT_BomEX03_v[54], 3, 13),
	gsSP1Triangle(2, 12, 7, 0),
	gsSP1Triangle(2, 11, 12, 0),
	gsSP1Triangle(3, 2, 7, 0),
	gsSP1Triangle(4, 6, 13, 0),
	gsSP1Triangle(5, 3, 6, 0),
	gsSP1Triangle(5, 6, 4, 0),
	gsSP1Triangle(3, 7, 6, 0),
	gsSP1Triangle(6, 7, 14, 0),
	gsSP1Triangle(7, 12, 15, 0),
	gsSP1Triangle(0, 3, 5, 0),
	gsSP1Triangle(8, 10, 9, 0),
	gsSPVertex(&JT_BomEX03_v[17], 3, 0),
	gsSPVertex(&JT_BomEX03_v[21], 1, 3),
	gsSPVertex(&JT_BomEX03_v[31], 1, 4),
	gsSPVertex(&JT_BomEX03_v[38], 6, 5),
	gsSPVertex(&JT_BomEX03_v[46], 1, 11),
	gsSPVertex(&JT_BomEX03_v[57], 2, 12),
	gsSP1Triangle(4, 6, 5, 0),
	gsSP1Triangle(4, 7, 6, 0),
	gsSP1Triangle(6, 2, 9, 0),
	gsSP1Triangle(7, 1, 6, 0),
	gsSP1Triangle(6, 1, 2, 0),
	gsSP1Triangle(5, 6, 9, 0),
	gsSP1Triangle(8, 9, 11, 0),
	gsSP1Triangle(9, 2, 3, 0),
	gsSP1Triangle(9, 3, 11, 0),
	gsSP1Triangle(7, 4, 12, 0),
	gsSP1Triangle(0, 7, 13, 0),
	gsSP1Triangle(7, 0, 1, 0),
	gsSP1Triangle(8, 11, 10, 0),
	gsSPVertex(&JT_BomEX03_v[20], 2, 0),
	gsSPVertex(&JT_BomEX03_v[43], 4, 2),
	gsSPVertex(&JT_BomEX03_v[59], 2, 6),
	gsSP1Triangle(2, 4, 3, 0),
	gsSP1Triangle(2, 5, 4, 0),
	gsSP1Triangle(3, 4, 6, 0),
	gsSP1Triangle(4, 0, 7, 0),
	gsSP1Triangle(5, 0, 4, 0),
	gsSP1Triangle(5, 1, 0, 0),
	gsSPEndDisplayList(),
}; /* o2 */ 

/* 61 vertices */
Vtx JT_BomEX03_v[]={
	{ -13,-23,0,0, 6911, 477,  255, 255, 255, 255 /* vertex color */  },   /* v0 p91/V1 used 5 times */ 
	{ -9,-23,9,0, 8064, 477,  255, 255, 255, 255 /* vertex color */  },   /* v1 p101/V1 used 5 times */ 
	{ -16,-13,16,0, 8064, 384,  255, 255, 255, 255 /* vertex color */  },   /* v2 p103/V1 used 6 times */ 
	{ -23,-13,0,0, 6911, 384,  255, 255, 255, 255 /* vertex color */  },   /* v3 p93/V1 used 6 times */ 
	{ -19,0,19,0, 8064, 256,  255, 255, 255, 255 /* vertex color */  },   /* v4 p103/V3 used 6 times */ 
	{ 0,-13,23,0, 9215, 384,  255, 255, 255, 255 /* vertex color */  },   /* v5 p102/V2 used 3 times */ 
	{ 0,0,26,0, 9215, 256,  255, 255, 255, 255 /* vertex color */  },   /* v6 p103/V2 used 3 times */ 
	{ 0,13,23,0, 9215, 128,  255, 255, 255, 255 /* vertex color */  },   /* v7 p104/V3 used 3 times */ 
	{ -26,0,0,0, 6911, 256,  255, 255, 255, 255 /* vertex color */  },   /* v8 p93/V3 used 6 times */ 
	{ -16,13,16,0, 8064, 128,  255, 255, 255, 255 /* vertex color */  },   /* v9 p107/V1 used 6 times */ 
	{ 0,-23,13,0, 9215, 477,  255, 255, 255, 255 /* vertex color */  },   /* v10 p100/V2 used 2 times */ 
	{ 0,-26,0,0, 8640, 512,  255, 255, 255, 255 /* vertex color */  },   /* v11 p99/V3 used 1 times */ 
	{ 0,-26,0,0, 7488, 512,  255, 255, 255, 255 /* vertex color */  },   /* v12 p89/V3 used 1 times */ 
	{ 0,23,13,0, 9215, 34,  255, 255, 255, 255 /* vertex color */  },   /* v13 p108/V2 used 3 times */ 
	{ -23,13,0,0, 6911, 128,  255, 255, 255, 255 /* vertex color */  },   /* v14 p97/V1 used 6 times */ 
	{ -13,23,0,0, 6911, 34,  255, 255, 255, 255 /* vertex color */  },   /* v15 p98/V1 used 5 times */ 
	{ -9,23,9,0, 8064, 34,  255, 255, 255, 255 /* vertex color */  },   /* v16 p108/V1 used 5 times */ 
	{ -9,-23,-9,0, 5760, 477,  255, 255, 255, 255 /* vertex color */  },   /* v17 p81/V1 used 5 times */ 
	{ -16,-13,-16,0, 5760, 384,  255, 255, 255, 255 /* vertex color */  },   /* v18 p83/V1 used 6 times */ 
	{ -19,0,-19,0, 5760, 256,  255, 255, 255, 255 /* vertex color */  },   /* v19 p83/V3 used 6 times */ 
	{ -9,23,-9,0, 5760, 34,  255, 255, 255, 255 /* vertex color */  },   /* v20 p88/V1 used 5 times */ 
	{ -16,13,-16,0, 5760, 128,  255, 255, 255, 255 /* vertex color */  },   /* v21 p87/V1 used 6 times */ 
	{ 9,-23,9,0, 1151, 477,  255, 255, 255, 255 /* vertex color */  },   /* v22 p109/V1 used 5 times */ 
	{ 0,-23,13,0, 0, 477,  255, 255, 255, 255 /* vertex color */  },   /* v23 p109/V2 used 3 times */ 
	{ 13,-23,0,0, 2303, 477,  255, 255, 255, 255 /* vertex color */  },   /* v24 p120/V2 used 5 times */ 
	{ 0,-13,23,0, 0, 384,  255, 255, 255, 255 /* vertex color */  },   /* v25 p113/V1 used 3 times */ 
	{ 16,-13,16,0, 1151, 384,  255, 255, 255, 255 /* vertex color */  },   /* v26 p123/V1 used 6 times */ 
	{ 23,-13,0,0, 2303, 384,  255, 255, 255, 255 /* vertex color */  },   /* v27 p122/V2 used 6 times */ 
	{ 26,0,0,0, 2303, 256,  255, 255, 255, 255 /* vertex color */  },   /* v28 p123/V2 used 6 times */ 
	{ 19,0,19,0, 1151, 256,  255, 255, 255, 255 /* vertex color */  },   /* v29 p123/V3 used 6 times */ 
	{ 0,0,26,0, 0, 256,  255, 255, 255, 255 /* vertex color */  },   /* v30 p113/V3 used 3 times */ 
	{ 9,-23,-9,0, 3455, 477,  255, 255, 255, 255 /* vertex color */  },   /* v31 p61/V1 used 5 times */ 
	{ 23,13,0,0, 2303, 128,  255, 255, 255, 255 /* vertex color */  },   /* v32 p124/V3 used 6 times */ 
	{ 16,13,16,0, 1151, 128,  255, 255, 255, 255 /* vertex color */  },   /* v33 p127/V1 used 6 times */ 
	{ 0,23,13,0, 0, 34,  255, 255, 255, 255 /* vertex color */  },   /* v34 p118/V1 used 2 times */ 
	{ 0,13,23,0, 0, 128,  255, 255, 255, 255 /* vertex color */  },   /* v35 p117/V1 used 3 times */ 
	{ 9,23,9,0, 1151, 34,  255, 255, 255, 255 /* vertex color */  },   /* v36 p128/V1 used 5 times */ 
	{ 13,23,0,0, 2303, 34,  255, 255, 255, 255 /* vertex color */  },   /* v37 p128/V2 used 5 times */ 
	{ 16,-13,-16,0, 3455, 384,  255, 255, 255, 255 /* vertex color */  },   /* v38 p62/V1 used 6 times */ 
	{ 0,-13,-23,0, 4608, 384,  255, 255, 255, 255 /* vertex color */  },   /* v39 p62/V2 used 6 times */ 
	{ 0,-23,-13,0, 4608, 477,  255, 255, 255, 255 /* vertex color */  },   /* v40 p60/V2 used 5 times */ 
	{ 19,0,-19,0, 3455, 256,  255, 255, 255, 255 /* vertex color */  },   /* v41 p63/V3 used 6 times */ 
	{ 0,0,-26,0, 4608, 256,  255, 255, 255, 255 /* vertex color */  },   /* v42 p62/V3 used 6 times */ 
	{ 16,13,-16,0, 3455, 128,  255, 255, 255, 255 /* vertex color */  },   /* v43 p67/V1 used 6 times */ 
	{ 9,23,-9,0, 3455, 34,  255, 255, 255, 255 /* vertex color */  },   /* v44 p67/V3 used 5 times */ 
	{ 0,23,-13,0, 4608, 34,  255, 255, 255, 255 /* vertex color */  },   /* v45 p67/V2 used 5 times */ 
	{ 0,13,-23,0, 4608, 128,  255, 255, 255, 255 /* vertex color */  },   /* v46 p66/V2 used 6 times */ 
	{ 0,26,0,0, 7488, 0,  255, 255, 255, 255 /* vertex color */  },   /* v47 p98/V3 used 1 times */ 
	{ 0,26,0,0, 8640, 0,  255, 255, 255, 255 /* vertex color */  },   /* v48 p108/V3 used 1 times */ 
	{ 0,-26,0,0, 6336, 512,  255, 255, 255, 255 /* vertex color */  },   /* v49 p79/V3 used 1 times */ 
	{ 0,26,0,0, 6336, 0,  255, 255, 255, 255 /* vertex color */  },   /* v50 p88/V3 used 1 times */ 
	{ 0,-26,0,0, 575, 512,  255, 255, 255, 255 /* vertex color */  },   /* v51 p109/V3 used 1 times */ 
	{ 0,-26,0,0, 1727, 512,  255, 255, 255, 255 /* vertex color */  },   /* v52 p119/V3 used 1 times */ 
	{ 0,-26,0,0, 2880, 512,  255, 255, 255, 255 /* vertex color */  },   /* v53 p49/V3 used 1 times */ 
	{ 0,26,0,0, 575, 0,  255, 255, 255, 255 /* vertex color */  },   /* v54 p118/V3 used 1 times */ 
	{ 0,26,0,0, 1727, 0,  255, 255, 255, 255 /* vertex color */  },   /* v55 p128/V3 used 1 times */ 
	{ 0,26,0,0, 2880, 0,  255, 255, 255, 255 /* vertex color */  },   /* v56 p58/V3 used 1 times */ 
	{ 0,-26,0,0, 4032, 512,  255, 255, 255, 255 /* vertex color */  },   /* v57 p59/V3 used 1 times */ 
	{ 0,-26,0,0, 5184, 512,  255, 255, 255, 255 /* vertex color */  },   /* v58 p69/V3 used 1 times */ 
	{ 0,26,0,0, 4032, 0,  255, 255, 255, 255 /* vertex color */  },   /* v59 p68/V3 used 1 times */ 
	{ 0,26,0,0, 5184, 0,  255, 255, 255, 255 /* vertex color */  },   /* v60 p78/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_BomEX_03_txt[] = {
	0xfbe7, 0xfc6b, 0xfced, 0xfd2b, 0xfce9, 0xfca3, 0xfbdf, 0xf31b, 0xea59, 0xd9d7, 0xc997, 0xc157, 0xc999, 0xda1b, 0xea9f, 0xf363, 
	0xfcab, 0xfd2f, 0xfd71, 0xfdb1, 0xfdad, 0xfd27, 0xfc63, 0xfb9d, 0xf299, 0xe219, 0xd9d9, 0xd9d9, 0xda1b, 0xea9f, 0xf363, 0xfbe7, 
	0xfced, 0xfd73, 0xfdf5, 0xfe33, 0xfdf1, 0xfd6b, 0xfca5, 0xfbdf, 0xf2db, 0xea59, 0xe219, 0xe21b, 0xe29d, 0xf31f, 0xfba5, 0xfc69, 
	0xfd2f, 0xfdb3, 0xfdf5, 0xfe35, 0xfe33, 0xfdad, 0xfce7, 0xfc21, 0xeb1d, 0xe29b, 0xda19, 0xda5b, 0xe29d, 0xeb21, 0xf3e5, 0xfc69, 
	0xfced, 0xfd71, 0xfdb3, 0xfdf5, 0xfdf3, 0xfdaf, 0xfce9, 0xf423, 0xeb5f, 0xda9b, 0xd219, 0xca19, 0xd25b, 0xe2df, 0xf3a3, 0xfc67, 
	0xfc69, 0xfced, 0xfd71, 0xfdb1, 0xfdb1, 0xfd6d, 0xfce9, 0xfc25, 0xeb61, 0xd29d, 0xba19, 0xb1d9, 0xba19, 0xca9d, 0xe321, 0xf3e5, 
	0xf3e5, 0xfc69, 0xfcad, 0xfced, 0xfd2d, 0xfceb, 0xfca7, 0xf423, 0xe361, 0xca9d, 0xa9d9, 0x9957, 0x9999, 0xb1db, 0xd29d, 0xeb21, 
	0xf321, 0xf3a5, 0xfbe7, 0xfc27, 0xfc67, 0xfc25, 0xf3e3, 0xeba1, 0xdadf, 0xba1b, 0x9199, 0x7917, 0x8117, 0x9957, 0xc1db, 0xe25d, 
	0xe25d, 0xf2df, 0xf321, 0xfb61, 0xfb61, 0xf361, 0xeb1f, 0xdadd, 0xc25b, 0x9999, 0x7917, 0x6095, 0x6095, 0x80d5, 0xb117, 0xd199, 
	0xd999, 0xea1b, 0xea5d, 0xf29d, 0xf29d, 0xea5b, 0xda5b, 0xc1d9, 0xa199, 0x8117, 0x5895, 0x4855, 0x4855, 0x7095, 0x98d5, 0xc117, 
	0xd117, 0xe199, 0xe9d9, 0xe9d9, 0xe1d9, 0xd9d9, 0xc997, 0xa957, 0x8917, 0x6095, 0x4855, 0x3853, 0x4013, 0x6053, 0x9095, 0xb8d5, 
	0xd917, 0xe157, 0xe199, 0xe199, 0xe197, 0xd197, 0xc155, 0xa115, 0x7895, 0x5855, 0x4053, 0x3013, 0x4013, 0x6053, 0x9095, 0xc0d5, 
	0xe117, 0xe199, 0xe999, 0xe1d9, 0xe1d9, 0xd997, 0xc155, 0xa115, 0x8095, 0x6053, 0x4853, 0x4013, 0x4853, 0x7055, 0xa895, 0xc8d7, 
	0xe99b, 0xf1db, 0xf21d, 0xea5b, 0xea5b, 0xe219, 0xd1d7, 0xb955, 0x98d5, 0x7895, 0x6053, 0x5853, 0x6855, 0x9095, 0xb8d7, 0xd959, 
	0xf25f, 0xfaa1, 0xf321, 0xf321, 0xf31f, 0xeadb, 0xe259, 0xd1d7, 0xb955, 0xa0d5, 0x8895, 0x8095, 0x9095, 0xb117, 0xd159, 0xe9db, 
	0xfb23, 0xfba5, 0xfbe7, 0xfc27, 0xfc23, 0xfbdf, 0xf35b, 0xea99, 0xd9d7, 0xc155, 0xa915, 0xa115, 0xa917, 0xc199, 0xe21b, 0xf29f, 
};

