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

//-------Aliases-------//
private alias 46 : TYPE_COUNTDOWNBUBBLE


// Static Values

// Tables

event ObjectMain
	switch object.state
	case 0
		object.ypos += object.yvel
		object.value0++
		if object.value0 > 6
			object.value0 = 0
			object.frame++
		end if
		if object.frame < 5
			Sin(object.xpos, object.angle)
			object.xpos <<= 9
			object.xpos += object.value1
			object.angle += 4
			object.angle &= 511
		else
			temp0 = object.propertyValue
			temp0 *= 3
			object.frame += temp0
			object.value1 = object.ixpos
			object.value1 -= screen.xoffset
			object.value2 = object.iypos
			object.value2 -= screen.yoffset
			object.state++
		end if
		break
	case 1
		object.value0++
		if object.value0 == 6
			object.value0 = 0
			object.frame++
			object.state++
		end if
		break
	case 2
		object.value0++
		if object.value0 == 6
			object.value0 = 0
			object.frame++
			object.state++
		end if
		break
	case 3
		object.value0++
		if object.value0 == 8
			object.value0 = 0
			object.frame--
			object.state++
		end if
		break
	case 4
		object.value0++
		if object.value0 == 8
			object.value0 = 0
			object.frame++
			object.state++
		end if
		break
	case 5
		object.value0++
		if object.value0 == 8
			object.value0 = 0
			object.frame--
			object.state++
		end if
		break
	case 6
		object.value0++
		if object.value0 == 8
			object.value0 = 0
			object.frame++
			object.state++
		end if
		break
	case 7
		object.value0++
		if object.value0 == 8
			object.value0 = 0
			object.frame--
			object.state++
		end if
		break
	case 8
		object.value0++
		if object.value0 == 9
			object.type = TypeName[Blank Object]
		end if
		break
	end switch
end event


event ObjectDraw
	if object.state == 0
		DrawSprite(object.frame)
	else
		DrawSpriteScreenXY(object.frame, object.value1, object.value2)
	end if
end event


event ObjectStartup
	LoadSpriteSheet("HPZ/Objects3.gif")
	SpriteFrame(-2, -2, 4, 4, 157, 2)
	SpriteFrame(-3, -3, 6, 6, 156, 9)
	SpriteFrame(-4, -4, 8, 8, 155, 17)
	SpriteFrame(-6, -6, 12, 12, 209, 36)
	SpriteFrame(-8, -8, 16, 16, 207, 51)
	SpriteFrame(-8, -12, 16, 24, 1, 22)
	SpriteFrame(-8, -10, 16, 20, 1, 1)
	SpriteFrame(0, 0, 1, 1, 1, 1)
	SpriteFrame(-8, -12, 16, 24, 35, 22)
	SpriteFrame(-8, -10, 16, 20, 18, 1)
	SpriteFrame(0, 0, 1, 1, 1, 1)
	SpriteFrame(-8, -12, 16, 24, 18, 22)
	SpriteFrame(-8, -10, 16, 20, 35, 1)
	SpriteFrame(0, 0, 1, 1, 1, 1)
	SpriteFrame(-8, -12, 16, 24, 18, 22)
	SpriteFrame(-8, -10, 16, 20, 52, 1)
	SpriteFrame(0, 0, 1, 1, 1, 1)
	SpriteFrame(-8, -12, 16, 24, 35, 22)
	SpriteFrame(-8, -10, 16, 20, 69, 1)
	SpriteFrame(0, 0, 1, 1, 1, 1)
	SpriteFrame(-8, -12, 16, 24, 52, 22)
	SpriteFrame(-8, -10, 16, 20, 86, 1)
	SpriteFrame(0, 0, 1, 1, 1, 1)
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
