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

//-------Aliases-------//
private alias 54 : TYPE_OILFALL


// Static Values

// Tables

event ObjectDraw
	if object.value0 == object.value1
		DrawSprite(object.frame)
	else
		temp0 = object.value0
		temp0 += 0x100000
		while temp0 < object.value1
			DrawSpriteXY(object.frame, object.xpos, temp0)
			temp0 += 0x200000
		loop
	end if
end event


event ObjectStartup
	LoadSpriteSheet("OOZ/Objects.gif")
	SpriteFrame(-2, -16, 6, 32, 182, 51)
	SpriteFrame(-2, -16, 6, 32, 182, 148)
	SpriteFrame(-2, -16, 6, 32, 182, 59)
	SpriteFrame(-2, -16, 6, 32, 182, 156)
	SpriteFrame(-8, -16, 16, 32, 189, 75)
	SpriteFrame(-24, -16, 48, 32, 189, 107)
	foreach (TypeName[Oil Fall], arrayPos0, ALL_ENTITIES)
		object[arrayPos0].value0 = object[arrayPos0].propertyValue
		object[arrayPos0].value0 &= 7
		object[arrayPos0].value0 <<= 20
		object[arrayPos0].value1 = object[arrayPos0].value0
		FlipSign(object[arrayPos0].value0)
		object[arrayPos0].value0 += object[arrayPos0].ypos
		object[arrayPos0].value1 += object[arrayPos0].ypos
		if object[arrayPos0].propertyValue > 0
			object[arrayPos0].frame = object[arrayPos0].propertyValue
			object[arrayPos0].frame >>= 3
			object[arrayPos0].frame += 2
		else
			object[arrayPos0].frame = object[arrayPos0].propertyValue
			object[arrayPos0].frame >>= 3
			object[arrayPos0].frame &= 1
		end if
		if object[arrayPos0].frame != 4
			object[arrayPos0].drawOrder = 4
		end if
	next
end event

event RSDKDraw
	DrawSprite(0)
end event

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