/***************************************************************************************************
		Convert from NINGEN		(mu_mask) 																
****************************************************************************************************/
#define mu_mask_AMB_SCALE 0.4
#define ShapeColor_mu_mask(R,G,B) {{R*mu_mask_AMB_SCALE ,G*mu_mask_AMB_SCALE ,B*mu_mask_AMB_SCALE ,0 ,R*mu_mask_AMB_SCALE ,G*mu_mask_AMB_SCALE ,B*mu_mask_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} }

static Lights1 light_mu_mask[] = {
	ShapeColor_mu_mask(178,178,178),
	ShapeColor_mu_mask(255,255,255),
};

static Vtx vtx_mu_mask_0[] = {
	{   -105,    -30,   -106,     0,   451,   640,  -101,    0,  -76,  255}, 
	{   -149,     33,      0,     0,   547,   320,  -125,    0,  -16,  255}, 
	{   -105,     34,   -105,     0,   451,   316,   -76,    1, -101,  255}, 
	{   -149,    -31,      0,     0,   547,   646,  -125,    0,   19,  255}, 
	{      0,    -30,   -150,     0,   220,   638,   -17,    1, -125,  255}, 
	{   -127,     32,     50,     0,   498,   324,  -116,    0,   51,  255}, 
	{      0,     34,   -149,     0,   220,   314,    17,    1, -125,  255}, 
	{   -127,    -32,     49,     0,   498,   648,  -115,    0,   52,  255}, 
	{    106,    -30,   -106,     0,   -10,   642,    76,    1, -101,  255}, 
	{    106,     34,   -105,     0,   -10,   318,   101,    0,  -76,  255}, 
	{    150,    -31,      0,     0,  -105,   648,   125,    0,  -16,  255}, 
	{    150,     33,      0,     0,  -105,   322,   125,    0,   19,  255}, 
	{    128,    -32,     49,     0,   -56,   650,   116,    0,   51,  255}, 
	{    128,     32,     50,     0,   -56,   326,   116,    0,   51,  255}, 
};

static Vtx vtx_mu_mask_1[] = {
	{    -91,    -56,    111,     0,   -16,  1362,   -75,  -43,   92,  255}, 
	{      0,      0,    149,     0,   986,   824,     0,    0,  126,  255}, 
	{    -99,      0,    117,     0,   -66,   820,   -81,   -1,   97,  255}, 
	{      0,     55,    141,     0,   962,   260,     0,   36,  121,  255}, 
	{    -91,     56,    112,     0,   -12,   254,   -76,   40,   92,  255}, 
	{      0,    103,    118,     0,   890,  -242,    -1,   75,  102,  255}, 
	{      0,    -57,    140,     0,    -8,  1364,     0,  -39,  120,  255}, 
	{    100,      0,    117,     0,  1010,   820,    81,    0,   97,  255}, 
	{      0,      0,    149,     0,     0,   820,     0,    0,  126,  255}, 
	{     92,     56,    112,     0,   956,   252,    75,   41,   93,  255}, 
	{      0,     55,    141,     0,    -8,   252,     0,   36,  121,  255}, 
	{     70,    104,     96,     0,   802,  -252,    58,   81,   77,  255}, 
};

static Vtx vtx_mu_mask_2[] = {
	{    -37,   -136,     68,     0,     0,     0,   -34, -110,   51,  255}, 
	{    -53,   -135,     39,     0,     0,     0,   -57, -109,   28,  255}, 
	{      0,   -147,     39,     0,     0,     0,     0, -125,   22,  255}, 
	{      0,   -136,     80,     0,     0,     0,     5, -108,   65,  255}, 
	{      0,   -104,    116,     0,     0,     0,     1,  -77,  100,  255}, 
	{    -69,   -104,     93,     0,     0,     0,   -59,  -82,   75,  255}, 
	{    -99,   -103,     39,     0,     0,     0,   -89,  -76,   47,  255}, 
	{     54,   -135,     39,     0,     0,     0,    49, -114,   23,  255}, 
	{     38,   -136,     68,     0,     0,     0,    42, -112,   41,  255}, 
	{    -91,    -56,    111,     0,     0,     0,   -75,  -43,   92,  255}, 
	{      0,    -57,    140,     0,     0,     0,     0,  -39,  120,  255}, 
	{   -129,    -56,     40,     0,     0,     0,  -107,  -36,   57,  255}, 
	{    -99,      0,    117,     0,     0,     0,   -81,   -1,   97,  255}, 
	{      0,      0,    149,     0,     0,     0,     0,    0,  126,  255}, 
	{      0,    103,    118,     0,     0,     0,    -1,   75,  102,  255}, 
	{     38,    136,     71,     0,     0,     0,    32,  110,   53,  255}, 
	{      0,    136,     83,     0,     0,     0,    -5,  107,   66,  255}, 
	{   -129,    -56,     40,     0,     0,     0,  -107,  -36,   57,  255}, 
	{    -99,      0,    117,     0,     0,     0,   -81,   -1,   97,  255}, 
	{   -140,      0,     40,     0,     0,     0,  -111,    6,   59,  255}, 
	{    -91,     56,    112,     0,     0,     0,   -76,   40,   92,  255}, 
	{   -129,     56,     41,     0,     0,     0,  -103,   48,   55,  255}, 
	{    -69,    104,     96,     0,     0,     0,   -62,   81,   74,  255}, 
	{    -99,    104,     41,     0,     0,     0,   -80,   87,   43,  255}, 
	{    -37,    136,     71,     0,     0,     0,   -42,  111,   43,  255}, 
	{    -53,    136,     42,     0,     0,     0,   -48,  114,   26,  255}, 
	{      0,    147,     42,     0,     0,     0,     0,  124,   23,  255}, 
	{     54,    136,     42,     0,     0,     0,    56,  109,   30,  255}, 
	{     38,   -136,     68,     0,     0,     0,    42, -112,   41,  255}, 
	{     54,   -135,     39,     0,     0,     0,    49, -114,   23,  255}, 
	{    100,   -103,     39,     0,     0,     0,    80,  -88,   42,  255}, 
	{      0,   -136,     80,     0,     0,     0,     5, -108,   65,  255}, 
	{     70,   -104,     93,     0,     0,     0,    62,  -82,   73,  255}, 
	{      0,   -104,    116,     0,     0,     0,     1,  -77,  100,  255}, 
	{     92,    -56,    111,     0,     0,     0,    76,  -43,   91,  255}, 
	{      0,    -57,    140,     0,     0,     0,     0,  -39,  120,  255}, 
	{    100,      0,    117,     0,     0,     0,    81,    0,   97,  255}, 
	{      0,     55,    141,     0,     0,     0,     0,   36,  121,  255}, 
	{     70,    104,     96,     0,     0,     0,    58,   81,   77,  255}, 
	{      0,    103,    118,     0,     0,     0,    -1,   75,  102,  255}, 
	{     38,    136,     71,     0,     0,     0,    32,  110,   53,  255}, 
	{    130,    -56,     40,     0,     0,     0,   102,  -50,   55,  255}, 
	{    141,      0,     40,     0,     0,     0,   111,   -7,   59,  255}, 
	{    130,     56,     41,     0,     0,     0,   107,   34,   57,  255}, 
	{    100,      0,    117,     0,     0,     0,    81,    0,   97,  255}, 
	{    130,     56,     41,     0,     0,     0,   107,   34,   57,  255}, 
	{     92,     56,    112,     0,     0,     0,    75,   41,   93,  255}, 
	{    100,    104,     41,     0,     0,     0,    89,   75,   48,  255}, 
	{     70,    104,     96,     0,     0,     0,    58,   81,   77,  255}, 
	{     54,    136,     42,     0,     0,     0,    56,  109,   30,  255}, 
	{     38,    136,     71,     0,     0,     0,    32,  110,   53,  255}, 
};

static Gfx gfx_mu_mask_0[] = {
	gs_Tani_LoadTextureImage2(mucho_mouthA_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, 7),

	gsSPLight((&light_mu_mask[0].l[0]),1 ),
	gsSPLight((&light_mu_mask[0].a   ),2 ),

	gsSPVertex(&vtx_mu_mask_0[0], 14, 0), 
	gsSP1Triangle( 0, 1, 2, 0),
	gsSP1Triangle( 0, 3, 1, 0),
	gsSP1Triangle( 4, 0, 2, 0),
	gsSP1Triangle( 3, 5, 1, 0),
	gsSP1Triangle( 4, 2, 6, 0),
	gsSP1Triangle( 3, 7, 5, 0),
	gsSP1Triangle( 8, 4, 6, 0),
	gsSP1Triangle( 8, 6, 9, 0),
	gsSP1Triangle(10, 8, 9, 0),
	gsSP1Triangle(10, 9,11, 0),
	gsSP1Triangle(12,10,11, 0),
	gsSP1Triangle(12,11,13, 0),
	gsSPEndDisplayList() 
};

static Gfx gfx_mu_mask_1[] = {
	gs_Tani_LoadTextureImage2(mucho_eye_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),

	gsSPLight((&light_mu_mask[1].l[0]),1 ),
	gsSPLight((&light_mu_mask[1].a   ),2 ),

	gsSPVertex(&vtx_mu_mask_1[0], 12, 0), 
	gsSP1Triangle( 0, 1, 2, 0),
	gsSP1Triangle( 2, 1, 3, 0),
	gsSP1Triangle( 2, 3, 4, 0),
	gsSP1Triangle( 4, 3, 5, 0),
	gsSP1Triangle( 6, 7, 8, 0),
	gsSP1Triangle( 8, 7, 9, 0),
	gsSP1Triangle( 8, 9,10, 0),
	gsSP1Triangle(10, 9,11, 0),
	gsSPEndDisplayList() 
};

static Gfx gfx_mu_mask_2[] = {
	gsSPVertex(&vtx_mu_mask_2[0], 14, 0), 
	gsSP1Triangle( 0, 1, 2, 0),
	gsSP1Triangle( 0, 3, 4, 0),
	gsSP1Triangle( 0, 4, 5, 0),
	gsSP1Triangle( 3, 0, 2, 0),
	gsSP1Triangle( 1, 0, 5, 0),
	gsSP1Triangle( 1, 5, 6, 0),
	gsSP1Triangle( 7, 8, 2, 0),
	gsSP1Triangle( 8, 3, 2, 0),
	gsSP1Triangle( 6, 5, 9, 0),
	gsSP1Triangle( 5,10, 9, 0),
	gsSP1Triangle( 5, 4,10, 0),
	gsSP1Triangle( 6, 9,11, 0),
	gsSP1Triangle(11, 9,12, 0),
	gsSP1Triangle( 9,10,13, 0),
	gsSPVertex(&vtx_mu_mask_2[14], 14, 0), 
	gsSP1Triangle( 0, 1, 2, 0),
	gsSP1Triangle( 3, 4, 5, 0),
	gsSP1Triangle( 5, 4, 6, 0),
	gsSP1Triangle( 5, 6, 7, 0),
	gsSP1Triangle( 7, 6, 8, 0),
	gsSP1Triangle( 6, 0, 8, 0),
	gsSP1Triangle( 7, 8, 9, 0),
	gsSP1Triangle( 9, 8,10, 0),
	gsSP1Triangle( 8, 2,10, 0),
	gsSP1Triangle( 8, 0, 2, 0),
	gsSP1Triangle( 9,10,11, 0),
	gsSP1Triangle(11,10,12, 0),
	gsSP1Triangle(10, 2,12, 0),
	gsSP1Triangle( 2, 1,12, 0),
	gsSP1Triangle( 1,13,12, 0),
	gsSPVertex(&vtx_mu_mask_2[28], 16, 0), 
	gsSP1Triangle( 0, 1, 2, 0),
	gsSP1Triangle( 3, 4, 5, 0),
	gsSP1Triangle( 3, 0, 4, 0),
	gsSP1Triangle( 5, 4, 6, 0),
	gsSP1Triangle( 5, 6, 7, 0),
	gsSP1Triangle( 7, 6, 8, 0),
	gsSP1Triangle( 9,10,11, 0),
	gsSP1Triangle(11,10,12, 0),
	gsSP1Triangle( 0, 2, 4, 0),
	gsSP1Triangle( 4,13, 6, 0),
	gsSP1Triangle( 4, 2,13, 0),
	gsSP1Triangle( 6,14, 8, 0),
	gsSP1Triangle( 6,13,14, 0),
	gsSP1Triangle( 8,14,15, 0),
	gsSPVertex(&vtx_mu_mask_2[44],  7, 0), 
	gsSP1Triangle( 0, 1, 2, 0),
	gsSP1Triangle( 2, 3, 4, 0),
	gsSP1Triangle( 4, 5, 6, 0),
	gsSP1Triangle( 4, 3, 5, 0),
	gsSP1Triangle( 2, 1, 3, 0),
	gsSPEndDisplayList() 
};

Gfx gfx_mu_mask[] = {
	gsDPPipeSync(),
	gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_BLENDRGBA),
	gsSPClearGeometryMode(G_CULL_BACK),
	gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, 7, 0,  0,0,0, 0,0,0),

	gsSPTexture(0xffff,0xffff, 0, 0, G_ON),

	gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32,  0, 0, G_TX_WRAP|G_TX_NOMIRROR, 4, G_TX_NOLOD, G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD),

		gsSPDisplayList(gfx_mu_mask_0),

	gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32,  0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD),

		gsSPDisplayList(gfx_mu_mask_1),

	gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),

	gsDPPipeSync(),
	gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),

		gsSPDisplayList(gfx_mu_mask_2),

	gsSPSetGeometryMode(G_CULL_BACK),
	gsSPEndDisplayList() 
};

