Path: blob/master/Sonic 1/Scripts/LZ/Waterfall.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Waterfall Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011// Player Aliases12private alias object.value17 : debugMode.currentSelection131415// ========================16// Function Declarations17// ========================1819reserve function Waterfall_DebugDraw20reserve function Waterfall_DebugSpawn212223// ========================24// Static Values25// ========================2627private value Waterfall_startDebugID = 0282930// ========================31// Function Definitions32// ========================3334private function Waterfall_DebugDraw35temp0 = debugMode[0].currentSelection36temp0 -= Waterfall_startDebugID3738DrawSpriteFX(temp0, FX_FLIP, object.xpos, object.ypos)39end function404142private function Waterfall_DebugSpawn43temp0 = debugMode[0].currentSelection44temp0 -= Waterfall_startDebugID4546CreateTempObject(TypeName[Waterfall], temp0, object.xpos, object.ypos)47object[tempObjectPos].direction = object.direction48object[tempObjectPos].drawOrder = 449if object[tempObjectPos].propertyValue == 950object[tempObjectPos].frame = 951end if52end function535455// ========================56// Events57// ========================5859event ObjectUpdate60if object.propertyValue == 961if object.state == 162temp0 = stage.waterLevel63temp0 -= 1664object.iypos = temp065end if6667object.animationTimer++68if object.animationTimer == 669object.animationTimer = 070object.frame++71if object.frame == 1272object.frame = 973end if74end if75end if76end event777879event ObjectDraw80if object.propertyValue < 981DrawSpriteFX(object.propertyValue, FX_FLIP, object.xpos, object.ypos)82else83DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)84end if85end event868788event ObjectStartup89LoadSpriteSheet("LZ/Objects.gif")90SpriteFrame(-5, -16, 13, 32, 191, 140)91SpriteFrame(-10, -4, 22, 12, 61, 38)92SpriteFrame(-6, -4, 14, 12, 117, 90)93SpriteFrame(0, -4, 8, 12, 132, 90)94SpriteFrame(-6, -4, 14, 12, 117, 103)95SpriteFrame(0, -4, 8, 12, 132, 103)96SpriteFrame(0, -4, 8, 12, 191, 76)97SpriteFrame(-8, -16, 16, 32, 240, 223)98SpriteFrame(-24, -8, 46, 16, 158, 173)99SpriteFrame(-20, -16, 39, 32, 118, 161)100SpriteFrame(-22, -12, 41, 28, 117, 194)101SpriteFrame(-24, -16, 47, 32, 159, 190)102103foreach (TypeName[Waterfall], arrayPos0, ALL_ENTITIES)104object[arrayPos0].drawOrder = 4105if object[arrayPos0].propertyValue == 9106object[arrayPos0].frame = 9107end if108next109110temp0 = 0111Waterfall_startDebugID = DebugMode_ObjCount112while temp0 < 10113SetTableValue(TypeName[Waterfall], DebugMode_ObjCount, DebugMode_TypesTable)114SetTableValue(Waterfall_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)115SetTableValue(Waterfall_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)116DebugMode_ObjCount++117temp0++118loop119end event120121122// ========================123// Editor Events124// ========================125126event RSDKEdit127if editor.returnVariable == true128switch editor.variableID129case EDIT_VAR_PROPVAL // property value130checkResult = object.propertyValue131checkResult %= 10132break133134case 0 // frameID135checkResult = object.propertyValue136checkResult %= 10137break138139case 0 // matchSurface140checkResult = object.state141break142143end switch144else145switch editor.variableID146case EDIT_VAR_PROPVAL // property value147object.propertyValue = editor.variableValue148object.propertyValue %= 10149break150151case 0 // frameID152object.propertyValue = editor.variableValue153object.propertyValue %= 10154break155156case 1 // matchSurface157CheckNotEqual(editor.variableValue, false)158object.state = checkResult159break160161end switch162end if163end event164165166event RSDKDraw167DrawSpriteFX(object.propertyValue, FX_FLIP, object.xpos, object.ypos)168end event169170171event RSDKLoad172LoadSpriteSheet("LZ/Objects.gif")173SpriteFrame(-5, -16, 13, 32, 191, 140)174SpriteFrame(-10, -4, 22, 12, 61, 38)175SpriteFrame(-6, -4, 14, 12, 117, 90)176SpriteFrame(0, -4, 8, 12, 132, 90)177SpriteFrame(-6, -4, 14, 12, 117, 103)178SpriteFrame(0, -4, 8, 12, 132, 103)179SpriteFrame(0, -4, 8, 12, 191, 76)180SpriteFrame(-8, -16, 16, 32, 240, 223)181SpriteFrame(-24, -8, 46, 16, 158, 173)182SpriteFrame(-20, -16, 39, 32, 118, 161)183SpriteFrame(-22, -12, 41, 28, 117, 194)184SpriteFrame(-24, -16, 47, 32, 159, 190)185186AddEditorVariable("frameID")187SetActiveVariable("frameID")188AddEnumVariable("Frame 0", 0)189AddEnumVariable("Frame 1", 1)190AddEnumVariable("Frame 2", 2)191AddEnumVariable("Frame 3", 3)192AddEnumVariable("Frame 4", 4)193AddEnumVariable("Frame 5", 5)194AddEnumVariable("Frame 6", 6)195AddEnumVariable("Frame 7", 7)196AddEnumVariable("Frame 8", 8)197AddEnumVariable("Splash", 9)198199AddEditorVariable("matchSurface")200SetActiveVariable("matchSurface")201AddEnumVariable("False", 0)202AddEnumVariable("True", 1)203end event204205206