#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],32,0),
	gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
	gsSP2Triangles(3, 2, 4, 0, 1, 5, 2, 0),
	gsSP2Triangles(2, 5, 6, 0, 2, 6, 4, 0),
	gsSP2Triangles(4, 6, 7, 0, 3, 4, 8, 0),
	gsSP2Triangles(8, 4, 9, 0, 4, 7, 9, 0),
	gsSP2Triangles(1, 10, 5, 0, 10, 1, 11, 0),
	gsSP2Triangles(1, 0, 12, 0, 9, 7, 13, 0),
	gsSP2Triangles(14, 9, 15, 0, 14, 15, 16, 0),
	gsSP2Triangles(16, 15, 17, 0, 9, 13, 15, 0),
	gsSP2Triangles(15, 13, 18, 0, 8, 9, 14, 0),
	gsSP2Triangles(19, 0, 3, 0, 19, 3, 20, 0),
	gsSP2Triangles(20, 3, 8, 0, 20, 8, 21, 0),
	gsSP2Triangles(21, 8, 14, 0, 0, 19, 22, 0),
	gsSP2Triangles(23, 16, 24, 0, 25, 14, 16, 0),
	gsSP2Triangles(25, 16, 23, 0, 21, 14, 25, 0),
	gsSP2Triangles(26, 27, 28, 0, 27, 26, 29, 0),
	gsSP2Triangles(26, 30, 31, 0, 26, 31, 29, 0),
	gsSPVertex(&JT_BomEX03_v[32],32,0),
	gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
	gsSP2Triangles(5, 4, 6, 0, 4, 7, 8, 0),
	gsSP2Triangles(4, 8, 6, 0, 7, 9, 8, 0),
	gsSP2Triangles(8, 9, 10, 0, 8, 10, 11, 0),
	gsSP2Triangles(6, 8, 11, 0, 12, 6, 13, 0),
	gsSP2Triangles(5, 6, 12, 0, 6, 11, 13, 0),
	gsSP2Triangles(0, 14, 7, 0, 7, 14, 9, 0),
	gsSP2Triangles(15, 0, 16, 0, 0, 15, 14, 0),
	gsSP2Triangles(11, 17, 18, 0, 11, 10, 17, 0),
	gsSP2Triangles(13, 11, 18, 0, 19, 20, 21, 0),
	gsSP2Triangles(22, 13, 20, 0, 22, 20, 19, 0),
	gsSP2Triangles(13, 18, 20, 0, 20, 18, 23, 0),
	gsSP2Triangles(18, 17, 24, 0, 12, 13, 22, 0),
	gsSP2Triangles(14, 25, 9, 0, 15, 26, 14, 0),
	gsSP2Triangles(15, 27, 26, 0, 26, 28, 25, 0),
	gsSP2Triangles(27, 29, 26, 0, 26, 29, 28, 0),
	gsSP2Triangles(14, 26, 25, 0, 9, 25, 30, 0),
	gsSP2Triangles(25, 28, 31, 0, 25, 31, 30, 0),
	gsSPVertex(&JT_BomEX03_v[64],15,0),
	gsSP2Triangles(0, 1, 2, 0, 3, 0, 4, 0),
	gsSP2Triangles(0, 3, 5, 0, 6, 7, 8, 0),
	gsSP2Triangles(8, 9, 10, 0, 8, 7, 9, 0),
	gsSP2Triangles(10, 9, 11, 0, 9, 12, 13, 0),
	gsSP2Triangles(7, 12, 9, 0, 7, 14, 12, 0),
	gsSPEndDisplayList(),
}; /* o2 */ 

/* 61 vertices */
Vtx JT_BomEX03_v[]={
	{   -13,   -23,     0,     0,  6911,   477,   255,   255,   255,   255},	/* 0 */
	{    -9,   -23,     9,     0,  8064,   477,   255,   255,   255,   255},	/* 1 */
	{   -16,   -13,    16,     0,  8064,   384,   255,   255,   255,   255},	/* 2 */
	{   -23,   -13,     0,     0,  6911,   384,   255,   255,   255,   255},	/* 3 */
	{   -19,     0,    19,     0,  8064,   256,   255,   255,   255,   255},	/* 4 */
	{     0,   -13,    23,     0,  9215,   384,   255,   255,   255,   255},	/* 5 */
	{     0,     0,    26,     0,  9215,   256,   255,   255,   255,   255},	/* 6 */
	{     0,    13,    23,     0,  9215,   128,   255,   255,   255,   255},	/* 7 */
	{   -26,     0,     0,     0,  6911,   256,   255,   255,   255,   255},	/* 8 */
	{   -16,    13,    16,     0,  8064,   128,   255,   255,   255,   255},	/* 9 */
	{     0,   -23,    13,     0,  9215,   477,   255,   255,   255,   255},	/* 10 */
	{     0,   -26,     0,     0,  8640,   512,   255,   255,   255,   255},	/* 11 */
	{     0,   -26,     0,     0,  7488,   512,   255,   255,   255,   255},	/* 12 */
	{     0,    23,    13,     0,  9215,    34,   255,   255,   255,   255},	/* 13 */
	{   -23,    13,     0,     0,  6911,   128,   255,   255,   255,   255},	/* 14 */
	{    -9,    23,     9,     0,  8064,    34,   255,   255,   255,   255},	/* 15 */
	{   -13,    23,     0,     0,  6911,    34,   255,   255,   255,   255},	/* 16 */
	{     0,    26,     0,     0,  7488,     0,   255,   255,   255,   255},	/* 17 */
	{     0,    26,     0,     0,  8640,     0,   255,   255,   255,   255},	/* 18 */
	{    -9,   -23,    -9,     0,  5760,   477,   255,   255,   255,   255},	/* 19 */
	{   -16,   -13,   -16,     0,  5760,   384,   255,   255,   255,   255},	/* 20 */
	{   -19,     0,   -19,     0,  5760,   256,   255,   255,   255,   255},	/* 21 */
	{     0,   -26,     0,     0,  6336,   512,   255,   255,   255,   255},	/* 22 */
	{    -9,    23,    -9,     0,  5760,    34,   255,   255,   255,   255},	/* 23 */
	{     0,    26,     0,     0,  6336,     0,   255,   255,   255,   255},	/* 24 */
	{   -16,    13,   -16,     0,  5760,   128,   255,   255,   255,   255},	/* 25 */
	{     9,   -23,     9,     0,  1151,   477,   255,   255,   255,   255},	/* 26 */
	{     0,   -23,    13,     0,     0,   477,   255,   255,   255,   255},	/* 27 */
	{     0,   -26,     0,     0,   575,   512,   255,   255,   255,   255},	/* 28 */
	{    16,   -13,    16,     0,  1151,   384,   255,   255,   255,   255},	/* 29 */
	{    13,   -23,     0,     0,  2303,   477,   255,   255,   255,   255},	/* 30 */
	{    23,   -13,     0,     0,  2303,   384,   255,   255,   255,   255},	/* 31 */
	{    13,   -23,     0,     0,  2303,   477,   255,   255,   255,   255},	/* 32 */
	{     9,   -23,     9,     0,  1151,   477,   255,   255,   255,   255},	/* 33 */
	{     0,   -26,     0,     0,  1727,   512,   255,   255,   255,   255},	/* 34 */
	{     0,   -23,    13,     0,     0,   477,   255,   255,   255,   255},	/* 35 */
	{    16,   -13,    16,     0,  1151,   384,   255,   255,   255,   255},	/* 36 */
	{     0,   -13,    23,     0,     0,   384,   255,   255,   255,   255},	/* 37 */
	{    19,     0,    19,     0,  1151,   256,   255,   255,   255,   255},	/* 38 */
	{    23,   -13,     0,     0,  2303,   384,   255,   255,   255,   255},	/* 39 */
	{    26,     0,     0,     0,  2303,   256,   255,   255,   255,   255},	/* 40 */
	{    19,     0,   -19,     0,  3455,   256,   255,   255,   255,   255},	/* 41 */
	{    16,    13,   -16,     0,  3455,   128,   255,   255,   255,   255},	/* 42 */
	{    23,    13,     0,     0,  2303,   128,   255,   255,   255,   255},	/* 43 */
	{     0,     0,    26,     0,     0,   256,   255,   255,   255,   255},	/* 44 */
	{    16,    13,    16,     0,  1151,   128,   255,   255,   255,   255},	/* 45 */
	{    16,   -13,   -16,     0,  3455,   384,   255,   255,   255,   255},	/* 46 */
	{     9,   -23,    -9,     0,  3455,   477,   255,   255,   255,   255},	/* 47 */
	{     0,   -26,     0,     0,  2880,   512,   255,   255,   255,   255},	/* 48 */
	{     9,    23,    -9,     0,  3455,    34,   255,   255,   255,   255},	/* 49 */
	{    13,    23,     0,     0,  2303,    34,   255,   255,   255,   255},	/* 50 */
	{     0,    23,    13,     0,     0,    34,   255,   255,   255,   255},	/* 51 */
	{     9,    23,     9,     0,  1151,    34,   255,   255,   255,   255},	/* 52 */
	{     0,    26,     0,     0,   575,     0,   255,   255,   255,   255},	/* 53 */
	{     0,    13,    23,     0,     0,   128,   255,   255,   255,   255},	/* 54 */
	{     0,    26,     0,     0,  1727,     0,   255,   255,   255,   255},	/* 55 */
	{     0,    26,     0,     0,  2880,     0,   255,   255,   255,   255},	/* 56 */
	{     0,     0,   -26,     0,  4608,   256,   255,   255,   255,   255},	/* 57 */
	{     0,   -13,   -23,     0,  4608,   384,   255,   255,   255,   255},	/* 58 */
	{     0,   -23,   -13,     0,  4608,   477,   255,   255,   255,   255},	/* 59 */
	{   -19,     0,   -19,     0,  5760,   256,   255,   255,   255,   255},	/* 60 */
	{   -16,   -13,   -16,     0,  5760,   384,   255,   255,   255,   255},	/* 61 */
	{     0,    13,   -23,     0,  4608,   128,   255,   255,   255,   255},	/* 62 */
	{   -16,    13,   -16,     0,  5760,   128,   255,   255,   255,   255},	/* 63 */
	{     0,   -23,   -13,     0,  4608,   477,   255,   255,   255,   255},	/* 64 */
	{     9,   -23,    -9,     0,  3455,   477,   255,   255,   255,   255},	/* 65 */
	{     0,   -26,     0,     0,  4032,   512,   255,   255,   255,   255},	/* 66 */
	{    -9,   -23,    -9,     0,  5760,   477,   255,   255,   255,   255},	/* 67 */
	{     0,   -26,     0,     0,  5184,   512,   255,   255,   255,   255},	/* 68 */
	{   -16,   -13,   -16,     0,  5760,   384,   255,   255,   255,   255},	/* 69 */
	{    19,     0,   -19,     0,  3455,   256,   255,   255,   255,   255},	/* 70 */
	{     0,    13,   -23,     0,  4608,   128,   255,   255,   255,   255},	/* 71 */
	{    16,    13,   -16,     0,  3455,   128,   255,   255,   255,   255},	/* 72 */
	{     0,    23,   -13,     0,  4608,    34,   255,   255,   255,   255},	/* 73 */
	{     9,    23,    -9,     0,  3455,    34,   255,   255,   255,   255},	/* 74 */
	{     0,    26,     0,     0,  4032,     0,   255,   255,   255,   255},	/* 75 */
	{    -9,    23,    -9,     0,  5760,    34,   255,   255,   255,   255},	/* 76 */
	{     0,    26,     0,     0,  5184,     0,   255,   255,   255,   255},	/* 77 */
	{   -16,    13,   -16,     0,  5760,   128,   255,   255,   255,   255},	/* 78 */
};


/*   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, 
};

