objects/oLevel/create.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.
oLevel's create event, 44 lines of GML.
oScreen.enabled = true;global.drawHUD = true;global.gameStart = true;global.shake = 0;shakeSwitch = false;musicFade = false;musicFadeTimer = 0;global.xviewPrev = 0global.yviewPrev = 0;global.xmoney = 0;global.xtime = 0;global.ghostExists = false;if (global.darkLevel) darkness = 1;else darkness = 0;global.darknessLerp = 0;if (global.music){ startMusic();}if (instance_exists(oPlayer1)){ with oPlayer1 { scrHoldItem(global.pickupItem); holdItem.cost = 0; if (global.kaliPunish >= 2) { instance_create(x, y, oBall); obj = instance_create(x, y, oChain); obj.linkVal = 1; obj = instance_create(x, y, oChain); obj.linkVal = 2; obj = instance_create(x, y, oChain); obj.linkVal = 3; obj = instance_create(x, y, oChain); obj.linkVal = 4; } }}