#include<ultra64.h>

extern Vtx ManLuarm_c_v[];
extern Vtx ManLuarm_c_vmcur[];
extern Tri ManLuarm_c_tri[];
extern Lights1 ManLuarm_c_material[];
extern Mtx ManLuarm_c_matrix[];

extern unsigned short Sm1hand_b_txt[];
extern unsigned short Sm1hand_f_txt[];
extern unsigned short Sm1hand_s_txt[];
extern unsigned short Sm1hand_t_txt[];
extern unsigned short Sm1hara_txt[];
extern unsigned short Sm1jacket_b_txt[];
extern unsigned short Sm1jacket_f_txt[];
extern unsigned short Sm1jacket_s_txt[];
extern unsigned short Sm1jacket_t_txt[];
extern unsigned short Sm1loarm_txt[];
extern unsigned short Sm1met_b_txt[];
extern unsigned short Sm1met_f_txt[];
extern unsigned short Sm1met_gl_txt[];
extern unsigned short Sm1met_s_txt[];
extern unsigned short Sm1met_t_txt[];
extern unsigned short Sm1momo_txt[];
extern unsigned short Sm1neck_txt[];
extern unsigned short Sm1shoes_txt[];
extern unsigned short Sm1shoes_b_txt[];
extern unsigned short Sm1sune_txt[];
extern unsigned short Sm1uparm_txt[];
extern unsigned short Sm1waist_b_txt[];
extern unsigned short Sm1waist_f_txt[];
extern unsigned short Sm1waist_s_txt[];
extern unsigned short Sshoes_bottom_txt[];
extern unsigned short black_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
******************************************************************************/

Gfx ManLuarm_c_model[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	gsDPSetCombineMode(G_CC_MODULATERGBA,G_CC_PASS2),

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,32,16,0,0,G_TX_CLAMP,5,0,G_TX_CLAMP,4,0),
	gs_Nin_LoadTextureImage(Sm1uparm_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,32,16,0,7),

	gsSPVertex(&ManLuarm_c_v[0], 9, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(2, 1, 3, 0),
	gsSP1Triangle(4, 1, 0, 0),
	gsSP1Triangle(1, 4, 3, 0),
	gsSP1Triangle(5, 6, 7, 0),
	gsSP1Triangle(7, 8, 5, 0),
	gsSPEndDisplayList(),
};

Gfx *ManLuarm_c_modelT = NULL;

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 9 vertices */

/******************************************************************************
	vertex & texture
******************************************************************************/


/******************************************************************************
	vertex & texture
******************************************************************************/


/******************************************************************************
	vertex & texture
******************************************************************************/


/******************************************************************************
	vertex & texture
******************************************************************************/

Vtx ManLuarm_c_v[]={
	{ -26,26,-20,0, 789, 459, -44, 106, -34, 0 },   /* v0 p4/V1 used 2 times */ 
	{ 0,-20,-21,0, 456, 508, 12, -105, -53, 0 },   /* v1 p2/V2 used 4 times */ 
	{ -17,1,85,0, 662, 0, -97, -53, 42, 0 },   /* v2 p2/V1 used 2 times */ 
	{ 26,1,86,0, 105, 0, 89, 51, 63, 0 },   /* v3 p2/V3 used 2 times */ 
	{ 28,25,-8,0, 96, 405, 86, 51, -66, 0 },   /* v4 p3/V2 used 2 times */ 
	{ -26,26,-20,0, 673, 505, -44, 106, -34, 0 },   /* v5 p6/V3 used 2 times */ 
	{ -17,1,85,0, 729, 0, -97, -53, 42, 0 },   /* v6 p1/V2 used 1 times */ 
	{ 26,1,86,0, 976, 0, 89, 51, 63, 0 },   /* v7 p6/V1 used 2 times */ 
	{ 28,25,-8,0, 981, 450, 86, 51, -66, 0 },   /* v8 p6/V2 used 1 times */ 
};


/*   0 vertices */
/* 32 x 16  G_IM_SIZ_16b G_IM_FMT_RGBA  */
unsigned short Sm1uparm_txt[] = {
	0x8943, 0x9183, 0xa181, 0xa1c3, 0xb207, 0xb207, 0xa9c3, 0xa9c3, 0x8943, 0x60c1, 0x60c1, 0x7901, 0x9181, 0xa9c3, 0xc247, 0xcacb, 0xca89, 0xba05, 0xa9c5, 0x9143, 0x9143, 0xa183, 0x8101, 0x8101, 0xb247, 0xb205, 0xa183, 0xa1c3, 0xa1c3, 0x9983, 0x8943, 0x8101, 
	0x8943, 0x9983, 0xa181, 0xa1c3, 0xb207, 0xb205, 0xa9c3, 0xa9c3, 0x8143, 0x58c1, 0x58c1, 0x7101, 0x9141, 0xa183, 0xba07, 0xcacb, 0xcacb, 0xba47, 0xb205, 0x9183, 0x9141, 0xa183, 0x7901, 0x8103, 0xb247, 0xb207, 0xa181, 0xa1c3, 0xa1c3, 0x9983, 0x8943, 0x8103, 
	0x8943, 0x9983, 0xa181, 0xa1c3, 0xb207, 0xaa05, 0xa1c3, 0xa1c3, 0x8143, 0x60c1, 0x50c1, 0x6901, 0x8941, 0x9981, 0xa9c3, 0xcacb, 0xcacd, 0xba47, 0xa9c5, 0x9143, 0x9983, 0x9983, 0x7901, 0x8103, 0xb247, 0xba47, 0xa1c3, 0xa1c3, 0xa1c3, 0x9983, 0x9183, 0x8141, 
	0x9143, 0xa183, 0xa183, 0xa9c5, 0xaa05, 0xa1c3, 0xa183, 0xa9c3, 0x8943, 0x60c1, 0x5081, 0x60c1, 0x8101, 0x9141, 0xa183, 0xba49, 0xc289, 0xa9c5, 0x9183, 0x8943, 0x9983, 0x9983, 0x7901, 0x8903, 0xb207, 0xba47, 0xa9c3, 0xa9c3, 0xa1c3, 0x9983, 0x9983, 0x8943, 
	0x9983, 0xa183, 0xa183, 0xa9c5, 0xa9c5, 0x9983, 0x9143, 0x9143, 0x8943, 0x7101, 0x5081, 0x58c1, 0x7101, 0x9141, 0xa183, 0xba07, 0xba47, 0x9983, 0x9143, 0x9983, 0xa183, 0x9143, 0x70c1, 0x8901, 0xb207, 0xba89, 0xb205, 0xa9c3, 0xa1c3, 0xa183, 0x9983, 0x9143, 
	0x9983, 0xa181, 0xa1c3, 0xa9c5, 0x9183, 0x8143, 0x7901, 0x7101, 0x7101, 0x7101, 0x50c1, 0x50c1, 0x68c1, 0x8941, 0xa183, 0xb205, 0xb207, 0x9983, 0x9983, 0x9983, 0xa183, 0x8101, 0x70c1, 0x8901, 0xaa05, 0xba89, 0xb247, 0xa9c5, 0xa9c3, 0xa1c3, 0x9983, 0x9183, 
	0x9983, 0xa183, 0xa9c5, 0x9983, 0x7901, 0x7903, 0x7903, 0x6901, 0x60c1, 0x60c1, 0x58c1, 0x50c1, 0x60c1, 0x8101, 0xa183, 0xb1c5, 0xa9c5, 0x9983, 0x9983, 0x9983, 0xa183, 0x8101, 0x70c1, 0x8941, 0xa9c5, 0xba49, 0xba47, 0xb205, 0xb205, 0xa9c3, 0x9983, 0x9183, 
	0xa183, 0xa183, 0xa9c5, 0x9183, 0x8143, 0xa1c3, 0xa1c5, 0x8943, 0x7101, 0x58c1, 0x58c1, 0x5081, 0x60c1, 0x7901, 0x9983, 0xa9c5, 0xa1c3, 0x9983, 0x9983, 0xa183, 0x9983, 0x7901, 0x70c1, 0x9143, 0xa9c3, 0xba89, 0xc289, 0xba89, 0xba47, 0xb205, 0xa1c3, 0x9183, 
	0xa183, 0xa183, 0xa9c3, 0x9983, 0xaa05, 0xc28b, 0xba49, 0xa9c5, 0x8143, 0x60c1, 0x58c1, 0x5081, 0x58c1, 0x68c1, 0x8943, 0xa9c3, 0xa1c3, 0x9983, 0x9983, 0xa183, 0x9143, 0x70c1, 0x78c1, 0x9983, 0xa9c3, 0xba89, 0xcacd, 0xc2cb, 0xba89, 0xba47, 0xa1c3, 0x9983, 
	0xa183, 0xa183, 0xa183, 0xa9c3, 0xc28b, 0xd351, 0xcacd, 0xba47, 0x9983, 0x7101, 0x60c1, 0x5081, 0x60c1, 0x68c1, 0x7901, 0x9983, 0xa183, 0x9983, 0x9143, 0x9143, 0x8101, 0x70c1, 0x78c1, 0x9981, 0xa9c3, 0xba47, 0xd30d, 0xcacd, 0xc289, 0xba47, 0xa9c3, 0x9983, 
	0xa183, 0xa183, 0xa181, 0xb205, 0xd30d, 0xe391, 0xd30f, 0xba49, 0xa1c5, 0x7901, 0x60c1, 0x58c1, 0x7101, 0x8101, 0x8101, 0x8101, 0x9141, 0x9983, 0x9143, 0x8101, 0x78c1, 0x78c1, 0x8101, 0x9981, 0xa9c3, 0xb205, 0xcacd, 0xd30f, 0xcacb, 0xba89, 0xa9c5, 0xa181, 
	0xa183, 0xa183, 0xa181, 0xa9c5, 0xd30d, 0xf3d1, 0xe34f, 0xba89, 0xa9c5, 0x8143, 0x60c1, 0x60c1, 0x8141, 0x9143, 0x8941, 0x8101, 0x8101, 0x8101, 0x7901, 0x70c1, 0x78c1, 0x8101, 0x8941, 0x9983, 0xa183, 0xb205, 0xc2c9, 0xd30d, 0xcb0d, 0xc289, 0xb247, 0xa9c3, 
	0xa183, 0xa183, 0xa183, 0xa9c3, 0xba89, 0xdb4f, 0xdb4f, 0xba49, 0xa1c5, 0x8143, 0x68c1, 0x7101, 0x8141, 0x9983, 0x9143, 0x8901, 0x8101, 0x8101, 0x7901, 0x7901, 0x7901, 0x8941, 0x9181, 0xa183, 0xa1c3, 0xaa05, 0xba89, 0xd30d, 0xcacb, 0xba49, 0xb207, 0xa9c3, 
	0xa183, 0x9983, 0xa183, 0xa183, 0xa9c3, 0xb247, 0xba49, 0xaa05, 0x99c5, 0x8143, 0x7101, 0x7901, 0x8943, 0x9983, 0x9983, 0x8943, 0x8941, 0x8901, 0x8101, 0x8101, 0x9141, 0x9981, 0xa183, 0xa183, 0xa1c3, 0xa9c5, 0xba47, 0xca8b, 0xba47, 0xb205, 0xa9c3, 0xa1c3, 
	0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa1c3, 0xa9c3, 0xa1c3, 0x9183, 0x7901, 0x7901, 0x8143, 0x9143, 0xa183, 0xa183, 0x9983, 0x9143, 0x9143, 0x9143, 0x9141, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa9c3, 0xb205, 0xba47, 0xa9c3, 0xa9c3, 0xa1c3, 0xa183, 
	0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0x9143, 0x8141, 0x8101, 0x8943, 0x9983, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0x9983, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa183, 0xa9c3, 0xa183, 0xa183, 0xa183, 0xa183, 
};

