Path: blob/master/Sonic 2/Scripts/Credits/CreditsControl.txt
1478 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Credits Control Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer12private alias object.value3 : object.timer21314// States15private alias 0 : CREDITSCONTROL_SETUP16private alias 1 : CREDITSCONTROL_FADEIN17private alias 2 : CREDITSCONTROL_SHOWSCREEN18private alias 3 : CREDITSCONTROL_FADEOUT19private alias 4 : CREDITSCONTROL_FADEINTOEND20private alias 5 : CREDITSCONTROL_SHOWEND21private alias 6 : CREDITSCONTROL_FADETOMENU2223// Priority24public alias 0 : PRIORITY_BOUNDS25public alias 1 : PRIORITY_ACTIVE26public alias 2 : PRIORITY_ALWAYS27public alias 3 : PRIORITY_XBOUNDS28public alias 4 : PRIORITY_XBOUNDS_DESTROY29public alias 5 : PRIORITY_INACTIVE30public alias 6 : PRIORITY_BOUNDS_SMALL31public alias 7 : PRIORITY_ACTIVE_SMALL3233// Ink Effects34public alias 0 : INK_NONE35public alias 1 : INK_BLEND36public alias 2 : INK_ALPHA37public alias 3 : INK_ADD38public alias 4 : INK_SUB3940// Flip Directions41public alias 0 : FLIP_NONE42public alias 1 : FLIP_X43public alias 2 : FLIP_Y44public alias 3 : FLIP_XY454647// ========================48// Events49// ========================5051event ObjectUpdate52switch object.state53case CREDITSCONTROL_SETUP54object.timer = 32055SetScreenFade(0x00, 0x00, 0x00, object.timer)56object.state++57if credits.screen == 058PlayMusic(0)59end if60break6162case CREDITSCONTROL_FADEIN63if object.timer > 064object.timer -= 865else66object.alpha = 0x8067object.state++68end if69SetScreenFade(0x00, 0x00, 0x00, object.timer)70break7172case CREDITSCONTROL_SHOWSCREEN73object.timer++74if object.timer == 35675object.timer = 076object.state++77end if78break7980case CREDITSCONTROL_FADEOUT81if object.timer < 25682if object.timer2 == 2183object.timer += 484else85object.timer += 886end if8788SetScreenFade(0x00, 0x00, 0x00, object.timer)89else90object.timer2++91if object.timer2 == 2292object.state = CREDITSCONTROL_FADEINTOEND93screen.yoffset += 25694else95object.state = CREDITSCONTROL_FADEIN96if specialStage.emeralds >= 0x7F97if object.timer2 == 2198screen.yoffset = 512099screen.yoffset += 1036 // strange way to do it, but alright100else101screen.yoffset += 256102end if103else104screen.yoffset += 256105end if106end if107108SetScreenFade(0x00, 0x00, 0x00, 255)109end if110break111112case CREDITSCONTROL_FADEINTOEND113if object.timer > 0114object.timer -= 8115else116object.alpha = 0x80117object.state++118end if119SetScreenFade(0x00, 0x00, 0x00, object.timer)120break121122case CREDITSCONTROL_SHOWEND123object.timer++124if object.timer == 0x4B0125object.timer = 0126object.state++127end if128129if keyPress[0].start == true130object.timer = 0131object.state++132end if133134if object.timer > 60135CheckTouchRect(0, 0, screen.xsize, screen.ysize)136if checkResult > -1137object.timer = 0138object.state++139end if140end if141break142143case CREDITSCONTROL_FADETOMENU144if object.timer < 256145object.timer += 8146SetScreenFade(0x00, 0x00, 0x00, object.timer)147else148stage.activeList = PRESENTATION_STAGE149stage.listPos = 0150StopMusic()151options.attractMode = false152#platform: USE_STANDALONE153engine.state = 7154#endplatform155#platform: USE_ORIGINS156engine.state = 8157#endplatform158SetScreenFade(0x00, 0x00, 0x00, 0xFF)159#platform: USE_ORIGINS160CallNativeFunction2(NotifyCallback, NOTIFY_STATS_MOVIE, 1)161#endplatform162end if163break164165end switch166167temp0 = screen.xcenter168FlipSign(temp0)169temp0 += 256170screen.xoffset = temp0171end event172173174event ObjectStartup175SetMusicTrack("Credits.ogg", 0, false)176options.touchControls = false177screen.yoffset = -8178foreach (TypeName[Credits Control], arrayPos0, ALL_ENTITIES)179object[arrayPos0].priority = PRIORITY_ACTIVE180next181end event182183184// ========================185// Editor Events186// ========================187188event RSDKDraw189DrawSprite(0)190end event191192193event RSDKLoad194LoadSpriteSheet("Global/Display.gif")195SpriteFrame(-16, -16, 32, 32, 1, 143)196197SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")198end event199200201