Path: blob/master/Sonic 2/Scripts/WFZ/Cloud.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Cloud Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Function Declarations9// ========================1011reserve function Cloud_DebugDraw12reserve function Cloud_DebugSpawn131415// ========================16// Function Definitions17// ========================1819private function Cloud_DebugDraw20DrawSprite(0)21end function222324private function Cloud_DebugSpawn25CreateTempObject(TypeName[Cloud], 0, object.xpos, object.ypos)26object[tempObjectPos].drawOrder = 227object[tempObjectPos].xvel = -0xC00028end function293031// ========================32// Events33// ========================3435event ObjectUpdate36object.xpos += object.xvel37object.xpos += WFZSetup_scrollVelocity.x38end event394041event ObjectDraw42DrawSprite(object.propertyValue)43end event444546event ObjectStartup47LoadSpriteSheet("SCZ/Objects.gif")4849// Cloud frames50SpriteFrame(-40, -4, 79, 8, 72, 74)51SpriteFrame(-24, -4, 48, 8, 72, 83)52SpriteFrame(-8, -4, 16, 8, 121, 83)5354foreach (TypeName[Cloud], arrayPos0, ALL_ENTITIES)55object[arrayPos0].drawOrder = 256switch object[arrayPos0].propertyValue57case 058object[arrayPos0].xvel = -0xC00059break6061case 162object[arrayPos0].xvel = -0x800063break6465case 266object[arrayPos0].xvel = -0x400067break6869end switch70next7172SetTableValue(TypeName[Cloud], DebugMode_ObjCount, DebugMode_TypesTable)73SetTableValue(Cloud_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)74SetTableValue(Cloud_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)75DebugMode_ObjCount++76end event777879// ========================80// Editor Events81// ========================8283event RSDKEdit84if editor.returnVariable == true85switch editor.variableID86case EDIT_VAR_PROPVAL // property value87checkResult = object.propertyValue88checkResult %= 389break9091case 0 // frameID92checkResult = object.propertyValue93checkResult %= 394break9596end switch97else98switch editor.variableID99case EDIT_VAR_PROPVAL // property value100object.propertyValue = editor.variableValue101object.propertyValue %= 3102break103104case 0 // frameID105object.propertyValue = editor.variableValue106object.propertyValue %= 3107break108109end switch110end if111end event112113114event RSDKDraw115DrawSprite(object.propertyValue)116end event117118119event RSDKLoad120LoadSpriteSheet("SCZ/Objects.gif")121SpriteFrame(-40, -4, 79, 8, 72, 74)122SpriteFrame(-24, -4, 48, 8, 72, 83)123SpriteFrame(-8, -4, 16, 8, 121, 83)124125AddEditorVariable("frameID")126SetActiveVariable("frameID")127AddEnumVariable("Long Cloud", 0)128AddEnumVariable("Medium Cloud", 1)129AddEnumVariable("Small Cloud", 2)130end event131132133