#include<ultra64.h>

extern Vtx TI_Rock01_v[];
extern Vtx TI_Rock01_vmcur[];
extern Tri TI_Rock01_tri[];

extern unsigned short TI_Rock01_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)

Gfx TI_Rock01[]={

	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(TI_Rock01_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,16,16,0,7),

	gsSPVertex(&TI_Rock01_v[0], 14, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 3, 4, 0),
	gsSP1Triangle(4, 1, 0, 0),
	gsSP1Triangle(5, 2, 6, 0),
	gsSP1Triangle(7, 8, 9, 0),
	gsSP1Triangle(8, 7, 10, 0),
	gsSP1Triangle(10, 11, 8, 0),
	gsSP1Triangle(10, 7, 12, 0),
	gsSP1Triangle(9, 13, 7, 0),
	gsSP1Triangle(12, 7, 13, 0),
	gsSPVertex(&TI_Rock01_v[5], 1, 0),
	gsSPVertex(&TI_Rock01_v[14], 8, 1),
	gsSPVertex(&TI_Rock01_v[30], 1, 9),
	gsSPVertex(&TI_Rock01_v[32], 4, 10),
	gsSP1Triangle(1, 10, 11, 0),
	gsSP1Triangle(2, 1, 11, 0),
	gsSP1Triangle(3, 1, 2, 0),
	gsSP1Triangle(2, 11, 0, 0),
	gsSP1Triangle(4, 5, 8, 0),
	gsSP1Triangle(5, 12, 9, 0),
	gsSP1Triangle(6, 5, 9, 0),
	gsSP1Triangle(5, 6, 8, 0),
	gsSP1Triangle(7, 8, 13, 0),
	gsSP1Triangle(8, 6, 13, 0),
	gsSP1Triangle(9, 13, 6, 0),
	gsSPVertex(&TI_Rock01_v[22], 7, 0),
	gsSPVertex(&TI_Rock01_v[37], 7, 7),
	gsSP1Triangle(0, 7, 1, 0),
	gsSP1Triangle(1, 7, 8, 0),
	gsSP1Triangle(2, 9, 4, 0),
	gsSP1Triangle(3, 4, 5, 0),
	gsSP1Triangle(4, 3, 10, 0),
	gsSP1Triangle(2, 4, 10, 0),
	gsSP1Triangle(3, 11, 12, 0),
	gsSP1Triangle(5, 11, 3, 0),
	gsSP1Triangle(6, 10, 3, 0),
	gsSP1Triangle(6, 2, 10, 0),
	gsSP1Triangle(2, 6, 13, 0),
	gsSPVertex(&TI_Rock01_v[3], 4, 0),
	gsSPVertex(&TI_Rock01_v[15], 2, 4),
	gsSPVertex(&TI_Rock01_v[29], 3, 6),
	gsSPVertex(&TI_Rock01_v[35], 2, 9),
	gsSPVertex(&TI_Rock01_v[44], 3, 11),
	gsSP1Triangle(0, 6, 1, 0),
	gsSP1Triangle(6, 0, 11, 0),
	gsSP1Triangle(7, 10, 9, 0),
	gsSP1Triangle(3, 4, 2, 0),
	gsSP1Triangle(4, 3, 5, 0),
	gsSP1Triangle(8, 12, 13, 0),
	gsSPEndDisplayList(),
}; /* DXFdata */ 

/* 47 vertices */
Vtx TI_Rock01_v[]={
	{ -36,-46,-4,0, 232, 28, -63,-98,-21,255 },   /* v0 p28/V1 used 3 times */ 
	{ -20,-45,38,0, 497, 126, -25,-80,83,255 },   /* v1 p28/V2 used 2 times */ 
	{ -58,-1,28,0, 436, -116, -106,-14,52,255 },   /* v2 p28/V3 used 2 times */ 
	{ -1,-37,-26,0, 88, 248, -6,-94,-73,255 },   /* v3 p29/V1 used 3 times */ 
	{ 22,-50,19,0, 377, 397, 47,-106,27,255 },   /* v4 p29/V3 used 3 times */ 
	{ -47,36,2,0, 267, -47, -93,75,-3,255 },   /* v5 p36/V1 used 3 times */ 
	{ -25,34,42,0, 525, 95, -49,67,86,255 },   /* v6 p36/V3 used 3 times */ 
	{ -12,-5,56,0, 221, 178, -19,3,117,255 },   /* v7 p27/V2 used 5 times */ 
	{ 25,3,49,0, 275, 416, 70,7,96,255 },   /* v8 p27/V1 used 3 times */ 
	{ 6,38,33,0, 497, 293, 40,81,78,255 },   /* v9 p9/V1 used 2 times */ 
	{ -20,-45,38,0, -34, 126, -25,-80,83,255 },   /* v10 p27/V3 used 3 times */ 
	{ 22,-50,19,0, -65, 397, 47,-106,27,255 },   /* v11 p26/V2 used 1 times */ 
	{ -58,-1,28,0, 249, -116, -106,-14,52,255 },   /* v12 p5/V1 used 2 times */ 
	{ -25,34,42,0, 472, 95, -49,67,86,255 },   /* v13 p9/V2 used 2 times */ 
	{ 29,46,-12,0, 180, 441, 56,106,4,255 },   /* v14 p25/V1 used 3 times */ 
	{ -16,53,11,0, 325, 151, -12,119,7,255 },   /* v15 p32/V1 used 5 times */ 
	{ 6,38,33,0, 467, 293, 40,81,78,255 },   /* v16 p20/V1 used 2 times */ 
	{ 6,38,33,0, 497, -211, 40,81,78,255 },   /* v17 p21/V1 used 1 times */ 
	{ 25,3,49,0, 275, -310, 70,7,96,255 },   /* v18 p21/V2 used 4 times */ 
	{ 56,22,-1,0, 396, 8, 109,47,16,255 },   /* v19 p35/V2 used 4 times */ 
	{ 14,42,-40,0, 522, 255, 4,90,-79,255 },   /* v20 p12/V1 used 1 times */ 
	{ 29,46,-12,0, 549, 75, 56,106,4,255 },   /* v21 p21/V3 used 4 times */ 
	{ -47,36,2,0, 23, 244, -93,75,-3,255 },   /* v22 p22/V1 used 1 times */ 
	{ -58,-1,28,0, 262, 75, -106,-14,52,255 },   /* v23 p22/V3 used 2 times */ 
	{ -55,-2,-27,0, 270, -94, -96,-14,-68,255 },   /* v24 p24/V1 used 4 times */ 
	{ -5,6,-58,0, 215, 225, -38,-6,-113,255 },   /* v25 p23/V2 used 5 times */ 
	{ -22,37,-24,0, 16, 112, -45,89,-65,255 },   /* v26 p23/V1 used 4 times */ 
	{ 14,42,-40,0, -10, 347, 4,90,-79,255 },   /* v27 p19/V1 used 2 times */ 
	{ -1,-37,-26,0, 493, 248, -6,-94,-73,255 },   /* v28 p30/V1 used 3 times */ 
	{ 54,-19,7,0, 302, 599, 104,-58,4,255 },   /* v29 p29/V2 used 2 times */ 
	{ 54,-19,7,0, 134, -46, 104,-58,4,255 },   /* v30 p33/V1 used 4 times */ 
	{ 30,-30,-40,0, 61, 449, 42,-86,-71,255 },   /* v31 p16/V1 used 1 times */ 
	{ 14,42,-40,0, 0, 347, 4,90,-79,255 },   /* v32 p25/V2 used 1 times */ 
	{ -22,37,-24,0, 102, 112, -45,89,-65,255 },   /* v33 p25/V3 used 3 times */ 
	{ 22,-50,19,0, -65, -121, 47,-106,27,255 },   /* v34 p3/V2 used 1 times */ 
	{ 40,6,-56,0, 296, 357, 89,16,-79,255 },   /* v35 p35/V3 used 4 times */ 
	{ 30,-30,-40,0, 61, 255, 42,-86,-71,255 },   /* v36 p33/V2 used 1 times */ 
	{ -55,-2,-27,0, 270, 427, -96,-14,-68,255 },   /* v37 p22/V2 used 2 times */ 
	{ -36,-46,-4,0, 548, 279, -63,-98,-21,255 },   /* v38 p10/V3 used 1 times */ 
	{ -47,36,2,0, 23, -47, -93,75,-3,255 },   /* v39 p7/V2 used 1 times */ 
	{ -31,6,-34,0, 214, 55, -61,-13,-102,255 },   /* v40 p23/V3 used 4 times */ 
	{ 40,6,-56,0, 215, 510, 89,16,-79,255 },   /* v41 p17/V2 used 2 times */ 
	{ 30,-30,-40,0, 450, 449, 42,-86,-71,255 },   /* v42 p17/V3 used 1 times */ 
	{ -36,-46,-4,0, 548, 28, -63,-98,-21,255 },   /* v43 p8/V3 used 1 times */ 
	{ 30,-30,-40,0, 0, 449, 42,-86,-71,255 },   /* v44 p34/V3 used 1 times */ 
	{ -1,-37,-26,0, 18, 248, -6,-94,-73,255 },   /* v45 p16/V2 used 1 times */ 
	{ -5,6,-58,0, 296, 225, -38,-6,-113,255 },   /* v46 p16/V3 used 1 times */ 
};

/* 16 x 16  G_IM_SIZ_16b G_IM_FMT_RGBA  */
unsigned short TI_Rock01_txt[] = {
	0x1801, 0x1, 0x1, 0x1, 0x1, 0x28c7, 0x28c5, 0x3949, 0x28c5, 0x2083, 0x1883, 0x1, 0x1, 0x1001, 0x30c3, 0x3903, 
	0x38c1, 0x2881, 0x2841, 0x28c5, 0x3907, 0x1001, 0x1041, 0x1843, 0x3107, 0x2041, 0x2083, 0x3107, 0x30c3, 0x3103, 0x3903, 0x2881, 
	0x2881, 0x2881, 0x2081, 0x3907, 0x3949, 0x1041, 0x1001, 0x2083, 0x1843, 0x3905, 0x2083, 0x49cd, 0x498b, 0x4143, 0x4143, 0x1801, 
	0x2885, 0x28c5, 0x3107, 0x498b, 0x3907, 0x2883, 0x2043, 0x1843, 0x2883, 0x2883, 0x1841, 0x1041, 0x4989, 0x49c9, 0x5a0b, 0x51c9, 
	0x4149, 0x3907, 0x4149, 0x49cd, 0x498b, 0x28c5, 0x1843, 0x2083, 0x30c3, 0x2083, 0x1041, 0x1, 0x28c5, 0x3947, 0x2907, 0x414b, 
	0x30c5, 0x4149, 0x414b, 0x3107, 0x1, 0x1885, 0x418b, 0x30c3, 0x3905, 0x28c3, 0x2043, 0x1883, 0x2907, 0x20c5, 0x1, 0x2043, 
	0x2041, 0x4147, 0x3949, 0x801, 0x801, 0x18c5, 0x28c5, 0x418b, 0x4147, 0x28c5, 0x28c5, 0x3107, 0x28c5, 0x1801, 0x1, 0x843, 
	0x1, 0x1801, 0x1801, 0x801, 0x2083, 0x1841, 0x1843, 0x418b, 0x3907, 0x4149, 0x4149, 0x3107, 0x841, 0x1, 0x2041, 0x1, 
	0x1, 0x1, 0x1041, 0x3107, 0x3107, 0x2083, 0x1883, 0x3107, 0x418b, 0x4989, 0x498b, 0x3909, 0x30c7, 0x2041, 0x2083, 0x1041, 
	0x18c7, 0x2881, 0x2083, 0x2883, 0x3107, 0x3107, 0x1841, 0x3949, 0x418d, 0x1043, 0x801, 0x801, 0x394b, 0x18c7, 0x30c5, 0x2083, 
	0x1801, 0x1841, 0x30c3, 0x4147, 0x30c5, 0x1883, 0x1041, 0x2085, 0x2041, 0x801, 0x1, 0x1, 0x2883, 0x2883, 0x28c5, 0x20c3, 
	0x801, 0x1, 0x3907, 0x2883, 0x2043, 0x2083, 0x1841, 0x1, 0x1841, 0x3107, 0x3107, 0x3907, 0x30c5, 0x28c3, 0x30c5, 0x1041, 
	0x1, 0x2041, 0x2083, 0x3947, 0x28c5, 0x3907, 0x3949, 0x3907, 0x3107, 0x3107, 0x1, 0x3947, 0x3105, 0x3905, 0x28c5, 0x1041, 
	0x2841, 0x1, 0x20c5, 0x498b, 0x3107, 0x28c5, 0x30c5, 0x28c3, 0x3107, 0x1041, 0x1, 0x394b, 0x498b, 0x3947, 0x30c5, 0x1841, 
	0x30c1, 0x801, 0x1, 0x418b, 0x3949, 0x3107, 0x28c5, 0x28c3, 0x801, 0x1, 0x1, 0x1, 0x801, 0x2083, 0x30c5, 0x28c3, 
	0x2041, 0x1, 0x1, 0x1, 0x2043, 0x1085, 0x1001, 0x2085, 0x1, 0x2085, 0x801, 0x3105, 0x801, 0x2881, 0x2083, 0x28c3, 
};

