objects/oCredits2/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.
oCredits2's step event, 56 lines of GML.
if (keyboard_check_pressed(vk_enter) or keyboard_check_pressed(vk_escape) or checkAttack()){ if (instance_exists(oCamel)) { if (fadeIn) { fadeLevel = 0; } else { if (gamepad.attackPressed) gamepad.attackPressed = false; if (gamepad.startPressed) gamepad.startPressed = false; fadeOut = true; } }}if (instance_exists(oCamel)){ if (oCamel.x <= 160 and not scrollStart) { with oDesertScroll { scroll = true; } alarm[1] = 1; alarm[2] = 20; scrollStart = true; scrolling = true; }}if (fadeIn){ if (fadeLevel > 0) fadeLevel -= 0.1; else { fadeIn = false; alarm[0] = 20; }}else if (fadeOut){ if (fadeLevel < 1) fadeLevel += 0.1; else { stopAllMusic(); scrUpdateHighscores(1); scrClearGlobals(); global.drawHUD = false; global.gameStart = false; room_goto(rHighscores); }}