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

//-------Aliases-------//
private alias 1 : TYPE_CREDITSCONTROL
public alias 256 : GROUP_PLAYERS
public alias 65536 : HITBOX_AUTO
public alias arrayPos6 : currentPlayer
public alias arrayPos7 : playerCount


event ObjectMain
	if object.state < 5
		if inputPress.start == 1
			object.state = 6
		end if
	end if
	switch object.state
	case 0
		object.value0 = 320
		SetScreenFade(0, 0, 0, object.value0)
		object.state++
		if credits.screen == 0
			PlayMusic(0)
		end if
		break
	case 1
		if object.value0 > 0
			object.value0 -= 8
		else
			object.alpha = 128
			object.state++
		end if
		SetScreenFade(0, 0, 0, object.value0)
		break
	case 2
		object.value0++
		if object.value0 == 356
			object.value0 = 0
			object.state++
		end if
		break
	case 3
		if object.value0 < 256
			if object.value3 == 21
				object.value0 += 4
			else
				object.value0 += 8
			end if
			SetScreenFade(0, 0, 0, object.value0)
		else
			object.value3++
			if object.value3 == 22
				object.state = 4
				screen.yoffset += 256
			else
				object.state = 1
				if specialStage.emeralds >= 127
					if object.value3 == 21
						screen.yoffset = 0x1400
						screen.yoffset += 0x40C
					else
						screen.yoffset += 256
					end if
				else
					screen.yoffset += 256
				end if
			end if
			SetScreenFade(0, 0, 0, 255)
		end if
		break
	case 4
		if object.value0 > 0
			object.value0 -= 8
		else
			object.alpha = 128
			object.state++
		end if
		SetScreenFade(0, 0, 0, object.value0)
		break
	case 5
		object.value0++
		if object.value0 == 0x4B0
			object.value0 = 0
			object.state++
		end if
		if inputPress.start == 1
			object.value0 = 0
			object.state++
		end if
		if object.value0 > 60
			CheckTouchRect(0, 0, screen.xsize, screen.ysize)
			if checkResult > -1
				object.value0 = 0
				object.state++
			end if
		end if
		break
	case 6
		if object.value0 < 256
			object.value0 += 8
			SetScreenFade(0, 0, 0, object.value0)
		else
			stage.activeList = PRESENTATION_STAGE
			stage.listPos = 0
			StopMusic()
			options.attractMode = 0
			LoadStage()
			//engine.state = 7
			SetScreenFade(0, 0, 0, 255)
		end if
		break
	end switch
	temp0 = screen.xcenter
	FlipSign(temp0)
	temp0 += 256
	screen.xoffset = temp0
end event


event ObjectStartup
	SetMusicTrack("Credits.ogg", 0, 0)
	screen.yoffset = -8
	foreach (TypeName[Credits Control], arrayPos0, ALL_ENTITIES)
		object[arrayPos0].priority = PRIORITY_ACTIVE
	next
end event

event RSDKDraw
	DrawSprite(0)
end event

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