Path: blob/master/Sonic 1/Scripts/SBZ/FZIntro.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: FZ Intro Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.targetPlayer1213private alias 0 : FZINTRO_MANAGER14private alias 1 : FZINTRO_INTRO15private alias 2 : FZINTRO_DESTROY1617// Player Aliases18private alias object.state : player.state19private alias object.xpos : player.xpos20private alias object.ypos : player.ypos21private alias object.yvel : player.yvel22private alias object.speed : player.speed23private alias object.gravity : player.gravity24private alias object.direction : player.direction25private alias object.animation : player.animation26private alias object.value26 : player.flightVelocity272829// ========================30// Events31// ========================3233event ObjectUpdate34switch object.state35case FZINTRO_MANAGER36tileLayer[2].scrollPos = 0x80000037hParallax[0].scrollPos = -0x80000038if recAnimation != ANI_STOPPED39temp0 = recAnimation40currentPlayer = 04142// Create a FZ Intro object for each player43while currentPlayer < playerCount44player[currentPlayer].xpos = object.xpos45player[currentPlayer].ypos = object.ypos46CreateTempObject(TypeName[FZ Intro], 0, object.xpos, object.ypos)47object[tempObjectPos].state = FZINTRO_INTRO48object[tempObjectPos].targetPlayer = currentPlayer49object[tempObjectPos].direction = temp050object[tempObjectPos].direction &= 0xFF51temp0 >>= 852object[tempObjectPos].animation = temp053object[tempObjectPos].animation &= 0xFF54temp0 >>= 855player[currentPlayer].yvel = -0x8000056player[currentPlayer].gravity = GRAVITY_AIR57#platform: USE_STANDALONE58player[currentPlayer].state = Player_State_Air59#endplatform60#platform: USE_ORIGINS61player[currentPlayer].state = Player_State_Air_NoDropDash62#endplatform63currentPlayer++64loop65recAnimation = 066end if6768object.type = TypeName[Blank Object]69temp0 = stage.newYBoundary270temp0 -= screen.ysize71stage.newYBoundary1 = temp072break7374case FZINTRO_INTRO75currentPlayer = object.targetPlayer7677player[currentPlayer].direction = object.direction78player[currentPlayer].animation = object.animation7980if player[currentPlayer].animation == ANI_JUMPING81#platform: USE_STANDALONE82player[currentPlayer].state = Player_State_Air83#endplatform84#platform: USE_ORIGINS85player[currentPlayer].state = Player_State_Air_NoDropDash86#endplatform87object.state = FZINTRO_DESTROY88end if8990if player[currentPlayer].animation == ANI_FLYING91player[currentPlayer].state = Player_State_Fly92player[currentPlayer].flightVelocity = 0x80093player[currentPlayer].yvel >>= 294object.state = FZINTRO_DESTROY95end if9697if player[currentPlayer].animation == ANI_GLIDING98if player[currentPlayer].direction == FACING_LEFT99player[currentPlayer].state = Player_State_GlideLeft100else101player[currentPlayer].state = Player_State_GlideRight102end if103104object.state = FZINTRO_DESTROY105end if106107if player[currentPlayer].animation == ANI_GLIDING_DROP108player[currentPlayer].state = Player_State_GlideDrop109object.state = FZINTRO_DESTROY110end if111112if object.state != FZINTRO_DESTROY113#platform: USE_STANDALONE114player[currentPlayer].state = Player_State_Air115#endplatform116#platform: USE_ORIGINS117player[currentPlayer].state = Player_State_Air_NoDropDash118#endplatform119player[currentPlayer].direction = FACING_RIGHT120player[currentPlayer].animation = ANI_BOUNCING121object.state = FZINTRO_DESTROY122end if123break124125case FZINTRO_DESTROY126object.type = TypeName[Blank Object]127break128129end switch130end event131132133// ========================134// Editor Events135// ========================136137event RSDKDraw138DrawSprite(0)139end event140141142event RSDKLoad143LoadSpriteSheet("Global/Display.gif")144SpriteFrame(-16, -16, 32, 32, 1, 143)145146SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")147end event148149150