#include<ultra64.h>

extern Vtx CN_Mt_01_v[];
extern Vtx CN_Mt_01_vmcur[];
extern Tri CN_Mt_01_tri[];
extern Mtx CN_Mt_01_matrix[];

extern unsigned short CN_MtTX_1_txt[];
extern unsigned short CN_Mt_01_txt[];
extern unsigned short CN_Mt_02_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 */


/* ======== o3 ======== */

Gfx CN_Mt_01[]={

	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(CN_Mt_02_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPVertex(&CN_Mt_01_v[0], 15, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(3, 4, 5, 0),
	gsSP1Triangle(6, 7, 8, 0),
	gsSP1Triangle(8, 9, 6, 0),
	gsSP1Triangle(10, 11, 12, 0),
	gsSP1Triangle(12, 11, 13, 0),
	gsSP1Triangle(12, 14, 10, 0),
	gsSPVertex(&CN_Mt_01_v[15], 6, 0),
	gsSPVertex(&CN_Mt_01_v[23], 8, 6),
	gsSP1Triangle(0, 6, 1, 0),
	gsSP1Triangle(1, 7, 0, 0),
	gsSP1Triangle(2, 7, 1, 0),
	gsSP1Triangle(3, 8, 9, 0),
	gsSP1Triangle(4, 10, 11, 0),
	gsSP1Triangle(5, 12, 13, 0),
	gsSPVertex(&CN_Mt_01_v[21], 2, 0),
	gsSPVertex(&CN_Mt_01_v[31], 4, 2),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(1, 4, 5, 0),
	gsSPEndDisplayList(),
}; /* o3 */ 

/* 35 vertices */
Vtx CN_Mt_01_v[]={
	{ -291,453,0,0, -34, 92, -54, 106, 3, 0 },   /* v0 p44/V1 used 1 times */ 
	{ -202,461,202,0, 328, 397, -58, 97, 39, 0 },   /* v1 p44/V2 used 1 times */ 
	{ 202,594,202,0, 1250, 92, 8, 119, 15, 0 },   /* v2 p44/V3 used 1 times */ 
	{ 0,473,291,0, 764, 54, 0, 99, 66, 0 },   /* v3 p45/V1 used 1 times */ 
	{ 144,0,1075,0, 0, 1024, 6, 103, 60, 0 },   /* v4 p45/V2 used 1 times */ 
	{ 772,0,622,0, 2831, 1023, 51, 97, 49, 0 },   /* v5 p45/V3 used 1 times */ 
	{ 291,558,0,0, 1425, 58, 64, 101, -8, 0 },   /* v6 p46/V3 used 2 times */ 
	{ 202,594,202,0, 760, 73, 8, 119, 15, 0 },   /* v7 p39/V2 used 1 times */ 
	{ 772,0,622,0, -11, 1038, 51, 97, 49, 0 },   /* v8 p46/V1 used 2 times */ 
	{ 1075,0,0,0, 2051, 938, 61, 103, -13, 0 },   /* v9 p46/V2 used 1 times */ 
	{ 0,354,-291,0, 835, 758, -6, 106, -57, 0 },   /* v10 p49/V3 used 2 times */ 
	{ -372,390,-281,0, 1109, 450, -41, 106, -37, 0 },   /* v11 p43/V2 used 2 times */ 
	{ 202,594,202,0, 123, 46, 8, 119, 15, 0 },   /* v12 p49/V1 used 3 times */ 
	{ -291,453,0,0, 760, 76, -54, 106, 3, 0 },   /* v13 p43/V3 used 1 times */ 
	{ 291,558,0,0, 251, 413, 64, 101, -8, 0 },   /* v14 p49/V2 used 1 times */ 
	{ -372,390,-281,0, 539, 318, -41, 106, -37, 0 },   /* v15 p51/V3 used 2 times */ 
	{ -951,0,0,0, 2027, 913, -70, 96, 11, 0 },   /* v16 p51/V1 used 3 times */ 
	{ -202,461,202,0, 1685, 23, -58, 97, 39, 0 },   /* v17 p52/V1 used 1 times */ 
	{ -515,0,746,0, 0, 1024, -48, 96, 52, 0 },   /* v18 p53/V1 used 1 times */ 
	{ -951,0,0,0, 0, 1024, -70, 96, 11, 0 },   /* v19 p32/V1 used 1 times */ 
	{ 772,0,622,0, 1012, 1009, 51, 97, 49, 0 },   /* v20 p33/V1 used 1 times */ 
	{ -202,461,202,0, 174, 1073, -58, 97, 39, 0 },   /* v21 p36/V1 used 1 times */ 
	{ 0,473,291,0, 1069, 52, 0, 99, 66, 0 },   /* v22 p38/V1 used 1 times */ 
	{ -746,0,-746,0, -208, 942, -35, 105, -46, 0 },   /* v23 p37/V2 used 1 times */ 
	{ -291,453,0,0, 1210, 148, -54, 106, 3, 0 },   /* v24 p51/V2 used 2 times */ 
	{ 144,0,1075,0, 2091, 1023, 6, 103, 60, 0 },   /* v25 p53/V2 used 1 times */ 
	{ 0,473,291,0, 1348, -1, 0, 99, 66, 0 },   /* v26 p53/V3 used 1 times */ 
	{ -515,0,746,0, 1756, 1023, -48, 96, 52, 0 },   /* v27 p32/V2 used 1 times */ 
	{ -202,461,202,0, 686, 8, -58, 97, 39, 0 },   /* v28 p32/V3 used 1 times */ 
	{ 202,594,202,0, 933, 30, 8, 119, 15, 0 },   /* v29 p33/V2 used 1 times */ 
	{ 0,473,291,0, 316, 139, 0, 99, 66, 0 },   /* v30 p33/V3 used 1 times */ 
	{ 0,473,291,0, 790, 1287, 0, 99, 66, 0 },   /* v31 p36/V2 used 1 times */ 
	{ 202,594,202,0, 1419, 1073, 8, 119, 15, 0 },   /* v32 p36/V3 used 1 times */ 
	{ -202,461,202,0, 0, 85, -58, 97, 39, 0 },   /* v33 p38/V2 used 1 times */ 
	{ -515,0,746,0, 0, 1034, -48, 96, 52, 0 },   /* v34 p38/V3 used 1 times */ 
};


/*   0 vertices */
/*   1 Materials */

#define	LDIRX	0
#define	LDIRY	0
#define	LDIRZ	120
#define	AMBDIV	1
/* 32 x 32  G_IM_SIZ_16b G_IM_FMT_RGBA  */
unsigned short CN_Mt_02_txt[] = {
	0x9d11, 0x844f, 0x844f, 0xb613, 0x5b4b, 0x4a89, 0x638b, 0x7c4f, 0x740f, 0x748f, 0x63cd, 0x7c4f, 0x52cb, 0x5b0b, 0x6b8d, 0x6bcd, 0x3a07, 0x740d, 0xae13, 0xa551, 0x9d51, 0x9d51, 0x7c4f, 0x73cd, 0x6bcd, 0x9d51, 0x8ccf, 0xa551, 0xbe53, 0xc695, 0x844d, 0xa591, 
	0x638b, 0x634b, 0x638b, 0x740d, 0x3a49, 0x2145, 0x2985, 0x2985, 0x2987, 0x4289, 0x31c7, 0x4249, 0x4ac9, 0x5b0b, 0x73cd, 0x3a49, 0x31c7, 0x52cb, 0x52cb, 0x5b0b, 0x634d, 0x5b4d, 0x4249, 0x3a07, 0x3a07, 0x5b0b, 0x7c0d, 0x844d, 0x94cf, 0x634b, 0x4a89, 0x6b8b, 
	0x52c9, 0x4a89, 0x638b, 0x4ac9, 0x3a09, 0x4289, 0x4a8b, 0x2105, 0x2105, 0x2987, 0x2987, 0x3a49, 0x4ac9, 0x73cd, 0x428b, 0x1905, 0x638d, 0x4acb, 0x4a8b, 0x4a89, 0x5b0b, 0x638d, 0x6bcf, 0x4a89, 0x31c7, 0x4247, 0x5b0b, 0x73cd, 0x7c0d, 0x4247, 0x4247, 0x5b09, 
	0x4ac9, 0x4247, 0x4ac9, 0x4247, 0x4ac9, 0x4a89, 0x4249, 0x2105, 0x1903, 0x2105, 0x29c7, 0x4249, 0x52cb, 0x530d, 0x18c3, 0x31c7, 0x530b, 0x6bcd, 0x4a89, 0x4249, 0x3a07, 0x5b0b, 0x6b8d, 0x4249, 0x31c5, 0x3a07, 0x31c7, 0x5ac9, 0x4a87, 0x3a07, 0x5289, 0x740d, 
	0x4ac9, 0x4247, 0x3a07, 0x3a07, 0x4ac9, 0x4309, 0x32c9, 0x2105, 0x1903, 0x1903, 0x2987, 0x2985, 0x2987, 0x638f, 0x18c3, 0x2987, 0x4a8b, 0x6bcd, 0x4249, 0x3a09, 0x31c7, 0x31c5, 0x638d, 0x4249, 0x2985, 0x3185, 0x2985, 0x5289, 0x31c5, 0x4a87, 0x5b09, 0x740d, 
	0x73cd, 0x4ac9, 0x3a07, 0x3a07, 0x4309, 0x3287, 0x2a47, 0x21c5, 0x1905, 0x18c3, 0x1905, 0x2145, 0x2145, 0x31c7, 0x10c3, 0x2985, 0x3a09, 0x6bcd, 0x4249, 0x3a07, 0x3a07, 0x2a05, 0x644d, 0x3a07, 0x2985, 0x2985, 0x2205, 0x2a45, 0x2985, 0x3185, 0x52c9, 0x7c0d, 
	0x73cd, 0x52c9, 0x3a07, 0x3a07, 0x3b09, 0x3287, 0x3287, 0x2205, 0x1903, 0x18c3, 0x10c3, 0x1905, 0x1905, 0x29c7, 0x1103, 0x21c7, 0x4a89, 0x4acb, 0x530b, 0x3a07, 0x3ac7, 0x2205, 0x538b, 0x3ac9, 0x3207, 0x2205, 0x2205, 0x2205, 0x2205, 0x2985, 0x4a87, 0x73cd, 
	0x73cd, 0x6b8d, 0x4a89, 0x3a05, 0x4289, 0x3ac9, 0x3287, 0x2985, 0x1943, 0x1103, 0x18c3, 0x5b4d, 0x1905, 0x2987, 0x2185, 0x19c5, 0x2a45, 0x2985, 0x52cb, 0x31c7, 0x2a45, 0x19c5, 0x19c5, 0x3ac7, 0x3307, 0x2205, 0x2a05, 0x2a05, 0x3245, 0x2945, 0x4a47, 0x5b09, 
	0x6bcd, 0x6b8d, 0x4a89, 0x4247, 0x52cb, 0x6b8d, 0x3207, 0x29c7, 0x4b0b, 0x1103, 0x1103, 0x428b, 0x1905, 0x1905, 0x2205, 0x1a05, 0x1a05, 0x1a05, 0x3a07, 0x29c7, 0x2985, 0x3ac7, 0x2a05, 0x2b07, 0x2305, 0x22c5, 0x21c5, 0x2205, 0x2985, 0x1903, 0x2103, 0x4a87, 
	0x31c5, 0x5b0b, 0x4247, 0x3a07, 0x3a07, 0x3ac9, 0x3287, 0x2185, 0x3207, 0x1903, 0x1943, 0x4249, 0x1903, 0x1905, 0x19c5, 0x19c5, 0x1205, 0x1a45, 0x21c5, 0x2985, 0x1903, 0x2985, 0x3287, 0x2305, 0x2345, 0x2305, 0x2285, 0x2143, 0x2985, 0x10c3, 0x2103, 0x4a87, 
	0x2143, 0x3a07, 0x3a07, 0x2945, 0x21c3, 0x2285, 0x22c5, 0x2205, 0x29c5, 0x1943, 0x2105, 0x2145, 0x1145, 0x1145, 0x1145, 0x1205, 0x1245, 0x19c5, 0x21c5, 0x1103, 0x1103, 0x2205, 0x2a05, 0x1b05, 0x2345, 0x2b47, 0x22c5, 0x21c5, 0x2143, 0x10c3, 0x31c5, 0x4a87, 
	0x1143, 0x31c5, 0x3a07, 0x1943, 0x1203, 0x2ac7, 0x1a85, 0x2285, 0x29c5, 0x2985, 0x2985, 0x21c7, 0x1207, 0xa05, 0x9c5, 0x9c5, 0xa05, 0x1247, 0x2185, 0x1103, 0x1103, 0x2205, 0x2285, 0x1305, 0x2305, 0x2b87, 0x2345, 0x2285, 0x21c5, 0x10c3, 0x29c3, 0x2143, 
	0x1141, 0x19c3, 0x1943, 0x1103, 0x1183, 0x1a85, 0x1283, 0x1a05, 0x1943, 0x31c5, 0x2985, 0x21c5, 0xa05, 0x203, 0x203, 0x205, 0xa05, 0x1247, 0x2247, 0x1103, 0x1143, 0x1a05, 0x2305, 0x1b05, 0x2385, 0x2305, 0x2b87, 0x2305, 0x2245, 0x4247, 0x3a87, 0x1983, 
	0x941, 0x1183, 0x1983, 0x19c3, 0x1203, 0xa43, 0xa43, 0xa03, 0x1985, 0x39c5, 0x2145, 0x11c5, 0x9c3, 0x1c3, 0x203, 0x205, 0x205, 0xa05, 0x11c5, 0x1185, 0x1185, 0x1243, 0x1243, 0x2285, 0x1a85, 0x1ac5, 0x2345, 0x2b87, 0x1a85, 0x4247, 0x4285, 0x19c3, 
	0x11c1, 0x1141, 0x1a03, 0x1a43, 0x983, 0xa83, 0x203, 0x203, 0x943, 0x39c5, 0x2945, 0x983, 0x1c3, 0x1c3, 0x1c3, 0x1c3, 0x205, 0xa05, 0x19c5, 0x1185, 0x11c5, 0x1a45, 0xa03, 0x1203, 0x1a85, 0x1b05, 0x2305, 0x3387, 0x2a05, 0x6b8b, 0x740b, 0x2203, 
	0x19c1, 0x1181, 0x2205, 0x1143, 0x103, 0x103, 0x1c3, 0x203, 0x143, 0x1183, 0x1985, 0x1185, 0x1c3, 0x1c3, 0x1c3, 0x1c3, 0x1c3, 0xa45, 0x19c5, 0x11c5, 0x1183, 0x11c3, 0x983, 0x1183, 0x1243, 0x1a43, 0x2305, 0x1b45, 0x1a85, 0x4287, 0x6c0b, 0x2243, 
	0x941, 0x1101, 0x1983, 0x903, 0xc3, 0xc1, 0x103, 0x103, 0x943, 0x943, 0x943, 0x985, 0x1c3, 0x1c3, 0x1c1, 0x1c3, 0x205, 0x19c5, 0x1183, 0x1205, 0x1205, 0x141, 0x8c1, 0x1183, 0x11c3, 0x1203, 0x1b05, 0x3387, 0x2245, 0x1141, 0x4307, 0x1181, 
	0x1983, 0x2183, 0x2183, 0x903, 0x81, 0x81, 0x81, 0xc1, 0x183, 0x143, 0x143, 0x983, 0x1c3, 0x181, 0x1c3, 0x1c3, 0x1183, 0xa05, 0xa05, 0x983, 0x2245, 0x141, 0x101, 0xa03, 0xa03, 0x1243, 0x1283, 0x1a85, 0x943, 0x941, 0x1183, 0x901, 
	0x901, 0x1983, 0x2985, 0xc3, 0x81, 0x41, 0x81, 0x81, 0xc1, 0xc1, 0x103, 0x143, 0x183, 0x141, 0x183, 0x1c3, 0x9c5, 0x1c3, 0x1c5, 0x9c3, 0x1a05, 0x143, 0x143, 0x1203, 0x1243, 0x1283, 0xa03, 0x11c5, 0x943, 0x1143, 0x941, 0x901, 
	0x101, 0x101, 0xc1, 0x81, 0x81, 0x81, 0x41, 0x81, 0x81, 0x81, 0xc1, 0x101, 0x141, 0x181, 0x143, 0x101, 0x9c3, 0x9c5, 0x1c5, 0x1a85, 0x9c3, 0x103, 0x1c3, 0x1a45, 0x1a85, 0x1205, 0x1183, 0x1183, 0x143, 0x901, 0xc1, 0x901, 
	0x81, 0x41, 0x81, 0x81, 0x41, 0x81, 0x41, 0x81, 0x81, 0x81, 0x81, 0xc1, 0x143, 0x143, 0xc1, 0xc1, 0x101, 0x143, 0x985, 0x1a45, 0x183, 0xa03, 0xa03, 0x1283, 0x1245, 0x1183, 0x11c5, 0x903, 0xc1, 0xc3, 0x81, 0x41, 
	0x41, 0x41, 0x41, 0x41, 0x41, 0x81, 0x81, 0x81, 0xc1, 0xc1, 0x101, 0x141, 0x143, 0x101, 0x81, 0x81, 0xc1, 0x103, 0x985, 0x183, 0x143, 0x9c3, 0xa03, 0xa43, 0xa43, 0x943, 0x903, 0x903, 0xc1, 0x81, 0x81, 0x41, 
	0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x81, 0xc1, 0xc1, 0xc1, 0xc1, 0x101, 0x143, 0x101, 0x81, 0x81, 0x81, 0x81, 0xc1, 0x103, 0x943, 0x143, 0x1283, 0xa43, 0x9c3, 0x903, 0xc3, 0x901, 0xc1, 0x81, 0x81, 0x81, 
	0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x81, 0xc1, 0xc1, 0xc1, 0x101, 0x101, 0x101, 0xc1, 0x81, 0x41, 0x41, 0x41, 0x81, 0x903, 0x103, 0x143, 0x1283, 0xa43, 0x1143, 0x903, 0x903, 0x903, 0xc1, 0x81, 0x81, 0x81, 
	0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x81, 0xc1, 0xc1, 0xc1, 0xc1, 0x101, 0x141, 0xc1, 0x81, 0x41, 0x41, 0x41, 0x81, 0x81, 0x901, 0x943, 0x1285, 0xa43, 0x1143, 0x903, 0x903, 0x943, 0x8c1, 0x81, 0x901, 0x81, 
	0xc3, 0x41, 0x41, 0x41, 0x41, 0x41, 0x83, 0xc1, 0xc1, 0xc1, 0xc1, 0x101, 0x141, 0xc1, 0x81, 0x41, 0x41, 0x41, 0x41, 0x81, 0x943, 0x901, 0x1283, 0xa43, 0x11c3, 0x8c3, 0x903, 0x903, 0x1143, 0x903, 0x1183, 0x8c3, 
	0xc3, 0x41, 0x41, 0x1, 0x41, 0x83, 0xc1, 0xc1, 0xc1, 0xc1, 0x101, 0x101, 0x143, 0xc1, 0x81, 0x81, 0x81, 0x41, 0x41, 0x41, 0x81, 0x81, 0x943, 0x9c3, 0xc1, 0x903, 0x8c3, 0x903, 0x8c1, 0x1143, 0x1183, 0x901, 
	0xc3, 0x41, 0x1, 0x41, 0x1, 0x41, 0xc1, 0x81, 0xc1, 0xc1, 0x101, 0xc1, 0xc1, 0xc1, 0xc1, 0x81, 0x81, 0x81, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0xc1, 0xc3, 0x903, 0x81, 0x81, 0x8c1, 0x10c3, 0x901, 
	0x41, 0x1, 0x1, 0x41, 0x41, 0x1, 0x41, 0x81, 0x81, 0xc1, 0xc1, 0x81, 0xc1, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x83, 0x81, 0x81, 0x81, 0x881, 0x901, 
	0x1, 0x1, 0x41, 0x1, 0x41, 0x1, 0x41, 0x41, 0x81, 0x81, 0x41, 0x81, 0x41, 0x1, 0x41, 0x41, 0x41, 0x41, 0x41, 0x81, 0x41, 0x41, 0x41, 0x41, 0x81, 0x81, 0x103, 0x81, 0x41, 0x81, 0x8c1, 0x1103, 
	0x41, 0x1, 0x1, 0x1, 0x1, 0x1, 0x83, 0x41, 0x43, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x41, 0x41, 0x1, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x81, 0xc3, 0x103, 0x41, 0x41, 0x41, 0x41, 0x81, 
	0x41, 0x41, 0x1, 0x1, 0x41, 0x1, 0x1, 0x41, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x41, 0x41, 0x1, 0x1, 0x1, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x81, 
};

