if tutor_sprite != noone
{
	var _pos = to_gui(x - 192, y - 64);
	draw_sprite_ext(tutor_sprite, 0, _pos.x, _pos.y, 1.5, 1.5, 0, c_white, tutor_alpha);

	switch(tutor_state)
	{
		case "FADE_IN":
			tutor_alpha += 0.04;
			if tutor_alpha >= 1
				tutor_state = "WAIT";
			break;
		
		case "WAIT":
			tutor_alpha = 1;
			tutor_delay = 20;
			break;
		
		case "DELAY":
			if !tutor_delay--
				tutor_state = "FADE_OUT";
			break;
		
		case "FADE_OUT":
			tutor_alpha -= 0.04;
			if tutor_alpha <= 0
				tutor_sprite = noone;
			break;
	}
	if !is_undefined(tutor_criteria) && tutor_criteria()
	{
		tutor_state = "FADE_OUT";
		tutor_criteria = undefined;
	}
}