Path: blob/main/Scripts/R6/FloorRubble.txt
1319 views
//---------------Sonic CD Floor Rubble Script-----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.RubbleType6#alias Object.Value1 : Object.XVelocity7#alias Object.Value2 : Object.YVelocity8#alias Object.Value3 : Object.FallSpeed910// Property Values11#alias 0 : BIG_RUBBLE12#alias 1 : BIG_RUBBLE_ALT13#alias 2 : RUBBLE_CHUNK_114#alias 3 : RUBBLE_CHUNK_215#alias 4 : RUBBLE_CHUNK_316#alias 5 : RUBBLE_CHUNK_41718// Collision Sides19#alias 0 : CSIDE_FLOOR202122sub ObjectMain23Object.XPos += Object.XVelocity24Object.YVelocity += Object.FallSpeed25Object.YPos += Object.YVelocity2627if Object.PropertyValue == BIG_RUBBLE28ObjectTileCollision(CSIDE_FLOOR, 0, 8, 0)29if CheckResult == true30Object.Type = TypeName[Blank Object]31CreateTempObject(TypeName[Floor Rubble], RUBBLE_CHUNK_1, Object.XPos, Object.YPos)32Object[TempObjectPos].XPos -= 0x4000033Object[TempObjectPos].YPos -= 0x4000034Object[TempObjectPos].XVelocity = -0x1000035Object[TempObjectPos].YVelocity = -0x2800036Object[TempObjectPos].FallSpeed = 0x30003738CreateTempObject(TypeName[Floor Rubble], RUBBLE_CHUNK_2, Object.XPos, Object.YPos)39Object[TempObjectPos].XPos += 0x4000040Object[TempObjectPos].YPos -= 0x4000041Object[TempObjectPos].XVelocity = 0x1000042Object[TempObjectPos].YVelocity = -0x2800043Object[TempObjectPos].FallSpeed = 0x30004445CreateTempObject(TypeName[Floor Rubble], RUBBLE_CHUNK_3, Object.XPos, Object.YPos)46Object[TempObjectPos].XPos -= 0x4000047Object[TempObjectPos].YPos += 0x4000048Object[TempObjectPos].XVelocity = -0x2000049Object[TempObjectPos].YVelocity = -0x1C00050Object[TempObjectPos].FallSpeed = 0x30005152CreateTempObject(TypeName[Floor Rubble], RUBBLE_CHUNK_4, Object.XPos, Object.YPos)53Object[TempObjectPos].XPos += 0x4000054Object[TempObjectPos].YPos += 0x4000055Object[TempObjectPos].XVelocity = 0x2000056Object[TempObjectPos].YVelocity = -0x1C00057Object[TempObjectPos].FallSpeed = 0x300058end if59else60if Object.OutOfBounds == true61Object.Type = TypeName[Blank Object]62end if63end if64end sub656667sub ObjectDraw68if Object.PropertyValue == BIG_RUBBLE69TempValue0 = Object.RubbleType70TempValue0 /= 1071DrawSprite(TempValue0)7273Object.RubbleType++74Object.RubbleType %= 2075else76DrawSprite(Object.PropertyValue)77end if78end sub798081sub ObjectStartup82LoadSpriteSheet("R6/Objects2.gif")8384SpriteFrame(-8, -8, 16, 16, 165, 191) // #0 - Big rubble85SpriteFrame(-8, -8, 16, 16, 181, 191) // #1 - Big rubble alt8687SpriteFrame(-4, -4, 8, 8, 165, 191) // #2 - Rubble chunk 188SpriteFrame(-4, -4, 8, 8, 173, 191) // #3 - Rubble chunk 289SpriteFrame(-4, -4, 8, 8, 165, 199) // #4 - Rubble chunk alt 190SpriteFrame(-4, -4, 8, 8, 173, 199) // #5 - Rubble chunk alt 291end sub929394// ========================95// Editor Subs96// ========================9798sub RSDKDraw99DrawSprite(object.PropertyValue)100end sub101102103sub RSDKLoad104LoadSpriteSheet("R6/Objects2.gif")105SpriteFrame(-8, -8, 16, 16, 165, 191) // #0 - Big rubble106SpriteFrame(-8, -8, 16, 16, 181, 191) // #1 - Big rubble alt107108SpriteFrame(-4, -4, 8, 8, 165, 191) // #2 - Rubble chunk 1109SpriteFrame(-4, -4, 8, 8, 173, 191) // #3 - Rubble chunk 2110SpriteFrame(-4, -4, 8, 8, 165, 199) // #4 - Rubble chunk alt 1111SpriteFrame(-4, -4, 8, 8, 173, 199) // #5 - Rubble chunk alt 2112SetVariableAlias(ALIAS_VAR_PROPVAL, "type")113end sub114115116