Path: blob/master/Sonic 1/Scripts/MZ/HPlatform.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: H Platform Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.centerPos.x1213// Player Aliases14private alias object.xpos : player.xpos151617// ========================18// Function Declarations19// ========================2021reserve function HPlatform_DebugDraw22reserve function HPlatform_DebugSpawn2324private function HPlatform_DebugDraw25DrawSprite(0)26end function272829private function HPlatform_DebugSpawn30CreateTempObject(TypeName[H Platform], 0, object.xpos, object.ypos)31object[tempObjectPos].centerPos.x = object.xpos32object[tempObjectPos].propertyValue = object.direction33end function343536// ========================37// Events38// ========================3940event ObjectUpdate41temp6 = object.xpos42GetTableValue(temp0, 6, StageSetup_oscillationTable)43if object.propertyValue == 144FlipSign(temp0)45temp0 += 0x600046end if47temp0 <<= 848object.xpos = object.centerPos.x49object.xpos -= temp05051temp0 = object.xpos52temp6 &= 0xFFFF000053temp4 = object.xpos54temp4 &= 0xFFFF000055temp4 -= temp656object.xpos = temp65758foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)59BoxCollisionTest(C_PLATFORM, object.entityPos, -40, -16, 40, 0, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)60if checkResult == true61player[currentPlayer].xpos += temp462end if63next64object.xpos = temp065end event666768event ObjectDraw69DrawSprite(0)70end event717273event ObjectStartup74LoadSpriteSheet("MZ/Objects.gif")75SpriteFrame(-48, -16, 96, 32, 159, 322)7677foreach (TypeName[H Platform], arrayPos0, ALL_ENTITIES)78object[arrayPos0].centerPos.x = object[arrayPos0].xpos79next8081SetTableValue(TypeName[H Platform], DebugMode_ObjCount, DebugMode_TypesTable)82SetTableValue(HPlatform_DebugDraw, DebugMode_ObjCount, DebugMode_DrawTable)83SetTableValue(HPlatform_DebugSpawn, DebugMode_ObjCount, DebugMode_SpawnTable)84DebugMode_ObjCount++85end event868788// ========================89// Editor Events90// ========================9192event RSDKEdit93if editor.returnVariable == true94switch editor.variableID95case EDIT_VAR_PROPVAL // property value96checkResult = object.propertyValue97checkResult &= 198break99100case 0 // startDir101checkResult = object.propertyValue102checkResult &= 1103break104105end switch106else107switch editor.variableID108case EDIT_VAR_PROPVAL // property value109object.propertyValue = editor.variableValue110object.propertyValue &= 1111break112113case 0 // startDir114object.propertyValue = editor.variableValue115object.propertyValue &= 1116break117118end switch119end if120end event121122123event RSDKDraw124DrawSprite(0)125end event126127128event RSDKLoad129LoadSpriteSheet("MZ/Objects.gif")130SpriteFrame(-48, -16, 96, 32, 159, 322)131132AddEditorVariable("startDir")133SetActiveVariable("startDir")134AddEnumVariable("Left", 0)135AddEnumVariable("Right", 1)136end event137138139