Path: blob/main/Scripts/R1/HPlatform.txt
1319 views
//---------------Sonic CD Horz Platform Script----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.OnObject6#alias Object.Value1 : Object.Timer7#alias Object.Value2 : Object.XVelocity8#alias Object.Value3 : Object.OffSetXPos9#alias Object.Value4 : Object.YVelocity10#alias Object.Value5 : Object.Angle1112// Property Values13#alias 0 : START_MOVING_LEFT14#alias 1 : START_MOVING_RIGHT151617sub ObjectMain18Object.Angle = Oscillation19Object.Angle <<= 12021if Object.PropertyValue == START_MOVING_RIGHT22Object.Angle += 25623end if2425Cos(Object.XVelocity, Object.Angle)26Object.XVelocity *= 0x180027Object.XVelocity += Object.XPos28Object.XVelocity &= 0xFFFF0000 // Truncate the value29Object.XVelocity -= Object.OffSetXPos3031if Object.OnObject == true32// Loss a bit of height when stepped33if Object.Timer < 1634Object.Timer++35TempValue0 = Object.Timer36TempValue0 &= 337if TempValue0 == 338Object.YVelocity = 0x1000039else40Object.YVelocity = 041end if42else43Object.YVelocity = 044end if45else46// Restore original YPos47if Object.Timer > 048Object.Timer--49TempValue0 = Object.Timer50TempValue0 &= 351if TempValue0 == 352Object.YVelocity = -0x1000053else54Object.YVelocity = 055end if56else57Object.YVelocity = 058end if59end if60Object.OnObject = false61end sub626364sub ObjectPlayerInteraction65TempValue0 = Object.XPos66Object.XPos = Object.OffSetXPos6768PlayerObjectCollision(C_PLATFORM, -32, -9, 32, 12)69if CheckResult == true70Object.OnObject = true71Player.XPos += Object.XVelocity72Player.YPos += Object.YVelocity73end if7475Object.XPos = TempValue076end sub777879sub ObjectDraw80Cos(Object.OffSetXPos, Object.Angle)81Object.OffSetXPos *= 0x180082Object.OffSetXPos += Object.XPos83Object.OffSetXPos &= 0xFFFF0000 // Truncate the value8485Object.YPos += Object.YVelocity86DrawSpriteXY(0, Object.OffSetXPos, Object.YPos)87end sub888990sub ObjectStartup91LoadSpriteSheet("R1/Objects.gif")9293SpriteFrame(-32, -16, 64, 32, 101, 109) // #0 - Horizontal Platform94end sub959697// ========================98// Editor Subs99// ========================100101sub RSDKEdit102if Editor.ReturnVariable == true103switch Editor.VariableID104case EDIT_VAR_PROPVAL // Property Value105CheckResult = Object.PropertyValue106CheckResult &= 1107break108case 0 // type109CheckResult = Object.PropertyValue110CheckResult &= 1111break112end switch113else114switch Editor.VariableID115case EDIT_VAR_PROPVAL // Property Value116Object.PropertyValue = Editor.VariableValue117Object.PropertyValue &= 1118break119case 0 // type120Object.PropertyValue = Editor.VariableValue121Object.PropertyValue &= 1122break123end switch124end if125end sub126127128sub RSDKDraw129DrawSprite(0)130end sub131132133sub RSDKLoad134LoadSpriteSheet("R1/Objects.gif")135SpriteFrame(-32, -16, 64, 32, 101, 109) // #0 - Horizontal Platform136137AddEditorVariable("startDir")138SetActiveVariable("startDir")139AddEnumVariable("Left", 0)140AddEnumVariable("Right", 1)141end sub142143144