// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Sonic Team Object
// Script Author: Christan Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------


//-------Aliases-------//
private alias 20 : charspeed

//-------Tables--------//



event ObjectMain	
	foreach (TypeName[Time Attack Screen], arrayPos0, ALL_ENTITIES)
		object.value0 = object[arrayPos0].value11
		
		switch object[arrayPos0].state
			case 0
			case 100
				object.value1 = 360
				object.value3 = 460
				break
			default
				object.value1 = 0
				object.value3 = 0
				break
		end switch		
	next
	
	temp0 = object.value2
	temp0 -= object.value1
	Abs(temp0)
	if temp0 < charspeed
		object.value2 = object.value1
	end if
	
	if object.value2 > object.value1
		object.value2 -= charspeed
	else
		if object.value2 < object.value1
			object.value2 += charspeed
		end if
	end if
	
	temp0 = object.value4
	temp0 -= object.value3
	Abs(temp0)
	if temp0 < charspeed
		object.value4 = object.value3
	end if
	
	if object.value4 > object.value3
		object.value4 -= charspeed
	else
		if object.value4 < object.value3
			object.value4 += charspeed
		end if
	end if
end event

event ObjectDraw
	DrawRect(0, 0, screen.xsize, screen.ysize, color7, color7, 0, 100)

	SetActivePalette(1, 0, screen.ysize)
		switch object.value0
			case 0
			case 1
				object.value10 = 0
				break
			case 2
			case 3
				object.value10 = 1
				break
			case 4
			case 5
				object.value10 = 2
				break
			case 6
			case 7
				object.value10 = 3
				break
			case 8
			case 9
				object.value10 = 4
				break
			case 10
			case 11
				object.value10 = 5
				break
			case 12
			case 13
				object.value10 = 6
				break
			case 14
			case 15
			case 16
				object.value10 = 7
				break
			case 17
				object.value10 = 8
				break
			case 18
				object.value10 = 9
				break	
		end switch
		
		temp0 = screen.xsize
		temp0 -= 220
		temp0 += object.value2
		
		temp1 = 16
		object.alpha = 64
		DrawSpriteScreenFX(object.value10, FX_INK, temp0, temp1)
		object.value10 += 10		
		DrawSpriteScreenFX(object.value10, FX_INK, temp0, temp1)
		object.alpha = 128
		object.value10 += 10		
		DrawSpriteScreenFX(object.value10, FX_INK, temp0, temp1)		
		object.value10 += 10		
		DrawSpriteScreenXY(object.value10, temp0, temp1)
		object.value10 += 10		
		DrawSpriteScreenFX(object.value10, FX_INK, temp0, temp1)

	SetActivePalette(0, 0, screen.ysize)


	//Red triangle
	temp0 = 0
	temp1 = 150
	temp1 += 360
	temp1 -= object.value2
	
	while temp1 < screen.ysize
		DrawRect(temp0, temp1, 7, 600, 255, 0, 0, 255)
		DrawRect(temp0, temp1, 7, 1, 255, 255, 255, 255)
		temp0 += 7
		temp1++	
	loop
	
	//Blue triangle
	temp0 = screen.xsize
	temp0 += 210
	if screen.xsize == 320
		temp0 += 18
	end if
	temp1 = 0
	temp0 -= object.value2
	
	while temp1 < screen.ysize
		DrawRect(temp0, temp1, 150, 600, 0,0,255, 255)
		DrawRect(temp0, temp1, 1, 600, 255,255,255, 255)
		temp0 -= 1
		temp1 += 6	
	loop



	//Red triangle
	temp0 = screen.xsize
	temp1 = 0
	temp1 += 150
	temp1 += object.value2
	
	while temp1 < screen.ysize
		DrawRect(temp0, temp1, 7, 600, 255, 0, 0, 255)
		DrawRect(temp0, temp1, 7, 1, 255, 255, 255, 255)
		temp0 -= 7
		temp1++	
	loop

	//Blue triangle
	temp0 = 0
	temp1 = 0
	temp0 -= object.value2
	if screen.xsize == 320
		temp0 -= 18
	end if
	
	while temp1 < screen.ysize
		DrawRect(temp0, temp1, 181, 600, 255,255,255, 255)
		DrawRect(temp0, temp1, 180, 600, 0,0,255, 255)
		temp0 += 1
		temp1 += 6	
	loop
		
	DrawRect(0, 0, screen.xsize, 15, color7, color7, 0, 255)
end event


//Startup

event ObjectStartup
	LoadSpriteSheet("Menus/TimeAttackLev.gif")
	LoadPalette("TALev.act", 1, 0, 0, 256)
	
	//Slice 1
	SpriteFrame(-8, 0, 8, 160, 2, 2)
	SpriteFrame(-8, 0, 8, 160, 225, 2)
	SpriteFrame(-8, 0, 8, 160, 2, 165)
	SpriteFrame(-8, 0, 8, 160, 225, 165)
	SpriteFrame(-8, 0, 8, 160, 2, 328)
	SpriteFrame(-8, 0, 8, 160, 225, 328)
	SpriteFrame(-8, 0, 8, 160, 2, 491)
	SpriteFrame(-8, 0, 8, 160, 225, 491)
	SpriteFrame(-8, 0, 8, 160, 2, 654)
	SpriteFrame(-8, 0, 8, 160, 225, 654)

	//Slice 4
	SpriteFrame(204, 0, 8, 160,214, 2)
	SpriteFrame(204, 0, 8, 160,437, 2)
	SpriteFrame(204, 0, 8, 160,214, 165)
	SpriteFrame(204, 0, 8, 160,437, 165)
	SpriteFrame(204, 0, 8, 160,214, 328)
	SpriteFrame(204, 0, 8, 160,437, 328)
	SpriteFrame(204, 0, 8, 160,214, 491)
	SpriteFrame(204, 0, 8, 160,437, 491)
	SpriteFrame(204, 0, 8, 160,214, 654)
	SpriteFrame(204, 0, 8, 160,437, 654)
	
	//Slice 2
	SpriteFrame(0, 0, 8, 160,10, 2)
	SpriteFrame(0, 0, 8, 160,233, 2)
	SpriteFrame(0, 0, 8, 160,10, 165)
	SpriteFrame(0, 0, 8, 160,233, 165)
	SpriteFrame(0, 0, 8, 160,10, 328)
	SpriteFrame(0, 0, 8, 160,233, 328)
	SpriteFrame(0, 0, 8, 160,10, 491)
	SpriteFrame(0, 0, 8, 160,233, 491)
	SpriteFrame(0, 0, 8, 160,10, 654)
	SpriteFrame(0, 0, 8, 160,233, 654)

	//Main
	SpriteFrame(8, 0, 188, 160,18, 2)
	SpriteFrame(8, 0, 188, 160,241, 2)
	SpriteFrame(8, 0, 188, 160,18, 165)
	SpriteFrame(8, 0, 188, 160,241, 165)
	SpriteFrame(8, 0, 188, 160,18, 328)
	SpriteFrame(8, 0, 188, 160,241, 328)
	SpriteFrame(8, 0, 188, 160,18, 491)
	SpriteFrame(8, 0, 188, 160,241, 491)
	SpriteFrame(8, 0, 188, 160,18, 654)
	SpriteFrame(8, 0, 188, 160,241, 654)

	//Slice 3
	SpriteFrame(196, 0, 8, 160,206, 2)
	SpriteFrame(196, 0, 8, 160,429, 2)
	SpriteFrame(196, 0, 8, 160,206, 165)
	SpriteFrame(196, 0, 8, 160,429, 165)
	SpriteFrame(196, 0, 8, 160,206, 328)
	SpriteFrame(196, 0, 8, 160,429, 328)
	SpriteFrame(196, 0, 8, 160,206, 491)
	SpriteFrame(196, 0, 8, 160,429, 491)
	SpriteFrame(196, 0, 8, 160,206, 654)
	SpriteFrame(196, 0, 8, 160,429, 654)
	
	
	
	CreateTempObject(TypeName[Stage Art], 0, 0, 0)
	object[tempObjectPos].inkEffect = INK_ALPHA
	object[tempObjectPos].value1 = 360
	object[tempObjectPos].value2 = 360
	object[tempObjectPos].value3 = 460
	object[tempObjectPos].value4 = 460
	object[tempObjectPos].drawOrder = 2
	temp0++
end event



