Path: blob/master/Sonic 2/Scripts/HTZ/LiftEnd.txt
1478 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Lift End Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Function Declarations9// ========================1011reserve function LiftEnd_DebugDraw12reserve function LiftEnd_DebugSpawn131415// ========================16// Function Definitions17// ========================1819private function LiftEnd_DebugDraw20temp0 = object.direction21temp0 &= 122DrawSprite(temp0)23end function242526private function LiftEnd_DebugSpawn27CreateTempObject(TypeName[Lift End], 0, object.xpos, object.ypos)28object[tempObjectPos].drawOrder = 429object[tempObjectPos].propertyValue = object.direction30object[tempObjectPos].propertyValue &= 131end function323334// ========================35// Events36// ========================3738event ObjectDraw39DrawSprite(object.propertyValue)40end event414243event ObjectStartup44CheckCurrentStageFolder("Zone05")45if checkResult == true46LoadSpriteSheet("HTZ/Objects.gif")4748SpriteFrame(-8, -56, 16, 80, 174, 96) // Start Post - #049SpriteFrame(-8, -54, 16, 78, 174, 177) // End Post - #150SpriteFrame(-8, -24, 16, 16, 126, 123) // Start Ground Cover - #251SpriteFrame(-9, -24, 16, 16, 108, 123) // End Ground Cover - #352else53LoadSpriteSheet("MBZ/Objects.gif")5455SpriteFrame(-8, -56, 16, 80, 34, 867) // Start Post - #056SpriteFrame(-8, -54, 16, 78, 51, 869) // End Post - #15758// An odd set of frames59// While understandably empty, since MBZ doesn't have uneven ground to need these anyway,60// the data for these frames loosely aligns with HTZ's section of the MBZ sheet61SpriteFrame(-8, -24, 0, 0, 92, 888) // Start Ground Cover - #262SpriteFrame(-9, -24, 0, 0, 92, 888) // End Ground Cover - #363end if6465foreach (TypeName[Lift End], arrayPos0, ALL_ENTITIES)66object[arrayPos0].drawOrder = 467next6869SetTableValue(TypeName[Lift End], DebugMode_ObjCount, DebugMode_TypesTable)70SetTableValue(LiftEnd_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)71SetTableValue(LiftEnd_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)72DebugMode_ObjCount++73end event747576// ========================77// Editor Events78// ========================7980event RSDKEdit81if editor.returnVariable == true82switch editor.variableID83case EDIT_VAR_PROPVAL // property value84checkResult = object.propertyValue85break8687case 0 // displaySprite88checkResult = object.propertyValue89checkResult &= 390break9192end switch93else94switch editor.variableID95case EDIT_VAR_PROPVAL // property value96object.propertyValue = editor.variableValue97break9899case 0 // displaySprite100object.propertyValue = editor.variableValue101object.propertyValue &= 3102break103104end switch105end if106end event107108109event RSDKDraw110DrawSprite(object.propertyValue)111end event112113114event RSDKLoad115CheckCurrentStageFolder("Zone05")116if checkResult == true117LoadSpriteSheet("HTZ/Objects.gif")118SpriteFrame(-8, -56, 16, 80, 174, 96) // Start Post - #0119SpriteFrame(-8, -54, 16, 78, 174, 177) // End Post - #1120SpriteFrame(-8, -24, 16, 16, 126, 123) // Start Ground Cover - #2121SpriteFrame(-9, -24, 16, 16, 108, 123) // End Ground Cover - #3122else123LoadSpriteSheet("MBZ/Objects.gif")124SpriteFrame(-8, -56, 16, 80, 34, 867) // Start Post - #0125SpriteFrame(-8, -54, 16, 78, 51, 869) // End Post - #1126127// May as well keep these last two frames anyway128SpriteFrame(-8, -24, 0, 0, 92, 888) // Start Ground Cover - #2129SpriteFrame(-9, -24, 0, 0, 92, 888) // End Ground Cover - #3130end if131132AddEditorVariable("displaySprite")133SetActiveVariable("displaySprite")134AddEnumVariable("Start Post", 0)135AddEnumVariable("End Post", 1)136AddEnumVariable("Start Ground", 2)137AddEnumVariable("End Ground", 3)138end event139140141