objects/oRubblePiece/step.gml
From spelunky.gmk, Spelunky Classic 1.1's source, © 2008, 2009 Derek Yu and Mossmouth, LLC, shown whole under the Spelunky User License v1.1b. Extracted by spelunky.ai's tools, an unofficial fan project, one file per script or event; the // ==== lines are the extractor's, naming each action of the event. Some scripts are others' work that Derek Yu credits in the source's readme.txt: Martin Piecyk's platform engine, ChevyRay's view scaling scripts and tsg1zzn's Super Sound System.
oRubblePiece's step event, 30 lines of GML.
x += xVel;y += yVel;yVel += yAcc;if (collision_point(x, y, oWaterSwim, 0, 0)){ if (type == "Drip") instance_destroy(); else if (type == "Leaf") { yVel = 0; sprite_index = sLeafStill; } else yVel = 0.2;}else if (collision_point(x, y, oLava, 0, 0)){ instance_destroy();}if (collision_point(x, y, oSolid, 0, 0)){ instance_destroy();}if (view_enabled){ if (x < view_xview[0] - 32 or x > view_xview[0] + view_wview[0] + 32 or y < view_yview[0] - 32 or y > view_yview[0] + view_hview[0] + 32) { instance_destroy(); }}