// ----------------------------------
// 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)
		switch object[arrayPos0].state
			case 0
			case 100
				object.value0 = -590
				break
			default
					object.value0 = 0
					object.value0 -= screen.xsize
					object.value0 += 194
				break
		end switch		
	next
	
	temp0 = object.value1
	temp0 -= object.value0
	Abs(temp0)
	if temp0 < charspeed
		object.value1 = object.value0
	end if
	
	if object.value1 > object.value0
		object.value1 -= charspeed
	else
		if object.value1 < object.value0
			object.value1 += charspeed
		end if
	end if
	
end event

event ObjectDraw
	object.value10 = 0	
	object.value12 = 0
	object.value13 = 21
	temp2 = 10
	foreach (TypeName[Time Attack Screen], arrayPos0, ALL_ENTITIES)
		if object[arrayPos0].value10 == 3
			temp4 = 9
		else
			temp4 = 10
		end if
	next

	while object.value10 < temp4
		temp1 = screen.xsize
		temp1 += object.value1
		temp2 += 20
		DrawSpriteScreenXY(object.value10, temp1, temp2)
		if object.value10 < 8
			temp1 += 130
			DrawSpriteScreenXY(21, temp1, temp2)
			temp1 += 20
			DrawSpriteScreenXY(22, temp1, temp2)
		end if
		if object.value10 == 7
			temp1 += 20
			DrawSpriteScreenXY(23, temp1, temp2)
		end if
		object.value10 += 1	
	loop

		temp1 = screen.xsize
		temp2 = 10
		temp3 = screen.xsize
				
		foreach (TypeName[Time Attack Screen], arrayPos0, ALL_ENTITIES)
			switch object[arrayPos0].value11
				case 0
					object.value13 = 24
					object.value12 = 10
					break
				case 1
					temp3 += 20
					object.value13 = 25
					object.value12 = 10
					break
				case 2
					object.value13 = 24
					temp2 += 20
					object.value12 = 11
					break
				case 3
					temp3 += 20
					object.value13 = 25
					temp2 += 20
					object.value12 = 11
					break
				case 4
					object.value13 = 24
					temp2 += 40
					object.value12 = 12
					break
				case 5
					temp3 += 20
					object.value13 = 25
					temp2 += 40
					object.value12 = 12
					break	
				case 6
					object.value13 = 24
					temp2 += 60
					object.value12 = 13
					break
				case 7
					temp3 += 20
					object.value13 = 25
					temp2 += 60
					object.value12 = 13
					break
				case 8
					object.value13 = 24
					temp2 += 80
					object.value12 = 14
					break
				case 9
					temp3 += 20
					object.value13 = 25
					temp2 += 80
					object.value12 = 14
					break
				case 10
					object.value13 = 24
					temp2 += 100
					object.value12 = 15
					break
				case 11
					temp3 += 20
					object.value13 = 25
					temp2 += 100
					object.value12 = 15
					break
				case 12
					object.value13 = 24
					temp2 += 120
					object.value12 = 16
					break
				case 13
					temp3 += 20
					object.value13 = 25
					temp2 += 120
					object.value12 = 16
					break
				case 14
					object.value13 = 24
					temp2 += 140
					object.value12 = 17
					break
				case 15
					temp3 += 20
					object.value13 = 25
					temp2 += 140
					object.value12 = 17
					break
				case 16
					temp3 += 40
					object.value13 = 26
					temp2 += 140
					object.value12 = 17
					break
				case 17
					object.value13 = 20
					temp2 += 160
					object.value12 = 18
					break
				case 18
					object.value13 = 20
					temp2 += 180
					object.value12 = 19
					break
			end switch
		next
		

		temp1 += object.value1
		temp2 += 20
		DrawSpriteScreenXY(object.value12, temp1, temp2)

		temp3 += object.value1
		temp3 += 130
		DrawSpriteScreenXY(object.value13, temp3, temp2)
end event


//Startup

event ObjectStartup
	LoadSpriteSheet("Menus/TimeAttackScreen.gif")
	
	SpriteFrame(-188, 0, 93, 11, 1, 1) //0 Emerald Hill
	SpriteFrame(-188, 0, 112, 11, 1, 13) //1
	SpriteFrame(-188, 0, 91, 11, 1, 25) //2
	SpriteFrame(-188, 0, 92, 11, 1, 37) //3
	SpriteFrame(-188, 0, 56, 11, 1, 49) //4
	SpriteFrame(-188, 0, 86, 11, 1, 61) //5
	SpriteFrame(-188, 0, 68, 11, 1, 73) //6
	SpriteFrame(-188, 0, 80, 11, 1, 85) //7
	SpriteFrame(-188, 0, 103, 11, 1, 97) //8
	SpriteFrame(-188, 0, 68, 11, 1, 109) //9

	SpriteFrame(-188, 0, 93, 11, 1, 122) //10 Emerald Hill H
	SpriteFrame(-188, 0, 112, 11, 1, 134) //11
	SpriteFrame(-188, 0, 91, 11, 1, 146) //12
	SpriteFrame(-188, 0, 92, 11, 1, 158) //13
	SpriteFrame(-188, 0, 56, 11, 1, 170) //14
	SpriteFrame(-188, 0, 86, 11, 1, 182) //15
	SpriteFrame(-188, 0, 68, 11, 1, 194) //16
	SpriteFrame(-188, 0, 80, 11, 1, 206) //17
	SpriteFrame(-188, 0, 103, 11, 1, 218) //18
	SpriteFrame(-188, 0, 68, 11, 1, 230) //19
	
	//Acts
	SpriteFrame(-188, 0, 1, 1, 19, 242) //20
	SpriteFrame(-188, 0, 8, 11, 1, 242) //21
	SpriteFrame(-188, 0, 8, 11, 10, 242) //22
	SpriteFrame(-188, 0, 8, 11, 19, 242) //23

	SpriteFrame(-188, 0, 8, 11, 28, 242) //24
	SpriteFrame(-188, 0, 8, 11, 37, 242) //25
	SpriteFrame(-188, 0, 8, 11, 46, 242) //26
	
	
	
	temp0 = 0
	while temp0 < 19
		CreateTempObject(TypeName[Level Label], temp0, 0, 0)
		object[tempObjectPos].value0 = -430
		object[tempObjectPos].value1 = -430
		temp0++
	loop
end event



