Path: blob/main/Scripts/R4/ButtonBlocks1.txt
1319 views
//--------------Sonic CD Button Blocks 1 Script---------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value1 : Object.MinHeight6#alias Object.Value2 : Object.YVelocity7#alias Object.Value3 : Object.MaxHeight89// Push Button aliases10#alias Object.PropertyValue : PushButton.Pressed11#alias Object.XPos : PushButton.XPos12#alias Object.YPos : PushButton.YPos1314// HUD alias15#alias Object[24].PropertyValue : HUD.CurrentTimePeriod1617// Gravity18#alias 0 : GRAVITY_GROUND1920// Player Collision21#alias 1 : PLAYER_COL_FLOOR22#alias 4 : PLAYER_COL_ROOF2324// Time Periods25#alias 0 : TIME_PRESENT26#alias 1 : TIME_PAST27#alias 2 : TIME_GOOD_FUTURE28#alias 3 : TIME_BAD_FUTURE293031sub ObjectMain32if PushButton[+1].Pressed == true33if Object.YVelocity > -0x1000034Object.YVelocity -= 0x20035end if36Object.YPos += Object.YVelocity3738if Object.YPos < Object.MaxHeight39Object.YPos = Object.MaxHeight40Object.YVelocity = 041end if42else43if Object.YVelocity < 0x1000044Object.YVelocity += 0x20045end if46Object.YPos += Object.YVelocity4748if Object.YPos > Object.MinHeight49Object.YPos = Object.MinHeight50Object.YVelocity = 051end if52end if5354PushButton[+1].XPos = Object.XPos55PushButton[+1].XPos += 0x1000005657PushButton[+1].YPos = Object.YPos58PushButton[+1].YPos -= 0x48000059end sub606162sub ObjectPlayerInteraction63PlayerObjectCollision(C_BOX, -32, -1, 0, 64)64switch CheckResult65case PLAYER_COL_FLOOR66Player.YPos += 0x1000067break6869case PLAYER_COL_ROOF70if Player.Gravity == GRAVITY_GROUND71CallFunction(Player_Kill)72end if7374end switch7576PlayerObjectCollision(C_BOX, 0, -73, 32, 64)77switch CheckResult78case PLAYER_COL_FLOOR79Player.YPos += 0x1000080break8182case PLAYER_COL_ROOF83if Player.Gravity == GRAVITY_GROUND84CallFunction(Player_Kill)85end if8687end switch88end sub89909192sub ObjectDraw93DrawSprite(0)94DrawSprite(1)95DrawSprite(2)96DrawSprite(3)97DrawSprite(4)98DrawSprite(5)99end sub100101102sub ObjectStartup103switch HUD.CurrentTimePeriod104case TIME_PRESENT105LoadSpriteSheet("R4/Objects.gif")106TempValue0 = 163107TempValue1 = 1108TempValue2 = 196109break110111case TIME_PAST112LoadSpriteSheet("R4/Objects2.gif")113TempValue0 = 1114TempValue1 = 157115TempValue2 = 34116break117118case TIME_GOOD_FUTURE119LoadSpriteSheet("R4/Objects2.gif")120TempValue0 = 1121TempValue1 = 190122TempValue2 = 34123break124125case TIME_BAD_FUTURE126LoadSpriteSheet("R4/Objects2.gif")127TempValue0 = 1128TempValue1 = 223129TempValue2 = 34130break131132end switch133134// R4 Blocks135SpriteFrame(0, -64, 32, 32, TempValue0, TempValue1)136SpriteFrame(0, -32, 32, 32, TempValue0, TempValue1)137SpriteFrame(-32, 0, 32, 32, TempValue0, TempValue1)138SpriteFrame(0, 0, 32, 32, TempValue0, TempValue1)139SpriteFrame(-32, 32, 32, 32, TempValue0, TempValue1)140SpriteFrame(0, 32, 32, 32, TempValue0, TempValue1)141142ArrayPos0 = 32143while ArrayPos0 < 1056144if Object[ArrayPos0].Type == TypeName[Button Blocks 1]145Object[ArrayPos0].MinHeight = Object[ArrayPos0].YPos146Object[ArrayPos0].MaxHeight = Object[ArrayPos0].YPos147Object[ArrayPos0].MaxHeight -= 0x800000148end if149ArrayPos0++150loop151end sub152153154// ========================155// Editor Subs156// ========================157158sub RSDKDraw159DrawSprite(0)160DrawSprite(1)161DrawSprite(2)162DrawSprite(3)163DrawSprite(4)164DrawSprite(5)165end sub166167168sub RSDKLoad169CallFunction(EditorHelpers_FindTimePeriod)170switch CheckResult171case TIME_PRESENT172LoadSpriteSheet("R4/Objects.gif")173TempValue0 = 163174TempValue1 = 1175TempValue2 = 196176break177178case TIME_PAST179LoadSpriteSheet("R4/Objects2.gif")180TempValue0 = 1181TempValue1 = 157182TempValue2 = 34183break184185case TIME_GOOD_FUTURE186LoadSpriteSheet("R4/Objects2.gif")187TempValue0 = 1188TempValue1 = 190189TempValue2 = 34190break191192case TIME_BAD_FUTURE193LoadSpriteSheet("R4/Objects2.gif")194TempValue0 = 1195TempValue1 = 223196TempValue2 = 34197break198199end switch200201// R4 Blocks202SpriteFrame(0, -64, 32, 32, TempValue0, TempValue1)203SpriteFrame(0, -32, 32, 32, TempValue0, TempValue1)204SpriteFrame(-32, 0, 32, 32, TempValue0, TempValue1)205SpriteFrame(0, 0, 32, 32, TempValue0, TempValue1)206SpriteFrame(-32, 32, 32, 32, TempValue0, TempValue1)207SpriteFrame(0, 32, 32, 32, TempValue0, TempValue1)208209SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")210end sub211212213