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

//-------Aliases-------//
private alias 62 : TYPE_BOSSWALL


// Static Values
public value BossWall_value39 = 0;
public value BossWall_value40 = 0;

// Tables

event ObjectMain
	switch object.state
	case 0
		object.priority = PRIORITY_ACTIVE_BOUNDS
		break
	case 1
		object.yvel += 0x6000
		object.ypos += object.yvel
		if object.ypos > object.value3
			object.ypos = object.value3
			object.state++
		end if
		break
	case 2
		temp0 = object.xpos
		temp0 >>= 23
		temp1 = object.ypos
		temp1 >>= 23
		SetTileLayerEntry(BossWall_value39, 0, temp0, temp1)
		object.state = 0
		break
	case 3
		temp0 = object.xpos
		temp0 >>= 23
		temp1 = object.ypos
		temp1 >>= 23
		SetTileLayerEntry(BossWall_value40, 0, temp0, temp1)
		object.state++
		break
	case 4
		object.yvel -= 0x6000
		object.ypos += object.yvel
		if object.ypos < object.value2
			object.ypos = object.value2
			object.state = 0
		end if
		break
	end switch
end event


event ObjectDraw
	switch object.state
	case 1
	case 2
	case 4
		DrawSprite(0)
		break
	end switch
end event


event ObjectStartup
	CheckCurrentStageFolder("Zone04")
	if checkResult == 1
		LoadSpriteSheet("CNZ/Objects.gif")
		SpriteFrame(-64, -64, 128, 128, 127, 256)
		BossWall_value39 = 249
		BossWall_value40 = 221
	else
		LoadSpriteSheet("MBZ/Objects.gif")
		SpriteFrame(-64, -64, 128, 128, 716, 358)
		BossWall_value39 = 191
		BossWall_value40 = 162
	end if
	foreach (TypeName[Boss Wall], arrayPos0, ALL_ENTITIES)
		object[arrayPos0].drawOrder = 4
		object[arrayPos0].value2 = object[arrayPos0].ypos
		object[arrayPos0].value3 = object[arrayPos0].ypos
		object[arrayPos0].value3 += 0x800000
		if object[arrayPos0].propertyValue == 1
			object[arrayPos0].ypos = object[arrayPos0].value3
			temp0 = object[arrayPos0].xpos
			temp0 >>= 23
			temp1 = object[arrayPos0].ypos
			temp1 >>= 23
			SetTileLayerEntry(BossWall_value39, 0, temp0, temp1)
		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
