#include<ultra64.h>

extern Vtx CN_Ground_360_v[];

extern unsigned short CN_Ground360_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)

#define G_CC_PRIMSHADE PRIMITIVE,0,SHADE,0,0,0,0,SHADE

/* main display list */


/* ======== o7 ======== */

Gfx CN_Ground_360[]={

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,0,G_TX_WRAP,5,0,G_TX_WRAP,5,0),
	gs_Nin_LoadTextureImage(CN_Ground360_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,32,0,7),

	gsSPVertex(&CN_Ground_360_v[0], 15, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(4, 5, 6, 0),
	gsSP1Triangle(4, 6, 0, 0),
	gsSP1Triangle(7, 4, 0, 0),
	gsSP1Triangle(7, 0, 3, 0),
	gsSP1Triangle(6, 8, 1, 0),
	gsSP1Triangle(6, 1, 0, 0),
	gsSP1Triangle(1, 9, 10, 0),
	gsSP1Triangle(1, 10, 2, 0),
	gsSP1Triangle(8, 11, 9, 0),
	gsSP1Triangle(8, 9, 1, 0),
	gsSP1Triangle(2, 10, 12, 0),
	gsSP1Triangle(2, 12, 13, 0),
	gsSP1Triangle(3, 2, 13, 0),
	gsSP1Triangle(3, 13, 14, 0),
	gsSPVertex(&CN_Ground_360_v[3], 1, 0),
	gsSPVertex(&CN_Ground_360_v[7], 1, 1),
	gsSPVertex(&CN_Ground_360_v[9], 4, 2),
	gsSPVertex(&CN_Ground_360_v[14], 6, 6),
	gsSPVertex(&CN_Ground_360_v[22], 2, 12),
	gsSP1Triangle(7, 1, 0, 0),
	gsSP1Triangle(7, 0, 6, 0),
	gsSP1Triangle(2, 8, 10, 0),
	gsSP1Triangle(2, 10, 3, 0),
	gsSP1Triangle(4, 9, 8, 0),
	gsSP1Triangle(4, 8, 2, 0),
	gsSP1Triangle(3, 10, 12, 0),
	gsSP1Triangle(3, 12, 5, 0),
	gsSP1Triangle(11, 7, 6, 0),
	gsSP1Triangle(11, 6, 13, 0),
	gsSPVertex(&CN_Ground_360_v[12], 3, 0),
	gsSPVertex(&CN_Ground_360_v[20], 5, 3),
	gsSP1Triangle(2, 1, 3, 0),
	gsSP1Triangle(2, 3, 6, 0),
	gsSP1Triangle(1, 0, 4, 0),
	gsSP1Triangle(1, 4, 3, 0),
	gsSP1Triangle(0, 5, 7, 0),
	gsSP1Triangle(0, 7, 4, 0),
	gsSPEndDisplayList(),
}; /* o7 */ 

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 25 vertices */
Vtx CN_Ground_360_v[]={
	{ -3000,0,-3000,0, 3072, -2048, 0,120,0,255 },   /* v0 used p246/V1 4 times */
	{ -3000,0,0,0, 2048, -2048, 0,120,0,255 },   /* v1 used p246/V2 8 times */
	{ 0,0,0,0, 2048, -1024, 0,120,0,255 },   /* v2 used p246/V3 4 times */
	{ 0,0,-3000,0, 3072, -1024, 0,120,0,255 },   /* v3 used p246/V4 4 times */
	{ -3000,0,-6000,0, 4096, -2048, 0,120,0,255 },   /* v4 used p242/V1 2 times */
	{ -6000,0,-6000,0, 4096, -3072, 0,120,0,255 },   /* v5 used p242/V2 2 times */
	{ -6000,0,-3000,0, 3072, -3072, 0,120,0,255 },   /* v6 used p242/V3 4 times */
	{ 0,0,-6000,0, 4096, -1024, 0,120,0,255 },   /* v7 used p243/V1 2 times */
	{ -6000,0,0,0, 2048, -3072, 0,120,0,255 },   /* v8 used p245/V2 4 times */
	{ -3000,0,3000,0, 1024, -2048, 0,120,0,255 },   /* v9 used p250/V2 8 times */
	{ 0,0,3000,0, 1024, -1024, 0,120,0,255 },   /* v10 used p250/V3 4 times */
	{ -6000,0,3000,0, 1024, -3072, 0,120,0,255 },   /* v11 used p249/V2 4 times */
	{ 3000,0,3000,0, 1024, 0, 0,120,0,255 },   /* v12 used p252/V2 8 times */
	{ 3000,0,0,0, 2048, 0, 0,120,0,255 },   /* v13 used p248/V2 8 times */
	{ 3000,0,-3000,0, 3072, 0, 0,120,0,255 },   /* v14 used p241/V3 8 times */
	{ 3000,0,-6000,0, 4096, 0, 0,120,0,255 },   /* v15 used p241/V2 4 times */
	{ -3000,0,6000,0, 0, -2048, 0,120,0,255 },   /* v16 used p254/V2 4 times */
	{ -6000,0,6000,0, 0, -3072, 0,120,0,255 },   /* v17 used p253/V2 2 times */
	{ 0,0,6000,0, 0, -1024, 0,120,0,255 },   /* v18 used p254/V3 2 times */
	{ 6000,0,-6000,0, 4096, 1024, 0,120,0,255 },   /* v19 used p241/V1 2 times */
	{ 6000,0,0,0, 2048, 1024, 0,120,0,255 },   /* v20 used p248/V3 4 times */
	{ 6000,0,3000,0, 1024, 1024, 0,120,0,255 },   /* v21 used p252/V3 4 times */
	{ 3000,0,6000,0, 0, 0, 0,120,0,255 },   /* v22 used p256/V2 4 times */
	{ 6000,0,-3000,0, 3072, 1024, 0,120,0,255 },   /* v23 used p241/V4 4 times */
	{ 6000,0,6000,0, 0, 1024, 0,120,0,255 },   /* v24 used p256/V3 2 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_Ground360_txt[] = {
	0x2b03, 0x3b83, 0x6401, 0x5c01, 0x4b41, 0x32c1, 0x3b01, 0x4301, 0x3b01, 0x2b01, 0x3b41, 0x3b81, 0x3bc1, 0x22c3, 0x3b43, 0x4b81, 0x22c1, 0x4b81, 0x32c1, 0x4341, 0x2ac1, 0x3b01, 0x32c1, 0x2241, 0x3b81, 0x4301, 0x1ac1, 0x4301, 0x141, 0x1a41, 0xa81, 0x1b05, 
	0x1a03, 0x32c1, 0x3281, 0x9c1, 0x11c1, 0x1141, 0x1141, 0x2a41, 0x2a81, 0x2a81, 0x3281, 0x32c1, 0x5341, 0x4381, 0x2243, 0x2243, 0x2243, 0x901, 0x2ac1, 0x2ac1, 0x11c3, 0x2241, 0x2ac1, 0x1ac1, 0x32c1, 0x6401, 0x3301, 0x181, 0x1a41, 0x1a81, 0x1ac1, 0x2283, 
	0x10c3, 0x11c3, 0x1141, 0x1141, 0x1181, 0x8c1, 0x881, 0x1981, 0x2a41, 0x2a41, 0x2201, 0x2a81, 0x3281, 0x841, 0x1141, 0x1a03, 0x8c1, 0x2a41, 0x21c1, 0x21c1, 0x1101, 0x941, 0x981, 0x81, 0x2201, 0x9c1, 0x3301, 0x12c1, 0x101, 0x981, 0x1203, 0x1983, 
	0x883, 0x1183, 0xc1, 0x1201, 0x1981, 0x881, 0x881, 0x1141, 0x1981, 0x19c1, 0x2201, 0x2201, 0x2a03, 0x11c3, 0x941, 0x8c1, 0x881, 0x10c1, 0x1941, 0x29c1, 0x2a01, 0x1981, 0x1181, 0x1101, 0x8c1, 0xc1, 0x1a43, 0x981, 0x1143, 0x901, 0x1143, 0x18c3, 
	0x1985, 0x4301, 0x4b41, 0x4301, 0x981, 0x881, 0x8c1, 0x10c1, 0x1101, 0x1981, 0x21c1, 0x21c1, 0x32c1, 0x2201, 0x1a03, 0x901, 0x901, 0xa01, 0x3281, 0x21c1, 0x2241, 0x2201, 0x1181, 0x1101, 0x1083, 0x881, 0x1903, 0x2145, 0x2205, 0x1943, 0x10c1, 0x20c7, 
	0x18c7, 0x18c5, 0x943, 0x101, 0x1a41, 0x31c1, 0x1101, 0x8c1, 0x8c1, 0x1141, 0x1983, 0x3b03, 0x21c3, 0x1a03, 0x19c1, 0x1a03, 0x1a03, 0x1143, 0x881, 0xc1, 0x11c1, 0x1a01, 0x1181, 0x10c3, 0x1083, 0x20c7, 0x2105, 0x1903, 0x1083, 0x1083, 0x2909, 0x18c5, 
	0x20c9, 0x20c9, 0x2909, 0x1985, 0x1243, 0x1a45, 0x19c3, 0x903, 0x941, 0x1141, 0x2203, 0x1981, 0x3b03, 0x3281, 0x1a03, 0x903, 0x8c3, 0x1103, 0x1181, 0x903, 0x903, 0x981, 0x1181, 0x1181, 0x10c3, 0x1883, 0x18c3, 0x2907, 0x394b, 0x394b, 0x2909, 0x2909, 
	0x18c7, 0x18c3, 0x18c5, 0x18c3, 0x18c3, 0x1983, 0x2245, 0x1181, 0x1a03, 0x1141, 0x2a83, 0x32c3, 0x1a03, 0x1a03, 0x1981, 0x8c1, 0x1a03, 0x901, 0x3149, 0x1101, 0x10c5, 0x8c3, 0x903, 0x903, 0x8c3, 0x1083, 0x843, 0x1043, 0x1885, 0x1043, 0x1885, 0x18c7, 
	0x1085, 0x20c7, 0x28c7, 0x2907, 0x18c5, 0x29c7, 0x4207, 0x21c5, 0x1983, 0x1181, 0x1981, 0x2a01, 0x4343, 0x3a83, 0x2a03, 0x903, 0x1143, 0x1905, 0x1183, 0x3149, 0x18c7, 0x1083, 0x1083, 0x1083, 0x18c5, 0x2907, 0x394b, 0x3149, 0x2907, 0x18c7, 0x418b, 0x1887, 
	0x18c7, 0x1043, 0x2907, 0x398b, 0x3a07, 0x4207, 0x5a0d, 0x2987, 0x1105, 0x1981, 0x1201, 0x42c3, 0x4301, 0x4303, 0x1983, 0x1905, 0x1945, 0x1905, 0x49cb, 0x3187, 0x520d, 0x3147, 0x1885, 0x1885, 0x1085, 0x398b, 0x20c7, 0x49cb, 0x418b, 0x3149, 0x2909, 0x2109, 
	0x314b, 0x3149, 0x1045, 0x843, 0x2983, 0x418b, 0x418b, 0x49cb, 0x1a03, 0x1201, 0x3243, 0x2a01, 0x4303, 0x1a03, 0x2a03, 0x8c3, 0x8c1, 0x1103, 0x1885, 0x18c7, 0x1085, 0x1085, 0x2907, 0x3149, 0x1085, 0x1885, 0x1083, 0x2907, 0x1083, 0x2909, 0x18c7, 0x18c7, 
	0x418b, 0x3949, 0x2909, 0x1, 0x1043, 0x20c5, 0x3185, 0x20c7, 0x1a03, 0x1a03, 0x4b03, 0x2a01, 0x3ac3, 0x3ac3, 0x3283, 0x8c3, 0x8c3, 0x1885, 0x20c5, 0x18c7, 0x1885, 0x1885, 0x20c5, 0x1085, 0x1043, 0x1885, 0x1885, 0x3149, 0x51cb, 0x20c7, 0x2907, 0x20c7, 
	0x1085, 0x1043, 0x1, 0x1, 0x1, 0x1, 0x1043, 0x2907, 0x4301, 0x1903, 0x1201, 0x3243, 0x3ac3, 0x4301, 0x3a85, 0x29c3, 0x801, 0x3949, 0x520d, 0x520d, 0x3149, 0x20c7, 0x2907, 0x28c7, 0x49cb, 0x49cb, 0x2909, 0x2909, 0x20c5, 0x2907, 0x3949, 0x3149, 
	0x20c7, 0x801, 0x418b, 0x1885, 0x1085, 0x843, 0x18c5, 0x49cb, 0x3149, 0x1103, 0x21c3, 0x21c3, 0x4301, 0x3283, 0x1983, 0x1983, 0x843, 0x1045, 0x1885, 0x1043, 0x1085, 0x1885, 0x1885, 0x20c7, 0x49cb, 0x49cb, 0x3149, 0x2907, 0x20c7, 0x3109, 0x18c5, 0x18c7, 
	0x20c7, 0x3109, 0x1885, 0x1043, 0x1043, 0x1043, 0x843, 0x1083, 0x18c5, 0x1a03, 0x1945, 0x1143, 0x42c3, 0x2a03, 0x2a43, 0x8c1, 0x8c3, 0x843, 0x1885, 0x1043, 0x841, 0x1043, 0x843, 0x1085, 0x1885, 0x1043, 0x20c5, 0x1083, 0x2907, 0x28c7, 0x314b, 0x20c7, 
	0x3149, 0x3949, 0x18c5, 0x801, 0x1043, 0x1883, 0x20c5, 0x1043, 0x1a03, 0x4301, 0x1103, 0x4301, 0x1143, 0x2185, 0x3ac3, 0x1a03, 0x1103, 0x1083, 0x314b, 0x20c7, 0x1083, 0x1083, 0x843, 0x843, 0x1885, 0x20c7, 0x2907, 0x3109, 0x3949, 0x3149, 0x3109, 0x20c7, 
	0x2909, 0x394b, 0x394b, 0x20c5, 0x1885, 0x1885, 0x843, 0x843, 0x10c3, 0x903, 0x2a03, 0x21c3, 0x1143, 0x4301, 0x1a03, 0x1143, 0x8c3, 0x1885, 0x3149, 0x398b, 0x20c7, 0x20c5, 0x28c7, 0x20c7, 0x1043, 0x843, 0x18c5, 0x18c5, 0x1043, 0x1043, 0x2909, 0x2909, 
	0x3109, 0x1885, 0x2907, 0x20c7, 0x1043, 0x3107, 0x51cb, 0x1885, 0x1885, 0x10c3, 0x903, 0x901, 0x943, 0x4301, 0x21c3, 0x5381, 0x2943, 0x3b03, 0x2185, 0x3147, 0x20c7, 0x20c5, 0x18c3, 0x1883, 0x2909, 0x1043, 0x1885, 0x1085, 0x20c7, 0x18c5, 0x20c5, 0x20c7, 
	0x3149, 0x3949, 0x1085, 0x1085, 0x1083, 0x3149, 0x20c7, 0x5285, 0x2907, 0x1105, 0x29c5, 0x1945, 0x1143, 0x21c3, 0x3ac1, 0x3243, 0x3203, 0x2141, 0x2103, 0x2105, 0x2105, 0x31c5, 0x2945, 0x18c5, 0x3149, 0x418b, 0x1043, 0x1, 0x20c7, 0x843, 0x843, 0x18c5, 
	0x314b, 0x3949, 0x51cb, 0x49cb, 0x2907, 0x520b, 0x3949, 0x3149, 0x2907, 0x843, 0x1905, 0x21c3, 0x4283, 0x31c7, 0x3243, 0x29c3, 0x29c1, 0x3203, 0x1a03, 0x4283, 0x3a43, 0x3243, 0x2985, 0x2105, 0x2107, 0x801, 0x1043, 0x1, 0x1, 0x843, 0x1885, 0x1885, 
	0x20c7, 0x314b, 0x3149, 0x49cb, 0x49cb, 0x2909, 0x20c7, 0x3149, 0x2909, 0x1885, 0x314b, 0x18c7, 0x8c1, 0x1183, 0x29c1, 0x2983, 0x3241, 0x3a43, 0x5381, 0x42c1, 0x3a81, 0x3a43, 0x29c3, 0x2145, 0x2105, 0x843, 0x1, 0x801, 0x1, 0x1043, 0x418b, 0x394b, 
	0x2909, 0x290b, 0x843, 0x418b, 0x418b, 0x20c7, 0x843, 0x1, 0x1085, 0x18c7, 0x18c5, 0x20c7, 0x19c3, 0x3a43, 0x2945, 0x1a03, 0x4341, 0x4301, 0x4301, 0x42c1, 0x3201, 0x29c1, 0x29c3, 0x2145, 0x3149, 0x3989, 0x418b, 0x394b, 0x843, 0x1045, 0x1085, 0x20c9, 
	0x1087, 0x418b, 0x3149, 0x418b, 0x418b, 0x1885, 0x2907, 0x3149, 0x1085, 0x1043, 0x1043, 0x1941, 0x10c5, 0x19c3, 0x31c3, 0x29c3, 0x3ac1, 0x2201, 0x5381, 0x4301, 0x29c1, 0x1941, 0x19c5, 0x1a05, 0x2187, 0x418b, 0x624d, 0x5a0d, 0x20c7, 0x1885, 0x1045, 0x1085, 
	0x1887, 0x1885, 0x418b, 0x1043, 0x20c7, 0x20c7, 0x1885, 0x18c7, 0x841, 0x801, 0x843, 0x1083, 0x1941, 0x29c1, 0x1a03, 0x1941, 0x2a83, 0x4b01, 0x42c1, 0x4301, 0x1941, 0x41, 0x21c5, 0x19c3, 0x19c3, 0x3949, 0x3207, 0x20c7, 0x4189, 0x20c5, 0x2905, 0x1083, 
	0x20c7, 0x2909, 0x18c5, 0x1885, 0x843, 0x1043, 0x841, 0x1885, 0x18c5, 0x10c3, 0x1101, 0x1103, 0x1a83, 0x1a83, 0x3241, 0x4b41, 0x4b41, 0x4b41, 0x4301, 0x3ac1, 0x4b01, 0x881, 0x1941, 0x1983, 0x1103, 0x1143, 0x18c7, 0x1985, 0x1983, 0x1083, 0x1885, 0x18c5, 
	0x18c7, 0x20c7, 0x18c5, 0x2907, 0x18c5, 0x398b, 0x18c5, 0x1103, 0x1103, 0x1983, 0x1181, 0x1183, 0x881, 0x1a83, 0x4b41, 0x3241, 0x2a83, 0x63c1, 0x4b41, 0x4b41, 0x881, 0x3201, 0x41, 0x8c1, 0x881, 0x81, 0xc1, 0x9c1, 0x903, 0x943, 0x20c9, 0x18c5, 
	0x18c5, 0x1083, 0x1983, 0x2203, 0x1141, 0x1141, 0x1a01, 0x19c1, 0x19c1, 0x1181, 0x1a03, 0x1a83, 0x19c1, 0x1a83, 0x3241, 0x42c1, 0x1a83, 0x3b01, 0x5381, 0x63c1, 0x1a83, 0x881, 0x3241, 0x881, 0x881, 0x41, 0x101, 0x2241, 0x2201, 0x1985, 0x1c1, 0x983, 
	0x18c5, 0x19c3, 0x2281, 0x2a81, 0x3301, 0x2281, 0x32c1, 0x3ac1, 0x2241, 0x11c3, 0x11c1, 0x1981, 0x1141, 0x1a83, 0x1941, 0x3b03, 0x32c1, 0x1a81, 0x4b41, 0x4301, 0x3b01, 0x1981, 0x1941, 0x8c1, 0x881, 0x901, 0x881, 0x941, 0x3b01, 0x4b41, 0x9c1, 0x18c5, 
	0x10c3, 0x1a41, 0x22c1, 0x2ac1, 0x4b41, 0x4301, 0x4301, 0x3b01, 0x1a41, 0x1241, 0x1201, 0x881, 0x1101, 0x19c1, 0x1981, 0x1a83, 0x2283, 0x63c1, 0x3a81, 0x63c1, 0x2201, 0x3ac1, 0x1181, 0x881, 0x881, 0x1203, 0x181, 0x2201, 0x941, 0x901, 0x1183, 0x1083, 
	0x2245, 0x1a41, 0x2281, 0x3301, 0x4b41, 0x5341, 0x4b41, 0x3b01, 0x1301, 0x1281, 0x1a41, 0x2281, 0x11c1, 0x1a01, 0x3b01, 0x1a43, 0x63c1, 0x3a81, 0x4341, 0x3a81, 0x3b01, 0x4b41, 0x1141, 0x1183, 0x2a81, 0xa01, 0xa01, 0x1a01, 0x1181, 0x2241, 0x1a43, 0x1183, 
	0x9c1, 0x1a81, 0x2281, 0x3301, 0x2ac1, 0x4301, 0x4b41, 0x3b01, 0x2b01, 0x1a81, 0x2a81, 0x2ac1, 0x1a81, 0x2281, 0x2281, 0x1a83, 0x2a83, 0x3241, 0x63c1, 0x63c1, 0x63c1, 0x4b41, 0x2b43, 0x3b03, 0x3401, 0x22c3, 0x3b03, 0x3b41, 0x1b03, 0x4381, 0x2283, 0x2241, 
	0x1a41, 0x2241, 0x2ac1, 0x2a81, 0x32c1, 0x32c1, 0x4b41, 0x4341, 0x3301, 0x2301, 0x2ac1, 0x3301, 0x2b01, 0x3301, 0x1a41, 0x63c1, 0x1a81, 0x2a41, 0x5383, 0x2a01, 0x63c1, 0x3a81, 0x5c01, 0x63c1, 0x3241, 0x53c1, 0x4381, 0x4b01, 0x3ac1, 0x5bc1, 0x4301, 0x3b01, 
};

