#include<ultra64.h>

extern Vtx k_suimon_col_v[];
extern Vtx k_suimon_col_vmcur[];
extern Tri k_suimon_col_tri[];
extern Lights1 k_suimon_col_material[];
extern Mtx k_suimon_col_matrix[];

extern unsigned short beach_br_txt[];
extern unsigned short check_f1_txt[];
extern unsigned short check_f2_txt[];
extern unsigned short cross1_txt[];
extern unsigned short dokan_1_txt[];
extern unsigned short goal_f1_txt[];
extern unsigned short goal_f2_txt[];
extern unsigned short green1_2_txt[];
extern unsigned short green_d_txt[];
extern unsigned short pole1_txt[];
extern unsigned short pole2_txt[];
extern unsigned short rock_1_2_txt[];
extern unsigned short rock_2_2_txt[];
extern unsigned short rock_3_txt[];
extern unsigned short rock_4_2_txt[];
extern unsigned short roof_gr1_txt[];
extern unsigned short roof_gr2_txt[];
extern unsigned short sabitetu1_txt[];
extern unsigned short saku1_txt[];
extern unsigned short start_f1_txt[];
extern unsigned short start_f2_txt[];
extern unsigned short tree1_txt[];
extern unsigned short tube_l1_2_txt[];
extern unsigned short tube_light1_txt[];
extern unsigned short tube_light2_txt[];
extern unsigned short wall13_tw_2_txt[];
extern unsigned short wall17_d_txt[];
extern unsigned short wall_bk1_txt[];
extern unsigned short wall_bk2_txt[];
extern unsigned short wall_br1_txt[];
extern unsigned short wall_gr2_txt[];
extern unsigned short wall_gr4_txt[];
extern unsigned short wall_rf1_txt[];
extern unsigned short wall_rock_2_txt[];
extern unsigned short wall_top_txt[];
extern unsigned short wall_wd1_txt[];
extern unsigned short wall_wd2_txt[];
extern unsigned short wall_wd3_2_txt[];
extern unsigned short wall_wd4_txt[];
extern unsigned short wall_wh1_txt[];
extern unsigned short wave_f1_txt[];
extern unsigned short wave_f2_txt[];
extern unsigned short window_a1_txt[];
extern unsigned short window_a2_txt[];
extern unsigned short window3_txt[];
extern unsigned short road1_txt[];
extern unsigned short sidea1_txt[];
extern unsigned short corner_flag1_txt[];
extern unsigned short display_txt[];
extern unsigned short fence8_txt[];
extern unsigned short fence9_txt[];
extern unsigned short fence_bw_txt[];
extern unsigned short fence_by_txt[];
extern unsigned short fence_gr_txt[];
extern unsigned short fence_pole1_txt[];
extern unsigned short fence_pole2_txt[];
extern unsigned short fence_rw_txt[];
extern unsigned short k_kabe1_txt[];
extern unsigned short k_kabe2_txt[];
extern unsigned short k_kabe3_txt[];
extern unsigned short k_kabe4_txt[];
extern unsigned short k_kabe5_txt[];
extern unsigned short k_mon0_txt[];
extern unsigned short k_road_1_txt[];
extern unsigned short nintendo64_f1_txt[];
extern unsigned short nintendo64_f2_txt[];
extern unsigned short roof_1_txt[];
extern unsigned short start_bak_txt[];
extern unsigned short start_base1_txt[];
extern unsigned short start_base2_txt[];
extern unsigned short start_base3_txt[];
extern unsigned short start_base4_txt[];
extern unsigned short uturn_txt[];
extern unsigned short check_bouy_txt[];
extern unsigned short check_rope_txt[];
extern unsigned short start_base_txt[];
extern unsigned short start_pole_txt[];
extern unsigned short bridge1_txt[];
extern unsigned short green1_rgb_txt[];
extern unsigned short roof1_txt[];
extern unsigned short roof2_txt[];
extern unsigned short side1_txt[];
extern unsigned short veranda1_txt[];
extern unsigned short wall10_txt[];
extern unsigned short wall13_txt[];
extern unsigned short wall15_txt[];
extern unsigned short wall16_txt[];
extern unsigned short wall17_txt[];
extern unsigned short wall18_txt[];
extern unsigned short wall2_txt[];
extern unsigned short wall4_txt[];
extern unsigned short wall5_txt[];
extern unsigned short wall6_txt[];
extern unsigned short wall7_txt[];
extern unsigned short wall8_txt[];
extern unsigned short wall9_txt[];
extern unsigned short water1_txt[];
extern unsigned short window1_txt[];
extern unsigned short window2_txt[];
extern unsigned short wlight0_txt[];
extern unsigned short wlight1_txt[];
extern unsigned short wlight2_txt[];
extern unsigned short wlight3_txt[];
extern unsigned short fence1_txt[];
extern unsigned short fence2_txt[];
extern unsigned short fence3_txt[];
extern unsigned short fence4_txt[];
extern unsigned short fence5_txt[];
extern unsigned short fence6_txt[];
extern unsigned short fence7_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 */


/* ======== suimon ======== */

static	Gfx k_suimon_col_grp_suimon[]={

	gsDPPipeSync(),
	gsDPSetCombineMode(G_CC_PRIMSHADE,G_CC_PASS2),
	gsSPTexture(1, 1,0, 0, 0),
	gsDPSetPrimColor(0,0,255,255,255,255),
	gsSPVertex(&k_suimon_col_v[0], 8, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsSP1Triangle(0, 3, 4, 0),
	gsSP1Triangle(0, 4, 5, 0),
	gsSP1Triangle(6, 7, 2, 0),
	gsSP1Triangle(6, 2, 1, 0),
	gsSP1Triangle(7, 4, 3, 0),
	gsSP1Triangle(7, 3, 2, 0),
	gsSP1Triangle(6, 5, 4, 0),
	gsSP1Triangle(6, 4, 7, 0),

	gsDPPipeSync(),
	gsDPSetPrimColor(0,0,255,255,255,255),
	gsSPVertex(&k_suimon_col_v[5], 2, 0),
	gsSPVertex(&k_suimon_col_v[8], 2, 2),
	gsSP1Triangle(1, 2, 3, 0),
	gsSP1Triangle(1, 3, 0, 0),
	gsSPEndDisplayList(),
}; /* suimon */ 

/* ======== db ======== */

Gfx k_suimon_col_model[]={
	gsSPDisplayList(k_suimon_col_grp_suimon),
	gsSPEndDisplayList(),
}; /* db */ 

Gfx k_suimon_col_modelT[] = {
	gsSPEndDisplayList()
};

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 10 vertices */
Vtx k_suimon_col_v[]={
	{ 300,0,-25,0, 0, 0, 0,0,-120,255 },   /* v0 p2208/V1 used 2 times */ 
	{ -300,0,-25,0, 0, 0, 0,0,-120,255 },   /* v1 p2208/V2 used 2 times */ 
	{ -300,220,-25,0, 0, 0, 0,0,-120,255 },   /* v2 p2208/V3 used 3 times */ 
	{ 300,220,-25,0, 0, 0, 0,0,-120,255 },   /* v3 p2208/V4 used 3 times */ 
	{ 300,220,25,0, 0, 0, 0,0,119,255 },   /* v4 p2207/V3 used 3 times */ 
	{ 300,0,25,0, 0, 0, 0,0,119,255 },   /* v5 p2207/V2 used 3 times */ 
	{ -300,0,25,0, 0, 0, 0,0,119,255 },   /* v6 p2207/V1 used 3 times */ 
	{ -300,220,25,0, 0, 0, 0,0,119,255 },   /* v7 p2207/V4 used 3 times */ 
	{ -300,0,-25,0, 0, 0, 0,-119,0,255 },   /* v8 p2203/V2 used 1 times */ 
	{ 300,0,-25,0, 0, 0, 0,-119,0,255 },   /* v9 p2203/V3 used 1 times */ 
};


/*   0 vertices */
