Path: blob/master/Sonic 1/Scripts/SBZ/TubeCover.txt
1483 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Tube Cover 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.offset.y1314private alias 0 : TUBECOVER_IDLE15private alias 1 : TUBECOVER_STARTUP_DELAY16private alias 2 : TUBECOVER_STARTUP17private alias 3 : TUBECOVER_ACTIVE_DELAY18private alias 4 : TUBECOVER_ACTIVE19private alias 5 : TUBECOVER_ACTIVATED_DELAY20private alias 6 : TUBECOVER_ACTIVATED21private alias 7 : TUBECOVER_MOVING_DELAY22private alias 8 : TUBECOVER_MOVING23private alias 9 : TUBECOVER_FINISHED242526// ========================27// Events28// ========================2930event ObjectUpdate31switch object.state32case TUBECOVER_IDLE33break3435case TUBECOVER_STARTUP36temp1 = object.ypos37temp1 -= 0x20000038CreateTempObject(TypeName[Smoke Puff], 0, object.xpos, temp1)39object[tempObjectPos].drawOrder = 540object.state++41break4243case TUBECOVER_STARTUP_DELAY44case TUBECOVER_ACTIVE_DELAY45case TUBECOVER_ACTIVATED_DELAY46case TUBECOVER_MOVING_DELAY47object.timer++48if object.timer == 1649object.timer = 050object.state++51end if52break5354case TUBECOVER_ACTIVE55temp0 = object.xpos56temp0 -= 0x10000057temp1 = object.ypos58temp1 -= 0x20000059CreateTempObject(TypeName[Smoke Puff], 0, temp0, temp1)60object[tempObjectPos].drawOrder = 561temp0 += 0x2000006263CreateTempObject(TypeName[Smoke Puff], 0, temp0, temp1)64object[tempObjectPos].drawOrder = 565object.state++66break6768case TUBECOVER_ACTIVATED69temp0 = object.xpos70temp0 -= 0x20000071temp1 = object.ypos72temp1 -= 0x2000007374CreateTempObject(TypeName[Smoke Puff], 0, temp0, temp1)75object[tempObjectPos].drawOrder = 576temp0 += 0x4000007778CreateTempObject(TypeName[Smoke Puff], 0, temp0, temp1)79object[tempObjectPos].drawOrder = 580object.state++81break8283case TUBECOVER_MOVING84object.ypos += object.yvel85object.offset.y += object.yvel86object.yvel += 0x28008788object.timer++89if object.timer == 6090object.state++91end if92break9394case TUBECOVER_FINISHED95break9697end switch9899if object.state == TUBECOVER_STARTUP_DELAY100// ???101// This prolly did something at one point, or on one platform, and that prolly made this object more than a fancy decoration102end if103104foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)105BoxCollisionTest(C_SOLID, object.entityPos, -32, -32, 32, 32, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)106next107end event108109110event ObjectDraw111temp0 = object.ypos112temp0 -= object.offset.y113DrawSpriteXY(1, object.xpos, temp0)114DrawSprite(0)115end event116117118event ObjectStartup119LoadSpriteSheet("SBZ/Objects.gif")120SpriteFrame(-32, -32, 64, 64, 317, 339)121SpriteFrame(-32, -8, 32, 40, 2, 472)122123foreach (TypeName[Tube Cover], arrayPos0, ALL_ENTITIES)124object[arrayPos0].drawOrder = 4125next126end event127128129// ========================130// Editor Events131// ========================132133event RSDKDraw134DrawSprite(1)135DrawSprite(0)136end event137138139event RSDKLoad140LoadSpriteSheet("SBZ/Objects.gif")141SpriteFrame(-32, -32, 64, 64, 317, 339)142SpriteFrame(-32, -8, 32, 40, 2, 472)143144SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")145end event146147148