#include<ultra64.h>

extern Vtx SkiArm_1b_v[];
extern Vtx SkiArm_1b_vmcur[];
extern Tri SkiArm_1b_tri[];
extern Lights1 SkiArm_1b_material[];
extern Mtx SkiArm_1b_matrix[];

extern unsigned short Sj2_arm_b_txt[];
extern unsigned short Sj2_arm_f_txt[];
extern unsigned short Sj2_handle_txt[];
extern unsigned short Sj2_in_f1_txt[];
extern unsigned short Sj2_in_f2_txt[];
extern unsigned short Sj2_in_floor_txt[];
extern unsigned short Sj2_in_top_txt[];
extern unsigned short Sj2_side_fL_txt[];
extern unsigned short Sj2_side_fR_txt[];
extern unsigned short Sj2_side_rL_txt[];
extern unsigned short Sj2_side_rR_txt[];
extern unsigned short Sj2_top_c_txt[];
extern unsigned short Sj2_top_f_txt[];
extern unsigned short Sj2_ura_c_txt[];
extern unsigned short Sj2_ura_f_txt[];
extern unsigned short Sj2_ura_rear_txt[];
extern unsigned short Sj2_ura_s_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 */


/* ======== g2 ======== */


/* ======== g1 ======== */


/* ======== db ======== */

Gfx SkiArm_1b_model[]={

	gsSPTexture(65535, 65535,0, 0, 1),
	gsDPPipeSync(),
	gsDPSetCombineMode(G_CC_MODULATERGBDECALA,G_CC_PASS2),

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,8,16,0,0,G_TX_MIRROR,3,0,G_TX_CLAMP,4,0),
	gs_Nin_LoadTextureImage(Sj2_arm_b_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,8,16,0,7),

	gsSPVertex(&SkiArm_1b_v[0], 8, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(3, 2, 1, 0),
	gsSP1Triangle(2, 4, 0, 0),
	gsSP1Triangle(5, 6, 7, 0),

	gs_Nin_SetUpTileDescrip(G_IM_FMT_RGBA,G_IM_SIZ_16b,16,48,0,0,G_TX_CLAMP,4,0,G_TX_CLAMP,6,0),
	gs_Nin_LoadTextureImage(Sj2_arm_f_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,16,48,0,7),

	gsSPVertex(&SkiArm_1b_v[8], 4, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(2, 3, 0, 0),
	gsSPEndDisplayList(),
}; /* db */ 

Gfx SkiArm_1b_modelT[] = {
	gsSPEndDisplayList()
};

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 12 vertices */
Vtx SkiArm_1b_v[]={
	{ -35,0,0,0, -203, -1934,  -41,-111,-2,255 },   /* v0 used p2/V3 2 times */
	{ 35,0,0,0, 203, -1934,  42,-111,-2,255 },   /* v1 used p3/V3 2 times */
	{ 0,-24,427,0, 0, 498,  0,-113,39,255 },   /* v2 used p2/V1 3 times */
	{ 42,13,437,0, 242, 541,  51,-77,76,255 },   /* v3 used p3/V1 1 times */
	{ -42,13,437,0, -242, 541,  -50,-77,76,255 },   /* v4 used p2/V2 1 times */
	{ 0,-24,427,0, 0, 639,  0,-113,39,255 },   /* v5 used p1/V1 1 times */
	{ 42,13,437,0, 237, 1615,  51,-77,76,255 },   /* v6 used p1/V2 1 times */
	{ -42,13,437,0, -237, 1615,  -50,-77,76,255 },   /* v7 used p1/V3 1 times */
	{ 42,13,437,0, -25, 1560,  0,120,-3,255 },   /* v8 used p6/V3 2 times */
	{ 35,0,0,0, 20, 0,  0,120,-3,255 },   /* v9 used p4/V2 1 times */
	{ -35,0,0,0, 491, 0,  0,120,-3,255 },   /* v10 used p6/V1 2 times */
	{ -42,13,437,0, 537, 1560,  0,120,-3,255 },   /* v11 used p6/V2 1 times */
};


/*   0 vertices */
/* 8 x 16  G_IM_SIZ_16b G_IM_FMT_RGBA  */
unsigned short Sj2_arm_b_txt[] = {
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xffc1, 0xffc1, 
	0xff81, 0xff81, 0xff81, 0xffc1, 0xffc1, 0xffc1, 0xf701, 0xcd05, 
	0xffc1, 0xff81, 0xf741, 0xee81, 0xcd45, 0xa349, 0x818d, 0x7891, 
	0xa349, 0x92c9, 0x820b, 0x794d, 0x7091, 0x8055, 0x9857, 0xb85b, 
	0x8053, 0x8055, 0x8855, 0xa057, 0xb059, 0xc09b, 0xd05d, 0xd05d, 
	0xc05b, 0xc85b, 0xc85d, 0xd09d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 
	0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 
	0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 
	0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 
	0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 
	0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 
};

/* 16 x 48  G_IM_SIZ_16b G_IM_FMT_RGBA  */
unsigned short Sj2_arm_f_txt[] = {
	0xff81, 0xff81, 0xffc1, 0xed99, 0xdc79, 0xc1ed, 0xca2d, 0xca2d, 0xca2d, 0xca2d, 0xc1ed, 0xdc79, 0xed99, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xed99, 0xdc79, 0xc1ed, 0xca2d, 0xcaaf, 0xcaaf, 0xca2d, 0xc1ed, 0xdc79, 0xed99, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xed99, 0xdbf7, 0xc22d, 0xca2d, 0xcaef, 0xcaef, 0xca2d, 0xc22d, 0xdbf7, 0xed99, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xed59, 0xd375, 0xc22d, 0xca2d, 0xca2d, 0xca2d, 0xca2d, 0xc22d, 0xd375, 0xed59, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe517, 0xcaf3, 0xca2d, 0xca6d, 0xd371, 0xd371, 0xca6d, 0xca2d, 0xcaf3, 0xe517, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe517, 0xca73, 0xca2d, 0xca6d, 0xd2ef, 0xd2ef, 0xca6d, 0xca2d, 0xca73, 0xe517, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe4d7, 0xc1f1, 0xca2d, 0xca6d, 0xcaaf, 0xcaaf, 0xca6d, 0xca2d, 0xc1f1, 0xe4d7, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe4d7, 0xc1f1, 0xca2d, 0xcaaf, 0xdcb5, 0xdcb5, 0xcaaf, 0xca2d, 0xc1f1, 0xe4d7, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe4d7, 0xc1f1, 0xca2d, 0xca6d, 0xd371, 0xd371, 0xca6d, 0xca2d, 0xc1f1, 0xe4d7, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe4d7, 0xc1f1, 0xca2d, 0xca6d, 0xca6d, 0xca6d, 0xca6d, 0xca2d, 0xc1f1, 0xe4d7, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe4d7, 0xc1f1, 0xca2d, 0xcaaf, 0xdc75, 0xdc75, 0xcaaf, 0xca2d, 0xc1f1, 0xe4d7, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe4d7, 0xc1f1, 0xca2d, 0xcaef, 0xe577, 0xe577, 0xcaef, 0xca2d, 0xc1f1, 0xe4d7, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe4d7, 0xc1f1, 0xca2d, 0xca6d, 0xcaaf, 0xcaaf, 0xca6d, 0xca2d, 0xc1f1, 0xe4d7, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe517, 0xc1f1, 0xca6d, 0xcaaf, 0xcaef, 0xcaef, 0xcaaf, 0xca6d, 0xc1f1, 0xe517, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe517, 0xc231, 0xca6d, 0xd371, 0xe577, 0xe577, 0xd371, 0xca6d, 0xc231, 0xe517, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xe559, 0xca73, 0xca6f, 0xdbb3, 0xf67b, 0xf67b, 0xdbb3, 0xca6f, 0xca73, 0xe559, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xed99, 0xcaf3, 0xcaaf, 0xcaef, 0xd3b3, 0xd3b3, 0xcaef, 0xcaaf, 0xcaf3, 0xed99, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xed99, 0xd375, 0xd331, 0xcaef, 0xcaef, 0xcaef, 0xcaef, 0xd331, 0xd375, 0xed99, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xedd9, 0xdbf7, 0xd3b3, 0xd3b3, 0xdbf3, 0xdbf3, 0xd3b3, 0xd3b3, 0xdbf7, 0xedd9, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xee1b, 0xdc79, 0xdc33, 0xe537, 0xf67b, 0xf67b, 0xe537, 0xdc33, 0xdc79, 0xee1b, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xf65b, 0xdcb9, 0xdc33, 0xf67b, 0xffbf, 0xffbf, 0xf67b, 0xdc33, 0xdcb9, 0xf65b, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xf65b, 0xe4fb, 0xdc33, 0xedf9, 0xff7d, 0xff7d, 0xedf9, 0xdc33, 0xe4fb, 0xf65b, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xffc1, 0xf699, 0xe57b, 0xe4f7, 0xdc73, 0xe4f5, 0xe4f5, 0xdc73, 0xe4f7, 0xe57b, 0xf699, 0xffc1, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xf6d5, 0xedf7, 0xedf9, 0xe577, 0xe4f7, 0xe4f7, 0xe577, 0xedf9, 0xedf7, 0xf6d5, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff4f, 0xf66f, 0xee79, 0xedf9, 0xe537, 0xe537, 0xedf9, 0xee79, 0xf66f, 0xff4f, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff87, 0xff1f, 0xe571, 0xdcb5, 0xe4f5, 0xe4f5, 0xdcb5, 0xe571, 0xff1f, 0xff87, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff83, 0xf6d7, 0xdc73, 0xedf9, 0xf6bb, 0xf6bb, 0xedf9, 0xdc73, 0xf6d7, 0xff83, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xffc1, 0xeddb, 0xe4b9, 0xf6bb, 0xff7d, 0xff7d, 0xf6bb, 0xe4b9, 0xeddb, 0xffc1, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xffc1, 0xf655, 0xdc77, 0xee7b, 0xf73d, 0xf73d, 0xee7b, 0xdc77, 0xf655, 0xffc1, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff87, 0xe4a9, 0xdcb9, 0xedb9, 0xedb9, 0xdcb9, 0xe4a9, 0xff87, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xffc1, 0xff0b, 0xe561, 0xdc6d, 0xdc6d, 0xe561, 0xff0b, 0xffc1, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xffc1, 0xffc3, 0xff47, 0xff47, 0xffc3, 0xffc1, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xf701, 0xee85, 0xee85, 0xf701, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xff81, 0xeec3, 0xab8b, 0x818f, 0x7911, 0x7911, 0x818f, 0xab8b, 0xeec3, 0xff81, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff81, 0xff81, 0xc507, 0x818f, 0x8895, 0xb059, 0xc05b, 0xc05b, 0xb059, 0x8895, 0x818f, 0xc507, 0xff81, 0xff81, 0xff81, 
	0xff81, 0xff41, 0xa38b, 0x8093, 0xb059, 0xc85d, 0xd0df, 0xd921, 0xd921, 0xd0df, 0xc85d, 0xb059, 0x8093, 0xa38b, 0xff41, 0xff81, 
	0xee83, 0x928d, 0x8893, 0xb859, 0xd0df, 0xd265, 0xdc2d, 0xe4f1, 0xe4f1, 0xdc2d, 0xd265, 0xd0df, 0xb859, 0x8893, 0x928d, 0xee83, 
	0x8a4f, 0x8893, 0xb859, 0xd1a1, 0xd3e9, 0xdd71, 0xdd31, 0xdc6d, 0xdc6d, 0xdd31, 0xdd71, 0xd3e9, 0xd1a1, 0xb859, 0x8893, 0x8a4f, 
	0x8893, 0xb859, 0xd161, 0xd3eb, 0xdc6d, 0xd2e7, 0xd161, 0xd0df, 0xd0df, 0xd161, 0xd2e7, 0xdc6d, 0xd3eb, 0xd161, 0xb859, 0x8893, 
	0xb057, 0xd0df, 0xd2e7, 0xd2e7, 0xd161, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd161, 0xd2e7, 0xd2e7, 0xd0df, 0xb057, 
	0xc89d, 0xd223, 0xca23, 0xd0dd, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd0dd, 0xca23, 0xd223, 0xc89d, 
	0xd161, 0xc9a1, 0xd09d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd09d, 0xc9a1, 0xd161, 
	0xd161, 0xd09d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd09d, 0xd161, 
	0xd09d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd05d, 0xd09d, 
};

