Path: blob/master/Sonic 2/Scripts/SCZ/Cloud.txt
1478 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 ObjectUpdate36if SCZSetup_scrollVelocity.x != 037object.xpos += object.xvel38object.xpos += SCZSetup_scrollVelocity.x39end if40end event414243event ObjectDraw44DrawSprite(object.propertyValue)45end event464748event ObjectStartup49LoadSpriteSheet("SCZ/Objects.gif")5051// Cloud frames52SpriteFrame(-40, -4, 79, 8, 72, 74)53SpriteFrame(-24, -4, 48, 8, 72, 83)54SpriteFrame(-8, -4, 16, 8, 121, 83)5556foreach (TypeName[Cloud], arrayPos0, ALL_ENTITIES)5758object[arrayPos0].drawOrder = 259switch object[arrayPos0].propertyValue60case 061object[arrayPos0].xvel = -0xC00062break6364case 165object[arrayPos0].xvel = -0x800066break6768case 269object[arrayPos0].xvel = -0x400070break7172end switch73next7475// Add Clouds to the stage's debug object list76SetTableValue(TypeName[Cloud], DebugMode_ObjCount, DebugMode_TypesTable)77SetTableValue(Cloud_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)78SetTableValue(Cloud_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)79DebugMode_ObjCount++80end event818283// ========================84// Editor Events85// ========================8687event RSDKEdit88if editor.returnVariable == true89switch editor.variableID90case EDIT_VAR_PROPVAL // property value91checkResult = object.propertyValue92checkResult %= 393break9495case 0 // frameID96checkResult = object.propertyValue97checkResult %= 398break99100end switch101else102switch editor.variableID103case EDIT_VAR_PROPVAL // property value104object.propertyValue = editor.variableValue105object.propertyValue %= 3106break107108case 0 // frameID109object.propertyValue = editor.variableValue110object.propertyValue %= 3111break112113end switch114end if115end event116117118event RSDKDraw119DrawSprite(object.propertyValue)120end event121122123event RSDKLoad124LoadSpriteSheet("SCZ/Objects.gif")125126// Cloud frames127SpriteFrame(-40, -4, 79, 8, 72, 74)128SpriteFrame(-24, -4, 48, 8, 72, 83)129SpriteFrame(-8, -4, 16, 8, 121, 83)130131AddEditorVariable("frameID")132SetActiveVariable("frameID")133AddEnumVariable("Long Cloud", 0)134AddEnumVariable("Medium Cloud", 1)135AddEnumVariable("Small Cloud", 2)136end event137138139