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

//-------Aliases-------//
private alias 60 : TYPE_BELTPLATFORM


// Static Values

// Tables

event ObjectMain
	switch object.state
	case 0
		break
	case 1
		object.animationTimer++
		if object.animationTimer == 4
			object.animationTimer = 0
			object.frame--
			if object.frame == 0
				object.state = 2
			end if
		end if
		break
	case 2
		object.ypos += object.yvel
		object.value0--
		if object.value0 == 0
			object.state = 3
		end if
		temp2 = 0
		foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
			GetBit(temp0, object.value1, temp2)
			if temp0 == 1
				object[currentPlayer].ypos += object.yvel
			end if
			SetBit(object.value1, temp2, 0)
			BoxCollisionTest(C_PLATFORM, object.entityPos, -24, -4, 24, 4, currentPlayer, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO)
			if checkResult == 1
				SetBit(object.value1, temp2, 1)
			end if
			temp2++
		next
		break
	case 3
		object.animationTimer++
		if object.animationTimer == 4
			object.animationTimer = 0
			object.frame++
			if object.frame == 3
				object.state = 0
			end if
		end if
		break
	end switch
	temp0 = object.xpos
	temp0 >>= 16
	temp0 -= screen.cameraX
	Abs(temp0)
	temp0 -= 128
	if temp0 > screen.xcenter
		object.state = 0
		object.priority = PRIORITY_ACTIVE_BOUNDS
	end if
end event


event ObjectDraw
	if object.state > 0
		DrawSprite(object.frame)
	end if
end event


event ObjectStartup
	LoadSpriteSheet("SCZ/Objects.gif")
	SpriteFrame(-24, -4, 48, 8, 80, 177)
	SpriteFrame(-24, -3, 48, 6, 80, 186)
	SpriteFrame(-24, -2, 48, 4, 80, 193)
end event

event RSDKDraw
	DrawSprite(0)
end event

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