#include<ultra64.h>

extern Vtx f4_body_v[];
extern Vtx f4_body_vmcur[];
extern Tri f4_body_tri[];
extern Lights1 f4_body_material[];
extern Mtx f4_body_matrix[];

extern unsigned short fish_1_txt[];
extern unsigned short fish_2_txt[];
extern unsigned short fish_3_txt[];
extern unsigned short fish_4_txt[];
extern unsigned short fish_5_txt[];
extern unsigned short fish_5_1_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 */


/* ======== o3 ======== */

static	Gfx f4_body_obj_o3T[]={

	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,64,16,0,0,G_TX_CLAMP,6,0,G_TX_CLAMP,4,0),
	gs_Nin_LoadTextureImage(fish_5_txt,G_IM_FMT_RGBA,G_IM_SIZ_16b,64,16,0,7),

	gsSPVertex(&f4_body_v[0], 4, 0),
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsSPEndDisplayList(),
}; /* o3 */ 

/* ======== bmerge1 ======== */

static	Gfx f4_body_grp_bmerge1T[]={
	gsSPDisplayList(f4_body_obj_o3T),
	gsSPEndDisplayList(),
}; /* bmerge1 */ 

/* ======== db ======== */

Gfx f4_body_modelT[]={
	gsSPDisplayList(f4_body_grp_bmerge1T),
	gsSPEndDisplayList(),
}; /* db */ 

Gfx f4_body_model[] = {
	gsSPEndDisplayList()
};

#undef G_CC_PRIMSHADE

#undef gs_Nin_LoadTextureImage

#undef gs_Nin_SetUpTileDescrip

/* 4 vertices */
Vtx f4_body_v[]={
	{ -100,-25,0,0, 2048, 512,  255, 255, 255, 255 /* vertex color */  },   /* v0 used p21/V1 2 times */
	{ 100,-25,0,0, 0, 512,  255, 255, 255, 255 /* vertex color */  },   /* v1 used p21/V2 1 times */
	{ 100,25,0,0, 0, 0,  255, 255, 255, 255 /* vertex color */  },   /* v2 used p21/V3 2 times */
	{ -100,25,0,0, 2048, 0,  255, 255, 255, 255 /* vertex color */  },   /* v3 used p22/V3 1 times */
};


/*   0 vertices */
/* 64 x 16  G_IM_SIZ_16b G_IM_FMT_RGBA  */
unsigned short fish_5_txt[] = {
	0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9528, 0x9568, 0x9d68, 0x8461, 0x8c5f, 
	0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x8d26, 0x8d26, 0x8d26, 0x9526, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9528, 0x9528, 0x9528, 0x9568, 0x9568, 0x9568, 0x9568, 0x9526, 0x9526, 0x9526, 0x9528, 0x9528, 0x9d68, 0x9d68, 0x9d68, 0x9568, 0x9528, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9568, 0x9528, 0x8463, 0x5a95, 0x5a91, 0x8ce4, 
	0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9528, 0x8d28, 0x8d26, 0x9528, 0x9d68, 0xa568, 0xa568, 0xa568, 0xad69, 0xb5ab, 0xb5ab, 0xb5ab, 0xbda9, 0xb565, 0xb5a9, 0xada9, 0xa567, 0xa569, 0xa569, 0x9d27, 0x9d27, 0x9d25, 0x9d28, 0x9d68, 0x9d66, 0x9568, 0x9526, 0x8461, 0x8c1d, 0x94a1, 0x8c5f, 0x94e4, 0x9568, 0x9568, 0x9528, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9568, 0x9568, 0x7c60, 0x5ad3, 0x420d, 0x528f, 0x8ce2, 0x9568, 
	0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x8d26, 0x9568, 0x9d26, 0xa524, 0xc62b, 0xcdeb, 0xc5a7, 0xc5a5, 0xcde9, 0xcde5, 0xcde7, 0xc5a5, 0xc5a5, 0xd5e7, 0xcda3, 0xbcdb, 0xcda3, 0xc5a5, 0xcde5, 0xbda5, 0xbda5, 0xad25, 0xa525, 0x9ce1, 0x9ce3, 0x94e3, 0x8c61, 0x5295, 0x62d3, 0x6b13, 0x7397, 0x841b, 0x841d, 0x8ca1, 0x8ca2, 0x8ce2, 0x9526, 0x9d68, 0xa56a, 0xb5f1, 0x9d6a, 0x8d26, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9d68, 0x9528, 0x5b19, 0x39cd, 0x4a0d, 0x5a8f, 0x949f, 0x9568, 0x9526, 
	0x9526, 0x9526, 0x9526, 0x8d26, 0x9568, 0xbdec, 0xbd63, 0xb499, 0xcda3, 0xeef1, 0xffb7, 0xe6ef, 0xeeab, 0xde69, 0xc5e7, 0xbde9, 0xce2d, 0xce2b, 0xc5eb, 0xb5a9, 0xad67, 0xad67, 0xa529, 0x9d25, 0x94e7, 0x9529, 0x9529, 0x952d, 0x9d6b, 0xa56b, 0x9d2b, 0x6bdf, 0x5291, 0x6b57, 0x73dd, 0x7c61, 0x7421, 0x741f, 0x6bdf, 0x6bdf, 0x73dd, 0x739b, 0x7bdb, 0x945b, 0xad25, 0xbe33, 0xa5ac, 0x8d26, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9568, 0x9daa, 0x8c63, 0x41cf, 0x2949, 0x4a4d, 0x528f, 0x8ca0, 0x9568, 0x9526, 0x9526, 
	0x9526, 0x8d26, 0x9568, 0xada8, 0xbd63, 0xa459, 0x8b93, 0xa455, 0xc561, 0xe6f3, 0xe6f5, 0xe737, 0xdeb1, 0xdeaf, 0xce2d, 0xad6b, 0x9d29, 0x94e7, 0x94e7, 0x8ce7, 0x84a7, 0x84a7, 0x7c63, 0x7421, 0x73e1, 0x6be1, 0x7421, 0x7c65, 0x8465, 0x84a5, 0x8ca7, 0x73df, 0x7c21, 0x6be1, 0x6bdf, 0x7c65, 0x7c65, 0x7c63, 0x7425, 0x63e3, 0x5b9f, 0x63e3, 0x639f, 0x639b, 0x73db, 0x94a5, 0xadf1, 0xadf0, 0x9d6a, 0x9d68, 0x9526, 0x9526, 0x9568, 0x9526, 0x6b5b, 0x2949, 0x2107, 0x398b, 0x318b, 0x73dc, 0x9568, 0x9526, 0x9526, 0x9526, 
	0x8d26, 0xa5aa, 0xcde9, 0xc563, 0xacdf, 0xbd21, 0x8351, 0xac57, 0xa459, 0xb4dd, 0xde6f, 0xe739, 0xadaf, 0xb5a9, 0xc5a7, 0xd6b3, 0xa56d, 0x8ca7, 0x6bdf, 0x6be1, 0x7423, 0x6be3, 0x6be1, 0x6be1, 0x6be1, 0x6bdf, 0x6be1, 0x7421, 0x6bdf, 0x6b9d, 0x6b9d, 0x7c21, 0x7c63, 0x6b9d, 0x6b9b, 0x73dd, 0x84a5, 0x8465, 0x7c65, 0x7425, 0x6be1, 0x6be3, 0x639f, 0x535d, 0x5b5d, 0x5b9d, 0x6bdf, 0x8ca7, 0xa56d, 0x9d68, 0x9568, 0x9528, 0x8463, 0x4a51, 0x20c7, 0x2107, 0x3189, 0x420f, 0x73dc, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 
	0xa568, 0xcde7, 0xac5b, 0x6291, 0x4a0b, 0xa4df, 0xcda3, 0xbd1d, 0x93d5, 0x8351, 0xbd61, 0xbe2f, 0xa56b, 0xadab, 0x94a1, 0x9c9d, 0xceb3, 0xadf5, 0x639f, 0x4255, 0x4255, 0x4295, 0x4295, 0x4295, 0x4ad7, 0x4ad7, 0x5319, 0x4ad9, 0x52d7, 0x5317, 0x5319, 0x639d, 0x7421, 0x5317, 0x52d7, 0x635b, 0x73df, 0x8463, 0x7c21, 0x7421, 0x7421, 0x6b9d, 0x5b59, 0x5b59, 0x5b59, 0x5b5b, 0x5b5d, 0x5b5b, 0x639b, 0x73df, 0x7c1f, 0x7399, 0x39cd, 0x2107, 0x2107, 0x2949, 0x5ad5, 0x9526, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 
	0x8c1d, 0x9419, 0x7b99, 0x2949, 0x3149, 0x7b95, 0xb563, 0x7313, 0x5a4d, 0x5291, 0x7397, 0x8461, 0x5295, 0x5b17, 0x4a51, 0x41cb, 0x7b53, 0x7bdd, 0x5b1b, 0x4adb, 0x4295, 0x4295, 0x42d7, 0x4297, 0x4297, 0x4297, 0x4295, 0x4297, 0x42d7, 0x4297, 0x42d7, 0x4b19, 0x4b1b, 0x4b1b, 0x531b, 0x531b, 0x5319, 0x531b, 0x4ad9, 0x4ad7, 0x4ad9, 0x4ad9, 0x4a95, 0x4ad5, 0x4a93, 0x4251, 0x4253, 0x3a11, 0x3a0f, 0x4251, 0x4251, 0x424f, 0x4a53, 0x2109, 0x2107, 0x6359, 0x9568, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 
	0x73df, 0x20c7, 0x420d, 0x39cb, 0x420d, 0x4a91, 0x5b13, 0x420f, 0x31cd, 0x29cf, 0x4295, 0x214d, 0x1907, 0x2107, 0x318b, 0x3a0f, 0x314b, 0x318b, 0x39cf, 0x4ad5, 0x5319, 0x4b1d, 0x4b1d, 0x535f, 0x535f, 0x4b5f, 0x4b1d, 0x535f, 0x5361, 0x4b5f, 0x4b1d, 0x4b1d, 0x42db, 0x4b1b, 0x4b1b, 0x42d7, 0x3a97, 0x3a55, 0x3213, 0x3211, 0x3213, 0x29cf, 0x298d, 0x298d, 0x1909, 0x18c7, 0x10c7, 0x10c7, 0x18c7, 0x1907, 0x2149, 0x214b, 0x298d, 0x1909, 0x2109, 0x8460, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 
	0x8d26, 0x6b9c, 0x39cf, 0x39cb, 0x2109, 0x10c7, 0x2109, 0x2149, 0x294b, 0x298d, 0x298f, 0x214b, 0x1909, 0x18c7, 0x18c7, 0x2149, 0x2109, 0x1907, 0x1907, 0x2107, 0x2149, 0x298d, 0x3215, 0x42d9, 0x3a57, 0x3213, 0x3213, 0x3a57, 0x3a57, 0x3213, 0x3213, 0x29d1, 0x29cf, 0x298d, 0x214b, 0x2149, 0x1909, 0x1909, 0x1909, 0x1909, 0x1909, 0x10c7, 0x10c5, 0x10c5, 0x10c5, 0x10c5, 0x1085, 0x1085, 0x18c5, 0x2107, 0x2107, 0x18c7, 0x1085, 0x18c7, 0x18c7, 0x6b59, 0x9568, 0x9528, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 
	0x9528, 0x9d68, 0x9526, 0x7c60, 0x5ad7, 0x39cd, 0x2109, 0x18c7, 0x1085, 0x10c5, 0x18c7, 0x10c7, 0x10c5, 0x10c5, 0x10c5, 0x18c7, 0x1907, 0x2109, 0x2109, 0x2109, 0x2109, 0x2109, 0x2107, 0x1907, 0x1085, 0x1085, 0x1085, 0x1085, 0x1085, 0x1085, 0x883, 0x1085, 0x1085, 0x1085, 0x1085, 0x1085, 0x1085, 0x1085, 0x10c5, 0x1085, 0x1085, 0x1085, 0x1085, 0x1085, 0x1085, 0x18c7, 0x2109, 0x298b, 0x73dd, 0x94e4, 0xa566, 0x8ca2, 0x420f, 0x2107, 0x2947, 0x4a0d, 0x8460, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 
	0x9526, 0x9526, 0x9528, 0x9568, 0x9d68, 0x9526, 0x8ce4, 0x741e, 0x6359, 0x5293, 0x3a0f, 0x294b, 0x2107, 0x2107, 0x18c7, 0x18c7, 0x18c7, 0x2107, 0x2949, 0x2109, 0x18c7, 0x2107, 0x2107, 0x2107, 0x20c7, 0x18c5, 0x18c7, 0x2109, 0x2949, 0x2949, 0x2949, 0x2949, 0x2949, 0x2149, 0x2149, 0x2149, 0x2949, 0x18c5, 0x1085, 0x10c5, 0x18c7, 0x2949, 0x318b, 0x4251, 0x5b17, 0x7c60, 0x9524, 0x9526, 0x9568, 0x9568, 0x9528, 0x9568, 0x9568, 0x7c1d, 0x4a4f, 0x524d, 0x83d9, 0x9526, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 
	0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9528, 0x9568, 0x9568, 0x9d68, 0x9d68, 0x9526, 0x9526, 0x84a2, 0x845e, 0x845e, 0x7c1e, 0x7c1c, 0x73dc, 0x845e, 0x73dd, 0x6359, 0x5b17, 0x5b19, 0x5b19, 0x635a, 0x73dc, 0x7c60, 0x8ce4, 0x9526, 0x8d26, 0x8d26, 0x9526, 0x9526, 0x8ce4, 0x9524, 0x9526, 0x9526, 0x7c1f, 0x5291, 0x6b55, 0x8c1d, 0xa525, 0xa568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 0x9528, 0x9d68, 0x8ce4, 0x6b57, 0x62cf, 0x6b57, 0x8462, 0x9568, 0x9526, 0x9526, 0x9526, 0x9526, 
	0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9528, 0x9528, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9d68, 0x9d6a, 0x9d6a, 0x9d6a, 0x9d68, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9568, 0x9d68, 0x9d24, 0xa4e3, 0xb5a9, 0x9d68, 0x9568, 0x9528, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9568, 0x9568, 0x741c, 0x528f, 0x62d3, 0x9d27, 0x9568, 0x9526, 0x9526, 0x9526, 
	0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9528, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9526, 0x9528, 0x9568, 0x84a2, 0x6315, 0x9ce3, 0x9d68, 0x9526, 0x9526, 0x9526, 
};

