#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],25,0),
	gsSP1Quadrangle(0, 1, 2, 3, 0),
	gsSP1Quadrangle(4, 5, 6, 0, 0),
	gsSP1Quadrangle(7, 4, 0, 3, 0),
	gsSP1Quadrangle(6, 8, 1, 0, 0),
	gsSP1Quadrangle(1, 9, 10, 2, 0),
	gsSP1Quadrangle(8, 11, 9, 1, 0),
	gsSP1Quadrangle(2, 10, 12, 13, 0),
	gsSP1Quadrangle(3, 2, 13, 14, 0),
	gsSP1Quadrangle(15, 7, 3, 14, 0),
	gsSP1Quadrangle(9, 16, 17, 10, 0),
	gsSP1Quadrangle(11, 18, 16, 9, 0),
	gsSP1Quadrangle(10, 17, 19, 12, 0),
	gsSP1Quadrangle(20, 15, 14, 21, 0),
	gsSP1Quadrangle(14, 13, 22, 21, 0),
	gsSP1Quadrangle(13, 12, 23, 22, 0),
	gsSP1Quadrangle(12, 19, 24, 23, 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},	/* 0 */
	{ -3000,     0,     0,     0,  2048, -2048,     0,   120,     0,   255},	/* 1 */
	{     0,     0,     0,     0,  2048, -1024,     0,   120,     0,   255},	/* 2 */
	{     0,     0, -3000,     0,  3072, -1024,     0,   120,     0,   255},	/* 3 */
	{ -3000,     0, -6000,     0,  4096, -2048,     0,   120,     0,   255},	/* 4 */
	{ -6000,     0, -6000,     0,  4096, -3072,     0,   120,     0,   255},	/* 5 */
	{ -6000,     0, -3000,     0,  3072, -3072,     0,   120,     0,   255},	/* 6 */
	{     0,     0, -6000,     0,  4096, -1024,     0,   120,     0,   255},	/* 7 */
	{ -6000,     0,     0,     0,  2048, -3072,     0,   120,     0,   255},	/* 8 */
	{ -3000,     0,  3000,     0,  1024, -2048,     0,   120,     0,   255},	/* 9 */
	{     0,     0,  3000,     0,  1024, -1024,     0,   120,     0,   255},	/* 10 */
	{ -6000,     0,  3000,     0,  1024, -3072,     0,   120,     0,   255},	/* 11 */
	{  3000,     0,  3000,     0,  1024,     0,     0,   120,     0,   255},	/* 12 */
	{  3000,     0,     0,     0,  2048,     0,     0,   120,     0,   255},	/* 13 */
	{  3000,     0, -3000,     0,  3072,     0,     0,   120,     0,   255},	/* 14 */
	{  3000,     0, -6000,     0,  4096,     0,     0,   120,     0,   255},	/* 15 */
	{ -3000,     0,  6000,     0,     0, -2048,     0,   120,     0,   255},	/* 16 */
	{     0,     0,  6000,     0,     0, -1024,     0,   120,     0,   255},	/* 17 */
	{ -6000,     0,  6000,     0,     0, -3072,     0,   120,     0,   255},	/* 18 */
	{  3000,     0,  6000,     0,     0,     0,     0,   120,     0,   255},	/* 19 */
	{  6000,     0, -6000,     0,  4096,  1024,     0,   120,     0,   255},	/* 20 */
	{  6000,     0, -3000,     0,  3072,  1024,     0,   120,     0,   255},	/* 21 */
	{  6000,     0,     0,     0,  2048,  1024,     0,   120,     0,   255},	/* 22 */
	{  6000,     0,  3000,     0,  1024,  1024,     0,   120,     0,   255},	/* 23 */
	{  6000,     0,  6000,     0,     0,  1024,     0,   120,     0,   255},	/* 24 */
};


/*   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, 
};

