#include<ultra64.h>

extern Vtx jetc_5_huta_col_v[];
extern Vtx jetc_5_huta_col_vmcur[];
extern Tri jetc_5_huta_col_tri[];
extern Lights1 jetc_5_huta_col_material[];
extern Mtx jetc_5_huta_col_matrix[];

extern unsigned short kuro_txt[];
extern unsigned short check_rope_txt[];
extern unsigned short u_aka_txt[];
extern unsigned short u_aka2_txt[];
extern unsigned short u_an_txt[];
extern unsigned short u_bsui3_txt[];
extern unsigned short u_den_txt[];
extern unsigned short u_goh_txt[];
extern unsigned short u_gom_txt[];
extern unsigned short u_hasiami_txt[];
extern unsigned short u_pami3_txt[];
extern unsigned short u_pkabe7_txt[];
extern unsigned short u_pkabeana_txt[];
extern unsigned short u_sima4_txt[];
extern unsigned short u_sk5_txt[];
extern unsigned short u_tan6_txt[];
extern unsigned short u_teekotu2_txt[];
extern unsigned short u_tttj_w_txt[];
extern unsigned short u_tuuroten_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 */


/* ======== huta_1 ======== */

static	Gfx jetc_5_huta_col_grp_huta_1[]={

	gsDPPipeSync(),
	gsDPSetCombineMode(G_CC_PRIMSHADE,G_CC_PASS2),
	gsSPTexture(1, 1,0, 0, 0),
	gsDPSetPrimColor(0,0,255,255,255,255),
	gsSPVertex(&jetc_5_huta_col_v[8], 8, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(4, 5, 1, 0),
	gsSP1Triangle(4, 1, 0, 0),
	gsSP1Triangle(6, 4, 0, 0),
	gsSP1Triangle(6, 0, 3, 0),
	gsSP1Triangle(2, 1, 5, 0),
	gsSP1Triangle(2, 5, 7, 0),
	gsSP1Triangle(3, 2, 7, 0),
	gsSP1Triangle(3, 7, 6, 0),
	gsSP1Triangle(6, 7, 5, 0),
	gsSP1Triangle(6, 5, 4, 0),
	gsSPEndDisplayList(),
}; /* huta_1 */ 

/* ======== huta_0 ======== */

static	Gfx jetc_5_huta_col_grp_huta_0[]={

	gsDPPipeSync(),
	gsDPSetCombineMode(G_CC_PRIMSHADE,G_CC_PASS2),
	gsSPTexture(1, 1,0, 0, 0),
	gsDPSetPrimColor(0,0,255,255,255,255),
	gsSPVertex(&jetc_5_huta_col_v[0], 8, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(0, 4, 5, 0),
	gsSP1Triangle(0, 5, 1, 0),
	gsSP1Triangle(3, 6, 4, 0),
	gsSP1Triangle(3, 4, 0, 0),
	gsSP1Triangle(1, 5, 7, 0),
	gsSP1Triangle(1, 7, 2, 0),
	gsSP1Triangle(2, 7, 6, 0),
	gsSP1Triangle(2, 6, 3, 0),
	gsSP1Triangle(6, 7, 5, 0),
	gsSP1Triangle(6, 5, 4, 0),
	gsSPEndDisplayList(),
}; /* huta_0 */ 

/* ======== db ======== */

Gfx jetc_5_huta_col_model[]={
	gsSPDisplayList(jetc_5_huta_col_grp_huta_0),
	gsSPDisplayList(jetc_5_huta_col_grp_huta_1),
	gsSPEndDisplayList(),
}; /* db */ 

Gfx jetc_5_huta_col_modelT[] = {
	gsSPEndDisplayList()
};

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 16 vertices */
Vtx jetc_5_huta_col_v[]={
	{ -950,550,-4750,0, 0, 0, -119,0,0,255 },   /* v0 used p27/V1 3 times */
	{ -950,550,-5350,0, 0, 0, -119,0,0,255 },   /* v1 used p27/V2 3 times */
	{ -950,-100,-5350,0, 0, 0, -119,0,0,255 },   /* v2 used p27/V3 3 times */
	{ -950,-100,-4750,0, 0, 0, -119,0,0,255 },   /* v3 used p27/V4 3 times */
	{ -750,550,-4750,0, 0, 0, 120,0,0,255 },   /* v4 used p26/V4 3 times */
	{ -750,550,-5350,0, 0, 0, 120,0,0,255 },   /* v5 used p26/V3 3 times */
	{ -750,-100,-4750,0, 0, 0, 120,0,0,255 },   /* v6 used p26/V1 3 times */
	{ -750,-100,-5350,0, 0, 0, 120,0,0,255 },   /* v7 used p26/V2 3 times */
	{ 1400,-100,450,0, 0, 0, 0,-119,0,255 },   /* v8 used p22/V1 3 times */
	{ 1600,-100,450,0, 0, 0, 0,-119,0,255 },   /* v9 used p22/V2 3 times */
	{ 1600,-100,1150,0, 0, 0, 0,-119,0,255 },   /* v10 used p22/V3 3 times */
	{ 1400,-100,1150,0, 0, 0, 0,-119,0,255 },   /* v11 used p22/V4 3 times */
	{ 1400,550,450,0, 0, 0, 0,0,-120,255 },   /* v12 used p23/V1 3 times */
	{ 1600,550,450,0, 0, 0, 0,0,-120,255 },   /* v13 used p23/V2 3 times */
	{ 1400,550,1150,0, 0, 0, 0,120,0,255 },   /* v14 used p24/V1 3 times */
	{ 1600,550,1150,0, 0, 0, 0,120,0,255 },   /* v15 used p24/V2 3 times */
};


/*   0 vertices */
