//TODO: swap mode, indirect texturing, lod select, alpha testing (?)
//Names: md_hair_m_v
uniform sampler2D texture0; //6 -> 14
uniform sampler2D texture1; //7 -> 15
void main()
{
const vec4 ONE = vec4(1.0, 1.0, 1.0, 1.0);
//konst colors
const vec4 konst0 = vec4(0.000000, 0.000000, 0.000000, 1.00000);
const vec4 konst1 = vec4(1.00000, 0.862745, 0.000000, 1.00000);
const vec4 konst3 = vec4(1.00000, 1.00000, 1.00000, 1.00000);
//registers (use gl_FragColor as GX_TEVPREV)
vec4 c0 = vec4(0.000000, 0.000000, 0.000000, 1.00000);
vec4 c1 = vec4(0.313726, 0.000000, 0.000000, 1.00000);
//Tev stages
//Tev stage 0
//GX_SetTevOrder(0x0, 0x0, 0x0, 0x4)
gl_FragColor.rgb = mix(konst0.rgb, texture2D(texture0, gl_TexCoord[0].st).rgb, 1.0*ONE.rgb) + c0.rgb;
gl_FragColor.rgb = clamp(gl_FragColor.rgb, vec3(0.0, 0.0, 0.0), ONE.rgb);
gl_FragColor.a = mix(0.0, konst3.a, texture2D(texture0, gl_TexCoord[0].st).a) + 0.0;
gl_FragColor.a = clamp(gl_FragColor.a, 0.0, 1.0);
//Tev stage 1
//GX_SetTevOrder(0x1, 0x1, 0x1, 0x4)
gl_FragColor.rgb = mix(0.0*ONE.rgb, gl_FragColor.rgb, texture2D(texture1, gl_TexCoord[1].st).rgb) + 0.0*ONE.rgb;
gl_FragColor.rgb *= 4.0;
gl_FragColor.rgb = clamp(gl_FragColor.rgb, vec3(0.0, 0.0, 0.0), ONE.rgb);
gl_FragColor.a = mix(gl_Color.a, 0.0, 0.0) + 0.0;
gl_FragColor.a = clamp(gl_FragColor.a, 0.0, 1.0);
//Tev stage 2
//GX_SetTevOrder(0x2, 0x0, 0x0, 0x4)
gl_FragColor.rgb = mix(c1.rgb, konst1.rgb, gl_FragColor.rgb) + 0.0*ONE.rgb;
gl_FragColor.rgb = clamp(gl_FragColor.rgb, vec3(0.0, 0.0, 0.0), ONE.rgb);
gl_FragColor.a = mix(gl_Color.a, 0.0, 0.0) + 0.0;
gl_FragColor.a = clamp(gl_FragColor.a, 0.0, 1.0);
}