Path: blob/master/Sonic 2/Scripts/WFZ/HPropeller.txt
1478 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: H Propeller 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.ypos : player.ypos14private alias object.xvel : player.xvel15private alias object.yvel : player.yvel16private alias object.speed : player.speed17private alias object.gravity : player.gravity18private alias object.animation : player.animation19private alias object.tileCollisions : player.tileCollisions2021private alias object.value1 : player.timer222324// ========================25// Function Declarations26// ========================2728reserve function HPropeller_DebugDraw29reserve function HPropeller_DebugSpawn303132// ========================33// Function Definitions34// ========================3536private function HPropeller_DebugDraw37DrawSprite(0)38end function394041private function HPropeller_DebugSpawn42CreateTempObject(TypeName[H Propeller], 0, object.xpos, object.ypos)43end function444546// ========================47// Events48// ========================4950event ObjectUpdate51GetTableValue(temp0, 10, StageSetup_oscillationTable)52temp0 >>= 853temp0 -= 1125455foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)56BoxCollisionTest(C_TOUCH, object.entityPos, -64, temp0, 64, 56, currentPlayer, -1, -1, 1, 1)57if checkResult == true58player[currentPlayer].animation = ANI_FANROTATE59#platform: USE_STANDALONE60player[currentPlayer].state = Player_State_Air61#endplatform62#platform: USE_ORIGINS63player[currentPlayer].state = Player_State_Air_NoDropDash64#endplatform65player[currentPlayer].gravity = 166player[currentPlayer].tileCollisions = true67player[currentPlayer].speed = player[currentPlayer].xvel68player[currentPlayer].timer = 069player[currentPlayer].yvel = 07071temp0 <<= 1672temp0 += object.ypos73temp0 -= player[currentPlayer].ypos74temp0 >>= 475player[currentPlayer].ypos += temp076end if77next78end event798081event ObjectDraw82DrawSprite(WFZSetup_hPropellerFrame)8384temp0 = object.ypos85temp0 += 0x10000086DrawSpriteXY(WFZSetup_hPropellerFrame, object.xpos, temp0)87end event888990event ObjectStartup91LoadSpriteSheet("SCZ/Objects.gif")92SpriteFrame(-62, -2, 124, 5, 1, 171)93SpriteFrame(-40, -2, 78, 5, 1, 177)94SpriteFrame(-24, -2, 46, 5, 1, 183)95SpriteFrame(-11, -1, 22, 4, 1, 189)96SpriteFrame(-22, -2, 46, 5, 1, 194)97SpriteFrame(-39, -2, 79, 5, 1, 200)9899foreach (TypeName[H Propeller], arrayPos0, ALL_ENTITIES)100object[arrayPos0].drawOrder = 5101next102103SetTableValue(TypeName[H Propeller], DebugMode_ObjCount, DebugMode_TypesTable)104SetTableValue(HPropeller_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)105SetTableValue(HPropeller_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)106DebugMode_ObjCount++107end event108109110// ========================111// Editor Events112// ========================113114event RSDKDraw115DrawSprite(0)116end event117118119event RSDKLoad120LoadSpriteSheet("SCZ/Objects.gif")121SpriteFrame(-62, -2, 124, 5, 1, 171)122123SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")124end event125126127