Path: blob/master/Sonic 2/Scripts/EHZ/Waterfall.txt
1479 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Waterfall Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value17 : debugMode.currentSelection121314// ========================15// Function Declarations16// ========================1718reserve function Waterfall_DebugDraw19reserve function Waterfall_DebugSpawn202122// ========================23// Static Values24// ========================2526private value Waterfall_startDebugID = 0272829// ========================30// Function Definitions31// ========================3233private function Waterfall_DebugDraw34temp0 = debugMode[0].currentSelection35temp0 -= Waterfall_startDebugID36DrawSprite(temp0)37end function383940private function Waterfall_DebugSpawn41temp0 = debugMode[0].currentSelection42temp0 -= Waterfall_startDebugID43CreateTempObject(TypeName[Waterfall], temp0, object.xpos, object.ypos)44object[tempObjectPos].inkEffect = INK_ALPHA45object[tempObjectPos].alpha = 0xA046object[tempObjectPos].drawOrder = 547end function484950// ========================51// Events52// ========================5354event ObjectUpdate55// Empty :(56end event575859event ObjectDraw60DrawSpriteFX(object.propertyValue, FX_INK, object.xpos, object.ypos)61end event626364event ObjectStartup65CheckCurrentStageFolder("Zone01")66if checkResult == true67LoadSpriteSheet("EHZ/Objects.gif")6869// Top 1 Frame70SpriteFrame(-32, -128, 64, 16, 192, 0)7172// Huge with Top Frame73SpriteFrame(-32, -128, 64, 256, 192, 0)7475// Blank 1 Frame76SpriteFrame(0, 0, 1, 1, 1, 1)7778// Small Frame79SpriteFrame(-32, -32, 64, 64, 192, 16)8081// Blank 2 Frame82SpriteFrame(0, 0, 1, 1, 1, 1)8384// Medium Frame85SpriteFrame(-32, -64, 64, 160, 192, 16)8687// Top 2 Frame88SpriteFrame(-32, -128, 64, 16, 192, 0)8990// Medium Higher with Top Frame91SpriteFrame(-32, -128, 64, 192, 192, 0)9293// Medium 2 Frame94SpriteFrame(-32, -32, 64, 96, 192, 64)95else96LoadSpriteSheet("MBZ/Objects.gif")9798// Top 1 Frame99SpriteFrame(-32, -128, 64, 16, 1, 435)100101// Huge with Top Frame102SpriteFrame(-32, -128, 64, 256, 1, 435)103104// Blank 1 Frame105SpriteFrame(0, 0, 1, 1, 1, 1)106107// Small Frame108SpriteFrame(-32, -32, 64, 64, 1, 451)109110// Blank 2 Frame111SpriteFrame(0, 0, 1, 1, 1, 1)112113// Medium Frame114SpriteFrame(-32, -64, 64, 160, 1, 451)115116// Top 2 Frame117SpriteFrame(-32, -128, 64, 16, 1, 435)118119// Medium Higher with Top Frame120SpriteFrame(-32, -128, 64, 192, 1, 435)121122// Medium 2 Frame123SpriteFrame(-32, -32, 64, 96, 1, 499)124end if125126// (yeah these names are kinda weird but hey, if that's what they're officially called in S2 3.0.1's leftover dev files then we may as well stick with them)127128foreach (TypeName[Waterfall], arrayPos0, ALL_ENTITIES)129object[arrayPos0].inkEffect = INK_ALPHA130object[arrayPos0].alpha = 0xA0131object[arrayPos0].drawOrder = 5132next133134temp0 = 0135Waterfall_startDebugID = DebugMode_ObjCount136while temp0 < 8137SetTableValue(TypeName[Waterfall], DebugMode_ObjCount, DebugMode_TypesTable)138SetTableValue(Waterfall_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)139SetTableValue(Waterfall_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)140DebugMode_ObjCount++141temp0++142loop143end event144145146// ========================147// Editor Events148// ========================149150event RSDKEdit151if editor.returnVariable == true152switch editor.variableID153case EDIT_VAR_PROPVAL // property value154checkResult = object.propertyValue155checkResult %= 9156break157158end switch159else160switch editor.variableID161case EDIT_VAR_PROPVAL // property value162object.propertyValue = editor.variableValue163object.propertyValue %= 9164break165166end switch167end if168end event169170171event RSDKDraw172object.inkEffect = INK_ALPHA173object.alpha = 0xA0174DrawSpriteFX(object.propertyValue, FX_INK, object.xpos, object.ypos)175end event176177178event RSDKLoad179CheckCurrentStageFolder("Zone01")180if checkResult == true181LoadSpriteSheet("EHZ/Objects.gif")182SpriteFrame(-32, -128, 64, 16, 192, 0)183SpriteFrame(-32, -128, 64, 256, 192, 0)184SpriteFrame(0, 0, 1, 1, 1, 1)185SpriteFrame(-32, -32, 64, 64, 192, 16)186SpriteFrame(0, 0, 1, 1, 1, 1)187SpriteFrame(-32, -64, 64, 160, 192, 16)188SpriteFrame(-32, -128, 64, 16, 192, 0)189SpriteFrame(-32, -128, 64, 192, 192, 0)190SpriteFrame(-32, -32, 64, 96, 192, 64)191else192LoadSpriteSheet("MBZ/Objects.gif")193SpriteFrame(-32, -128, 64, 16, 1, 435)194SpriteFrame(-32, -128, 64, 256, 1, 435)195SpriteFrame(0, 0, 1, 1, 1, 1)196SpriteFrame(-32, -32, 64, 64, 1, 451)197SpriteFrame(0, 0, 1, 1, 1, 1)198SpriteFrame(-32, -64, 64, 160, 1, 451)199SpriteFrame(-32, -128, 64, 16, 1, 435)200SpriteFrame(-32, -128, 64, 192, 1, 435)201SpriteFrame(-32, -32, 64, 96, 1, 499)202end if203204SetVariableAlias(ALIAS_VAR_PROPVAL, "frameID")205end event206207208