task T_Background(let dx,let dy,let alpha)
{
	let target = GetTransitionRenderTargetName();
	let obj = ObjPrim_Create(OBJ_PRIMITIVE_2D);
	ObjPrim_SetPrimitiveType(obj,PRIMITIVE_TRIANGLEFAN);
	ObjPrim_SetVertexCount(obj,4);
	Obj_SetRenderPriorityI(obj,100);
	if(alpha == 255)
	{
		Obj_SetRenderPriorityI(obj,0);
	}
	ObjPrim_SetTexture(obj,target);
	
	ObjPrim_SetVertexPosition(obj,0,  0,  0,0);
	ObjPrim_SetVertexPosition(obj,1,  0,480,0);
	ObjPrim_SetVertexPosition(obj,2,640,480,0);
	ObjPrim_SetVertexPosition(obj,3,640,  0,0);
	
	ObjPrim_SetVertexUVT(obj,0,  0,  0);
	ObjPrim_SetVertexUVT(obj,1,  0,480);
	ObjPrim_SetVertexUVT(obj,2,640,480);
	ObjPrim_SetVertexUVT(obj,3,640,  0);
	ObjRender_SetX(obj,dx);
	ObjRender_SetY(obj,dy);
	
	ObjRender_SetAlpha(obj,alpha);
}

task T_Black
{
	let obj = ObjPrim_Create(OBJ_PRIMITIVE_2D);
	ObjPrim_SetTexture(obj,GetCurrentScriptDirectory~"../../img/white.png");
	ObjPrim_SetPrimitiveType(obj,PRIMITIVE_TRIANGLEFAN);
	ObjPrim_SetVertexCount(obj,4);
	Obj_SetRenderPriorityI(obj,99);
	ObjRender_SetAngleZ(obj,0);
	ObjRender_SetColor(obj,0,0,0);
	
	ObjPrim_SetVertexPosition(obj,0,  0,  0,0);
	ObjPrim_SetVertexPosition(obj,1,  0,480,0);
	ObjPrim_SetVertexPosition(obj,2,640,480,0);
	ObjPrim_SetVertexPosition(obj,3,640,  0,0);
	
	ObjPrim_SetVertexUVT(obj,0,  0,  0);
	ObjPrim_SetVertexUVT(obj,1,  0,480);
	ObjPrim_SetVertexUVT(obj,2,640,480);
	ObjPrim_SetVertexUVT(obj,3,640,  0);
	
	ObjRender_SetX(obj,0);
	ObjRender_SetY(obj,0);
	
	loop
	{
		yield;
	}
	Obj_Delete(obj);
}

task T_Background_2(let dx,let dy,let alpha)
{
	let target = GetTransitionRenderTargetName();
	let obj = ObjPrim_Create(OBJ_PRIMITIVE_2D);
	ObjPrim_SetPrimitiveType(obj,PRIMITIVE_TRIANGLEFAN);
	ObjPrim_SetVertexCount(obj,4);
	Obj_SetRenderPriorityI(obj,98);
	ObjPrim_SetTexture(obj,target);
	
	ObjPrim_SetVertexPosition(obj,0,0  ,0  ,0);
	ObjPrim_SetVertexPosition(obj,1,0  ,480,0);
	ObjPrim_SetVertexPosition(obj,2,640,480,0);
	ObjPrim_SetVertexPosition(obj,3,640,0  ,0);
	
	ObjPrim_SetVertexUVT(obj,0,0  ,0);
	ObjPrim_SetVertexUVT(obj,1,0  ,480);
	ObjPrim_SetVertexUVT(obj,2,640,480);
	ObjPrim_SetVertexUVT(obj,3,640,0);
	ObjRender_SetX(obj,dx);
	ObjRender_SetY(obj,dy);
	
	ObjRender_SetAlpha(obj,alpha);
}

function CreateTextObject(let mx,let my,let size,let text)
{
	let obj = ObjText_Create();
	ObjText_SetText(obj,text);
	ObjText_SetFontSize(obj,size);
	ObjText_SetFontBold(obj,true);
	ObjText_SetFontColorTop(obj,255,255,255);
	ObjText_SetFontColorBottom(obj,128,128,255);
	ObjText_SetFontBorderType(obj,BORDER_NONE);
	ObjText_SetFontBorderColor(obj,255,255,255);
	ObjText_SetFontBorderWidth(obj,2);
	Obj_SetRenderPriorityI(obj,100);
	ObjRender_SetX(obj,mx);
	ObjRender_SetY(obj,my);
	ObjText_SetFontType(obj,"lr ");
	return obj;
}
