Path: blob/master/Sonic 1/Scripts/SBZ/ConveyorWheel.txt
1482 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Conveyor Wheel Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011// Player Aliases12private alias object.state : player.state13private alias object.speed : player.speed14private alias object.gravity : player.gravity151617// ========================18// Function Declarations19// ========================2021reserve function ConveyorWheel_DebugDraw22reserve function ConveyorWheel_DebugSpawn232425// ========================26// Function Definitions27// ========================2829private function ConveyorWheel_DebugDraw30DrawSprite(0)31end function323334private function ConveyorWheel_DebugSpawn35CreateTempObject(TypeName[Conveyor Wheel], 0, object.xpos, object.ypos)36object[tempObjectPos].drawOrder = 537end function383940// ========================41// Events42// ========================4344event ObjectUpdate45// Check interaction with players46foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)47BoxCollisionTest(C_TOUCH, object.entityPos, -64, -64, 64, 64, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)48if checkResult == true49if player[currentPlayer].gravity == GRAVITY_GROUND50if player[currentPlayer].state == Player_State_GlideSlide51player[currentPlayer].state = Player_State_Ground52end if5354if player[currentPlayer].state == Player_State_GlideDrop55player[currentPlayer].state = Player_State_Ground56end if5758if player[currentPlayer].speed < 0x4000059player[currentPlayer].speed = 0x4000060else61if player[currentPlayer].speed > 0xF000062player[currentPlayer].speed = 0xF000063end if64end if65end if66end if67next6869object.angle += 470object.angle &= 0x1FF71end event727374event ObjectDraw75Cos(temp0, object.angle)76temp0 *= 0xC0077temp0 += object.xpos7879Sin(temp1, object.angle)80temp1 *= 0xC0081temp1 += object.ypos8283DrawSpriteXY(0, temp0, temp1)84end event858687event ObjectStartup88LoadSpriteSheet("SBZ/Objects.gif")8990// Wheel frame91SpriteFrame(-7, -7, 14, 14, 65, 123)9293foreach (TypeName[Conveyor Wheel], arrayPos0, ALL_ENTITIES)94object[arrayPos0].drawOrder = 595next9697// Add this object to the debug item list98SetTableValue(TypeName[Conveyor Wheel], DebugMode_ObjCount, DebugMode_TypesTable)99SetTableValue(ConveyorWheel_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)100SetTableValue(ConveyorWheel_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)101DebugMode_ObjCount++102end event103104105// ========================106// Editor Events107// ========================108109event RSDKDraw110DrawSprite(0)111end event112113114event RSDKLoad115LoadSpriteSheet("SBZ/Objects.gif")116SpriteFrame(-7, -7, 14, 14, 65, 123)117118SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")119end event120121122