Path: blob/master/Sonic 1/Scripts/SBZ/CutBridge.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Cutscene Bridge Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer12private alias object.value1 : object.delay1314private alias 0 : CUTBRIDGE_ACTIVE15private alias 1 : CUTBRIDGE_COLLAPSE16private alias 2 : CUTBRIDGE_COLLAPSED17private alias 3 : CUTBRIDGE_NONE18private alias 4 : CUTBRIDGE_TILEDELAY19private alias 5 : CUTBRIDGE_TILEFALL2021// Player Aliases22private alias object.state : player.state23private alias object.gravity : player.gravity24private alias object.animation : player.animation252627// ========================28// Events29// ========================3031event ObjectUpdate32stage.newXBoundary1 = 866033stage.newXBoundary1 -= screen.xcenter3435temp0 = 866036temp0 += screen.xcenter3738if stage.newXBoundary2 > temp039stage.newXBoundary2 = temp040temp0 -= screen.xcenter41temp0 -= screen.xcenter42stage.newXBoundary1 = temp043end if4445object.priority = PRIORITY_ACTIVE46switch object.state47case CUTBRIDGE_ACTIVE48break4950case CUTBRIDGE_COLLAPSE51if object.timer > 052object.timer--53else54temp0 = object.xpos55temp0 -= 0x8000056temp1 = object.ypos57CreateTempObject(TypeName[Cutscene Bridge], 1, temp0, temp1)58object[tempObjectPos].state = CUTBRIDGE_TILEDELAY59object[tempObjectPos].delay = 260temp0 += 0x1000006162CreateTempObject(TypeName[Cutscene Bridge], 2, temp0, temp1)63object[tempObjectPos].state = CUTBRIDGE_TILEDELAY64object[tempObjectPos].delay = 365temp0 -= 0x10000066temp1 += 0x1000006768CreateTempObject(TypeName[Cutscene Bridge], 3, temp0, temp1)69object[tempObjectPos].state = CUTBRIDGE_TILEDELAY70object[tempObjectPos].delay = 071temp0 += 0x1000007273CreateTempObject(TypeName[Cutscene Bridge], 4, temp0, temp1)74object[tempObjectPos].state = CUTBRIDGE_TILEDELAY75object[tempObjectPos].delay = 17677PlaySfx(SfxName[Block Break], false)78object.state++79end if80break8182case CUTBRIDGE_COLLAPSED83if object.timer < 484object.timer++85else86object.timer = 087object.state++88foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)89BoxCollisionTest(C_TOUCH, object.entityPos, -16, -10, 16, 8, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)90if checkResult == true91if player[currentPlayer].gravity == GRAVITY_AIR92player[currentPlayer].animation = ANI_HURT93player[currentPlayer].state = Player_State_Hurt94end if95end if96next97end if98break99100case CUTBRIDGE_NONE101break102103case CUTBRIDGE_TILEDELAY104if object.timer < object.delay105object.timer++106else107object.timer = 0108object.state++109end if110break111112case CUTBRIDGE_TILEFALL113object.ypos += object.yvel114object.yvel += 0x4000115if object.outOfBounds == true116object.type = TypeName[Blank Object]117end if118break119120end switch121122if object.state < CUTBRIDGE_NONE123foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)124BoxCollisionTest(C_PLATFORM, object.entityPos, -16, -8, 16, 8, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)125next126end if127end event128129130event ObjectDraw131switch object.state132default133case CUTBRIDGE_COLLAPSED134case CUTBRIDGE_NONE135break136137case CUTBRIDGE_ACTIVE138case CUTBRIDGE_COLLAPSE139DrawSprite(0)140break141142case CUTBRIDGE_TILEDELAY143case CUTBRIDGE_TILEFALL144DrawSprite(object.propertyValue)145break146147end switch148end event149150151event ObjectStartup152LoadSpriteSheet("SBZ/Objects.gif")153154SpriteFrame(-16, -8, 32, 32, 457, 231)155SpriteFrame(-8, -8, 16, 16, 457, 231)156SpriteFrame(-8, -8, 16, 16, 473, 231)157SpriteFrame(-8, -8, 16, 16, 457, 247)158SpriteFrame(-8, -8, 16, 16, 473, 247)159end event160161162// ========================163// Editor Events164// ========================165166event RSDKDraw167DrawSprite(0)168end event169170171event RSDKLoad172LoadSpriteSheet("SBZ/Objects.gif")173SpriteFrame(-16, -8, 32, 32, 457, 231)174175SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")176end event177178179