#include<ultra64.h>
extern Vtx SN_SNB_Arm02_v[];
extern Lights1 SN_SNB_Arm02_material[];

extern unsigned short SN_BossTX_01_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


/* ======== o1 ======== */

Gfx SN_SNB_Arm02[]={

	gsDPLoadTextureBlock(SN_BossTX_01_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 5, 5, G_TX_NOLOD, G_TX_NOLOD ),


	gsSPVertex(&SN_SNB_Arm02_v[0], 26, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(4, 1, 0, 0),
	gsSP1Triangle(0, 5, 4, 0),
	gsSP1Triangle(1, 4, 6, 0),
	gsSP1Triangle(1, 6, 7, 0),
	gsSP1Triangle(1, 7, 2, 0),
	gsSP1Triangle(8, 2, 7, 0),
	gsSP1Triangle(3, 2, 8, 0),
	gsSP1Triangle(9, 10, 11, 0),
	gsSP1Triangle(9, 11, 12, 0),
	gsSP1Triangle(13, 11, 4, 0),
	gsSP1Triangle(4, 11, 14, 0),
	gsSP1Triangle(13, 12, 15, 0),
	gsSP1Triangle(7, 16, 17, 0),
	gsSP1Triangle(16, 7, 6, 0),
	gsSP1Triangle(16, 6, 4, 0),
	gsSP1Triangle(5, 13, 4, 0),
	gsSP1Triangle(18, 13, 8, 0),
	gsSP1Triangle(19, 13, 5, 0),
	gsSP1Triangle(8, 19, 3, 0),
	gsSP1Triangle(14, 16, 4, 0),
	gsSP1Triangle(18, 8, 20, 0),
	gsSP1Triangle(8, 21, 19, 0),
	gsSP1Triangle(22, 23, 24, 0),
	gsSP1Triangle(22, 24, 25, 0),
	gsSP1Triangle(16, 20, 17, 0),
	gsSP1Triangle(20, 16, 14, 0),
	gsSPEndDisplayList(),
}; /* o1 */ 

#undef G_CC_PRIMSHADE
#undef gs_Nin_LoadTextureImage
#undef gs_Nin_SetUpTileDescrip
/*  26 vertices */
Vtx SN_SNB_Arm02_v[]={
	{  50,-15,5,0,2038,3119,-21,-72,91,255 },   /* v0 used p21/V1 4 times */ 
	{  -4,-8,8,0,2138,5073,-24,-65,96,255 },   /* v1 used p21/V2 5 times */ 
	{  -4,-8,-5,0,2172,5221,-19,-72,-92,255 },   /* v2 used p21/V3 5 times */ 
	{  50,-15,-2,0,2055,3193,-20,-56,-103,255 },   /* v3 used p22/V3 3 times */ 
	{  118,3,26,0,846,557,-15,-1,117,255 },   /* v4 used p28/V3 8 times */ 
	{  45,-41,3,0,3062,3119,2,-59,102,255 },   /* v5 used p28/V2 3 times */ 
	{  -5,6,8,0,1628,5188,-18,83,83,255 },   /* v6 used p17/V2 4 times */ 
	{  -5,6,-5,0,1661,5336,-21,83,-83,255 },   /* v7 used p18/V2 5 times */ 
	{  118,3,-23,0,966,1080,-28,-49,-104,255 },   /* v8 used p26/V1 6 times */ 
	{  141,17,-53,0,327,686,119,4,0,255 },   /* v9 used p20/V1 2 times */ 
	{  141,31,22,0,-341,-3,119,4,0,255 },   /* v10 used p19/V2 1 times */ 
	{  142,-24,22,0,1678,-461,114,-7,35,255 },   /* v11 used p20/V2 4 times */ 
	{  142,-11,-53,0,1374,449,95,-71,-13,255 },   /* v12 used p20/V3 2 times */ 
	{  119,-21,1,0,1812,613,-19,-112,33,255 },   /* v13 used p16/V1 5 times */ 
	{  141,31,22,0,-341,-3,-14,99,65,255 },   /* v14 used p3/V1 3 times */ 
	{  142,-24,22,0,1678,-461,7,-116,-21,255 },   /* v15 used p16/V3 1 times */ 
	{  118,27,1,0,0,1024,-28,116,-3,255 },   /* v16 used p4/V1 6 times */ 
	{  118,3,-23,0,966,1080,-32,81,-82,255 },   /* v17 used p4/V3 2 times */ 
	{  142,-11,-53,0,1374,449,-96,-31,-63,255 },   /* v18 used p14/V1 2 times */ 
	{  45,-41,0,0,3070,3156,2,-59,-103,255 },   /* v19 used p26/V2 3 times */ 
	{  141,17,-53,0,327,686,-68,81,-55,255 },   /* v20 used p4/V2 3 times */ 
	{  119,-21,1,0,1812,613,24,-81,-83,255 },   /* v21 used p25/V2 1 times */ 
	{  45,-41,3,0,3062,3119,-116,22,0,255 },   /* v22 used p24/V1 2 times */ 
	{  50,-15,5,0,2038,3119,-116,22,0,255 },   /* v23 used p23/V2 1 times */ 
	{  50,-15,-2,0,2055,3193,-116,22,0,255 },   /* v24 used p24/V2 2 times */ 
	{  45,-41,0,0,3070,3156,-116,22,0,255 },   /* v25 used p24/V3 1 times */ 
};
