From 32b299bde6ea845339447035216c9d2dd115c759 Mon Sep 17 00:00:00 2001 From: Alex Kulcsar <38046796+alex-kulcsar@users.noreply.github.com> Date: Fri, 21 Jun 2024 23:11:56 -0400 Subject: [PATCH] 2.0.0 --- .gitattributes | 5 + .github/workflows/makecode-release.yml | 63 + assets/index.html | 106 + assets/js/binary.js | 42332 +++++++++++++++++++++++ assets/js/custom.js | 11 + assets/js/loader.js | 169 + assets/version.txt | 1 + index.html | 187 + pxt.json | 2 +- 9 files changed, 42875 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 .github/workflows/makecode-release.yml create mode 100644 assets/index.html create mode 100644 assets/js/binary.js create mode 100644 assets/js/custom.js create mode 100644 assets/js/loader.js create mode 100644 assets/version.txt create mode 100644 index.html diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..872cb24 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +index.html linguist-generated=true +assets/index.html linguist-generated=true +assets/js/loader.js linguist-generated=true +assets/js/binary.js linguist-generated=true +assets/version.txt linguist-generated=true diff --git a/.github/workflows/makecode-release.yml b/.github/workflows/makecode-release.yml new file mode 100644 index 0000000..63802b9 --- /dev/null +++ b/.github/workflows/makecode-release.yml @@ -0,0 +1,63 @@ +name: MakeCode Arcade Release + +on: + release: + types: + - created +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [8.x] + + steps: + - uses: actions/checkout@v1 + - name: install node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: install makecode + run: | + npm install -g pxt + pxt target arcade + - name: build js + run: | + pxt clean + pxt install + pxt build --cloud + - name: build D51 + continue-on-error: true + run: | + pxt clean + pxt install --hw samd51 + pxt build --hw samd51 --cloud + cp ./built/binary.uf2 binary-d51.uf2 + - name: build F4 + continue-on-error: true + run: | + pxt clean + pxt install --hw stm32f401 + pxt build --hw stm32f401 --cloud + cp ./built/binary.uf2 binary-f4.uf2 + - name: build P0 + continue-on-error: true + run: | + pxt clean + pxt install --hw rpi + pxt build --hw rpi --cloud + cp ./built/binary.uf2 binary-p0.uf2 + - name: bundle all + run: | + cat binary-*.uf2 > built/arcade.uf2 + - name: upload bundled + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./built/arcade.uf2 + asset_name: arcade.uf2 + asset_content_type: application/octet-stream \ No newline at end of file diff --git a/assets/index.html b/assets/index.html new file mode 100644 index 0000000..41e85c8 --- /dev/null +++ b/assets/index.html @@ -0,0 +1,106 @@ + + + + + + + + + + +
+
+
+ + + + + + + + + +
+ +
+ + + diff --git a/assets/js/binary.js b/assets/js/binary.js new file mode 100644 index 0000000..162f9d9 --- /dev/null +++ b/assets/js/binary.js @@ -0,0 +1,42332 @@ +// meta={"simUrl":"https://trg-arcade.userpxt.io/v1.12.53/---simulator","cdnUrl":"https://pxt.azureedge.net","version":"2.0.0","target":"arcade","targetVersion":"1.12.53","repo":"robo-technical-group/acey-deucey"} +// total=1256004 new=5.84% cached=88.50% other=5.66% +(function (ectx) { +'use strict'; +const runtime = ectx.runtime; +const oops = ectx.oops; +const doNothing = ectx.doNothing; +const pxsim = ectx.pxsim; +const globals = ectx.globals; +const maybeYield = ectx.maybeYield; +const setupDebugger = ectx.setupDebugger; +const isBreakFrame = ectx.isBreakFrame; +const breakpoint = ectx.breakpoint; +const trace = ectx.trace; +const checkStack = ectx.checkStack; +const leave = ectx.leave; +const checkResumeConsumed = ectx.checkResumeConsumed; +const setupResume = ectx.setupResume; +const setupLambda = ectx.setupLambda; +const checkSubtype = ectx.checkSubtype; +const failedCast = ectx.failedCast; +const buildResume = ectx.buildResume; +const mkVTable = ectx.mkVTable; +const bind = ectx.bind; +const leaveAccessor = ectx.leaveAccessor; +const __this = runtime; +const pxtrt = pxsim.pxtrt; +let yieldSteps = 1; +ectx.setupYield(function() { yieldSteps = 100; }) +pxsim.setTitle("acey-deucey"); +pxsim.setConfigData({ + "37": 160, + "38": 120 +}, { + "DISPLAY_WIDTH": 37, + "DISPLAY_HEIGHT": 38 +}); +pxtrt.mapKeyNames = [ + "", + "__draw", + "__drawCore", + "__preUpdate", + "__update", + "__visible", + "_action", + "_ax", + "_ay", + "_col", + "_connected", + "_controlledSprites", + "_data", + "_destroyCore", + "_dt", + "_factory", + "_fx", + "_fy", + "_height", + "_hitbox", + "_id", + "_image", + "_kind", + "_kindsOverlappedWith", + "_lastUpdatedSpriteX", + "_lastUpdatedSpriteY", + "_lastX", + "_lastY", + "_layer", + "_layers", + "_map", + "_millis", + "_obstacles", + "_offsetX", + "_offsetY", + "_overlappers", + "_owner", + "_player", + "_pressed", + "_pressedElasped", + "_prune", + "_repeatCount", + "_row", + "_scale", + "_sprites", + "_sx", + "_sy", + "_text", + "_update", + "_vx", + "_vy", + "_width", + "_x", + "_y", + "_z", + "action", + "activeCard", + "add", + "addShape", + "addSprite", + "alignX", + "alignY", + "allSprites", + "analog", + "anchor", + "applyTo", + "areaHeight", + "areaWidth", + "ax", + "ay", + "background", + "basicCard", + "bgColor", + "bottom", + "buckets", + "button", + "buttonEventHandlers", + "buttons", + "cachedTileView", + "cachedVx", + "cachedVy", + "calcDimensionalHash", + "callback", + "camera", + "canResolveClipping", + "card", + "cardSpacing", + "cardWidth", + "cardsPerRow", + "cardsTop", + "cellHeight", + "cellWidth", + "change", + "charHeight", + "charWidth", + "clear", + "clearObstacles", + "collisionHandlers", + "color", + "column", + "columnCount", + "condition", + "connected", + "constrain", + "contains", + "controlledSprites", + "controllerConnectionState", + "createMovingSprite", + "createParticle", + "createdHandlers", + "data", + "defaultLifespan", + "defaultRate", + "deltaTime", + "deltaTimeMillis", + "destroy", + "destroyHandler", + "destroyedHandlers", + "dispose", + "distance", + "down", + "draw", + "drawDebug", + "drawOffsetX", + "drawOffsetY", + "drawParticle", + "drawSay", + "drawSprite", + "drawText", + "dx", + "dy", + "effect", + "effectSetByUser", + "eid", + "enabled", + "event", + "eventContext", + "fastRandom", + "fgColor", + "flags", + "followingSprites", + "frameCallbacks", + "frameWorker", + "framesInSample", + "fx", + "fy", + "galois", + "gameForeverHandlers", + "generator", + "getObstacle", + "getOrCreateHandlerForEvent", + "getText", + "getTile", + "getTileImage", + "getTileIndex", + "handler", + "handlerState", + "handlers", + "hash", + "head", + "headerFont", + "headerText", + "height", + "icon", + "iconImage", + "id", + "idleCallbacks", + "image", + "img", + "infoFont", + "infoTop", + "init", + "insertAABB", + "insertAtKey", + "isObstacle", + "isOnWall", + "isOutOfScreen", + "isOutsideMap", + "isPressed", + "isScaled", + "isStatic", + "isUpdated", + "isValid", + "isWall", + "key", + "kind", + "lastPerfDump", + "layer", + "layers", + "left", + "length", + "lfsr", + "lifespan", + "loseEffect", + "loseMessage", + "loseSound", + "loseSoundLooping", + "map", + "maxLifespan", + "maxNegativeVelocity", + "maxSingleStep", + "maxSpeed", + "maxStep", + "maxVelocity", + "melody", + "mergeAtKey", + "messageSetByUser", + "millis", + "minAngle", + "minLifespan", + "minSingleStep", + "minStep", + "move", + "moveSprite", + "multiplier", + "neighbors", + "next", + "offsetX", + "offsetY", + "onEvent", + "onUpdate", + "once", + "options", + "order", + "overlapHandlers", + "overlapMap", + "overlaps", + "overlapsWith", + "ox", + "oy", + "pFlags", + "padding", + "parent", + "particleSources", + "period", + "physicsEngine", + "pickRandom", + "playerIndex", + "position", + "preferredDelay", + "pressureLevel", + "prevTimeMillis", + "previousScene", + "priority", + "raiseButtonDown", + "raiseButtonRepeat", + "raiseButtonUp", + "randomRange", + "recalcSize", + "register", + "registerFrameCallbacks", + "registerFrameHandler", + "registerHandler", + "registerObstacle", + "remove", + "removeSprite", + "render", + "renderable", + "repeatDelay", + "repeatInterval", + "repeatX", + "repeatY", + "resetHitbox", + "resizeBuckets", + "right", + "row", + "rowCount", + "runButtonEvents", + "runCallbacks", + "runningCallbacks", + "s", + "sayEndTime", + "sayRenderer", + "scale", + "scene", + "sceneDefaultRate", + "scoringType", + "scoringTypeSetByUser", + "screenEdgeCollisions", + "scrollOffset", + "scrollRow", + "scrollTarget", + "seed", + "selectedCard", + "selection", + "setAcceleration", + "setAnchor", + "setDirection", + "setFactory", + "setFlag", + "setHitbox", + "setImage", + "setKind", + "setOffset", + "setPressed", + "setRate", + "setRelativeToCamera", + "setSelection", + "setSpeed", + "setState", + "setTheme", + "shakeAmplitude", + "shakeDuration", + "shakeStartTime", + "shouldBeVisible", + "show", + "soundSetByUser", + "source", + "sourceFactory", + "sources", + "speed", + "spread", + "sprite", + "spriteCollisions", + "spriteNextId", + "sprites", + "spritesByKind", + "src", + "start", + "state", + "stopped", + "sx", + "sy", + "system", + "text", + "theme", + "tileIndex", + "tileMap", + "tileOverlapHandlers", + "tileSet", + "tilemapCollisions", + "tilemapOverlaps", + "tileset", + "timeInSample", + "timeOut", + "timer", + "times", + "toString", + "top", + "unregister", + "up", + "update", + "updateCard", + "updateIfInvalid", + "updateParticle", + "updateScrollTarget", + "user", + "value", + "vid", + "vx", + "vy", + "wallCollisionHandlers", + "width", + "winEffect", + "winMessage", + "winMessageMultiplayer", + "winSound", + "winSoundLooping", + "x", + "xOffset", + "xRange", + "xStep", + "y", + "yOffset", + "yRange", + "yStep", + "z" +]; +__this.setupPerfCounters([]); +const pxsim_Array__getAt = pxsim.Array_.getAt; +const pxsim_Array__length = pxsim.Array_.length; +const pxsim_Array__mk = pxsim.Array_.mk; +const pxsim_Array__push = pxsim.Array_.push; +const pxsim_Boolean__bang = pxsim.Boolean_.bang; +const pxsim_String__concat = pxsim.String_.concat; +const pxsim_String__stringConv = pxsim.String_.stringConv; +const pxsim_numops_toBool = pxsim.numops.toBool; +const pxsim_numops_toBoolDecr = pxsim.numops.toBoolDecr; +const pxsim_pxtcore_mkAction = pxsim.pxtcore.mkAction; +const pxsim_pxtcore_mkClassInstance = pxsim.pxtcore.mkClassInstance; +const pxsim_pxtrt_ldlocRef = pxsim.pxtrt.ldlocRef; +const pxsim_pxtrt_mapGetByString = pxsim.pxtrt.mapGetByString; +const pxsim_pxtrt_stclo = pxsim.pxtrt.stclo; +const pxsim_pxtrt_stlocRef = pxsim.pxtrt.stlocRef; +const pxsim_Boolean_ = pxsim.Boolean_; +const pxsim_pxtcore = pxsim.pxtcore; +const pxsim_String_ = pxsim.String_; +const pxsim_ImageMethods = pxsim.ImageMethods; +const pxsim_Array_ = pxsim.Array_; +const pxsim_pxtrt = pxsim.pxtrt; +const pxsim_numops = pxsim.numops; + + +function _main___P807632(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + globals._intervals___794072 = (undefined); + globals._pollEventQueue___794081 = (undefined); + globals.minPriority___790063 = (1); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P794084); + globals.listeners___794085 = (s.tmp_0); + globals.globalVolume___794138 = (null); + globals.playToneID___794145 = (0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C791315_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P791318_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = "~15 e3:3 r:1 d#:3 r:1 d:4 r:1 c#:8"; + s.callLocIdx = 0; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + globals.wawawawaa___791336 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C791315_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P791318_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = "g4:1 c5 e g:2 e:1 g:3"; + s.callLocIdx = 1; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + globals.powerUp___791339 = (s.tmp_0); + globals.brightness___791640 = (100); + r0 = pxsim_pxtrt.mkMap(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charWidth", 6); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charHeight", 8); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex797565); + globals.font8___791664 = (s.tmp_0); + r0 = pxsim_pxtrt.mkMap(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charWidth", 12); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charHeight", 12); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex797567); + globals.font12___791665 = (s.tmp_0); + r0 = pxsim_pxtrt.mkMap(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charWidth", 6); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "charHeight", 5); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "data", _hex799417); + globals.font5___791669 = (s.tmp_0); + globals.__updated___794252 = (false); + r0 = pxsim.control.runInParallel(control___screen_inline__P794255); + r0 = pxsim_pxtcore.setPalette(_hex794266); + r0 = pxsim_pxtcore.getConfig(2102, 160); + s.tmp_0 = r0; + r0 = pxsim_pxtcore.getConfig(2103, 120); + s.tmp_1 = r0; + r0 = pxsim.image.create(s.tmp_0, s.tmp_1); + globals.screen___791721 = (r0); + s.tmp_0 = control___screen_setupUpdate__P791683_mk(s); + s.tmp_0.arg0 = _screen_internal_inline__P794275; + s.callLocIdx = 6; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + globals.control_EventContext_onStats___790086 = (_screen_internal_inline__P794280); + globals.RUN_KEY___794285 = ("#run"); + globals.SCOPE_KEY___794286 = ("#scope"); + s.tmp_0 = settings_initScopes__P794297_mk(s); + s.callLocIdx = 7; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 5; + s.tmp_1.arg2 = 4; + s.callLocIdx = 8; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + globals.A___791802 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 6; + s.tmp_1.arg2 = 5; + s.callLocIdx = 9; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + globals.B___791803 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 1; + s.tmp_1.arg2 = 47; + s.callLocIdx = 10; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + globals.left___791804 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 2; + s.tmp_1.arg2 = 49; + s.callLocIdx = 11; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + globals.up___791805 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 3; + s.tmp_1.arg2 = 48; + s.callLocIdx = 12; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + globals.right___791806 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 4; + s.tmp_1.arg2 = 50; + s.callLocIdx = 13; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + globals.down___791807 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 7; + s.tmp_1.arg2 = 51; + s.callLocIdx = 14; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + globals.menu___791808 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C791823_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Controller_constructor__P791827_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 2; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 15; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + globals.player2___791809 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C791823_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Controller_constructor__P791827_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 3; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 16; s.pc = 13; return s.tmp_1; + case 13: + r0 = s.retval; + globals.player3___791810 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C791823_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Controller_constructor__P791827_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 4; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 17; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + globals.player4___791811 = (s.tmp_0); + s.tmp_0 = controller__player1__P791817_mk(s); + s.callLocIdx = 18; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + globals.player1___791812 = (r0); + s.tmp_0 = game_addScenePopHandler__P792709_mk(s); + s.tmp_0.arg0 = controller_inline__P794325; + s.callLocIdx = 23; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.tmp_0 = game_addScenePushHandler__P792707_mk(s); + s.tmp_0.arg0 = controller_inline__P794365; + s.callLocIdx = 25; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(controller_AnyButton__C794389_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P791884_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 0; + s.tmp_1.arg2 = -1; + s.callLocIdx = 26; s.pc = 18; return s.tmp_1; + case 18: + r0 = s.retval; + globals.anyButton___791859 = (s.tmp_0); + globals._userEventsEnabled___794403 = (true); + globals.defaultRepeatDelay___794405 = (500); + globals.defaultRepeatInterval___794407 = (30); + s.tmp_0 = SpriteKind_create__P792168_mk(s); + s.callLocIdx = 27; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + globals.Player___792169 = (r0); + s.tmp_0 = SpriteKind_create__P792168_mk(s); + s.callLocIdx = 28; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + globals.Food___792171 = (r0); + s.tmp_0 = SpriteKind_create__P792168_mk(s); + s.callLocIdx = 29; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + globals.Enemy___792172 = (r0); + r0 = (0.1 * 256); + s.tmp_0 = r0; + r0 = (s.tmp_0 | 0); + globals.MIN_MOVE_GAP___792210 = (r0); + globals.infoState___794472 = (undefined); + s.tmp_0 = game_addScenePushHandler__P792707_mk(s); + s.tmp_0.arg0 = info_inline__P794476; + s.callLocIdx = 31; s.pc = 22; return s.tmp_0; + case 22: + r0 = s.retval; + s.tmp_0 = game_addScenePopHandler__P792709_mk(s); + s.tmp_0.arg0 = info_inline__P794491; + s.callLocIdx = 35; s.pc = 23; return s.tmp_0; + case 23: + r0 = s.retval; + r0 = pxsim_Array__mk(); + globals.scene_Scene_initializers___792554 = (r0); + r0 = pxsim.image.ofBuffer(_hex794581); + globals.img_trophy_sm___794582 = (r0); + r0 = pxsim.image.ofBuffer(_hex794584); + globals.img_trophy_lg___794585 = (r0); + r0 = pxsim.image.ofBuffer(_hex794587); + globals.img_sleepy_sim___794588 = (r0); + globals.debug___792656 = (false); + globals.stats___792657 = (false); + globals.gameOverConfig___792687 = (gameOverConfig_inline__P794600); + s.tmp_0 = scene_systemMenu_initVolume__P794874_mk(s); + s.callLocIdx = 37; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_initScreen__P794875_mk(s); + s.callLocIdx = 38; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + r0 = pxsim_Array__push(globals.scene_Scene_initializers___792554, scene_systemMenu_register__P792795); + r0 = pxsim.image.ofBuffer(_hex794882); + globals.CARD_NORMAL___792800 = (r0); + r0 = pxsim.image.ofBuffer(_hex794884); + globals.CARD_SELECTED___792801 = (r0); + r0 = pxsim.image.ofBuffer(_hex794886); + globals.CARD_ACTIVE___792802 = (r0); + r0 = pxsim.image.ofBuffer(_hex794888); + globals.VOLUME_UP_ICON___792803 = (r0); + r0 = pxsim.image.ofBuffer(_hex794890); + globals.BRIGHTNESS_DOWN_ICON___792804 = (r0); + r0 = pxsim.image.ofBuffer(_hex794892); + globals.CLOSE_MENU_ICON___792805 = (r0); + r0 = pxsim.image.ofBuffer(_hex794894); + globals.VOLUME_DOWN_ICON___792806 = (r0); + r0 = pxsim.image.ofBuffer(_hex794896); + globals.SLEEP_ICON___792807 = (r0); + r0 = pxsim.image.ofBuffer(_hex794898); + globals.CONSOLE_ICON___792808 = (r0); + r0 = pxsim.image.ofBuffer(_hex794900); + globals.BRIGHTNESS_UP_ICON___792809 = (r0); + r0 = pxsim.image.ofBuffer(_hex794902); + globals.STATS_ICON___792810 = (r0); + globals.consoleColor___794905 = (1); + globals.tabSize___794908 = (8); + globals.consoleFont___794914 = (globals.font5___791669); + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_2 = r0; + s.tmp_5 = if_charHeight_1_mk(s); + s.tmp_5.arg0 = globals.consoleFont___794914; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "charHeight"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["charHeight"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["charHeight"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 39; s.pc = 26; return s.tmp_5; } + } + case 26: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 + 2); + s.tmp_3 = r0; + r0 = (s.tmp_2 / s.tmp_3); + s.tmp_1 = r0; + r0 = pxsim.Math_.floor(s.tmp_1); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + globals.consoleLines___794919 = (r0); + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 8); + s.tmp_1 = r0; + s.tmp_4 = if_charWidth_1_mk(s); + s.tmp_4.arg0 = globals.consoleFont___794914; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 40; s.pc = 27; return s.tmp_4; } + } + case 27: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 / s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim.Math_.floor(s.tmp_0); + globals.consoleColumns___794929 = (r0); + s.tmp_0 = console_addListener__P790071_mk(s); + s.tmp_0.arg0 = game_consoleOverlay_listener__P794941; + s.callLocIdx = 41; s.pc = 28; return s.tmp_0; + case 28: + r0 = s.retval; + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = MAX_SOURCES_inline__P802852; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 43; s.pc = 29; return s.tmp_0; + case 29: + r0 = s.retval; + globals.MAX_SOURCES___794943 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C792880_VT); + s.tmp_0 = r0; + s.tmp_1 = particles_SprayFactory_constructor__P792881_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 20; + s.tmp_1.arg2 = 0; + s.tmp_1.arg3 = 60; + s.callLocIdx = 44; s.pc = 30; return s.tmp_1; + case 30: + r0 = s.retval; + globals.defaultFactory___792860 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C792748_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P792750_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 45; s.pc = 31; return s.tmp_1; + case 31: + r0 = s.retval; + globals.galois___794963 = (s.tmp_0); + globals.angleSlice___794971 = (0.06283185307179587); + r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C792955_VT); + s.tmp_0 = r0; + s.tmp_1 = effects_ScreenEffect_constructor__P792956_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 10; + s.tmp_1.arg2 = 40; + s.tmp_1.arg3 = 4000; + s.tmp_1.arg4 = confetti_inline__P802606; + s.callLocIdx = 51; s.pc = 32; return s.tmp_1; + case 32: + r0 = s.retval; + globals.confetti___792963 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C792979_VT); + s.tmp_0 = r0; + s.tmp_1 = effects_ImageEffect_constructor__P792980_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 100; + s.tmp_1.arg2 = dissolve_inline__P800395; + s.callLocIdx = 57; s.pc = 33; return s.tmp_1; + case 33: + r0 = s.retval; + globals.dissolve___792984 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C792979_VT); + s.tmp_0 = r0; + s.tmp_1 = effects_ImageEffect_constructor__P792980_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 125; + s.tmp_1.arg2 = melt_inline__P802552; + s.callLocIdx = 60; s.pc = 34; return s.tmp_1; + case 34: + r0 = s.retval; + globals.melt___792985 = (s.tmp_0); + s.tmp_0 = game_setWaitAnyButton__P792689_mk(s); + s.tmp_0.arg0 = controller_pauseUntilAnyButtonIsPressed__P791894; + s.callLocIdx = 61; s.pc = 35; return s.tmp_0; + case 35: + r0 = s.retval; + s.tmp_0 = game_eventContext__P792691_mk(s); + s.callLocIdx = 62; s.pc = 36; return s.tmp_0; + case 36: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +_main___P807632.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"main.ts","functionName":"
","argumentNames":[]} +_main___P807632.continuations = [ ] + +function _main___P807632_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _main___P807632, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, +} } + +const _hex797565 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800") +const _hex797567 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000") +const _hex799417 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000") +const _hex794266 = pxsim.BufferMethods.createBufferFromHex("000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000") +const _hex794581 = pxsim.BufferMethods.createBufferFromHex("870407000800000000000000404400005055040450555505505501011011000000000000") +const _hex794584 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000050050000000000000550000000005045444404000000455544444400040045555555550404004555555555450500455555555511050045555555150101004555111111000100501511110100000000000550000000000000500500000000000000000000000000000000000000") +const _hex794587 = pxsim.BufferMethods.createBufferFromHex("870410001000000000000000000000000000000000000000006666666666060060ffffff666f660060fffffff6ff660060fff1ff666f660060fff1ff6666660060fffff16666660060fffff16666660060fff1ff6666660060fff1ff66f6660060ffffff6666660060fffffff6666600006666666666060000000000000000000000000000000000") +const _hex794882 = pxsim.BufferMethods.createBufferFromHex("8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000") +const _hex794884 = pxsim.BufferMethods.createBufferFromHex("8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000") +const _hex794886 = pxsim.BufferMethods.createBufferFromHex("8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000") +const _hex794888 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex794890 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex794892 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex794894 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex794896 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex794898 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex794900 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex794902 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") + + + + +function control___screen_inline__P794255(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + case 1: + r0 = pxsim_numops_toBoolDecr(true); + if (!r0) { step = 4; continue; } + globals.__updated___794252 = (false); + s.tmp_0 = pause__P790101_mk(s); + s.tmp_0.arg0 = 200; + s.callLocIdx = 2; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals.__updated___794252); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_2 = control___screen_update__P791682_mk(s); + s.callLocIdx = 3; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + globals.__updated___794252 = (true); + case 2: + case 3: + { step = 1; continue; } + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control___screen_inline__P794255.info = {"start":396,"length":211,"line":17,"column":26,"endLine":26,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"inline","argumentNames":[]} + +function control___screen_inline__P794255_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___screen_inline__P794255, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function _screen_internal_inline__P794275(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_pxtcore.updateScreen(globals.screen___791721); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +_screen_internal_inline__P794275.info = {"start":1122,"length":26,"line":32,"column":33,"endLine":32,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]} + +function _screen_internal_inline__P794275_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _screen_internal_inline__P794275, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function _screen_internal_inline__P794280(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore.updateStats(s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +_screen_internal_inline__P794280.info = {"start":1185,"length":56,"line":33,"column":35,"endLine":35,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]} + +function _screen_internal_inline__P794280_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _screen_internal_inline__P794280, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_inline__P794325(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.stateWhenPushed___794326 = undefined; + s.i___794332 = undefined; + s.p___794338 = undefined; + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 19; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + r0 = r0.fields["controllerConnectionState"]; + s.stateWhenPushed___794326 = (r0); + r0 = pxsim_numops_toBoolDecr(s.stateWhenPushed___794326); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 11; continue; } + case 1: + case 2: + s.i___794332 = (0); + case 3: + s.tmp_1 = r0 = s.i___794332; + r0 = pxsim_Array__length(s.stateWhenPushed___794326); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 10; continue; } + r0 = pxsim_Array__getAt(globals._players___794323, s.i___794332); + s.p___794338 = (r0); + s.tmp_0 = r0 = s.p___794338; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 4; continue; } + r0 = s.tmp_0; + { step = 5; continue; } + case 4: + r0 = pxsim_Array__getAt(s.stateWhenPushed___794326, s.i___794332); + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = s.p___794338.fields["_connected"]; + s.tmp_10 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_10); + s.tmp_9 = r0; + r0 = pxsim_Boolean__bang(s.tmp_9); + s.tmp_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + s.tmp_7 = r0; + r0 = pxsim_Boolean__bang(s.tmp_7); + s.tmp_6 = r0; + r0 = (s.tmp_1 != s.tmp_6); + case 5: + // jmp value (already in r0) + s.tmp_11 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_11); + if (!r0) { step = 8; continue; } + r0 = s.p___794338.fields["_connected"]; + s.tmp_12 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_12); + if (!r0) { step = 6; continue; } + r0 = 1; + { step = 7; continue; } + case 6: + r0 = 2; + case 7: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = s.p___794338.fields["_id"]; + s.tmp_14 = r0; + r0 = pxsim.control.raiseEvent(s.tmp_14, s.tmp_13); + case 8: + case 9: + r0 = (s.i___794332 + 1); + s.i___794332 = (r0); + { step = 3; continue; } + case 10: + case 11: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_inline__P794325.info = {"start":344,"length":582,"line":15,"column":28,"endLine":30,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]} + +function controller_inline__P794325_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_inline__P794325, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + stateWhenPushed___794326: undefined, + i___794332: undefined, + p___794338: undefined, +} } + + + + + +function controller_inline__P794365(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.i___794370 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["controllerConnectionState"] = (s.tmp_1); + s.i___794370 = (0); + case 1: + s.tmp_1 = r0 = s.i___794370; + r0 = pxsim_Array__length(globals._players___794323); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(globals._players___794323, s.i___794370); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 2; continue; } + r0 = s.arg0.fields["controllerConnectionState"]; + s.tmp_4 = r0; + s.tmp_5 = r0 = s.i___794370; + r0 = pxsim_Array__getAt(globals._players___794323, s.i___794370); + s.tmp_7 = r0; + r0 = s.tmp_7.fields["_connected"]; + s.tmp_6 = r0; + r0 = pxsim_Array_.setAt(s.tmp_4, s.tmp_5, s.tmp_6); + case 2: + case 3: + r0 = (s.i___794370 + 1); + s.i___794370 = (r0); + { step = 1; continue; } + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_inline__P794365.info = {"start":957,"length":254,"line":31,"column":29,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["oldScene"]} + +function controller_inline__P794365_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_inline__P794365, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + i___794370: undefined, + arg0: undefined, +} } + + + + + +function info_inline__P794476(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals.infoState___794472); + if (!r0) { step = 3; continue; } + r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___794474); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals.infoStateStack___794474 = (r0); + case 1: + case 2: + r0 = pxsim_pxtrt.mkMap(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___794472); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0); + r0 = pxsim_Array__push(globals.infoStateStack___794474, s.tmp_0); + globals.infoState___794472 = (undefined); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_inline__P794476.info = {"start":2619,"length":259,"line":94,"column":29,"endLine":103,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["oldScene"]} + +function info_inline__P794476_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_inline__P794476, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function info_inline__P794491(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___794492 = undefined; + s.nextState___794501 = undefined; + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 32; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.scene___794492 = (r0); + globals.infoState___794472 = (undefined); + s.tmp_0 = r0 = globals.infoStateStack___794474; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_Array__length(globals.infoStateStack___794474); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 5; continue; } + r0 = pxsim_Array_.pop(globals.infoStateStack___794474); + s.nextState___794501 = (r0); + s.tmp_2 = if_scene_1_mk(s); + s.tmp_2.arg0 = s.nextState___794501; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "scene"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["scene"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["scene"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 33; s.pc = 8; return s.tmp_2; } + } + case 8: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.scene___794492); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_3 = if_state_1_mk(s); + s.tmp_3.arg0 = s.nextState___794501; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "state"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["state"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["state"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 34; s.pc = 9; return s.tmp_3; } + } + case 9: + r0 = s.retval; + globals.infoState___794472 = (r0); + { step = 4; continue; } + case 3: + r0 = pxsim_Array__push(globals.infoStateStack___794474, s.nextState___794501); + case 4: + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_inline__P794491.info = {"start":2910,"length":376,"line":105,"column":28,"endLine":116,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]} + +function info_inline__P794491_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_inline__P794491, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + scene___794492: undefined, + nextState___794501: undefined, +} } + + + + + +function gameOverConfig_inline__P794600(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals._gameOverConfig___794599); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtcore_mkClassInstance(game_GameOverConfig__C792662_VT); + s.tmp_2 = r0; + s.tmp_3 = game_GameOverConfig_constructor__P792677_mk(s); + s.tmp_3.arg0 = s.tmp_2; + s.callLocIdx = 36; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + globals._gameOverConfig___794599 = (s.tmp_2); + case 1: + case 2: + r0 = globals._gameOverConfig___794599; + return leave(s, r0) + default: oops() +} } } +gameOverConfig_inline__P794600.info = {"start":3714,"length":115,"line":107,"column":34,"endLine":110,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]} + +function gameOverConfig_inline__P794600_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: gameOverConfig_inline__P794600, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + + + + + +function game_eventContext__P792691(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = game_init__P794615_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 943; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals._scene___794607.fields["eventContext"]; + return leave(s, r0) + default: oops() +} } } +game_eventContext__P792691.info = {"start":4442,"length":112,"line":136,"column":4,"endLine":139,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"eventContext","argumentNames":[]} + +function game_eventContext__P792691_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_eventContext__P792691, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function game_init__P794615(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals._scene___794607); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkClassInstance(scene_Scene__C792532_VT); + s.tmp_3 = r0; + s.tmp_4 = scene_Scene_constructor__P792555_mk(s); + s.tmp_4.arg0 = s.tmp_3; + s.tmp_5 = control_pushEventContext__P790097_mk(s); + s.callLocIdx = 944; s.pc = 6; return s.tmp_5; + case 6: + r0 = s.retval; + s.tmp_4.arg1 = r0; + s.tmp_4.arg2 = globals._scene___794607; + s.callLocIdx = 945; s.pc = 5; return s.tmp_4; + case 5: + r0 = s.retval; + globals._scene___794607 = (s.tmp_3); + case 3: + case 4: + s.tmp_0 = scene_Scene_init__P792556_mk(s); + s.tmp_0.arg0 = globals._scene___794607; + s.callLocIdx = 946; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_init__P794615.info = {"start":4560,"length":194,"line":141,"column":4,"endLine":146,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":["forceNewScene"]} + +function game_init__P794615_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_init__P794615, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, +} } + + + + + +function scene_Scene_init__P792556(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C792532_VT)) failedCast(r0); + r0 = s.arg0.fields["allSprites"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_1 = power_poke__P791618_mk(s); + s.callLocIdx = 907; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["allSprites"] = (s.tmp_1); + r0 = (s.arg0).fields["spriteNextId"] = (0); + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P796675); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P790091_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 8; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 910; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0 = control_EventContext_registerFrameHandler__P790091_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 13; + s.tmp_0.arg2 = controller__moveSprites__P791822; + s.callLocIdx = 911; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P796699); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P790091_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 15; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 913; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P796712); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P790091_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 55; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 917; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P796733); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P790091_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 90; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 919; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P796741); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P790091_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 150; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 923; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + s.tmp_0 = control_EventContext_registerFrameHandler__P790091_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 200; + s.tmp_0.arg2 = control___screen_update__P791682; + s.callLocIdx = 924; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = multiplayer_initServer__P793077_mk(s); + s.callLocIdx = 925; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = multiplayer_initPlayerConnectionListeners__P793078_mk(s); + s.callLocIdx = 926; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P796772); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + s.tmp_1.arg0 = globals.scene_Scene_initializers___792554; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 928; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init__P792556.info = {"start":4432,"length":2572,"line":127,"column":8,"endLine":187,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"init","argumentNames":["this"]} + +function scene_Scene_init__P792556_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init__P792556, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function scene_Scene_init_inline__P796675(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = r0 = s.caps[0]; + r0 = s.tmp_0.fields["_millis"]; + s.tmp_2 = r0; + r0 = s.caps[0].fields["eventContext"]; + r0 = r0.fields["deltaTimeMillis"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_millis"] = (s.tmp_1); + s.tmp_0 = controller___update__P791854_mk(s); + r0 = s.caps[0].fields["eventContext"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["deltaTimeMillis"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 / 1000); + s.tmp_0.arg0 = r0; + s.callLocIdx = 909; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P796675.info = {"start":4722,"length":217,"line":134,"column":72,"endLine":138,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P796675_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P796675, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + + + + + +function scene_Scene_init_inline__P796699(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = PhysicsEngine__C792200_v4_2_mk(s); + r0 = s.caps[0].fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + r0 = s.caps[0].fields["eventContext"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["deltaTimeMillis"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 / 1000); + s.tmp_0.arg1 = r0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C792200_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.move; + s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P796699.info = {"start":5234,"length":159,"line":143,"column":69,"endLine":146,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P796699_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P796699, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function scene_Scene_init_inline__P796712(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.dt___796713 = undefined; + s.s___796721 = undefined; + s.unnamed16786___U2 = undefined; + s.unnamed16787___U3 = undefined; + r0 = s.caps[0].fields["eventContext"]; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["deltaTimeMillis"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 / 1000); + s.dt___796713 = (r0); + s.tmp_0 = scene_Camera_update__P792487_mk(s); + r0 = s.caps[0].fields["camera"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 915; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.s___796721 = (undefined); + r0 = s.caps[0].fields["allSprites"]; + s.unnamed16786___U2 = (r0); + s.unnamed16787___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16787___U3; + r0 = pxsim_Array__length(s.unnamed16786___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed16786___U2, s.unnamed16787___U3); + s.s___796721 = (r0); + s.tmp_2 = if___update_3_mk(s); + s.tmp_2.arg0 = s.s___796721; + r0 = s.caps[0].fields["camera"]; + s.tmp_2.arg1 = r0; + s.tmp_2.arg2 = s.dt___796713; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__update"), 3); + s.callLocIdx = 916; s.pc = 4; return s.tmp_2; + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__update"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["__update"], 3); s.callLocIdx = 916; s.pc = 4; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 916; s.pc = 4; return s.tmp_2;; } + else { s.callLocIdx = 916; s.pc = 4; return s.tmp_2; } + } + case 4: + r0 = s.retval; + r0 = (s.unnamed16787___U3 + 1); + s.unnamed16787___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed16786___U2 = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P796712.info = {"start":5582,"length":214,"line":152,"column":79,"endLine":158,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P796712_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P796712, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + dt___796713: undefined, + s___796721: undefined, + unnamed16786___U2: undefined, + unnamed16787___U3: undefined, +} } + + + + + +function scene_Scene_init_inline__P796733(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_Scene_render__P792561_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 918; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P796733.info = {"start":5937,"length":109,"line":163,"column":76,"endLine":166,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P796733_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P796733, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_Scene_init_inline__P796741(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = r0 = globals.stats___792657; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = globals.control_EventContext_onStats___790086; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + s.tmp_2 = lambda_2_mk(s); + s.tmp_2.argL = globals.control_EventContext_onStats___790086; + if ((globals.control_EventContext_lastStats___790085) && (globals.control_EventContext_lastStats___790085).vtable) { + setupResume(s, 8); + pxsim_String__stringConv(globals.control_EventContext_lastStats___790085); + checkResumeConsumed(); + return; + } else { s.retval = (globals.control_EventContext_lastStats___790085) + ""; } + case 8: + r0 = s.retval; + s.tmp_3 = r0; + r0 = s.caps[0].fields["allSprites"]; + s.tmp_8 = r0; + r0 = pxsim_Array__length(s.tmp_8); + s.tmp_7 = r0; + if ((s.tmp_7) && (s.tmp_7).vtable) { + setupResume(s, 9); + pxsim_String__stringConv(s.tmp_7); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_7) + ""; } + case 9: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_String__concat(" sprites:", s.tmp_6); + s.tmp_5 = r0; + if ((s.tmp_5) && (s.tmp_5).vtable) { + setupResume(s, 10); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } + case 10: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_4); + s.tmp_2.arg0 = r0; + setupLambda(s.tmp_2, s.tmp_2.argL); + s.callLocIdx = 920; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_numops_toBoolDecr(globals.debug___792656); + if (!r0) { step = 5; continue; } + s.tmp_0 = PhysicsEngine__C792200_v3_1_mk(s); + r0 = s.caps[0].fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C792200_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw; + s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + case 5: + case 6: + s.tmp_0 = game_consoleOverlay_draw__P792816_mk(s); + s.callLocIdx = 921; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = power_checkDeepSleep__P791619_mk(s); + s.callLocIdx = 922; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P796741.info = {"start":6163,"length":504,"line":168,"column":80,"endLine":180,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P796741_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P796741, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, +} } + + + + + +function scene_Scene_init_inline__P796772(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = lambda_2_mk(s); + s.tmp_0.argL = s.arg0; + s.tmp_0.arg0 = s.caps[0]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 927; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P796772.info = {"start":6980,"length":12,"line":186,"column":39,"endLine":186,"endColumn":51,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["f"]} + +function scene_Scene_init_inline__P796772_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P796772, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function multiplayer_initPlayerConnectionListeners__P793078(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.p___796792 = undefined; + s.p___796792 = (1); + case 1: + r0 = (s.p___796792 <= 4); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = multiplayer_registerPlayerConnectionListeners__P795063_mk(s); + s.tmp_1.arg0 = s.p___796792; + s.callLocIdx = 1278; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.p___796792 + 1); + s.p___796792 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +multiplayer_initPlayerConnectionListeners__P793078.info = {"start":1324,"length":154,"line":39,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"initPlayerConnectionListeners","argumentNames":[]} + +function multiplayer_initPlayerConnectionListeners__P793078_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: multiplayer_initPlayerConnectionListeners__P793078, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + p___796792: undefined, +} } + + + + + +function multiplayer_registerPlayerConnectionListeners__P795063(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore_mkAction(1, multiplayer_registerPlayerConnectionListeners_inline__P796804); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_onEvent__P790079_mk(s); + s.tmp_1.arg0 = 3241; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.tmp_0; + s.tmp_1.arg3 = 16; + s.callLocIdx = 1280; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, multiplayer_registerPlayerConnectionListeners_inline__P796810); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_onEvent__P790079_mk(s); + s.tmp_1.arg0 = 3242; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.tmp_0; + s.tmp_1.arg3 = 16; + s.callLocIdx = 1282; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +multiplayer_registerPlayerConnectionListeners__P795063.info = {"start":1484,"length":415,"line":45,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"registerPlayerConnectionListeners","argumentNames":["playerNumber"]} + +function multiplayer_registerPlayerConnectionListeners__P795063_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: multiplayer_registerPlayerConnectionListeners__P795063, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function multiplayer_registerPlayerConnectionListeners_inline__P796804(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = multiplayer_receiveConnectionChangedEvent__P795064_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = true; + s.callLocIdx = 1279; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +multiplayer_registerPlayerConnectionListeners_inline__P796804.info = {"start":1656,"length":55,"line":49,"column":12,"endLine":49,"endColumn":67,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} + +function multiplayer_registerPlayerConnectionListeners_inline__P796804_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: multiplayer_registerPlayerConnectionListeners_inline__P796804, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function multiplayer_registerPlayerConnectionListeners_inline__P796810(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = multiplayer_receiveConnectionChangedEvent__P795064_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = false; + s.callLocIdx = 1281; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +multiplayer_registerPlayerConnectionListeners_inline__P796810.info = {"start":1826,"length":56,"line":54,"column":12,"endLine":54,"endColumn":68,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} + +function multiplayer_registerPlayerConnectionListeners_inline__P796810_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: multiplayer_registerPlayerConnectionListeners_inline__P796810, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function multiplayer_receiveConnectionChangedEvent__P795064(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.c___796815 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0); + if (r0) { step = 4; continue; } + r0 = s.tmp_0; + { step = 5; continue; } + case 1: + s.c___796815 = (globals.player1___791812); + { step = 5; continue; } + case 2: + s.c___796815 = (globals.player2___791809); + { step = 5; continue; } + case 3: + s.c___796815 = (globals.player3___791810); + { step = 5; continue; } + case 4: + s.c___796815 = (globals.player4___791811); + case 5: + r0 = pxsim_numops_toBoolDecr(s.c___796815); + if (!r0) { step = 6; continue; } + s.tmp_0 = controller_Controller_connected__P791845_mk(s); + s.tmp_0.arg0 = s.c___796815; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1283; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +multiplayer_receiveConnectionChangedEvent__P795064.info = {"start":1905,"length":552,"line":58,"column":4,"endLine":76,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"receiveConnectionChangedEvent","argumentNames":["playerNumber","connected"]} + +function multiplayer_receiveConnectionChangedEvent__P795064_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: multiplayer_receiveConnectionChangedEvent__P795064, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + c___796815: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Controller_connected__P791845(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["_connected"]; + s.tmp_1 = r0; + r0 = (s.arg1 != s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = (s.arg0).fields["_connected"] = (s.arg1); + r0 = s.arg0.fields["_connected"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 1; + { step = 2; continue; } + case 1: + r0 = 2; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.arg0.fields["_id"]; + s.tmp_2 = r0; + r0 = pxsim.control.raiseEvent(s.tmp_2, s.tmp_1); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller_connected__P791845.info = {"start":7796,"length":261,"line":254,"column":8,"endLine":259,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this","value"]} + +function controller_Controller_connected__P791845_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_connected__P791845, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller__player1__P791817(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals._players___794323); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_Array__getAt(globals._players___794323, 0); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C791823_VT); + s.tmp_5 = r0; + r0 = pxsim_Array__mk(); + s.tmp_6 = r0; + r0 = pxsim_Array__push(s.tmp_6, globals.left___791804); + r0 = pxsim_Array__push(s.tmp_6, globals.up___791805); + r0 = pxsim_Array__push(s.tmp_6, globals.right___791806); + r0 = pxsim_Array__push(s.tmp_6, globals.down___791807); + r0 = pxsim_Array__push(s.tmp_6, globals.A___791802); + r0 = pxsim_Array__push(s.tmp_6, globals.B___791803); + r0 = pxsim_Array__push(s.tmp_6, globals.menu___791808); + s.tmp_7 = controller_Controller_constructor__P791827_mk(s); + s.tmp_7.arg0 = s.tmp_5; + s.tmp_7.arg1 = 1; + s.tmp_7.arg2 = s.tmp_6; + s.callLocIdx = 151; s.pc = 5; return s.tmp_7; + case 5: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_Array__getAt(globals._players___794323, 0); + return leave(s, r0) + default: oops() +} } } +controller__player1__P791817.info = {"start":1381,"length":258,"line":47,"column":4,"endLine":51,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_player1","argumentNames":[]} + +function controller__player1__P791817_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__player1__P791817, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, +} } + + + + + +function controller_Controller_constructor__P791827(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.leftId___796871 = undefined; + s.i___796879 = undefined; + s.i___796897 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.control.allocateNotifyEvent(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_id"] = (s.tmp_1); + r0 = (s.arg0).fields["_connected"] = (false); + r0 = (s.arg0).fields["playerIndex"] = (s.arg1); + r0 = (s.arg0).fields["analog"] = (false); + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 1; continue; } + r0 = (s.arg0).fields["buttons"] = (s.arg2); + { step = 4; continue; } + case 1: + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["buttons"] = (s.tmp_1); + r0 = s.arg0.fields["playerIndex"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1 = r0; + r0 = (s.tmp_1 * 7); + s.tmp_0 = r0; + r0 = (1 + s.tmp_0); + s.leftId___796871 = (r0); + s.i___796879 = (0); + case 2: + r0 = (s.i___796879 < 7); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C791878_VT); + s.tmp_1 = r0; + s.tmp_2 = controller_Button_constructor__P791884_mk(s); + s.tmp_2.arg0 = s.tmp_1; + r0 = (s.leftId___796871 + s.i___796879); + s.tmp_2.arg1 = r0; + s.tmp_2.arg2 = -1; + s.callLocIdx = 157; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = s.arg0.fields["buttons"]; + s.tmp_3 = r0; + r0 = pxsim_Array__push(s.tmp_3, s.tmp_1); + r0 = (s.i___796879 + 1); + s.i___796879 = (r0); + { step = 2; continue; } + case 3: + case 4: + s.i___796897 = (0); + case 5: + s.tmp_1 = r0 = s.i___796897; + r0 = s.arg0.fields["buttons"]; + s.tmp_3 = r0; + r0 = pxsim_Array__length(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + r0 = s.arg0.fields["buttons"]; + s.tmp_5 = r0; + r0 = pxsim_Array__getAt(s.tmp_5, s.i___796897); + s.tmp_4 = r0; + r0 = (s.tmp_4).fields["_owner"] = (s.arg0); + r0 = (s.i___796897 + 1); + s.i___796897 = (r0); + { step = 5; continue; } + case 6: + s.tmp_0 = controller_addController__P794387_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 158; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller_constructor__P791827.info = {"start":2452,"length":696,"line":82,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","playerIndex","buttons"]} + +function controller_Controller_constructor__P791827_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_constructor__P791827, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + leftId___796871: undefined, + i___796879: undefined, + i___796897: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function controller_addController__P794387(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals._players___794323); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals._players___794323 = (r0); + case 1: + case 2: + s.tmp_0 = r0 = globals._players___794323; + r0 = s.arg0.fields["playerIndex"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_addController__P794387.info = {"start":1218,"length":157,"line":40,"column":4,"endLine":45,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"addController","argumentNames":["ctrl"]} + +function controller_addController__P794387_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_addController__P794387, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function control_onEvent__P790079(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ctx___796970 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + s.tmp_0 = control_eventContext__P790096_mk(s); + s.callLocIdx = 39; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.ctx___796970 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___796970); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.control.internalOnEvent(s.arg0, s.arg1, s.arg2, s.arg3); + { step = 2; continue; } + case 1: + s.tmp_0 = control_EventContext_registerHandler__P790093_mk(s); + s.tmp_0.arg0 = s.ctx___796970; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.arg1; + s.tmp_0.arg3 = s.arg2; + s.tmp_0.arg4 = s.arg3; + s.callLocIdx = 40; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_onEvent__P790079.info = {"start":336,"length":325,"line":9,"column":4,"endLine":15,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"onEvent","argumentNames":["src","value","handler","flags"]} + +function control_onEvent__P790079_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_onEvent__P790079, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + ctx___796970: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function control_eventContext__P790096(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.eventContexts___794107); + if (!r0) { step = 1; continue; } + s.tmp_0 = r0 = globals.eventContexts___794107; + r0 = pxsim_Array__length(globals.eventContexts___794107); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + { step = 2; continue; } + case 1: + r0 = undefined; + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = s.tmp_3; + return leave(s, r0) + default: oops() +} } } +control_eventContext__P790096.info = {"start":7094,"length":136,"line":213,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"eventContext","argumentNames":[]} + +function control_eventContext__P790096_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_eventContext__P790096, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + + + + + +function control_EventContext_registerHandler__P790093(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.h___796993 = undefined; + s.unnamed16760___U1 = undefined; + s.unnamed16761___U2 = undefined; + s.hn___797016 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + s.h___796993 = (undefined); + r0 = s.arg0.fields["handlers"]; + s.unnamed16760___U1 = (r0); + s.unnamed16761___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16761___U2; + r0 = pxsim_Array__length(s.unnamed16760___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed16760___U1, s.unnamed16761___U2); + s.h___796993 = (r0); + r0 = s.h___796993.fields["src"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 == s.arg1); + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 2; continue; } + r0 = s.tmp_2; + { step = 3; continue; } + case 2: + r0 = s.h___796993.fields["value"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 == s.arg2); + case 3: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 4; continue; } + r0 = (s.h___796993).fields["flags"] = (s.arg4); + r0 = (s.h___796993).fields["handler"] = (s.arg3); + { step = 7; continue; } + case 4: + case 5: + r0 = (s.unnamed16761___U2 + 1); + s.unnamed16761___U2 = (r0); + { step = 1; continue; } + case 6: + s.unnamed16760___U1 = (undefined); + r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C794099_VT); + s.tmp_0 = r0; + s.tmp_1 = control_EventHandler_constructor__P794102_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.tmp_1.arg3 = s.arg3; + s.tmp_1.arg4 = s.arg4; + s.callLocIdx = 51; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + s.hn___797016 = (s.tmp_0); + r0 = s.arg0.fields["handlers"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.hn___797016); + s.tmp_0 = control_EventHandler_register__P794100_mk(s); + s.tmp_0.arg0 = s.hn___797016; + s.callLocIdx = 52; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_registerHandler__P790093.info = {"start":5760,"length":525,"line":173,"column":8,"endLine":186,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerHandler","argumentNames":["this","src","value","handler","flags"]} + +function control_EventContext_registerHandler__P790093_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerHandler__P790093, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + h___796993: undefined, + unnamed16760___U1: undefined, + unnamed16761___U2: undefined, + hn___797016: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function control_EventHandler_constructor__P794102(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventHandler__C794099_VT)) failedCast(r0); + r0 = (s.arg0).fields["src"] = (s.arg1); + r0 = (s.arg0).fields["value"] = (s.arg2); + r0 = (s.arg0).fields["handler"] = (s.arg3); + r0 = (s.arg0).fields["flags"] = (s.arg4); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventHandler_constructor__P794102.info = {"start":786,"length":165,"line":23,"column":8,"endLine":28,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this","src","value","handler","flags"]} + +function control_EventHandler_constructor__P794102_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_constructor__P794102, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function control_EventHandler_register__P794100(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventHandler__C794099_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkAction(1, control_EventHandler_register_inline__P797037); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = s.arg0.fields["src"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["value"]; + s.tmp_2 = r0; + r0 = s.arg0.fields["flags"]; + s.tmp_3 = r0; + r0 = pxsim.control.internalOnEvent(s.tmp_1, s.tmp_2, s.tmp_0, s.tmp_3); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventHandler_register__P794100.info = {"start":961,"length":165,"line":30,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]} + +function control_EventHandler_register__P794100_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_register__P794100, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function control_EventHandler_register_inline__P797037(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = s.caps[0].fields["handler"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = if_handler_1_mk(s); + s.tmp_1.arg0 = s.caps[0]; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "handler"), 1); + s.callLocIdx = 41; s.pc = 3; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["handler"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["handler"], 1); s.callLocIdx = 41; s.pc = 3; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 41; s.pc = 3; return s.tmp_1;; } + else { s.callLocIdx = 41; s.pc = 3; return s.tmp_1; } + } + case 3: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventHandler_register_inline__P797037.info = {"start":1032,"length":71,"line":31,"column":58,"endLine":33,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} + +function control_EventHandler_register_inline__P797037_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_register_inline__P797037, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function multiplayer_initServer__P793077(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim.multiplayer.getOrigin(); + s.tmp_1 = r0; + r0 = (s.tmp_1 === "server"); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = control_EventContext_registerFrameHandler__P790091_mk(s); + s.tmp_3 = game_eventContext__P792691_mk(s); + s.callLocIdx = 1276; s.pc = 4; return s.tmp_3; + case 4: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 210; + s.tmp_2.arg2 = multiplayer_initServer_inline__P797056; + s.callLocIdx = 1277; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +multiplayer_initServer__P793077.info = {"start":1011,"length":307,"line":29,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"initServer","argumentNames":[]} + +function multiplayer_initServer__P793077_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: multiplayer_initServer__P793077, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + + + + + +function multiplayer_initServer_inline__P797056(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim.multiplayer.getOrigin(); + s.tmp_1 = r0; + r0 = (s.tmp_1 === "server"); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.multiplayer.postImage(globals.screen___791721); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +multiplayer_initServer_inline__P797056.info = {"start":1175,"length":126,"line":31,"column":93,"endLine":35,"endColumn":13,"fileName":"pxt_modules/game/multiplayer.ts","functionName":"inline","argumentNames":[]} + +function multiplayer_initServer_inline__P797056_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: multiplayer_initServer_inline__P797056, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function game_consoleOverlay_draw__P792816(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.height___797109 = undefined; + s.top___797114 = undefined; + s.i___797120 = undefined; + s.t___797133 = undefined; + s.tOff___797140 = undefined; + s.tab___797142 = undefined; + s.unnamed16790___U6 = undefined; + s.unnamed16791___U7 = undefined; + s.padding___797144 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___794906); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_numops_toBoolDecr(globals.instance___794860); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 3; continue; } + { step = 13; continue; } + case 3: + case 4: + s.tmp_7 = if_charHeight_1_mk(s); + s.tmp_7.arg0 = globals.consoleFont___794914; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 1130; s.pc = 14; return s.tmp_7; } + } + case 14: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 + 2); + s.height___797109 = (r0); + r0 = pxsim_numops_toBoolDecr(globals.stats___792657); + if (!r0) { step = 5; continue; } + r0 = s.height___797109; + { step = 6; continue; } + case 5: + r0 = 0; + case 6: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = (2 + s.tmp_0); + s.top___797114 = (r0); + s.i___797120 = (0); + case 7: + s.tmp_1 = r0 = s.i___797120; + r0 = pxsim_Array__length(globals.consoleStrings___794906); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 12; continue; } + r0 = pxsim_Array__getAt(globals.consoleStrings___794906, s.i___797120); + s.tmp_5 = r0; + r0 = pxsim_String_.indexOf(s.tmp_5, "\t", undefined); + s.tmp_4 = r0; + r0 = (s.tmp_4 >= 0); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 10; continue; } + s.tmp_6 = helpers_stringSplit__P789810_mk(s); + r0 = pxsim_Array__getAt(globals.consoleStrings___794906, s.i___797120); + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = "\t"; + s.tmp_6.arg2 = undefined; + s.callLocIdx = 1131; s.pc = 15; return s.tmp_6; + case 15: + r0 = s.retval; + s.t___797133 = (r0); + s.tOff___797140 = (0); + s.tab___797142 = (undefined); + s.unnamed16790___U6 = (s.t___797133); + s.unnamed16791___U7 = (0); + case 8: + s.tmp_0 = r0 = s.unnamed16791___U7; + r0 = pxsim_Array__length(s.unnamed16790___U6); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 9; continue; } + r0 = pxsim_Array__getAt(s.unnamed16790___U6, s.unnamed16791___U7); + s.tab___797142 = (r0); + s.tmp_2 = r0 = globals.tabSize___794908; + s.tmp_5 = r0 = s.tOff___797140; + r0 = pxsim_String_.length(s.tab___797142); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_4 % globals.tabSize___794908); + s.tmp_3 = r0; + r0 = (s.tmp_2 - s.tmp_3); + s.padding___797144 = (r0); + s.tmp_0 = helpers_imagePrint__P791679_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_0.arg1 = s.tab___797142; + s.tmp_2 = r0 = s.tOff___797140; + s.tmp_4 = if_charWidth_1_mk(s); + s.tmp_4.arg0 = globals.consoleFont___794914; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 1132; s.pc = 17; return s.tmp_4; } + } + case 17: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_2 * s.tmp_3); + s.tmp_1 = r0; + r0 = (4 + s.tmp_1); + s.tmp_0.arg2 = r0; + s.tmp_5 = r0 = s.top___797114; + r0 = (s.i___797120 * s.height___797109); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = globals.consoleColor___794905; + s.tmp_0.arg5 = globals.consoleFont___794914; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 1133; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.tmp_0 = r0 = s.tOff___797140; + r0 = pxsim_String_.length(s.tab___797142); + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.padding___797144); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.tOff___797140 = (r0); + r0 = (s.unnamed16791___U7 + 1); + s.unnamed16791___U7 = (r0); + { step = 8; continue; } + case 9: + s.unnamed16790___U6 = (undefined); + { step = 11; continue; } + case 10: + s.tmp_0 = helpers_imagePrint__P791679_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + r0 = pxsim_Array__getAt(globals.consoleStrings___794906, s.i___797120); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 4; + s.tmp_1 = r0 = s.top___797114; + r0 = (s.i___797120 * s.height___797109); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = globals.consoleColor___794905; + s.tmp_0.arg5 = globals.consoleFont___794914; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 1134; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + case 11: + r0 = (s.i___797120 + 1); + s.i___797120 = (r0); + { step = 7; continue; } + case 12: + case 13: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_draw__P792816.info = {"start":1364,"length":859,"line":44,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"draw","argumentNames":[]} + +function game_consoleOverlay_draw__P792816_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_draw__P792816, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + height___797109: undefined, + top___797114: undefined, + i___797120: undefined, + t___797133: undefined, + tOff___797140: undefined, + tab___797142: undefined, + unnamed16790___U6: undefined, + unnamed16791___U7: undefined, + padding___797144: undefined, +} } + + + + + +function scene_systemMenu_isVisible__P792797(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.instance___794860); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_isVisible__P792797.info = {"start":13170,"length":62,"line":395,"column":4,"endLine":397,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"isVisible","argumentNames":[]} + +function scene_systemMenu_isVisible__P792797_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_isVisible__P792797, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function helpers_imagePrint__P791679(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.x0___797216 = undefined; + s.cp___797218 = undefined; + s.mult___797219 = undefined; + s.dataW___797224 = undefined; + s.dataH___797230 = undefined; + s.byteHeight___797236 = undefined; + s.charSize___797242 = undefined; + s.dataSize___797246 = undefined; + s.fontdata___797250 = undefined; + s.lastchar___797253 = undefined; + s.imgBuf___797260 = undefined; + s.xOffset___797284 = undefined; + s.yOffset___797285 = undefined; + s.ch___797300 = undefined; + s.l___797319 = undefined; + s.r___797320 = undefined; + s.off___797322 = undefined; + s.guess___797323 = undefined; + s.m___797342 = undefined; + s.v___797351 = undefined; + s.i___797407 = undefined; + s.j___797412 = undefined; + s.mask___797413 = undefined; + s.c___797414 = undefined; + s.n___797431 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.arg6 = (s.lambdaArgs[6]); + s.lambdaArgs = null; + } + r0 = (s.arg2 | 0); + s.arg2 = (r0); + r0 = (s.arg3 | 0); + s.arg3 = (r0); + r0 = pxsim_numops_toBoolDecr(s.arg5); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = image_getFontForText__P791666_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 97; s.pc = 39; return s.tmp_2; + case 39: + r0 = s.retval; + s.arg5 = (r0); + case 1: + case 2: + r0 = pxsim_numops_toBoolDecr(s.arg4); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.arg4 = (1); + case 3: + case 4: + s.x0___797216 = (s.arg2); + s.cp___797218 = (0); + s.tmp_1 = if_multiplier_1_mk(s); + s.tmp_1.arg0 = s.arg5; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "multiplier"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["multiplier"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["multiplier"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 98; s.pc = 40; return s.tmp_1; } + } + case 40: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = if_multiplier_1_mk(s); + s.tmp_2.arg0 = s.arg5; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "multiplier"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["multiplier"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["multiplier"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 99; s.pc = 41; return s.tmp_2; } + } + case 41: + r0 = s.retval; + { step = 6; continue; } + case 5: + r0 = 1; + case 6: + // jmp value (already in r0) + s.tmp_3 = r0; + s.mult___797219 = (s.tmp_3); + s.tmp_1 = if_charWidth_1_mk(s); + s.tmp_1.arg0 = s.arg5; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "charWidth"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["charWidth"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["charWidth"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 100; s.pc = 42; return s.tmp_1; } + } + case 42: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___797219); + s.dataW___797224 = (r0); + s.tmp_1 = if_charHeight_1_mk(s); + s.tmp_1.arg0 = s.arg5; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "charHeight"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["charHeight"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["charHeight"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 101; s.pc = 43; return s.tmp_1; } + } + case 43: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.mult___797219); + s.dataH___797230 = (r0); + r0 = (s.dataH___797230 + 7); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 3); + s.byteHeight___797236 = (r0); + r0 = (s.byteHeight___797236 * s.dataW___797224); + s.charSize___797242 = (r0); + r0 = (2 + s.charSize___797242); + s.dataSize___797246 = (r0); + s.tmp_0 = if_data_1_mk(s); + s.tmp_0.arg0 = s.arg5; + if (!s.tmp_0.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "data"); + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["data"]; + if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["data"]; } + else if (!s.tmp_0.fn.isGetter) { s.retval = bind(s.tmp_0); } + else { s.callLocIdx = 102; s.pc = 44; return s.tmp_0; } + } + case 44: + r0 = s.retval; + s.fontdata___797250 = (r0); + r0 = pxsim.BufferMethods.length(s.fontdata___797250); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___797246); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + s.lastchar___797253 = (r0); + r0 = (s.mult___797219 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = (8 + s.charSize___797242); + s.tmp_1 = r0; + r0 = pxsim.control.createBuffer(s.tmp_1); + s.imgBuf___797260 = (r0); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___797260, 0, 135); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___797260, 1, 1); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___797260, 2, s.dataW___797224); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___797260, 4, s.dataH___797230); + case 7: + case 8: + case 9: + s.tmp_1 = r0 = s.cp___797218; + r0 = pxsim_String_.length(s.arg1); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 38; continue; } + s.xOffset___797284 = (0); + s.yOffset___797285 = (0); + s.tmp_0 = r0 = s.arg6; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 10; continue; } + r0 = s.tmp_0; + { step = 11; continue; } + case 10: + s.tmp_1 = r0 = s.cp___797218; + r0 = pxsim_Array__length(s.arg6); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + case 11: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 12; continue; } + s.tmp_4 = if_xOffset_1_mk(s); + r0 = pxsim_Array__getAt(s.arg6, s.cp___797218); + s.tmp_4.arg0 = r0; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "xOffset"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["xOffset"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["xOffset"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 103; s.pc = 45; return s.tmp_4; } + } + case 45: + r0 = s.retval; + s.xOffset___797284 = (r0); + s.tmp_0 = if_yOffset_1_mk(s); + r0 = pxsim_Array__getAt(s.arg6, s.cp___797218); + s.tmp_0.arg0 = r0; + if (!s.tmp_0.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "yOffset"); + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["yOffset"]; + if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["yOffset"]; } + else if (!s.tmp_0.fn.isGetter) { s.retval = bind(s.tmp_0); } + else { s.callLocIdx = 104; s.pc = 46; return s.tmp_0; } + } + case 46: + r0 = s.retval; + s.yOffset___797285 = (r0); + case 12: + case 13: + s.tmp_0 = r0 = s.cp___797218; + r0 = (s.tmp_0 + 1); + s.cp___797218 = (r0); + r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0); + s.ch___797300 = (r0); + r0 = (s.ch___797300 == 10); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + s.tmp_1 = r0 = s.arg3; + s.tmp_4 = if_charHeight_1_mk(s); + s.tmp_4.arg0 = s.arg5; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charHeight"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charHeight"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charHeight"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 105; s.pc = 47; return s.tmp_4; } + } + case 47: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 + 2); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.arg3 = (r0); + s.arg2 = (s.x0___797216); + case 14: + case 15: + r0 = (s.ch___797300 < 32); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 16; continue; } + { step = 9; continue; } + case 16: + case 17: + s.l___797319 = (0); + s.r___797320 = (s.lastchar___797253); + s.off___797322 = (0); + r0 = (s.ch___797300 - 32); + s.tmp_0 = r0; + r0 = (s.tmp_0 * s.dataSize___797246); + s.guess___797323 = (r0); + r0 = pxsim.BufferMethods.getNumber(s.fontdata___797250, 4, s.guess___797323); + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.ch___797300); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 18; continue; } + s.off___797322 = (s.guess___797323); + { step = 25; continue; } + case 18: + case 19: + r0 = (s.l___797319 <= s.r___797320); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 24; continue; } + s.tmp_1 = r0 = s.l___797319; + r0 = (s.r___797320 - s.l___797319); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.m___797342 = (r0); + s.tmp_0 = r0 = s.fontdata___797250; + r0 = (s.m___797342 * s.dataSize___797246); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1); + s.v___797351 = (r0); + r0 = (s.v___797351 == s.ch___797300); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + r0 = (s.m___797342 * s.dataSize___797246); + s.off___797322 = (r0); + { step = 24; continue; } + case 20: + case 21: + r0 = (s.v___797351 < s.ch___797300); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = (s.m___797342 + 1); + s.l___797319 = (r0); + { step = 23; continue; } + case 22: + r0 = (s.m___797342 - 1); + s.r___797320 = (r0); + case 23: + { step = 19; continue; } + case 24: + case 25: + r0 = (s.mult___797219 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 26; continue; } + s.tmp_1 = r0 = s.imgBuf___797260; + s.tmp_3 = r0 = s.fontdata___797250; + r0 = (s.off___797322 + 2); + s.tmp_4 = r0; + r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___797242); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2); + s.tmp_0 = helpers_imageDrawIcon__P791644_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.imgBuf___797260; + r0 = (s.arg2 + s.xOffset___797284); + s.tmp_0.arg2 = r0; + r0 = (s.arg3 + s.yOffset___797285); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = s.arg4; + s.callLocIdx = 106; s.pc = 48; return s.tmp_0; + case 48: + r0 = s.retval; + s.tmp_0 = r0 = s.arg2; + s.tmp_2 = if_charWidth_1_mk(s); + s.tmp_2.arg0 = s.arg5; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 107; s.pc = 49; return s.tmp_2; } + } + case 49: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.arg2 = (r0); + { step = 37; continue; } + case 26: + r0 = (s.off___797322 + 2); + s.off___797322 = (r0); + s.i___797407 = (0); + case 27: + r0 = (s.i___797407 < s.dataW___797224); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 36; continue; } + s.j___797412 = (0); + s.mask___797413 = (1); + s.tmp_0 = r0 = s.off___797322; + r0 = (s.tmp_0 + 1); + s.off___797322 = (r0); + r0 = pxsim.BufferMethods.getByte(s.fontdata___797250, s.tmp_0); + s.c___797414 = (r0); + case 28: + r0 = (s.j___797412 < s.dataH___797230); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 35; continue; } + r0 = (s.mask___797413 == 256); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 29; continue; } + s.tmp_2 = r0 = s.off___797322; + r0 = (s.tmp_2 + 1); + s.off___797322 = (r0); + r0 = pxsim.BufferMethods.getByte(s.fontdata___797250, s.tmp_2); + s.c___797414 = (r0); + s.mask___797413 = (1); + case 29: + case 30: + s.n___797431 = (0); + case 31: + r0 = (s.c___797414 & s.mask___797413); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 32; continue; } + r0 = (s.n___797431 + 1); + s.n___797431 = (r0); + r0 = (s.mask___797413 << 1); + s.mask___797413 = (r0); + { step = 31; continue; } + case 32: + r0 = pxsim_numops_toBoolDecr(s.n___797431); + if (!r0) { step = 33; continue; } + s.tmp_0 = helpers_imageFillRect__P791645_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg2; + r0 = (s.xOffset___797284 * s.mult___797219); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0.arg1 = r0; + s.tmp_3 = r0 = s.arg3; + r0 = (s.j___797412 + s.yOffset___797285); + s.tmp_5 = r0; + r0 = (s.tmp_5 * s.mult___797219); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.mult___797219; + r0 = (s.mult___797219 * s.n___797431); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.arg4; + s.callLocIdx = 108; s.pc = 50; return s.tmp_0; + case 50: + r0 = s.retval; + r0 = (s.j___797412 + s.n___797431); + s.j___797412 = (r0); + { step = 34; continue; } + case 33: + r0 = (s.mask___797413 << 1); + s.mask___797413 = (r0); + r0 = (s.j___797412 + 1); + s.j___797412 = (r0); + case 34: + { step = 28; continue; } + case 35: + r0 = (s.arg2 + s.mult___797219); + s.arg2 = (r0); + r0 = (s.i___797407 + 1); + s.i___797407 = (r0); + { step = 27; continue; } + case 36: + case 37: + { step = 9; continue; } + case 38: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imagePrint__P791679.info = {"start":15326,"length":3300,"line":213,"column":4,"endLine":306,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"imagePrint","argumentNames":["img","text","x","y","color","font","offsets"]} + +function helpers_imagePrint__P791679_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imagePrint__P791679, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + x0___797216: undefined, + cp___797218: undefined, + mult___797219: undefined, + dataW___797224: undefined, + dataH___797230: undefined, + byteHeight___797236: undefined, + charSize___797242: undefined, + dataSize___797246: undefined, + fontdata___797250: undefined, + lastchar___797253: undefined, + imgBuf___797260: undefined, + xOffset___797284: undefined, + yOffset___797285: undefined, + ch___797300: undefined, + l___797319: undefined, + r___797320: undefined, + off___797322: undefined, + guess___797323: undefined, + m___797342: undefined, + v___797351: undefined, + i___797407: undefined, + j___797412: undefined, + mask___797413: undefined, + c___797414: undefined, + n___797431: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, + arg6: undefined, +} } + + + + + +function image_getFontForText__P791666(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.i___797548 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.i___797548 = (0); + case 1: + s.tmp_1 = r0 = s.i___797548; + r0 = pxsim_String_.length(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_String_.charCodeAt(s.arg0, s.i___797548); + s.tmp_4 = r0; + r0 = (s.tmp_4 > 8192); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 2; continue; } + r0 = globals.font12___791665; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.i___797548 + 1); + s.i___797548 = (r0); + { step = 1; continue; } + case 4: + r0 = globals.font8___791664; + case 5: + return leave(s, r0) + default: oops() +} } } +image_getFontForText__P791666.info = {"start":11713,"length":259,"line":136,"column":4,"endLine":143,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"getFontForText","argumentNames":["text"]} + +function image_getFontForText__P791666_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: image_getFontForText__P791666, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + i___797548: undefined, + arg0: undefined, +} } + + + + + +function helpers_imageFillRect__P791645(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = helpers_pack__P794244_mk(s); + s.tmp_2.arg0 = s.arg1; + s.tmp_2.arg1 = s.arg2; + s.callLocIdx = 79; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = helpers_pack__P794244_mk(s); + s.tmp_4.arg0 = s.arg3; + s.tmp_4.arg1 = s.arg4; + s.callLocIdx = 80; s.pc = 2; return s.tmp_4; + case 2: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods._fillRect(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imageFillRect__P791645.info = {"start":5454,"length":159,"line":176,"column":4,"endLine":178,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageFillRect","argumentNames":["img","x","y","w","h","c"]} + +function helpers_imageFillRect__P791645_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageFillRect__P791645, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, +} } + + + + + +function helpers_pack__P794244(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_2 = Math_clamp__P789815_mk(s); + s.tmp_2.arg0 = -30000; + s.tmp_2.arg1 = 30000; + r0 = (s.arg0 | 0); + s.tmp_2.arg2 = r0; + s.callLocIdx = 76; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 65535); + s.tmp_0 = r0; + s.tmp_5 = Math_clamp__P789815_mk(s); + s.tmp_5.arg0 = -30000; + s.tmp_5.arg1 = 30000; + r0 = (s.arg1 | 0); + s.tmp_5.arg2 = r0; + s.callLocIdx = 77; s.pc = 2; return s.tmp_5; + case 2: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 << 16); + s.tmp_3 = r0; + r0 = (s.tmp_0 | s.tmp_3); + return leave(s, r0) + default: oops() +} } } +helpers_pack__P794244.info = {"start":4278,"length":145,"line":148,"column":4,"endLine":150,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"pack","argumentNames":["x","y"]} + +function helpers_pack__P794244_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_pack__P794244, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Math_clamp__P789815(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + s.tmp_0 = Math_min__P789819_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_1 = Math_max__P789818_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg2; + s.callLocIdx = 14; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 15; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +Math_clamp__P789815.info = {"start":15643,"length":130,"line":528,"column":4,"endLine":530,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"clamp","argumentNames":["min","max","value"]} + +function Math_clamp__P789815_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_clamp__P789815, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Math_min__P789819(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 <= s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0; + { step = 3; continue; } + case 1: + case 2: + r0 = s.arg1; + case 3: + return leave(s, r0) + default: oops() +} } } +Math_min__P789819.info = {"start":16854,"length":105,"line":568,"column":4,"endLine":571,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"min","argumentNames":["a","b"]} + +function Math_min__P789819_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_min__P789819, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Math_max__P789818(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 >= s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0; + { step = 3; continue; } + case 1: + case 2: + r0 = s.arg1; + case 3: + return leave(s, r0) + default: oops() +} } } +Math_max__P789818.info = {"start":16614,"length":105,"line":558,"column":4,"endLine":561,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"max","argumentNames":["a","b"]} + +function Math_max__P789818_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_max__P789818, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_imageDrawIcon__P791644(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = helpers_pack__P794244_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg3; + s.callLocIdx = 78; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods._drawIcon(s.tmp_0, s.tmp_1, s.tmp_2, s.arg4); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imageDrawIcon__P791644.info = {"start":5304,"length":145,"line":173,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawIcon","argumentNames":["img","icon","x","y","c"]} + +function helpers_imageDrawIcon__P791644_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageDrawIcon__P791644, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function helpers_stringSplit__P789810(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.A___797571 = undefined; + s.lim___797573 = undefined; + s.s___797589 = undefined; + s.p___797592 = undefined; + s.R___797593 = undefined; + s.z___797607 = undefined; + s.T___797620 = undefined; + s.q___797621 = undefined; + s.e___797627 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.A___797571 = (r0); + s.lim___797573 = (0); + r0 = (s.arg2 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (536870912 - 1); + s.lim___797573 = (r0); + { step = 4; continue; } + case 1: + r0 = (s.arg2 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.lim___797573 = (0); + { step = 3; continue; } + case 2: + r0 = (s.arg2 | 0); + s.lim___797573 = (r0); + case 3: + case 4: + r0 = pxsim_String_.length(s.arg0); + s.s___797589 = (r0); + s.p___797592 = (0); + s.R___797593 = (s.arg1); + r0 = (s.lim___797573 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.A___797571; + { step = 21; continue; } + case 5: + case 6: + r0 = (s.arg1 === undefined); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 7; continue; } + r0 = pxsim_Array_.setAt(s.A___797571, 0, s.arg0); + r0 = s.A___797571; + { step = 21; continue; } + case 7: + case 8: + r0 = (s.s___797589 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.tmp_1 = helpers_splitMatch__P794030_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = 0; + s.tmp_1.arg2 = s.R___797593; + s.callLocIdx = 10; s.pc = 22; return s.tmp_1; + case 22: + r0 = s.retval; + s.z___797607 = (r0); + r0 = (s.z___797607 > -1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = s.A___797571; + { step = 21; continue; } + case 9: + case 10: + r0 = pxsim_Array_.setAt(s.A___797571, 0, s.arg0); + r0 = s.A___797571; + { step = 21; continue; } + case 11: + case 12: + s.q___797621 = (s.p___797592); + case 13: + r0 = (s.q___797621 != s.s___797589); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + s.tmp_1 = helpers_splitMatch__P794030_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.q___797621; + s.tmp_1.arg2 = s.R___797593; + s.callLocIdx = 11; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + s.e___797627 = (r0); + r0 = (s.e___797627 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.q___797621 + 1); + s.q___797621 = (r0); + { step = 19; continue; } + case 14: + r0 = (s.e___797627 == s.p___797592); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = (s.q___797621 + 1); + s.q___797621 = (r0); + { step = 18; continue; } + case 15: + s.tmp_0 = helpers_stringSlice__P789807_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.p___797592; + s.tmp_0.arg2 = s.q___797621; + s.callLocIdx = 12; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.T___797620 = (r0); + r0 = pxsim_Array__push(s.A___797571, s.T___797620); + r0 = pxsim_Array__length(s.A___797571); + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.lim___797573); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 16; continue; } + r0 = s.A___797571; + { step = 21; continue; } + case 16: + case 17: + s.p___797592 = (s.e___797627); + s.q___797621 = (s.p___797592); + case 18: + case 19: + { step = 13; continue; } + case 20: + s.tmp_0 = helpers_stringSlice__P789807_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.p___797592; + s.tmp_0.arg2 = s.q___797621; + s.callLocIdx = 13; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.T___797620 = (r0); + r0 = pxsim_Array__push(s.A___797571, s.T___797620); + r0 = s.A___797571; + case 21: + return leave(s, r0) + default: oops() +} } } +helpers_stringSplit__P789810.info = {"start":12919,"length":1319,"line":434,"column":4,"endLine":478,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringSplit","argumentNames":["S","separator","limit"]} + +function helpers_stringSplit__P789810_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_stringSplit__P789810, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + A___797571: undefined, + lim___797573: undefined, + s___797589: undefined, + p___797592: undefined, + R___797593: undefined, + z___797607: undefined, + T___797620: undefined, + q___797621: undefined, + e___797627: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_splitMatch__P794030(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.r___797707 = undefined; + s.s___797710 = undefined; + s.i___797720 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_String_.length(s.arg2); + s.r___797707 = (r0); + r0 = pxsim_String_.length(s.arg0); + s.s___797710 = (r0); + r0 = (s.arg1 + s.r___797707); + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.s___797710); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = -1; + { step = 7; continue; } + case 1: + case 2: + s.i___797720 = (0); + case 3: + r0 = (s.i___797720 < s.r___797707); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.tmp_3 = r0 = s.arg0; + r0 = (s.arg1 + s.i___797720); + s.tmp_4 = r0; + r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4); + s.tmp_2 = r0; + r0 = pxsim_String_.charAt(s.arg2, s.i___797720); + s.tmp_5 = r0; + r0 = (s.tmp_2 != s.tmp_5); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = -1; + { step = 7; continue; } + case 4: + case 5: + r0 = (s.i___797720 + 1); + s.i___797720 = (r0); + { step = 3; continue; } + case 6: + r0 = (s.arg1 + s.r___797707); + case 7: + return leave(s, r0) + default: oops() +} } } +helpers_splitMatch__P794030.info = {"start":14244,"length":289,"line":480,"column":4,"endLine":489,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"splitMatch","argumentNames":["S","q","R"]} + +function helpers_splitMatch__P794030_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_splitMatch__P794030, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + r___797707: undefined, + s___797710: undefined, + i___797720: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_stringSlice__P789807(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.len___797672 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_String_.length(s.arg0); + s.len___797672 = (r0); + r0 = (s.arg1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = Math_max__P789818_mk(s); + r0 = (s.len___797672 + s.arg1); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 9; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + s.arg1 = (r0); + case 1: + case 2: + r0 = (s.arg2 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.arg2 = (s.len___797672); + { step = 6; continue; } + case 3: + r0 = (s.arg2 === null); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.arg2 = (0); + case 4: + case 5: + case 6: + r0 = (s.arg2 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = (s.len___797672 + s.arg2); + s.arg2 = (r0); + case 7: + case 8: + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + r0 = (s.arg2 - s.arg1); + s.tmp_2 = r0; + r0 = pxsim_String_.substr(s.tmp_0, s.tmp_1, s.tmp_2); + return leave(s, r0) + default: oops() +} } } +helpers_stringSlice__P789807.info = {"start":11496,"length":440,"line":384,"column":4,"endLine":402,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringSlice","argumentNames":["s","start","end"]} + +function helpers_stringSlice__P789807_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_stringSlice__P789807, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + len___797672: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_Scene_render__P792561(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.s___797804 = undefined; + s.unnamed16788___U1 = undefined; + s.unnamed16789___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C792532_VT)) failedCast(r0); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 11; continue; } + case 1: + case 2: + s.tmp_2 = r0 = s.arg0; + r0 = s.tmp_2.fields["flags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 | 4); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["flags"] = (s.tmp_3); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = s.arg0.fields["previousScene"]; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 5; continue; } + s.tmp_3 = scene_Scene_render__P792561_mk(s); + r0 = s.arg0.fields["previousScene"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 930; s.pc = 12; return s.tmp_3; + case 12: + r0 = s.retval; + { step = 6; continue; } + case 5: + s.tmp_0 = scene_Background_draw__P792367_mk(s); + r0 = s.arg0.fields["background"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 931; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + case 6: + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_2 = helpers_arraySort__P789793_mk(s); + r0 = s.arg0.fields["allSprites"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = scene_Scene_render_inline__P797781; + s.callLocIdx = 936; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & -2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + case 7: + case 8: + s.s___797804 = (undefined); + r0 = s.arg0.fields["allSprites"]; + s.unnamed16788___U1 = (r0); + s.unnamed16789___U2 = (0); + case 9: + s.tmp_0 = r0 = s.unnamed16789___U2; + r0 = pxsim_Array__length(s.unnamed16788___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 10; continue; } + r0 = pxsim_Array__getAt(s.unnamed16788___U1, s.unnamed16789___U2); + s.s___797804 = (r0); + s.tmp_2 = if___draw_2_mk(s); + s.tmp_2.arg0 = s.s___797804; + r0 = s.arg0.fields["camera"]; + s.tmp_2.arg1 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__draw"), 2); + s.callLocIdx = 937; s.pc = 15; return s.tmp_2; + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["__draw"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["__draw"], 2); s.callLocIdx = 937; s.pc = 15; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 937; s.pc = 15; return s.tmp_2;; } + else { s.callLocIdx = 937; s.pc = 15; return s.tmp_2; } + } + case 15: + r0 = s.retval; + r0 = (s.unnamed16789___U2 + 1); + s.unnamed16789___U2 = (r0); + { step = 9; continue; } + case 10: + s.unnamed16788___U1 = (undefined); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & -5); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + case 11: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_render__P792561.info = {"start":8203,"length":917,"line":228,"column":8,"endLine":252,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"render","argumentNames":["this"]} + +function scene_Scene_render__P792561_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_render__P792561, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + s___797804: undefined, + unnamed16788___U1: undefined, + unnamed16789___U2: undefined, + arg0: undefined, +} } + + + + + +function scene_Scene_render_inline__P797781(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_2 = if_z_1_mk(s); + s.tmp_2.arg0 = s.arg0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "z"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["z"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["z"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 932; s.pc = 3; return s.tmp_2; } + } + case 3: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = if_z_1_mk(s); + s.tmp_4.arg0 = s.arg1; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "z"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["z"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["z"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 933; s.pc = 4; return s.tmp_4; } + } + case 4: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_6 = if_id_1_mk(s); + s.tmp_6.arg0 = s.arg0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "id"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["id"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["id"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 934; s.pc = 5; return s.tmp_6; } + } + case 5: + r0 = s.retval; + s.tmp_5 = r0; + s.tmp_8 = if_id_1_mk(s); + s.tmp_8.arg0 = s.arg1; + if (!s.tmp_8.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "id"); + } else { + s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["id"]; + if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["id"]; } + else if (!s.tmp_8.fn.isGetter) { s.retval = bind(s.tmp_8); } + else { s.callLocIdx = 935; s.pc = 6; return s.tmp_8; } + } + case 6: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_5 - s.tmp_7); + case 2: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = s.tmp_9; + return leave(s, r0) + default: oops() +} } } +scene_Scene_render_inline__P797781.info = {"start":8781,"length":52,"line":242,"column":37,"endLine":242,"endColumn":89,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["a","b"]} + +function scene_Scene_render_inline__P797781_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_render_inline__P797781, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_Background_draw__P792367(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Background__C792358_VT)) failedCast(r0); + r0 = s.arg0.fields["color"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.fill(globals.screen___791721, s.tmp_0); + r0 = s.arg0.fields["_image"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["_image"]; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___791721, s.tmp_1, 0, 0); + case 1: + case 2: + r0 = s.arg0.fields["_layers"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkAction(1, scene_Background_draw_inline__P797952); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + s.tmp_2 = helpers_arrayForEach__P789797_mk(s); + r0 = s.arg0.fields["_layers"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 793; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Background_draw__P792367.info = {"start":1166,"length":545,"line":48,"column":8,"endLine":60,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"draw","argumentNames":["this"]} + +function scene_Background_draw__P792367_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_draw__P792367, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function scene_Background_draw_inline__P797952(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ox___797954 = undefined; + s.oy___797965 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.caps[0].fields["camera"]; + r0 = r0.fields["drawOffsetX"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["distance"]; + s.tmp_3 = r0; + r0 = (1 + s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_1 / s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim.Math_.round(s.tmp_0); + s.ox___797954 = (r0); + r0 = s.caps[0].fields["camera"]; + r0 = r0.fields["drawOffsetY"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["distance"]; + s.tmp_3 = r0; + r0 = (1 + s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_1 / s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim.Math_.round(s.tmp_0); + s.oy___797965 = (r0); + s.tmp_0 = scene_BackgroundLayer_draw__P792376_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.ox___797954; + s.tmp_0.arg2 = s.oy___797965; + s.callLocIdx = 792; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Background_draw_inline__P797952.info = {"start":1373,"length":312,"line":53,"column":37,"endLine":58,"endColumn":17,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["layer"]} + +function scene_Background_draw_inline__P797952_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_draw_inline__P797952, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + ox___797954: undefined, + oy___797965: undefined, + arg0: undefined, +} } + + + + + +function scene_BackgroundLayer_draw__P792376(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.w___797983 = undefined; + s.h___797986 = undefined; + s.pw___797989 = undefined; + s.ph___797993 = undefined; + s.rx___798002 = undefined; + s.ry___798005 = undefined; + s.y___798074 = undefined; + s.py___798075 = undefined; + s.dh___798084 = undefined; + s.x___798092 = undefined; + s.rxl___798093 = undefined; + s.px___798099 = undefined; + s.dw___798103 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_BackgroundLayer__C792368_VT)) failedCast(r0); + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.w___797983 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.h___797986 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_0); + s.pw___797989 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_0); + s.ph___797993 = (r0); + r0 = pxsim_numops_toBoolDecr(s.pw___797989); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_numops_toBoolDecr(s.ph___797993); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + { step = 23; continue; } + case 3: + case 4: + r0 = (0 - s.arg1); + s.rx___798002 = (r0); + r0 = (0 - s.arg2); + s.ry___798005 = (r0); + r0 = s.arg0.fields["alignX"]; + s.tmp_0 = r0; + r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); + if (r0) { step = 5; continue; } + r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0); + if (r0) { step = 6; continue; } + r0 = s.tmp_0; + { step = 7; continue; } + case 5: + s.tmp_1 = r0 = s.rx___798002; + r0 = (s.w___797983 + s.pw___797989); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.rx___798002 = (r0); + { step = 7; continue; } + case 6: + s.tmp_0 = r0 = s.rx___798002; + r0 = (s.w___797983 + s.pw___797989); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.rx___798002 = (r0); + case 7: + r0 = s.arg0.fields["alignY"]; + s.tmp_0 = r0; + r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0); + if (r0) { step = 8; continue; } + r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0); + if (r0) { step = 9; continue; } + r0 = s.tmp_0; + { step = 10; continue; } + case 8: + s.tmp_1 = r0 = s.ry___798005; + r0 = (s.h___797986 + s.ph___797993); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.ry___798005 = (r0); + { step = 10; continue; } + case 9: + s.tmp_0 = r0 = s.ry___798005; + r0 = (s.h___797986 + s.ph___797993); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.ry___798005 = (r0); + case 10: + r0 = (s.rx___798002 % s.w___797983); + s.rx___798002 = (r0); + r0 = (s.rx___798002 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + r0 = (s.rx___798002 + s.w___797983); + s.rx___798002 = (r0); + case 11: + case 12: + r0 = (s.ry___798005 % s.h___797986); + s.ry___798005 = (r0); + r0 = (s.ry___798005 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = (s.ry___798005 + s.h___797986); + s.ry___798005 = (r0); + case 13: + case 14: + r0 = pxsim.Math_.floor(s.rx___798002); + s.rx___798002 = (r0); + r0 = pxsim.Math_.floor(s.ry___798005); + s.ry___798005 = (r0); + s.y___798074 = (0); + s.py___798075 = (0); + case 15: + r0 = (s.y___798074 < s.h___797986); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = (s.y___798074 % s.ph___797993); + s.py___798075 = (r0); + s.tmp_0 = Math_min__P789819_mk(s); + r0 = (s.ph___797993 - s.py___798075); + s.tmp_0.arg0 = r0; + r0 = (s.h___797986 - s.ry___798005); + s.tmp_0.arg1 = r0; + s.callLocIdx = 795; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.dh___798084 = (r0); + s.x___798092 = (0); + s.rxl___798093 = (s.rx___798002); + case 16: + r0 = (s.x___798092 < s.w___797983); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 19; continue; } + r0 = (s.x___798092 % s.pw___797989); + s.px___798099 = (r0); + s.tmp_0 = Math_min__P789819_mk(s); + r0 = (s.pw___797989 - s.px___798099); + s.tmp_0.arg0 = r0; + r0 = (s.w___797983 - s.rxl___798093); + s.tmp_0.arg1 = r0; + s.callLocIdx = 796; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.dw___798103 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.drawImage(globals.screen___791721, s.tmp_0, s.rxl___798093, s.ry___798005); + r0 = (s.rxl___798093 + s.dw___798103); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.w___797983); + s.rxl___798093 = (r0); + r0 = s.arg0.fields["repeatX"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 17; continue; } + r0 = s.dw___798103; + { step = 18; continue; } + case 17: + r0 = s.w___797983; + case 18: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.x___798092 + s.tmp_1); + s.x___798092 = (r0); + { step = 16; continue; } + case 19: + r0 = (s.ry___798005 + s.dh___798084); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.h___797986); + s.ry___798005 = (r0); + r0 = s.arg0.fields["repeatY"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + r0 = s.dh___798084; + { step = 21; continue; } + case 20: + r0 = s.h___797986; + case 21: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.y___798074 + s.tmp_1); + s.y___798074 = (r0); + { step = 15; continue; } + case 22: + case 23: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_BackgroundLayer_draw__P792376.info = {"start":3063,"length":1537,"line":99,"column":8,"endLine":144,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"draw","argumentNames":["this","offsetX","offsetY"]} + +function scene_BackgroundLayer_draw__P792376_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_BackgroundLayer_draw__P792376, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + w___797983: undefined, + h___797986: undefined, + pw___797989: undefined, + ph___797993: undefined, + rx___798002: undefined, + ry___798005: undefined, + y___798074: undefined, + py___798075: undefined, + dh___798084: undefined, + x___798092: undefined, + rxl___798093: undefined, + px___798099: undefined, + dw___798103: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_arraySort__P789793(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_Array__length(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_2 > 1); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + s.arg1 = (helpers_arraySort_inline__P797826); + case 3: + case 4: + s.tmp_0 = helpers_sortHelper__P794028_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 2; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +helpers_arraySort__P789793.info = {"start":5663,"length":859,"line":207,"column":4,"endLine":227,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySort","argumentNames":["arr","callbackfn"]} + +function helpers_arraySort__P789793_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySort__P789793, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_arraySort_inline__P797826(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.aIsUndef___797829 = undefined; + s.bIsUndef___797833 = undefined; + s.aIsNull___797844 = undefined; + s.bIsNull___797848 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 === undefined); + s.aIsUndef___797829 = (r0); + r0 = (s.arg1 === undefined); + s.bIsUndef___797833 = (r0); + s.tmp_0 = r0 = s.aIsUndef___797829; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.bIsUndef___797833; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = 0; + { step = 17; continue; } + { step = 8; continue; } + case 3: + r0 = pxsim_numops_toBoolDecr(s.aIsUndef___797829); + if (!r0) { step = 4; continue; } + r0 = 1; + { step = 17; continue; } + { step = 7; continue; } + case 4: + r0 = pxsim_numops_toBoolDecr(s.bIsUndef___797833); + if (!r0) { step = 5; continue; } + r0 = -1; + { step = 17; continue; } + case 5: + case 6: + case 7: + case 8: + r0 = (s.arg0 === null); + s.aIsNull___797844 = (r0); + r0 = (s.arg1 === null); + s.bIsNull___797848 = (r0); + s.tmp_0 = r0 = s.aIsNull___797844; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 9; continue; } + r0 = s.tmp_0; + { step = 10; continue; } + case 9: + r0 = s.bIsNull___797848; + case 10: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 11; continue; } + r0 = 0; + { step = 17; continue; } + { step = 16; continue; } + case 11: + r0 = pxsim_numops_toBoolDecr(s.aIsNull___797844); + if (!r0) { step = 12; continue; } + r0 = 1; + { step = 17; continue; } + { step = 15; continue; } + case 12: + r0 = pxsim_numops_toBoolDecr(s.bIsNull___797848); + if (!r0) { step = 13; continue; } + r0 = -1; + { step = 17; continue; } + case 13: + case 14: + case 15: + case 16: + if ((s.arg0) && (s.arg0).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.arg0); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg0) + ""; } + case 18: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_4); + s.tmp_2 = r0; + if ((s.arg1) && (s.arg1).vtable) { + setupResume(s, 19); + pxsim_String__stringConv(s.arg1); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg1) + ""; } + case 19: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_7 = r0; + r0 = pxsim_String__concat(s.tmp_6, s.tmp_7); + s.tmp_5 = r0; + r0 = pxsim_String_.compare(s.tmp_2, s.tmp_5); + case 17: + return leave(s, r0) + default: oops() +} } } +helpers_arraySort_inline__P797826.info = {"start":5826,"length":636,"line":209,"column":25,"endLine":224,"endColumn":13,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"inline","argumentNames":["a","b"]} + +function helpers_arraySort_inline__P797826_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySort_inline__P797826, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + aIsUndef___797829: undefined, + bIsUndef___797833: undefined, + aIsNull___797844: undefined, + bIsNull___797848: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_sortHelper__P794028(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.len___797883 = undefined; + s.i___797886 = undefined; + s.j___797892 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__length(s.arg0); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + r0 = s.arg0; + { step = 11; continue; } + case 3: + case 4: + r0 = pxsim_Array__length(s.arg0); + s.len___797883 = (r0); + s.i___797886 = (0); + case 5: + s.tmp_1 = r0 = s.i___797886; + r0 = (s.len___797883 - 1); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 10; continue; } + r0 = (s.i___797886 + 1); + s.j___797892 = (r0); + case 6: + r0 = (s.j___797892 < s.len___797883); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tmp_3 = lambda_3_mk(s); + s.tmp_3.argL = s.arg1; + r0 = pxsim_Array__getAt(s.arg0, s.i___797886); + s.tmp_3.arg0 = r0; + r0 = pxsim_Array__getAt(s.arg0, s.j___797892); + s.tmp_3.arg1 = r0; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 0; s.pc = 12; return s.tmp_3; + case 12: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 > 0); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 7; continue; } + s.tmp_4 = helpers_swap__P794027_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.i___797886; + s.tmp_4.arg2 = s.j___797892; + s.callLocIdx = 1; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + case 7: + case 8: + r0 = (s.j___797892 + 1); + s.j___797892 = (r0); + { step = 6; continue; } + case 9: + r0 = (s.i___797886 + 1); + s.i___797886 = (r0); + { step = 5; continue; } + case 10: + r0 = s.arg0; + case 11: + return leave(s, r0) + default: oops() +} } } +helpers_sortHelper__P794028.info = {"start":5176,"length":481,"line":191,"column":4,"endLine":205,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sortHelper","argumentNames":["arr","callbackfn"]} + +function helpers_sortHelper__P794028_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_sortHelper__P794028, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + len___797883: undefined, + i___797886: undefined, + j___797892: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_swap__P794027(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.temp___797921 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__getAt(s.arg0, s.arg1); + s.temp___797921 = (r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + r0 = pxsim_Array__getAt(s.arg0, s.arg2); + s.tmp_2 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2); + r0 = pxsim_Array_.setAt(s.arg0, s.arg2, s.temp___797921); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_swap__P794027.info = {"start":5030,"length":140,"line":185,"column":4,"endLine":189,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"swap","argumentNames":["arr","i","j"]} + +function helpers_swap__P794027_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_swap__P794027, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + temp___797921: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_Camera_update__P792487(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.elapsed___798190 = undefined; + s.percentComplete___798204 = undefined; + s.damp___798211 = undefined; + s.f___798220 = undefined; + s.x___798226 = undefined; + s.y___798233 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["sprite"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = r0 = s.arg0; + s.tmp_3 = Sprite_x__P792043_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 891; s.pc = 9; return s.tmp_3; + case 9: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_lastUpdatedSpriteX"] = (s.tmp_2); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Sprite_y__P792045_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 892; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_lastUpdatedSpriteY"] = (s.tmp_1); + s.tmp_0 = scene_Camera_offsetX__P792476_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_x__P792043_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 893; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0.arg1 = r0; + s.callLocIdx = 894; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = scene_Camera_offsetY__P792478_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_y__P792045_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 895; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0.arg1 = r0; + s.callLocIdx = 896; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + case 1: + case 2: + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["_offsetX"]; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["drawOffsetX"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["_offsetY"]; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["drawOffsetY"] = (s.tmp_1); + r0 = s.arg0.fields["shakeStartTime"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = pxsim.control.millis(); + s.tmp_2 = r0; + r0 = s.arg0.fields["shakeStartTime"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 - s.tmp_3); + s.elapsed___798190 = (r0); + r0 = s.arg0.fields["shakeDuration"]; + s.tmp_1 = r0; + r0 = (s.elapsed___798190 >= s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = (s.arg0).fields["shakeStartTime"] = (undefined); + { step = 6; continue; } + case 3: + r0 = s.arg0.fields["shakeDuration"]; + s.tmp_0 = r0; + r0 = (s.elapsed___798190 / s.tmp_0); + s.percentComplete___798204 = (r0); + s.damp___798211 = (1); + r0 = (s.percentComplete___798204 >= 0.75); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_1 = Math_max__P789818_mk(s); + s.tmp_1.arg0 = 0; + r0 = (1 - s.percentComplete___798204); + s.tmp_1.arg1 = r0; + s.callLocIdx = 899; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.damp___798211 = (r0); + case 4: + case 5: + r0 = s.arg0.fields["shakeAmplitude"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 * s.damp___798211); + s.f___798220 = (r0); + r0 = pxsim.Math_.random(); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.f___798220); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 0); + s.x___798226 = (r0); + r0 = pxsim.Math_.random(); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.f___798220); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 0); + s.y___798233 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["drawOffsetX"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.x___798226); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["drawOffsetX"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["drawOffsetY"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.y___798233); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["drawOffsetY"] = (s.tmp_1); + case 6: + case 7: + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Camera_update__P792487.info = {"start":2563,"length":1418,"line":83,"column":8,"endLine":116,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"update","argumentNames":["this"]} + +function scene_Camera_update__P792487_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_update__P792487, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + elapsed___798190: undefined, + percentComplete___798204: undefined, + damp___798211: undefined, + f___798220: undefined, + x___798226: undefined, + y___798233: undefined, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetY__P792478(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___798252 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 882; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.scene___798252 = (r0); + r0 = s.scene___798252.fields["tileMap"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.scene___798252.fields["tileMap"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["_map"]; + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 3; continue; } + s.tmp_7 = r0 = s.arg0; + s.tmp_10 = tiles_TileMap_offsetY__P792431_mk(s); + r0 = s.scene___798252.fields["tileMap"]; + s.tmp_10.arg0 = r0; + s.tmp_10.arg1 = s.arg1; + s.callLocIdx = 884; s.pc = 6; return s.tmp_10; + case 6: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim.Math_.floor(s.tmp_9); + s.tmp_8 = r0; + r0 = (s.tmp_7).fields["_offsetY"] = (s.tmp_8); + { step = 4; continue; } + case 3: + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.Math_.floor(s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_offsetY"] = (s.tmp_1); + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Camera_offsetY__P792478.info = {"start":1152,"length":291,"line":39,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this","v"]} + +function scene_Camera_offsetY__P792478_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetY__P792478, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + scene___798252: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_enabled__P792436(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMap_enabled__P792436.info = {"start":10177,"length":66,"line":351,"column":8,"endLine":353,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"enabled","argumentNames":["this"]} +tiles_TileMap_enabled__P792436.isGetter = true; + +function tiles_TileMap_enabled__P792436_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_enabled__P792436, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function tiles_TileMap_offsetY__P792431(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + s.tmp_0 = Math_clamp__P789815_mk(s); + s.tmp_0.arg0 = 0; + s.tmp_1 = Math_max__P789818_mk(s); + s.tmp_3 = tiles_TileMap_areaHeight__P792433_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 821; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 822; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 823; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_offsetY__P792431.info = {"start":9630,"length":123,"line":329,"column":8,"endLine":331,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetY","argumentNames":["this","value"]} + +function tiles_TileMap_offsetY__P792431_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_offsetY__P792431, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_areaHeight__P792433(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["_map"]; + s.tmp_2 = r0; + r0 = s.tmp_2.fields["_height"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_3 = r0; + r0 = (s.tmp_1 << s.tmp_3); + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_areaHeight__P792433.info = {"start":9864,"length":93,"line":337,"column":8,"endLine":339,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaHeight","argumentNames":["this"]} + +function tiles_TileMap_areaHeight__P792433_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_areaHeight__P792433, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function tiles_TileMap_scale__P792427(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMap_scale__P792427.info = {"start":9205,"length":55,"line":310,"column":8,"endLine":312,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} +tiles_TileMap_scale__P792427.isGetter = true; + +function tiles_TileMap_scale__P792427_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_scale__P792427, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_TileMapData_height__P792409(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = s.arg0.fields["_height"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMapData_height__P792409.info = {"start":6489,"length":65,"line":218,"column":8,"endLine":220,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"height","argumentNames":["this"]} +tiles_TileMapData_height__P792409.isGetter = true; + +function tiles_TileMapData_height__P792409_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_height__P792409, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetY__P792477(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetY"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_offsetY__P792477.info = {"start":1084,"length":59,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this"]} +scene_Camera_offsetY__P792477.isGetter = true; + +function scene_Camera_offsetY__P792477_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetY__P792477, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetX__P792476(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___798312 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 879; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.scene___798312 = (r0); + r0 = s.scene___798312.fields["tileMap"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.scene___798312.fields["tileMap"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["_map"]; + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 3; continue; } + s.tmp_7 = r0 = s.arg0; + s.tmp_10 = tiles_TileMap_offsetX__P792430_mk(s); + r0 = s.scene___798312.fields["tileMap"]; + s.tmp_10.arg0 = r0; + s.tmp_10.arg1 = s.arg1; + s.callLocIdx = 881; s.pc = 6; return s.tmp_10; + case 6: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim.Math_.floor(s.tmp_9); + s.tmp_8 = r0; + r0 = (s.tmp_7).fields["_offsetX"] = (s.tmp_8); + { step = 4; continue; } + case 3: + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.Math_.floor(s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_offsetX"] = (s.tmp_1); + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Camera_offsetX__P792476.info = {"start":784,"length":291,"line":28,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this","v"]} + +function scene_Camera_offsetX__P792476_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetX__P792476, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + scene___798312: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_offsetX__P792430(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + s.tmp_0 = Math_clamp__P789815_mk(s); + s.tmp_0.arg0 = 0; + s.tmp_1 = Math_max__P789818_mk(s); + s.tmp_3 = tiles_TileMap_areaWidth__P792432_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 818; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 819; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 820; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_offsetX__P792430.info = {"start":9499,"length":121,"line":325,"column":8,"endLine":327,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"offsetX","argumentNames":["this","value"]} + +function tiles_TileMap_offsetX__P792430_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_offsetX__P792430, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_areaWidth__P792432(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["_map"]; + s.tmp_2 = r0; + r0 = s.tmp_2.fields["_width"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_3 = r0; + r0 = (s.tmp_1 << s.tmp_3); + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_areaWidth__P792432.info = {"start":9763,"length":91,"line":333,"column":8,"endLine":335,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaWidth","argumentNames":["this"]} + +function tiles_TileMap_areaWidth__P792432_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_areaWidth__P792432, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function tiles_TileMapData_width__P792408(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = s.arg0.fields["_width"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMapData_width__P792408.info = {"start":6416,"length":63,"line":214,"column":8,"endLine":216,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"width","argumentNames":["this"]} +tiles_TileMapData_width__P792408.isGetter = true; + +function tiles_TileMapData_width__P792408_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_width__P792408, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetX__P792475(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetX"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_offsetX__P792475.info = {"start":716,"length":59,"line":25,"column":8,"endLine":27,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this"]} +scene_Camera_offsetX__P792475.isGetter = true; + +function scene_Camera_offsetX__P792475_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetX__P792475, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Sprite_y__P792045(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_y"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["_height"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_4 = r0; + r0 = pxsim.Math_.idiv(s.tmp_4, 512); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_y__P792045.info = {"start":2893,"length":100,"line":121,"column":4,"endLine":123,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"y","argumentNames":["this"]} +Sprite_y__P792045.isGetter = true; + +function Sprite_y__P792045_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_y__P792045, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function Fx_toFloat__P789861(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 / 256); + return leave(s, r0) + default: oops() +} } } +Fx_toFloat__P789861.info = {"start":2470,"length":81,"line":77,"column":4,"endLine":79,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toFloat","argumentNames":["v"]} + +function Fx_toFloat__P789861_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_toFloat__P789861, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Fx_div__P789850(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 << 8); + s.tmp_0 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_div__P789850.info = {"start":1145,"length":129,"line":35,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"div","argumentNames":["a","b"]} + +function Fx_div__P789850_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_div__P789850, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_add__P789845(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 + s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_add__P789845.info = {"start":511,"length":118,"line":20,"column":4,"endLine":22,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"add","argumentNames":["a","b"]} + +function Fx_add__P789845_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_add__P789845, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_x__P792043(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_x"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["_width"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_4 = r0; + r0 = pxsim.Math_.idiv(s.tmp_4, 512); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_x__P792043.info = {"start":2537,"length":99,"line":110,"column":4,"endLine":112,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"x","argumentNames":["this"]} +Sprite_x__P792043.isGetter = true; + +function Sprite_x__P792043_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_x__P792043, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function PhysicsEngine_move__P792206(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C792200_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_move__P792206.info = {"start":351,"length":20,"line":18,"column":4,"endLine":18,"endColumn":24,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]} + +function PhysicsEngine_move__P792206_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_move__P792206, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function PhysicsEngine_draw__P792205(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C792200_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_draw__P792205.info = {"start":279,"length":10,"line":15,"column":4,"endLine":15,"endColumn":14,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]} + +function PhysicsEngine_draw__P792205_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_draw__P792205, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller___update__P791854(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.dtms___798644 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 * 1000); + s.tmp_0 = r0; + r0 = (s.tmp_0 | 0); + s.dtms___798644 = (r0); + r0 = pxsim_pxtcore_mkAction(1, controller___update_inline__P798651); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___798644); + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + s.tmp_2 = controller_players__P791818_mk(s); + s.callLocIdx = 193; s.pc = 2; return s.tmp_2; + case 2: + r0 = s.retval; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 195; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller___update__P791854.info = {"start":13733,"length":137,"line":414,"column":4,"endLine":417,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["dt"]} + +function controller___update__P791854_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller___update__P791854, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + dtms___798644: undefined, + arg0: undefined, +} } + + + + + +function controller___update_inline__P798651(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = controller_Controller___update__P791852_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + s.callLocIdx = 194; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller___update_inline__P798651.info = {"start":13835,"length":27,"line":416,"column":26,"endLine":416,"endColumn":53,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} + +function controller___update_inline__P798651_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller___update_inline__P798651, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___update__P791852(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = pxsim_pxtrt.mklocRef(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1); + s.arg1 = (s.tmp_0); + s.tmp_1 = r0 = s.arg1; + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_3 = r0; + r0 = (s.tmp_3 | 0); + s.tmp_2 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2); + r0 = pxsim_pxtcore_mkAction(1, controller_Controller___update_inline__P798664); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + r0 = s.arg0.fields["buttons"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 192; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller___update__P791852.info = {"start":13211,"length":124,"line":396,"column":8,"endLine":399,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]} + +function controller_Controller___update__P791852_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___update__P791852, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Controller___update_inline__P798664(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = controller_Button___update__P791892_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_0.arg1 = r0; + s.callLocIdx = 191; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller___update_inline__P798664.info = {"start":13298,"length":25,"line":398,"column":33,"endLine":398,"endColumn":58,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["btn"]} + +function controller_Controller___update_inline__P798664_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___update_inline__P798664, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Button___update__P791892(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.delay___798680 = undefined; + s.interval___798689 = undefined; + s.count___798702 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 11; continue; } + case 1: + case 2: + s.tmp_3 = r0 = s.arg0; + r0 = s.tmp_3.fields["_pressedElasped"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 + s.arg1); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["_pressedElasped"] = (s.tmp_4); + r0 = s.arg0.fields["repeatDelay"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = globals.defaultRepeatDelay___794405; + { step = 4; continue; } + case 3: + r0 = s.arg0.fields["repeatDelay"]; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + s.delay___798680 = (s.tmp_2); + r0 = s.arg0.fields["repeatInterval"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = globals.defaultRepeatInterval___794407; + { step = 6; continue; } + case 5: + r0 = s.arg0.fields["repeatInterval"]; + case 6: + // jmp value (already in r0) + s.tmp_2 = r0; + s.interval___798689 = (s.tmp_2); + r0 = s.arg0.fields["_pressedElasped"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 < s.delay___798680); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + { step = 11; continue; } + case 7: + case 8: + r0 = s.arg0.fields["_pressedElasped"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.delay___798680); + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.interval___798689); + s.tmp_3 = r0; + r0 = (s.tmp_3 / s.interval___798689); + s.tmp_2 = r0; + r0 = pxsim.Math_.floor(s.tmp_2); + s.count___798702 = (r0); + r0 = s.arg0.fields["_repeatCount"]; + s.tmp_1 = r0; + r0 = (s.count___798702 != s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tmp_2 = controller_Button_raiseButtonRepeat__P794394_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 207; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + r0 = (s.arg0).fields["_repeatCount"] = (s.count___798702); + case 9: + case 10: + case 11: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button___update__P791892.info = {"start":7291,"length":704,"line":217,"column":8,"endLine":234,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"__update","argumentNames":["this","dtms"]} + +function controller_Button___update__P791892_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button___update__P791892, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + delay___798680: undefined, + interval___798689: undefined, + count___798702: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_raiseButtonRepeat__P794394(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___794403); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2054, s.tmp_0); + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2055, s.tmp_0); + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_raiseButtonRepeat__P794394.info = {"start":3303,"length":211,"line":110,"column":8,"endLine":115,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonRepeat","argumentNames":["this"]} + +function controller_Button_raiseButtonRepeat__P794394_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_raiseButtonRepeat__P794394, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_players__P791818(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = controller__player1__P791817_mk(s); + s.callLocIdx = 152; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = helpers_arrayFilter__P789798_mk(s); + s.tmp_0.arg0 = globals._players___794323; + s.tmp_0.arg1 = controller_players_inline__P798634; + s.callLocIdx = 153; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +controller_players__P791818.info = {"start":1645,"length":144,"line":53,"column":4,"endLine":56,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"players","argumentNames":[]} + +function controller_players__P791818_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_players__P791818, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_players_inline__P798634(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +controller_players_inline__P798634.info = {"start":1767,"length":14,"line":55,"column":31,"endLine":55,"endColumn":45,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} + +function controller_players_inline__P798634_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_players_inline__P798634, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function helpers_arrayFilter__P789798(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.res___798553 = undefined; + s.len___798555 = undefined; + s.i___798558 = undefined; + s.v___798563 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___798553 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___798555 = (r0); + s.i___798558 = (0); + case 1: + r0 = (s.i___798558 < s.len___798555); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.arg0, s.i___798558); + s.v___798563 = (r0); + s.tmp_1 = lambda_3_mk(s); + s.tmp_1.argL = s.arg1; + s.tmp_1.arg0 = s.v___798563; + s.tmp_1.arg1 = s.i___798558; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 6; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__push(s.res___798553, s.v___798563); + case 2: + case 3: + r0 = (s.i___798558 + 1); + s.i___798558 = (r0); + { step = 1; continue; } + case 4: + r0 = s.res___798553; + return leave(s, r0) + default: oops() +} } } +helpers_arrayFilter__P789798.info = {"start":7695,"length":317,"line":261,"column":4,"endLine":269,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayFilter","argumentNames":["arr","callbackfn"]} + +function helpers_arrayFilter__P789798_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayFilter__P789798, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + res___798553: undefined, + len___798555: undefined, + i___798558: undefined, + v___798563: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller__moveSprites__P791822(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = helpers_arrayForEach__P789797_mk(s); + s.tmp_1 = controller_players__P791818_mk(s); + s.callLocIdx = 154; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = controller__moveSprites_inline__P798403; + s.callLocIdx = 156; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller__moveSprites__P791822.info = {"start":2005,"length":180,"line":67,"column":4,"endLine":71,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_moveSprites","argumentNames":[]} + +function controller__moveSprites__P791822_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__moveSprites__P791822, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function controller__moveSprites_inline__P798403(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = controller_Controller___preUpdate__P791851_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 155; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller__moveSprites_inline__P798403.info = {"start":2151,"length":26,"line":70,"column":26,"endLine":70,"endColumn":52,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} + +function controller__moveSprites_inline__P798403_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__moveSprites_inline__P798403, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___preUpdate__P791851(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.deadSprites___798410 = undefined; + s.svx___798411 = undefined; + s.svy___798412 = undefined; + s.svxInCricle___798447 = undefined; + s.svyInCircle___798449 = undefined; + s.sq___798451 = undefined; + s.scale___798466 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + s.tmp_3 = controller_Controller__controlledSprites__P791828_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 166; s.pc = 18; return s.tmp_3; + case 18: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 17; continue; } + case 1: + case 2: + r0 = pxsim_pxtrt.mklocRef(); + s.deadSprites___798410 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.deadSprites___798410, false); + r0 = pxsim_pxtrt.mklocRef(); + s.svx___798411 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.svx___798411, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.svy___798412 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.svy___798412, 0); + r0 = s.arg0.fields["analog"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_1 = r0 = s.svx___798411; + s.tmp_5 = controller_Button_pressureLevel__P791890_mk(s); + s.tmp_6 = controller_Controller_right__P791833_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 167; s.pc = 20; return s.tmp_6; + case 20: + r0 = s.retval; + s.tmp_5.arg0 = r0; + s.callLocIdx = 168; s.pc = 19; return s.tmp_5; + case 19: + r0 = s.retval; + s.tmp_4 = r0; + s.tmp_8 = controller_Button_pressureLevel__P791890_mk(s); + s.tmp_9 = controller_Controller_left__P791832_mk(s); + s.tmp_9.arg0 = s.arg0; + s.callLocIdx = 169; s.pc = 22; return s.tmp_9; + case 22: + r0 = s.retval; + s.tmp_8.arg0 = r0; + s.callLocIdx = 170; s.pc = 21; return s.tmp_8; + case 21: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_4 - s.tmp_7); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_1, s.tmp_2); + s.tmp_0 = r0 = s.svy___798412; + s.tmp_4 = controller_Button_pressureLevel__P791890_mk(s); + s.tmp_5 = controller_Controller_down__P791835_mk(s); + s.tmp_5.arg0 = s.arg0; + s.callLocIdx = 171; s.pc = 24; return s.tmp_5; + case 24: + r0 = s.retval; + s.tmp_4.arg0 = r0; + s.callLocIdx = 172; s.pc = 23; return s.tmp_4; + case 23: + r0 = s.retval; + s.tmp_3 = r0; + s.tmp_7 = controller_Button_pressureLevel__P791890_mk(s); + s.tmp_8 = controller_Controller_up__P791834_mk(s); + s.tmp_8.arg0 = s.arg0; + s.callLocIdx = 173; s.pc = 26; return s.tmp_8; + case 26: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.callLocIdx = 174; s.pc = 25; return s.tmp_7; + case 25: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_3 - s.tmp_6); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + { step = 12; continue; } + case 3: + s.tmp_1 = controller_Button__C791878_v0_1_mk(s); + s.tmp_2 = controller_Controller_right__P791833_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 175; s.pc = 28; return s.tmp_2; + case 28: + r0 = s.retval; + s.tmp_1.arg0 = r0; + if (!checkSubtype(s.tmp_1.arg0, controller_Button__C791878_VT)) failedCast(s.tmp_1.arg0); + s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.isPressed; + s.pc = 27; return s.tmp_1; + case 27: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = 256; + { step = 5; continue; } + case 4: + r0 = 0; + case 5: + // jmp value (already in r0) + s.tmp_3 = r0; + s.tmp_5 = controller_Button__C791878_v0_1_mk(s); + s.tmp_6 = controller_Controller_left__P791832_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 176; s.pc = 30; return s.tmp_6; + case 30: + r0 = s.retval; + s.tmp_5.arg0 = r0; + if (!checkSubtype(s.tmp_5.arg0, controller_Button__C791878_VT)) failedCast(s.tmp_5.arg0); + s.tmp_5.fn = s.tmp_5.arg0.vtable.methods.isPressed; + s.pc = 29; return s.tmp_5; + case 29: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 6; continue; } + r0 = 256; + { step = 7; continue; } + case 6: + r0 = 0; + case 7: + // jmp value (already in r0) + s.tmp_7 = r0; + s.tmp_8 = r0 = s.svx___798411; + r0 = (s.tmp_3 - s.tmp_7); + s.tmp_9 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_8, s.tmp_9); + s.tmp_1 = controller_Button__C791878_v0_1_mk(s); + s.tmp_2 = controller_Controller_down__P791835_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 177; s.pc = 32; return s.tmp_2; + case 32: + r0 = s.retval; + s.tmp_1.arg0 = r0; + if (!checkSubtype(s.tmp_1.arg0, controller_Button__C791878_VT)) failedCast(s.tmp_1.arg0); + s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.isPressed; + s.pc = 31; return s.tmp_1; + case 31: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + r0 = 256; + { step = 9; continue; } + case 8: + r0 = 0; + case 9: + // jmp value (already in r0) + s.tmp_3 = r0; + s.tmp_5 = controller_Button__C791878_v0_1_mk(s); + s.tmp_6 = controller_Controller_up__P791834_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 178; s.pc = 34; return s.tmp_6; + case 34: + r0 = s.retval; + s.tmp_5.arg0 = r0; + if (!checkSubtype(s.tmp_5.arg0, controller_Button__C791878_VT)) failedCast(s.tmp_5.arg0); + s.tmp_5.fn = s.tmp_5.arg0.vtable.methods.isPressed; + s.pc = 33; return s.tmp_5; + case 33: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 10; continue; } + r0 = 256; + { step = 11; continue; } + case 10: + r0 = 0; + case 11: + // jmp value (already in r0) + s.tmp_7 = r0; + s.tmp_8 = r0 = s.svy___798412; + r0 = (s.tmp_3 - s.tmp_7); + s.tmp_9 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_8, s.tmp_9); + case 12: + r0 = pxsim_pxtrt.mklocRef(); + s.svxInCricle___798447 = (r0); + s.tmp_0 = r0 = s.svxInCricle___798447; + r0 = pxsim_pxtrt_ldlocRef(s.svx___798411); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt.mklocRef(); + s.svyInCircle___798449 = (r0); + s.tmp_0 = r0 = s.svyInCircle___798449; + r0 = pxsim_pxtrt_ldlocRef(s.svy___798412); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt_ldlocRef(s.svx___798411); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svx___798411); + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svy___798412); + s.tmp_4 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svy___798412); + s.tmp_5 = r0; + r0 = (s.tmp_4 * s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_0 + s.tmp_3); + s.sq___798451 = (r0); + r0 = (s.sq___798451 > 65536); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = (65536 / s.sq___798451); + s.tmp_1 = r0; + r0 = pxsim.Math_.sqrt(s.tmp_1); + s.scale___798466 = (r0); + s.tmp_0 = r0 = s.svxInCricle___798447; + s.tmp_3 = r0 = s.scale___798466; + r0 = pxsim_pxtrt_ldlocRef(s.svx___798411); + s.tmp_4 = r0; + r0 = (s.tmp_3 * s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + s.tmp_0 = r0 = s.svyInCircle___798449; + s.tmp_3 = r0 = s.scale___798466; + r0 = pxsim_pxtrt_ldlocRef(s.svy___798412); + s.tmp_4 = r0; + r0 = (s.tmp_3 * s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + case 13: + case 14: + r0 = pxsim_pxtcore_mkAction(5, controller_Controller___preUpdate_inline__P798484); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___798410); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___798411); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___798412); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.svxInCricle___798447); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.svyInCircle___798449); + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + s.tmp_2 = controller_Controller__controlledSprites__P791828_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 179; s.pc = 36; return s.tmp_2; + case 36: + r0 = s.retval; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 187; s.pc = 35; return s.tmp_1; + case 35: + r0 = s.retval; + r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___798410); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + s.tmp_1 = controller_Controller__controlledSprites__P791829_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = helpers_arrayFilter__P789798_mk(s); + s.tmp_3 = controller_Controller__controlledSprites__P791828_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 188; s.pc = 39; return s.tmp_3; + case 39: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = controller_Controller___preUpdate_inline__P798541; + s.callLocIdx = 189; s.pc = 38; return s.tmp_2; + case 38: + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.callLocIdx = 190; s.pc = 37; return s.tmp_1; + case 37: + r0 = s.retval; + case 15: + case 16: + case 17: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller___preUpdate__P791851.info = {"start":10666,"length":2535,"line":330,"column":8,"endLine":394,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__preUpdate","argumentNames":["this"]} + +function controller_Controller___preUpdate__P791851_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___preUpdate__P791851, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + deadSprites___798410: undefined, + svx___798411: undefined, + svy___798412: undefined, + svxInCricle___798447: undefined, + svyInCircle___798449: undefined, + sq___798451: undefined, + scale___798466: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___preUpdate_inline__P798484(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.s___798487 = undefined; + s.vx___798488 = undefined; + s.vy___798489 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_s_1_mk(s); + s.tmp_1 = r0 = s.arg0; + s.tmp_0.arg0 = r0; + if (!s.tmp_0.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "s"); + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["s"]; + if (s.tmp_0.fn == null) { s.retval = s.tmp_0.arg0.fields["s"]; } + else if (!s.tmp_0.fn.isGetter) { s.retval = bind(s.tmp_0); } + else { s.callLocIdx = 180; s.pc = 22; return s.tmp_0; } + } + case 22: + r0 = s.retval; + s.s___798487 = (r0); + s.tmp_2 = if_vx_1_mk(s); + s.tmp_2.arg0 = s.tmp_1; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "vx"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["vx"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["vx"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 181; s.pc = 23; return s.tmp_2; } + } + case 23: + r0 = s.retval; + s.vx___798488 = (r0); + s.tmp_3 = if_vy_1_mk(s); + s.tmp_3.arg0 = s.tmp_1; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "vy"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["vy"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["vy"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 182; s.pc = 24; return s.tmp_3; } + } + case 24: + r0 = s.retval; + s.vy___798489 = (r0); + r0 = s.s___798487.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtrt_stlocRef(s.caps[0], true); + { step = 21; continue; } + case 1: + case 2: + r0 = s.arg0.fields["_inputLastFrame"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = pxsim_numops_toBoolDecr(s.vx___798488); + if (!r0) { step = 3; continue; } + r0 = (s.s___798487).fields["_vx"] = (0); + case 3: + case 4: + r0 = pxsim_numops_toBoolDecr(s.vy___798489); + if (!r0) { step = 5; continue; } + r0 = (s.s___798487).fields["_vy"] = (0); + case 5: + case 6: + case 7: + case 8: + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = s.tmp_0; + { step = 10; continue; } + case 9: + r0 = pxsim_pxtrt_ldlocRef(s.caps[2]); + case 10: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 19; continue; } + s.tmp_2 = r0 = s.vx___798488; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 11; continue; } + r0 = s.tmp_2; + { step = 12; continue; } + case 11: + r0 = s.vy___798489; + case 12: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 13; continue; } + s.tmp_4 = r0 = s.s___798487; + r0 = pxsim_pxtrt_ldlocRef(s.caps[3]); + s.tmp_6 = r0; + r0 = pxsim.Math_.imul(s.tmp_6, s.vx___798488); + s.tmp_5 = r0; + r0 = (s.tmp_4).fields["_vx"] = (s.tmp_5); + s.tmp_0 = r0 = s.s___798487; + r0 = pxsim_pxtrt_ldlocRef(s.caps[4]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vy___798489); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + { step = 18; continue; } + case 13: + r0 = pxsim_numops_toBoolDecr(s.vx___798488); + if (!r0) { step = 14; continue; } + s.tmp_0 = r0 = s.s___798487; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vx___798488); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); + { step = 17; continue; } + case 14: + r0 = pxsim_numops_toBoolDecr(s.vy___798489); + if (!r0) { step = 15; continue; } + s.tmp_0 = r0 = s.s___798487; + r0 = pxsim_pxtrt_ldlocRef(s.caps[2]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vy___798489); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + case 15: + case 16: + case 17: + case 18: + r0 = (s.arg0).fields["_inputLastFrame"] = (true); + { step = 20; continue; } + case 19: + r0 = (s.arg0).fields["_inputLastFrame"] = (false); + case 20: + case 21: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller___preUpdate_inline__P798484.info = {"start":11849,"length":1171,"line":361,"column":44,"endLine":389,"endColumn":13,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["controlledSprite"]} + +function controller_Controller___preUpdate_inline__P798484_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___preUpdate_inline__P798484, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + s___798487: undefined, + vx___798488: undefined, + vy___798489: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___preUpdate_inline__P798541(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["s"]; + r0 = r0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & 2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +controller_Controller___preUpdate_inline__P798541.info = {"start":13147,"length":42,"line":393,"column":28,"endLine":393,"endColumn":70,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["s"]} + +function controller_Controller___preUpdate_inline__P798541_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___preUpdate_inline__P798541, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function controller_Button_pressureLevel__P791890(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = pxsim.control.deviceDalVersion(); + s.tmp_1 = r0; + r0 = (s.tmp_1 == "sim"); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_3 = controller_Button__C791878_v0_1_mk(s); + s.tmp_3.arg0 = s.arg0; + if (!checkSubtype(s.tmp_3.arg0, controller_Button__C791878_VT)) failedCast(s.tmp_3.arg0); + s.tmp_3.fn = s.tmp_3.arg0.vtable.methods.isPressed; + s.pc = 6; return s.tmp_3; + case 6: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 1; continue; } + r0 = 512; + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + { step = 5; continue; } + { step = 4; continue; } + case 3: + r0 = s.arg0.fields["id"]; + s.tmp_5 = r0; + r0 = pxsim_pxtcore.pressureLevelByButtonId(s.tmp_5, -1); + { step = 5; continue; } + case 4: + r0 = undefined; + case 5: + return leave(s, r0) + default: oops() +} } } +controller_Button_pressureLevel__P791890.info = {"start":6453,"length":311,"line":192,"column":8,"endLine":199,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"pressureLevel","argumentNames":["this"]} + +function controller_Button_pressureLevel__P791890_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_pressureLevel__P791890, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, +} } + + + + + +function controller_Button_isPressed__P791889(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; + return leave(s, r0) + default: oops() +} } } +controller_Button_isPressed__P791889.info = {"start":6303,"length":57,"line":185,"column":8,"endLine":187,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"isPressed","argumentNames":["this"]} + +function controller_Button_isPressed__P791889_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_isPressed__P791889, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_Controller_down__P791835(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; + s.tmp_0 = r0; + r0 = (4 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_down__P791835.info = {"start":4131,"length":77,"line":145,"column":8,"endLine":147,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"down","argumentNames":["this"]} +controller_Controller_down__P791835.isGetter = true; + +function controller_Controller_down__P791835_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_down__P791835, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller_button__P794388(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; + s.tmp_0 = r0; + r0 = (s.arg1 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + return leave(s, r0) + default: oops() +} } } +controller_Controller_button__P794388.info = {"start":6666,"length":105,"line":220,"column":8,"endLine":222,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"button","argumentNames":["this","button"]} + +function controller_Controller_button__P794388_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_button__P794388, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Controller_up__P791834(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; + s.tmp_0 = r0; + r0 = (2 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_up__P791834.info = {"start":3979,"length":73,"line":137,"column":8,"endLine":139,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"up","argumentNames":["this"]} +controller_Controller_up__P791834.isGetter = true; + +function controller_Controller_up__P791834_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_up__P791834, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller_right__P791833(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; + s.tmp_0 = r0; + r0 = (3 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_right__P791833.info = {"start":3823,"length":79,"line":129,"column":8,"endLine":131,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"right","argumentNames":["this"]} +controller_Controller_right__P791833.isGetter = true; + +function controller_Controller_right__P791833_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_right__P791833, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller_left__P791832(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["buttons"]; + s.tmp_0 = r0; + r0 = (1 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_left__P791832.info = {"start":3666,"length":77,"line":121,"column":8,"endLine":123,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"left","argumentNames":["this"]} +controller_Controller_left__P791832.isGetter = true; + +function controller_Controller_left__P791832_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_left__P791832, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller__controlledSprites__P791829(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 160; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = r0.fields["controlledSprites"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["playerIndex"]; + s.tmp_2 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_2, s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller__controlledSprites__P791829.info = {"start":3300,"length":134,"line":105,"column":8,"endLine":107,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this","cps"]} + +function controller_Controller__controlledSprites__P791829_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller__controlledSprites__P791829, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Controller__controlledSprites__P791828(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 159; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = r0.fields["controlledSprites"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["playerIndex"]; + s.tmp_2 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2); + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller__controlledSprites__P791828.info = {"start":3158,"length":132,"line":101,"column":8,"endLine":103,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this"]} +controller_Controller__controlledSprites__P791828.isGetter = true; + +function controller_Controller__controlledSprites__P791828_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller__controlledSprites__P791828, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function Fx_imul__P789849(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim.Math_.imul(s.arg0, s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_imul__P789849.info = {"start":1010,"length":130,"line":32,"column":4,"endLine":34,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"imul","argumentNames":["a","b"]} + +function Fx_imul__P789849_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_imul__P789849, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function power_checkDeepSleep__P791619(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.p___797064 = undefined; + s.to___797067 = undefined; + s.tmp_0 = power_init__P794232_mk(s); + s.callLocIdx = 75; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = r0 = globals._poked___794230; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + s.p___797064 = (s.tmp_1); + s.tmp_0 = r0 = globals._timeout___794231; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = 0; + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + s.to___797067 = (s.tmp_1); + r0 = (s.to___797067 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + r0 = pxsim.control.millis(); + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.p___797064); + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.to___797067); + case 6: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (r0) { step = 7; continue; } + r0 = s.tmp_3; + { step = 8; continue; } + case 7: + r0 = pxsim.control.isUSBInitialized(); + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + case 8: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 9; continue; } + r0 = pxsim_pxtcore.deepSleep(); + case 9: + case 10: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +power_checkDeepSleep__P791619.info = {"start":1087,"length":298,"line":36,"column":4,"endLine":46,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"checkDeepSleep","argumentNames":[]} + +function power_checkDeepSleep__P791619_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: power_checkDeepSleep__P791619, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + p___797064: undefined, + to___797067: undefined, +} } + + + + + +function power_init__P794232(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = (globals._timeout___794231 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 7; continue; } + case 1: + case 2: + r0 = pxsim_pxtcore.getConfig(212, -1); + s.tmp_1 = r0; + r0 = (s.tmp_1 * 1000); + globals._timeout___794231 = (r0); + r0 = (globals._timeout___794231 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = (globals._timeout___794231 < 300000); + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 5; continue; } + globals._timeout___794231 = (300000); + case 5: + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +power_init__P794232.info = {"start":1610,"length":376,"line":57,"column":4,"endLine":66,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"init","argumentNames":[]} + +function power_init__P794232_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: power_init__P794232, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function power_poke__P791618(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = power_init__P794232_mk(s); + s.callLocIdx = 74; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim.control.millis(); + globals._poked___794230 = (r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +power_poke__P791618.info = {"start":795,"length":81,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/power/power.ts","functionName":"poke","argumentNames":[]} + +function power_poke__P791618_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: power_poke__P791618, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function control_EventContext_registerFrameHandler__P790091(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.fn___798746 = undefined; + s.i___798755 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_3 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["frameCallbacks"] = (s.tmp_4); + s.tmp_0 = control_EventContext_registerFrameCallbacks__P794105_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 50; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + case 1: + case 2: + r0 = pxsim_pxtcore_mkClassInstance(control_FrameCallback__C790080_VT); + s.fn___798746 = (r0); + r0 = (s.fn___798746).fields["order"] = (s.arg1); + r0 = (s.fn___798746).fields["handler"] = (s.arg2); + s.i___798755 = (0); + case 3: + s.tmp_1 = r0 = s.i___798755; + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_3 = r0; + r0 = pxsim_Array__length(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_6 = r0; + r0 = pxsim_Array__getAt(s.tmp_6, s.i___798755); + r0 = r0.fields["order"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 > s.arg1); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 4; continue; } + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_7 = r0; + r0 = pxsim_Array_.insertAt(s.tmp_7, s.i___798755, s.fn___798746); + r0 = s.fn___798746; + { step = 7; continue; } + case 4: + case 5: + r0 = (s.i___798755 + 1); + s.i___798755 = (r0); + { step = 3; continue; } + case 6: + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.fn___798746); + r0 = s.fn___798746; + case 7: + return leave(s, r0) + default: oops() +} } } +control_EventContext_registerFrameHandler__P790091.info = {"start":4862,"length":643,"line":147,"column":8,"endLine":164,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameHandler","argumentNames":["this","order","handler"]} + +function control_EventContext_registerFrameHandler__P790091_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameHandler__P790091, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + fn___798746: undefined, + i___798755: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function control_EventContext_registerFrameCallbacks__P794105(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.worker___798789 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + r0 = s.arg0.fields["frameWorker"]; + s.worker___798789 = (r0); + r0 = pxsim_pxtcore_mkAction(2, control_EventContext_registerFrameCallbacks_inline__P798795); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.worker___798789); + r0 = pxsim.control.runInParallel(s.tmp_0); + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_registerFrameCallbacks__P794105.info = {"start":3668,"length":895,"line":109,"column":8,"endLine":133,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameCallbacks","argumentNames":["this"]} + +function control_EventContext_registerFrameCallbacks__P794105_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameCallbacks__P794105, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + worker___798789: undefined, + arg0: undefined, +} } + + + + + +function control_EventContext_registerFrameCallbacks_inline__P798795(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.delay___798825 = undefined; + r0 = s.caps[0].fields["runningCallbacks"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtcore_mkAction(1, control_EventContext_registerFrameCallbacks_inline__P798801); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.caps[0]); + s.tmp_2 = pauseUntil__P790055_mk(s); + s.tmp_2.arg0 = s.tmp_1; + s.tmp_2.arg1 = undefined; + s.callLocIdx = 44; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + case 1: + case 2: + r0 = (s.caps[0]).fields["runningCallbacks"] = (true); + r0 = (s.caps[0]).fields["framesInSample"] = (0); + r0 = (s.caps[0]).fields["timeInSample"] = (0); + r0 = (s.caps[0]).fields["deltaTimeMillis"] = (0); + s.tmp_0 = r0 = s.caps[0]; + r0 = pxsim.control.millis(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["prevTimeMillis"] = (s.tmp_1); + case 3: + r0 = s.caps[0].fields["frameWorker"]; + s.tmp_1 = r0; + r0 = (s.caps[1] == s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_2 = control_EventContext_runCallbacks__P794104_mk(s); + s.tmp_2.arg0 = s.caps[0]; + s.callLocIdx = 45; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.delay___798825 = (r0); + s.tmp_0 = pause__P790101_mk(s); + s.tmp_0.arg0 = s.delay___798825; + s.callLocIdx = 46; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + { step = 3; continue; } + case 4: + r0 = (s.caps[0]).fields["runningCallbacks"] = (false); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_registerFrameCallbacks_inline__P798795.info = {"start":3829,"length":723,"line":113,"column":34,"endLine":132,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} + +function control_EventContext_registerFrameCallbacks_inline__P798795_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P798795, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + delay___798825: undefined, +} } + + + + + +function control_EventContext_registerFrameCallbacks_inline__P798801(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = s.caps[0].fields["runningCallbacks"]; + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +control_EventContext_registerFrameCallbacks_inline__P798801.info = {"start":4060,"length":28,"line":117,"column":31,"endLine":117,"endColumn":59,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} + +function control_EventContext_registerFrameCallbacks_inline__P798801_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P798801, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function control_EventContext_runCallbacks__P794104(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.loopStart___798834 = undefined; + s.f___798847 = undefined; + s.unnamed16754___U2 = undefined; + s.unnamed16755___U3 = undefined; + s.now___798852 = undefined; + s.runtime___798855 = undefined; + s.realTimeInSample___798874 = undefined; + s.fps___798883 = undefined; + s.delay___798952 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + r0 = pxsim.control.millis(); + s.loopStart___798834 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["prevTimeMillis"]; + s.tmp_2 = r0; + r0 = (s.loopStart___798834 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["deltaTimeMillis"] = (s.tmp_1); + r0 = (s.arg0).fields["prevTimeMillis"] = (s.loopStart___798834); + s.f___798847 = (undefined); + r0 = s.arg0.fields["frameCallbacks"]; + s.unnamed16754___U2 = (r0); + s.unnamed16755___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16755___U3; + r0 = pxsim_Array__length(s.unnamed16754___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed16754___U2, s.unnamed16755___U3); + s.f___798847 = (r0); + s.tmp_2 = if_handler_1_mk(s); + s.tmp_2.arg0 = s.f___798847; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "handler"), 1); + s.callLocIdx = 42; s.pc = 11; return s.tmp_2; + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["handler"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["handler"], 1); s.callLocIdx = 42; s.pc = 11; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 42; s.pc = 11; return s.tmp_2;; } + else { s.callLocIdx = 42; s.pc = 11; return s.tmp_2; } + } + case 11: + r0 = s.retval; + r0 = (s.unnamed16755___U3 + 1); + s.unnamed16755___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed16754___U2 = (undefined); + r0 = pxsim.control.millis(); + s.now___798852 = (r0); + r0 = (s.now___798852 - s.loopStart___798834); + s.runtime___798855 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["timeInSample"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.runtime___798855); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["timeInSample"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["framesInSample"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["framesInSample"] = (s.tmp_1); + r0 = s.arg0.fields["timeInSample"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 1000); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = s.arg0.fields["framesInSample"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 > 30); + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 9; continue; } + r0 = s.arg0.fields["lastPerfDump"]; + s.tmp_4 = r0; + r0 = (s.now___798852 - s.tmp_4); + s.realTimeInSample___798874 = (r0); + r0 = (s.arg0).fields["lastPerfDump"] = (s.now___798852); + r0 = s.arg0.fields["framesInSample"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["timeInSample"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 / 1000); + s.tmp_1 = r0; + r0 = (s.tmp_0 / s.tmp_1); + s.fps___798883 = (r0); + r0 = pxsim.Math_.round(s.fps___798883); + s.tmp_1 = r0; + if ((s.tmp_1) && (s.tmp_1).vtable) { + setupResume(s, 12); + pxsim_String__stringConv(s.tmp_1); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_1) + ""; } + case 12: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_String__concat("fps:", s.tmp_0); + globals.control_EventContext_lastStats___790085 = (r0); + r0 = (s.fps___798883 < 99); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + if ((globals.control_EventContext_lastStats___790085) && (globals.control_EventContext_lastStats___790085).vtable) { + setupResume(s, 13); + pxsim_String__stringConv(globals.control_EventContext_lastStats___790085); + checkResumeConsumed(); + return; + } else { s.retval = (globals.control_EventContext_lastStats___790085) + ""; } + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.fps___798883 * 10); + s.tmp_7 = r0; + r0 = pxsim.Math_.round(s.tmp_7); + s.tmp_6 = r0; + r0 = (s.tmp_6 % 10); + s.tmp_5 = r0; + if ((s.tmp_5) && (s.tmp_5).vtable) { + setupResume(s, 14); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } + case 14: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_String__concat(".", s.tmp_4); + s.tmp_3 = r0; + if ((s.tmp_3) && (s.tmp_3).vtable) { + setupResume(s, 15); + pxsim_String__stringConv(s.tmp_3); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_3) + ""; } + case 15: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); + globals.control_EventContext_lastStats___790085 = (r0); + case 5: + case 6: + r0 = pxsim.control.profilingEnabled(); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = pxsim_String_.mkEmpty(); + s.tmp_9 = r0; + r0 = (s.fps___798883 * 100); + s.tmp_12 = r0; + r0 = (s.tmp_12 | 0); + s.tmp_11 = r0; + if ((s.tmp_11) && (s.tmp_11).vtable) { + setupResume(s, 16); + pxsim_String__stringConv(s.tmp_11); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_11) + ""; } + case 16: + r0 = s.retval; + s.tmp_10 = r0; + r0 = pxsim_String__concat(s.tmp_9, s.tmp_10); + s.tmp_8 = r0; + r0 = pxsim_String__concat(s.tmp_8, "/100 fps - "); + s.tmp_7 = r0; + r0 = s.arg0.fields["framesInSample"]; + s.tmp_14 = r0; + if ((s.tmp_14) && (s.tmp_14).vtable) { + setupResume(s, 17); + pxsim_String__stringConv(s.tmp_14); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_14) + ""; } + case 17: + r0 = s.retval; + s.tmp_13 = r0; + r0 = pxsim_String__concat(s.tmp_7, s.tmp_13); + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_6, " frames ("); + s.tmp_5 = r0; + r0 = s.arg0.fields["timeInSample"]; + s.tmp_16 = r0; + if ((s.tmp_16) && (s.tmp_16).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.tmp_16); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_16) + ""; } + case 18: + r0 = s.retval; + s.tmp_15 = r0; + r0 = pxsim_String__concat(s.tmp_5, s.tmp_15); + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_4, "ms/"); + s.tmp_3 = r0; + if ((s.realTimeInSample___798874) && (s.realTimeInSample___798874).vtable) { + setupResume(s, 19); + pxsim_String__stringConv(s.realTimeInSample___798874); + checkResumeConsumed(); + return; + } else { s.retval = (s.realTimeInSample___798874) + ""; } + case 19: + r0 = s.retval; + s.tmp_17 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_17); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, "ms)"); + s.tmp_1 = r0; + r0 = pxsim.control.dmesg(s.tmp_1); + r0 = pxsim.control.gc(); + r0 = pxsim_pxtcore.dumpPerfCounters(); + case 7: + case 8: + r0 = (s.arg0).fields["timeInSample"] = (0); + r0 = (s.arg0).fields["framesInSample"] = (0); + case 9: + case 10: + s.tmp_0 = Math_max__P789818_mk(s); + s.tmp_0.arg0 = 1; + r0 = (20 - s.runtime___798855); + s.tmp_0.arg1 = r0; + s.callLocIdx = 43; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + s.delay___798952 = (r0); + r0 = s.delay___798952; + return leave(s, r0) + default: oops() +} } } +control_EventContext_runCallbacks__P794104.info = {"start":2220,"length":1395,"line":75,"column":8,"endLine":106,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"runCallbacks","argumentNames":["this"]} + +function control_EventContext_runCallbacks__P794104_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_runCallbacks__P794104, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + loopStart___798834: undefined, + f___798847: undefined, + unnamed16754___U2: undefined, + unnamed16755___U3: undefined, + now___798852: undefined, + runtime___798855: undefined, + realTimeInSample___798874: undefined, + fps___798883: undefined, + delay___798952: undefined, + arg0: undefined, +} } + + + + + +function pauseUntil__P790055(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_2 = lambda_1_mk(s); + s.tmp_2.argL = s.arg0; + setupLambda(s.tmp_2, s.tmp_2.argL); + s.callLocIdx = 29; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + { step = 7; continue; } + case 3: + case 4: + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_5 = r0; + r0 = pxsim_Boolean__bang(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 5; continue; } + s.arg1 = (0); + case 5: + case 6: + s.tmp_0 = control___queuePollEvent__P790054_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 30; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +pauseUntil__P790055.info = {"start":2224,"length":227,"line":73,"column":0,"endLine":77,"endColumn":1,"fileName":"pxt_modules/base/poll.ts","functionName":"pauseUntil","argumentNames":["condition","timeOut"]} + +function pauseUntil__P790055_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: pauseUntil__P790055, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function control___queuePollEvent__P790054(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ev___798974 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore_mkClassInstance(control_PollEvent__C794078_VT); + s.tmp_0 = r0; + s.tmp_1 = control_PollEvent_constructor__P794079_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 1023; + r0 = pxsim.control.allocateNotifyEvent(); + s.tmp_1.arg2 = r0; + r0 = pxsim.control.millis(); + s.tmp_1.arg3 = r0; + s.tmp_1.arg4 = s.arg0; + s.tmp_1.arg5 = s.arg1; + r0 = pxsim_numops_toBoolDecr(s.arg2); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1.arg6 = r0; + s.callLocIdx = 27; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.ev___798974 = (s.tmp_0); + r0 = pxsim_numops_toBoolDecr(globals._pollEventQueue___794081); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_2, s.ev___798974); + globals._pollEventQueue___794081 = (s.tmp_2); + r0 = pxsim.control.runInParallel(control_pollEvents__P794082); + { step = 2; continue; } + case 1: + r0 = pxsim_Array__push(globals._pollEventQueue___794081, s.ev___798974); + case 2: + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 3; continue; } + s.tmp_0 = control_onEvent__P790079_mk(s); + r0 = s.ev___798974.fields["eid"]; + s.tmp_0.arg0 = r0; + r0 = s.ev___798974.fields["vid"]; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = 16; + s.callLocIdx = 28; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + { step = 4; continue; } + case 3: + r0 = s.ev___798974.fields["eid"]; + s.tmp_0 = r0; + r0 = s.ev___798974.fields["vid"]; + s.tmp_1 = r0; + setupResume(s, 7); + pxsim.control.waitForEvent(s.tmp_0, s.tmp_1); + checkResumeConsumed(); + return; + case 7: + r0 = s.retval; + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control___queuePollEvent__P790054.info = {"start":1262,"length":758,"line":39,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/base/poll.ts","functionName":"__queuePollEvent","argumentNames":["timeOut","condition","handler"]} + +function control___queuePollEvent__P790054_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___queuePollEvent__P790054, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + ev___798974: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function control_pollEvents__P794082(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.now___799017 = undefined; + s.i___799020 = undefined; + s.ev___799026 = undefined; + case 1: + r0 = pxsim_Array__length(globals._pollEventQueue___794081); + s.tmp_1 = r0; + r0 = (s.tmp_1 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 12; continue; } + r0 = pxsim.control.millis(); + s.now___799017 = (r0); + s.i___799020 = (0); + case 2: + s.tmp_1 = r0 = s.i___799020; + r0 = pxsim_Array__length(globals._pollEventQueue___794081); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + r0 = pxsim_Array__getAt(globals._pollEventQueue___794081, s.i___799020); + s.ev___799026 = (r0); + s.tmp_1 = if_condition_1_mk(s); + s.tmp_1.arg0 = s.ev___799026; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "condition"), 1); + s.callLocIdx = 24; s.pc = 13; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["condition"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["condition"], 1); s.callLocIdx = 24; s.pc = 13; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 24; s.pc = 13; return s.tmp_1;; } + else { s.callLocIdx = 24; s.pc = 13; return s.tmp_1; } + } + case 13: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 3: + r0 = s.ev___799026.fields["timeOut"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 > 0); + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 4; continue; } + r0 = s.tmp_2; + { step = 5; continue; } + case 4: + r0 = s.ev___799026.fields["start"]; + s.tmp_5 = r0; + r0 = (s.now___799017 - s.tmp_5); + s.tmp_4 = r0; + r0 = s.ev___799026.fields["timeOut"]; + s.tmp_6 = r0; + r0 = (s.tmp_4 > s.tmp_6); + case 5: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = s.tmp_7; + case 6: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + if (!r0) { step = 9; continue; } + r0 = s.ev___799026.fields["eid"]; + s.tmp_9 = r0; + r0 = s.ev___799026.fields["vid"]; + s.tmp_10 = r0; + r0 = pxsim.control.raiseEvent(s.tmp_9, s.tmp_10); + r0 = s.ev___799026.fields["once"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_1 = helpers_arraySplice__P789788_mk(s); + s.tmp_1.arg0 = globals._pollEventQueue___794081; + s.tmp_1.arg1 = s.i___799020; + s.tmp_1.arg2 = 1; + s.callLocIdx = 25; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + r0 = (s.i___799020 - 1); + s.i___799020 = (r0); + case 7: + case 8: + case 9: + case 10: + r0 = (s.i___799020 + 1); + s.i___799020 = (r0); + { step = 2; continue; } + case 11: + s.tmp_0 = pause__P790101_mk(s); + s.tmp_0.arg0 = 50; + s.callLocIdx = 26; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + { step = 1; continue; } + case 12: + globals._pollEventQueue___794081 = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_pollEvents__P794082.info = {"start":618,"length":638,"line":20,"column":4,"endLine":37,"endColumn":5,"fileName":"pxt_modules/base/poll.ts","functionName":"pollEvents","argumentNames":[]} + +function control_pollEvents__P794082_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_pollEvents__P794082, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + now___799017: undefined, + i___799020: undefined, + ev___799026: undefined, +} } + + + + + +function helpers_arraySplice__P789788(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.i___799074 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = (s.arg1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 5; continue; } + case 1: + case 2: + s.i___799074 = (0); + case 3: + r0 = (s.i___799074 < s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array_.removeAt(s.arg0, s.arg1); + r0 = (s.i___799074 + 1); + s.i___799074 = (r0); + { step = 3; continue; } + case 4: + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_arraySplice__P789788.info = {"start":3642,"length":213,"line":137,"column":4,"endLine":144,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySplice","argumentNames":["arr","start","len"]} + +function helpers_arraySplice__P789788_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySplice__P789788, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + i___799074: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function control_PollEvent_constructor__P794079(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.arg6 = (s.lambdaArgs[6]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_PollEvent__C794078_VT)) failedCast(r0); + r0 = (s.arg0).fields["eid"] = (s.arg1); + r0 = (s.arg0).fields["vid"] = (s.arg2); + r0 = (s.arg0).fields["start"] = (s.arg3); + r0 = (s.arg0).fields["timeOut"] = (s.arg4); + r0 = (s.arg0).fields["condition"] = (s.arg5); + r0 = (s.arg0).fields["once"] = (s.arg6); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_PollEvent_constructor__P794079.info = {"start":239,"length":316,"line":8,"column":8,"endLine":15,"endColumn":9,"fileName":"pxt_modules/base/poll.ts","functionName":"inline","argumentNames":["this","eid","vid","start","timeOut","condition","once"]} + +function control_PollEvent_constructor__P794079_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_PollEvent_constructor__P794079, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, + arg6: undefined, +} } + + + + + +function control_EventContext_deltaTime__P790088(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + r0 = s.arg0.fields["deltaTimeMillis"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 1000); + return leaveAccessor(s, r0) + default: oops() +} } } +control_EventContext_deltaTime__P790088.info = {"start":2135,"length":75,"line":71,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"deltaTime","argumentNames":["this"]} +control_EventContext_deltaTime__P790088.isGetter = true; + +function control_EventContext_deltaTime__P790088_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_deltaTime__P790088, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function helpers_arrayForEach__P789797(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.len___796777 = undefined; + s.i___796780 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__length(s.arg0); + s.len___796777 = (r0); + s.i___796780 = (0); + case 1: + r0 = (s.i___796780 < s.len___796777); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = lambda_3_mk(s); + s.tmp_1.argL = s.arg1; + r0 = pxsim_Array__getAt(s.arg0, s.i___796780); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.i___796780; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 5; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.i___796780 + 1); + s.i___796780 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_arrayForEach__P789797.info = {"start":7439,"length":250,"line":254,"column":4,"endLine":259,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayForEach","argumentNames":["arr","callbackfn"]} + +function helpers_arrayForEach__P789797_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayForEach__P789797, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + len___796777: undefined, + i___796780: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_Scene_constructor__P792555(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C792532_VT)) failedCast(r0); + r0 = (s.arg0).fields["previousScene"] = (s.arg2); + r0 = (s.arg0).fields["eventContext"] = (s.arg1); + r0 = (s.arg0).fields["flags"] = (0); + r0 = pxsim_pxtcore_mkClassInstance(ArcadePhysicsEngine__C792216_VT); + s.tmp_0 = r0; + s.tmp_1 = ArcadePhysicsEngine_constructor__P792217_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 500; + s.tmp_1.arg2 = 2; + s.tmp_1.arg3 = 4; + s.callLocIdx = 904; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["physicsEngine"] = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_Camera__C792470_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_Camera_constructor__P792474_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 905; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + r0 = (s.arg0).fields["camera"] = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_Background__C792358_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_Background_constructor__P792362_mk(s); + s.tmp_1.arg0 = s.tmp_0; + r0 = s.arg0.fields["camera"]; + s.tmp_1.arg1 = r0; + s.callLocIdx = 906; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.arg0).fields["background"] = (s.tmp_0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["destroyedHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["createdHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["overlapHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtrt.mkMap(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["overlapMap"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["tileOverlapHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["collisionHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["wallCollisionHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["gameForeverHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtrt.mkMap(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["spritesByKind"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["controlledSprites"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["buttonEventHandlers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtrt.mkMap(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_data"] = (s.tmp_1); + r0 = (s.arg0).fields["_millis"] = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_constructor__P792555.info = {"start":3586,"length":836,"line":106,"column":8,"endLine":125,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","eventContext","previousScene"]} + +function scene_Scene_constructor__P792555_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_constructor__P792555, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_Camera_constructor__P792474(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = (s.arg0).fields["_offsetX"] = (0); + r0 = (s.arg0).fields["_offsetY"] = (0); + r0 = (s.arg0).fields["drawOffsetX"] = (0); + r0 = (s.arg0).fields["drawOffsetY"] = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Camera_constructor__P792474.info = {"start":550,"length":156,"line":17,"column":8,"endLine":23,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"inline","argumentNames":["this"]} + +function scene_Camera_constructor__P792474_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_constructor__P792474, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Background_constructor__P792362(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Background__C792358_VT)) failedCast(r0); + r0 = (s.arg0).fields["color"] = (0); + r0 = (s.arg0).fields["camera"] = (s.arg1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_layers"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Background_constructor__P792362.info = {"start":367,"length":132,"line":20,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["this","camera"]} + +function scene_Background_constructor__P792362_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_constructor__P792362, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function ArcadePhysicsEngine_constructor__P792217(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = undefined; + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["sprites"] = (s.tmp_1); + r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteMap__C792135_VT); + s.tmp_0 = r0; + s.tmp_1 = sprites_SpriteMap_constructor__P792136_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 525; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["map"] = (s.tmp_0); + s.tmp_0 = ArcadePhysicsEngine_maxSpeed__P792219_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 526; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = ArcadePhysicsEngine_maxStep__P792223_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg3; + s.callLocIdx = 527; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = ArcadePhysicsEngine_minStep__P792221_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 528; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_constructor__P792217.info = {"start":1601,"length":277,"line":58,"column":4,"endLine":65,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this","maxVelocity","minSingleStep","maxSingleStep"]} + +function ArcadePhysicsEngine_constructor__P792217_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_constructor__P792217, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function ArcadePhysicsEngine_maxStep__P792223(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["maxSingleStep"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_maxStep__P792223.info = {"start":2329,"length":67,"line":88,"column":4,"endLine":90,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"maxStep","argumentNames":["this","v"]} + +function ArcadePhysicsEngine_maxStep__P792223_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxStep__P792223, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function ArcadePhysicsEngine_maxStep__P792222(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg0.fields["maxSingleStep"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + return leaveAccessor(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_maxStep__P792222.info = {"start":2249,"length":74,"line":84,"column":4,"endLine":86,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"maxStep","argumentNames":["this"]} +ArcadePhysicsEngine_maxStep__P792222.isGetter = true; + +function ArcadePhysicsEngine_maxStep__P792222_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxStep__P792222, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Fx_toInt__P789860(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 + 128); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 8); + return leave(s, r0) + default: oops() +} } } +Fx_toInt__P789860.info = {"start":2379,"length":86,"line":74,"column":4,"endLine":76,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toInt","argumentNames":["v"]} + +function Fx_toInt__P789860_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_toInt__P789860, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_minStep__P792221(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["minSingleStep"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_minStep__P792221.info = {"start":2176,"length":67,"line":80,"column":4,"endLine":82,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"minStep","argumentNames":["this","v"]} + +function ArcadePhysicsEngine_minStep__P792221_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_minStep__P792221, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function ArcadePhysicsEngine_minStep__P792220(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg0.fields["minSingleStep"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + return leaveAccessor(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_minStep__P792220.info = {"start":2096,"length":74,"line":76,"column":4,"endLine":78,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"minStep","argumentNames":["this"]} +ArcadePhysicsEngine_minStep__P792220.isGetter = true; + +function ArcadePhysicsEngine_minStep__P792220_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_minStep__P792220, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_maxSpeed__P792219(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["maxVelocity"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["maxVelocity"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["maxNegativeVelocity"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_maxSpeed__P792219.info = {"start":1963,"length":127,"line":71,"column":4,"endLine":74,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"maxSpeed","argumentNames":["this","v"]} + +function ArcadePhysicsEngine_maxSpeed__P792219_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxSpeed__P792219, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_neg__P789843(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (0 - s.arg0); + return leave(s, r0) + default: oops() +} } } +Fx_neg__P789843.info = {"start":311,"length":88,"line":14,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"neg","argumentNames":["a"]} + +function Fx_neg__P789843_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_neg__P789843, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_maxSpeed__P792218(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg0.fields["maxVelocity"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + return leaveAccessor(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_maxSpeed__P792218.info = {"start":1884,"length":73,"line":67,"column":4,"endLine":69,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"maxSpeed","argumentNames":["this"]} +ArcadePhysicsEngine_maxSpeed__P792218.isGetter = true; + +function ArcadePhysicsEngine_maxSpeed__P792218_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxSpeed__P792218, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function PhysicsEngine_constructor__P792201(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C792200_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_constructor__P792201.info = {"start":26,"length":21,"line":1,"column":4,"endLine":2,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this"]} + +function PhysicsEngine_constructor__P792201_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_constructor__P792201, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_constructor__P792136(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["buckets"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_constructor__P792136.info = {"start":237,"length":56,"line":8,"column":8,"endLine":10,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["this"]} + +function sprites_SpriteMap_constructor__P792136_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_constructor__P792136, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function control_pushEventContext__P790097(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ctx___799119 = undefined; + s.n___799125 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.eventContexts___794107); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals.eventContexts___794107 = (r0); + case 1: + case 2: + s.tmp_0 = control_eventContext__P790096_mk(s); + s.callLocIdx = 53; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.ctx___799119 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___799119); + if (!r0) { step = 3; continue; } + s.tmp_0 = control_EventContext_unregister__P790090_mk(s); + s.tmp_0.arg0 = s.ctx___799119; + s.callLocIdx = 54; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_pxtcore_mkClassInstance(control_EventContext__C790083_VT); + s.tmp_0 = r0; + s.tmp_1 = control_EventContext_constructor__P790087_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 55; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + s.n___799125 = (s.tmp_0); + r0 = pxsim_Array__push(globals.eventContexts___794107, s.n___799125); + r0 = s.n___799125; + return leave(s, r0) + default: oops() +} } } +control_pushEventContext__P790097.info = {"start":7310,"length":340,"line":220,"column":4,"endLine":231,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"pushEventContext","argumentNames":[]} + +function control_pushEventContext__P790097_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_pushEventContext__P790097, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + ctx___799119: undefined, + n___799125: undefined, +} } + + + + + +function control_EventContext_unregister__P790090(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.h___799154 = undefined; + s.unnamed16758___U1 = undefined; + s.unnamed16759___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + s.h___799154 = (undefined); + r0 = s.arg0.fields["handlers"]; + s.unnamed16758___U1 = (r0); + s.unnamed16759___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16759___U2; + r0 = pxsim_Array__length(s.unnamed16758___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed16758___U1, s.unnamed16759___U2); + s.h___799154 = (r0); + s.tmp_2 = control_EventHandler_unregister__P794101_mk(s); + s.tmp_2.arg0 = s.h___799154; + s.callLocIdx = 49; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + r0 = (s.unnamed16759___U2 + 1); + s.unnamed16759___U2 = (r0); + { step = 1; continue; } + case 2: + s.unnamed16758___U1 = (undefined); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["frameWorker"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["frameWorker"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_unregister__P790090.info = {"start":4721,"length":131,"line":141,"column":8,"endLine":145,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]} + +function control_EventContext_unregister__P790090_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_unregister__P790090, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + h___799154: undefined, + unnamed16758___U1: undefined, + unnamed16759___U2: undefined, + arg0: undefined, +} } + + + + + +function control_EventHandler_unregister__P794101(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventHandler__C794099_VT)) failedCast(r0); + r0 = s.arg0.fields["src"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["value"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["flags"]; + s.tmp_2 = r0; + r0 = pxsim.control.internalOnEvent(s.tmp_0, s.tmp_1, control_doNothing__P794103, s.tmp_2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventHandler_unregister__P794101.info = {"start":1136,"length":106,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]} + +function control_EventHandler_unregister__P794101_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_unregister__P794101, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function control_doNothing__P794103(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_doNothing__P794103.info = {"start":1254,"length":24,"line":41,"column":4,"endLine":41,"endColumn":28,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"doNothing","argumentNames":[]} + +function control_doNothing__P794103_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_doNothing__P794103, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function control_EventContext_constructor__P790087(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["handlers"] = (s.tmp_1); + r0 = (s.arg0).fields["framesInSample"] = (0); + r0 = (s.arg0).fields["timeInSample"] = (0); + r0 = (s.arg0).fields["deltaTimeMillis"] = (0); + r0 = (s.arg0).fields["frameWorker"] = (0); + r0 = (s.arg0).fields["idleCallbacks"] = (undefined); + r0 = pxsim_numops_toBoolDecr(globals.control_EventContext_lastStats___790085); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_String_.mkEmpty(); + globals.control_EventContext_lastStats___790085 = (r0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_constructor__P790087.info = {"start":1778,"length":347,"line":59,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this"]} + +function control_EventContext_constructor__P790087_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_constructor__P790087, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function controller_pauseUntilAnyButtonIsPressed__P791894(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + setupResume(s, 1); + pxsim.control.waitForEvent(2049, 0); + checkResumeConsumed(); + return; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_pauseUntilAnyButtonIsPressed__P791894.info = {"start":9968,"length":96,"line":287,"column":4,"endLine":289,"endColumn":5,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"pauseUntilAnyButtonIsPressed","argumentNames":[]} + +function controller_pauseUntilAnyButtonIsPressed__P791894_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P791894, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function game_setWaitAnyButton__P792689(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + globals.__waitAnyButton___794611 = (s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_setWaitAnyButton__P792689.info = {"start":4236,"length":83,"line":127,"column":4,"endLine":129,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"setWaitAnyButton","argumentNames":["f"]} + +function game_setWaitAnyButton__P792689_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_setWaitAnyButton__P792689, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Math_FastRandom_constructor__P792750(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Math_FastRandom__C792748_VT)) failedCast(r0); + r0 = (s.arg1 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.Math_.randomRange(1, 65535); + s.arg1 = (r0); + case 1: + case 2: + r0 = (s.arg0).fields["seed"] = (s.arg1); + r0 = (s.arg0).fields["lfsr"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Math_FastRandom_constructor__P792750.info = {"start":1425,"length":175,"line":44,"column":8,"endLine":48,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"inline","argumentNames":["this","seed"]} + +function Math_FastRandom_constructor__P792750_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_constructor__P792750, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_consoleOverlay_listener__P794941(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___794906); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + { step = 7; continue; } + case 3: + case 4: + s.tmp_4 = helpers_arrayForEach__P789797_mk(s); + s.tmp_5 = helpers_arrayFilter__P789798_mk(s); + s.tmp_6 = helpers_stringSplit__P789810_mk(s); + s.tmp_6.arg0 = s.arg1; + s.tmp_6.arg1 = "\n"; + s.tmp_6.arg2 = undefined; + s.callLocIdx = 1124; s.pc = 10; return s.tmp_6; + case 10: + r0 = s.retval; + s.tmp_5.arg0 = r0; + s.tmp_5.arg1 = forEach_inline__P799357; + s.callLocIdx = 1125; s.pc = 9; return s.tmp_5; + case 9: + r0 = s.retval; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = game_consoleOverlay_listener_inline__P799362; + s.callLocIdx = 1127; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + r0 = pxsim_Array__length(globals.consoleStrings___794906); + s.tmp_1 = r0; + r0 = (s.tmp_1 > globals.consoleLines___794919); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = helpers_arraySplice__P789788_mk(s); + s.tmp_2.arg0 = globals.consoleStrings___794906; + s.tmp_2.arg1 = 0; + r0 = pxsim_Array__length(globals.consoleStrings___794906); + s.tmp_3 = r0; + r0 = (s.tmp_3 - globals.consoleLines___794919); + s.tmp_2.arg2 = r0; + s.callLocIdx = 1128; s.pc = 11; return s.tmp_2; + case 11: + r0 = s.retval; + case 5: + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_listener__P794941.info = {"start":787,"length":571,"line":26,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"listener","argumentNames":["priority","text"]} + +function game_consoleOverlay_listener__P794941_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_listener__P794941, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function forEach_inline__P799357(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +forEach_inline__P799357.info = {"start":985,"length":14,"line":32,"column":20,"endLine":32,"endColumn":34,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]} + +function forEach_inline__P799357_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P799357, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function game_consoleOverlay_listener_inline__P799362(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.j___799364 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.j___799364 = (0); + case 1: + s.tmp_1 = r0 = s.j___799364; + r0 = pxsim_String_.length(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_3 = r0 = globals.consoleStrings___794906; + s.tmp_5 = helpers_stringSlice__P789807_mk(s); + s.tmp_5.arg0 = s.arg0; + s.tmp_5.arg1 = s.j___799364; + r0 = (s.j___799364 + globals.consoleColumns___794929); + s.tmp_5.arg2 = r0; + s.callLocIdx = 1126; s.pc = 3; return s.tmp_5; + case 3: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_Array__push(s.tmp_3, s.tmp_4); + r0 = (s.j___799364 + globals.consoleColumns___794929); + s.j___799364 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_listener_inline__P799362.info = {"start":1022,"length":189,"line":33,"column":21,"endLine":37,"endColumn":13,"fileName":"pxt_modules/game/console.ts","functionName":"inline","argumentNames":["line"]} + +function game_consoleOverlay_listener_inline__P799362_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_listener_inline__P799362, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + j___799364: undefined, + arg0: undefined, +} } + + + + + +function console_addListener__P790071(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_Array_.indexOf(globals.listeners___794085, s.arg0, undefined); + s.tmp_2 = r0; + r0 = (s.tmp_2 > -1); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + { step = 5; continue; } + case 3: + case 4: + r0 = pxsim_Array__push(globals.listeners___794085, s.arg0); + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +console_addListener__P790071.info = {"start":3558,"length":197,"line":121,"column":4,"endLine":124,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"addListener","argumentNames":["listener"]} + +function console_addListener__P790071_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_addListener__P790071, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function listeners_inline__P794084(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim.control.__log(s.arg0, s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +listeners_inline__P794084.info = {"start":534,"length":85,"line":25,"column":8,"endLine":25,"endColumn":93,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["priority","text"]} + +function listeners_inline__P794084_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: listeners_inline__P794084, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_register__P792795(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.instance___794860); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_0 = controller_Button_onEvent__P791885_mk(s); + s.tmp_0.arg0 = globals.menu___791808; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P792796; + s.callLocIdx = 1111; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_register__P792795.info = {"start":12793,"length":193,"line":382,"column":4,"endLine":386,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"register","argumentNames":[]} + +function scene_systemMenu_register__P792795_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_register__P792795, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_showSystemMenu__P792796(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.instance___794860); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_0 = game_pushScene__P792692_mk(s); + s.callLocIdx = 1112; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C792784_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P792785_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P792792; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 1113; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + globals.instance___794860 = (s.tmp_0); + s.tmp_0 = scene_systemMenu_PauseMenu_show__P792786_mk(s); + s.tmp_0.arg0 = globals.instance___794860; + s.callLocIdx = 1114; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_showSystemMenu__P792796.info = {"start":12992,"length":172,"line":388,"column":4,"endLine":393,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"showSystemMenu","argumentNames":[]} + +function scene_systemMenu_showSystemMenu__P792796_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_showSystemMenu__P792796, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList__P792792(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.options___801399 = undefined; + r0 = pxsim_Array__mk(); + s.options___801399 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___792806; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P801407; + s.tmp_1.arg3 = scene_systemMenu_volumeDown__P794866; + s.callLocIdx = 1094; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.VOLUME_UP_ICON___792803; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P801421; + s.tmp_1.arg3 = scene_systemMenu_volumeUp__P794865; + s.callLocIdx = 1096; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_0); + r0 = 0; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_1 = r0; + s.tmp_2 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_2.arg0 = s.tmp_1; + s.tmp_2.arg1 = globals.BRIGHTNESS_DOWN_ICON___792804; + s.tmp_2.arg2 = scene_systemMenu_buildOptionList_inline__P801436; + s.tmp_2.arg3 = scene_systemMenu_brightnessDown__P794868; + s.callLocIdx = 1099; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_1); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___792809; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P801451; + s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P794867; + s.callLocIdx = 1101; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_0); + case 1: + case 2: + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.STATS_ICON___792810; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P801466; + s.tmp_1.arg3 = scene_systemMenu_toggleStats__P794870; + s.callLocIdx = 1102; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.CONSOLE_ICON___792808; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P801475; + s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P794871; + s.callLocIdx = 1104; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.SLEEP_ICON___792807; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P801484; + s.tmp_1.arg3 = scene_systemMenu_sleep__P794872; + s.callLocIdx = 1105; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_0); + r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___794861); + if (!r0) { step = 3; continue; } + s.tmp_0 = helpers_arrayConcat__P789801_mk(s); + s.tmp_0.arg0 = s.options___801399; + s.tmp_0.arg1 = globals.customMenuOptions___794861; + s.callLocIdx = 1106; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.options___801399 = (r0); + case 3: + case 4: + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C792776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P792777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___792805; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P801497; + s.tmp_1.arg3 = scene_systemMenu_closeMenu__P792791; + s.callLocIdx = 1107; s.pc = 13; return s.tmp_1; + case 13: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___801399, s.tmp_0); + r0 = s.options___801399; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList__P792792.info = {"start":10499,"length":1149,"line":334,"column":4,"endLine":354,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildOptionList","argumentNames":[]} + +function scene_systemMenu_buildOptionList__P792792_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList__P792792, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + options___801399: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801407(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_3 = music_volume__P791310_mk(s); + s.callLocIdx = 1093; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 2); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 2: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("VOLUME DOWN (", s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, ")"); + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801407.info = {"start":10644,"length":39,"line":337,"column":54,"endLine":337,"endColumn":93,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801407_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801407, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801421(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_3 = music_volume__P791310_mk(s); + s.callLocIdx = 1095; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 2); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 2: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("VOLUME UP (", s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, ")"); + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801421.info = {"start":10751,"length":37,"line":338,"column":52,"endLine":338,"endColumn":89,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801421_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801421, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801436(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = globals.brightness___791640; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 1); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("BRIGHTNESS DOWN (", s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, ")"); + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801436.info = {"start":10910,"length":48,"line":340,"column":62,"endLine":340,"endColumn":110,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801436_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801436, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801451(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = globals.brightness___791640; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 1); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("BRIGHTNESS UP (", s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, ")"); + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801451.info = {"start":11038,"length":46,"line":341,"column":60,"endLine":341,"endColumn":106,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801451_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801451, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801466(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.stats___792657); + if (!r0) { step = 1; continue; } + r0 = "HIDE STATS"; + { step = 2; continue; } + case 1: + r0 = "SHOW STATS"; + case 2: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801466.info = {"start":11160,"length":46,"line":343,"column":48,"endLine":343,"endColumn":94,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801466_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801466, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801475(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___794906); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = "HIDE CONSOLE"; + { step = 2; continue; } + case 1: + r0 = "SHOW CONSOLE"; + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801475.info = {"start":11273,"length":71,"line":344,"column":50,"endLine":344,"endColumn":121,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801475_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801475, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801484(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = "SLEEP"; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801484.info = {"start":11411,"length":13,"line":345,"column":48,"endLine":345,"endColumn":61,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801484_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801484, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P801497(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = "CLOSE"; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList_inline__P801497.info = {"start":11590,"length":13,"line":351,"column":53,"endLine":351,"endColumn":66,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_buildOptionList_inline__P801497_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P801497, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_setScreenBrightnessSupported__P794873(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = 0; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_setScreenBrightnessSupported__P794873.info = {"start":10398,"length":95,"line":330,"column":4,"endLine":332,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setScreenBrightnessSupported","argumentNames":[]} + +function scene_systemMenu_setScreenBrightnessSupported__P794873_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_setScreenBrightnessSupported__P794873, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_sleep__P794872(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_pxtcore.deepSleep(); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_sleep__P794872.info = {"start":10072,"length":51,"line":316,"column":4,"endLine":318,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"sleep","argumentNames":[]} + +function scene_systemMenu_sleep__P794872_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_sleep__P794872, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_toggleConsole__P794871(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___794906); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_4 = game_consoleOverlay_setVisible__P792815_mk(s); + s.tmp_4.arg0 = false; + s.tmp_4.arg1 = undefined; + s.callLocIdx = 1087; s.pc = 3; return s.tmp_4; + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = game_consoleOverlay_setVisible__P792815_mk(s); + s.tmp_0.arg0 = true; + s.tmp_0.arg1 = undefined; + s.callLocIdx = 1088; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = console_log__P790068_mk(s); + s.tmp_0.arg0 = "console"; + s.callLocIdx = 1089; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_toggleConsole__P794871.info = {"start":9827,"length":239,"line":307,"column":4,"endLine":314,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleConsole","argumentNames":[]} + +function scene_systemMenu_toggleConsole__P794871_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_toggleConsole__P794871, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, +} } + + + + + +function game_consoleOverlay_setVisible__P792815(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_1 = r0 = s.arg0; + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___794906); + s.tmp_5 = r0; + r0 = pxsim_Boolean__bang(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_1 != s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_numops_toBoolDecr(s.arg0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + { step = 2; continue; } + case 1: + r0 = undefined; + case 2: + // jmp value (already in r0) + s.tmp_6 = r0; + globals.consoleStrings___794906 = (s.tmp_6); + case 3: + case 4: + r0 = (s.arg1 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + globals.consoleColor___794905 = (s.arg1); + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_setVisible__P792815.info = {"start":562,"length":219,"line":19,"column":4,"endLine":24,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"setVisible","argumentNames":["value","col"]} + +function game_consoleOverlay_setVisible__P792815_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_setVisible__P792815, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function console_log__P790068(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = console_add__P790064_mk(s); + s.tmp_0.arg0 = 1; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 33; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +console_log__P790068.info = {"start":1450,"length":86,"line":58,"column":4,"endLine":60,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"log","argumentNames":["value"]} + +function console_log__P790068_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_log__P790068, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function console_add__P790064(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.text___801536 = undefined; + s.i___801545 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 < globals.minPriority___790063); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 5; continue; } + case 1: + case 2: + s.tmp_1 = console_inspect__P790070_mk(s); + s.tmp_1.arg0 = s.arg1; + s.tmp_1.arg1 = 20; + s.callLocIdx = 31; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + s.text___801536 = (r0); + if ((s.text___801536) && (s.text___801536).vtable) { + setupResume(s, 7); + pxsim_String__stringConv(s.text___801536); + checkResumeConsumed(); + return; + } else { s.retval = (s.text___801536) + ""; } + case 7: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, "\n"); + s.text___801536 = (r0); + s.i___801545 = (0); + case 3: + s.tmp_1 = r0 = s.i___801545; + r0 = pxsim_Array__length(globals.listeners___794085); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_3 = lambda_3_mk(s); + r0 = pxsim_Array__getAt(globals.listeners___794085, s.i___801545); + s.tmp_3.argL = r0; + s.tmp_3.arg0 = s.arg0; + s.tmp_3.arg1 = s.text___801536; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 32; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + r0 = (s.i___801545 + 1); + s.i___801545 = (r0); + { step = 3; continue; } + case 4: + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +console_add__P790064.info = {"start":632,"length":317,"line":28,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"add","argumentNames":["priority","message"]} + +function console_add__P790064_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_add__P790064, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + text___801536: undefined, + i___801545: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function console_inspect__P790070(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.asArr___801576 = undefined; + s.asString___801594 = undefined; + s.keys___801606 = undefined; + s.snipped___801610 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore.typeOf(s.arg0); + s.tmp_1 = r0; + r0 = (s.tmp_1 == "string"); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0; + { step = 17; continue; } + { step = 16; continue; } + case 1: + r0 = pxsim_pxtcore.typeOf(s.arg0); + s.tmp_3 = r0; + r0 = (s.tmp_3 == "number"); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + r0 = pxsim_String_.mkEmpty(); + s.tmp_4 = r0; + if ((s.arg0) && (s.arg0).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.arg0); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg0) + ""; } + case 18: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_String__concat(s.tmp_4, s.tmp_5); + { step = 17; continue; } + { step = 15; continue; } + case 2: + r0 = pxsim_Array_.isArray(s.arg0); + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 5; continue; } + s.asArr___801576 = (s.arg0); + r0 = pxsim_Array__length(s.asArr___801576); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_2 = helpers_arrayJoin__P789791_mk(s); + s.tmp_2.arg0 = s.asArr___801576; + s.tmp_2.arg1 = ","; + s.callLocIdx = 34; s.pc = 19; return s.tmp_2; + case 19: + r0 = s.retval; + { step = 17; continue; } + { step = 4; continue; } + case 3: + r0 = pxsim_String_.mkEmpty(); + s.tmp_4 = r0; + s.tmp_7 = helpers_arrayJoin__P789791_mk(s); + s.tmp_8 = helpers_arraySlice__P789803_mk(s); + s.tmp_8.arg0 = s.asArr___801576; + s.tmp_8.arg1 = 0; + s.tmp_8.arg2 = s.arg1; + s.callLocIdx = 35; s.pc = 21; return s.tmp_8; + case 21: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.tmp_7.arg1 = ","; + s.callLocIdx = 36; s.pc = 20; return s.tmp_7; + case 20: + r0 = s.retval; + s.tmp_6 = r0; + if ((s.tmp_6) && (s.tmp_6).vtable) { + setupResume(s, 22); + pxsim_String__stringConv(s.tmp_6); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_6) + ""; } + case 22: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_String__concat(s.tmp_4, s.tmp_5); + s.tmp_3 = r0; + r0 = pxsim_String__concat(s.tmp_3, "..."); + { step = 17; continue; } + case 4: + { step = 14; continue; } + case 5: + if ((s.arg0) && (s.arg0).vtable) { + setupResume(s, 23); + pxsim_String__stringConv(s.arg0); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg0) + ""; } + case 23: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_10 = r0; + r0 = pxsim_String__concat(s.tmp_9, s.tmp_10); + s.asString___801594 = (r0); + r0 = (s.asString___801594 != "[object Object]"); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 6; continue; } + r0 = s.tmp_0; + { step = 7; continue; } + case 6: + r0 = (s.asString___801594 != "[Object]"); + case 7: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 8; continue; } + r0 = s.asString___801594; + { step = 17; continue; } + case 8: + case 9: + r0 = pxsim_pxtrt.keysOf(s.arg0); + s.keys___801606 = (r0); + r0 = pxsim_Array__length(s.keys___801606); + s.tmp_0 = r0; + r0 = (s.tmp_0 > s.arg1); + s.snipped___801610 = (r0); + r0 = pxsim_numops_toBoolDecr(s.snipped___801610); + if (!r0) { step = 10; continue; } + s.tmp_0 = helpers_arraySlice__P789803_mk(s); + s.tmp_0.arg0 = s.keys___801606; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 37; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.keys___801606 = (r0); + case 10: + case 11: + r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P801627); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_numops_toBoolDecr(s.snipped___801610); + if (!r0) { step = 12; continue; } + r0 = "\n ..."; + { step = 13; continue; } + case 12: + r0 = pxsim_String_.mkEmpty(); + case 13: + // jmp value (already in r0) + s.tmp_1 = r0; + s.tmp_7 = helpers_arrayReduce__P789800_mk(s); + s.tmp_7.arg0 = s.keys___801606; + s.tmp_7.arg1 = s.tmp_0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_7.arg2 = r0; + s.callLocIdx = 38; s.pc = 25; return s.tmp_7; + case 25: + r0 = s.retval; + s.tmp_6 = r0; + if ((s.tmp_6) && (s.tmp_6).vtable) { + setupResume(s, 26); + pxsim_String__stringConv(s.tmp_6); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_6) + ""; } + case 26: + r0 = s.retval; + s.tmp_5 = r0; + if ((s.tmp_1) && (s.tmp_1).vtable) { + setupResume(s, 27); + pxsim_String__stringConv(s.tmp_1); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_1) + ""; } + case 27: + r0 = s.retval; + s.tmp_8 = r0; + r0 = pxsim_String__concat(s.tmp_5, s.tmp_8); + s.tmp_4 = r0; + if ((s.tmp_4) && (s.tmp_4).vtable) { + setupResume(s, 28); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 28: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String__concat("{", s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, "\n}"); + { step = 17; continue; } + case 14: + case 15: + case 16: + r0 = undefined; + case 17: + return leave(s, r0) + default: oops() +} } } +console_inspect__P790070.info = {"start":2271,"length":1190,"line":81,"column":4,"endLine":114,"endColumn":5,"fileName":"pxt_modules/base/console.ts","functionName":"inspect","argumentNames":["obj","maxElements"]} + +function console_inspect__P790070_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_inspect__P790070, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + asArr___801576: undefined, + asString___801594: undefined, + keys___801606: undefined, + snipped___801610: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function console_inspect_inline__P801627(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + if ((s.arg0) && (s.arg0).vtable) { + setupResume(s, 1); + pxsim_String__stringConv(s.arg0); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg0) + ""; } + case 1: + r0 = s.retval; + s.tmp_0 = r0; + if ((s.arg1) && (s.arg1).vtable) { + setupResume(s, 2); + pxsim_String__stringConv(s.arg1); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg1) + ""; } + case 2: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_String__concat("\n ", s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_4, ": "); + s.tmp_3 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg1); + s.tmp_7 = r0; + if ((s.tmp_7) && (s.tmp_7).vtable) { + setupResume(s, 3); + pxsim_String__stringConv(s.tmp_7); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_7) + ""; } + case 3: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_6); + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 4); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 4: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat(s.tmp_0, s.tmp_1); + return leave(s, r0) + default: oops() +} } } +console_inspect_inline__P801627.info = {"start":3293,"length":61,"line":108,"column":20,"endLine":108,"endColumn":81,"fileName":"pxt_modules/base/console.ts","functionName":"inline","argumentNames":["prev","currKey"]} + +function console_inspect_inline__P801627_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_inspect_inline__P801627, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_arraySlice__P789803(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.res___800131 = undefined; + s.len___800133 = undefined; + s.i___800167 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___800131 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___800133 = (r0); + r0 = (s.arg1 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.arg1 = (0); + { step = 4; continue; } + case 1: + r0 = (s.arg1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_max__P789818_mk(s); + r0 = (s.len___800133 + s.arg1); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 8; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + s.arg1 = (r0); + case 2: + case 3: + case 4: + r0 = (s.arg1 > s.len___800133); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.res___800131; + { step = 15; continue; } + case 5: + case 6: + r0 = (s.arg2 === undefined); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 7; continue; } + s.arg2 = (s.len___800133); + { step = 10; continue; } + case 7: + r0 = (s.arg2 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + r0 = (s.len___800133 + s.arg2); + s.arg2 = (r0); + case 8: + case 9: + case 10: + r0 = (s.arg2 > s.len___800133); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.arg2 = (s.len___800133); + case 11: + case 12: + s.i___800167 = (s.arg1); + case 13: + r0 = (s.i___800167 < s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + s.tmp_1 = r0 = s.res___800131; + r0 = pxsim_Array__getAt(s.arg0, s.i___800167); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___800167 + 1); + s.i___800167 = (r0); + { step = 13; continue; } + case 14: + r0 = s.res___800131; + case 15: + return leave(s, r0) + default: oops() +} } } +helpers_arraySlice__P789803.info = {"start":9027,"length":690,"line":303,"column":4,"endLine":328,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySlice","argumentNames":["arr","start","end"]} + +function helpers_arraySlice__P789803_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySlice__P789803, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + res___800131: undefined, + len___800133: undefined, + i___800167: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_arrayReduce__P789800(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.len___801654 = undefined; + s.i___801657 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__length(s.arg0); + s.len___801654 = (r0); + s.i___801657 = (0); + case 1: + r0 = (s.i___801657 < s.len___801654); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = lambda_4_mk(s); + s.tmp_1.argL = s.arg1; + s.tmp_1.arg0 = s.arg2; + r0 = pxsim_Array__getAt(s.arg0, s.i___801657); + s.tmp_1.arg1 = r0; + s.tmp_1.arg2 = s.i___801657; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 7; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.arg2 = (r0); + r0 = (s.i___801657 + 1); + s.i___801657 = (r0); + { step = 1; continue; } + case 2: + r0 = s.arg2; + return leave(s, r0) + default: oops() +} } } +helpers_arrayReduce__P789800.info = {"start":8316,"length":317,"line":280,"column":4,"endLine":286,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayReduce","argumentNames":["arr","callbackfn","initialValue"]} + +function helpers_arrayReduce__P789800_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayReduce__P789800, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + len___801654: undefined, + i___801657: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_arrayJoin__P789791(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.r___801682 = undefined; + s.len___801683 = undefined; + s.i___801686 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg1 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = (s.arg1 === null); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + s.arg1 = (","); + case 3: + case 4: + r0 = pxsim_String_.mkEmpty(); + s.r___801682 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___801683 = (r0); + s.i___801686 = (0); + case 5: + r0 = (s.i___801686 < s.len___801683); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.i___801686 > 0); + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (r0) { step = 6; continue; } + r0 = s.tmp_1; + { step = 7; continue; } + case 6: + r0 = s.arg1; + case 7: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 8; continue; } + if ((s.r___801682) && (s.r___801682).vtable) { + setupResume(s, 15); + pxsim_String__stringConv(s.r___801682); + checkResumeConsumed(); + return; + } else { s.retval = (s.r___801682) + ""; } + case 15: + r0 = s.retval; + s.tmp_3 = r0; + if ((s.arg1) && (s.arg1).vtable) { + setupResume(s, 16); + pxsim_String__stringConv(s.arg1); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg1) + ""; } + case 16: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_4); + s.r___801682 = (r0); + case 8: + case 9: + r0 = pxsim_Array__getAt(s.arg0, s.i___801686); + s.tmp_1 = r0; + r0 = (s.tmp_1 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 10; continue; } + r0 = s.tmp_0; + { step = 11; continue; } + case 10: + r0 = pxsim_Array__getAt(s.arg0, s.i___801686); + s.tmp_2 = r0; + r0 = (s.tmp_2 === null); + case 11: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 12; continue; } + r0 = pxsim_String_.mkEmpty(); + { step = 13; continue; } + case 12: + r0 = pxsim_Array__getAt(s.arg0, s.i___801686); + case 13: + // jmp value (already in r0) + s.tmp_4 = r0; + if ((s.r___801682) && (s.r___801682).vtable) { + setupResume(s, 17); + pxsim_String__stringConv(s.r___801682); + checkResumeConsumed(); + return; + } else { s.retval = (s.r___801682) + ""; } + case 17: + r0 = s.retval; + s.tmp_5 = r0; + if ((s.tmp_4) && (s.tmp_4).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 18: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_5, s.tmp_6); + s.r___801682 = (r0); + r0 = (s.i___801686 + 1); + s.i___801686 = (r0); + { step = 5; continue; } + case 14: + r0 = s.r___801682; + return leave(s, r0) + default: oops() +} } } +helpers_arrayJoin__P789791.info = {"start":4133,"length":432,"line":157,"column":4,"endLine":170,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayJoin","argumentNames":["arr","sep"]} + +function helpers_arrayJoin__P789791_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayJoin__P789791, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + r___801682: undefined, + len___801683: undefined, + i___801686: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_toggleStats__P794870(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.stats___792657); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + globals.stats___792657 = (r0); + r0 = pxsim_numops_toBoolDecr(globals.stats___792657); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = globals.control_EventContext_onStats___790086; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + s.tmp_3 = lambda_2_mk(s); + s.tmp_3.argL = globals.control_EventContext_onStats___790086; + r0 = pxsim_String_.mkEmpty(); + s.tmp_3.arg0 = r0; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 1085; s.pc = 5; return s.tmp_3; + case 5: + r0 = s.retval; + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_toggleStats__P794870.info = {"start":9642,"length":179,"line":300,"column":4,"endLine":305,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"toggleStats","argumentNames":[]} + +function scene_systemMenu_toggleStats__P794870_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_toggleStats__P794870, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + + + + + +function scene_systemMenu_brightnessDown__P794868(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_setScreenBrightness__P794869_mk(s); + r0 = globals.brightness___791640; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 5); + s.tmp_0.arg0 = r0; + s.callLocIdx = 1081; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_brightnessDown__P794868.info = {"start":9198,"length":87,"line":289,"column":4,"endLine":291,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessDown","argumentNames":[]} + +function scene_systemMenu_brightnessDown__P794868_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_brightnessDown__P794868, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function scene_systemMenu_setScreenBrightness__P794869(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = helpers_setScreenBrightness__P791654_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1082; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = settings_writeNumber__P791752_mk(s); + s.tmp_0.arg0 = "#brightness"; + r0 = globals.brightness___791640; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1084; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_setScreenBrightness__P794869.info = {"start":9291,"length":345,"line":293,"column":4,"endLine":298,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setScreenBrightness","argumentNames":["b"]} + +function scene_systemMenu_setScreenBrightness__P794869_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_setScreenBrightness__P794869, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function settings_writeNumber__P791752(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.arg1); + s.tmp_1 = settings_writeBuffer__P791749_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = msgpack_packNumberArray__P789872_mk(s); + s.tmp_2.arg0 = s.tmp_0; + s.callLocIdx = 124; s.pc = 2; return s.tmp_2; + case 2: + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.callLocIdx = 125; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_writeNumber__P791752.info = {"start":2265,"length":122,"line":89,"column":4,"endLine":91,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeNumber","argumentNames":["key","value"]} + +function settings_writeNumber__P791752_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_writeNumber__P791752, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function settings_writeBuffer__P791749(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim.settings._set(s.arg0, s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.settings._userClean(); + r0 = pxsim_pxtrt.panic(920); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_writeBuffer__P791749.info = {"start":1538,"length":290,"line":63,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeBuffer","argumentNames":["key","value"]} + +function settings_writeBuffer__P791749_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_writeBuffer__P791749, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function msgpack_packNumberArray__P789872(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.off___801772 = undefined; + s.n___801774 = undefined; + s.unnamed16750___U2 = undefined; + s.unnamed16751___U3 = undefined; + s.buf___801784 = undefined; + s.n___801790 = undefined; + s.unnamed16752___U6 = undefined; + s.unnamed16753___U7 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.off___801772 = (0); + s.n___801774 = (undefined); + s.unnamed16750___U2 = (s.arg0); + s.unnamed16751___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16751___U3; + r0 = pxsim_Array__length(s.unnamed16750___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed16750___U2, s.unnamed16751___U3); + s.n___801774 = (r0); + s.tmp_2 = r0 = s.off___801772; + s.tmp_4 = msgpack_packNumberCore__P794044_mk(s); + s.tmp_4.arg0 = null; + s.tmp_4.arg1 = s.off___801772; + s.tmp_4.arg2 = s.n___801774; + s.callLocIdx = 21; s.pc = 5; return s.tmp_4; + case 5: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.off___801772 = (r0); + r0 = (s.unnamed16751___U3 + 1); + s.unnamed16751___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed16750___U2 = (undefined); + r0 = pxsim.control.createBuffer(s.off___801772); + s.buf___801784 = (r0); + s.off___801772 = (0); + s.n___801790 = (undefined); + s.unnamed16752___U6 = (s.arg0); + s.unnamed16753___U7 = (0); + case 3: + s.tmp_0 = r0 = s.unnamed16753___U7; + r0 = pxsim_Array__length(s.unnamed16752___U6); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed16752___U6, s.unnamed16753___U7); + s.n___801790 = (r0); + s.tmp_2 = r0 = s.off___801772; + s.tmp_4 = msgpack_packNumberCore__P794044_mk(s); + s.tmp_4.arg0 = s.buf___801784; + s.tmp_4.arg1 = s.off___801772; + s.tmp_4.arg2 = s.n___801790; + s.callLocIdx = 22; s.pc = 6; return s.tmp_4; + case 6: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.off___801772 = (r0); + r0 = (s.unnamed16753___U7 + 1); + s.unnamed16753___U7 = (r0); + { step = 3; continue; } + case 4: + s.unnamed16752___U6 = (undefined); + r0 = s.buf___801784; + return leave(s, r0) + default: oops() +} } } +msgpack_packNumberArray__P789872.info = {"start":3427,"length":330,"line":117,"column":4,"endLine":128,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"packNumberArray","argumentNames":["nums"]} + +function msgpack_packNumberArray__P789872_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_packNumberArray__P789872, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + off___801772: undefined, + n___801774: undefined, + unnamed16750___U2: undefined, + unnamed16751___U3: undefined, + buf___801784: undefined, + n___801790: undefined, + unnamed16752___U6: undefined, + unnamed16753___U7: undefined, + arg0: undefined, +} } + + + + + +function msgpack_packNumberCore__P794044(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tag___801804 = undefined; + s.fmt___801847 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + s.tag___801804 = (203); + s.tmp_1 = r0 = s.arg2; + r0 = (s.arg2 << 0); + s.tmp_2 = r0; + r0 = (s.tmp_1 == s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_3 = r0 = s.arg2; + r0 = (s.arg2 >>> 0); + s.tmp_4 = r0; + r0 = (s.tmp_3 == s.tmp_4); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 19; continue; } + r0 = (-31 <= s.arg2); + s.tmp_6 = r0; + r0 = pxsim_numops_toBool(s.tmp_6); + if (r0) { step = 3; continue; } + r0 = s.tmp_6; + { step = 4; continue; } + case 3: + r0 = (s.arg2 <= 127); + case 4: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 7; continue; } + r0 = pxsim_numops_toBoolDecr(s.arg0); + if (!r0) { step = 5; continue; } + r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.arg2); + case 5: + case 6: + r0 = 1; + { step = 23; continue; } + { step = 18; continue; } + case 7: + r0 = (0 <= s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 12; continue; } + r0 = (s.arg2 <= 255); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 8; continue; } + s.tag___801804 = (204); + { step = 11; continue; } + case 8: + r0 = (s.arg2 <= 65535); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tag___801804 = (205); + { step = 10; continue; } + case 9: + s.tag___801804 = (206); + case 10: + case 11: + { step = 17; continue; } + case 12: + r0 = (-127 <= s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + s.tag___801804 = (208); + { step = 16; continue; } + case 13: + r0 = (-32767 <= s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + s.tag___801804 = (209); + { step = 15; continue; } + case 14: + s.tag___801804 = (210); + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + s.tmp_0 = msgpack_tagFormat__P794043_mk(s); + s.tmp_0.arg0 = s.tag___801804; + s.callLocIdx = 17; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.fmt___801847 = (r0); + r0 = pxsim_numops_toBoolDecr(s.arg0); + if (!r0) { step = 21; continue; } + r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___801804); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.fmt___801847; + r0 = (s.arg1 + 1); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.setNumber(s.tmp_0, s.tmp_1, s.tmp_2, s.arg2); + case 21: + case 22: + s.tmp_1 = pins_sizeOf__P789863_mk(s); + s.tmp_1.arg0 = s.fmt___801847; + s.callLocIdx = 18; s.pc = 25; return s.tmp_1; + case 25: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + case 23: + return leave(s, r0) + default: oops() +} } } +msgpack_packNumberCore__P794044.info = {"start":1632,"length":951,"line":56,"column":4,"endLine":86,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"packNumberCore","argumentNames":["buf","offset","num"]} + +function msgpack_packNumberCore__P794044_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_packNumberCore__P794044, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tag___801804: undefined, + fmt___801847: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function msgpack_tagFormat__P794043(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtcore.switch_eq(203, s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq(204, s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq(205, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(206, s.tmp_0); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq(208, s.tmp_0); + if (r0) { step = 5; continue; } + r0 = pxsim_pxtcore.switch_eq(209, s.tmp_0); + if (r0) { step = 6; continue; } + r0 = pxsim_pxtcore.switch_eq(210, s.tmp_0); + if (r0) { step = 7; continue; } + r0 = s.tmp_0; + { step = 8; continue; } + case 1: + r0 = 16; + { step = 9; continue; } + case 2: + r0 = 7; + { step = 9; continue; } + case 3: + r0 = 9; + { step = 9; continue; } + case 4: + r0 = 12; + { step = 9; continue; } + case 5: + r0 = 6; + { step = 9; continue; } + case 6: + r0 = 8; + { step = 9; continue; } + case 7: + r0 = 10; + { step = 9; continue; } + case 8: + r0 = null; + { step = 9; continue; } + r0 = undefined; + case 9: + return leave(s, r0) + default: oops() +} } } +msgpack_tagFormat__P794043.info = {"start":1145,"length":481,"line":42,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"tagFormat","argumentNames":["tag"]} + +function msgpack_tagFormat__P794043_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_tagFormat__P794043, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function pins_sizeOf__P789863(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = Buffer_sizeOfNumberFormat__P789903_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 16; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +pins_sizeOf__P789863.info = {"start":42,"length":101,"line":2,"column":4,"endLine":4,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"sizeOf","argumentNames":["format"]} + +function pins_sizeOf__P789863_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: pins_sizeOf__P789863, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Buffer_sizeOfNumberFormat__P789903(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq(6, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0); + if (r0) { step = 5; continue; } + r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0); + if (r0) { step = 6; continue; } + r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0); + if (r0) { step = 7; continue; } + r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0); + if (r0) { step = 8; continue; } + r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0); + if (r0) { step = 9; continue; } + r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0); + if (r0) { step = 10; continue; } + r0 = pxsim_pxtcore.switch_eq(12, s.tmp_0); + if (r0) { step = 11; continue; } + r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0); + if (r0) { step = 12; continue; } + r0 = pxsim_pxtcore.switch_eq(15, s.tmp_0); + if (r0) { step = 13; continue; } + r0 = pxsim_pxtcore.switch_eq(13, s.tmp_0); + if (r0) { step = 14; continue; } + r0 = pxsim_pxtcore.switch_eq(16, s.tmp_0); + if (r0) { step = 15; continue; } + r0 = pxsim_pxtcore.switch_eq(14, s.tmp_0); + if (r0) { step = 16; continue; } + r0 = s.tmp_0; + { step = 17; continue; } + case 1: + case 2: + case 3: + case 4: + r0 = 1; + { step = 18; continue; } + case 5: + case 6: + case 7: + case 8: + r0 = 2; + { step = 18; continue; } + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + r0 = 4; + { step = 18; continue; } + case 15: + case 16: + r0 = 8; + { step = 18; continue; } + case 17: + r0 = 0; + case 18: + return leave(s, r0) + default: oops() +} } } +Buffer_sizeOfNumberFormat__P789903.info = {"start":14912,"length":856,"line":508,"column":4,"endLine":532,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"sizeOfNumberFormat","argumentNames":["format"]} + +function Buffer_sizeOfNumberFormat__P789903_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Buffer_sizeOfNumberFormat__P789903, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function helpers_setScreenBrightness__P791654(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = Math_clamp__P789815_mk(s); + s.tmp_0.arg0 = 10; + s.tmp_0.arg1 = 100; + r0 = (s.arg1 | 0); + s.tmp_0.arg2 = r0; + s.callLocIdx = 87; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.arg1 = (r0); + globals.brightness___791640 = (s.arg1); + r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___791640); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_setScreenBrightness__P791654.info = {"start":8945,"length":210,"line":282,"column":4,"endLine":286,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"setScreenBrightness","argumentNames":["img","b"]} + +function helpers_setScreenBrightness__P791654_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_setScreenBrightness__P791654, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_brightnessUp__P794867(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_setScreenBrightness__P794869_mk(s); + r0 = globals.brightness___791640; + s.tmp_1 = r0; + r0 = (s.tmp_1 + 5); + s.tmp_0.arg0 = r0; + s.callLocIdx = 1079; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_brightnessUp__P794867.info = {"start":9107,"length":85,"line":285,"column":4,"endLine":287,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"brightnessUp","argumentNames":[]} + +function scene_systemMenu_brightnessUp__P794867_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_brightnessUp__P794867, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function scene_systemMenu_volumeDown__P794866(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.v___802120 = undefined; + s.remainder___802123 = undefined; + s.newVolume___802126 = undefined; + s.tmp_0 = music_volume__P791310_mk(s); + s.callLocIdx = 1076; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.v___802120 = (r0); + r0 = (s.v___802120 % 32); + s.remainder___802123 = (r0); + r0 = pxsim_numops_toBoolDecr(s.remainder___802123); + if (!r0) { step = 1; continue; } + r0 = s.remainder___802123; + { step = 2; continue; } + case 1: + r0 = 32; + case 2: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = (s.v___802120 - s.tmp_0); + s.newVolume___802126 = (r0); + s.tmp_0 = scene_systemMenu_setVolume__P794864_mk(s); + s.tmp_0.arg0 = s.newVolume___802126; + s.callLocIdx = 1077; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_volumeDown__P794866.info = {"start":8914,"length":187,"line":278,"column":4,"endLine":283,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeDown","argumentNames":[]} + +function scene_systemMenu_volumeDown__P794866_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_volumeDown__P794866, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + v___802120: undefined, + remainder___802123: undefined, + newVolume___802126: undefined, +} } + + + + + +function scene_systemMenu_setVolume__P794864(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = music_setVolume__P791309_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1071; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = music_playTone__P791311_mk(s); + s.tmp_0.arg0 = 440; + s.tmp_0.arg1 = 500; + s.callLocIdx = 1072; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = settings_writeNumber__P791752_mk(s); + s.tmp_0.arg0 = "#volume"; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1073; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_setVolume__P794864.info = {"start":8565,"length":166,"line":265,"column":4,"endLine":269,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setVolume","argumentNames":["newVolume"]} + +function scene_systemMenu_setVolume__P794864_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_setVolume__P794864, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function music_playTone__P791311(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.id___801961 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtrt.mklocRef(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.arg1); + s.arg1 = (s.tmp_0); + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_2 = r0; + r0 = (s.tmp_2 == 0); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtrt_stlocRef(s.arg1, 86400000); + case 1: + case 2: + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= 2000); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_2 = music_playNoteCore__P794143_mk(s); + s.tmp_2.arg0 = 0; + s.tmp_2.arg1 = s.arg0; + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_2.arg2 = r0; + s.callLocIdx = 64; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + s.tmp_0 = pause__P790101_mk(s); + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_0.arg0 = r0; + s.callLocIdx = 65; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + { step = 4; continue; } + case 3: + r0 = (globals.playToneID___794145 + 1); + s.tmp_0 = r0; + globals.playToneID___794145 = (r0); + s.id___801961 = (s.tmp_0); + r0 = pxsim_pxtcore_mkAction(3, music_playTone_inline__P801967); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___801961); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg0); + r0 = pxsim.control.runInParallel(s.tmp_0); + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_playTone__P791311.info = {"start":2612,"length":831,"line":84,"column":4,"endLine":109,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playTone","argumentNames":["frequency","ms"]} + +function music_playTone__P791311_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_playTone__P791311, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + id___801961: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function music_playTone_inline__P801967(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.pos___801968 = undefined; + s.now___801978 = undefined; + s.d___801981 = undefined; + s.t___801985 = undefined; + r0 = pxsim.control.millis(); + s.pos___801968 = (r0); + case 1: + r0 = (s.caps[0] == globals.playToneID___794145); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 2; continue; } + r0 = s.tmp_0; + { step = 3; continue; } + case 2: + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_1 = r0; + r0 = (s.tmp_1 > 0); + case 3: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 6; continue; } + r0 = pxsim.control.millis(); + s.now___801978 = (r0); + r0 = (s.pos___801968 - s.now___801978); + s.d___801981 = (r0); + s.tmp_0 = Math_min__P789819_mk(s); + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 500; + s.callLocIdx = 66; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.t___801985 = (r0); + s.tmp_0 = r0 = s.caps[1]; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.t___801985); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = (s.pos___801968 + s.t___801985); + s.pos___801968 = (r0); + s.tmp_0 = music_playNoteCore__P794143_mk(s); + r0 = (s.d___801981 - 1); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.caps[2]; + s.tmp_0.arg2 = s.t___801985; + s.callLocIdx = 67; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_1 = r0; + r0 = (s.tmp_1 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_2 = pause__P790101_mk(s); + r0 = (s.d___801981 + s.t___801985); + s.tmp_2.arg0 = r0; + s.callLocIdx = 68; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + { step = 5; continue; } + case 4: + s.tmp_0 = pause__P790101_mk(s); + r0 = (s.d___801981 + s.t___801985); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 100); + s.tmp_0.arg0 = r0; + s.callLocIdx = 69; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + case 5: + { step = 1; continue; } + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_playTone_inline__P801967.info = {"start":2911,"length":515,"line":93,"column":34,"endLine":107,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} + +function music_playTone_inline__P801967_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_playTone_inline__P801967, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + pos___801968: undefined, + now___801978: undefined, + d___801981: undefined, + t___801985: undefined, +} } + + + + + +function music_playNoteCore__P794143(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.buf___802015 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim.control.createBuffer(12); + s.buf___802015 = (r0); + s.tmp_0 = music_addNote__P791325_mk(s); + s.tmp_0.arg0 = s.buf___802015; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = 255; + s.tmp_0.arg4 = 255; + s.tmp_0.arg5 = 3; + s.tmp_0.arg6 = s.arg1; + s.tmp_1 = music_volume__P791310_mk(s); + s.callLocIdx = 62; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg7 = r0; + s.tmp_0.arg8 = s.arg1; + s.callLocIdx = 63; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___802015); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_playNoteCore__P794143.info = {"start":1877,"length":240,"line":66,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playNoteCore","argumentNames":["when","frequency","ms"]} + +function music_playNoteCore__P794143_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_playNoteCore__P794143, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + buf___802015: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function music_addNote__P791325(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.arg6 = (s.lambdaArgs[6]); + s.arg7 = (s.lambdaArgs[7]); + s.arg8 = (s.lambdaArgs[8]); + s.lambdaArgs = null; + } + r0 = (s.arg2 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, s.arg5); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 + 1); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 2, s.tmp_1, 0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 + 2); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg6); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 + 4); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg2); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 + 6); + s.tmp_1 = r0; + r0 = (s.arg3 * s.arg7); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 6); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 + 8); + s.tmp_1 = r0; + r0 = (s.arg4 * s.arg7); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 6); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.tmp_2); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 + 10); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.setNumber(s.tmp_0, 4, s.tmp_1, s.arg8); + r0 = (s.arg1 + 12); + s.arg1 = (r0); + case 1: + case 2: + r0 = pxsim.BufferMethods.setNumber(s.arg0, 2, s.arg1, 0); + r0 = s.arg1; + return leave(s, r0) + default: oops() +} } } +music_addNote__P791325.info = {"start":10288,"length":911,"line":323,"column":4,"endLine":336,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"addNote","argumentNames":["sndInstr","sndInstrPtr","ms","beg","end","soundWave","hz","volume","endHz"]} + +function music_addNote__P791325_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_addNote__P791325, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, + arg6: undefined, + arg7: undefined, + arg8: undefined, +} } + + + + + +function music_setVolume__P791309(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = Math_clamp__P789815_mk(s); + s.tmp_0.arg0 = 0; + s.tmp_0.arg1 = 255; + r0 = (s.arg0 | 0); + s.tmp_0.arg2 = r0; + s.callLocIdx = 59; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + globals.globalVolume___794138 = (r0); + r0 = (globals.globalVolume___794138 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 1; + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = undefined; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_setVolume__P791309.info = {"start":1533,"length":153,"line":51,"column":4,"endLine":54,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"setVolume","argumentNames":["volume"]} + +function music_setVolume__P791309_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_setVolume__P791309, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function music_enableAmp__P794141(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_enableAmp__P794141.info = {"start":944,"length":64,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"enableAmp","argumentNames":["en"]} + +function music_enableAmp__P794141_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_enableAmp__P794141, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_systemMenu_volumeUp__P794865(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.v___801929 = undefined; + s.remainder___801932 = undefined; + s.newVolume___801935 = undefined; + s.tmp_0 = music_volume__P791310_mk(s); + s.callLocIdx = 1074; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.v___801929 = (r0); + r0 = (s.v___801929 % 32); + s.remainder___801932 = (r0); + r0 = (s.v___801929 + 32); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.remainder___801932); + s.newVolume___801935 = (r0); + s.tmp_0 = scene_systemMenu_setVolume__P794864_mk(s); + s.tmp_0.arg0 = s.newVolume___801935; + s.callLocIdx = 1075; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_volumeUp__P794865.info = {"start":8737,"length":171,"line":271,"column":4,"endLine":276,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"volumeUp","argumentNames":[]} + +function scene_systemMenu_volumeUp__P794865_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_volumeUp__P794865, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + v___801929: undefined, + remainder___801932: undefined, + newVolume___801935: undefined, +} } + + + + + +function game_consoleOverlay_isVisible__P792813(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___794906); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_isVisible__P792813.info = {"start":422,"length":68,"line":11,"column":4,"endLine":13,"endColumn":5,"fileName":"pxt_modules/game/console.ts","functionName":"isVisible","argumentNames":[]} + +function game_consoleOverlay_isVisible__P792813_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_isVisible__P792813, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function scene_systemMenu_closeMenu__P792791(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.instance___794860); + if (!r0) { step = 1; continue; } + s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P792790_mk(s); + s.tmp_0.arg0 = globals.instance___794860; + s.callLocIdx = 1090; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + globals.instance___794860 = (undefined); + s.tmp_0 = controller__setUserEventsEnabled__P791895_mk(s); + s.tmp_0.arg0 = true; + s.callLocIdx = 1091; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = game_popScene__P792693_mk(s); + s.callLocIdx = 1092; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_closeMenu__P792791.info = {"start":10129,"length":216,"line":320,"column":4,"endLine":327,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"closeMenu","argumentNames":[]} + +function scene_systemMenu_closeMenu__P792791_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_closeMenu__P792791, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_dispose__P792790(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C792784_VT)) failedCast(r0); + r0 = s.arg0.fields["options"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = scene_systemMenu_PauseMenu_dispose_inline__P800250; + s.callLocIdx = 1067; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.arg0).fields["options"] = (undefined); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_dispose__P792790.info = {"start":7732,"length":165,"line":243,"column":8,"endLine":248,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]} + +function scene_systemMenu_PauseMenu_dispose__P792790_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_dispose__P792790, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_dispose_inline__P800250(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = scene_systemMenu_MenuOption_dispose__P792783_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1066; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_dispose_inline__P800250.info = {"start":7813,"length":16,"line":245,"column":37,"endLine":245,"endColumn":53,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["o"]} + +function scene_systemMenu_PauseMenu_dispose_inline__P800250_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_dispose_inline__P800250, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_dispose__P792783(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + r0 = s.arg0.fields["card"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = Sprite_destroy__P792117_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = undefined; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 986; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = Sprite_destroy__P792117_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = undefined; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 987; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = (s.arg0).fields["card"] = (undefined); + r0 = (s.arg0).fields["icon"] = (undefined); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_dispose__P792783.info = {"start":1812,"length":216,"line":77,"column":8,"endLine":84,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"dispose","argumentNames":["this"]} + +function scene_systemMenu_MenuOption_dispose__P792783_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_dispose__P792783, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Sprite_destroy__P792117(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 5; continue; } + case 1: + case 2: + s.tmp_2 = r0 = s.arg0; + r0 = s.tmp_2.fields["flags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 | 2); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["flags"] = (s.tmp_3); + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 3; continue; } + s.tmp_0 = effects_ParticleEffect_destroy__P792954_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = undefined; + s.callLocIdx = 431; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + { step = 4; continue; } + case 3: + s.tmp_0 = Sprite__destroyCore__P792118_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 432; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + case 4: + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_destroy__P792117.info = {"start":26493,"length":293,"line":859,"column":4,"endLine":868,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"destroy","argumentNames":["this","effect","duration"]} + +function Sprite_destroy__P792117_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_destroy__P792117, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function effects_ParticleEffect_destroy__P792954(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, effects_ParticleEffect__C792951_VT)) failedCast(r0); + s.tmp_0 = Sprite_setFlag__P792108_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 7168; + s.tmp_0.arg2 = true; + s.callLocIdx = 1251; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = effects_ParticleEffect_start__P792953_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg3; + s.tmp_0.arg3 = null; + r0 = s.arg1.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 512); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0.arg4 = r0; + s.callLocIdx = 1252; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 1; continue; } + r0 = s.arg2; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["defaultLifespan"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 2); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg1).fields["lifespan"] = (s.tmp_1); + s.tmp_0 = effects_ImageEffect_applyTo__P792981_mk(s); + s.tmp_0.arg0 = globals.dissolve___792984; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1253; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ParticleEffect_destroy__P792954.info = {"start":1736,"length":368,"line":41,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"destroy","argumentNames":["this","anchor","duration","particlesPerSecond"]} + +function effects_ParticleEffect_destroy__P792954_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ParticleEffect_destroy__P792954, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function dissolve_inline__P800395(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.i___800398 = undefined; + s.x___800409 = undefined; + s.y___800415 = undefined; + s.w___800421 = undefined; + s.h___800425 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 5); + s.i___800398 = (r0); + case 1: + r0 = (s.i___800398 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_1.arg0 = s.arg1; + s.tmp_1.arg1 = 0; + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_1.arg2 = r0; + s.callLocIdx = 52; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.x___800409 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 0; + r0 = pxsim_ImageMethods.height(s.arg0); + s.tmp_0.arg2 = r0; + s.callLocIdx = 53; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.y___800415 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = 3; + s.callLocIdx = 54; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.w___800421 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = 3; + s.callLocIdx = 55; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.h___800425 = (r0); + s.tmp_0 = helpers_imageDrawRect__P791648_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.x___800409; + s.tmp_0.arg2 = s.y___800415; + s.tmp_0.arg3 = s.w___800421; + s.tmp_0.arg4 = s.h___800425; + s.tmp_0.arg5 = 0; + s.callLocIdx = 56; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = (s.i___800398 - 1); + s.i___800398 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +dissolve_inline__P800395.info = {"start":2199,"length":360,"line":60,"column":49,"endLine":69,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]} + +function dissolve_inline__P800395_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: dissolve_inline__P800395, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + i___800398: undefined, + x___800409: undefined, + y___800415: undefined, + w___800421: undefined, + h___800425: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_imageDrawRect__P791648(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.lambdaArgs = null; + } + r0 = (s.arg3 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = (s.arg4 == 0); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + { step = 5; continue; } + case 3: + case 4: + r0 = (s.arg3 - 1); + s.arg3 = (r0); + r0 = (s.arg4 - 1); + s.arg4 = (r0); + s.tmp_0 = helpers_imageDrawLine__P791647_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + r0 = (s.arg1 + s.arg3); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = s.arg2; + s.tmp_0.arg5 = s.arg5; + s.callLocIdx = 83; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P791647_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = s.arg1; + r0 = (s.arg2 + s.arg4); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.arg5; + s.callLocIdx = 84; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P791647_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = (s.arg1 + s.arg3); + s.tmp_0.arg1 = r0; + r0 = (s.arg2 + s.arg4); + s.tmp_0.arg2 = r0; + r0 = (s.arg1 + s.arg3); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = s.arg2; + s.tmp_0.arg5 = s.arg5; + s.callLocIdx = 85; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P791647_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = (s.arg1 + s.arg3); + s.tmp_0.arg1 = r0; + r0 = (s.arg2 + s.arg4); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.arg1; + r0 = (s.arg2 + s.arg4); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.arg5; + s.callLocIdx = 86; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imageDrawRect__P791648.info = {"start":5945,"length":370,"line":185,"column":4,"endLine":193,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawRect","argumentNames":["img","x","y","w","h","c"]} + +function helpers_imageDrawRect__P791648_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageDrawRect__P791648, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, +} } + + + + + +function helpers_imageDrawLine__P791647(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = helpers_pack__P794244_mk(s); + s.tmp_2.arg0 = s.arg1; + s.tmp_2.arg1 = s.arg2; + s.callLocIdx = 81; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = helpers_pack__P794244_mk(s); + s.tmp_4.arg0 = s.arg3; + s.tmp_4.arg1 = s.arg4; + s.callLocIdx = 82; s.pc = 2; return s.tmp_4; + case 2: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods._drawLine(s.tmp_0, s.tmp_1, s.tmp_3, s.arg5); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imageDrawLine__P791647.info = {"start":5781,"length":159,"line":182,"column":4,"endLine":184,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawLine","argumentNames":["img","x","y","w","h","c"]} + +function helpers_imageDrawLine__P791647_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageDrawLine__P791647, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, +} } + + + + + +function Math_FastRandom_randomRange__P792752(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Math_FastRandom__C792748_VT)) failedCast(r0); + r0 = (s.arg2 > s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = Math_FastRandom_next__P792751_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 968; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.arg2 - s.arg1); + s.tmp_4 = r0; + r0 = (s.tmp_4 + 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 % s.tmp_3); + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = (s.arg1 + s.tmp_5); + return leave(s, r0) + default: oops() +} } } +Math_FastRandom_randomRange__P792752.info = {"start":2079,"length":131,"line":62,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"randomRange","argumentNames":["this","min","max"]} + +function Math_FastRandom_randomRange__P792752_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_randomRange__P792752, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Math_FastRandom_next__P792751(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Math_FastRandom__C792748_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["lfsr"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = s.arg0.fields["lfsr"]; + s.tmp_7 = r0; + r0 = (s.tmp_7 & 1); + s.tmp_6 = r0; + r0 = (0 - s.tmp_6); + s.tmp_5 = r0; + r0 = (s.tmp_5 & 46080); + s.tmp_4 = r0; + r0 = (s.tmp_2 ^ s.tmp_4); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["lfsr"] = (s.tmp_1); + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +Math_FastRandom_next__P792751.info = {"start":1713,"length":107,"line":53,"column":8,"endLine":55,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"next","argumentNames":["this"]} + +function Math_FastRandom_next__P792751_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_next__P792751, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + arg0: undefined, +} } + + + + + +function effects_ImageEffect_constructor__P792980(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, effects_ImageEffect__C792979_VT)) failedCast(r0); + r0 = (s.arg0).fields["effect"] = (s.arg2); + r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C792748_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P792750_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 1261; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["fastRandom"] = (s.tmp_0); + r0 = (s.arg0).fields["preferredDelay"] = (s.arg1); + r0 = (s.arg0).fields["times"] = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ImageEffect_constructor__P792980.info = {"start":410,"length":290,"line":10,"column":8,"endLine":15,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["this","defaultRate","effectFactory"]} + +function effects_ImageEffect_constructor__P792980_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_constructor__P792980, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function effects_ImageEffect_applyTo__P792981(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.clonedImage___800574 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, effects_ImageEffect__C792979_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg1.fields["_image"]; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + { step = 5; continue; } + case 3: + case 4: + r0 = s.arg1.fields["_image"]; + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.clone(s.tmp_5); + s.clonedImage___800574 = (r0); + s.tmp_0 = effects_ImageEffect_change__P792982_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.clonedImage___800574; + s.callLocIdx = 1264; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = Sprite_setImage__P792080_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.clonedImage___800574; + s.callLocIdx = 1265; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ImageEffect_applyTo__P792981.info = {"start":823,"length":218,"line":21,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"applyTo","argumentNames":["this","sprite"]} + +function effects_ImageEffect_applyTo__P792981_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_applyTo__P792981, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + clonedImage___800574: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function effects_ImageEffect_change__P792982(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, effects_ImageEffect__C792979_VT)) failedCast(r0); + s.tmp_0 = if_effect_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + r0 = s.arg0.fields["fastRandom"]; + s.tmp_0.arg2 = r0; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "effect"), 3); + s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["effect"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["effect"], 3); s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1266; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 1266; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ImageEffect_change__P792982.info = {"start":1151,"length":81,"line":32,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"change","argumentNames":["this","input"]} + +function effects_ImageEffect_change__P792982_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_change__P792982, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_setImage__P792080(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["_image"]; + s.tmp_2 = r0; + r0 = (s.arg1 === s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + { step = 5; continue; } + case 3: + case 4: + r0 = (s.arg0).fields["_image"] = (s.arg1); + s.tmp_0 = Sprite__C792030_v5_1_mk(s); + s.tmp_0.arg0 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, Sprite__C792030_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.recalcSize; + s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_setImage__P792080.info = {"start":9299,"length":131,"line":332,"column":4,"endLine":336,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setImage","argumentNames":["this","img"]} + +function Sprite_setImage__P792080_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setImage__P792080, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_recalcSize__P794415(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["_image"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_4); + s.tmp_3 = r0; + s.tmp_6 = Sprite_sx__P792059_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 343; s.pc = 1; return s.tmp_6; + case 1: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_3 * s.tmp_5); + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_7 = r0; + r0 = (s.tmp_7 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_width"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["_image"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_4); + s.tmp_3 = r0; + s.tmp_6 = Sprite_sy__P792061_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 345; s.pc = 2; return s.tmp_6; + case 2: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_3 * s.tmp_5); + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_7 = r0; + r0 = (s.tmp_7 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_height"] = (s.tmp_1); + s.tmp_0 = Sprite_resetHitbox__P792082_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 347; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_recalcSize__P794415.info = {"start":9982,"length":178,"line":363,"column":4,"endLine":367,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"recalcSize","argumentNames":["this"]} + +function Sprite_recalcSize__P794415_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_recalcSize__P794415, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + arg0: undefined, +} } + + + + + +function Sprite_resetHitbox__P792082(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = (s.arg0).fields["_hitbox"] = (null); + s.tmp_0 = Sprite__C792030_v4_1_mk(s); + s.tmp_0.arg0 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, Sprite__C792030_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.setHitbox; + s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_resetHitbox__P792082.info = {"start":9580,"length":76,"line":342,"column":4,"endLine":345,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"resetHitbox","argumentNames":["this"]} + +function Sprite_resetHitbox__P792082_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_resetHitbox__P792082, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_setHitbox__P792083(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = game_Hitbox_updateIfInvalid__P791911_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 341; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = game_calculateHitBox__P791913_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 342; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_hitbox"] = (s.tmp_1); + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_setHitbox__P792083.info = {"start":9662,"length":173,"line":347,"column":4,"endLine":353,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setHitbox","argumentNames":["this"]} + +function Sprite_setHitbox__P792083_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setHitbox__P792083, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function game_calculateHitBox__P791913(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.i___800639 = undefined; + s.minX___800642 = undefined; + s.minY___800646 = undefined; + s.maxX___800650 = undefined; + s.maxY___800652 = undefined; + s.c___800654 = undefined; + s.fxc___800655 = undefined; + s.r___800662 = undefined; + s.fxr___800663 = undefined; + s.width___800727 = undefined; + s.height___800735 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["_hitbox"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_1 = game_Hitbox_isValid__P791909_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 275; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + r0 = s.arg0.fields["_hitbox"]; + { step = 11; continue; } + case 3: + case 4: + r0 = s.arg0.fields["_image"]; + s.i___800639 = (r0); + r0 = pxsim_ImageMethods.width(s.i___800639); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_1 = r0; + r0 = (s.tmp_1 | 0); + s.minX___800642 = (r0); + r0 = pxsim_ImageMethods.height(s.i___800639); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_1 = r0; + r0 = (s.tmp_1 | 0); + s.minY___800646 = (r0); + s.maxX___800650 = (0); + s.maxY___800652 = (0); + s.c___800654 = (0); + s.fxc___800655 = (0); + case 5: + s.tmp_1 = r0 = s.c___800654; + r0 = pxsim_ImageMethods.width(s.i___800639); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 10; continue; } + s.r___800662 = (0); + s.fxr___800663 = (0); + case 6: + s.tmp_1 = r0 = s.r___800662; + r0 = pxsim_ImageMethods.height(s.i___800639); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = pxsim_ImageMethods.getPixel(s.i___800639, s.c___800654, s.r___800662); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 7; continue; } + s.tmp_4 = Fx_min__P789854_mk(s); + s.tmp_4.arg0 = s.minX___800642; + s.tmp_4.arg1 = s.fxc___800655; + s.callLocIdx = 279; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + s.minX___800642 = (r0); + s.tmp_0 = Fx_min__P789854_mk(s); + s.tmp_0.arg0 = s.minY___800646; + s.tmp_0.arg1 = s.fxr___800663; + s.callLocIdx = 280; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.minY___800646 = (r0); + s.tmp_0 = Fx_max__P789855_mk(s); + s.tmp_0.arg0 = s.maxX___800650; + s.tmp_0.arg1 = s.fxc___800655; + s.callLocIdx = 281; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + s.maxX___800650 = (r0); + s.tmp_0 = Fx_max__P789855_mk(s); + s.tmp_0.arg0 = s.maxY___800652; + s.tmp_0.arg1 = s.fxr___800663; + s.callLocIdx = 282; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.maxY___800652 = (r0); + case 7: + case 8: + r0 = (s.r___800662 + 1); + s.r___800662 = (r0); + r0 = (s.fxr___800663 + 256); + s.tmp_0 = r0; + s.fxr___800663 = (r0); + r0 = s.tmp_0; + { step = 6; continue; } + case 9: + r0 = (s.c___800654 + 1); + s.c___800654 = (r0); + r0 = (s.fxc___800655 + 256); + s.tmp_0 = r0; + s.fxc___800655 = (r0); + r0 = s.tmp_0; + { step = 5; continue; } + case 10: + r0 = s.arg0.fields["_sx"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.minX___800642, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.minX___800642 = (r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.minY___800646, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.minY___800646 = (r0); + r0 = s.arg0.fields["_sx"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.maxX___800650, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.maxX___800650 = (r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.maxY___800652, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.maxY___800652 = (r0); + r0 = (s.maxX___800650 - s.minX___800642); + s.tmp_0 = r0; + r0 = s.arg0.fields["_sx"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.width___800727 = (r0); + r0 = (s.maxY___800652 - s.minY___800646); + s.tmp_0 = r0; + r0 = s.arg0.fields["_sy"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.height___800735 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C791897_VT); + s.tmp_0 = r0; + s.tmp_1 = game_Hitbox_constructor__P791904_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.width___800727; + s.tmp_1.arg3 = s.height___800735; + r0 = (s.minX___800642 & -256); + s.tmp_1.arg4 = r0; + r0 = (s.minY___800646 & -256); + s.tmp_1.arg5 = r0; + s.callLocIdx = 295; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + r0 = s.tmp_0; + case 11: + return leave(s, r0) + default: oops() +} } } +game_calculateHitBox__P791913.info = {"start":3223,"length":1086,"line":103,"column":4,"endLine":132,"endColumn":5,"fileName":"pxt_modules/game/hitbox.ts","functionName":"calculateHitBox","argumentNames":["s"]} + +function game_calculateHitBox__P791913_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_calculateHitBox__P791913, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + i___800639: undefined, + minX___800642: undefined, + minY___800646: undefined, + maxX___800650: undefined, + maxY___800652: undefined, + c___800654: undefined, + fxc___800655: undefined, + r___800662: undefined, + fxr___800663: undefined, + width___800727: undefined, + height___800735: undefined, + arg0: undefined, +} } + + + + + +function game_Hitbox_isValid__P791909(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + r0 = s.arg0.fields["hash"]; + s.tmp_0 = r0; + s.tmp_2 = Sprite_calcDimensionalHash__P792081_mk(s); + r0 = s.arg0.fields["parent"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 228; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 === s.tmp_1); + return leave(s, r0) + default: oops() +} } } +game_Hitbox_isValid__P791909.info = {"start":935,"length":89,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"isValid","argumentNames":["this"]} + +function game_Hitbox_isValid__P791909_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_isValid__P791909, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function Sprite_calcDimensionalHash__P792081(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.revision(s.tmp_2); + s.tmp_1 = r0; + r0 = s.arg0.fields["_width"]; + s.tmp_4 = r0; + r0 = (8 + 8); + s.tmp_5 = r0; + r0 = (s.tmp_4 >> s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_1 + s.tmp_3); + s.tmp_0 = r0; + r0 = s.arg0.fields["_height"]; + s.tmp_7 = r0; + r0 = (16 + 8); + s.tmp_8 = r0; + r0 = (s.tmp_7 >> s.tmp_8); + s.tmp_6 = r0; + r0 = (s.tmp_0 + s.tmp_6); + return leave(s, r0) + default: oops() +} } } +Sprite_calcDimensionalHash__P792081.info = {"start":9436,"length":138,"line":338,"column":4,"endLine":340,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"calcDimensionalHash","argumentNames":["this"]} + +function Sprite_calcDimensionalHash__P792081_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_calcDimensionalHash__P792081, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + arg0: undefined, +} } + + + + + +function Fx_toIntShifted__P789844(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 + 8); + s.tmp_1 = r0; + r0 = (s.tmp_0 >> s.tmp_1); + return leave(s, r0) + default: oops() +} } } +Fx_toIntShifted__P789844.info = {"start":404,"length":102,"line":17,"column":4,"endLine":19,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"toIntShifted","argumentNames":["a","n"]} + +function Fx_toIntShifted__P789844_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_toIntShifted__P789844, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_Hitbox_constructor__P791904(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Sprite_calcDimensionalHash__P792081_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 219; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["hash"] = (s.tmp_1); + r0 = (s.arg0).fields["parent"] = (s.arg1); + r0 = (s.arg0).fields["width"] = (s.arg2); + r0 = (s.arg0).fields["height"] = (s.arg3); + r0 = (s.arg0).fields["ox"] = (s.arg4); + r0 = (s.arg0).fields["oy"] = (s.arg5); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_Hitbox_constructor__P791904.info = {"start":173,"length":288,"line":9,"column":8,"endLine":16,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"inline","argumentNames":["this","parent","width","height","ox","oy"]} + +function game_Hitbox_constructor__P791904_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_constructor__P791904, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, +} } + + + + + +function Fx_floor__P789856(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 & -256); + return leave(s, r0) + default: oops() +} } } +Fx_floor__P789856.info = {"start":1919,"length":103,"line":62,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"floor","argumentNames":["v"]} + +function Fx_floor__P789856_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_floor__P789856, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Fx_max__P789855(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 > s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0; + { step = 3; continue; } + { step = 2; continue; } + case 1: + r0 = s.arg1; + { step = 3; continue; } + case 2: + r0 = undefined; + case 3: + return leave(s, r0) + default: oops() +} } } +Fx_max__P789855.info = {"start":1797,"length":117,"line":56,"column":4,"endLine":61,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"max","argumentNames":["a","b"]} + +function Fx_max__P789855_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_max__P789855, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_min__P789854(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 < s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0; + { step = 3; continue; } + { step = 2; continue; } + case 1: + r0 = s.arg1; + { step = 3; continue; } + case 2: + r0 = undefined; + case 3: + return leave(s, r0) + default: oops() +} } } +Fx_min__P789854.info = {"start":1675,"length":117,"line":50,"column":4,"endLine":55,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"min","argumentNames":["a","b"]} + +function Fx_min__P789854_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_min__P789854, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_mul__P789848(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim.Math_.imul(s.arg0, s.arg1); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 8); + return leave(s, r0) + default: oops() +} } } +Fx_mul__P789848.info = {"start":872,"length":133,"line":29,"column":4,"endLine":31,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"mul","argumentNames":["a","b"]} + +function Fx_mul__P789848_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_mul__P789848, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_sub__P789847(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 - s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_sub__P789847.info = {"start":749,"length":118,"line":26,"column":4,"endLine":28,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"sub","argumentNames":["a","b"]} + +function Fx_sub__P789847_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_sub__P789847, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_Hitbox_updateIfInvalid__P791911(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.newHitBox___800836 = undefined; + s.oMinX___800841 = undefined; + s.oMinY___800844 = undefined; + s.oMaxX___800847 = undefined; + s.oMaxY___800853 = undefined; + s.nMinX___800859 = undefined; + s.nMinY___800862 = undefined; + s.nMaxX___800865 = undefined; + s.nMaxY___800871 = undefined; + s.xDiff___800877 = undefined; + s.yDiff___800888 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + s.tmp_1 = game_Hitbox_isValid__P791909_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 233; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 7; continue; } + case 1: + case 2: + s.tmp_2 = game_calculateHitBox__P791913_mk(s); + r0 = s.arg0.fields["parent"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 234; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + s.newHitBox___800836 = (r0); + r0 = s.arg0.fields["ox"]; + s.oMinX___800841 = (r0); + r0 = s.arg0.fields["oy"]; + s.oMinY___800844 = (r0); + r0 = s.arg0.fields["width"]; + s.tmp_0 = r0; + r0 = (s.oMinX___800841 + s.tmp_0); + s.oMaxX___800847 = (r0); + r0 = s.arg0.fields["height"]; + s.tmp_0 = r0; + r0 = (s.oMinY___800844 + s.tmp_0); + s.oMaxY___800853 = (r0); + r0 = s.newHitBox___800836.fields["ox"]; + s.nMinX___800859 = (r0); + r0 = s.newHitBox___800836.fields["oy"]; + s.nMinY___800862 = (r0); + r0 = s.newHitBox___800836.fields["width"]; + s.tmp_0 = r0; + r0 = (s.nMinX___800859 + s.tmp_0); + s.nMaxX___800865 = (r0); + r0 = s.newHitBox___800836.fields["height"]; + s.tmp_0 = r0; + r0 = (s.nMinY___800862 + s.tmp_0); + s.nMaxY___800871 = (r0); + s.tmp_1 = Fx_abs__P789853_mk(s); + r0 = (s.oMinX___800841 - s.nMinX___800859); + s.tmp_1.arg0 = r0; + s.callLocIdx = 240; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Fx_abs__P789853_mk(s); + r0 = (s.oMaxX___800847 - s.nMaxX___800865); + s.tmp_3.arg0 = r0; + s.callLocIdx = 242; s.pc = 11; return s.tmp_3; + case 11: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + s.xDiff___800877 = (r0); + s.tmp_1 = Fx_abs__P789853_mk(s); + r0 = (s.oMinY___800844 - s.nMinY___800862); + s.tmp_1.arg0 = r0; + s.callLocIdx = 245; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Fx_abs__P789853_mk(s); + r0 = (s.oMaxY___800853 - s.nMaxY___800871); + s.tmp_3.arg0 = r0; + s.callLocIdx = 247; s.pc = 13; return s.tmp_3; + case 13: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + s.yDiff___800888 = (r0); + r0 = (s.xDiff___800877 > 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = (s.arg0).fields["ox"] = (s.nMinX___800859); + r0 = s.newHitBox___800836.fields["width"]; + s.tmp_0 = r0; + r0 = (s.arg0).fields["width"] = (s.tmp_0); + case 3: + case 4: + r0 = (s.yDiff___800888 > 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = (s.arg0).fields["oy"] = (s.nMinY___800862); + r0 = s.newHitBox___800836.fields["height"]; + s.tmp_0 = r0; + r0 = (s.arg0).fields["height"] = (s.tmp_0); + case 5: + case 6: + r0 = s.newHitBox___800836.fields["hash"]; + s.tmp_0 = r0; + r0 = (s.arg0).fields["hash"] = (s.tmp_0); + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_Hitbox_updateIfInvalid__P791911.info = {"start":1188,"length":1317,"line":48,"column":8,"endLine":85,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"updateIfInvalid","argumentNames":["this"]} + +function game_Hitbox_updateIfInvalid__P791911_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_updateIfInvalid__P791911, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + newHitBox___800836: undefined, + oMinX___800841: undefined, + oMinY___800844: undefined, + oMaxX___800847: undefined, + oMaxY___800853: undefined, + nMinX___800859: undefined, + nMinY___800862: undefined, + nMaxX___800865: undefined, + nMaxY___800871: undefined, + xDiff___800877: undefined, + yDiff___800888: undefined, + arg0: undefined, +} } + + + + + +function Fx_abs__P789853(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (0 - s.arg0); + { step = 3; continue; } + { step = 2; continue; } + case 1: + r0 = s.arg0; + { step = 3; continue; } + case 2: + r0 = undefined; + case 3: + return leave(s, r0) + default: oops() +} } } +Fx_abs__P789853.info = {"start":1506,"length":164,"line":44,"column":4,"endLine":49,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"abs","argumentNames":["a"]} + +function Fx_abs__P789853_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_abs__P789853, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_sy__P792061(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_sy__P792061.info = {"start":5719,"length":61,"line":209,"column":4,"endLine":211,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"sy","argumentNames":["this"]} +Sprite_sy__P792061.isGetter = true; + +function Sprite_sy__P792061_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_sy__P792061, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_sx__P792059(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_sx"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_sx__P792059.info = {"start":5287,"length":61,"line":196,"column":4,"endLine":198,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"sx","argumentNames":["this"]} +Sprite_sx__P792059.isGetter = true; + +function Sprite_sx__P792059_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_sx__P792059, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_image__P792079(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_image__P792079.info = {"start":9023,"length":54,"line":322,"column":4,"endLine":324,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"image","argumentNames":["this"]} +Sprite_image__P792079.isGetter = true; + +function Sprite_image__P792079_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_image__P792079, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function effects_ParticleEffect_start__P792953(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.src___800957 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, effects_ParticleEffect__C792951_VT)) failedCast(r0); + r0 = s.arg0.fields["sourceFactory"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 9; continue; } + case 1: + case 2: + r0 = pxsim_numops_toBoolDecr(s.arg3); + if (!r0) { step = 3; continue; } + r0 = s.arg3; + { step = 4; continue; } + case 3: + r0 = s.arg0.fields["defaultRate"]; + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + s.tmp_4 = if_sourceFactory_3_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.arg1; + s.tmp_4.arg2 = s.tmp_3; + if (!s.tmp_4.arg0.vtable.iface) { + setupLambda(s.tmp_4, pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "sourceFactory"), 3); + s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["sourceFactory"]; + if (s.tmp_4.fn == null) { setupLambda(s.tmp_4, s.tmp_4.arg0.fields["sourceFactory"], 3); s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; } + else if (s.tmp_4.fn.isGetter) { s.tmp_4.stage2Call = true; s.callLocIdx = 1249; s.pc = 10; return s.tmp_4;; } + else { s.callLocIdx = 1249; s.pc = 10; return s.tmp_4; } + } + case 10: + r0 = s.retval; + s.src___800957 = (r0); + s.tmp_0 = particles_ParticleSource_setRelativeToCamera__P792851_mk(s); + s.tmp_0.arg0 = s.src___800957; + r0 = pxsim_numops_toBoolDecr(s.arg4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 1250; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 7; continue; } + r0 = (s.arg2 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.arg2; + { step = 6; continue; } + case 5: + r0 = s.arg0.fields["defaultLifespan"]; + case 6: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.src___800957).fields["lifespan"] = (s.tmp_1); + case 7: + case 8: + case 9: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ParticleEffect_start__P792953.info = {"start":967,"length":452,"line":26,"column":8,"endLine":32,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"start","argumentNames":["this","anchor","duration","particlesPerSecond","relativeToCamera"]} + +function effects_ParticleEffect_start__P792953_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ParticleEffect_start__P792953, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + src___800957: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function particles_ParticleSource_setRelativeToCamera__P792851(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 1; continue; } + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["pFlags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | 4); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["pFlags"] = (s.tmp_1); + { step = 2; continue; } + case 1: + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["pFlags"]; + s.tmp_4 = r0; + r0 = (~ s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 | 4); + s.tmp_2 = r0; + r0 = (~ s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["pFlags"] = (s.tmp_1); + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_setRelativeToCamera__P792851.info = {"start":6439,"length":173,"line":211,"column":8,"endLine":214,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setRelativeToCamera","argumentNames":["this","on"]} + +function particles_ParticleSource_setRelativeToCamera__P792851_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setRelativeToCamera__P792851, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_setFlag__P792108(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 1; continue; } + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + { step = 2; continue; } + case 1: + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["flags"]; + s.tmp_4 = r0; + r0 = (~ s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 | s.arg1); + s.tmp_2 = r0; + r0 = (~ s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_setFlag__P792108.info = {"start":20205,"length":130,"line":676,"column":4,"endLine":679,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setFlag","argumentNames":["this","flag","on"]} + +function Sprite_setFlag__P792108_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setFlag__P792108, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite__destroyCore__P792118(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___800300 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | 2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 433; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.scene___800300 = (r0); + r0 = s.scene___800300.fields["allSprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0); + r0 = s.arg0.fields["_kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 >= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.scene___800300.fields["spritesByKind"]; + s.tmp_2 = r0; + r0 = s.arg0.fields["_kind"]; + s.tmp_3 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_2, s.tmp_3); + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + s.tmp_5 = sprites_SpriteSet_remove__P792159_mk(s); + r0 = s.scene___800300.fields["spritesByKind"]; + s.tmp_6 = r0; + r0 = s.arg0.fields["_kind"]; + s.tmp_7 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.tmp_6, s.tmp_7); + s.tmp_5.arg0 = r0; + s.tmp_5.arg1 = s.arg0; + s.callLocIdx = 437; s.pc = 8; return s.tmp_5; + case 8: + r0 = s.retval; + case 3: + case 4: + s.tmp_0 = PhysicsEngine__C792200_v1_2_mk(s); + r0 = s.scene___800300.fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C792200_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.removeSprite; + s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + r0 = s.arg0.fields["destroyHandler"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_1 = if_destroyHandler_1_mk(s); + s.tmp_1.arg0 = s.arg0; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "destroyHandler"), 1); + s.callLocIdx = 438; s.pc = 10; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["destroyHandler"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["destroyHandler"], 1); s.callLocIdx = 438; s.pc = 10; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 438; s.pc = 10; return s.tmp_1;; } + else { s.callLocIdx = 438; s.pc = 10; return s.tmp_1; } + } + case 10: + r0 = s.retval; + case 5: + case 6: + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P800329); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtcore_mkAction(1, Sprite__destroyCore_inline__P800336); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + s.tmp_2 = helpers_arrayForEach__P789797_mk(s); + s.tmp_3 = helpers_arrayFilter__P789798_mk(s); + r0 = s.scene___800300.fields["destroyedHandlers"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 440; s.pc = 12; return s.tmp_3; + case 12: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 442; s.pc = 11; return s.tmp_2; + case 11: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite__destroyCore__P792118.info = {"start":26792,"length":522,"line":870,"column":4,"endLine":882,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"_destroyCore","argumentNames":["this"]} + +function Sprite__destroyCore__P792118_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite__destroyCore__P792118, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + scene___800300: undefined, + arg0: undefined, +} } + + + + + +function forEach_inline__P800329(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["kind"]; + s.tmp_0 = r0; + r0 = s.caps[0].fields["_kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 == s.tmp_1); + return leave(s, r0) + default: oops() +} } } +forEach_inline__P800329.info = {"start":27237,"length":26,"line":880,"column":20,"endLine":880,"endColumn":46,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P800329_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P800329, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Sprite__destroyCore_inline__P800336(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_handler_2_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 2); + s.callLocIdx = 441; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 2); s.callLocIdx = 441; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 441; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 441; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite__destroyCore_inline__P800336.info = {"start":27286,"length":20,"line":881,"column":21,"endLine":881,"endColumn":41,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function Sprite__destroyCore_inline__P800336_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite__destroyCore_inline__P800336, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function PhysicsEngine_removeSprite__P792203(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C792200_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_removeSprite__P792203.info = {"start":159,"length":32,"line":10,"column":4,"endLine":10,"endColumn":36,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]} + +function PhysicsEngine_removeSprite__P792203_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_removeSprite__P792203, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_remove__P792159(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.i___800345 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C792152_VT)) failedCast(r0); + r0 = s.arg0.fields["_sprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined); + s.i___800345 = (r0); + r0 = (s.i___800345 > -1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = helpers_arraySplice__P789788_mk(s); + r0 = s.arg0.fields["_sprites"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.i___800345; + s.tmp_1.arg2 = 1; + s.callLocIdx = 516; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + r0 = true; + { step = 3; continue; } + case 1: + case 2: + r0 = false; + case 3: + return leave(s, r0) + default: oops() +} } } +sprites_SpriteSet_remove__P792159.info = {"start":1827,"length":235,"line":66,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"remove","argumentNames":["this","sprite"]} + +function sprites_SpriteSet_remove__P792159_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_remove__P792159, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + i___800345: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_kind__P792096(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_kind"]; + return leave(s, r0) + default: oops() +} } } +Sprite_kind__P792096.info = {"start":12573,"length":41,"line":453,"column":4,"endLine":455,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"kind","argumentNames":["this"]} + +function Sprite_kind__P792096_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_kind__P792096, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function game_popScene__P792693(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.oldScene___800011 = undefined; + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 953; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.oldScene___800011 = (r0); + s.tmp_0 = r0 = globals._sceneStack___794608; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_Array__length(globals._sceneStack___794608); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = pxsim_Array_.pop(globals._sceneStack___794608); + globals._scene___794607 = (r0); + s.tmp_0 = control_popEventContext__P790098_mk(s); + s.callLocIdx = 954; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + { step = 6; continue; } + case 3: + r0 = pxsim_numops_toBoolDecr(globals._scene___794607); + if (!r0) { step = 4; continue; } + s.tmp_0 = control_popEventContext__P790098_mk(s); + s.callLocIdx = 955; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + globals._scene___794607 = (undefined); + case 4: + case 5: + case 6: + r0 = pxsim_numops_toBoolDecr(globals._scene___794607); + if (!r0) { step = 7; continue; } + s.tmp_0 = particles_enableAll__P792872_mk(s); + s.callLocIdx = 956; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + case 7: + case 8: + r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___794610); + if (!r0) { step = 9; continue; } + r0 = pxsim_pxtcore_mkAction(1, game_popScene_inline__P800032); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___800011); + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + s.tmp_1.arg0 = globals._scenePopHandlers___794610; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 958; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + case 9: + case 10: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_popScene__P792693.info = {"start":5133,"length":548,"line":161,"column":4,"endLine":179,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"popScene","argumentNames":[]} + +function game_popScene__P792693_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_popScene__P792693, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + oldScene___800011: undefined, +} } + + + + + +function game_popScene_inline__P800032(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = lambda_2_mk(s); + s.tmp_0.argL = s.arg0; + s.tmp_0.arg0 = s.caps[0]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 957; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_popScene_inline__P800032.info = {"start":5645,"length":18,"line":177,"column":38,"endLine":177,"endColumn":56,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} + +function game_popScene_inline__P800032_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_popScene_inline__P800032, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_enableAll__P792872(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sources___800036 = undefined; + s.tmp_0 = particles_particleSources__P794957_mk(s); + s.callLocIdx = 1195; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___800036 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___800036); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P789797_mk(s); + s.tmp_0.arg0 = s.sources___800036; + s.tmp_0.arg1 = particles_enableAll_inline__P800042; + s.callLocIdx = 1197; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P794953_mk(s); + s.callLocIdx = 1198; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_enableAll__P792872.info = {"start":12649,"length":193,"line":413,"column":4,"endLine":419,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"enableAll","argumentNames":[]} + +function particles_enableAll__P792872_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_enableAll__P792872, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___800036: undefined, +} } + + + + + +function particles_enableAll_inline__P800042(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = particles_ParticleSource_enabled__P792853_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = true; + s.callLocIdx = 1196; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = true; + return leave(s, r0) + default: oops() +} } } +particles_enableAll_inline__P800042.info = {"start":12773,"length":21,"line":416,"column":28,"endLine":416,"endColumn":49,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} + +function particles_enableAll_inline__P800042_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_enableAll_inline__P800042, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_particleSources__P794957(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sources___800210 = undefined; + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 1199; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["particleSources"]; + s.sources___800210 = (r0); + r0 = s.sources___800210; + return leave(s, r0) + default: oops() +} } } +particles_particleSources__P794957.info = {"start":12848,"length":119,"line":421,"column":4,"endLine":424,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"particleSources","argumentNames":[]} + +function particles_particleSources__P794957_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_particleSources__P794957, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___800210: undefined, +} } + + + + + +function particles_pruneParticles__P794953(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sources___800047 = undefined; + s.tmp_0 = particles_particleSources__P794957_mk(s); + s.callLocIdx = 1182; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___800047 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___800047); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P789797_mk(s); + s.tmp_1 = helpers_arraySlice__P789803_mk(s); + s.tmp_1.arg0 = s.sources___800047; + s.tmp_1.arg1 = 0; + r0 = pxsim_Array__length(s.sources___800047); + s.tmp_1.arg2 = r0; + s.callLocIdx = 1183; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = particles_pruneParticles_inline__P800056; + s.callLocIdx = 1185; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_pruneParticles__P794953.info = {"start":9864,"length":156,"line":327,"column":4,"endLine":330,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"pruneParticles","argumentNames":[]} + +function particles_pruneParticles__P794953_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_pruneParticles__P794953, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + sources___800047: undefined, +} } + + + + + +function particles_pruneParticles_inline__P800056(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = particles_ParticleSource__prune__P792848_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1184; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_pruneParticles_inline__P800056.info = {"start":9997,"length":15,"line":329,"column":62,"endLine":329,"endColumn":77,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} + +function particles_pruneParticles_inline__P800056_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_pruneParticles_inline__P800056, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleSource__prune__P792848(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___800086 = undefined; + s.sources___800094 = undefined; + s.current___800108 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + case 1: + r0 = s.arg0.fields["head"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 2; continue; } + r0 = s.tmp_0; + { step = 3; continue; } + case 2: + r0 = s.arg0.fields["head"]; + r0 = r0.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= 0); + case 3: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 4; continue; } + r0 = s.arg0.fields["head"]; + r0 = r0.fields["next"]; + s.tmp_3 = r0; + r0 = (s.arg0).fields["head"] = (s.tmp_3); + { step = 1; continue; } + case 4: + r0 = s.arg0.fields["pFlags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + r0 = s.arg0.fields["head"]; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 6: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 13; continue; } + s.tmp_5 = game_currentScene__P792688_mk(s); + s.callLocIdx = 1157; s.pc = 21; return s.tmp_5; + case 21: + r0 = s.retval; + s.scene___800086 = (r0); + r0 = pxsim_numops_toBoolDecr(s.scene___800086); + if (!r0) { step = 7; continue; } + r0 = s.scene___800086.fields["allSprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0); + case 7: + case 8: + s.tmp_0 = particles_particleSources__P794957_mk(s); + s.callLocIdx = 1158; s.pc = 22; return s.tmp_0; + case 22: + r0 = s.retval; + s.sources___800094 = (r0); + s.tmp_0 = r0 = s.sources___800094; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 9; continue; } + r0 = s.tmp_0; + { step = 10; continue; } + case 9: + r0 = pxsim_Array__length(s.sources___800094); + case 10: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 11; continue; } + r0 = pxsim_Array_.removeElement(s.sources___800094, s.arg0); + case 11: + case 12: + r0 = s.arg0.fields["anchor"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 == undefined); + case 13: + case 14: + r0 = s.arg0.fields["head"]; + s.current___800108 = (r0); + case 15: + s.tmp_0 = r0 = s.current___800108; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 16; continue; } + r0 = s.tmp_0; + { step = 17; continue; } + case 16: + r0 = s.current___800108.fields["next"]; + case 17: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 20; continue; } + r0 = s.current___800108.fields["next"]; + r0 = r0.fields["lifespan"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 <= 0); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 18; continue; } + r0 = s.current___800108.fields["next"]; + r0 = r0.fields["next"]; + s.tmp_4 = r0; + r0 = (s.current___800108).fields["next"] = (s.tmp_4); + { step = 19; continue; } + case 18: + r0 = s.current___800108.fields["next"]; + s.current___800108 = (r0); + case 19: + { step = 15; continue; } + case 20: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource__prune__P792848.info = {"start":5104,"length":830,"line":166,"column":8,"endLine":189,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_prune","argumentNames":["this"]} + +function particles_ParticleSource__prune__P792848_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource__prune__P792848, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + scene___800086: undefined, + sources___800094: undefined, + current___800108: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleSource_enabled__P792853(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = particles_ParticleSource_enabled__P792852_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 1161; s.pc = 5; return s.tmp_3; + case 5: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 !== s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["pFlags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 | 1); + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["pFlags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 ^ 1); + case 2: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = (s.arg0).fields["pFlags"] = (s.tmp_6); + r0 = (s.arg0).fields["timer"] = (0); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_enabled__P792853.info = {"start":6816,"length":214,"line":223,"column":8,"endLine":228,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"enabled","argumentNames":["this","v"]} + +function particles_ParticleSource_enabled__P792853_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_enabled__P792853, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_enabled__P792852(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + r0 = s.arg0.fields["pFlags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 & 1); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leaveAccessor(s, r0) + default: oops() +} } } +particles_ParticleSource_enabled__P792852.info = {"start":6622,"length":76,"line":216,"column":8,"endLine":218,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"enabled","argumentNames":["this"]} +particles_ParticleSource_enabled__P792852.isGetter = true; + +function particles_ParticleSource_enabled__P792852_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_enabled__P792852, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function control_popEventContext__P790098(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ctx___800217 = undefined; + s.context___800225 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.eventContexts___794107); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 7; continue; } + case 1: + case 2: + r0 = pxsim_Array_.pop(globals.eventContexts___794107); + s.ctx___800217 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___800217); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + { step = 7; continue; } + case 3: + case 4: + s.tmp_2 = control_EventContext_unregister__P790090_mk(s); + s.tmp_2.arg0 = s.ctx___800217; + s.callLocIdx = 56; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.tmp_0 = r0 = globals.eventContexts___794107; + r0 = pxsim_Array__length(globals.eventContexts___794107); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + s.context___800225 = (r0); + r0 = pxsim_numops_toBoolDecr(s.context___800225); + if (!r0) { step = 5; continue; } + s.tmp_0 = control_EventContext_register__P790089_mk(s); + s.tmp_0.arg0 = s.context___800225; + s.callLocIdx = 57; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + { step = 6; continue; } + case 5: + globals.eventContexts___794107 = (undefined); + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_popEventContext__P790098.info = {"start":7755,"length":413,"line":236,"column":4,"endLine":250,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"popEventContext","argumentNames":[]} + +function control_popEventContext__P790098_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_popEventContext__P790098, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + ctx___800217: undefined, + context___800225: undefined, +} } + + + + + +function control_EventContext_register__P790089(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.h___800238 = undefined; + s.unnamed16756___U1 = undefined; + s.unnamed16757___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C790083_VT)) failedCast(r0); + s.h___800238 = (undefined); + r0 = s.arg0.fields["handlers"]; + s.unnamed16756___U1 = (r0); + s.unnamed16757___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16757___U2; + r0 = pxsim_Array__length(s.unnamed16756___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed16756___U1, s.unnamed16757___U2); + s.h___800238 = (r0); + s.tmp_2 = control_EventHandler_register__P794100_mk(s); + s.tmp_2.arg0 = s.h___800238; + s.callLocIdx = 47; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + r0 = (s.unnamed16757___U2 + 1); + s.unnamed16757___U2 = (r0); + { step = 1; continue; } + case 2: + s.unnamed16756___U1 = (undefined); + s.tmp_0 = control_EventContext_registerFrameCallbacks__P794105_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 48; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_register__P790089.info = {"start":4573,"length":138,"line":135,"column":8,"endLine":139,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]} + +function control_EventContext_register__P790089_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_register__P790089, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + h___800238: undefined, + unnamed16756___U1: undefined, + unnamed16757___U2: undefined, + arg0: undefined, +} } + + + + + +function controller__setUserEventsEnabled__P791895(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + globals._userEventsEnabled___794403 = (s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller__setUserEventsEnabled__P791895.info = {"start":10070,"length":101,"line":291,"column":4,"endLine":293,"endColumn":5,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"_setUserEventsEnabled","argumentNames":["enabled"]} + +function controller__setUserEventsEnabled__P791895_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__setUserEventsEnabled__P791895, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_constructor__P792777(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + r0 = (s.arg0).fields["iconImage"] = (s.arg1); + r0 = (s.arg0).fields["getText"] = (s.arg2); + r0 = (s.arg0).fields["action"] = (s.arg3); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_constructor__P792777.info = {"start":786,"length":108,"line":38,"column":8,"endLine":39,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["this","iconImage","getText","action"]} + +function scene_systemMenu_MenuOption_constructor__P792777_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_constructor__P792777, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function helpers_screenBrightness__P791655(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = globals.brightness___791640; + return leave(s, r0) + default: oops() +} } } +helpers_screenBrightness__P791655.info = {"start":9161,"length":98,"line":288,"column":4,"endLine":290,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"screenBrightness","argumentNames":["img"]} + +function helpers_screenBrightness__P791655_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_screenBrightness__P791655, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function music_volume__P791310(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = music_initVolume__P794142_mk(s); + s.callLocIdx = 61; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals.globalVolume___794138; + return leave(s, r0) + default: oops() +} } } +music_volume__P791310.info = {"start":1781,"length":90,"line":61,"column":4,"endLine":64,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"volume","argumentNames":[]} + +function music_volume__P791310_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_volume__P791310, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function music_initVolume__P794142(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = (globals.globalVolume___794138 === null); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + globals.globalVolume___794138 = (0); + s.tmp_0 = music_setVolume__P791309_mk(s); + r0 = pxsim_pxtcore.getConfig(59, 128); + s.tmp_0.arg0 = r0; + s.callLocIdx = 58; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_initVolume__P794142.info = {"start":1014,"length":180,"line":33,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"initVolume","argumentNames":[]} + +function music_initVolume__P794142_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_initVolume__P794142, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function helpers_arrayConcat__P789801(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.out___801502 = undefined; + s.value___801505 = undefined; + s.unnamed16746___U2 = undefined; + s.unnamed16747___U3 = undefined; + s.value___801512 = undefined; + s.unnamed16748___U5 = undefined; + s.unnamed16749___U6 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.out___801502 = (r0); + s.value___801505 = (undefined); + s.unnamed16746___U2 = (s.arg0); + s.unnamed16747___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16747___U3; + r0 = pxsim_Array__length(s.unnamed16746___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed16746___U2, s.unnamed16747___U3); + s.value___801505 = (r0); + r0 = pxsim_Array__push(s.out___801502, s.value___801505); + r0 = (s.unnamed16747___U3 + 1); + s.unnamed16747___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed16746___U2 = (undefined); + s.value___801512 = (undefined); + s.unnamed16748___U5 = (s.arg1); + s.unnamed16749___U6 = (0); + case 3: + s.tmp_0 = r0 = s.unnamed16749___U6; + r0 = pxsim_Array__length(s.unnamed16748___U5); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed16748___U5, s.unnamed16749___U6); + s.value___801512 = (r0); + r0 = pxsim_Array__push(s.out___801502, s.value___801512); + r0 = (s.unnamed16749___U6 + 1); + s.unnamed16749___U6 = (r0); + { step = 3; continue; } + case 4: + s.unnamed16748___U5 = (undefined); + r0 = s.out___801502; + return leave(s, r0) + default: oops() +} } } +helpers_arrayConcat__P789801.info = {"start":8639,"length":264,"line":288,"column":4,"endLine":297,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayConcat","argumentNames":["arr","otherArr"]} + +function helpers_arrayConcat__P789801_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayConcat__P789801, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + out___801502: undefined, + value___801505: undefined, + unnamed16746___U2: undefined, + unnamed16747___U3: undefined, + value___801512: undefined, + unnamed16748___U5: undefined, + unnamed16749___U6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show__P792786(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.current___799442 = undefined; + s.i___799443 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C792784_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = if_generator_1_mk(s); + s.tmp_2.arg0 = s.arg0; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "generator"), 1); + s.callLocIdx = 999; s.pc = 3; return s.tmp_2; + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["generator"]; + if (s.tmp_2.fn == null) { setupLambda(s.tmp_2, s.tmp_2.arg0.fields["generator"], 1); s.callLocIdx = 999; s.pc = 3; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 999; s.pc = 3; return s.tmp_2;; } + else { s.callLocIdx = 999; s.pc = 3; return s.tmp_2; } + } + case 3: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["options"] = (s.tmp_1); + r0 = (s.arg0).fields["selection"] = (0); + s.i___799443 = (0); + case 1: + s.tmp_1 = r0 = s.i___799443; + r0 = s.arg0.fields["options"]; + s.tmp_3 = r0; + r0 = pxsim_Array__length(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + r0 = s.arg0.fields["options"]; + s.tmp_4 = r0; + r0 = pxsim_Array__getAt(s.tmp_4, s.i___799443); + s.current___799442 = (r0); + s.tmp_0 = scene_systemMenu_MenuOption_show__P792778_mk(s); + s.tmp_0.arg0 = s.current___799442; + s.callLocIdx = 1000; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P792781_mk(s); + s.tmp_0.arg0 = s.current___799442; + r0 = s.arg0.fields["theme"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1001; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_MenuOption_position__P792779_mk(s); + s.tmp_0.arg0 = s.current___799442; + s.tmp_2 = if_padding_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "padding"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["padding"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["padding"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1002; s.pc = 7; return s.tmp_2; } + } + case 7: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_5 = r0 = s.i___799443; + s.tmp_7 = if_cardsPerRow_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_7.arg0 = r0; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardsPerRow"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 1003; s.pc = 8; return s.tmp_7; } + } + case 8: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_5 % s.tmp_6); + s.tmp_4 = r0; + s.tmp_10 = if_cardWidth_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_10.arg0 = r0; + if (!s.tmp_10.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_10.arg0, "cardWidth"); + } else { + s.tmp_10.fn = s.tmp_10.arg0.vtable.iface["cardWidth"]; + if (s.tmp_10.fn == null) { s.retval = s.tmp_10.arg0.fields["cardWidth"]; } + else if (!s.tmp_10.fn.isGetter) { s.retval = bind(s.tmp_10); } + else { s.callLocIdx = 1004; s.pc = 9; return s.tmp_10; } + } + case 9: + r0 = s.retval; + s.tmp_9 = r0; + s.tmp_12 = if_cardSpacing_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_12.arg0 = r0; + if (!s.tmp_12.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "cardSpacing"); + } else { + s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["cardSpacing"]; + if (s.tmp_12.fn == null) { s.retval = s.tmp_12.arg0.fields["cardSpacing"]; } + else if (!s.tmp_12.fn.isGetter) { s.retval = bind(s.tmp_12); } + else { s.callLocIdx = 1005; s.pc = 10; return s.tmp_12; } + } + case 10: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_9 + s.tmp_11); + s.tmp_8 = r0; + r0 = (s.tmp_4 * s.tmp_8); + s.tmp_3 = r0; + r0 = (s.tmp_1 + s.tmp_3); + s.tmp_0.arg1 = r0; + s.tmp_14 = if_cardsTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_14.arg0 = r0; + if (!s.tmp_14.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "cardsTop"); + } else { + s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["cardsTop"]; + if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["cardsTop"]; } + else if (!s.tmp_14.fn.isGetter) { s.retval = bind(s.tmp_14); } + else { s.callLocIdx = 1006; s.pc = 11; return s.tmp_14; } + } + case 11: + r0 = s.retval; + s.tmp_13 = r0; + s.tmp_17 = r0 = s.i___799443; + s.tmp_19 = if_cardsPerRow_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_19.arg0 = r0; + if (!s.tmp_19.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_19.arg0, "cardsPerRow"); + } else { + s.tmp_19.fn = s.tmp_19.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_19.fn == null) { s.retval = s.tmp_19.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_19.fn.isGetter) { s.retval = bind(s.tmp_19); } + else { s.callLocIdx = 1007; s.pc = 12; return s.tmp_19; } + } + case 12: + r0 = s.retval; + s.tmp_18 = r0; + r0 = pxsim.Math_.idiv(s.tmp_17, s.tmp_18); + s.tmp_16 = r0; + s.tmp_22 = if_cardWidth_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_22.arg0 = r0; + if (!s.tmp_22.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_22.arg0, "cardWidth"); + } else { + s.tmp_22.fn = s.tmp_22.arg0.vtable.iface["cardWidth"]; + if (s.tmp_22.fn == null) { s.retval = s.tmp_22.arg0.fields["cardWidth"]; } + else if (!s.tmp_22.fn.isGetter) { s.retval = bind(s.tmp_22); } + else { s.callLocIdx = 1008; s.pc = 13; return s.tmp_22; } + } + case 13: + r0 = s.retval; + s.tmp_21 = r0; + s.tmp_24 = if_cardSpacing_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_24.arg0 = r0; + if (!s.tmp_24.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_24.arg0, "cardSpacing"); + } else { + s.tmp_24.fn = s.tmp_24.arg0.vtable.iface["cardSpacing"]; + if (s.tmp_24.fn == null) { s.retval = s.tmp_24.arg0.fields["cardSpacing"]; } + else if (!s.tmp_24.fn.isGetter) { s.retval = bind(s.tmp_24); } + else { s.callLocIdx = 1009; s.pc = 14; return s.tmp_24; } + } + case 14: + r0 = s.retval; + s.tmp_23 = r0; + r0 = (s.tmp_21 + s.tmp_23); + s.tmp_20 = r0; + r0 = (s.tmp_16 * s.tmp_20); + s.tmp_15 = r0; + r0 = (s.tmp_13 + s.tmp_15); + s.tmp_0.arg2 = r0; + s.callLocIdx = 1010; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = (s.i___799443 + 1); + s.i___799443 = (r0); + { step = 1; continue; } + case 2: + s.tmp_0 = controller__setUserEventsEnabled__P791895_mk(s); + s.tmp_0.arg0 = false; + s.callLocIdx = 1011; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P799506); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P791885_mk(s); + s.tmp_1.arg0 = globals.A___791802; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1013; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P799526); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P791885_mk(s); + s.tmp_1.arg0 = globals.A___791802; + s.tmp_1.arg1 = 2052; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1015; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P791885_mk(s); + s.tmp_0.arg0 = globals.B___791803; + s.tmp_0.arg1 = 2053; + s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P799555; + s.callLocIdx = 1017; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P791885_mk(s); + s.tmp_0.arg0 = globals.menu___791808; + s.tmp_0.arg1 = 2053; + s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P799560; + s.callLocIdx = 1019; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P799565); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P791885_mk(s); + s.tmp_1.arg0 = globals.up___791805; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1023; s.pc = 20; return s.tmp_1; + case 20: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P799577); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P791885_mk(s); + s.tmp_1.arg0 = globals.left___791804; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1026; s.pc = 21; return s.tmp_1; + case 21: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P799586); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P791885_mk(s); + s.tmp_1.arg0 = globals.down___791807; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1030; s.pc = 22; return s.tmp_1; + case 22: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P799602); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P791885_mk(s); + s.tmp_1.arg0 = globals.right___791806; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1033; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P799614); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = game_onShade__P792706_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 1036; s.pc = 24; return s.tmp_1; + case 24: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P792788_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 1037; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show__P792786.info = {"start":3296,"length":2241,"line":123,"column":8,"endLine":181,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]} + +function scene_systemMenu_PauseMenu_show__P792786_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show__P792786, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + tmp_18: undefined, + tmp_19: undefined, + tmp_20: undefined, + tmp_21: undefined, + tmp_22: undefined, + tmp_23: undefined, + tmp_24: undefined, + current___799442: undefined, + i___799443: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799506(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = s.caps[0].fields["options"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.caps[0].fields["options"]; + s.tmp_5 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_6 = r0; + r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 2: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 3; continue; } + { step = 5; continue; } + case 3: + case 4: + s.tmp_8 = scene_systemMenu_MenuOption_setState__P792782_mk(s); + r0 = s.caps[0].fields["options"]; + s.tmp_9 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_10 = r0; + r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10); + s.tmp_8.arg0 = r0; + s.tmp_8.arg1 = 1; + s.callLocIdx = 1012; s.pc = 6; return s.tmp_8; + case 6: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799506.info = {"start":4025,"length":170,"line":140,"column":50,"endLine":143,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799506_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799506, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799526(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = s.caps[0].fields["options"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.caps[0].fields["options"]; + s.tmp_5 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_6 = r0; + r0 = pxsim_Array__getAt(s.tmp_5, s.tmp_6); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 2: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 3; continue; } + { step = 5; continue; } + case 3: + case 4: + s.tmp_8 = scene_systemMenu_MenuOption_setState__P792782_mk(s); + r0 = s.caps[0].fields["options"]; + s.tmp_9 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_10 = r0; + r0 = pxsim_Array__getAt(s.tmp_9, s.tmp_10); + s.tmp_8.arg0 = r0; + s.tmp_8.arg1 = 0; + s.callLocIdx = 1014; s.pc = 6; return s.tmp_8; + case 6: + r0 = s.retval; + r0 = s.caps[0].fields["options"]; + s.tmp_1 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_2 = r0; + r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2); + r0 = r0.fields["action"]; + s.tmp_0 = r0; + r0 = pxsim.control.runInParallel(s.tmp_0); + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799526.info = {"start":4247,"length":247,"line":145,"column":48,"endLine":149,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799526_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799526, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799555(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_closeMenu__P792791_mk(s); + s.callLocIdx = 1016; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799555.info = {"start":4548,"length":50,"line":151,"column":50,"endLine":153,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799555_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799555, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799560(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_closeMenu__P792791_mk(s); + s.callLocIdx = 1018; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799560.info = {"start":4655,"length":50,"line":155,"column":53,"endLine":157,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799560_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799560, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799565(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P792788_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_max__P789818_mk(s); + s.tmp_1.arg0 = 0; + r0 = s.caps[0].fields["selection"]; + s.tmp_2 = r0; + s.tmp_4 = if_cardsPerRow_1_mk(s); + r0 = s.caps[0].fields["theme"]; + s.tmp_4.arg0 = r0; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "cardsPerRow"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 1020; s.pc = 3; return s.tmp_4; } + } + case 3: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_2 - s.tmp_3); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1021; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1022; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799565.info = {"start":4760,"length":110,"line":159,"column":51,"endLine":161,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799565_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799565, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799577(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P792788_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_max__P789818_mk(s); + s.tmp_1.arg0 = 0; + r0 = s.caps[0].fields["selection"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1024; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1025; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799577.info = {"start":4927,"length":89,"line":163,"column":53,"endLine":165,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799577_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799577, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799586(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P792788_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_min__P789819_mk(s); + r0 = s.caps[0].fields["options"]; + s.tmp_3 = r0; + r0 = pxsim_Array__length(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1.arg0 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_4 = r0; + s.tmp_6 = if_cardsPerRow_1_mk(s); + r0 = s.caps[0].fields["theme"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "cardsPerRow"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1027; s.pc = 3; return s.tmp_6; } + } + case 3: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1028; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1029; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799586.info = {"start":5073,"length":132,"line":167,"column":53,"endLine":169,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799586_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799586, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799602(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P792788_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_min__P789819_mk(s); + r0 = s.caps[0].fields["options"]; + s.tmp_3 = r0; + r0 = pxsim_Array__length(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1.arg0 = r0; + r0 = s.caps[0].fields["selection"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + 1); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1031; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1032; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799602.info = {"start":5263,"length":111,"line":171,"column":54,"endLine":173,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799602_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799602, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P799614(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = scene_systemMenu_PauseMenu_onUpdate__P792787_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 1034; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P792789_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 1035; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show_inline__P799614.info = {"start":5403,"length":87,"line":175,"column":25,"endLine":178,"endColumn":13,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":[]} + +function scene_systemMenu_PauseMenu_show_inline__P799614_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P799614, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_drawText__P792789(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C792784_VT)) failedCast(r0); + r0 = s.arg0.fields["options"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_3 = helpers_imageFillRect__P791645_mk(s); + s.tmp_3.arg0 = globals.screen___791721; + s.tmp_3.arg1 = 0; + s.tmp_3.arg2 = 0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_3.arg3 = r0; + s.tmp_5 = if_cardsTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_5.arg0 = r0; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardsTop"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardsTop"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardsTop"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1048; s.pc = 5; return s.tmp_5; } + } + case 5: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 - 2); + s.tmp_3.arg4 = r0; + s.tmp_3.arg5 = 15; + s.callLocIdx = 1049; s.pc = 4; return s.tmp_3; + case 4: + r0 = s.retval; + s.tmp_0 = helpers_imagePrintCenter__P791678_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_1 = if_headerText_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "headerText"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["headerText"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["headerText"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 1050; s.pc = 7; return s.tmp_1; } + } + case 7: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 2; + s.tmp_0.arg3 = 1; + s.tmp_2 = if_headerFont_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "headerFont"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["headerFont"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["headerFont"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1051; s.pc = 8; return s.tmp_2; } + } + case 8: + r0 = s.retval; + s.tmp_0.arg4 = r0; + s.callLocIdx = 1052; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P791645_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_0.arg1 = 0; + s.tmp_2 = if_infoTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1053; s.pc = 10; return s.tmp_2; } + } + case 10: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 3); + s.tmp_0.arg2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_0.arg3 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_4 = r0; + s.tmp_6 = if_infoTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoTop"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoTop"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoTop"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1054; s.pc = 11; return s.tmp_6; } + } + case 11: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_4 - s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 + 6); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = 15; + s.callLocIdx = 1055; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P791645_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_1 = if_padding_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "padding"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["padding"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["padding"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 1056; s.pc = 13; return s.tmp_1; } + } + case 13: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = if_infoTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "infoTop"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["infoTop"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["infoTop"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1057; s.pc = 14; return s.tmp_2; } + } + case 14: + r0 = s.retval; + s.tmp_0.arg2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_3 = r0; + s.tmp_6 = if_padding_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "padding"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["padding"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["padding"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1058; s.pc = 15; return s.tmp_6; } + } + case 15: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 << 1); + s.tmp_4 = r0; + r0 = (s.tmp_3 - s.tmp_4); + s.tmp_0.arg3 = r0; + s.tmp_8 = if_charHeight_1_mk(s); + s.tmp_9 = if_infoFont_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_9.arg0 = r0; + if (!s.tmp_9.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "infoFont"); + } else { + s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["infoFont"]; + if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["infoFont"]; } + else if (!s.tmp_9.fn.isGetter) { s.retval = bind(s.tmp_9); } + else { s.callLocIdx = 1059; s.pc = 17; return s.tmp_9; } + } + case 17: + r0 = s.retval; + s.tmp_8.arg0 = r0; + if (!s.tmp_8.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_8.arg0, "charHeight"); + } else { + s.tmp_8.fn = s.tmp_8.arg0.vtable.iface["charHeight"]; + if (s.tmp_8.fn == null) { s.retval = s.tmp_8.arg0.fields["charHeight"]; } + else if (!s.tmp_8.fn.isGetter) { s.retval = bind(s.tmp_8); } + else { s.callLocIdx = 1060; s.pc = 16; return s.tmp_8; } + } + case 16: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_7 + 1); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = 1; + s.callLocIdx = 1061; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = helpers_imagePrintCenter__P791678_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_1 = if_getText_1_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_2 = r0; + r0 = s.arg0.fields["selection"]; + s.tmp_3 = r0; + r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3); + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "getText"), 1); + s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["getText"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["getText"], 1); s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 1062; s.pc = 19; return s.tmp_1;; } + else { s.callLocIdx = 1062; s.pc = 19; return s.tmp_1; } + } + case 19: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_5 = if_infoTop_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_5.arg0 = r0; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "infoTop"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["infoTop"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["infoTop"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1063; s.pc = 20; return s.tmp_5; } + } + case 20: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 + 1); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = 15; + s.tmp_6 = if_infoFont_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "infoFont"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["infoFont"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["infoFont"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1064; s.pc = 21; return s.tmp_6; } + } + case 21: + r0 = s.retval; + s.tmp_0.arg4 = r0; + s.callLocIdx = 1065; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_drawText__P792789.info = {"start":6927,"length":795,"line":224,"column":8,"endLine":241,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"drawText","argumentNames":["this"]} + +function scene_systemMenu_PauseMenu_drawText__P792789_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_drawText__P792789, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + arg0: undefined, +} } + + + + + +function helpers_imagePrintCenter__P791678(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.w___799701 = undefined; + s.x___799707 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg4); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = image_getFontForText__P791666_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 94; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + s.arg4 = (r0); + case 1: + case 2: + r0 = pxsim_String_.length(s.arg1); + s.tmp_0 = r0; + s.tmp_2 = if_charWidth_1_mk(s); + s.tmp_2.arg0 = s.arg4; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 95; s.pc = 4; return s.tmp_2; } + } + case 4: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 * s.tmp_1); + s.w___799701 = (r0); + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.w___799701); + s.tmp_0 = r0; + r0 = (s.tmp_0 / 2); + s.x___799707 = (r0); + s.tmp_0 = helpers_imagePrint__P791679_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.x___799707; + s.tmp_0.arg3 = s.arg2; + s.tmp_0.arg4 = s.arg3; + s.tmp_0.arg5 = s.arg4; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 96; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imagePrintCenter__P791678.info = {"start":15025,"length":295,"line":206,"column":4,"endLine":211,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"imagePrintCenter","argumentNames":["img","text","y","color","font"]} + +function helpers_imagePrintCenter__P791678_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imagePrintCenter__P791678, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + w___799701: undefined, + x___799707: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_setSelection__P792788(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C792784_VT)) failedCast(r0); + r0 = s.arg0.fields["options"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 9; continue; } + case 1: + case 2: + r0 = s.arg0.fields["options"]; + s.tmp_4 = r0; + r0 = s.arg0.fields["selection"]; + s.tmp_5 = r0; + r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + s.tmp_6 = scene_systemMenu_MenuOption_setState__P792782_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_7 = r0; + r0 = s.arg0.fields["selection"]; + s.tmp_8 = r0; + r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8); + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = 2; + s.callLocIdx = 1045; s.pc = 10; return s.tmp_6; + case 10: + r0 = s.retval; + case 3: + case 4: + r0 = (s.arg0).fields["selection"] = (s.arg1); + r0 = s.arg0.fields["options"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["selection"]; + s.tmp_2 = r0; + r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_4 = controller_Button__C791878_v0_1_mk(s); + s.tmp_4.arg0 = globals.A___791802; + if (!checkSubtype(s.tmp_4.arg0, controller_Button__C791878_VT)) failedCast(s.tmp_4.arg0); + s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.isPressed; + s.pc = 11; return s.tmp_4; + case 11: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 5; continue; } + r0 = 1; + { step = 6; continue; } + case 5: + r0 = 0; + case 6: + // jmp value (already in r0) + s.tmp_5 = r0; + s.tmp_6 = scene_systemMenu_MenuOption_setState__P792782_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_7 = r0; + r0 = s.arg0.fields["selection"]; + s.tmp_8 = r0; + r0 = pxsim_Array__getAt(s.tmp_7, s.tmp_8); + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = s.tmp_5; + s.callLocIdx = 1046; s.pc = 12; return s.tmp_6; + case 12: + r0 = s.retval; + case 7: + case 8: + s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P794863_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1047; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + case 9: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_setSelection__P792788.info = {"start":6436,"length":481,"line":208,"column":8,"endLine":222,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setSelection","argumentNames":["this","selection"]} + +function scene_systemMenu_PauseMenu_setSelection__P792788_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P792788, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_updateScrollTarget__P794863(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.row___799963 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C792784_VT)) failedCast(r0); + r0 = s.arg0.fields["selection"]; + s.tmp_0 = r0; + s.tmp_2 = if_cardsPerRow_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "cardsPerRow"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1068; s.pc = 8; return s.tmp_2; } + } + case 8: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1); + s.row___799963 = (r0); + r0 = s.arg0.fields["scrollRow"]; + s.tmp_1 = r0; + r0 = (s.row___799963 === s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = (s.row___799963 - 1); + s.tmp_2 = r0; + r0 = s.arg0.fields["scrollRow"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 === s.tmp_3); + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + { step = 7; continue; } + case 3: + case 4: + r0 = s.arg0.fields["scrollRow"]; + s.tmp_6 = r0; + r0 = (s.row___799963 > s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 5; continue; } + s.tmp_7 = r0 = s.arg0; + r0 = s.tmp_7.fields["scrollRow"]; + s.tmp_9 = r0; + r0 = (s.tmp_9 + 1); + s.tmp_8 = r0; + r0 = (s.tmp_7).fields["scrollRow"] = (s.tmp_8); + { step = 6; continue; } + case 5: + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["scrollRow"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["scrollRow"] = (s.tmp_1); + case 6: + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["scrollRow"]; + s.tmp_2 = r0; + s.tmp_5 = if_cardSpacing_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_5.arg0 = r0; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "cardSpacing"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["cardSpacing"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["cardSpacing"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1069; s.pc = 9; return s.tmp_5; } + } + case 9: + r0 = s.retval; + s.tmp_4 = r0; + s.tmp_7 = if_cardWidth_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_7.arg0 = r0; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "cardWidth"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["cardWidth"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["cardWidth"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 1070; s.pc = 10; return s.tmp_7; } + } + case 10: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_4 + s.tmp_6); + s.tmp_3 = r0; + r0 = (s.tmp_2 * s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["scrollTarget"] = (s.tmp_1); + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_updateScrollTarget__P794863.info = {"start":7907,"length":458,"line":250,"column":8,"endLine":260,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateScrollTarget","argumentNames":["this"]} + +function scene_systemMenu_PauseMenu_updateScrollTarget__P794863_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P794863, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + row___799963: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_onUpdate__P792787(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.t___799723 = undefined; + s.i___799727 = undefined; + s.dt___799756 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C792784_VT)) failedCast(r0); + r0 = pxsim.control.millis(); + s.tmp_0 = r0; + r0 = (s.tmp_0 / 250); + s.t___799723 = (r0); + s.i___799727 = (0); + case 1: + s.tmp_1 = r0 = s.i___799727; + r0 = s.arg0.fields["options"]; + s.tmp_3 = r0; + r0 = pxsim_Array__length(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_4 = scene_systemMenu_MenuOption_setOffset__P792780_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_5 = r0; + r0 = pxsim_Array__getAt(s.tmp_5, s.i___799727); + s.tmp_4.arg0 = r0; + s.tmp_8 = r0 = s.t___799723; + s.tmp_11 = r0 = s.i___799727; + s.tmp_13 = if_cardsPerRow_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_13.arg0 = r0; + if (!s.tmp_13.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_13.arg0, "cardsPerRow"); + } else { + s.tmp_13.fn = s.tmp_13.arg0.vtable.iface["cardsPerRow"]; + if (s.tmp_13.fn == null) { s.retval = s.tmp_13.arg0.fields["cardsPerRow"]; } + else if (!s.tmp_13.fn.isGetter) { s.retval = bind(s.tmp_13); } + else { s.callLocIdx = 1038; s.pc = 11; return s.tmp_13; } + } + case 11: + r0 = s.retval; + s.tmp_12 = r0; + r0 = (s.tmp_11 % s.tmp_12); + s.tmp_10 = r0; + r0 = (s.tmp_10 * 1.5707963267948966); + s.tmp_9 = r0; + r0 = (s.tmp_8 - s.tmp_9); + s.tmp_7 = r0; + r0 = pxsim.Math_.sin(s.tmp_7); + s.tmp_6 = r0; + r0 = (2 * s.tmp_6); + s.tmp_4.arg1 = r0; + s.callLocIdx = 1039; s.pc = 10; return s.tmp_4; + case 10: + r0 = s.retval; + r0 = (s.i___799727 + 1); + s.i___799727 = (r0); + { step = 1; continue; } + case 2: + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 1040; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + r0 = r0.fields["eventContext"]; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["deltaTimeMillis"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 / 1000); + s.dt___799756 = (r0); + r0 = s.arg0.fields["scrollOffset"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["scrollTarget"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_3 = r0 = s.arg0; + r0 = s.tmp_3.fields["scrollOffset"]; + s.tmp_5 = r0; + r0 = (s.dt___799756 * 100); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["scrollOffset"] = (s.tmp_4); + { step = 6; continue; } + case 3: + r0 = s.arg0.fields["scrollOffset"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["scrollTarget"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 > s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_3 = r0 = s.arg0; + r0 = s.tmp_3.fields["scrollOffset"]; + s.tmp_5 = r0; + r0 = (s.dt___799756 * 100); + s.tmp_6 = r0; + r0 = (s.tmp_5 - s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["scrollOffset"] = (s.tmp_4); + { step = 5; continue; } + case 4: + { step = 9; continue; } + case 5: + case 6: + s.tmp_2 = Math_abs__P789816_mk(s); + r0 = s.arg0.fields["scrollOffset"]; + s.tmp_3 = r0; + r0 = s.arg0.fields["scrollTarget"]; + s.tmp_4 = r0; + r0 = (s.tmp_3 - s.tmp_4); + s.tmp_2.arg0 = r0; + s.callLocIdx = 1042; s.pc = 13; return s.tmp_2; + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 < 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = s.arg0.fields["scrollTarget"]; + s.tmp_5 = r0; + r0 = (s.arg0).fields["scrollOffset"] = (s.tmp_5); + case 7: + case 8: + s.tmp_0 = scene_Camera_offsetY__P792478_mk(s); + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 1043; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + r0 = r0.fields["camera"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["scrollOffset"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1044; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + case 9: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_onUpdate__P792787.info = {"start":5547,"length":879,"line":183,"column":8,"endLine":206,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"onUpdate","argumentNames":["this"]} + +function scene_systemMenu_PauseMenu_onUpdate__P792787_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P792787, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + t___799723: undefined, + i___799727: undefined, + dt___799756: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_setOffset__P792780(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P792093_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["top"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 + s.arg1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 981; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = Sprite_y__P792046_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P792045_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 982; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 983; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_setOffset__P792780.info = {"start":1411,"length":123,"line":61,"column":8,"endLine":64,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setOffset","argumentNames":["this","offset"]} + +function scene_systemMenu_MenuOption_setOffset__P792780_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_setOffset__P792780, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_top__P792093(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.physics___799840 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 359; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["physicsEngine"]; + s.physics___799840 = (r0); + s.tmp_0 = PhysicsEngine__C792200_v2_4_mk(s); + s.tmp_0.arg0 = s.physics___799840; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = 0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = s.arg0.fields["_y"]; + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0.arg3 = r0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C792200_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite; + s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_top__P792093.info = {"start":11687,"length":256,"line":421,"column":4,"endLine":431,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this","value"]} + +function Sprite_top__P792093_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_top__P792093, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + physics___799840: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function PhysicsEngine_moveSprite__P792204(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C792200_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_moveSprite__P792204.info = {"start":230,"length":43,"line":13,"column":4,"endLine":13,"endColumn":47,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]} + +function PhysicsEngine_moveSprite__P792204_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_moveSprite__P792204, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Sprite_top__P792092(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_top__P792092.info = {"start":11544,"length":53,"line":416,"column":4,"endLine":418,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this"]} +Sprite_top__P792092.isGetter = true; + +function Sprite_top__P792092_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_top__P792092, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_y__P792046(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P792093_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_4 = Sprite_height__P792087_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 310; s.pc = 2; return s.tmp_4; + case 2: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / 2); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0.arg1 = r0; + s.callLocIdx = 311; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_y__P792046.info = {"start":3081,"length":65,"line":126,"column":4,"endLine":128,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"y","argumentNames":["this","v"]} + +function Sprite_y__P792046_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_y__P792046, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_height__P792087(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_height"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_height__P792087.info = {"start":10541,"length":61,"line":380,"column":4,"endLine":382,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"height","argumentNames":["this"]} +Sprite_height__P792087.isGetter = true; + +function Sprite_height__P792087_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_height__P792087, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Math_abs__P789816(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (0 - s.arg0); + { step = 2; continue; } + case 1: + r0 = s.arg0; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +Math_abs__P789816.info = {"start":16120,"length":77,"line":539,"column":4,"endLine":541,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"abs","argumentNames":["x"]} + +function Math_abs__P789816_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_abs__P789816, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_setState__P792782(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + r0 = s.arg0.fields["state"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 === s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + r0 = (s.arg0).fields["state"] = (s.arg1); + s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P794862_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 985; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_setState__P792782.info = {"start":1655,"length":147,"line":71,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setState","argumentNames":["this","state"]} + +function scene_systemMenu_MenuOption_setState__P792782_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_setState__P792782, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_updateCard__P794862(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + r0 = s.arg0.fields["theme"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 7; continue; } + case 1: + case 2: + r0 = s.arg0.fields["state"]; + s.tmp_3 = r0; + r0 = pxsim_pxtcore.switch_eq(2, s.tmp_3); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(0, s.tmp_3); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq(1, s.tmp_3); + if (r0) { step = 5; continue; } + r0 = s.tmp_3; + { step = 6; continue; } + case 3: + s.tmp_4 = Sprite_setImage__P792080_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_4.arg0 = r0; + s.tmp_5 = if_basicCard_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_5.arg0 = r0; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "basicCard"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["basicCard"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["basicCard"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 988; s.pc = 9; return s.tmp_5; } + } + case 9: + r0 = s.retval; + s.tmp_4.arg1 = r0; + s.callLocIdx = 989; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + { step = 6; continue; } + case 4: + s.tmp_0 = Sprite_setImage__P792080_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = if_selectedCard_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "selectedCard"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["selectedCard"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["selectedCard"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 990; s.pc = 11; return s.tmp_1; } + } + case 11: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 991; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + { step = 6; continue; } + case 5: + s.tmp_0 = Sprite_setImage__P792080_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = if_activeCard_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "activeCard"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["activeCard"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["activeCard"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 992; s.pc = 13; return s.tmp_1; } + } + case 13: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 993; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + case 6: + s.tmp_0 = Sprite_x__P792044_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_x__P792043_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 994; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 995; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.tmp_0 = Sprite_y__P792046_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P792045_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 996; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 997; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_updateCard__P794862.info = {"start":2038,"length":497,"line":86,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"updateCard","argumentNames":["this"]} + +function scene_systemMenu_MenuOption_updateCard__P794862_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_updateCard__P794862, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, +} } + + + + + +function Sprite_x__P792044(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P792089_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_4 = Sprite_width__P792086_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 305; s.pc = 2; return s.tmp_4; + case 2: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / 2); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0.arg1 = r0; + s.callLocIdx = 306; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_x__P792044.info = {"start":2724,"length":65,"line":115,"column":4,"endLine":117,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"x","argumentNames":["this","v"]} + +function Sprite_x__P792044_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_x__P792044, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_left__P792089(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.physics___801080 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 351; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["physicsEngine"]; + s.physics___801080 = (r0); + s.tmp_0 = PhysicsEngine__C792200_v2_4_mk(s); + s.tmp_0.arg0 = s.physics___801080; + s.tmp_0.arg1 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = s.arg0.fields["_x"]; + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = 0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C792200_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.moveSprite; + s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_left__P792089.info = {"start":10853,"length":257,"line":391,"column":4,"endLine":401,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this","value"]} + +function Sprite_left__P792089_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_left__P792089, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + physics___801080: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_left__P792088(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_x"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_left__P792088.info = {"start":10709,"length":53,"line":386,"column":4,"endLine":388,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this"]} +Sprite_left__P792088.isGetter = true; + +function Sprite_left__P792088_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_left__P792088, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_width__P792086(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_width"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_width__P792086.info = {"start":10374,"length":59,"line":375,"column":4,"endLine":377,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"width","argumentNames":["this"]} +Sprite_width__P792086.isGetter = true; + +function Sprite_width__P792086_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_width__P792086, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_setTheme__P792781(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + r0 = (s.arg0).fields["theme"] = (s.arg1); + s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P794862_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 984; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_setTheme__P792781.info = {"start":1544,"length":101,"line":66,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"setTheme","argumentNames":["this","theme"]} + +function scene_systemMenu_MenuOption_setTheme__P792781_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_setTheme__P792781, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_position__P792779(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + r0 = (s.arg0).fields["top"] = (s.arg2); + s.tmp_0 = Sprite_left__P792089_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 975; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = Sprite_top__P792093_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 976; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = Sprite_x__P792044_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_x__P792043_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 977; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 978; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = Sprite_y__P792046_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P792045_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 979; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 980; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_position__P792779.info = {"start":1178,"length":223,"line":51,"column":8,"endLine":59,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"position","argumentNames":["this","left","top"]} + +function scene_systemMenu_MenuOption_position__P792779_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_position__P792779, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_show__P792778(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_MenuOption__C792776_VT)) failedCast(r0); + r0 = s.arg0.fields["theme"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = if_basicCard_1_mk(s); + r0 = s.arg0.fields["theme"]; + s.tmp_1.arg0 = r0; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "basicCard"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["basicCard"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["basicCard"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 970; s.pc = 3; return s.tmp_1; } + } + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + r0 = globals.CARD_NORMAL___792800; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + s.tmp_3 = r0 = s.arg0; + s.tmp_5 = sprites_create__P791964_mk(s); + s.tmp_5.arg0 = s.tmp_2; + s.tmp_5.arg1 = undefined; + s.callLocIdx = 971; s.pc = 4; return s.tmp_5; + case 4: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["card"] = (s.tmp_4); + s.tmp_0 = if_z_2_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 1; + if (!s.tmp_0.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1); + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"]; + if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; } + else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) } + else { s.callLocIdx = 972; s.pc = 5; return s.tmp_0; } + } + case 5: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = sprites_create__P791964_mk(s); + r0 = s.arg0.fields["iconImage"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = undefined; + s.callLocIdx = 973; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["icon"] = (s.tmp_1); + s.tmp_0 = if_z_2_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 2; + if (!s.tmp_0.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapSetByString(s.tmp_0.arg0, "z", s.tmp_0.arg1); + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["set/z"]; + if (s.tmp_0.fn === null) { s.tmp_0.arg0.fields["z"] = s.tmp_0.arg1; } + else if (s.tmp_0.fn === undefined) { failedCast(s.tmp_0.arg0) } + else { s.callLocIdx = 974; s.pc = 7; return s.tmp_0; } + } + case 7: + r0 = s.retval; + r0 = (s.arg0).fields["state"] = (2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_show__P792778.info = {"start":904,"length":264,"line":41,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"show","argumentNames":["this"]} + +function scene_systemMenu_MenuOption_show__P792778_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_show__P792778, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, +} } + + + + + +function sprites_create__P791964(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___801160 = undefined; + s.sprite___801163 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 296; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.scene___801160 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(Sprite__C792030_VT); + s.tmp_0 = r0; + s.tmp_1 = Sprite_constructor__P792077_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 297; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.sprite___801163 = (s.tmp_0); + s.tmp_0 = Sprite_setKind__P792097_mk(s); + s.tmp_0.arg0 = s.sprite___801163; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 298; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = PhysicsEngine__C792200_v0_2_mk(s); + r0 = s.scene___801160.fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.sprite___801163; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C792200_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.addSprite; + s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P801178); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + r0 = pxsim_pxtcore_mkAction(1, sprites_create_inline__P801184); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___801163); + s.tmp_2 = helpers_arrayForEach__P789797_mk(s); + s.tmp_3 = helpers_arrayFilter__P789798_mk(s); + r0 = s.scene___801160.fields["createdHandlers"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 299; s.pc = 6; return s.tmp_3; + case 6: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 301; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + r0 = s.sprite___801163; + return leave(s, r0) + default: oops() +} } } +sprites_create__P791964.info = {"start":890,"length":400,"line":35,"column":4,"endLine":47,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"create","argumentNames":["img","kind"]} + +function sprites_create__P791964_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_create__P791964, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + scene___801160: undefined, + sprite___801163: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function forEach_inline__P801178(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["kind"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 == s.caps[0]); + return leave(s, r0) + default: oops() +} } } +forEach_inline__P801178.info = {"start":1195,"length":19,"line":43,"column":20,"endLine":43,"endColumn":39,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P801178_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P801178, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_create_inline__P801184(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_handler_2_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 2); + s.callLocIdx = 300; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 2); s.callLocIdx = 300; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 300; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 300; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_create_inline__P801184.info = {"start":1237,"length":22,"line":44,"column":21,"endLine":44,"endColumn":43,"fileName":"pxt_modules/game/sprites.ts","functionName":"inline","argumentNames":["h"]} + +function sprites_create_inline__P801184_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_create_inline__P801184, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function PhysicsEngine_addSprite__P792202(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, PhysicsEngine__C792200_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_addSprite__P792202.info = {"start":124,"length":29,"line":8,"column":4,"endLine":8,"endColumn":33,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]} + +function PhysicsEngine_addSprite__P792202_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_addSprite__P792202, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_setKind__P792097(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.spritesByKind___801202 = undefined; + s.overlapMap___801231 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = (s.arg1 == undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["_kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 === s.arg1); + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + { step = 15; continue; } + case 3: + case 4: + s.tmp_3 = game_currentScene__P792688_mk(s); + s.callLocIdx = 366; s.pc = 16; return s.tmp_3; + case 16: + r0 = s.retval; + r0 = r0.fields["spritesByKind"]; + s.spritesByKind___801202 = (r0); + r0 = s.arg0.fields["_kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 >= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + r0 = s.arg0.fields["_kind"]; + s.tmp_2 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___801202, s.tmp_2); + case 6: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 7; continue; } + s.tmp_4 = sprites_SpriteSet_remove__P792159_mk(s); + r0 = s.arg0.fields["_kind"]; + s.tmp_5 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___801202, s.tmp_5); + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.arg0; + s.callLocIdx = 367; s.pc = 17; return s.tmp_4; + case 17: + r0 = s.retval; + case 7: + case 8: + r0 = (s.arg1 >= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___801202, s.arg1); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 9; continue; } + r0 = pxsim_pxtcore_mkClassInstance(sprites_SpriteSet__C792152_VT); + s.tmp_4 = r0; + s.tmp_5 = sprites_SpriteSet_constructor__P792154_mk(s); + s.tmp_5.arg0 = s.tmp_4; + s.callLocIdx = 368; s.pc = 18; return s.tmp_5; + case 18: + r0 = s.retval; + r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___801202, s.arg1, s.tmp_4); + case 9: + case 10: + s.tmp_0 = sprites_SpriteSet_add__P792157_mk(s); + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___801202, s.arg1); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 369; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + case 11: + case 12: + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 370; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + r0 = r0.fields["overlapMap"]; + s.overlapMap___801231 = (r0); + r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___801231, s.arg1); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + s.tmp_3 = r0 = s.overlapMap___801231; + s.tmp_4 = r0 = s.arg1; + r0 = pxsim_Array__mk(); + s.tmp_5 = r0; + r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5); + case 13: + case 14: + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___801231, s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_kindsOverlappedWith"] = (s.tmp_1); + r0 = (s.arg0).fields["_kind"] = (s.arg1); + case 15: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_setKind__P792097.info = {"start":12841,"length":663,"line":464,"column":4,"endLine":484,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setKind","argumentNames":["this","value"]} + +function Sprite_setKind__P792097_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setKind__P792097, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + spritesByKind___801202: undefined, + overlapMap___801231: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_add__P792157(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C792152_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = false; + { step = 5; continue; } + case 1: + case 2: + r0 = s.arg0.fields["_sprites"]; + s.tmp_4 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_4, s.arg1, undefined); + s.tmp_3 = r0; + r0 = (s.tmp_3 > -1); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + r0 = false; + { step = 5; continue; } + case 3: + case 4: + r0 = s.arg0.fields["_sprites"]; + s.tmp_5 = r0; + r0 = pxsim_Array__push(s.tmp_5, s.arg1); + r0 = true; + case 5: + return leave(s, r0) + default: oops() +} } } +sprites_SpriteSet_add__P792157.info = {"start":1041,"length":263,"line":41,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"add","argumentNames":["this","sprite"]} + +function sprites_SpriteSet_add__P792157_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_add__P792157, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_contains__P792160(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C792152_VT)) failedCast(r0); + r0 = s.arg0.fields["_sprites"]; + s.tmp_1 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_1, s.arg1, undefined); + s.tmp_0 = r0; + r0 = (s.tmp_0 > -1); + return leave(s, r0) + default: oops() +} } } +sprites_SpriteSet_contains__P792160.info = {"start":2172,"length":100,"line":79,"column":8,"endLine":81,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"contains","argumentNames":["this","sprite"]} + +function sprites_SpriteSet_contains__P792160_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_contains__P792160, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_constructor__P792154(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C792152_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_sprites"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteSet_constructor__P792154.info = {"start":485,"length":57,"line":19,"column":8,"endLine":21,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"inline","argumentNames":["this"]} + +function sprites_SpriteSet_constructor__P792154_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_constructor__P792154, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Sprite_constructor__P792077(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_constructor__P791785_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 328; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.arg1); + s.tmp_5 = r0; + r0 = (s.tmp_4 - s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_6 = r0; + r0 = (s.tmp_6 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.height(s.arg1); + s.tmp_5 = r0; + r0 = (s.tmp_4 - s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_6 = r0; + r0 = (s.tmp_6 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); + r0 = s.arg0.fields["_x"]; + s.tmp_0 = r0; + r0 = (s.arg0).fields["_lastX"] = (s.tmp_0); + r0 = s.arg0.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.arg0).fields["_lastY"] = (s.tmp_0); + s.tmp_0 = Sprite_vx__P792048_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 331; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = Sprite_vy__P792050_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 332; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = Sprite_ax__P792052_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 333; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = Sprite_ay__P792054_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 334; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = Sprite_fx__P792056_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 335; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = Sprite_fy__P792058_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 336; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = (s.arg0).fields["_sx"] = (256); + r0 = (s.arg0).fields["_sy"] = (256); + r0 = (s.arg0).fields["flags"] = (0); + s.tmp_0 = Sprite_setImage__P792080_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 337; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.tmp_0 = Sprite_setKind__P792097_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = -1; + s.callLocIdx = 338; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + r0 = (s.arg0).fields["layer"] = (1); + r0 = (s.arg0).fields["lifespan"] = (undefined); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_overlappers"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_obstacles"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_constructor__P792077.info = {"start":7406,"length":678,"line":278,"column":4,"endLine":300,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["this","img"]} + +function Sprite_constructor__P792077_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_constructor__P792077, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_fy__P792058(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_3 = Math_max__P789818_mk(s); + s.tmp_3.arg0 = 0; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 324; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_fy"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_fy__P792058.info = {"start":5109,"length":64,"line":191,"column":4,"endLine":193,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"fy","argumentNames":["this","v"]} + +function Sprite_fy__P792058_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fy__P792058, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_fy__P792057(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_fy"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_fy__P792057.info = {"start":4947,"length":60,"line":186,"column":4,"endLine":188,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"fy","argumentNames":["this"]} +Sprite_fy__P792057.isGetter = true; + +function Sprite_fy__P792057_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fy__P792057, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_fx__P792056(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_3 = Math_max__P789818_mk(s); + s.tmp_3.arg0 = 0; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 321; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_fx"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_fx__P792056.info = {"start":4766,"length":64,"line":181,"column":4,"endLine":183,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"fx","argumentNames":["this","v"]} + +function Sprite_fx__P792056_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fx__P792056, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_fx__P792055(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_fx"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_fx__P792055.info = {"start":4604,"length":60,"line":176,"column":4,"endLine":178,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"fx","argumentNames":["this"]} +Sprite_fx__P792055.isGetter = true; + +function Sprite_fx__P792055_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fx__P792055, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_ay__P792054(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_ay"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_ay__P792054.info = {"start":4435,"length":51,"line":170,"column":4,"endLine":172,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ay","argumentNames":["this","v"]} + +function Sprite_ay__P792054_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ay__P792054, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_ay__P792053(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_ay"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_ay__P792053.info = {"start":4269,"length":60,"line":165,"column":4,"endLine":167,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ay","argumentNames":["this"]} +Sprite_ay__P792053.isGetter = true; + +function Sprite_ay__P792053_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ay__P792053, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_ax__P792052(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_ax"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_ax__P792052.info = {"start":4096,"length":51,"line":159,"column":4,"endLine":161,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ax","argumentNames":["this","v"]} + +function Sprite_ax__P792052_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ax__P792052, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_ax__P792051(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_ax"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_ax__P792051.info = {"start":3930,"length":60,"line":154,"column":4,"endLine":156,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"ax","argumentNames":["this"]} +Sprite_ax__P792051.isGetter = true; + +function Sprite_ax__P792051_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ax__P792051, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_vy__P792050(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_vy__P792050.info = {"start":3757,"length":51,"line":148,"column":4,"endLine":150,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vy","argumentNames":["this","v"]} + +function Sprite_vy__P792050_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vy__P792050, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_vy__P792049(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_vy"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_vy__P792049.info = {"start":3595,"length":60,"line":143,"column":4,"endLine":145,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vy","argumentNames":["this"]} +Sprite_vy__P792049.isGetter = true; + +function Sprite_vy__P792049_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vy__P792049, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_vx__P792048(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_vx__P792048.info = {"start":3426,"length":51,"line":137,"column":4,"endLine":139,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vx","argumentNames":["this","v"]} + +function Sprite_vx__P792048_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vx__P792048, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_vx__P792047(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_vx"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 / 256); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_vx__P792047.info = {"start":3264,"length":60,"line":132,"column":4,"endLine":134,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"vx","argumentNames":["this"]} +Sprite_vx__P792047.isGetter = true; + +function Sprite_vx__P792047_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vx__P792047, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_BaseSprite_constructor__P791785(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C791783_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_z__P791788_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 129; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = scene_Scene_addSprite__P792559_mk(s); + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 130; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 131; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite_constructor__P791785.info = {"start":344,"length":170,"line":15,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"inline","argumentNames":["this","z"]} + +function sprites_BaseSprite_constructor__P791785_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite_constructor__P791785, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_Scene_addSprite__P792559(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C792532_VT)) failedCast(r0); + r0 = s.arg0.fields["allSprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.arg1); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["spriteNextId"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["spriteNextId"] = (s.tmp_1); + s.tmp_3 = if_id_2_mk(s); + s.tmp_3.arg0 = s.arg1; + s.tmp_3.arg1 = s.tmp_2; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapSetByString(s.tmp_3.arg0, "id", s.tmp_3.arg1); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["set/id"]; + if (s.tmp_3.fn === null) { s.tmp_3.arg0.fields["id"] = s.tmp_3.arg1; } + else if (s.tmp_3.fn === undefined) { failedCast(s.tmp_3.arg0) } + else { s.callLocIdx = 929; s.pc = 1; return s.tmp_3; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_addSprite__P792559.info = {"start":7218,"length":128,"line":200,"column":8,"endLine":203,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"addSprite","argumentNames":["this","sprite"]} + +function scene_Scene_addSprite__P792559_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_addSprite__P792559, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSprite_z__P791788(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C791783_VT)) failedCast(r0); + r0 = s.arg0.fields["_z"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (s.arg0).fields["_z"] = (s.arg1); + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 132; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 | 1); + s.tmp_2 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_2); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite_z__P791788.info = {"start":656,"length":174,"line":30,"column":8,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"z","argumentNames":["this","v"]} + +function sprites_BaseSprite_z__P791788_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite_z__P791788, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSprite_z__P791787(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C791783_VT)) failedCast(r0); + r0 = s.arg0.fields["_z"]; + return leaveAccessor(s, r0) + default: oops() +} } } +sprites_BaseSprite_z__P791787.info = {"start":591,"length":55,"line":26,"column":8,"endLine":28,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"z","argumentNames":["this"]} +sprites_BaseSprite_z__P791787.isGetter = true; + +function sprites_BaseSprite_z__P791787_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite_z__P791787, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function game_onShade__P792706(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_init__P794615_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 959; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_2 = scene_createRenderable__P792494_mk(s); + s.tmp_2.arg0 = 80; + s.tmp_2.arg1 = s.arg0; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 960; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_onShade__P792706.info = {"start":15517,"length":145,"line":464,"column":4,"endLine":468,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onShade","argumentNames":["a"]} + +function game_onShade__P792706_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onShade__P792706, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function scene_createRenderable__P792494(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.renderable___799878 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore_mkClassInstance(scene_Renderable__C792489_VT); + s.tmp_0 = r0; + s.tmp_1 = r0 = s.arg2; + r0 = pxsim_numops_toBool(s.tmp_1); + if (!r0) { step = 1; continue; } + r0 = s.tmp_1; + { step = 2; continue; } + case 1: + r0 = renderable_inline__P799884; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + s.tmp_3 = scene_Renderable_constructor__P792490_mk(s); + s.tmp_3.arg0 = s.tmp_0; + s.tmp_3.arg1 = s.arg1; + s.tmp_3.arg2 = s.tmp_2; + s.tmp_3.arg3 = s.arg0; + s.callLocIdx = 903; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.renderable___799878 = (s.tmp_0); + r0 = s.renderable___799878; + return leave(s, r0) + default: oops() +} } } +scene_createRenderable__P792494.info = {"start":608,"length":339,"line":24,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/game/renderable.ts","functionName":"createRenderable","argumentNames":["z","handler","shouldBeVisible"]} + +function scene_createRenderable__P792494_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_createRenderable__P792494, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + renderable___799878: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function renderable_inline__P799884(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = true; + return leave(s, r0) + default: oops() +} } } +renderable_inline__P799884.info = {"start":875,"length":10,"line":31,"column":32,"endLine":31,"endColumn":42,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":[]} + +function renderable_inline__P799884_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: renderable_inline__P799884, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_Renderable_constructor__P792490(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Renderable__C792489_VT)) failedCast(r0); + r0 = (s.arg0).fields["handler"] = (s.arg1); + r0 = (s.arg0).fields["shouldBeVisible"] = (s.arg2); + s.tmp_0 = sprites_BaseSprite_constructor__P791785_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg3; + s.callLocIdx = 900; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Renderable_constructor__P792490.info = {"start":83,"length":212,"line":2,"column":8,"endLine":8,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"inline","argumentNames":["this","handler","shouldBeVisible","z"]} + +function scene_Renderable_constructor__P792490_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Renderable_constructor__P792490, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_constructor__P792785(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C792784_VT)) failedCast(r0); + r0 = (s.arg0).fields["generator"] = (s.arg1); + s.tmp_0 = r0 = s.arg2; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_1 = scene_systemMenu_buildMenuTheme__P792793_mk(s); + r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___792800); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 3; + s.tmp_1.arg2 = undefined; + s.tmp_1.arg3 = undefined; + s.callLocIdx = 998; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = (s.arg0).fields["theme"] = (s.tmp_2); + r0 = (s.arg0).fields["scrollRow"] = (0); + r0 = (s.arg0).fields["scrollOffset"] = (0); + r0 = (s.arg0).fields["scrollTarget"] = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_constructor__P792785.info = {"start":3029,"length":257,"line":116,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"inline","argumentNames":["this","generator","theme"]} + +function scene_systemMenu_PauseMenu_constructor__P792785_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_constructor__P792785, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_systemMenu_buildMenuTheme__P792793(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.cardsPerRow___802165 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_0 = r0; + r0 = (s.arg0 + s.arg1); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_1); + s.cardsPerRow___802165 = (r0); + s.tmp_0 = r0 = s.arg2; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = globals.font8___791664; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + s.arg2 = (s.tmp_1); + s.tmp_0 = r0 = s.arg3; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + s.tmp_1 = image_doubledFont__P791667_mk(s); + s.tmp_1.arg0 = s.arg2; + s.callLocIdx = 1108; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + s.arg3 = (s.tmp_2); + r0 = pxsim_pxtrt.mkMap(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardSpacing", s.arg1); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardWidth", s.arg0); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardsPerRow", s.cardsPerRow___802165); + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_3 = r0; + r0 = (s.cardsPerRow___802165 * s.arg0); + s.tmp_5 = r0; + r0 = (s.cardsPerRow___802165 - 1); + s.tmp_7 = r0; + r0 = (s.tmp_7 * s.arg1); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_3 - s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "padding", s.tmp_1); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoFont", s.arg2); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerFont", s.arg3); + s.tmp_11 = if_charHeight_1_mk(s); + s.tmp_11.arg0 = s.arg3; + if (!s.tmp_11.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "charHeight"); + } else { + s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charHeight"]; + if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charHeight"]; } + else if (!s.tmp_11.fn.isGetter) { s.retval = bind(s.tmp_11); } + else { s.callLocIdx = 1109; s.pc = 6; return s.tmp_11; } + } + case 6: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_10 + 2); + s.tmp_9 = r0; + r0 = (s.tmp_9 + s.arg1); + s.tmp_8 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "cardsTop", s.tmp_8); + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_14 = r0; + s.tmp_16 = if_charHeight_1_mk(s); + s.tmp_16.arg0 = s.arg2; + if (!s.tmp_16.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_16.arg0, "charHeight"); + } else { + s.tmp_16.fn = s.tmp_16.arg0.vtable.iface["charHeight"]; + if (s.tmp_16.fn == null) { s.retval = s.tmp_16.arg0.fields["charHeight"]; } + else if (!s.tmp_16.fn.isGetter) { s.retval = bind(s.tmp_16); } + else { s.callLocIdx = 1110; s.pc = 7; return s.tmp_16; } + } + case 7: + r0 = s.retval; + s.tmp_15 = r0; + r0 = (s.tmp_14 - s.tmp_15); + s.tmp_13 = r0; + r0 = (s.tmp_13 - 2); + s.tmp_12 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "infoTop", s.tmp_12); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "headerText", "PAUSED"); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "selectedCard", globals.CARD_SELECTED___792801); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "activeCard", globals.CARD_ACTIVE___792802); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "basicCard", globals.CARD_NORMAL___792800); + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildMenuTheme__P792793.info = {"start":11654,"length":906,"line":356,"column":4,"endLine":375,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"buildMenuTheme","argumentNames":["cardWidth","cardSpacing","infoFont","headerFont"]} + +function scene_systemMenu_buildMenuTheme__P792793_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildMenuTheme__P792793, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + cardsPerRow___802165: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function image_doubledFont__P791667(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = image_scaledFont__P791668_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 2; + s.callLocIdx = 88; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +image_doubledFont__P791667.info = {"start":12008,"length":82,"line":146,"column":4,"endLine":148,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"doubledFont","argumentNames":["f"]} + +function image_doubledFont__P791667_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: image_doubledFont__P791667, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function image_scaledFont__P791668(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg1 | 0); + s.arg1 = (r0); + r0 = (s.arg1 < 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0; + { step = 5; continue; } + case 1: + case 2: + r0 = pxsim_pxtrt.mkMap(); + s.tmp_1 = r0; + s.tmp_4 = if_charWidth_1_mk(s); + s.tmp_4.arg0 = s.arg0; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "charWidth"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["charWidth"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["charWidth"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 89; s.pc = 6; return s.tmp_4; } + } + case 6: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 * s.arg1); + s.tmp_2 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "charWidth", s.tmp_2); + s.tmp_7 = if_charHeight_1_mk(s); + s.tmp_7.arg0 = s.arg0; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 90; s.pc = 7; return s.tmp_7; } + } + case 7: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 * s.arg1); + s.tmp_5 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "charHeight", s.tmp_5); + s.tmp_9 = if_data_1_mk(s); + s.tmp_9.arg0 = s.arg0; + if (!s.tmp_9.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "data"); + } else { + s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["data"]; + if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["data"]; } + else if (!s.tmp_9.fn.isGetter) { s.retval = bind(s.tmp_9); } + else { s.callLocIdx = 91; s.pc = 8; return s.tmp_9; } + } + case 8: + r0 = s.retval; + s.tmp_8 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "data", s.tmp_8); + s.tmp_11 = if_multiplier_1_mk(s); + s.tmp_11.arg0 = s.arg0; + if (!s.tmp_11.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "multiplier"); + } else { + s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["multiplier"]; + if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["multiplier"]; } + else if (!s.tmp_11.fn.isGetter) { s.retval = bind(s.tmp_11); } + else { s.callLocIdx = 92; s.pc = 9; return s.tmp_11; } + } + case 9: + r0 = s.retval; + s.tmp_10 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_10); + if (!r0) { step = 3; continue; } + s.tmp_12 = r0 = s.arg1; + s.tmp_14 = if_multiplier_1_mk(s); + s.tmp_14.arg0 = s.arg0; + if (!s.tmp_14.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_14.arg0, "multiplier"); + } else { + s.tmp_14.fn = s.tmp_14.arg0.vtable.iface["multiplier"]; + if (s.tmp_14.fn == null) { s.retval = s.tmp_14.arg0.fields["multiplier"]; } + else if (!s.tmp_14.fn.isGetter) { s.retval = bind(s.tmp_14); } + else { s.callLocIdx = 93; s.pc = 10; return s.tmp_14; } + } + case 10: + r0 = s.retval; + s.tmp_13 = r0; + r0 = (s.tmp_12 * s.tmp_13); + { step = 4; continue; } + case 3: + r0 = s.arg1; + case 4: + // jmp value (already in r0) + s.tmp_15 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_1, "multiplier", s.tmp_15); + r0 = s.tmp_1; + case 5: + return leave(s, r0) + default: oops() +} } } +image_scaledFont__P791668.info = {"start":12096,"length":331,"line":150,"column":4,"endLine":160,"endColumn":5,"fileName":"pxt_modules/screen/text.ts","functionName":"scaledFont","argumentNames":["f","size"]} + +function image_scaledFont__P791668_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: image_scaledFont__P791668, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_pushScene__P792692(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.oldScene___802244 = undefined; + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 947; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.oldScene___802244 = (r0); + s.tmp_0 = particles_clearAll__P792870_mk(s); + s.callLocIdx = 948; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = particles_disableAll__P792871_mk(s); + s.callLocIdx = 949; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals._sceneStack___794608); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals._sceneStack___794608 = (r0); + case 1: + case 2: + r0 = pxsim_Array__push(globals._sceneStack___794608, globals._scene___794607); + s.tmp_0 = game_init__P794615_mk(s); + s.tmp_0.arg0 = true; + s.callLocIdx = 950; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___794609); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkAction(1, game_pushScene_inline__P802261); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___802244); + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + s.tmp_1.arg0 = globals._scenePushHandlers___794609; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 952; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_pushScene__P792692.info = {"start":4760,"length":367,"line":148,"column":4,"endLine":159,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"pushScene","argumentNames":[]} + +function game_pushScene__P792692_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_pushScene__P792692, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + oldScene___802244: undefined, +} } + + + + + +function game_pushScene_inline__P802261(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = lambda_2_mk(s); + s.tmp_0.argL = s.arg0; + s.tmp_0.arg0 = s.caps[0]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 951; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_pushScene_inline__P802261.info = {"start":5091,"length":18,"line":157,"column":39,"endLine":157,"endColumn":57,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} + +function game_pushScene_inline__P802261_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_pushScene_inline__P802261, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_disableAll__P792871(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sources___802265 = undefined; + s.tmp_0 = particles_particleSources__P794957_mk(s); + s.callLocIdx = 1191; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___802265 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___802265); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P789797_mk(s); + s.tmp_0.arg0 = s.sources___802265; + s.tmp_0.arg1 = particles_disableAll_inline__P802271; + s.callLocIdx = 1193; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P794953_mk(s); + s.callLocIdx = 1194; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_disableAll__P792871.info = {"start":12370,"length":195,"line":402,"column":4,"endLine":408,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"disableAll","argumentNames":[]} + +function particles_disableAll__P792871_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_disableAll__P792871, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___802265: undefined, +} } + + + + + +function particles_disableAll_inline__P802271(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = particles_ParticleSource_enabled__P792853_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = false; + s.callLocIdx = 1192; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = false; + return leave(s, r0) + default: oops() +} } } +particles_disableAll_inline__P802271.info = {"start":12495,"length":22,"line":405,"column":28,"endLine":405,"endColumn":50,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} + +function particles_disableAll_inline__P802271_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_disableAll_inline__P802271, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_clearAll__P792870(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sources___802276 = undefined; + s.tmp_0 = particles_particleSources__P794957_mk(s); + s.callLocIdx = 1187; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___802276 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___802276); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P789797_mk(s); + s.tmp_0.arg0 = s.sources___802276; + s.tmp_0.arg1 = particles_clearAll_inline__P802282; + s.callLocIdx = 1189; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P794953_mk(s); + s.callLocIdx = 1190; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_clearAll__P792870.info = {"start":12098,"length":185,"line":391,"column":4,"endLine":397,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"clearAll","argumentNames":[]} + +function particles_clearAll__P792870_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_clearAll__P792870, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___802276: undefined, +} } + + + + + +function particles_clearAll_inline__P802282(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = particles_ParticleSource_clear__P792855_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1188; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_clearAll_inline__P802282.info = {"start":12221,"length":14,"line":394,"column":28,"endLine":394,"endColumn":42,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["s"]} + +function particles_clearAll_inline__P802282_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_clearAll_inline__P802282, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleSource_clear__P792855(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + r0 = (s.arg0).fields["head"] = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_clear__P792855.info = {"start":7424,"length":54,"line":243,"column":8,"endLine":245,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"clear","argumentNames":["this"]} + +function particles_ParticleSource_clear__P792855_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_clear__P792855, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_Button_onEvent__P791885(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.eventHandler___802294 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + s.tmp_0 = controller_Button_getOrCreateHandlerForEvent__P794396_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 202; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.eventHandler___802294 = (r0); + r0 = (s.eventHandler___802294).fields["callback"] = (s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_onEvent__P791885.info = {"start":3784,"length":188,"line":123,"column":8,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"onEvent","argumentNames":["this","event","handler"]} + +function controller_Button_onEvent__P791885_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_onEvent__P791885, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + eventHandler___802294: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function controller_Button_getOrCreateHandlerForEvent__P794396(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.handlerState___802315 = undefined; + s.eventHandler___802324 = undefined; + s.unnamed16768___U2 = undefined; + s.unnamed16769___U3 = undefined; + s.newHandler___802340 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + s.tmp_3 = controller_Button_handlerState__P794391_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 212; s.pc = 10; return s.tmp_3; + case 10: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtcore_mkClassInstance(controller_ButtonEventHandlerState__C791874_VT); + s.tmp_4 = r0; + s.tmp_5 = controller_ButtonEventHandlerState_constructor__P791875_mk(s); + s.tmp_5.arg0 = s.tmp_4; + r0 = s.arg0.fields["id"]; + s.tmp_5.arg1 = r0; + s.callLocIdx = 214; s.pc = 11; return s.tmp_5; + case 11: + r0 = s.retval; + s.tmp_7 = game_currentScene__P792688_mk(s); + s.callLocIdx = 213; s.pc = 12; return s.tmp_7; + case 12: + r0 = s.retval; + r0 = r0.fields["buttonEventHandlers"]; + s.tmp_6 = r0; + r0 = pxsim_Array__push(s.tmp_6, s.tmp_4); + case 1: + case 2: + s.tmp_0 = controller_Button_handlerState__P794391_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 215; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + s.handlerState___802315 = (r0); + r0 = s.handlerState___802315.fields["user"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_3 = r0 = s.handlerState___802315; + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["user"] = (s.tmp_4); + case 3: + case 4: + s.eventHandler___802324 = (undefined); + r0 = s.handlerState___802315.fields["user"]; + s.unnamed16768___U2 = (r0); + s.unnamed16769___U3 = (0); + case 5: + s.tmp_0 = r0 = s.unnamed16769___U3; + r0 = pxsim_Array__length(s.unnamed16768___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 8; continue; } + r0 = pxsim_Array__getAt(s.unnamed16768___U2, s.unnamed16769___U3); + s.eventHandler___802324 = (r0); + r0 = s.eventHandler___802324.fields["event"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 === s.arg1); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 6; continue; } + r0 = s.eventHandler___802324; + { step = 9; continue; } + case 6: + case 7: + r0 = (s.unnamed16769___U3 + 1); + s.unnamed16769___U3 = (r0); + { step = 5; continue; } + case 8: + s.unnamed16768___U2 = (undefined); + r0 = pxsim_pxtcore_mkAction(2, controller_Button_getOrCreateHandlerForEvent_inline__P802337); + s.tmp_4 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.arg1); + s.tmp_5 = control_onEvent__P790079_mk(s); + s.tmp_5.arg0 = s.arg1; + r0 = s.arg0.fields["id"]; + s.tmp_5.arg1 = r0; + s.tmp_5.arg2 = s.tmp_4; + s.tmp_5.arg3 = 16; + s.callLocIdx = 217; s.pc = 14; return s.tmp_5; + case 14: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(controller_ButtonHandler__C791872_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_ButtonHandler_constructor__P791873_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 218; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.newHandler___802340 = (s.tmp_0); + r0 = s.handlerState___802315.fields["user"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.newHandler___802340); + r0 = s.newHandler___802340; + case 9: + return leave(s, r0) + default: oops() +} } } +controller_Button_getOrCreateHandlerForEvent__P794396.info = {"start":8550,"length":829,"line":250,"column":8,"endLine":270,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"getOrCreateHandlerForEvent","argumentNames":["this","event"]} + +function controller_Button_getOrCreateHandlerForEvent__P794396_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_getOrCreateHandlerForEvent__P794396, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + handlerState___802315: undefined, + eventHandler___802324: undefined, + unnamed16768___U2: undefined, + unnamed16769___U3: undefined, + newHandler___802340: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_getOrCreateHandlerForEvent_inline__P802337(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = controller_Button_runButtonEvents__P794395_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.caps[1]; + s.callLocIdx = 216; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_getOrCreateHandlerForEvent_inline__P802337.info = {"start":9186,"length":33,"line":265,"column":44,"endLine":265,"endColumn":77,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} + +function controller_Button_getOrCreateHandlerForEvent_inline__P802337_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_getOrCreateHandlerForEvent_inline__P802337, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_Button_runButtonEvents__P794395(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.handlerState___802354 = undefined; + s.userHandler___802358 = undefined; + s.eventHandler___802369 = undefined; + s.unnamed16766___U3 = undefined; + s.unnamed16767___U4 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + s.tmp_0 = controller_Button_handlerState__P794391_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 208; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.handlerState___802354 = (r0); + r0 = pxsim_numops_toBoolDecr(s.handlerState___802354); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 13; continue; } + case 1: + case 2: + s.tmp_2 = controller_Button_getOrCreateHandlerForEvent__P794396_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 209; s.pc = 15; return s.tmp_2; + case 15: + r0 = s.retval; + s.userHandler___802358 = (r0); + r0 = s.userHandler___802358.fields["callback"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_1 = if_callback_1_mk(s); + s.tmp_1.arg0 = s.userHandler___802358; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "callback"), 1); + s.callLocIdx = 210; s.pc = 16; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["callback"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["callback"], 1); s.callLocIdx = 210; s.pc = 16; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 210; s.pc = 16; return s.tmp_1;; } + else { s.callLocIdx = 210; s.pc = 16; return s.tmp_1; } + } + case 16: + r0 = s.retval; + case 3: + case 4: + r0 = s.handlerState___802354.fields["system"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.eventHandler___802369 = (undefined); + r0 = s.handlerState___802354.fields["system"]; + s.unnamed16766___U3 = (r0); + s.unnamed16767___U4 = (0); + case 5: + s.tmp_0 = r0 = s.unnamed16767___U4; + r0 = pxsim_Array__length(s.unnamed16766___U3); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 10; continue; } + r0 = pxsim_Array__getAt(s.unnamed16766___U3, s.unnamed16767___U4); + s.eventHandler___802369 = (r0); + r0 = s.eventHandler___802369.fields["event"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 === s.arg1); + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 6; continue; } + r0 = s.tmp_2; + { step = 7; continue; } + case 6: + r0 = s.eventHandler___802369.fields["callback"]; + case 7: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 8; continue; } + s.tmp_5 = if_callback_1_mk(s); + s.tmp_5.arg0 = s.eventHandler___802369; + if (!s.tmp_5.arg0.vtable.iface) { + setupLambda(s.tmp_5, pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "callback"), 1); + s.callLocIdx = 211; s.pc = 17; return s.tmp_5; + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["callback"]; + if (s.tmp_5.fn == null) { setupLambda(s.tmp_5, s.tmp_5.arg0.fields["callback"], 1); s.callLocIdx = 211; s.pc = 17; return s.tmp_5; } + else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 211; s.pc = 17; return s.tmp_5;; } + else { s.callLocIdx = 211; s.pc = 17; return s.tmp_5; } + } + case 17: + r0 = s.retval; + case 8: + case 9: + r0 = (s.unnamed16767___U4 + 1); + s.unnamed16767___U4 = (r0); + { step = 5; continue; } + case 10: + s.unnamed16766___U3 = (undefined); + case 11: + case 12: + case 13: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_runButtonEvents__P794395.info = {"start":8005,"length":535,"line":236,"column":8,"endLine":248,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"runButtonEvents","argumentNames":["this","event"]} + +function controller_Button_runButtonEvents__P794395_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_runButtonEvents__P794395, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + handlerState___802354: undefined, + userHandler___802358: undefined, + eventHandler___802369: undefined, + unnamed16766___U3: undefined, + unnamed16767___U4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_handlerState__P794391(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.state___802385 = undefined; + s.unnamed16764___U1 = undefined; + s.unnamed16765___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + s.state___802385 = (undefined); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 198; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = r0.fields["buttonEventHandlers"]; + s.unnamed16764___U1 = (r0); + s.unnamed16765___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16765___U2; + r0 = pxsim_Array__length(s.unnamed16764___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed16764___U1, s.unnamed16765___U2); + s.state___802385 = (r0); + r0 = s.state___802385.fields["id"]; + s.tmp_3 = r0; + r0 = s.arg0.fields["id"]; + s.tmp_4 = r0; + r0 = (s.tmp_3 === s.tmp_4); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + r0 = s.state___802385; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.unnamed16765___U2 + 1); + s.unnamed16765___U2 = (r0); + { step = 1; continue; } + case 4: + s.unnamed16764___U1 = (undefined); + r0 = undefined; + case 5: + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Button_handlerState__P794391.info = {"start":1644,"length":240,"line":66,"column":8,"endLine":71,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"handlerState","argumentNames":["this"]} +controller_Button_handlerState__P794391.isGetter = true; + +function controller_Button_handlerState__P794391_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_handlerState__P794391, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + state___802385: undefined, + unnamed16764___U1: undefined, + unnamed16765___U2: undefined, + arg0: undefined, +} } + + + + + +function controller_ButtonEventHandlerState_constructor__P791875(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_ButtonEventHandlerState__C791874_VT)) failedCast(r0); + r0 = (s.arg0).fields["id"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_ButtonEventHandlerState_constructor__P791875.info = {"start":1122,"length":33,"line":48,"column":8,"endLine":48,"endColumn":41,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":["this","id"]} + +function controller_ButtonEventHandlerState_constructor__P791875_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_ButtonEventHandlerState_constructor__P791875, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_ButtonHandler_constructor__P791873(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_ButtonHandler__C791872_VT)) failedCast(r0); + r0 = (s.arg0).fields["event"] = (s.arg1); + r0 = (s.arg0).fields["callback"] = (s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_ButtonHandler_constructor__P791873.info = {"start":997,"length":66,"line":44,"column":8,"endLine":44,"endColumn":74,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":["this","event","callback"]} + +function controller_ButtonHandler_constructor__P791873_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_ButtonHandler_constructor__P791873, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_systemMenu_initScreen__P794875(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.brightness___802397 = undefined; + s.tmp_0 = settings_readNumber__P791757_mk(s); + s.tmp_0.arg0 = "#brightness"; + s.callLocIdx = 1117; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.brightness___802397 = (r0); + r0 = (s.brightness___802397 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = helpers_setScreenBrightness__P791654_mk(s); + s.tmp_1.arg0 = globals.screen___791721; + s.tmp_1.arg1 = s.brightness___802397; + s.callLocIdx = 1118; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_initScreen__P794875.info = {"start":13388,"length":175,"line":405,"column":4,"endLine":409,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initScreen","argumentNames":[]} + +function scene_systemMenu_initScreen__P794875_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_initScreen__P794875, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + brightness___802397: undefined, +} } + + + + + +function settings_readNumber__P791757(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.buf___802408 = undefined; + s.nums___802415 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim.settings._get(s.arg0); + s.buf___802408 = (r0); + r0 = pxsim_numops_toBoolDecr(s.buf___802408); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = undefined; + { step = 7; continue; } + { step = 6; continue; } + case 1: + s.tmp_2 = msgpack_unpackNumberArray__P789871_mk(s); + s.tmp_2.arg0 = s.buf___802408; + s.tmp_2.arg1 = 0; + s.callLocIdx = 128; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.nums___802415 = (r0); + s.tmp_0 = r0 = s.nums___802415; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 2; continue; } + r0 = s.tmp_0; + { step = 3; continue; } + case 2: + r0 = pxsim_Array__length(s.nums___802415); + s.tmp_1 = r0; + r0 = (s.tmp_1 >= 1); + case 3: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.nums___802415, 0); + { step = 7; continue; } + case 4: + case 5: + r0 = undefined; + { step = 7; continue; } + case 6: + r0 = undefined; + case 7: + return leave(s, r0) + default: oops() +} } } +settings_readNumber__P791757.info = {"start":3283,"length":313,"line":131,"column":4,"endLine":141,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readNumber","argumentNames":["key"]} + +function settings_readNumber__P791757_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_readNumber__P791757, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + buf___802408: undefined, + nums___802415: undefined, + arg0: undefined, +} } + + + + + +function settings_readBuffer__P791754(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim.settings._get(s.arg0); + return leave(s, r0) + default: oops() +} } } +settings_readBuffer__P791754.info = {"start":2694,"length":72,"line":103,"column":4,"endLine":105,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readBuffer","argumentNames":["key"]} + +function settings_readBuffer__P791754_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_readBuffer__P791754, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function msgpack_unpackNumberArray__P789871(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.res___802428 = undefined; + s.fmt___802435 = undefined; + s.v___802444 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___802428 = (r0); + case 1: + s.tmp_1 = r0 = s.arg1; + r0 = pxsim.BufferMethods.length(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 10; continue; } + s.tmp_3 = r0 = s.arg1; + r0 = (s.tmp_3 + 1); + s.arg1 = (r0); + s.tmp_4 = msgpack_tagFormat__P794043_mk(s); + r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3); + s.tmp_4.arg0 = r0; + s.callLocIdx = 19; s.pc = 12; return s.tmp_4; + case 12: + r0 = s.retval; + s.fmt___802435 = (r0); + r0 = (s.fmt___802435 === null); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.tmp_1 = r0 = s.arg0; + r0 = (s.arg1 - 1); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 6, s.tmp_2); + s.v___802444 = (r0); + r0 = (-31 <= s.v___802444); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 2; continue; } + r0 = s.tmp_0; + { step = 3; continue; } + case 2: + r0 = (s.v___802444 <= 127); + case 3: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__push(s.res___802428, s.v___802444); + { step = 5; continue; } + case 4: + r0 = null; + { step = 11; continue; } + case 5: + { step = 7; continue; } + case 6: + s.tmp_0 = r0 = s.res___802428; + r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___802435, s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + s.tmp_0 = r0 = s.arg1; + s.tmp_2 = pins_sizeOf__P789863_mk(s); + s.tmp_2.arg0 = s.fmt___802435; + s.callLocIdx = 20; s.pc = 13; return s.tmp_2; + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.arg1 = (r0); + case 7: + case 8: + r0 = pxsim.BufferMethods.getByte(s.arg0, s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_1 === 193); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = (s.arg1 + 1); + s.arg1 = (r0); + { step = 8; continue; } + case 9: + { step = 1; continue; } + case 10: + r0 = s.res___802428; + case 11: + return leave(s, r0) + default: oops() +} } } +msgpack_unpackNumberArray__P789871.info = {"start":2650,"length":669,"line":91,"column":4,"endLine":111,"endColumn":5,"fileName":"pxt_modules/base/buffer.ts","functionName":"unpackNumberArray","argumentNames":["buf","offset"]} + +function msgpack_unpackNumberArray__P789871_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_unpackNumberArray__P789871, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + res___802428: undefined, + fmt___802435: undefined, + v___802444: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_initVolume__P794874(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.vol___802489 = undefined; + s.tmp_0 = settings_readNumber__P791757_mk(s); + s.tmp_0.arg0 = "#volume"; + s.callLocIdx = 1115; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.vol___802489 = (r0); + r0 = (s.vol___802489 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = music_setVolume__P791309_mk(s); + s.tmp_1.arg0 = s.vol___802489; + s.callLocIdx = 1116; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_initVolume__P794874.info = {"start":13238,"length":144,"line":399,"column":4,"endLine":403,"endColumn":5,"fileName":"pxt_modules/game/systemmenu.ts","functionName":"initVolume","argumentNames":[]} + +function scene_systemMenu_initVolume__P794874_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_initVolume__P794874, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + vol___802489: undefined, +} } + + + + + +function game_GameOverConfig_constructor__P792677(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_GameOverConfig__C792662_VT)) failedCast(r0); + s.tmp_0 = game_GameOverConfig_init__P792678_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 938; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_GameOverConfig_constructor__P792677.info = {"start":893,"length":50,"line":35,"column":8,"endLine":37,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["this"]} + +function game_GameOverConfig_constructor__P792677_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_GameOverConfig_constructor__P792677, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_GameOverConfig_init__P792678(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_GameOverConfig__C792662_VT)) failedCast(r0); + r0 = (s.arg0).fields["scoringType"] = (0); + r0 = (s.arg0).fields["winEffect"] = (globals.confetti___792963); + r0 = (s.arg0).fields["loseEffect"] = (globals.melt___792985); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = music_melodyPlayable__P791612_mk(s); + s.tmp_2.arg0 = globals.powerUp___791339; + s.callLocIdx = 939; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["winSound"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = music_melodyPlayable__P791612_mk(s); + s.tmp_2.arg0 = globals.wawawawaa___791336; + s.callLocIdx = 940; s.pc = 2; return s.tmp_2; + case 2: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["loseSound"] = (s.tmp_1); + r0 = (s.arg0).fields["winSoundLooping"] = (false); + r0 = (s.arg0).fields["loseSoundLooping"] = (false); + r0 = (s.arg0).fields["winMessage"] = ("YOU WIN!"); + r0 = (s.arg0).fields["winMessageMultiplayer"] = ("${WINNER} WINS!"); + r0 = (s.arg0).fields["loseMessage"] = ("GAME OVER"); + r0 = (s.arg0).fields["effectSetByUser"] = (false); + r0 = (s.arg0).fields["soundSetByUser"] = (false); + r0 = (s.arg0).fields["messageSetByUser"] = (false); + r0 = (s.arg0).fields["scoringTypeSetByUser"] = (false); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_GameOverConfig_init__P792678.info = {"start":953,"length":701,"line":39,"column":8,"endLine":54,"endColumn":9,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":["this"]} + +function game_GameOverConfig_init__P792678_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_GameOverConfig_init__P792678, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function melt_inline__P802552(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.rounds___802555 = undefined; + s.j___802563 = undefined; + s.x___802568 = undefined; + s.y___802574 = undefined; + s.c___802580 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 5); + s.rounds___802555 = (r0); + s.j___802563 = (0); + case 1: + r0 = (s.j___802563 < s.rounds___802555); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_1.arg0 = s.arg1; + s.tmp_1.arg1 = 0; + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1.arg2 = r0; + s.callLocIdx = 58; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.x___802568 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 0; + r0 = pxsim_ImageMethods.height(s.arg0); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 3); + s.tmp_0.arg2 = r0; + s.callLocIdx = 59; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.y___802574 = (r0); + r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___802568, s.y___802574); + s.c___802580 = (r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.x___802568; + r0 = (s.y___802574 + 1); + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___802580); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.x___802568; + r0 = (s.y___802574 + 2); + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___802580); + r0 = (s.j___802563 + 1); + s.j___802563 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +melt_inline__P802552.info = {"start":2652,"length":386,"line":72,"column":45,"endLine":81,"endColumn":5,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":["input","r"]} + +function melt_inline__P802552_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: melt_inline__P802552, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + rounds___802555: undefined, + j___802563: undefined, + x___802568: undefined, + y___802574: undefined, + c___802580: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function confetti_inline__P802606(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.factory___802609 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C792907_VT); + s.tmp_0 = r0; + s.tmp_2 = if_width_1_mk(s); + s.tmp_2.arg0 = s.arg0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "width"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["width"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["width"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 46; s.pc = 3; return s.tmp_2; } + } + case 3: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 1; continue; } + s.tmp_3 = if_width_1_mk(s); + s.tmp_3.arg0 = s.arg0; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "width"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["width"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["width"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 47; s.pc = 4; return s.tmp_3; } + } + case 4: + r0 = s.retval; + { step = 2; continue; } + case 1: + r0 = 16; + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + s.tmp_5 = particles_ConfettiFactory_constructor__P792908_mk(s); + s.tmp_5.arg0 = s.tmp_0; + s.tmp_5.arg1 = s.tmp_4; + s.tmp_5.arg2 = 16; + s.callLocIdx = 48; s.pc = 5; return s.tmp_5; + case 5: + r0 = s.retval; + s.factory___802609 = (s.tmp_0); + s.tmp_0 = particles_SprayFactory_setSpeed__P792884_mk(s); + s.tmp_0.arg0 = s.factory___802609; + s.tmp_0.arg1 = 30; + s.callLocIdx = 49; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C792840_VT); + s.tmp_0 = r0; + s.tmp_1 = particles_ParticleSource_constructor__P792845_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.arg1; + s.tmp_1.arg3 = s.factory___802609; + s.callLocIdx = 50; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +confetti_inline__P802606.info = {"start":7534,"length":284,"line":191,"column":59,"endLine":195,"endColumn":5,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["anchor","particlesPerSecond"]} + +function confetti_inline__P802606_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: confetti_inline__P802606, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + factory___802609: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_constructor__P792845(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sources___802630 = undefined; + s.removedSource___802639 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_constructor__P791785_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 1137; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = particles_init__P794951_mk(s); + s.callLocIdx = 1138; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = particles_particleSources__P794957_mk(s); + s.callLocIdx = 1139; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.sources___802630 = (r0); + r0 = pxsim_Array__length(s.sources___802630); + s.tmp_1 = r0; + r0 = (s.tmp_1 >= globals.MAX_SOURCES___794943); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = particles_sortSources__P794954_mk(s); + s.tmp_2.arg0 = s.sources___802630; + s.callLocIdx = 1140; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + r0 = pxsim_Array_.removeAt(s.sources___802630, 0); + s.removedSource___802639 = (r0); + s.tmp_0 = particles_ParticleSource_clear__P792855_mk(s); + s.tmp_0.arg0 = s.removedSource___802639; + s.callLocIdx = 1142; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_destroy__P792854_mk(s); + s.tmp_0.arg0 = s.removedSource___802639; + s.callLocIdx = 1143; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + case 1: + case 2: + r0 = (s.arg0).fields["pFlags"] = (0); + s.tmp_0 = particles_ParticleSource_setRate__P792857_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 1144; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_setAcceleration__P792849_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = 0; + s.callLocIdx = 1145; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_setAnchor__P792856_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1146; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = (s.arg0).fields["lifespan"] = (undefined); + r0 = (s.arg0).fields["_dt"] = (0); + r0 = (s.arg0).fields["priority"] = (0); + s.tmp_0 = r0 = s.arg3; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = globals.defaultFactory___792860; + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + s.tmp_2 = particles_ParticleSource_setFactory__P792859_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 1147; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + r0 = pxsim_Array__push(s.sources___802630, s.arg0); + s.tmp_0 = particles_ParticleSource_enabled__P792853_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = true; + s.callLocIdx = 1148; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_constructor__P792845.info = {"start":2307,"length":899,"line":87,"column":8,"endLine":110,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["this","anchor","particlesPerSecond","factory"]} + +function particles_ParticleSource_constructor__P792845_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_constructor__P792845, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + sources___802630: undefined, + removedSource___802639: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function particles_sortSources__P794954(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = helpers_arraySort__P789793_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = particles_sortSources_inline__P802837; + s.callLocIdx = 1186; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_sortSources__P794954.info = {"start":10026,"length":129,"line":332,"column":4,"endLine":334,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"sortSources","argumentNames":["sources"]} + +function particles_sortSources__P794954_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_sortSources__P794954, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_sortSources_inline__P802837(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["priority"]; + s.tmp_1 = r0; + r0 = s.arg1.fields["priority"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["id"]; + s.tmp_3 = r0; + r0 = s.arg1.fields["id"]; + s.tmp_4 = r0; + r0 = (s.tmp_3 - s.tmp_4); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = s.tmp_5; + return leave(s, r0) + default: oops() +} } } +particles_sortSources_inline__P802837.info = {"start":10097,"length":50,"line":333,"column":21,"endLine":333,"endColumn":71,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["a","b"]} + +function particles_sortSources_inline__P802837_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_sortSources_inline__P802837, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_init__P794951(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___802876 = undefined; + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 1176; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.scene___802876 = (r0); + r0 = s.scene___802876.fields["particleSources"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_1 = r0 = s.scene___802876; + r0 = pxsim_Array__mk(); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["particleSources"] = (s.tmp_2); + r0 = pxsim.control.millis(); + globals.lastUpdate___794946 = (r0); + s.tmp_0 = game_onUpdate__P792712_mk(s); + s.tmp_0.arg0 = particles_updateParticles__P794952; + s.callLocIdx = 1177; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = game_onUpdateInterval__P792713_mk(s); + s.tmp_0.arg0 = 250; + s.tmp_0.arg1 = particles_pruneParticles__P794953; + s.callLocIdx = 1178; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_init__P794951.info = {"start":9236,"length":276,"line":304,"column":4,"endLine":311,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"init","argumentNames":[]} + +function particles_init__P794951_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_init__P794951, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + scene___802876: undefined, +} } + + + + + +function particles_updateParticles__P794952(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sources___802918 = undefined; + s.time___802925 = undefined; + s.dt___802928 = undefined; + s.i___802934 = undefined; + s.tmp_0 = particles_particleSources__P794957_mk(s); + s.callLocIdx = 1179; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.sources___802918 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___802918); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 5; continue; } + case 1: + case 2: + s.tmp_2 = particles_sortSources__P794954_mk(s); + s.tmp_2.arg0 = s.sources___802918; + s.callLocIdx = 1180; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = pxsim.control.millis(); + s.time___802925 = (r0); + r0 = (s.time___802925 - globals.lastUpdate___794946); + s.dt___802928 = (r0); + globals.lastUpdate___794946 = (s.time___802925); + s.i___802934 = (0); + case 3: + s.tmp_1 = r0 = s.i___802934; + r0 = pxsim_Array__length(s.sources___802918); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_3 = particles_ParticleSource__update__P792847_mk(s); + r0 = pxsim_Array__getAt(s.sources___802918, s.i___802934); + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.dt___802928; + s.callLocIdx = 1181; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + r0 = (s.i___802934 + 1); + s.i___802934 = (r0); + { step = 3; continue; } + case 4: + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_updateParticles__P794952.info = {"start":9518,"length":340,"line":313,"column":4,"endLine":325,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticles","argumentNames":[]} + +function particles_updateParticles__P794952_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_updateParticles__P794952, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + sources___802918: undefined, + time___802925: undefined, + dt___802928: undefined, + i___802934: undefined, +} } + + + + + +function particles_ParticleSource__update__P792847(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.p___802997 = undefined; + s.current___803016 = undefined; + s.fixedDt___803024 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["timer"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["timer"] = (s.tmp_1); + r0 = s.arg0.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_2 = r0 = s.arg0; + r0 = s.tmp_2.fields["lifespan"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.arg1); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3); + r0 = s.arg0.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (s.arg0).fields["lifespan"] = (undefined); + s.tmp_0 = particles_ParticleSource_destroy__P792854_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1152; s.pc = 28; return s.tmp_0; + case 28: + r0 = s.retval; + case 1: + case 2: + { step = 10; continue; } + case 3: + r0 = s.arg0.fields["anchor"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 4; continue; } + r0 = s.tmp_0; + { step = 5; continue; } + case 4: + s.tmp_2 = if_flags_1_mk(s); + r0 = s.arg0.fields["anchor"]; + s.tmp_2.arg0 = r0; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "flags"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["flags"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["flags"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 1153; s.pc = 29; return s.tmp_2; } + } + case 29: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + case 5: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (r0) { step = 6; continue; } + r0 = s.tmp_3; + { step = 7; continue; } + case 6: + s.tmp_5 = if_flags_1_mk(s); + r0 = s.arg0.fields["anchor"]; + s.tmp_5.arg0 = r0; + if (!s.tmp_5.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "flags"); + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["flags"]; + if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["flags"]; } + else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); } + else { s.callLocIdx = 1154; s.pc = 30; return s.tmp_5; } + } + case 30: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 & 2); + case 7: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 8; continue; } + r0 = (s.arg0).fields["lifespan"] = (750); + case 8: + case 9: + case 10: + case 11: + r0 = s.arg0.fields["timer"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 12; continue; } + r0 = s.tmp_0; + { step = 13; continue; } + case 12: + s.tmp_2 = particles_ParticleSource_enabled__P792852_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1155; s.pc = 31; return s.tmp_2; + case 31: + r0 = s.retval; + case 13: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 16; continue; } + s.tmp_4 = r0 = s.arg0; + r0 = s.tmp_4.fields["timer"]; + s.tmp_6 = r0; + r0 = s.arg0.fields["period"]; + s.tmp_7 = r0; + r0 = (s.tmp_6 + s.tmp_7); + s.tmp_5 = r0; + r0 = (s.tmp_4).fields["timer"] = (s.tmp_5); + s.tmp_0 = particles_ParticleFactory__C792876_v0_2_mk(s); + r0 = s.arg0.fields["_factory"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["anchor"]; + s.tmp_0.arg1 = r0; + if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C792876_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.createParticle; + s.pc = 32; return s.tmp_0; + case 32: + r0 = s.retval; + s.p___802997 = (r0); + r0 = pxsim_numops_toBoolDecr(s.p___802997); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + { step = 11; continue; } + case 14: + case 15: + r0 = s.arg0.fields["head"]; + s.tmp_2 = r0; + r0 = (s.p___802997).fields["next"] = (s.tmp_2); + r0 = (s.arg0).fields["head"] = (s.p___802997); + { step = 11; continue; } + case 16: + r0 = s.arg0.fields["head"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 17; continue; } + { step = 27; continue; } + case 17: + case 18: + r0 = s.arg0.fields["head"]; + s.current___803016 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["_dt"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_dt"] = (s.tmp_1); + r0 = s.arg0.fields["_dt"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_1 = r0; + r0 = (s.tmp_1 | 0); + s.fixedDt___803024 = (r0); + r0 = pxsim_numops_toBoolDecr(s.fixedDt___803024); + if (!r0) { step = 23; continue; } + case 19: + r0 = s.current___803016.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + s.tmp_2 = r0 = s.current___803016; + r0 = s.tmp_2.fields["lifespan"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.arg1); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3); + s.tmp_0 = particles_ParticleSource__C792840_v4_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.current___803016; + s.tmp_0.arg2 = s.fixedDt___803024; + if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C792840_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.updateParticle; + s.pc = 33; return s.tmp_0; + case 33: + r0 = s.retval; + case 20: + case 21: + r0 = s.current___803016.fields["next"]; + s.tmp_0 = r0; + s.current___803016 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + { step = 19; continue; } + case 22: + r0 = (s.arg0).fields["_dt"] = (0); + { step = 26; continue; } + case 23: + case 24: + s.tmp_0 = r0 = s.current___803016; + r0 = s.tmp_0.fields["lifespan"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.arg1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1); + r0 = s.current___803016.fields["next"]; + s.tmp_0 = r0; + s.current___803016 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 25; continue; } + { step = 24; continue; } + case 25: + case 26: + case 27: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource__update__P792847.info = {"start":3694,"length":1400,"line":124,"column":8,"endLine":164,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"_update","argumentNames":["this","dt"]} + +function particles_ParticleSource__update__P792847_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource__update__P792847, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + p___802997: undefined, + current___803016: undefined, + fixedDt___803024: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_updateParticle__P794948(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + r0 = (s.arg2 >> 10); + s.arg2 = (r0); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["vx"]; + s.tmp_2 = r0; + r0 = s.arg0.fields["ax"]; + s.tmp_4 = r0; + r0 = pxsim.Math_.imul(s.tmp_4, s.arg2); + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 8); + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["vx"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["vy"]; + s.tmp_2 = r0; + r0 = s.arg0.fields["ay"]; + s.tmp_4 = r0; + r0 = pxsim.Math_.imul(s.tmp_4, s.arg2); + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 8); + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["vy"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["_x"]; + s.tmp_2 = r0; + r0 = s.arg1.fields["vx"]; + s.tmp_4 = r0; + r0 = pxsim.Math_.imul(s.tmp_4, s.arg2); + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 8); + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["_y"]; + s.tmp_2 = r0; + r0 = s.arg1.fields["vy"]; + s.tmp_4 = r0; + r0 = pxsim.Math_.imul(s.tmp_4, s.arg2); + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 8); + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_updateParticle__P794948.info = {"start":8248,"length":357,"line":277,"column":8,"endLine":285,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticle","argumentNames":["this","p","fixedDt"]} + +function particles_ParticleSource_updateParticle__P794948_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_updateParticle__P794948, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Fx_rightShift__P789859(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 >> s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_rightShift__P789859.info = {"start":2266,"length":108,"line":71,"column":4,"endLine":73,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"rightShift","argumentNames":["a","n"]} + +function Fx_rightShift__P789859_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_rightShift__P789859, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleFactory_createParticle__P792878(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.p___803107 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleFactory__C792876_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C792821_VT); + s.p___803107 = (r0); + s.tmp_0 = r0 = s.p___803107; + s.tmp_3 = if_x_1_mk(s); + s.tmp_3.arg0 = s.arg1; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "x"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["x"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["x"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 1206; s.pc = 1; return s.tmp_3; } + } + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.p___803107; + s.tmp_3 = if_y_1_mk(s); + s.tmp_3.arg0 = s.arg1; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "y"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["y"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["y"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 1208; s.pc = 2; return s.tmp_3; } + } + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); + r0 = (s.p___803107).fields["vx"] = (0); + r0 = (s.p___803107).fields["vy"] = (0); + r0 = (s.p___803107).fields["lifespan"] = (500); + r0 = s.p___803107; + return leave(s, r0) + default: oops() +} } } +particles_ParticleFactory_createParticle__P792878.info = {"start":1822,"length":282,"line":67,"column":8,"endLine":77,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]} + +function particles_ParticleFactory_createParticle__P792878_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_createParticle__P792878, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + p___803107: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_onUpdateInterval__P792713(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.timer___802898 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = (s.arg0 < 0); + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + { step = 5; continue; } + case 3: + case 4: + r0 = pxsim_pxtrt.mklocRef(); + s.timer___802898 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.timer___802898, 0); + r0 = pxsim_pxtcore_mkAction(3, game_onUpdateInterval_inline__P802902); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___802898); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1); + s.tmp_1 = control_EventContext_registerFrameHandler__P790091_mk(s); + s.tmp_2 = game_eventContext__P792691_mk(s); + s.callLocIdx = 963; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 19; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 967; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_onUpdateInterval__P792713.info = {"start":813,"length":401,"line":26,"column":4,"endLine":36,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdateInterval","argumentNames":["period","a"]} + +function game_onUpdateInterval__P792713_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onUpdateInterval__P792713, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + timer___802898: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_onUpdateInterval_inline__P802902(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.time___802903 = undefined; + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 964; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_millis"]; + s.time___802903 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.time___802903); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = r0 = s.caps[0]; + r0 = (s.time___802903 + s.caps[1]); + s.tmp_3 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3); + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.caps[2]; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 966; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_onUpdateInterval_inline__P802902.info = {"start":1027,"length":179,"line":29,"column":81,"endLine":35,"endColumn":9,"fileName":"pxt_modules/game/gameutil.ts","functionName":"inline","argumentNames":[]} + +function game_onUpdateInterval_inline__P802902_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onUpdateInterval_inline__P802902, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + time___802903: undefined, +} } + + + + + +function scene_Scene_millis__P792558(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C792532_VT)) failedCast(r0); + r0 = s.arg0.fields["_millis"]; + return leave(s, r0) + default: oops() +} } } +scene_Scene_millis__P792558.info = {"start":7147,"length":61,"line":196,"column":8,"endLine":198,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"millis","argumentNames":["this"]} + +function scene_Scene_millis__P792558_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_millis__P792558, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function game_onUpdate__P792712(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_2 = control_EventContext_registerFrameHandler__P790091_mk(s); + s.tmp_3 = game_eventContext__P792691_mk(s); + s.callLocIdx = 961; s.pc = 5; return s.tmp_3; + case 5: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 20; + s.tmp_2.arg2 = s.arg0; + s.callLocIdx = 962; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_onUpdate__P792712.info = {"start":327,"length":153,"line":13,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdate","argumentNames":["a"]} + +function game_onUpdate__P792712_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onUpdate__P792712, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function MAX_SOURCES_inline__P802852(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sz___802853 = undefined; + s.tmp_0 = control_ramSize__P790034_mk(s); + s.callLocIdx = 42; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.sz___802853 = (r0); + r0 = (s.sz___802853 <= 102400); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 8; + { step = 5; continue; } + { step = 4; continue; } + case 1: + r0 = (s.sz___802853 <= 204800); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = 16; + { step = 5; continue; } + { step = 3; continue; } + case 2: + r0 = 50; + { step = 5; continue; } + case 3: + case 4: + r0 = undefined; + case 5: + return leave(s, r0) + default: oops() +} } } +MAX_SOURCES_inline__P802852.info = {"start":240,"length":217,"line":9,"column":25,"endLine":18,"endColumn":5,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":[]} + +function MAX_SOURCES_inline__P802852_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: MAX_SOURCES_inline__P802852, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + sz___802853: undefined, +} } + + + + + +function control_ramSize__P790034(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_pxtcore.getConfig(205, 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = 33554432; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +control_ramSize__P790034.info = {"start":4847,"length":100,"line":165,"column":4,"endLine":167,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"ramSize","argumentNames":[]} + +function control_ramSize__P790034_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_ramSize__P790034, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function control__ramSize__P794070(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = 33554432; + return leave(s, r0) + default: oops() +} } } +control__ramSize__P794070.info = {"start":4727,"length":60,"line":160,"column":4,"endLine":162,"endColumn":5,"fileName":"pxt_modules/base/control.ts","functionName":"_ramSize","argumentNames":[]} + +function control__ramSize__P794070_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control__ramSize__P794070, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function particles_SprayFactory_constructor__P792881(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_SprayFactory__C792880_VT)) failedCast(r0); + r0 = undefined; + s.tmp_0 = particles_initTrig__P794972_mk(s); + s.callLocIdx = 1213; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = particles_SprayFactory_setSpeed__P792884_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1214; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = particles_SprayFactory_setDirection__P792885_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.tmp_0.arg2 = s.arg3; + s.callLocIdx = 1215; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_constructor__P792881.info = {"start":2623,"length":218,"line":98,"column":8,"endLine":103,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","speed","centerDegrees","arcDegrees"]} + +function particles_SprayFactory_constructor__P792881_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_constructor__P792881, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function particles_initTrig__P794972(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.cachedSin___794958); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = particles_cacheSin__P792874_mk(s); + s.tmp_2.arg0 = 100; + s.callLocIdx = 1201; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + globals.cachedSin___794958 = (r0); + s.tmp_0 = particles_cacheCos__P792875_mk(s); + s.tmp_0.arg0 = 100; + s.callLocIdx = 1202; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + globals.cachedCos___794959 = (r0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_initTrig__P794972.info = {"start":291,"length":155,"line":11,"column":4,"endLine":16,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"initTrig","argumentNames":[]} + +function particles_initTrig__P794972_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_initTrig__P794972, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function particles_cacheCos__P792875(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.cos___802733 = undefined; + s.anglePerSlice___802735 = undefined; + s.i___802741 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.cos___802733 = (r0); + r0 = (6.283185307179586 / s.arg0); + s.anglePerSlice___802735 = (r0); + s.i___802741 = (0); + case 1: + r0 = (s.i___802741 < s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.cos___802733; + r0 = (s.i___802741 * s.anglePerSlice___802735); + s.tmp_4 = r0; + r0 = pxsim.Math_.cos(s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___802741 + 1); + s.i___802741 = (r0); + { step = 1; continue; } + case 2: + r0 = s.cos___802733; + return leave(s, r0) + default: oops() +} } } +particles_cacheCos__P792875.info = {"start":1005,"length":263,"line":35,"column":4,"endLine":42,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheCos","argumentNames":["slices"]} + +function particles_cacheCos__P792875_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_cacheCos__P792875, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + cos___802733: undefined, + anglePerSlice___802735: undefined, + i___802741: undefined, + arg0: undefined, +} } + + + + + +function particles_cacheSin__P792874(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.sin___802759 = undefined; + s.anglePerSlice___802761 = undefined; + s.i___802767 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.sin___802759 = (r0); + r0 = (6.283185307179586 / s.arg0); + s.anglePerSlice___802761 = (r0); + s.i___802767 = (0); + case 1: + r0 = (s.i___802767 < s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.sin___802759; + r0 = (s.i___802767 * s.anglePerSlice___802761); + s.tmp_4 = r0; + r0 = pxsim.Math_.sin(s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___802767 + 1); + s.i___802767 = (r0); + { step = 1; continue; } + case 2: + r0 = s.sin___802759; + return leave(s, r0) + default: oops() +} } } +particles_cacheSin__P792874.info = {"start":594,"length":263,"line":22,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"cacheSin","argumentNames":["slices"]} + +function particles_cacheSin__P792874_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_cacheSin__P792874, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + sin___802759: undefined, + anglePerSlice___802761: undefined, + i___802767: undefined, + arg0: undefined, +} } + + + + + +function particles_SprayFactory_setDirection__P792885(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_SprayFactory__C792880_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_4 = particles_toRadians__P794977_mk(s); + s.tmp_5 = r0 = s.arg1; + r0 = (s.arg2 >> 1); + s.tmp_6 = r0; + r0 = (s.tmp_5 - s.tmp_6); + s.tmp_4.arg0 = r0; + s.callLocIdx = 1223; s.pc = 1; return s.tmp_4; + case 1: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / globals.angleSlice___794971); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["minAngle"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_4 = particles_toRadians__P794977_mk(s); + s.tmp_4.arg0 = s.arg2; + s.callLocIdx = 1224; s.pc = 2; return s.tmp_4; + case 2: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / globals.angleSlice___794971); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["spread"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_setDirection__P792885.info = {"start":3424,"length":228,"line":123,"column":8,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"setDirection","argumentNames":["this","centerDegrees","arcDegrees"]} + +function particles_SprayFactory_setDirection__P792885_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_setDirection__P792885, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function particles_toRadians__P794977(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_3 = Math_abs__P789816_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 1205; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 % 360); + s.tmp_1 = r0; + r0 = (360 - s.tmp_1); + s.arg0 = (r0); + { step = 2; continue; } + case 1: + r0 = (s.arg0 % 360); + s.arg0 = (r0); + case 2: + r0 = (s.arg0 * 0.017453292519943295); + return leave(s, r0) + default: oops() +} } } +particles_toRadians__P794977.info = {"start":1307,"length":206,"line":45,"column":4,"endLine":52,"endColumn":5,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"toRadians","argumentNames":["degrees"]} + +function particles_toRadians__P794977_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_toRadians__P794977, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleFactory_constructor__P792877(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleFactory__C792876_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleFactory_constructor__P792877.info = {"start":1617,"length":78,"line":59,"column":8,"endLine":61,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this"]} + +function particles_ParticleFactory_constructor__P792877_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_constructor__P792877, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function particles_ParticleSource_setFactory__P792859(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 1; continue; } + r0 = (s.arg0).fields["_factory"] = (s.arg1); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_setFactory__P792859.info = {"start":8124,"length":114,"line":272,"column":8,"endLine":275,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setFactory","argumentNames":["this","factory"]} + +function particles_ParticleSource_setFactory__P792859_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setFactory__P792859, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_setRate__P792857(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (1000 / s.arg1); + s.tmp_2 = r0; + r0 = pxsim.Math_.ceil(s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["period"] = (s.tmp_1); + r0 = (s.arg0).fields["timer"] = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_setRate__P792857.info = {"start":7802,"length":139,"line":259,"column":8,"endLine":262,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setRate","argumentNames":["this","particlesPerSecond"]} + +function particles_ParticleSource_setRate__P792857_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setRate__P792857, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_setAnchor__P792856(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + r0 = (s.arg0).fields["anchor"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_setAnchor__P792856.info = {"start":7594,"length":79,"line":251,"column":8,"endLine":253,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setAnchor","argumentNames":["this","anchor"]} + +function particles_ParticleSource_setAnchor__P792856_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setAnchor__P792856, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_destroy__P792854(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleSource_enabled__P792853_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = false; + s.callLocIdx = 1162; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["pFlags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | 2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["pFlags"] = (s.tmp_1); + s.tmp_0 = particles_ParticleSource__prune__P792848_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1163; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_destroy__P792854.info = {"start":7094,"length":240,"line":233,"column":8,"endLine":238,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"destroy","argumentNames":["this"]} + +function particles_ParticleSource_destroy__P792854_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_destroy__P792854, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleSource_setAcceleration__P792849(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["ax"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg2 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["ay"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_setAcceleration__P792849.info = {"start":6026,"length":113,"line":194,"column":8,"endLine":197,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"setAcceleration","argumentNames":["this","ax","ay"]} + +function particles_ParticleSource_setAcceleration__P792849_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setAcceleration__P792849, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_arrayShift__P789790(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_Array_.removeAt(s.arg0, 0); + return leave(s, r0) + default: oops() +} } } +helpers_arrayShift__P789790.info = {"start":4045,"length":82,"line":153,"column":4,"endLine":155,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayShift","argumentNames":["arr"]} + +function helpers_arrayShift__P789790_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayShift__P789790, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function particles_SprayFactory_setSpeed__P792884(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_SprayFactory__C792880_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = (s.arg1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["speed"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_setSpeed__P792884.info = {"start":3322,"length":92,"line":119,"column":8,"endLine":121,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"setSpeed","argumentNames":["this","pixelsPerSecond"]} + +function particles_SprayFactory_setSpeed__P792884_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_setSpeed__P792884, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ConfettiFactory_constructor__P792908(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.confetti___803146 = undefined; + s.i___803162 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ConfettiFactory__C792907_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim.image.ofBuffer(_hex803149); + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + r0 = pxsim.image.ofBuffer(_hex803151); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_2); + r0 = pxsim.image.ofBuffer(_hex803153); + s.tmp_3 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_3); + r0 = pxsim.image.ofBuffer(_hex803155); + s.tmp_4 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_4); + r0 = pxsim.image.ofBuffer(_hex803157); + s.tmp_5 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_5); + s.confetti___803146 = (s.tmp_0); + s.tmp_0 = particles_ShapeFactory_constructor__P792903_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + r0 = pxsim_Array__getAt(s.confetti___803146, 0); + s.tmp_0.arg3 = r0; + s.callLocIdx = 1247; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.i___803162 = (1); + case 1: + s.tmp_1 = r0 = s.i___803162; + r0 = pxsim_Array__length(s.confetti___803146); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_3 = particles_ShapeFactory_addShape__P792904_mk(s); + s.tmp_3.arg0 = s.arg0; + r0 = pxsim_Array__getAt(s.confetti___803146, s.i___803162); + s.tmp_3.arg1 = r0; + s.callLocIdx = 1248; s.pc = 4; return s.tmp_3; + case 4: + r0 = s.retval; + r0 = (s.i___803162 + 1); + s.i___803162 = (r0); + { step = 1; continue; } + case 2: + r0 = (s.arg0).fields["minLifespan"] = (1000); + r0 = (s.arg0).fields["maxLifespan"] = (4500); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ConfettiFactory_constructor__P792908.info = {"start":7755,"length":706,"line":247,"column":8,"endLine":274,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange"]} + +function particles_ConfettiFactory_constructor__P792908_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ConfettiFactory_constructor__P792908, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + confetti___803146: undefined, + i___803162: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + +const _hex803149 = pxsim.BufferMethods.createBufferFromHex("87040100010000000f000000") +const _hex803151 = pxsim.BufferMethods.createBufferFromHex("8704010002000000ff000000") +const _hex803153 = pxsim.BufferMethods.createBufferFromHex("87040200010000000f0000000f000000") +const _hex803155 = pxsim.BufferMethods.createBufferFromHex("8704020002000000ff0000000f000000") +const _hex803157 = pxsim.BufferMethods.createBufferFromHex("87040200020000000f000000ff000000") + + + + +function particles_ShapeFactory_addShape__P792904(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ShapeFactory__C792902_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["sources"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.arg1); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ShapeFactory_addShape__P792904.info = {"start":7079,"length":83,"line":225,"column":8,"endLine":227,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"addShape","argumentNames":["this","shape"]} + +function particles_ShapeFactory_addShape__P792904_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_addShape__P792904, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ShapeFactory_constructor__P792903(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ShapeFactory__C792902_VT)) failedCast(r0); + s.tmp_0 = particles_AreaFactory_constructor__P792891_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = undefined; + s.tmp_0.arg4 = undefined; + s.callLocIdx = 1237; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.arg3); + r0 = (s.arg0).fields["sources"] = (s.tmp_0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.width(s.arg3); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["ox"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.height(s.arg3); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_4 = r0; + r0 = (s.tmp_4 | 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["oy"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ShapeFactory_constructor__P792903.info = {"start":6668,"length":285,"line":212,"column":8,"endLine":219,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange","source"]} + +function particles_ShapeFactory_constructor__P792903_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_constructor__P792903, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function particles_AreaFactory_constructor__P792891(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_AreaFactory__C792886_VT)) failedCast(r0); + s.tmp_0 = particles_SprayFactory_constructor__P792881_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 40; + s.tmp_0.arg2 = 0; + s.tmp_0.arg3 = 90; + s.callLocIdx = 1225; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = (s.arg0).fields["xRange"] = (s.arg1); + r0 = (s.arg0).fields["yRange"] = (s.arg2); + r0 = pxsim_numops_toBoolDecr(s.arg3); + if (!r0) { step = 1; continue; } + r0 = s.arg3; + { step = 2; continue; } + case 1: + r0 = 150; + case 2: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = (s.arg0).fields["minLifespan"] = (s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.arg4); + if (!r0) { step = 3; continue; } + r0 = s.arg4; + { step = 4; continue; } + case 3: + r0 = 850; + case 4: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = (s.arg0).fields["maxLifespan"] = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C792748_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P792750_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 1226; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + r0 = (s.arg0).fields["galois"] = (s.tmp_0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_AreaFactory_constructor__P792891.info = {"start":3950,"length":374,"line":139,"column":8,"endLine":146,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","xRange","yRange","minLifespan","maxLifespan"]} + +function particles_AreaFactory_constructor__P792891_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_AreaFactory_constructor__P792891, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function effects_ScreenEffect_constructor__P792956(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, effects_ScreenEffect__C792955_VT)) failedCast(r0); + s.tmp_0 = effects_ParticleEffect_constructor__P792952_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg3; + s.tmp_0.arg3 = s.arg4; + s.callLocIdx = 1254; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["sceneDefaultRate"] = (s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ScreenEffect_constructor__P792956.info = {"start":2911,"length":332,"line":81,"column":8,"endLine":85,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this","anchorDefault","sceneDefault","defaultLifespan","sourceFactory"]} + +function effects_ScreenEffect_constructor__P792956_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ScreenEffect_constructor__P792956, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function effects_ParticleEffect_constructor__P792952(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, effects_ParticleEffect__C792951_VT)) failedCast(r0); + r0 = (s.arg0).fields["sourceFactory"] = (s.arg3); + r0 = (s.arg0).fields["defaultRate"] = (s.arg1); + r0 = (s.arg0).fields["defaultLifespan"] = (s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ParticleEffect_constructor__P792952.info = {"start":384,"length":364,"line":13,"column":8,"endLine":18,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this","defaultParticlesPerSecond","defaultLifespan","sourceFactory"]} + +function effects_ParticleEffect_constructor__P792952_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ParticleEffect_constructor__P792952, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function music_melodyPlayable__P791612(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayable__C791605_VT); + s.tmp_0 = r0; + s.tmp_1 = music_MelodyPlayable_constructor__P791606_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 73; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +music_melodyPlayable__P791612.info = {"start":3172,"length":107,"line":121,"column":4,"endLine":123,"endColumn":5,"fileName":"pxt_modules/mixer/playable.ts","functionName":"melodyPlayable","argumentNames":["melody"]} + +function music_melodyPlayable__P791612_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_melodyPlayable__P791612, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function music_MelodyPlayable_constructor__P791606(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, music_MelodyPlayable__C791605_VT)) failedCast(r0); + r0 = (s.arg0).fields["melody"] = (s.arg1); + r0 = undefined; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_MelodyPlayable_constructor__P791606.info = {"start":1531,"length":67,"line":68,"column":8,"endLine":70,"endColumn":9,"fileName":"pxt_modules/mixer/playable.ts","functionName":"inline","argumentNames":["this","melody"]} + +function music_MelodyPlayable_constructor__P791606_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_MelodyPlayable_constructor__P791606, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function music_Playable_constructor__P791602(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, music_Playable__C791600_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Playable_constructor__P791602.info = {"start":1086,"length":26,"line":47,"column":8,"endLine":49,"endColumn":9,"fileName":"pxt_modules/mixer/playable.ts","functionName":"inline","argumentNames":["this"]} + +function music_Playable_constructor__P791602_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Playable_constructor__P791602, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function music_Melody_constructor__P791318(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, music_Melody__C791315_VT)) failedCast(r0); + r0 = (s.arg0).fields["_text"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_constructor__P791318.info = {"start":6430,"length":67,"line":203,"column":8,"endLine":205,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","text"]} + +function music_Melody_constructor__P791318_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_constructor__P791318, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx8__P789837(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 * 256); + s.tmp_0 = r0; + r0 = (s.tmp_0 | 0); + return leave(s, r0) + default: oops() +} } } +Fx8__P789837.info = {"start":42,"length":68,"line":4,"column":0,"endLine":6,"endColumn":1,"fileName":"pxt_modules/base/fixed.ts","functionName":"Fx8","argumentNames":["v"]} + +function Fx8__P789837_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx8__P789837, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function SpriteKind_create__P792168(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = (globals.nextKind___794426 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + globals.nextKind___794426 = (1000); + case 1: + case 2: + s.tmp_0 = r0 = globals.nextKind___794426; + r0 = (s.tmp_0 + 1); + globals.nextKind___794426 = (r0); + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +SpriteKind_create__P792168.info = {"start":783,"length":112,"line":26,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/game/spritekind.ts","functionName":"create","argumentNames":[]} + +function SpriteKind_create__P792168_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: SpriteKind_create__P792168, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_Button_constructor__P791884(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = (s.arg0).fields["id"] = (s.arg1); + r0 = (s.arg0).fields["_pressed"] = (false); + r0 = (s.arg0).fields["repeatDelay"] = (undefined); + r0 = (s.arg0).fields["repeatInterval"] = (undefined); + r0 = (s.arg0).fields["_repeatCount"] = (0); + r0 = (s.arg1 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkAction(1, controller_Button_inline__P803299); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + r0 = s.arg0.fields["id"]; + s.tmp_2 = r0; + r0 = pxsim.control.internalOnEvent(2050, s.tmp_2, s.tmp_1, 16); + r0 = pxsim_pxtcore_mkAction(1, controller_Button_inline__P803306); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = s.arg0.fields["id"]; + s.tmp_1 = r0; + r0 = pxsim.control.internalOnEvent(2051, s.tmp_1, s.tmp_0, 16); + r0 = (s.arg2 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = undefined; + case 1: + case 2: + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_constructor__P791884.info = {"start":2004,"length":864,"line":77,"column":8,"endLine":94,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":["this","id","configKey"]} + +function controller_Button_constructor__P791884_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_constructor__P791884, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function controller_Button_inline__P803299(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = controller_Button_setPressed__P791891_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = false; + s.callLocIdx = 199; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_inline__P803299.info = {"start":2627,"length":28,"line":88,"column":66,"endLine":88,"endColumn":94,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} + +function controller_Button_inline__P803299_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_inline__P803299, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_Button_inline__P803306(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = controller_Button_setPressed__P791891_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = true; + s.callLocIdx = 200; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_inline__P803306.info = {"start":2729,"length":27,"line":89,"column":68,"endLine":89,"endColumn":95,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"inline","argumentNames":[]} + +function controller_Button_inline__P803306_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_inline__P803306, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_setupButton__P794409(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_setupButton__P794409.info = {"start":861,"length":93,"line":39,"column":4,"endLine":41,"endColumn":6,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"setupButton","argumentNames":["buttonId","key"]} + +function controller_setupButton__P794409_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_setupButton__P794409, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_setPressed__P791891(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 != s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = power_poke__P791618_mk(s); + s.callLocIdx = 203; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = s.arg0.fields["_owner"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = controller_Controller_connected__P791845_mk(s); + r0 = s.arg0.fields["_owner"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = true; + s.callLocIdx = 204; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + case 1: + case 2: + r0 = (s.arg0).fields["_pressed"] = (s.arg1); + r0 = s.arg0.fields["_pressed"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = (s.arg0).fields["_pressedElasped"] = (0); + s.tmp_0 = controller_Button_raiseButtonDown__P794393_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 205; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + { step = 4; continue; } + case 3: + r0 = (s.arg0).fields["_repeatCount"] = (0); + s.tmp_0 = controller_Button_raiseButtonUp__P794392_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 206; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + case 4: + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_setPressed__P791891.info = {"start":6774,"length":507,"line":201,"column":8,"endLine":215,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"setPressed","argumentNames":["this","pressed"]} + +function controller_Button_setPressed__P791891_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_setPressed__P791891, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_raiseButtonDown__P794393(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___794403); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2049, s.tmp_0); + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2053, s.tmp_0); + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_raiseButtonDown__P794393.info = {"start":3088,"length":205,"line":103,"column":8,"endLine":108,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonDown","argumentNames":["this"]} + +function controller_Button_raiseButtonDown__P794393_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_raiseButtonDown__P794393, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Button_raiseButtonUp__P794392(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___794403); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2048, s.tmp_0); + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["id"]; + s.tmp_0 = r0; + r0 = pxsim.control.raiseEvent(2052, s.tmp_0); + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_raiseButtonUp__P794392.info = {"start":2878,"length":200,"line":96,"column":8,"endLine":101,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"raiseButtonUp","argumentNames":["this"]} + +function controller_Button_raiseButtonUp__P794392_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_raiseButtonUp__P794392, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_addScenePushHandler__P792707(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___794609); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals._scenePushHandlers___794609 = (r0); + case 1: + case 2: + r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___794609, s.arg0, undefined); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_Array__push(globals._scenePushHandlers___794609, s.arg0); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_addScenePushHandler__P792707.info = {"start":16044,"length":242,"line":479,"column":4,"endLine":483,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePushHandler","argumentNames":["handler"]} + +function game_addScenePushHandler__P792707_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_addScenePushHandler__P792707, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller_id__P791830(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["_id"]; + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_id__P791830.info = {"start":3444,"length":49,"line":109,"column":8,"endLine":111,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"id","argumentNames":["this"]} +controller_Controller_id__P791830.isGetter = true; + +function controller_Controller_id__P791830_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_id__P791830, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_Controller_connected__P791844(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C791823_VT)) failedCast(r0); + r0 = s.arg0.fields["_connected"]; + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_connected__P791844.info = {"start":7723,"length":63,"line":250,"column":8,"endLine":252,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this"]} +controller_Controller_connected__P791844.isGetter = true; + +function controller_Controller_connected__P791844_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_connected__P791844, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function game_currentScene__P792688(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_0 = game_init__P794615_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 942; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals._scene___794607; + return leave(s, r0) + default: oops() +} } } +game_currentScene__P792688.info = {"start":4025,"length":90,"line":118,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"currentScene","argumentNames":[]} + +function game_currentScene__P792688_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_currentScene__P792688, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function game_addScenePopHandler__P792709(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___794610); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array__mk(); + globals._scenePopHandlers___794610 = (r0); + case 1: + case 2: + r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___794610, s.arg0, undefined); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_Array__push(globals._scenePopHandlers___794610, s.arg0); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_addScenePopHandler__P792709.info = {"start":17045,"length":237,"line":503,"column":4,"endLine":507,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePopHandler","argumentNames":["handler"]} + +function game_addScenePopHandler__P792709_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_addScenePopHandler__P792709, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function settings_initScopes__P794297(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.rn___803401 = undefined; + s.tmp_1 = settings_runNumber__P791747_mk(s); + s.callLocIdx = 119; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + s.rn___803401 = (r0); + s.tmp_0 = settings_writeNumber__P791752_mk(s); + s.tmp_0.arg0 = globals.RUN_KEY___794285; + s.tmp_0.arg1 = s.rn___803401; + s.callLocIdx = 120; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = pxsim.control.deviceSerialNumber(); + s.tmp_1 = r0; + r0 = (s.tmp_1 & 2147483647); + s.tmp_0 = r0; + r0 = pxsim_pxtcore.seedAddRandom(s.tmp_0); + r0 = pxsim_pxtcore.seedAddRandom(s.rn___803401); + s.tmp_0 = settings_setScope__P794296_mk(s); + r0 = pxsim_pxtcore.programName(); + s.tmp_0.arg0 = r0; + s.callLocIdx = 121; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_initScopes__P794297.info = {"start":1104,"length":230,"line":41,"column":4,"endLine":49,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"initScopes","argumentNames":[]} + +function settings_initScopes__P794297_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_initScopes__P794297, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + rn___803401: undefined, +} } + + + + + +function settings_setScope__P794296(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.currScope___803430 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_String_.length(s.arg0); + s.tmp_2 = r0; + r0 = (s.tmp_2 > 100); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtrt.panic(922); + case 3: + case 4: + s.tmp_0 = settings_readString__P791755_mk(s); + s.tmp_0.arg0 = globals.SCOPE_KEY___794286; + s.callLocIdx = 117; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.currScope___803430 = (r0); + r0 = (s.currScope___803430 != s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = pxsim.settings._userClean(); + s.tmp_0 = settings_writeString__P791750_mk(s); + s.tmp_0.arg0 = globals.SCOPE_KEY___794286; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 118; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_setScope__P794296.info = {"start":826,"length":272,"line":31,"column":4,"endLine":39,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"setScope","argumentNames":["scope"]} + +function settings_setScope__P794296_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_setScope__P794296, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + currScope___803430: undefined, + arg0: undefined, +} } + + + + + +function settings_readString__P791755(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.buf___803451 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim.settings._get(s.arg0); + s.buf___803451 = (r0); + r0 = pxsim_numops_toBoolDecr(s.buf___803451); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = undefined; + { step = 3; continue; } + { step = 2; continue; } + case 1: + r0 = pxsim.BufferMethods.toString(s.buf___803451); + { step = 3; continue; } + case 2: + r0 = undefined; + case 3: + return leave(s, r0) + default: oops() +} } } +settings_readString__P791755.info = {"start":2827,"length":177,"line":110,"column":4,"endLine":116,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"readString","argumentNames":["key"]} + +function settings_readString__P791755_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_readString__P791755, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + buf___803451: undefined, + arg0: undefined, +} } + + + + + +function settings_writeString__P791750(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = settings_writeBuffer__P791749_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = pxsim.control.createBufferFromUTF8(s.arg1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 123; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_writeString__P791750.info = {"start":1895,"length":125,"line":75,"column":4,"endLine":77,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"writeString","argumentNames":["key","value"]} + +function settings_writeString__P791750_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_writeString__P791750, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function settings_runNumber__P791747(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tmp_1 = settings_readNumber__P791757_mk(s); + s.tmp_1.arg0 = globals.RUN_KEY___794285; + s.callLocIdx = 116; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = s.tmp_2; + return leave(s, r0) + default: oops() +} } } +settings_runNumber__P791747.info = {"start":745,"length":75,"line":27,"column":4,"endLine":29,"endColumn":5,"fileName":"pxt_modules/settings/settings.ts","functionName":"runNumber","argumentNames":[]} + +function settings_runNumber__P791747_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_runNumber__P791747, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function control___screen_setupUpdate__P791683(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + globals.__updated___794252 = (true); + globals.__update___794250 = (s.arg0); + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.arg0; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 110; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control___screen_setupUpdate__P791683.info = {"start":198,"length":125,"line":10,"column":4,"endLine":14,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"setupUpdate","argumentNames":["update"]} + +function control___screen_setupUpdate__P791683_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___screen_setupUpdate__P791683, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function _screen_internal_getScreenHeight__P791726(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore.getConfig(2103, s.arg0); + return leave(s, r0) + default: oops() +} } } +_screen_internal_getScreenHeight__P791726.info = {"start":960,"length":127,"line":28,"column":4,"endLine":30,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"getScreenHeight","argumentNames":["defl"]} + +function _screen_internal_getScreenHeight__P791726_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _screen_internal_getScreenHeight__P791726, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function _screen_internal_getScreenWidth__P791725(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore.getConfig(2102, s.arg0); + return leave(s, r0) + default: oops() +} } } +_screen_internal_getScreenWidth__P791725.info = {"start":810,"length":125,"line":23,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"getScreenWidth","argumentNames":["defl"]} + +function _screen_internal_getScreenWidth__P791725_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _screen_internal_getScreenWidth__P791725, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function control___screen_update__P791682(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = pxsim_numops_toBoolDecr(globals.__update___794250); + if (!r0) { step = 1; continue; } + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = globals.__update___794250; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 109; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + case 1: + case 2: + globals.__updated___794252 = (true); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control___screen_update__P791682.info = {"start":90,"length":102,"line":4,"column":4,"endLine":8,"endColumn":5,"fileName":"pxt_modules/screen/frame.ts","functionName":"update","argumentNames":[]} + +function control___screen_update__P791682_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___screen_update__P791682, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function pause__P790101(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + setupResume(s, 1); + pxsim.loops.pause(s.arg0); + checkResumeConsumed(); + return; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +pause__P790101.info = {"start":246,"length":57,"line":7,"column":0,"endLine":9,"endColumn":1,"fileName":"pxt_modules/base/pause.ts","functionName":"pause","argumentNames":["ms"]} + +function pause__P790101_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: pause__P790101, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function music_Melody_toString__P791324(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, music_Melody__C791315_VT)) failedCast(r0); + r0 = s.arg0.fields["_text"]; + return leave(s, r0) + default: oops() +} } } +music_Melody_toString__P791324.info = {"start":10223,"length":53,"line":318,"column":8,"endLine":320,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"toString","argumentNames":["this"]} + +function music_Melody_toString__P791324_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_toString__P791324, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function particles_ShapeFactory_createParticle__P792906(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.p___803489 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ShapeFactory__C792902_VT)) failedCast(r0); + s.tmp_0 = particles_AreaFactory_createParticle__P792892_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1245; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.p___803489 = (r0); + s.tmp_0 = r0 = s.p___803489; + s.tmp_2 = Math_FastRandom_randomRange__P792752_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 1; + s.tmp_2.arg2 = 14; + s.callLocIdx = 1246; s.pc = 2; return s.tmp_2; + case 2: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["color"] = (s.tmp_1); + r0 = s.p___803489; + return leave(s, r0) + default: oops() +} } } +particles_ShapeFactory_createParticle__P792906.info = {"start":7505,"length":178,"line":239,"column":8,"endLine":243,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]} + +function particles_ShapeFactory_createParticle__P792906_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_createParticle__P792906, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + p___803489: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_AreaFactory_createParticle__P792892(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.p___803501 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_AreaFactory__C792886_VT)) failedCast(r0); + s.tmp_0 = particles_SprayFactory_createParticle__P792882_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1227; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.p___803501 = (r0); + s.tmp_0 = r0 = s.p___803501; + s.tmp_2 = Math_FastRandom_randomRange__P792752_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_2.arg0 = r0; + r0 = s.arg0.fields["minLifespan"]; + s.tmp_2.arg1 = r0; + r0 = s.arg0.fields["maxLifespan"]; + s.tmp_2.arg2 = r0; + s.callLocIdx = 1228; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1); + s.tmp_0 = r0 = s.p___803501; + s.tmp_4 = Math_FastRandom_randomRange__P792752_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = 0; + r0 = s.arg0.fields["xRange"]; + s.tmp_4.arg2 = r0; + s.callLocIdx = 1229; s.pc = 5; return s.tmp_4; + case 5: + r0 = s.retval; + s.tmp_3 = r0; + r0 = s.arg0.fields["xRange"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 >> 1); + s.tmp_5 = r0; + r0 = (s.tmp_3 - s.tmp_5); + s.tmp_2 = r0; + r0 = s.p___803501.fields["_x"]; + s.tmp_7 = r0; + r0 = (s.tmp_2 << 8); + s.tmp_8 = r0; + r0 = (s.tmp_8 + s.tmp_7); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_1 = if_height_1_mk(s); + s.tmp_1.arg0 = s.arg1; + if (!s.tmp_1.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "height"); + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["height"]; + if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["height"]; } + else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); } + else { s.callLocIdx = 1232; s.pc = 6; return s.tmp_1; } + } + case 6: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_3 = if_height_1_mk(s); + s.tmp_3.arg0 = s.arg1; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "height"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["height"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["height"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 1233; s.pc = 7; return s.tmp_3; } + } + case 7: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + s.tmp_5 = r0 = s.p___803501; + s.tmp_9 = Math_FastRandom_randomRange__P792752_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_9.arg0 = r0; + s.tmp_9.arg1 = 0; + r0 = s.arg0.fields["yRange"]; + s.tmp_9.arg2 = r0; + s.callLocIdx = 1231; s.pc = 8; return s.tmp_9; + case 8: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 - s.tmp_4); + s.tmp_7 = r0; + r0 = s.p___803501.fields["_y"]; + s.tmp_10 = r0; + r0 = (s.tmp_7 << 8); + s.tmp_11 = r0; + r0 = (s.tmp_11 + s.tmp_10); + s.tmp_6 = r0; + r0 = (s.tmp_5).fields["_y"] = (s.tmp_6); + r0 = s.p___803501; + return leave(s, r0) + default: oops() +} } } +particles_AreaFactory_createParticle__P792892.info = {"start":4334,"length":426,"line":148,"column":8,"endLine":156,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]} + +function particles_AreaFactory_createParticle__P792892_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_AreaFactory_createParticle__P792892, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + p___803501: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_iadd__P789846(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_iadd__P789846.info = {"start":634,"length":110,"line":23,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"iadd","argumentNames":["a","b"]} + +function Fx_iadd__P789846_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_iadd__P789846, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_SprayFactory_createParticle__P792882(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.p___803557 = undefined; + s.angle___803561 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_SprayFactory__C792880_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleFactory_createParticle__P792878_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1216; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.p___803557 = (r0); + r0 = s.arg0.fields["minAngle"]; + s.tmp_1 = r0; + s.tmp_3 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_3.arg0 = globals.galois___794963; + s.tmp_3.arg1 = 0; + r0 = s.arg0.fields["spread"]; + s.tmp_3.arg2 = r0; + s.callLocIdx = 1217; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 % 100); + s.angle___803561 = (r0); + s.tmp_0 = r0 = s.p___803557; + r0 = pxsim_Array__getAt(globals.cachedSin___794958, s.angle___803561); + s.tmp_2 = r0; + r0 = s.arg0.fields["speed"]; + s.tmp_3 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["vx"] = (s.tmp_1); + s.tmp_0 = r0 = s.p___803557; + r0 = pxsim_Array__getAt(globals.cachedCos___794959, s.angle___803561); + s.tmp_2 = r0; + r0 = s.arg0.fields["speed"]; + s.tmp_3 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.tmp_3); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["vy"] = (s.tmp_1); + r0 = s.p___803557; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_createParticle__P792882.info = {"start":2851,"length":333,"line":105,"column":8,"endLine":113,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]} + +function particles_SprayFactory_createParticle__P792882_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_createParticle__P792882, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + p___803557: undefined, + angle___803561: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_toString__P792163(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C792152_VT)) failedCast(r0); + r0 = pxsim_String_.mkEmpty(); + s.tmp_1 = r0; + r0 = s.arg0.fields["_sprites"]; + s.tmp_4 = r0; + r0 = pxsim_Array__length(s.tmp_4); + s.tmp_3 = r0; + if ((s.tmp_3) && (s.tmp_3).vtable) { + setupResume(s, 1); + pxsim_String__stringConv(s.tmp_3); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_3) + ""; } + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, " sprites"); + return leave(s, r0) + default: oops() +} } } +sprites_SpriteSet_toString__P792163.info = {"start":2586,"length":66,"line":97,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"toString","argumentNames":["this"]} + +function sprites_SpriteSet_toString__P792163_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_toString__P792163, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function sprites_SpriteSet_length__P792155(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteSet__C792152_VT)) failedCast(r0); + r0 = s.arg0.fields["_sprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array__length(s.tmp_0); + return leaveAccessor(s, r0) + default: oops() +} } } +sprites_SpriteSet_length__P792155.info = {"start":625,"length":65,"line":26,"column":8,"endLine":28,"endColumn":9,"fileName":"pxt_modules/game/spriteset.ts","functionName":"length","argumentNames":["this"]} +sprites_SpriteSet_length__P792155.isGetter = true; + +function sprites_SpriteSet_length__P792155_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_length__P792155, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleSource___draw__P792846(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.current___803604 = undefined; + s.left___803607 = undefined; + s.top___803617 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + r0 = s.arg0.fields["head"]; + s.current___803604 = (r0); + r0 = s.arg0.fields["pFlags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 2; continue; } + case 1: + r0 = s.arg1.fields["drawOffsetX"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_3 = r0; + r0 = (s.tmp_3 | 0); + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + s.left___803607 = (s.tmp_4); + r0 = s.arg0.fields["pFlags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = 0; + { step = 4; continue; } + case 3: + r0 = s.arg1.fields["drawOffsetY"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 * 256); + s.tmp_3 = r0; + r0 = (s.tmp_3 | 0); + case 4: + // jmp value (already in r0) + s.tmp_4 = r0; + s.top___803617 = (s.tmp_4); + case 5: + r0 = pxsim_numops_toBoolDecr(s.current___803604); + if (!r0) { step = 8; continue; } + r0 = s.current___803604.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.tmp_2 = particles_ParticleSource_drawParticle__P794949_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.current___803604; + s.tmp_2.arg2 = s.left___803607; + s.tmp_2.arg3 = s.top___803617; + s.callLocIdx = 1151; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + case 6: + case 7: + r0 = s.current___803604.fields["next"]; + s.current___803604 = (r0); + { step = 5; continue; } + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource___draw__P792846.info = {"start":3216,"length":468,"line":112,"column":8,"endLine":122,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"__draw","argumentNames":["this","camera"]} + +function particles_ParticleSource___draw__P792846_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource___draw__P792846, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + current___803604: undefined, + left___803607: undefined, + top___803617: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_drawParticle__P794949(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C792840_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleFactory__C792876_v1_4_mk(s); + r0 = s.arg0.fields["_factory"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + r0 = s.arg1.fields["_x"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.arg2); + s.tmp_0.arg2 = r0; + r0 = s.arg1.fields["_y"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.arg3); + s.tmp_0.arg3 = r0; + if (!checkSubtype(s.tmp_0.arg0, particles_ParticleFactory__C792876_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawParticle; + s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_drawParticle__P794949.info = {"start":8615,"length":174,"line":287,"column":8,"endLine":289,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"drawParticle","argumentNames":["this","p","screenLeft","screenTop"]} + +function particles_ParticleSource_drawParticle__P794949_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_drawParticle__P794949, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function particles_ParticleFactory_drawParticle__P792879(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleFactory__C792876_VT)) failedCast(r0); + s.tmp_0 = r0 = globals.screen___791721; + r0 = (s.arg2 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.tmp_1 = r0; + r0 = (s.arg3 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleFactory_drawParticle__P792879.info = {"start":2265,"length":118,"line":85,"column":8,"endLine":87,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","particle","x","y"]} + +function particles_ParticleFactory_drawParticle__P792879_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_drawParticle__P792879, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function sprites_SpriteMap_toString__P792143(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + r0 = pxsim_String_.mkEmpty(); + s.tmp_3 = r0; + r0 = s.arg0.fields["buckets"]; + s.tmp_6 = r0; + r0 = pxsim_Array__length(s.tmp_6); + s.tmp_5 = r0; + if ((s.tmp_5) && (s.tmp_5).vtable) { + setupResume(s, 1); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } + case 1: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_4); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, " buckets, "); + s.tmp_1 = r0; + s.tmp_10 = helpers_arrayFilter__P789798_mk(s); + r0 = s.arg0.fields["buckets"]; + s.tmp_10.arg0 = r0; + s.tmp_10.arg1 = length_inline__P803680; + s.callLocIdx = 514; s.pc = 2; return s.tmp_10; + case 2: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim_Array__length(s.tmp_9); + s.tmp_8 = r0; + if ((s.tmp_8) && (s.tmp_8).vtable) { + setupResume(s, 3); + pxsim_String__stringConv(s.tmp_8); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_8) + ""; } + case 3: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_7); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, " filled"); + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_toString__P792143.info = {"start":4109,"length":123,"line":112,"column":8,"endLine":114,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"toString","argumentNames":["this"]} + +function sprites_SpriteMap_toString__P792143_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_toString__P792143, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + arg0: undefined, +} } + + + + + +function length_inline__P803680(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +length_inline__P803680.info = {"start":4196,"length":8,"line":113,"column":74,"endLine":113,"endColumn":82,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["b"]} + +function length_inline__P803680_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: length_inline__P803680, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_moveSprite__P792230(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tm___803712 = undefined; + s.maxDist___803720 = undefined; + s.ms___803740 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg1.fields["_x"]; + s.tmp_0 = r0; + r0 = (s.arg1).fields["_lastX"] = (s.tmp_0); + r0 = s.arg1.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.arg1).fields["_lastY"] = (s.tmp_0); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["_x"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.arg2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["_y"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.arg3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 751; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tm___803712 = (r0); + s.tmp_0 = r0 = s.tm___803712; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.tm___803712.fields["_map"]; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 11; continue; } + r0 = s.arg0.fields["maxSingleStep"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 + 128); + s.tmp_7 = r0; + r0 = (s.tmp_7 >> 8); + s.maxDist___803720 = (r0); + s.tmp_2 = Math_abs__P789816_mk(s); + r0 = (s.arg2 + 128); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 8); + s.tmp_2.arg0 = r0; + s.callLocIdx = 755; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.maxDist___803720); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + s.tmp_5 = Math_abs__P789816_mk(s); + r0 = (s.arg3 + 128); + s.tmp_6 = r0; + r0 = (s.tmp_6 >> 8); + s.tmp_5.arg0 = r0; + s.callLocIdx = 757; s.pc = 15; return s.tmp_5; + case 15: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 <= s.maxDist___803720); + case 4: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 5; continue; } + r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C792214_VT); + s.tmp_8 = r0; + s.tmp_9 = MovingSprite_constructor__P792215_mk(s); + s.tmp_9.arg0 = s.tmp_8; + s.tmp_9.arg1 = s.arg1; + r0 = s.arg1.fields["_vx"]; + s.tmp_9.arg2 = r0; + r0 = s.arg1.fields["_vy"]; + s.tmp_9.arg3 = r0; + s.tmp_9.arg4 = s.arg2; + s.tmp_9.arg5 = s.arg3; + s.tmp_9.arg6 = s.arg2; + s.tmp_9.arg7 = s.arg3; + s.callLocIdx = 758; s.pc = 16; return s.tmp_9; + case 16: + r0 = s.retval; + s.ms___803740 = (s.tmp_8); + s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P794463_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.ms___803740; + s.tmp_0.arg2 = s.tm___803712; + s.callLocIdx = 759; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + { step = 10; continue; } + case 5: + s.tmp_1 = tiles_TileMap_isOnWall__P792447_mk(s); + s.tmp_1.arg0 = s.tm___803712; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 760; s.pc = 18; return s.tmp_1; + case 18: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 6; continue; } + r0 = s.tmp_0; + { step = 7; continue; } + case 6: + s.tmp_4 = ArcadePhysicsEngine_canResolveClipping__P794465_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.arg1; + s.tmp_4.arg2 = s.tm___803712; + s.callLocIdx = 761; s.pc = 19; return s.tmp_4; + case 19: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 7: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 8; continue; } + s.tmp_6 = r0 = s.arg1; + r0 = s.tmp_6.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 | 256); + s.tmp_7 = r0; + r0 = (s.tmp_6).fields["flags"] = (s.tmp_7); + { step = 9; continue; } + case 8: + s.tmp_0 = r0 = s.arg1; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & -257); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + case 9: + case 10: + case 11: + case 12: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_moveSprite__P792230.info = {"start":23898,"length":1208,"line":654,"column":4,"endLine":685,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]} + +function ArcadePhysicsEngine_moveSprite__P792230_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_moveSprite__P792230, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tm___803712: undefined, + maxDist___803720: undefined, + ms___803740: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function ArcadePhysicsEngine_canResolveClipping__P794465(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.hbox___803785 = undefined; + s.sz___803788 = undefined; + s.maxMove___803793 = undefined; + s.origY___803795 = undefined; + s.origX___803798 = undefined; + s.l___803801 = undefined; + s.r___803806 = undefined; + s.t___803811 = undefined; + s.b___803816 = undefined; + s.offset___803821 = undefined; + s.offset___803846 = undefined; + s.offset___803877 = undefined; + s.offset___803902 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg1.fields["_image"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.isStatic(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_4 = Sprite__C792030_v4_1_mk(s); + s.tmp_4.arg0 = s.arg1; + if (!checkSubtype(s.tmp_4.arg0, Sprite__C792030_VT)) failedCast(s.tmp_4.arg0); + s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; + s.pc = 20; return s.tmp_4; + case 20: + r0 = s.retval; + case 1: + case 2: + r0 = s.arg1.fields["_hitbox"]; + s.hbox___803785 = (r0); + r0 = s.arg2.fields["_scale"]; + s.tmp_0 = r0; + r0 = (1 << s.tmp_0); + s.sz___803788 = (r0); + s.tmp_0 = ArcadePhysicsEngine_maxStep__P792222_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 764; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + s.maxMove___803793 = (r0); + r0 = s.arg1.fields["_y"]; + s.origY___803795 = (r0); + r0 = s.arg1.fields["_x"]; + s.origX___803798 = (r0); + s.tmp_1 = game_Hitbox_left__P791905_mk(s); + s.tmp_1.arg0 = s.hbox___803785; + s.callLocIdx = 765; s.pc = 22; return s.tmp_1; + case 22: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.l___803801 = (r0); + s.tmp_1 = game_Hitbox_right__P791907_mk(s); + s.tmp_1.arg0 = s.hbox___803785; + s.callLocIdx = 767; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.r___803806 = (r0); + s.tmp_1 = game_Hitbox_top__P791906_mk(s); + s.tmp_1.arg0 = s.hbox___803785; + s.callLocIdx = 769; s.pc = 24; return s.tmp_1; + case 24: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.t___803811 = (r0); + s.tmp_1 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_1.arg0 = s.hbox___803785; + s.callLocIdx = 771; s.pc = 25; return s.tmp_1; + case 25: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.b___803816 = (r0); + r0 = (s.b___803816 + 1); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.sz___803788); + s.offset___803821 = (r0); + r0 = (s.offset___803821 <= s.maxMove___803793); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_1 = r0 = s.arg1; + r0 = s.arg1.fields["_y"]; + s.tmp_3 = r0; + r0 = (s.offset___803821 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.tmp_4 = r0; + r0 = (s.tmp_3 - s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_y"] = (s.tmp_2); + s.tmp_3 = tiles_TileMap_isOnWall__P792447_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 775; s.pc = 26; return s.tmp_3; + case 26: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = true; + { step = 19; continue; } + { step = 4; continue; } + case 3: + r0 = (s.arg1).fields["_y"] = (s.origY___803795); + case 4: + case 5: + case 6: + r0 = (s.t___803811 / s.sz___803788); + s.tmp_3 = r0; + r0 = pxsim.Math_.floor(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.sz___803788); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.t___803811); + s.offset___803846 = (r0); + r0 = (s.offset___803846 <= s.maxMove___803793); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tmp_1 = r0 = s.arg1; + r0 = s.arg1.fields["_y"]; + s.tmp_3 = r0; + r0 = (s.offset___803846 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_y"] = (s.tmp_2); + s.tmp_3 = tiles_TileMap_isOnWall__P792447_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 778; s.pc = 27; return s.tmp_3; + case 27: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = true; + { step = 19; continue; } + { step = 8; continue; } + case 7: + r0 = (s.arg1).fields["_y"] = (s.origY___803795); + case 8: + case 9: + case 10: + r0 = (s.r___803806 + 1); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.sz___803788); + s.offset___803877 = (r0); + r0 = (s.offset___803877 <= s.maxMove___803793); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + s.tmp_1 = r0 = s.arg1; + r0 = s.arg1.fields["_x"]; + s.tmp_3 = r0; + r0 = (s.offset___803877 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.tmp_4 = r0; + r0 = (s.tmp_3 - s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_x"] = (s.tmp_2); + s.tmp_3 = tiles_TileMap_isOnWall__P792447_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 781; s.pc = 28; return s.tmp_3; + case 28: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + r0 = true; + { step = 19; continue; } + { step = 12; continue; } + case 11: + r0 = (s.arg1).fields["_x"] = (s.origX___803798); + case 12: + case 13: + case 14: + r0 = (s.l___803801 / s.sz___803788); + s.tmp_3 = r0; + r0 = pxsim.Math_.floor(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.sz___803788); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.l___803801); + s.offset___803902 = (r0); + r0 = (s.offset___803902 <= s.maxMove___803793); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 17; continue; } + s.tmp_1 = r0 = s.arg1; + r0 = s.arg1.fields["_x"]; + s.tmp_3 = r0; + r0 = (s.offset___803902 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_x"] = (s.tmp_2); + s.tmp_3 = tiles_TileMap_isOnWall__P792447_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 784; s.pc = 29; return s.tmp_3; + case 29: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = true; + { step = 19; continue; } + { step = 16; continue; } + case 15: + r0 = (s.arg1).fields["_x"] = (s.origX___803798); + case 16: + case 17: + case 18: + r0 = false; + case 19: + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_canResolveClipping__P794465.info = {"start":25202,"length":2135,"line":688,"column":4,"endLine":759,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"canResolveClipping","argumentNames":["this","s","tm"]} + +function ArcadePhysicsEngine_canResolveClipping__P794465_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_canResolveClipping__P794465, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + hbox___803785: undefined, + sz___803788: undefined, + maxMove___803793: undefined, + origY___803795: undefined, + origX___803798: undefined, + l___803801: undefined, + r___803806: undefined, + t___803811: undefined, + b___803816: undefined, + offset___803821: undefined, + offset___803846: undefined, + offset___803877: undefined, + offset___803902: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_isStatic__P792084(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.isStatic(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +Sprite_isStatic__P792084.info = {"start":9841,"length":57,"line":355,"column":4,"endLine":357,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isStatic","argumentNames":["this"]} + +function Sprite_isStatic__P792084_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_isStatic__P792084, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_Hitbox_bottom__P791908(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + r0 = s.arg0.fields["height"]; + s.tmp_1 = r0; + s.tmp_3 = game_Hitbox_top__P791906_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 225; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 256); + return leaveAccessor(s, r0) + default: oops() +} } } +game_Hitbox_bottom__P791908.info = {"start":786,"length":139,"line":33,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"bottom","argumentNames":["this"]} +game_Hitbox_bottom__P791908.isGetter = true; + +function game_Hitbox_bottom__P791908_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_bottom__P791908, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function game_Hitbox_right__P791907(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + r0 = s.arg0.fields["width"]; + s.tmp_1 = r0; + s.tmp_3 = game_Hitbox_left__P791905_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 222; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 256); + return leaveAccessor(s, r0) + default: oops() +} } } +game_Hitbox_right__P791907.info = {"start":638,"length":138,"line":26,"column":8,"endLine":31,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"right","argumentNames":["this"]} +game_Hitbox_right__P791907.isGetter = true; + +function game_Hitbox_right__P791907_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_right__P791907, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function game_Hitbox_top__P791906(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + r0 = s.arg0.fields["oy"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["parent"]; + r0 = r0.fields["_y"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +game_Hitbox_top__P791906.info = {"start":555,"length":73,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"top","argumentNames":["this"]} +game_Hitbox_top__P791906.isGetter = true; + +function game_Hitbox_top__P791906_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_top__P791906, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function game_Hitbox_left__P791905(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + r0 = s.arg0.fields["ox"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["parent"]; + r0 = r0.fields["_x"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +game_Hitbox_left__P791905.info = {"start":471,"length":74,"line":18,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"left","argumentNames":["this"]} +game_Hitbox_left__P791905.isGetter = true; + +function game_Hitbox_left__P791905_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_left__P791905, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapCollisions__P794463(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.s___804062 = undefined; + s.hbox___804087 = undefined; + s.tileScale___804090 = undefined; + s.tileSize___804093 = undefined; + s.xDiff___804097 = undefined; + s.yDiff___804104 = undefined; + s.right___804120 = undefined; + s.x0___804124 = undefined; + s.collidedTiles___804139 = undefined; + s.y___804141 = undefined; + s.y0___804155 = undefined; + s.obstacle___804171 = undefined; + s.collisionDirection___804198 = undefined; + s.tile___804224 = undefined; + s.unnamed16780___U14 = undefined; + s.unnamed16781___U15 = undefined; + s.down___804315 = undefined; + s.y0___804319 = undefined; + s.collidedTiles___804334 = undefined; + s.x___804336 = undefined; + s.x0___804346 = undefined; + s.obstacle___804360 = undefined; + s.collisionDirection___804387 = undefined; + s.tile___804413 = undefined; + s.unnamed16782___U24 = undefined; + s.unnamed16783___U25 = undefined; + s.overlappedTiles___804507 = undefined; + s.x___804509 = undefined; + s.x0___804519 = undefined; + s.y___804529 = undefined; + s.y0___804539 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg1.fields["sprite"]; + s.s___804062 = (r0); + r0 = s.s___804062.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 256); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_5 = tiles_TileMap_isOnWall__P792447_mk(s); + s.tmp_5.arg0 = s.arg2; + s.tmp_5.arg1 = s.s___804062; + s.callLocIdx = 647; s.pc = 97; return s.tmp_5; + case 97: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 1; continue; } + s.tmp_6 = r0 = s.s___804062; + r0 = s.tmp_6.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 & -257); + s.tmp_7 = r0; + r0 = (s.tmp_6).fields["flags"] = (s.tmp_7); + case 1: + case 2: + case 3: + case 4: + r0 = s.s___804062.fields["_image"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.isStatic(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_4 = Sprite__C792030_v4_1_mk(s); + s.tmp_4.arg0 = s.s___804062; + if (!checkSubtype(s.tmp_4.arg0, Sprite__C792030_VT)) failedCast(s.tmp_4.arg0); + s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; + s.pc = 98; return s.tmp_4; + case 98: + r0 = s.retval; + case 5: + case 6: + r0 = s.s___804062.fields["_hitbox"]; + s.hbox___804087 = (r0); + r0 = s.arg2.fields["_scale"]; + s.tileScale___804090 = (r0); + r0 = (1 << s.tileScale___804090); + s.tileSize___804093 = (r0); + r0 = s.s___804062.fields["_x"]; + s.tmp_0 = r0; + r0 = s.s___804062.fields["_lastX"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.xDiff___804097 = (r0); + r0 = s.s___804062.fields["_y"]; + s.tmp_0 = r0; + r0 = s.s___804062.fields["_lastY"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.yDiff___804104 = (r0); + r0 = s.s___804062.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 2818); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 83; continue; } + r0 = (s.xDiff___804097 !== 0); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 43; continue; } + r0 = (s.xDiff___804097 > 0); + s.right___804120 = (r0); + r0 = pxsim_numops_toBoolDecr(s.right___804120); + if (!r0) { step = 7; continue; } + s.tmp_1 = game_Hitbox_right__P791907_mk(s); + s.tmp_1.arg0 = s.hbox___804087; + s.callLocIdx = 652; s.pc = 99; return s.tmp_1; + case 99: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 256); + { step = 8; continue; } + case 7: + s.tmp_3 = game_Hitbox_left__P791905_mk(s); + s.tmp_3.arg0 = s.hbox___804087; + s.callLocIdx = 654; s.pc = 100; return s.tmp_3; + case 100: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 256); + case 8: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = (s.tmp_4 + 128); + s.tmp_5 = r0; + r0 = (s.tileScale___804090 + 8); + s.tmp_6 = r0; + r0 = (s.tmp_5 >> s.tmp_6); + s.x0___804124 = (r0); + r0 = pxsim_Array__mk(); + s.collidedTiles___804139 = (r0); + s.tmp_1 = game_Hitbox_top__P791906_mk(s); + s.tmp_1.arg0 = s.hbox___804087; + s.callLocIdx = 658; s.pc = 101; return s.tmp_1; + case 101: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.yDiff___804104); + s.y___804141 = (r0); + case 9: + s.tmp_1 = r0 = s.y___804141; + s.tmp_3 = r0 = s.tileSize___804093; + s.tmp_6 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_6.arg0 = s.hbox___804087; + s.callLocIdx = 660; s.pc = 102; return s.tmp_6; + case 102: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.yDiff___804104); + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_7 = r0; + r0 = (s.tmp_7 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + s.tmp_10 = Fx_min__P789854_mk(s); + s.tmp_10.arg0 = s.y___804141; + s.tmp_12 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_12.arg0 = s.hbox___804087; + s.callLocIdx = 663; s.pc = 104; return s.tmp_12; + case 104: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 - s.yDiff___804104); + s.tmp_10.arg1 = r0; + s.callLocIdx = 665; s.pc = 103; return s.tmp_10; + case 103: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_9 + 128); + s.tmp_8 = r0; + r0 = (s.tileScale___804090 + 8); + s.tmp_13 = r0; + r0 = (s.tmp_8 >> s.tmp_13); + s.y0___804155 = (r0); + s.tmp_1 = tiles_TileMap_isObstacle__P792445_mk(s); + s.tmp_1.arg0 = s.arg2; + s.tmp_1.arg1 = s.x0___804124; + s.tmp_1.arg2 = s.y0___804155; + s.callLocIdx = 668; s.pc = 105; return s.tmp_1; + case 105: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 12; continue; } + s.tmp_2 = tiles_TileMap_getObstacle__P792446_mk(s); + s.tmp_2.arg0 = s.arg2; + s.tmp_2.arg1 = s.x0___804124; + s.tmp_2.arg2 = s.y0___804155; + s.callLocIdx = 669; s.pc = 106; return s.tmp_2; + case 106: + r0 = s.retval; + s.obstacle___804171 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P804179); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___804171); + s.tmp_4 = helpers_arraySome__P789795_mk(s); + s.tmp_4.arg0 = s.collidedTiles___804139; + s.tmp_4.arg1 = s.tmp_0; + s.callLocIdx = 670; s.pc = 107; return s.tmp_4; + case 107: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 10; continue; } + r0 = pxsim_Array__push(s.collidedTiles___804139, s.obstacle___804171); + case 10: + case 11: + case 12: + case 13: + r0 = (s.tileSize___804093 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.y___804141); + s.y___804141 = (r0); + { step = 9; continue; } + case 14: + r0 = pxsim_Array__length(s.collidedTiles___804139); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 41; continue; } + r0 = pxsim_numops_toBoolDecr(s.right___804120); + if (!r0) { step = 15; continue; } + r0 = 2; + { step = 16; continue; } + case 15: + r0 = 0; + case 16: + // jmp value (already in r0) + s.tmp_1 = r0; + s.collisionDirection___804198 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.right___804120); + if (!r0) { step = 17; continue; } + r0 = (s.x0___804124 << s.tileScale___804090); + s.tmp_1 = r0; + r0 = (s.tmp_1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_0 = r0; + r0 = s.hbox___804087.fields["width"]; + s.tmp_3 = r0; + r0 = (s.tmp_0 - s.tmp_3); + { step = 18; continue; } + case 17: + r0 = (s.x0___804124 + 1); + s.tmp_5 = r0; + r0 = (s.tmp_5 << s.tileScale___804090); + s.tmp_4 = r0; + r0 = (s.tmp_4 * 256); + s.tmp_6 = r0; + r0 = (s.tmp_6 | 0); + case 18: + // jmp value (already in r0) + s.tmp_7 = r0; + s.tmp_8 = r0 = s.s___804062; + r0 = s.hbox___804087.fields["ox"]; + s.tmp_10 = r0; + r0 = (s.tmp_7 - s.tmp_10); + s.tmp_9 = r0; + r0 = (s.tmp_8).fields["_x"] = (s.tmp_9); + s.tile___804224 = (undefined); + s.unnamed16780___U14 = (s.collidedTiles___804139); + s.unnamed16781___U15 = (0); + case 19: + s.tmp_0 = r0 = s.unnamed16781___U15; + r0 = pxsim_Array__length(s.unnamed16780___U14); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 22; continue; } + r0 = pxsim_Array__getAt(s.unnamed16780___U14, s.unnamed16781___U15); + s.tile___804224 = (r0); + r0 = s.s___804062.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 2818); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 20; continue; } + s.tmp_6 = Sprite_registerObstacle__P792115_mk(s); + s.tmp_6.arg0 = s.s___804062; + s.tmp_6.arg1 = s.collisionDirection___804198; + s.tmp_6.arg2 = s.tile___804224; + s.tmp_6.arg3 = s.arg2; + s.callLocIdx = 676; s.pc = 108; return s.tmp_6; + case 108: + r0 = s.retval; + case 20: + case 21: + r0 = (s.unnamed16781___U15 + 1); + s.unnamed16781___U15 = (r0); + { step = 19; continue; } + case 22: + s.unnamed16780___U14 = (undefined); + r0 = s.s___804062.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 16); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 23; continue; } + s.tmp_2 = Sprite_destroy__P792117_mk(s); + s.tmp_2.arg0 = s.s___804062; + s.tmp_2.arg1 = undefined; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 677; s.pc = 109; return s.tmp_2; + case 109: + r0 = s.retval; + { step = 40; continue; } + case 23: + r0 = s.s___804062.fields["_vx"]; + s.tmp_1 = r0; + r0 = s.arg1.fields["cachedVx"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 === s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 24; continue; } + r0 = s.tmp_0; + { step = 25; continue; } + case 24: + r0 = s.s___804062.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 2818); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 25: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 36; continue; } + r0 = s.s___804062.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 & 32); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 34; continue; } + r0 = pxsim_numops_toBoolDecr(s.right___804120); + s.tmp_10 = r0; + r0 = pxsim_Boolean__bang(s.tmp_10); + s.tmp_9 = r0; + r0 = pxsim_numops_toBool(s.tmp_9); + if (r0) { step = 26; continue; } + r0 = s.tmp_9; + { step = 27; continue; } + case 26: + s.tmp_12 = Sprite_vx__P792047_mk(s); + s.tmp_12.arg0 = s.s___804062; + s.callLocIdx = 678; s.pc = 110; return s.tmp_12; + case 110: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 < 0); + case 27: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = pxsim_numops_toBool(s.tmp_13); + if (!r0) { step = 28; continue; } + r0 = s.tmp_13; + { step = 31; continue; } + case 28: + s.tmp_14 = r0 = s.right___804120; + r0 = pxsim_numops_toBool(s.tmp_14); + if (r0) { step = 29; continue; } + r0 = s.tmp_14; + { step = 30; continue; } + case 29: + s.tmp_16 = Sprite_vx__P792047_mk(s); + s.tmp_16.arg0 = s.s___804062; + s.callLocIdx = 679; s.pc = 111; return s.tmp_16; + case 111: + r0 = s.retval; + s.tmp_15 = r0; + r0 = (s.tmp_15 > 0); + case 30: + // jmp value (already in r0) + s.tmp_17 = r0; + r0 = s.tmp_17; + case 31: + // jmp value (already in r0) + s.tmp_18 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_18); + if (!r0) { step = 32; continue; } + s.tmp_19 = r0 = s.s___804062; + r0 = s.s___804062.fields["_vx"]; + s.tmp_21 = r0; + r0 = (0 - s.tmp_21); + s.tmp_20 = r0; + r0 = (s.tmp_19).fields["_vx"] = (s.tmp_20); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["xStep"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["dx"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dx"] = (s.tmp_1); + case 32: + case 33: + { step = 35; continue; } + case 34: + r0 = (s.arg1).fields["dx"] = (0); + r0 = (s.s___804062).fields["_vx"] = (0); + case 35: + { step = 39; continue; } + case 36: + s.tmp_2 = Math_sign__P789817_mk(s); + r0 = s.s___804062.fields["_vx"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_2.arg0 = r0; + s.callLocIdx = 684; s.pc = 112; return s.tmp_2; + case 112: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_6 = Math_sign__P789817_mk(s); + r0 = s.arg1.fields["cachedVx"]; + s.tmp_7 = r0; + r0 = (s.tmp_7 + 128); + s.tmp_8 = r0; + r0 = (s.tmp_8 >> 8); + s.tmp_6.arg0 = r0; + s.callLocIdx = 686; s.pc = 113; return s.tmp_6; + case 113: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_1 === s.tmp_5); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 37; continue; } + r0 = (s.arg1).fields["dx"] = (0); + case 37: + case 38: + case 39: + case 40: + case 41: + case 42: + case 43: + case 44: + r0 = (s.yDiff___804104 !== 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 81; continue; } + r0 = (s.yDiff___804104 > 0); + s.down___804315 = (r0); + r0 = pxsim_numops_toBoolDecr(s.down___804315); + if (!r0) { step = 45; continue; } + s.tmp_1 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_1.arg0 = s.hbox___804087; + s.callLocIdx = 687; s.pc = 114; return s.tmp_1; + case 114: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 256); + { step = 46; continue; } + case 45: + s.tmp_3 = game_Hitbox_top__P791906_mk(s); + s.tmp_3.arg0 = s.hbox___804087; + s.callLocIdx = 689; s.pc = 115; return s.tmp_3; + case 115: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 256); + case 46: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = (s.tmp_4 + 128); + s.tmp_5 = r0; + r0 = (s.tileScale___804090 + 8); + s.tmp_6 = r0; + r0 = (s.tmp_5 >> s.tmp_6); + s.y0___804319 = (r0); + r0 = pxsim_Array__mk(); + s.collidedTiles___804334 = (r0); + s.tmp_0 = game_Hitbox_left__P791905_mk(s); + s.tmp_0.arg0 = s.hbox___804087; + s.callLocIdx = 693; s.pc = 116; return s.tmp_0; + case 116: + r0 = s.retval; + s.x___804336 = (r0); + case 47: + s.tmp_1 = r0 = s.x___804336; + s.tmp_3 = r0 = s.tileSize___804093; + s.tmp_5 = game_Hitbox_right__P791907_mk(s); + s.tmp_5.arg0 = s.hbox___804087; + s.callLocIdx = 694; s.pc = 117; return s.tmp_5; + case 117: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_6 = r0; + r0 = (s.tmp_6 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 52; continue; } + s.tmp_9 = Fx_min__P789854_mk(s); + s.tmp_9.arg0 = s.x___804336; + s.tmp_10 = game_Hitbox_right__P791907_mk(s); + s.tmp_10.arg0 = s.hbox___804087; + s.callLocIdx = 696; s.pc = 119; return s.tmp_10; + case 119: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 697; s.pc = 118; return s.tmp_9; + case 118: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___804090 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.x0___804346 = (r0); + s.tmp_1 = tiles_TileMap_isObstacle__P792445_mk(s); + s.tmp_1.arg0 = s.arg2; + s.tmp_1.arg1 = s.x0___804346; + s.tmp_1.arg2 = s.y0___804319; + s.callLocIdx = 700; s.pc = 120; return s.tmp_1; + case 120: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 50; continue; } + s.tmp_2 = tiles_TileMap_getObstacle__P792446_mk(s); + s.tmp_2.arg0 = s.arg2; + s.tmp_2.arg1 = s.x0___804346; + s.tmp_2.arg2 = s.y0___804319; + s.callLocIdx = 701; s.pc = 121; return s.tmp_2; + case 121: + r0 = s.retval; + s.obstacle___804360 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P804368); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___804360); + s.tmp_4 = helpers_arraySome__P789795_mk(s); + s.tmp_4.arg0 = s.collidedTiles___804334; + s.tmp_4.arg1 = s.tmp_0; + s.callLocIdx = 702; s.pc = 122; return s.tmp_4; + case 122: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 48; continue; } + r0 = pxsim_Array__push(s.collidedTiles___804334, s.obstacle___804360); + case 48: + case 49: + case 50: + case 51: + r0 = (s.tileSize___804093 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.x___804336); + s.x___804336 = (r0); + { step = 47; continue; } + case 52: + r0 = pxsim_Array__length(s.collidedTiles___804334); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 79; continue; } + r0 = pxsim_numops_toBoolDecr(s.down___804315); + if (!r0) { step = 53; continue; } + r0 = 3; + { step = 54; continue; } + case 53: + r0 = 1; + case 54: + // jmp value (already in r0) + s.tmp_1 = r0; + s.collisionDirection___804387 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.down___804315); + if (!r0) { step = 55; continue; } + r0 = (s.y0___804319 << s.tileScale___804090); + s.tmp_1 = r0; + r0 = (s.tmp_1 * 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_0 = r0; + r0 = s.hbox___804087.fields["height"]; + s.tmp_3 = r0; + r0 = (s.tmp_0 - s.tmp_3); + { step = 56; continue; } + case 55: + r0 = (s.y0___804319 + 1); + s.tmp_5 = r0; + r0 = (s.tmp_5 << s.tileScale___804090); + s.tmp_4 = r0; + r0 = (s.tmp_4 * 256); + s.tmp_6 = r0; + r0 = (s.tmp_6 | 0); + case 56: + // jmp value (already in r0) + s.tmp_7 = r0; + s.tmp_8 = r0 = s.s___804062; + r0 = s.hbox___804087.fields["oy"]; + s.tmp_10 = r0; + r0 = (s.tmp_7 - s.tmp_10); + s.tmp_9 = r0; + r0 = (s.tmp_8).fields["_y"] = (s.tmp_9); + s.tile___804413 = (undefined); + s.unnamed16782___U24 = (s.collidedTiles___804334); + s.unnamed16783___U25 = (0); + case 57: + s.tmp_0 = r0 = s.unnamed16783___U25; + r0 = pxsim_Array__length(s.unnamed16782___U24); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 60; continue; } + r0 = pxsim_Array__getAt(s.unnamed16782___U24, s.unnamed16783___U25); + s.tile___804413 = (r0); + r0 = s.s___804062.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 2818); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 58; continue; } + s.tmp_6 = Sprite_registerObstacle__P792115_mk(s); + s.tmp_6.arg0 = s.s___804062; + s.tmp_6.arg1 = s.collisionDirection___804387; + s.tmp_6.arg2 = s.tile___804413; + s.tmp_6.arg3 = s.arg2; + s.callLocIdx = 708; s.pc = 123; return s.tmp_6; + case 123: + r0 = s.retval; + case 58: + case 59: + r0 = (s.unnamed16783___U25 + 1); + s.unnamed16783___U25 = (r0); + { step = 57; continue; } + case 60: + s.unnamed16782___U24 = (undefined); + r0 = s.s___804062.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 16); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 61; continue; } + s.tmp_2 = Sprite_destroy__P792117_mk(s); + s.tmp_2.arg0 = s.s___804062; + s.tmp_2.arg1 = undefined; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 709; s.pc = 124; return s.tmp_2; + case 124: + r0 = s.retval; + { step = 78; continue; } + case 61: + r0 = s.s___804062.fields["_vy"]; + s.tmp_1 = r0; + r0 = s.arg1.fields["cachedVy"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 === s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 62; continue; } + r0 = s.tmp_0; + { step = 63; continue; } + case 62: + r0 = s.s___804062.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 & 2818); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 63: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 74; continue; } + r0 = s.s___804062.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 & 32); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 72; continue; } + r0 = pxsim_numops_toBoolDecr(s.down___804315); + s.tmp_10 = r0; + r0 = pxsim_Boolean__bang(s.tmp_10); + s.tmp_9 = r0; + r0 = pxsim_numops_toBool(s.tmp_9); + if (r0) { step = 64; continue; } + r0 = s.tmp_9; + { step = 65; continue; } + case 64: + s.tmp_12 = Sprite_vy__P792049_mk(s); + s.tmp_12.arg0 = s.s___804062; + s.callLocIdx = 710; s.pc = 125; return s.tmp_12; + case 125: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 < 0); + case 65: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = pxsim_numops_toBool(s.tmp_13); + if (!r0) { step = 66; continue; } + r0 = s.tmp_13; + { step = 69; continue; } + case 66: + s.tmp_14 = r0 = s.down___804315; + r0 = pxsim_numops_toBool(s.tmp_14); + if (r0) { step = 67; continue; } + r0 = s.tmp_14; + { step = 68; continue; } + case 67: + s.tmp_16 = Sprite_vy__P792049_mk(s); + s.tmp_16.arg0 = s.s___804062; + s.callLocIdx = 711; s.pc = 126; return s.tmp_16; + case 126: + r0 = s.retval; + s.tmp_15 = r0; + r0 = (s.tmp_15 > 0); + case 68: + // jmp value (already in r0) + s.tmp_17 = r0; + r0 = s.tmp_17; + case 69: + // jmp value (already in r0) + s.tmp_18 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_18); + if (!r0) { step = 70; continue; } + s.tmp_19 = r0 = s.s___804062; + r0 = s.s___804062.fields["_vy"]; + s.tmp_21 = r0; + r0 = (0 - s.tmp_21); + s.tmp_20 = r0; + r0 = (s.tmp_19).fields["_vy"] = (s.tmp_20); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["yStep"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + r0 = s.arg1.fields["dy"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dy"] = (s.tmp_1); + case 70: + case 71: + { step = 73; continue; } + case 72: + r0 = (s.arg1).fields["dy"] = (0); + r0 = (s.s___804062).fields["_vy"] = (0); + case 73: + { step = 77; continue; } + case 74: + s.tmp_2 = Math_sign__P789817_mk(s); + r0 = s.s___804062.fields["_vy"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_2.arg0 = r0; + s.callLocIdx = 716; s.pc = 127; return s.tmp_2; + case 127: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_6 = Math_sign__P789817_mk(s); + r0 = s.arg1.fields["cachedVy"]; + s.tmp_7 = r0; + r0 = (s.tmp_7 + 128); + s.tmp_8 = r0; + r0 = (s.tmp_8 >> 8); + s.tmp_6.arg0 = r0; + s.callLocIdx = 718; s.pc = 128; return s.tmp_6; + case 128: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_1 === s.tmp_5); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 75; continue; } + r0 = (s.arg1).fields["dy"] = (0); + case 75: + case 76: + case 77: + case 78: + case 79: + case 80: + case 81: + case 82: + case 83: + case 84: + r0 = s.s___804062.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 1538); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 95; continue; } + r0 = pxsim_Array__mk(); + s.overlappedTiles___804507 = (r0); + s.tmp_0 = game_Hitbox_left__P791905_mk(s); + s.tmp_0.arg0 = s.hbox___804087; + s.callLocIdx = 719; s.pc = 129; return s.tmp_0; + case 129: + r0 = s.retval; + s.x___804509 = (r0); + case 85: + s.tmp_1 = r0 = s.x___804509; + s.tmp_3 = r0 = s.tileSize___804093; + s.tmp_5 = game_Hitbox_right__P791907_mk(s); + s.tmp_5.arg0 = s.hbox___804087; + s.callLocIdx = 720; s.pc = 130; return s.tmp_5; + case 130: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_6 = r0; + r0 = (s.tmp_6 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 92; continue; } + s.tmp_9 = Fx_min__P789854_mk(s); + s.tmp_9.arg0 = s.x___804509; + s.tmp_10 = game_Hitbox_right__P791907_mk(s); + s.tmp_10.arg0 = s.hbox___804087; + s.callLocIdx = 722; s.pc = 132; return s.tmp_10; + case 132: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 723; s.pc = 131; return s.tmp_9; + case 131: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___804090 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.x0___804519 = (r0); + s.tmp_0 = game_Hitbox_top__P791906_mk(s); + s.tmp_0.arg0 = s.hbox___804087; + s.callLocIdx = 726; s.pc = 133; return s.tmp_0; + case 133: + r0 = s.retval; + s.y___804529 = (r0); + case 86: + s.tmp_1 = r0 = s.y___804529; + s.tmp_3 = r0 = s.tileSize___804093; + s.tmp_5 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_5.arg0 = s.hbox___804087; + s.callLocIdx = 727; s.pc = 134; return s.tmp_5; + case 134: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_6 = r0; + r0 = (s.tmp_6 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1 < s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 91; continue; } + s.tmp_9 = Fx_min__P789854_mk(s); + s.tmp_9.arg0 = s.y___804529; + s.tmp_10 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_10.arg0 = s.hbox___804087; + s.callLocIdx = 729; s.pc = 136; return s.tmp_10; + case 136: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 730; s.pc = 135; return s.tmp_9; + case 135: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___804090 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.y0___804539 = (r0); + s.tmp_3 = tiles_TileMap_isObstacle__P792445_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.x0___804519; + s.tmp_3.arg2 = s.y0___804539; + s.callLocIdx = 733; s.pc = 137; return s.tmp_3; + case 137: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 87; continue; } + r0 = s.tmp_0; + { step = 88; continue; } + case 87: + r0 = s.s___804062.fields["flags"]; + s.tmp_8 = r0; + r0 = (s.tmp_8 & 2048); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + s.tmp_6 = r0; + r0 = pxsim_Boolean__bang(s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + case 88: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_9); + if (!r0) { step = 89; continue; } + s.tmp_10 = r0 = s.overlappedTiles___804507; + s.tmp_12 = tiles_TileMap_getTile__P792438_mk(s); + s.tmp_12.arg0 = s.arg2; + s.tmp_12.arg1 = s.x0___804519; + s.tmp_12.arg2 = s.y0___804539; + s.callLocIdx = 734; s.pc = 138; return s.tmp_12; + case 138: + r0 = s.retval; + s.tmp_11 = r0; + r0 = pxsim_Array__push(s.tmp_10, s.tmp_11); + case 89: + case 90: + r0 = (s.tileSize___804093 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.y___804529); + s.y___804529 = (r0); + { step = 86; continue; } + case 91: + r0 = (s.tileSize___804093 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.x___804509); + s.x___804509 = (r0); + { step = 85; continue; } + case 92: + r0 = pxsim_Array__length(s.overlappedTiles___804507); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 93; continue; } + s.tmp_1 = ArcadePhysicsEngine_tilemapOverlaps__P794464_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.s___804062; + s.tmp_1.arg2 = s.overlappedTiles___804507; + s.callLocIdx = 737; s.pc = 139; return s.tmp_1; + case 139: + r0 = s.retval; + case 93: + case 94: + case 95: + case 96: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapCollisions__P794463.info = {"start":12929,"length":9654,"line":379,"column":4,"endLine":618,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapCollisions","argumentNames":["this","movingSprite","tm"]} + +function ArcadePhysicsEngine_tilemapCollisions__P794463_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P794463, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + tmp_18: undefined, + tmp_19: undefined, + tmp_20: undefined, + tmp_21: undefined, + s___804062: undefined, + hbox___804087: undefined, + tileScale___804090: undefined, + tileSize___804093: undefined, + xDiff___804097: undefined, + yDiff___804104: undefined, + right___804120: undefined, + x0___804124: undefined, + collidedTiles___804139: undefined, + y___804141: undefined, + y0___804155: undefined, + obstacle___804171: undefined, + collisionDirection___804198: undefined, + tile___804224: undefined, + unnamed16780___U14: undefined, + unnamed16781___U15: undefined, + down___804315: undefined, + y0___804319: undefined, + collidedTiles___804334: undefined, + x___804336: undefined, + x0___804346: undefined, + obstacle___804360: undefined, + collisionDirection___804387: undefined, + tile___804413: undefined, + unnamed16782___U24: undefined, + unnamed16783___U25: undefined, + overlappedTiles___804507: undefined, + x___804509: undefined, + x0___804519: undefined, + y___804529: undefined, + y0___804539: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapCollisions_inline__P804179(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["tileIndex"]; + s.tmp_0 = r0; + r0 = s.caps[0].fields["tileIndex"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 === s.tmp_1); + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapCollisions_inline__P804179.info = {"start":15147,"length":39,"line":441,"column":48,"endLine":441,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} + +function ArcadePhysicsEngine_tilemapCollisions_inline__P804179_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P804179, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapCollisions_inline__P804368(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["tileIndex"]; + s.tmp_0 = r0; + r0 = s.caps[0].fields["tileIndex"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 === s.tmp_1); + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapCollisions_inline__P804368.info = {"start":18668,"length":39,"line":522,"column":48,"endLine":522,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} + +function ArcadePhysicsEngine_tilemapCollisions_inline__P804368_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P804368, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapOverlaps__P794464(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.alreadyHandled___804586 = undefined; + s.tile___804589 = undefined; + s.unnamed16784___U2 = undefined; + s.unnamed16785___U3 = undefined; + s.tileOverlapHandlers___804610 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.alreadyHandled___804586 = (r0); + s.tile___804589 = (undefined); + s.unnamed16784___U2 = (s.arg2); + s.unnamed16785___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16785___U3; + r0 = pxsim_Array__length(s.unnamed16784___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 7; continue; } + r0 = pxsim_Array__getAt(s.unnamed16784___U2, s.unnamed16785___U3); + s.tile___804589 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapOverlaps_inline__P804593); + s.tmp_2 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.tile___804589); + s.tmp_4 = helpers_arraySome__P789795_mk(s); + s.tmp_4.arg0 = s.alreadyHandled___804586; + s.tmp_4.arg1 = s.tmp_2; + s.callLocIdx = 742; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 2; continue; } + { step = 6; continue; } + case 2: + case 3: + r0 = pxsim_Array__push(s.alreadyHandled___804586, s.tile___804589); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 743; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + r0 = r0.fields["tileOverlapHandlers"]; + s.tileOverlapHandlers___804610 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tileOverlapHandlers___804610); + if (!r0) { step = 4; continue; } + r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P804618); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tile___804589); + r0 = pxsim_pxtcore_mkAction(2, ArcadePhysicsEngine_tilemapOverlaps_inline__P804634); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_1, 1, s.tile___804589); + s.tmp_2 = helpers_arrayForEach__P789797_mk(s); + s.tmp_3 = helpers_arrayFilter__P789798_mk(s); + s.tmp_3.arg0 = s.tileOverlapHandlers___804610; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 746; s.pc = 11; return s.tmp_3; + case 11: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 748; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; + case 4: + case 5: + case 6: + r0 = (s.unnamed16785___U3 + 1); + s.unnamed16785___U3 = (r0); + { step = 1; continue; } + case 7: + s.unnamed16784___U2 = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapOverlaps__P794464.info = {"start":22860,"length":707,"line":626,"column":4,"endLine":642,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapOverlaps","argumentNames":["this","sprite","overlappedTiles"]} + +function ArcadePhysicsEngine_tilemapOverlaps__P794464_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps__P794464, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + alreadyHandled___804586: undefined, + tile___804589: undefined, + unnamed16784___U2: undefined, + unnamed16785___U3: undefined, + tileOverlapHandlers___804610: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapOverlaps_inline__P804593(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["_col"]; + s.tmp_1 = r0; + r0 = s.caps[0].fields["_col"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 === s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["_row"]; + s.tmp_3 = r0; + r0 = s.caps[0].fields["_row"]; + s.tmp_4 = r0; + r0 = (s.tmp_3 === s.tmp_4); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = s.tmp_5; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapOverlaps_inline__P804593.info = {"start":23075,"length":51,"line":630,"column":36,"endLine":630,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["l"]} + +function ArcadePhysicsEngine_tilemapOverlaps_inline__P804593_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P804593, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, +} } + + + + + +function forEach_inline__P804618(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["spriteKind"]; + s.tmp_1 = r0; + r0 = s.caps[0].fields["_kind"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 == s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["tileKind"]; + s.tmp_3 = r0; + s.tmp_5 = tiles_getTileImage__P792457_mk(s); + s.tmp_5.arg0 = s.caps[1]; + s.callLocIdx = 745; s.pc = 3; return s.tmp_5; + case 3: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.equals(s.tmp_3, s.tmp_4); + case 2: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = s.tmp_6; + return leave(s, r0) + default: oops() +} } } +forEach_inline__P804618.info = {"start":23395,"length":81,"line":638,"column":28,"endLine":638,"endColumn":109,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P804618_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P804618, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapOverlaps_inline__P804634(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_handler_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + s.tmp_0.arg2 = s.caps[1]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 3); + s.callLocIdx = 747; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 3); s.callLocIdx = 747; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 747; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 747; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapOverlaps_inline__P804634.info = {"start":23507,"length":28,"line":639,"column":29,"endLine":639,"endColumn":57,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function ArcadePhysicsEngine_tilemapOverlaps_inline__P804634_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P804634, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function tiles_getTileImage__P792457(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scene___804642 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 876; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.scene___804642 = (r0); + r0 = pxsim_numops_toBoolDecr(s.arg0); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.scene___804642.fields["tileMap"]; + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + r0 = pxsim.image.ofBuffer(_hex804652); + { step = 5; continue; } + case 3: + case 4: + s.tmp_5 = tiles_TileMap_getTileImage__P792448_mk(s); + r0 = s.scene___804642.fields["tileMap"]; + s.tmp_5.arg0 = r0; + s.tmp_6 = tiles_Location_tileSet__P792393_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 877; s.pc = 8; return s.tmp_6; + case 8: + r0 = s.retval; + s.tmp_5.arg1 = r0; + s.callLocIdx = 878; s.pc = 7; return s.tmp_5; + case 7: + r0 = s.retval; + case 5: + return leave(s, r0) + default: oops() +} } } +tiles_getTileImage__P792457.info = {"start":21871,"length":207,"line":673,"column":4,"endLine":677,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["loc"]} + +function tiles_getTileImage__P792457_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_getTileImage__P792457, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + scene___804642: undefined, + arg0: undefined, +} } + +const _hex804652 = pxsim.BufferMethods.createBufferFromHex("8704000000000000") + + + + +function tiles_TileMap_getTileImage__P792448(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMapData_getTileImage__P792415_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 875; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getTileImage__P792448.info = {"start":17510,"length":96,"line":553,"column":8,"endLine":555,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["this","index"]} + +function tiles_TileMap_getTileImage__P792448_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getTileImage__P792448, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMapData_getTileImage__P792415(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.size___804707 = undefined; + s.cachedImage___804711 = undefined; + s.originalImage___804718 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + s.tmp_0 = r0; + r0 = (1 << s.tmp_0); + s.size___804707 = (r0); + r0 = s.arg0.fields["cachedTileView"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.arg1); + s.cachedImage___804711 = (r0); + r0 = pxsim_numops_toBoolDecr(s.cachedImage___804711); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = s.arg0.fields["tileset"]; + s.tmp_2 = r0; + r0 = pxsim_Array__getAt(s.tmp_2, s.arg1); + s.originalImage___804718 = (r0); + r0 = pxsim_numops_toBoolDecr(s.originalImage___804718); + if (!r0) { step = 5; continue; } + r0 = pxsim_ImageMethods.width(s.originalImage___804718); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.size___804707); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_ImageMethods.height(s.originalImage___804718); + s.tmp_2 = r0; + r0 = (s.tmp_2 <= s.size___804707); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + s.cachedImage___804711 = (s.originalImage___804718); + { step = 4; continue; } + case 3: + r0 = pxsim.image.create(s.size___804707, s.size___804707); + s.cachedImage___804711 = (r0); + r0 = pxsim_ImageMethods.drawImage(s.cachedImage___804711, s.originalImage___804718, 0, 0); + case 4: + r0 = s.arg0.fields["cachedTileView"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.cachedImage___804711); + case 5: + case 6: + case 7: + case 8: + r0 = s.cachedImage___804711; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_getTileImage__P792415.info = {"start":7354,"length":717,"line":251,"column":8,"endLine":268,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["this","index"]} + +function tiles_TileMapData_getTileImage__P792415_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_getTileImage__P792415, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + size___804707: undefined, + cachedImage___804711: undefined, + originalImage___804718: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMapData_scale__P792410(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMapData_scale__P792410.info = {"start":6564,"length":66,"line":222,"column":8,"endLine":224,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} +tiles_TileMapData_scale__P792410.isGetter = true; + +function tiles_TileMapData_scale__P792410_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_scale__P792410, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_Location_tileSet__P792393(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMap_getTileIndex__P792439_mk(s); + s.tmp_1 = tiles_Location_tileMap__P792384_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 806; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["_col"]; + s.tmp_0.arg1 = r0; + r0 = s.arg0.fields["_row"]; + s.tmp_0.arg2 = r0; + s.callLocIdx = 807; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_tileSet__P792393.info = {"start":2323,"length":101,"line":86,"column":8,"endLine":88,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"tileSet","argumentNames":["this"]} +tiles_Location_tileSet__P792393.isGetter = true; + +function tiles_Location_tileSet__P792393_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_tileSet__P792393, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function tiles_TileMap_getTileIndex__P792439(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMapData_getTile__P792412_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 830; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getTileIndex__P792439.info = {"start":11191,"length":105,"line":384,"column":8,"endLine":386,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileIndex","argumentNames":["this","col","row"]} + +function tiles_TileMap_getTileIndex__P792439_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getTileIndex__P792439, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMapData_getTile__P792412(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMapData_isOutsideMap__P792418_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.callLocIdx = 809; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 3; continue; } + case 1: + case 2: + r0 = s.arg0.fields["data"]; + s.tmp_2 = r0; + r0 = (s.arg1 | 0); + s.tmp_5 = r0; + r0 = (4 + s.tmp_5); + s.tmp_4 = r0; + r0 = (s.arg2 | 0); + s.tmp_7 = r0; + r0 = s.arg0.fields["_width"]; + s.tmp_8 = r0; + r0 = (s.tmp_7 * s.tmp_8); + s.tmp_6 = r0; + r0 = (s.tmp_4 + s.tmp_6); + s.tmp_3 = r0; + r0 = pxsim.BufferMethods.getUint8(s.tmp_2, s.tmp_3); + case 3: + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_getTile__P792412.info = {"start":6752,"length":200,"line":231,"column":8,"endLine":235,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTile","argumentNames":["this","col","row"]} + +function tiles_TileMapData_getTile__P792412_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_getTile__P792412, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMapData_isOutsideMap__P792418(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = (s.arg1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_1 = r0 = s.arg1; + r0 = s.arg0.fields["_width"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 >= s.tmp_2); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (!r0) { step = 3; continue; } + r0 = s.tmp_3; + { step = 4; continue; } + case 3: + r0 = (s.arg2 < 0); + case 4: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBool(s.tmp_4); + if (!r0) { step = 5; continue; } + r0 = s.tmp_4; + { step = 6; continue; } + case 5: + s.tmp_5 = r0 = s.arg2; + r0 = s.arg0.fields["_height"]; + s.tmp_6 = r0; + r0 = (s.tmp_5 >= s.tmp_6); + case 6: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = s.tmp_7; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_isOutsideMap__P792418.info = {"start":8335,"length":132,"line":278,"column":8,"endLine":280,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOutsideMap","argumentNames":["this","col","row"]} + +function tiles_TileMapData_isOutsideMap__P792418_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_isOutsideMap__P792418, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_Location_tileMap__P792384(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 797; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_tileMap__P792384.info = {"start":491,"length":73,"line":24,"column":8,"endLine":26,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"tileMap","argumentNames":["this"]} +tiles_Location_tileMap__P792384.isGetter = true; + +function tiles_Location_tileMap__P792384_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_tileMap__P792384, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function tiles_Location_row__P792386(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + r0 = s.arg0.fields["_row"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_row__P792386.info = {"start":877,"length":51,"line":38,"column":8,"endLine":40,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"row","argumentNames":["this"]} +tiles_Location_row__P792386.isGetter = true; + +function tiles_Location_row__P792386_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_row__P792386, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_Location_column__P792385(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + r0 = s.arg0.fields["_col"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_column__P792385.info = {"start":695,"length":54,"line":31,"column":8,"endLine":33,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"column","argumentNames":["this"]} +tiles_Location_column__P792385.isGetter = true; + +function tiles_Location_column__P792385_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_column__P792385, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_TileMap_getObstacle__P792446(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.index___804881 = undefined; + s.tile___804893 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMapData_isOutsideMap__P792418_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.callLocIdx = 854; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 2; continue; } + case 1: + s.tmp_2 = tiles_TileMapData_getTile__P792412_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.arg1; + s.tmp_2.arg2 = s.arg2; + s.callLocIdx = 855; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + s.index___804881 = (s.tmp_3); + s.tmp_0 = tiles_TileMapData_getTileImage__P792415_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___804881; + s.callLocIdx = 856; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tile___804893 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C792187_VT); + s.tmp_0 = r0; + s.tmp_1 = sprites_StaticObstacle_constructor__P792193_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.tile___804893; + s.tmp_2 = r0 = s.arg2; + r0 = s.arg0.fields["_scale"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 << s.tmp_3); + s.tmp_1.arg2 = r0; + s.tmp_4 = r0 = s.arg1; + r0 = s.arg0.fields["_scale"]; + s.tmp_5 = r0; + r0 = (s.tmp_4 << s.tmp_5); + s.tmp_1.arg3 = r0; + r0 = s.arg0.fields["_layer"]; + s.tmp_1.arg4 = r0; + s.tmp_1.arg5 = s.index___804881; + s.callLocIdx = 860; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getObstacle__P792446.info = {"start":16453,"length":410,"line":522,"column":8,"endLine":532,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getObstacle","argumentNames":["this","col","row"]} + +function tiles_TileMap_getObstacle__P792446_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getObstacle__P792446, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + index___804881: undefined, + tile___804893: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMap_layer__P792434(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_layer"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMap_layer__P792434.info = {"start":9967,"length":63,"line":341,"column":8,"endLine":343,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"layer","argumentNames":["this"]} +tiles_TileMap_layer__P792434.isGetter = true; + +function tiles_TileMap_layer__P792434_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_layer__P792434, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function sprites_StaticObstacle_constructor__P792193(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_StaticObstacle__C792187_VT)) failedCast(r0); + r0 = (s.arg0).fields["image"] = (s.arg1); + r0 = (s.arg0).fields["layer"] = (s.arg4); + r0 = (s.arg0).fields["top"] = (s.arg2); + r0 = (s.arg0).fields["left"] = (s.arg3); + r0 = (s.arg0).fields["tileIndex"] = (s.arg5); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_StaticObstacle_constructor__P792193.info = {"start":563,"length":261,"line":28,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"inline","argumentNames":["this","image","top","left","layer","tileIndex"]} + +function sprites_StaticObstacle_constructor__P792193_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_constructor__P792193, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, +} } + + + + + +function tiles_TileMap_isObstacle__P792445(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_Boolean__bang(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = false; + { step = 5; continue; } + case 1: + case 2: + s.tmp_8 = tiles_TileMapData_isOutsideMap__P792418_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_8.arg0 = r0; + s.tmp_8.arg1 = s.arg1; + s.tmp_8.arg2 = s.arg2; + s.callLocIdx = 852; s.pc = 6; return s.tmp_8; + case 6: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 3; continue; } + r0 = true; + { step = 5; continue; } + case 3: + case 4: + r0 = s.arg0.fields["_map"]; + s.tmp_9 = r0; + r0 = s.tmp_9.fields["layers"]; + s.tmp_11 = r0; + r0 = pxsim_ImageMethods.getPixel(s.tmp_11, s.arg1, s.arg2); + s.tmp_10 = r0; + r0 = (s.tmp_10 === 2); + case 5: + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_isObstacle__P792445.info = {"start":16232,"length":211,"line":515,"column":8,"endLine":520,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isObstacle","argumentNames":["this","col","row"]} + +function tiles_TileMap_isObstacle__P792445_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_isObstacle__P792445, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMapData_isWall__P792417(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = s.arg0.fields["layers"]; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.getPixel(s.tmp_1, s.arg1, s.arg2); + s.tmp_0 = r0; + r0 = (s.tmp_0 === 2); + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_isWall__P792417.info = {"start":8218,"length":107,"line":274,"column":8,"endLine":276,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isWall","argumentNames":["this","col","row"]} + +function tiles_TileMapData_isWall__P792417_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_isWall__P792417, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMap_getTile__P792438(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkClassInstance(tiles_Location__C792382_VT); + s.tmp_0 = r0; + s.tmp_1 = tiles_Location_constructor__P792383_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.tmp_1.arg3 = s.arg0; + s.callLocIdx = 828; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getTile__P792438.info = {"start":11070,"length":111,"line":380,"column":8,"endLine":382,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTile","argumentNames":["this","col","row"]} + +function tiles_TileMap_getTile__P792438_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getTile__P792438, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_Location_constructor__P792383(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + r0 = (s.arg0).fields["_col"] = (s.arg1); + r0 = (s.arg0).fields["_row"] = (s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_Location_constructor__P792383.info = {"start":360,"length":121,"line":19,"column":8,"endLine":22,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","col","row","map"]} + +function tiles_Location_constructor__P792383_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_constructor__P792383, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Sprite_registerObstacle__P792115(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.collisionHandlers___804794 = undefined; + s.wallCollisionHandlers___804801 = undefined; + s.wallHandlersToRun___804826 = undefined; + s.asTileLocation___804839 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_obstacles"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.arg2); + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 414; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = r0.fields["collisionHandlers"]; + s.tmp_0 = r0; + s.tmp_3 = if_tileIndex_1_mk(s); + s.tmp_3.arg0 = s.arg2; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "tileIndex"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["tileIndex"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["tileIndex"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 415; s.pc = 10; return s.tmp_3; } + } + case 10: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_2); + s.collisionHandlers___804794 = (r0); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 416; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + r0 = r0.fields["wallCollisionHandlers"]; + s.wallCollisionHandlers___804801 = (r0); + r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___804794); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P804809); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtcore_mkAction(1, Sprite_registerObstacle_inline__P804815); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + s.tmp_2 = helpers_arrayForEach__P789797_mk(s); + s.tmp_3 = helpers_arrayFilter__P789798_mk(s); + s.tmp_3.arg0 = s.collisionHandlers___804794; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 418; s.pc = 13; return s.tmp_3; + case 13: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 420; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + case 1: + case 2: + r0 = pxsim_numops_toBoolDecr(s.wallCollisionHandlers___804801); + if (!r0) { step = 7; continue; } + s.tmp_0 = r0 = s.arg3; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + s.tmp_1 = game_currentScene__P792688_mk(s); + s.callLocIdx = 421; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + s.arg3 = (s.tmp_2); + r0 = pxsim_pxtcore_mkAction(1, wallHandlersToRun_inline__P804828); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = helpers_arrayFilter__P789798_mk(s); + s.tmp_1.arg0 = s.wallCollisionHandlers___804801; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 423; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.wallHandlersToRun___804826 = (r0); + r0 = pxsim_Array__length(s.wallHandlersToRun___804826); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_1 = tiles_TileMap_getTile__P792438_mk(s); + s.tmp_1.arg0 = s.arg3; + s.tmp_3 = if_left_1_mk(s); + s.tmp_3.arg0 = s.arg2; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "left"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["left"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["left"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 424; s.pc = 17; return s.tmp_3; } + } + case 17: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.arg3.fields["_scale"]; + s.tmp_4 = r0; + r0 = (s.tmp_2 >> s.tmp_4); + s.tmp_1.arg1 = r0; + s.tmp_6 = if_top_1_mk(s); + s.tmp_6.arg0 = s.arg2; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "top"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["top"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["top"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 426; s.pc = 18; return s.tmp_6; } + } + case 18: + r0 = s.retval; + s.tmp_5 = r0; + r0 = s.arg3.fields["_scale"]; + s.tmp_7 = r0; + r0 = (s.tmp_5 >> s.tmp_7); + s.tmp_1.arg2 = r0; + s.callLocIdx = 428; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + s.asTileLocation___804839 = (r0); + r0 = pxsim_pxtcore_mkAction(2, Sprite_registerObstacle_inline__P804855); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.asTileLocation___804839); + s.tmp_1 = helpers_arrayForEach__P789797_mk(s); + s.tmp_1.arg0 = s.wallHandlersToRun___804826; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 430; s.pc = 19; return s.tmp_1; + case 19: + r0 = s.retval; + case 5: + case 6: + case 7: + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_registerObstacle__P792115.info = {"start":24992,"length":965,"line":817,"column":4,"endLine":837,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"registerObstacle","argumentNames":["this","direction","other","tm"]} + +function Sprite_registerObstacle__P792115_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_registerObstacle__P792115, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + collisionHandlers___804794: undefined, + wallCollisionHandlers___804801: undefined, + wallHandlersToRun___804826: undefined, + asTileLocation___804839: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function forEach_inline__P804809(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["kind"]; + s.tmp_0 = r0; + r0 = s.caps[0].fields["_kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 == s.tmp_1); + return leave(s, r0) + default: oops() +} } } +forEach_inline__P804809.info = {"start":25390,"length":26,"line":824,"column":24,"endLine":824,"endColumn":50,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P804809_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P804809, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Sprite_registerObstacle_inline__P804815(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_handler_2_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 2); + s.callLocIdx = 419; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 2); s.callLocIdx = 419; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 419; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 419; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_registerObstacle_inline__P804815.info = {"start":25443,"length":20,"line":825,"column":25,"endLine":825,"endColumn":45,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function Sprite_registerObstacle_inline__P804815_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_registerObstacle_inline__P804815, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function wallHandlersToRun_inline__P804828(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["spriteKind"]; + s.tmp_0 = r0; + r0 = s.caps[0].fields["_kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 == s.tmp_1); + return leave(s, r0) + default: oops() +} } } +wallHandlersToRun_inline__P804828.info = {"start":25649,"length":32,"line":830,"column":24,"endLine":830,"endColumn":56,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function wallHandlersToRun_inline__P804828_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: wallHandlersToRun_inline__P804828, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Sprite_registerObstacle_inline__P804855(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = if_handler_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + s.tmp_0.arg2 = s.caps[1]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 3); + s.callLocIdx = 429; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 3); s.callLocIdx = 429; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 429; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 429; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_registerObstacle_inline__P804855.info = {"start":25889,"length":36,"line":834,"column":29,"endLine":834,"endColumn":65,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function Sprite_registerObstacle_inline__P804855_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_registerObstacle_inline__P804855, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Math_sign__P789817(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = (s.arg0 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 5; continue; } + case 1: + case 2: + r0 = (s.arg0 > 0); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = 1; + { step = 5; continue; } + case 3: + case 4: + r0 = -1; + case 5: + return leave(s, r0) + default: oops() +} } } +Math_sign__P789817.info = {"start":16355,"length":125,"line":547,"column":4,"endLine":551,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sign","argumentNames":["x"]} + +function Math_sign__P789817_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_sign__P789817, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function helpers_arraySome__P789795(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.len___804863 = undefined; + s.i___804866 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__length(s.arg0); + s.len___804863 = (r0); + s.i___804866 = (0); + case 1: + r0 = (s.i___804866 < s.len___804863); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_2 = lambda_3_mk(s); + s.tmp_2.argL = s.arg1; + r0 = pxsim_Array__getAt(s.arg0, s.i___804866); + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.i___804866; + setupLambda(s.tmp_2, s.tmp_2.argL); + s.callLocIdx = 4; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = true; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.i___804866 + 1); + s.i___804866 = (r0); + { step = 1; continue; } + case 4: + r0 = false; + case 5: + return leave(s, r0) + default: oops() +} } } +helpers_arraySome__P789795.info = {"start":6833,"length":296,"line":238,"column":4,"endLine":244,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arraySome","argumentNames":["arr","callbackfn"]} + +function helpers_arraySome__P789795_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySome__P789795, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + len___804863: undefined, + i___804866: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_isOnWall__P792447(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.hbox___803968 = undefined; + s.left___803971 = undefined; + s.right___803977 = undefined; + s.top___803983 = undefined; + s.bottom___803989 = undefined; + s.col___803995 = undefined; + s.row___804001 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg1.fields["_hitbox"]; + s.hbox___803968 = (r0); + s.tmp_1 = game_Hitbox_left__P791905_mk(s); + s.tmp_1.arg0 = s.hbox___803968; + s.callLocIdx = 861; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 8); + s.tmp_3 = r0; + r0 = (s.tmp_0 >> s.tmp_3); + s.left___803971 = (r0); + s.tmp_1 = game_Hitbox_right__P791907_mk(s); + s.tmp_1.arg0 = s.hbox___803968; + s.callLocIdx = 864; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 8); + s.tmp_3 = r0; + r0 = (s.tmp_0 >> s.tmp_3); + s.right___803977 = (r0); + s.tmp_1 = game_Hitbox_top__P791906_mk(s); + s.tmp_1.arg0 = s.hbox___803968; + s.callLocIdx = 867; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 8); + s.tmp_3 = r0; + r0 = (s.tmp_0 >> s.tmp_3); + s.top___803983 = (r0); + s.tmp_1 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_1.arg0 = s.hbox___803968; + s.callLocIdx = 870; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 8); + s.tmp_3 = r0; + r0 = (s.tmp_0 >> s.tmp_3); + s.bottom___803989 = (r0); + s.col___803995 = (s.left___803971); + case 1: + r0 = (s.col___803995 <= s.right___803977); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.row___804001 = (s.top___803983); + case 2: + r0 = (s.row___804001 <= s.bottom___803989); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = tiles_TileMap_isObstacle__P792445_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.col___803995; + s.tmp_2.arg2 = s.row___804001; + s.callLocIdx = 873; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = true; + { step = 7; continue; } + case 3: + case 4: + r0 = (s.row___804001 + 1); + s.row___804001 = (r0); + { step = 2; continue; } + case 5: + r0 = (s.col___803995 + 1); + s.col___803995 = (r0); + { step = 1; continue; } + case 6: + r0 = false; + case 7: + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_isOnWall__P792447.info = {"start":16873,"length":627,"line":534,"column":8,"endLine":551,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOnWall","argumentNames":["this","s"]} + +function tiles_TileMap_isOnWall__P792447_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_isOnWall__P792447, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + hbox___803968: undefined, + left___803971: undefined, + right___803977: undefined, + top___803983: undefined, + bottom___803989: undefined, + col___803995: undefined, + row___804001: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function MovingSprite_constructor__P792215(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.arg6 = (s.lambdaArgs[6]); + s.arg7 = (s.lambdaArgs[7]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, MovingSprite__C792214_VT)) failedCast(r0); + r0 = (s.arg0).fields["sprite"] = (s.arg1); + r0 = (s.arg0).fields["cachedVx"] = (s.arg2); + r0 = (s.arg0).fields["cachedVy"] = (s.arg3); + r0 = (s.arg0).fields["dx"] = (s.arg4); + r0 = (s.arg0).fields["dy"] = (s.arg5); + r0 = (s.arg0).fields["xStep"] = (s.arg6); + r0 = (s.arg0).fields["yStep"] = (s.arg7); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +MovingSprite_constructor__P792215.info = {"start":949,"length":313,"line":33,"column":4,"endLine":44,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["this","sprite","cachedVx","cachedVy","dx","dy","xStep","yStep"]} + +function MovingSprite_constructor__P792215_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: MovingSprite_constructor__P792215, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, + arg6: undefined, + arg7: undefined, +} } + + + + + +function ArcadePhysicsEngine_move__P792228(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.dtMs___804938 = undefined; + s.dt2___804944 = undefined; + s.scene___804948 = undefined; + s.tileMap___804951 = undefined; + s.movingSprites___804954 = undefined; + s.MAX_STEP_COUNT___804985 = undefined; + s.overlapHandlers___804997 = undefined; + s.selected___805004 = undefined; + s.buffers___805005 = undefined; + s.count___805009 = undefined; + s.currMovers___805019 = undefined; + s.remainingMovers___805026 = undefined; + s.ms___805031 = undefined; + s.unnamed16774___U13 = undefined; + s.unnamed16775___U14 = undefined; + s.s___805033 = undefined; + s.stepX___805126 = undefined; + s.stepY___805140 = undefined; + s.bounce___805203 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + s.tmp_0 = Math_min__P789819_mk(s); + s.tmp_0.arg0 = 100; + r0 = (s.arg1 * 1000); + s.tmp_0.arg1 = r0; + s.callLocIdx = 539; s.pc = 53; return s.tmp_0; + case 53: + r0 = s.retval; + s.dtMs___804938 = (r0); + r0 = pxsim.Math_.idiv(s.dtMs___804938, 2); + s.dt2___804944 = (r0); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 540; s.pc = 54; return s.tmp_0; + case 54: + r0 = s.retval; + s.scene___804948 = (r0); + r0 = s.scene___804948.fields["tileMap"]; + s.tileMap___804951 = (r0); + r0 = pxsim_pxtcore_mkAction(3, movingSprites_inline__P804956); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtMs___804938); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___804944); + s.tmp_1 = helpers_arrayMap__P789794_mk(s); + r0 = s.arg0.fields["sprites"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 542; s.pc = 55; return s.tmp_1; + case 55: + r0 = s.retval; + s.movingSprites___804954 = (r0); + s.tmp_0 = helpers_arrayForEach__P789797_mk(s); + r0 = s.arg0.fields["sprites"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = ArcadePhysicsEngine_move_inline__P804968; + s.callLocIdx = 546; s.pc = 56; return s.tmp_0; + case 56: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_clear__P792141_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 547; s.pc = 57; return s.tmp_0; + case 57: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_resizeBuckets__P792140_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["sprites"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 548; s.pc = 58; return s.tmp_0; + case 58: + r0 = s.retval; + r0 = s.arg0.fields["maxVelocity"]; + s.tmp_3 = r0; + r0 = s.arg0.fields["minSingleStep"]; + s.tmp_4 = r0; + r0 = (s.tmp_3 << 8); + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(s.tmp_5, s.tmp_4); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.dtMs___804938); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 1000); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 128); + s.tmp_6 = r0; + r0 = (s.tmp_6 >> 8); + s.MAX_STEP_COUNT___804985 = (r0); + s.tmp_0 = helpers_arraySlice__P789803_mk(s); + r0 = s.scene___804948.fields["overlapHandlers"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = undefined; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 553; s.pc = 59; return s.tmp_0; + case 59: + r0 = s.retval; + s.overlapHandlers___804997 = (r0); + s.selected___805004 = (0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___804954); + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + s.buffers___805005 = (s.tmp_0); + s.count___805009 = (0); + case 1: + r0 = (s.count___805009 < s.MAX_STEP_COUNT___804985); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 2; continue; } + r0 = s.tmp_0; + { step = 3; continue; } + case 2: + r0 = pxsim_Array__getAt(s.buffers___805005, s.selected___805004); + s.tmp_2 = r0; + r0 = pxsim_Array__length(s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_1 !== 0); + case 3: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 52; continue; } + r0 = pxsim_Array__getAt(s.buffers___805005, s.selected___805004); + s.currMovers___805019 = (r0); + r0 = (s.selected___805004 ^ 1); + s.selected___805004 = (r0); + r0 = pxsim_Array__getAt(s.buffers___805005, s.selected___805004); + s.remainingMovers___805026 = (r0); + s.ms___805031 = (undefined); + s.unnamed16774___U13 = (s.currMovers___805019); + s.unnamed16775___U14 = (0); + case 4: + s.tmp_0 = r0 = s.unnamed16775___U14; + r0 = pxsim_Array__length(s.unnamed16774___U13); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 49; continue; } + r0 = pxsim_Array__getAt(s.unnamed16774___U13, s.unnamed16775___U14); + s.ms___805031 = (r0); + r0 = s.ms___805031.fields["sprite"]; + s.s___805033 = (r0); + r0 = s.ms___805031.fields["cachedVx"]; + s.tmp_1 = r0; + r0 = s.s___805033.fields["_vx"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 !== s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = s.s___805033.fields["_vx"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 == 0); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 5; continue; } + r0 = (s.ms___805031).fields["dx"] = (0); + { step = 14; continue; } + case 5: + r0 = s.s___805033.fields["_vx"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 6; continue; } + r0 = s.tmp_0; + { step = 7; continue; } + case 6: + r0 = s.ms___805031.fields["cachedVx"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 > 0); + case 7: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (!r0) { step = 8; continue; } + r0 = s.tmp_3; + { step = 11; continue; } + case 8: + r0 = s.s___805033.fields["_vx"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 > 0); + s.tmp_4 = r0; + r0 = pxsim_numops_toBool(s.tmp_4); + if (r0) { step = 9; continue; } + r0 = s.tmp_4; + { step = 10; continue; } + case 9: + r0 = s.ms___805031.fields["cachedVx"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 < 0); + case 10: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = s.tmp_7; + case 11: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + if (!r0) { step = 12; continue; } + s.tmp_9 = r0 = s.ms___805031; + r0 = s.ms___805031.fields["dx"]; + s.tmp_11 = r0; + r0 = (0 - s.tmp_11); + s.tmp_10 = r0; + r0 = (s.tmp_9).fields["dx"] = (s.tmp_10); + s.tmp_0 = r0 = s.ms___805031; + r0 = s.ms___805031.fields["xStep"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["xStep"] = (s.tmp_1); + case 12: + case 13: + case 14: + r0 = s.s___805033.fields["_vx"]; + s.tmp_0 = r0; + r0 = (s.ms___805031).fields["cachedVx"] = (s.tmp_0); + case 15: + case 16: + r0 = s.ms___805031.fields["cachedVy"]; + s.tmp_1 = r0; + r0 = s.s___805033.fields["_vy"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 !== s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 27; continue; } + r0 = s.s___805033.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 == 0); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 17; continue; } + r0 = (s.ms___805031).fields["dy"] = (0); + { step = 26; continue; } + case 17: + r0 = s.s___805033.fields["_vy"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 18; continue; } + r0 = s.tmp_0; + { step = 19; continue; } + case 18: + r0 = s.ms___805031.fields["cachedVy"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 > 0); + case 19: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (!r0) { step = 20; continue; } + r0 = s.tmp_3; + { step = 23; continue; } + case 20: + r0 = s.s___805033.fields["_vy"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 > 0); + s.tmp_4 = r0; + r0 = pxsim_numops_toBool(s.tmp_4); + if (r0) { step = 21; continue; } + r0 = s.tmp_4; + { step = 22; continue; } + case 21: + r0 = s.ms___805031.fields["cachedVy"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 < 0); + case 22: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = s.tmp_7; + case 23: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + if (!r0) { step = 24; continue; } + s.tmp_9 = r0 = s.ms___805031; + r0 = s.ms___805031.fields["dy"]; + s.tmp_11 = r0; + r0 = (0 - s.tmp_11); + s.tmp_10 = r0; + r0 = (s.tmp_9).fields["dy"] = (s.tmp_10); + s.tmp_0 = r0 = s.ms___805031; + r0 = s.ms___805031.fields["yStep"]; + s.tmp_2 = r0; + r0 = (0 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["yStep"] = (s.tmp_1); + case 24: + case 25: + case 26: + r0 = s.s___805033.fields["_vy"]; + s.tmp_0 = r0; + r0 = (s.ms___805031).fields["cachedVy"] = (s.tmp_0); + case 27: + case 28: + s.tmp_2 = Fx_abs__P789853_mk(s); + r0 = s.ms___805031.fields["xStep"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 558; s.pc = 60; return s.tmp_2; + case 60: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = Fx_abs__P789853_mk(s); + r0 = s.ms___805031.fields["dx"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 559; s.pc = 61; return s.tmp_4; + case 61: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 > s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 29; continue; } + r0 = s.ms___805031.fields["dx"]; + { step = 30; continue; } + case 29: + r0 = s.ms___805031.fields["xStep"]; + case 30: + // jmp value (already in r0) + s.tmp_5 = r0; + s.stepX___805126 = (s.tmp_5); + s.tmp_2 = Fx_abs__P789853_mk(s); + r0 = s.ms___805031.fields["yStep"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 560; s.pc = 62; return s.tmp_2; + case 62: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = Fx_abs__P789853_mk(s); + r0 = s.ms___805031.fields["dy"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 561; s.pc = 63; return s.tmp_4; + case 63: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 > s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 31; continue; } + r0 = s.ms___805031.fields["dy"]; + { step = 32; continue; } + case 31: + r0 = s.ms___805031.fields["yStep"]; + case 32: + // jmp value (already in r0) + s.tmp_5 = r0; + s.stepY___805140 = (s.tmp_5); + s.tmp_0 = r0 = s.ms___805031; + r0 = s.ms___805031.fields["dx"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.stepX___805126); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dx"] = (s.tmp_1); + s.tmp_0 = r0 = s.ms___805031; + r0 = s.ms___805031.fields["dy"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.stepY___805140); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dy"] = (s.tmp_1); + r0 = s.s___805033.fields["_x"]; + s.tmp_0 = r0; + r0 = (s.s___805033).fields["_lastX"] = (s.tmp_0); + r0 = s.s___805033.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.s___805033).fields["_lastY"] = (s.tmp_0); + s.tmp_0 = r0 = s.s___805033; + r0 = s.s___805033.fields["_x"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.stepX___805126); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.s___805033; + r0 = s.s___805033.fields["_y"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.stepY___805140); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); + r0 = s.s___805033.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 4610); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 33; continue; } + s.tmp_4 = sprites_SpriteMap_insertAABB__P792142_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.s___805033; + s.callLocIdx = 566; s.pc = 64; return s.tmp_4; + case 64: + r0 = s.retval; + case 33: + case 34: + s.tmp_0 = r0 = s.tileMap___804951; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 35; continue; } + r0 = s.tmp_0; + { step = 36; continue; } + case 35: + r0 = s.tileMap___804951.fields["_map"]; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + case 36: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 37; continue; } + s.tmp_6 = ArcadePhysicsEngine_tilemapCollisions__P794463_mk(s); + s.tmp_6.arg0 = s.arg0; + s.tmp_6.arg1 = s.ms___805031; + s.tmp_6.arg2 = s.tileMap___804951; + s.callLocIdx = 568; s.pc = 65; return s.tmp_6; + case 65: + r0 = s.retval; + case 37: + case 38: + r0 = s.s___805033.fields["flags"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 & 32); + s.bounce___805203 = (r0); + r0 = s.s___805033.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 8); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 39; continue; } + r0 = s.tmp_0; + { step = 42; continue; } + case 39: + s.tmp_2 = r0 = s.bounce___805203; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 40; continue; } + r0 = s.tmp_2; + { step = 41; continue; } + case 40: + r0 = pxsim_numops_toBoolDecr(s.tileMap___804951); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 41: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + case 42: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 43; continue; } + s.tmp_6 = ArcadePhysicsEngine_screenEdgeCollisions__P794462_mk(s); + s.tmp_6.arg0 = s.arg0; + s.tmp_6.arg1 = s.ms___805031; + s.tmp_6.arg2 = s.bounce___805203; + r0 = s.scene___804948.fields["camera"]; + s.tmp_6.arg3 = r0; + s.callLocIdx = 569; s.pc = 66; return s.tmp_6; + case 66: + r0 = s.retval; + case 43: + case 44: + s.tmp_2 = Fx_abs__P789853_mk(s); + r0 = s.ms___805031.fields["dx"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 570; s.pc = 67; return s.tmp_2; + case 67: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___792210); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 45; continue; } + r0 = s.tmp_0; + { step = 46; continue; } + case 45: + s.tmp_4 = Fx_abs__P789853_mk(s); + r0 = s.ms___805031.fields["dy"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 571; s.pc = 68; return s.tmp_4; + case 68: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___792210); + case 46: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 47; continue; } + r0 = pxsim_Array__push(s.remainingMovers___805026, s.ms___805031); + case 47: + case 48: + r0 = (s.unnamed16775___U14 + 1); + s.unnamed16775___U14 = (r0); + { step = 4; continue; } + case 49: + s.unnamed16774___U13 = (undefined); + s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P794461_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.currMovers___805019; + s.tmp_0.arg2 = s.overlapHandlers___804997; + s.callLocIdx = 572; s.pc = 69; return s.tmp_0; + case 69: + r0 = s.retval; + case 50: + r0 = pxsim_Array__length(s.currMovers___805019); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 51; continue; } + r0 = pxsim_Array_.pop(s.currMovers___805019); + { step = 50; continue; } + case 51: + r0 = (s.count___805009 + 1); + s.count___805009 = (r0); + { step = 1; continue; } + case 52: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_move__P792228.info = {"start":2822,"length":4105,"line":112,"column":4,"endLine":215,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]} + +function ArcadePhysicsEngine_move__P792228_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_move__P792228, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + dtMs___804938: undefined, + dt2___804944: undefined, + scene___804948: undefined, + tileMap___804951: undefined, + movingSprites___804954: undefined, + MAX_STEP_COUNT___804985: undefined, + overlapHandlers___804997: undefined, + selected___805004: undefined, + buffers___805005: undefined, + count___805009: undefined, + currMovers___805019: undefined, + remainingMovers___805026: undefined, + ms___805031: undefined, + unnamed16774___U13: undefined, + unnamed16775___U14: undefined, + s___805033: undefined, + stepX___805126: undefined, + stepY___805140: undefined, + bounce___805203: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function movingSprites_inline__P804956(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = ArcadePhysicsEngine_createMovingSprite__P794460_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.caps[1]; + s.tmp_0.arg3 = s.caps[2]; + s.callLocIdx = 541; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +movingSprites_inline__P804956.info = {"start":3181,"length":52,"line":121,"column":17,"endLine":121,"endColumn":69,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["sprite"]} + +function movingSprites_inline__P804956_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: movingSprites_inline__P804956, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_move_inline__P804968(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_1 = Sprite_vx__P792047_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 543; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_2 = Sprite_vy__P792049_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 544; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + s.tmp_4 = Sprite_clearObstacles__P792114_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 545; s.pc = 7; return s.tmp_4; + case 7: + r0 = s.retval; + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_move_inline__P804968.info = {"start":3316,"length":66,"line":124,"column":29,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["s"]} + +function ArcadePhysicsEngine_move_inline__P804968_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_move_inline__P804968, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_screenEdgeCollisions__P794462(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.s___805786 = undefined; + s.offset___805801 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg1.fields["sprite"]; + s.s___805786 = (r0); + r0 = s.s___805786.fields["_image"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.isStatic(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_4 = Sprite__C792030_v4_1_mk(s); + s.tmp_4.arg0 = s.s___805786; + if (!checkSubtype(s.tmp_4.arg0, Sprite__C792030_VT)) failedCast(s.tmp_4.arg0); + s.tmp_4.fn = s.tmp_4.arg0.vtable.methods.setHitbox; + s.pc = 21; return s.tmp_4; + case 21: + r0 = s.retval; + case 1: + case 2: + s.tmp_3 = scene_Camera_isUpdated__P792486_mk(s); + s.tmp_3.arg0 = s.arg3; + s.callLocIdx = 617; s.pc = 22; return s.tmp_3; + case 22: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_4 = scene_Camera_update__P792487_mk(s); + s.tmp_4.arg0 = s.arg3; + s.callLocIdx = 618; s.pc = 23; return s.tmp_4; + case 23: + r0 = s.retval; + case 3: + case 4: + s.tmp_2 = game_Hitbox_left__P791905_mk(s); + r0 = s.s___805786.fields["_hitbox"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 619; s.pc = 24; return s.tmp_2; + case 24: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 / 256); + s.tmp_0 = r0; + r0 = s.arg3.fields["_offsetX"]; + s.tmp_3 = r0; + r0 = (s.tmp_0 - s.tmp_3); + s.offset___805801 = (r0); + r0 = (s.offset___805801 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_1 = Sprite_left__P792089_mk(s); + s.tmp_2 = r0 = s.s___805786; + s.tmp_1.arg0 = r0; + s.tmp_4 = Sprite_left__P792088_mk(s); + s.tmp_4.arg0 = s.tmp_2; + s.callLocIdx = 622; s.pc = 26; return s.tmp_4; + case 26: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 - s.offset___805801); + s.tmp_1.arg1 = r0; + s.callLocIdx = 623; s.pc = 25; return s.tmp_1; + case 25: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 5; continue; } + s.tmp_0 = Sprite_vx__P792048_mk(s); + s.tmp_0.arg0 = s.s___805786; + s.tmp_2 = Sprite_vx__P792047_mk(s); + s.tmp_2.arg0 = s.s___805786; + s.callLocIdx = 624; s.pc = 28; return s.tmp_2; + case 28: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 625; s.pc = 27; return s.tmp_0; + case 27: + r0 = s.retval; + case 5: + case 6: + { step = 12; continue; } + case 7: + s.tmp_4 = game_Hitbox_right__P791907_mk(s); + r0 = s.s___805786.fields["_hitbox"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 626; s.pc = 29; return s.tmp_4; + case 29: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / 256); + s.tmp_2 = r0; + r0 = s.arg3.fields["_offsetX"]; + s.tmp_5 = r0; + r0 = (s.tmp_2 - s.tmp_5); + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_6 = r0; + r0 = (s.tmp_1 - s.tmp_6); + s.tmp_0 = r0; + s.offset___805801 = (r0); + r0 = (s.tmp_0 > 0); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 10; continue; } + s.tmp_8 = Sprite_right__P792091_mk(s); + s.tmp_9 = r0 = s.s___805786; + s.tmp_8.arg0 = r0; + s.tmp_11 = Sprite_right__P792090_mk(s); + s.tmp_11.arg0 = s.tmp_9; + s.callLocIdx = 629; s.pc = 31; return s.tmp_11; + case 31: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_10 - s.offset___805801); + s.tmp_8.arg1 = r0; + s.callLocIdx = 630; s.pc = 30; return s.tmp_8; + case 30: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 8; continue; } + s.tmp_0 = Sprite_vx__P792048_mk(s); + s.tmp_0.arg0 = s.s___805786; + s.tmp_2 = Sprite_vx__P792047_mk(s); + s.tmp_2.arg0 = s.s___805786; + s.callLocIdx = 631; s.pc = 33; return s.tmp_2; + case 33: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 632; s.pc = 32; return s.tmp_0; + case 32: + r0 = s.retval; + case 8: + case 9: + case 10: + case 11: + case 12: + s.tmp_3 = game_Hitbox_top__P791906_mk(s); + r0 = s.s___805786.fields["_hitbox"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 633; s.pc = 34; return s.tmp_3; + case 34: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 / 256); + s.tmp_1 = r0; + r0 = s.arg3.fields["_offsetY"]; + s.tmp_4 = r0; + r0 = (s.tmp_1 - s.tmp_4); + s.tmp_0 = r0; + s.offset___805801 = (r0); + r0 = (s.tmp_0 < 0); + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 15; continue; } + s.tmp_6 = Sprite_top__P792093_mk(s); + s.tmp_7 = r0 = s.s___805786; + s.tmp_6.arg0 = r0; + s.tmp_9 = Sprite_top__P792092_mk(s); + s.tmp_9.arg0 = s.tmp_7; + s.callLocIdx = 636; s.pc = 36; return s.tmp_9; + case 36: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 - s.offset___805801); + s.tmp_6.arg1 = r0; + s.callLocIdx = 637; s.pc = 35; return s.tmp_6; + case 35: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 13; continue; } + s.tmp_0 = Sprite_vy__P792050_mk(s); + s.tmp_0.arg0 = s.s___805786; + s.tmp_2 = Sprite_vy__P792049_mk(s); + s.tmp_2.arg0 = s.s___805786; + s.callLocIdx = 638; s.pc = 38; return s.tmp_2; + case 38: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 639; s.pc = 37; return s.tmp_0; + case 37: + r0 = s.retval; + case 13: + case 14: + { step = 20; continue; } + case 15: + s.tmp_4 = game_Hitbox_bottom__P791908_mk(s); + r0 = s.s___805786.fields["_hitbox"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 640; s.pc = 39; return s.tmp_4; + case 39: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / 256); + s.tmp_2 = r0; + r0 = s.arg3.fields["_offsetY"]; + s.tmp_5 = r0; + r0 = (s.tmp_2 - s.tmp_5); + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_6 = r0; + r0 = (s.tmp_1 - s.tmp_6); + s.tmp_0 = r0; + s.offset___805801 = (r0); + r0 = (s.tmp_0 > 0); + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 18; continue; } + s.tmp_8 = Sprite_bottom__P792095_mk(s); + s.tmp_9 = r0 = s.s___805786; + s.tmp_8.arg0 = r0; + s.tmp_11 = Sprite_bottom__P792094_mk(s); + s.tmp_11.arg0 = s.tmp_9; + s.callLocIdx = 643; s.pc = 41; return s.tmp_11; + case 41: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_10 - s.offset___805801); + s.tmp_8.arg1 = r0; + s.callLocIdx = 644; s.pc = 40; return s.tmp_8; + case 40: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 16; continue; } + s.tmp_0 = Sprite_vy__P792050_mk(s); + s.tmp_0.arg0 = s.s___805786; + s.tmp_2 = Sprite_vy__P792049_mk(s); + s.tmp_2.arg0 = s.s___805786; + s.callLocIdx = 645; s.pc = 43; return s.tmp_2; + case 43: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 646; s.pc = 42; return s.tmp_0; + case 42: + r0 = s.retval; + case 16: + case 17: + case 18: + case 19: + case 20: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_screenEdgeCollisions__P794462.info = {"start":12018,"length":905,"line":355,"column":4,"endLine":377,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"screenEdgeCollisions","argumentNames":["this","movingSprite","bounce","camera"]} + +function ArcadePhysicsEngine_screenEdgeCollisions__P794462_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_screenEdgeCollisions__P794462, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + s___805786: undefined, + offset___805801: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function scene_Camera_isUpdated__P792486(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["sprite"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 1: + s.tmp_5 = Sprite_x__P792043_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_5.arg0 = r0; + s.callLocIdx = 889; s.pc = 5; return s.tmp_5; + case 5: + r0 = s.retval; + s.tmp_4 = r0; + r0 = s.arg0.fields["_lastUpdatedSpriteX"]; + s.tmp_6 = r0; + r0 = (s.tmp_4 === s.tmp_6); + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (r0) { step = 2; continue; } + r0 = s.tmp_3; + { step = 3; continue; } + case 2: + s.tmp_8 = Sprite_y__P792045_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_8.arg0 = r0; + s.callLocIdx = 890; s.pc = 6; return s.tmp_8; + case 6: + r0 = s.retval; + s.tmp_7 = r0; + r0 = s.arg0.fields["_lastUpdatedSpriteY"]; + s.tmp_9 = r0; + r0 = (s.tmp_7 === s.tmp_9); + case 3: + // jmp value (already in r0) + s.tmp_10 = r0; + r0 = s.tmp_10; + case 4: + // jmp value (already in r0) + s.tmp_11 = r0; + r0 = s.tmp_11; + return leave(s, r0) + default: oops() +} } } +scene_Camera_isUpdated__P792486.info = {"start":2403,"length":150,"line":79,"column":8,"endLine":81,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"isUpdated","argumentNames":["this"]} + +function scene_Camera_isUpdated__P792486_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_isUpdated__P792486, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + arg0: undefined, +} } + + + + + +function Sprite_bottom__P792095(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P792093_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Sprite_height__P792087_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 364; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0.arg1 = r0; + s.callLocIdx = 365; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_bottom__P792095.info = {"start":12204,"length":73,"line":440,"column":4,"endLine":442,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this","value"]} + +function Sprite_bottom__P792095_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_bottom__P792095, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_bottom__P792094(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_1 = Sprite_top__P792092_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 362; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Sprite_height__P792087_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 363; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_bottom__P792094.info = {"start":12052,"length":59,"line":435,"column":4,"endLine":437,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this"]} +Sprite_bottom__P792094.isGetter = true; + +function Sprite_bottom__P792094_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_bottom__P792094, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function Sprite_right__P792091(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P792089_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Sprite_width__P792086_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 356; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0.arg1 = r0; + s.callLocIdx = 357; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_right__P792091.info = {"start":11367,"length":71,"line":410,"column":4,"endLine":412,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this","value"]} + +function Sprite_right__P792091_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_right__P792091, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_right__P792090(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_1 = Sprite_left__P792088_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 354; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Sprite_width__P792086_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 355; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_right__P792090.info = {"start":11218,"length":57,"line":405,"column":4,"endLine":407,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this"]} +Sprite_right__P792090.isGetter = true; + +function Sprite_right__P792090_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_right__P792090, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_spriteCollisions__P794461(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ms___805260 = undefined; + s.unnamed16776___U1 = undefined; + s.unnamed16777___U2 = undefined; + s.sprite___805262 = undefined; + s.overSprites___805269 = undefined; + s.overlapper___805277 = undefined; + s.unnamed16778___U6 = undefined; + s.unnamed16779___U7 = undefined; + s.thisKind___805283 = undefined; + s.otherKind___805287 = undefined; + s.higher___805300 = undefined; + s.lower___805309 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = pxsim_Array__length(s.arg2); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 21; continue; } + case 1: + case 2: + s.ms___805260 = (undefined); + s.unnamed16776___U1 = (s.arg1); + s.unnamed16777___U2 = (0); + case 3: + s.tmp_0 = r0 = s.unnamed16777___U2; + r0 = pxsim_Array__length(s.unnamed16776___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 20; continue; } + r0 = pxsim_Array__getAt(s.unnamed16776___U1, s.unnamed16777___U2); + s.ms___805260 = (r0); + r0 = s.ms___805260.fields["sprite"]; + s.sprite___805262 = (r0); + r0 = s.sprite___805262.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4610); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + { step = 19; continue; } + case 4: + case 5: + s.tmp_2 = sprites_SpriteMap_overlaps__P792138_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_2.arg0 = r0; + r0 = s.ms___805260.fields["sprite"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 610; s.pc = 22; return s.tmp_2; + case 22: + r0 = s.retval; + s.overSprites___805269 = (r0); + s.overlapper___805277 = (undefined); + s.unnamed16778___U6 = (s.overSprites___805269); + s.unnamed16779___U7 = (0); + case 6: + s.tmp_0 = r0 = s.unnamed16779___U7; + r0 = pxsim_Array__length(s.unnamed16778___U6); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 18; continue; } + r0 = pxsim_Array__getAt(s.unnamed16778___U6, s.unnamed16779___U7); + s.overlapper___805277 = (r0); + r0 = s.overlapper___805277.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 4610); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 7; continue; } + { step = 17; continue; } + case 7: + case 8: + r0 = s.sprite___805262.fields["_kind"]; + s.thisKind___805283 = (r0); + r0 = s.overlapper___805277.fields["_kind"]; + s.otherKind___805287 = (r0); + r0 = s.sprite___805262.fields["_kindsOverlappedWith"]; + s.tmp_2 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___805287, undefined); + s.tmp_1 = r0; + r0 = (s.tmp_1 === -1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + { step = 17; continue; } + case 9: + case 10: + r0 = s.sprite___805262.fields["id"]; + s.tmp_4 = r0; + r0 = s.overlapper___805277.fields["id"]; + s.tmp_5 = r0; + r0 = (s.tmp_4 > s.tmp_5); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 11; continue; } + r0 = s.sprite___805262; + { step = 12; continue; } + case 11: + r0 = s.overlapper___805277; + case 12: + // jmp value (already in r0) + s.tmp_6 = r0; + s.higher___805300 = (s.tmp_6); + r0 = (s.higher___805300 === s.sprite___805262); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = s.overlapper___805277; + { step = 14; continue; } + case 13: + r0 = s.sprite___805262; + case 14: + // jmp value (already in r0) + s.tmp_1 = r0; + s.lower___805309 = (s.tmp_1); + r0 = s.higher___805300.fields["_overlappers"]; + s.tmp_2 = r0; + r0 = s.lower___805309.fields["id"]; + s.tmp_3 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_2, s.tmp_3, undefined); + s.tmp_1 = r0; + r0 = (s.tmp_1 === -1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P805329); + s.tmp_4 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___805283); + r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___805287); + r0 = pxsim_pxtcore_mkAction(5, ArcadePhysicsEngine_spriteCollisions_inline__P805353); + s.tmp_5 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___805300); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___805309); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.sprite___805262); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.overlapper___805277); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.thisKind___805283); + s.tmp_6 = helpers_arrayForEach__P789797_mk(s); + s.tmp_7 = helpers_arrayFilter__P789798_mk(s); + s.tmp_7.arg0 = s.arg2; + s.tmp_7.arg1 = s.tmp_4; + s.callLocIdx = 613; s.pc = 24; return s.tmp_7; + case 24: + r0 = s.retval; + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = s.tmp_5; + s.callLocIdx = 615; s.pc = 23; return s.tmp_6; + case 23: + r0 = s.retval; + case 15: + case 16: + case 17: + r0 = (s.unnamed16779___U7 + 1); + s.unnamed16779___U7 = (r0); + { step = 6; continue; } + case 18: + s.unnamed16778___U6 = (undefined); + case 19: + r0 = (s.unnamed16777___U2 + 1); + s.unnamed16777___U2 = (r0); + { step = 3; continue; } + case 20: + s.unnamed16776___U1 = (undefined); + case 21: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_spriteCollisions__P794461.info = {"start":9744,"length":2268,"line":309,"column":4,"endLine":353,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"spriteCollisions","argumentNames":["this","movedSprites","handlers"]} + +function ArcadePhysicsEngine_spriteCollisions__P794461_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P794461, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + ms___805260: undefined, + unnamed16776___U1: undefined, + unnamed16777___U2: undefined, + sprite___805262: undefined, + overSprites___805269: undefined, + overlapper___805277: undefined, + unnamed16778___U6: undefined, + unnamed16779___U7: undefined, + thisKind___805283: undefined, + otherKind___805287: undefined, + higher___805300: undefined, + lower___805309: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function forEach_inline__P805329(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0.fields["kind"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 === s.caps[0]); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["otherKind"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 === s.caps[1]); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (!r0) { step = 3; continue; } + r0 = s.tmp_3; + { step = 6; continue; } + case 3: + r0 = s.arg0.fields["kind"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 === s.caps[1]); + s.tmp_4 = r0; + r0 = pxsim_numops_toBool(s.tmp_4); + if (r0) { step = 4; continue; } + r0 = s.tmp_4; + { step = 5; continue; } + case 4: + r0 = s.arg0.fields["otherKind"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 === s.caps[0]); + case 5: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = s.tmp_7; + case 6: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = s.tmp_8; + return leave(s, r0) + default: oops() +} } } +forEach_inline__P805329.info = {"start":11113,"length":137,"line":335,"column":32,"endLine":336,"endColumn":81,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P805329_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P805329, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_spriteCollisions_inline__P805353(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.caps[0].fields["_overlappers"]; + s.tmp_0 = r0; + r0 = s.caps[1].fields["id"]; + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtcore_mkAction(6, ArcadePhysicsEngine_spriteCollisions_inline__P805363); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.caps[2]); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.caps[3]); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.caps[4]); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.caps[0]); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.caps[1]); + r0 = pxsim.control.runInParallel(s.tmp_0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_spriteCollisions_inline__P805353.info = {"start":11310,"length":652,"line":338,"column":33,"endLine":349,"endColumn":25,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function ArcadePhysicsEngine_spriteCollisions_inline__P805353_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P805353, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_spriteCollisions_inline__P805363(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + r0 = s.caps[0].fields["flags"]; + s.tmp_4 = r0; + r0 = s.caps[1].fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_4 | s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 & 4610); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.caps[2].fields["kind"]; + s.tmp_7 = r0; + r0 = (s.caps[3] === s.tmp_7); + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 1; continue; } + r0 = s.caps[0]; + { step = 2; continue; } + case 1: + r0 = s.caps[1]; + case 2: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = s.caps[2].fields["kind"]; + s.tmp_10 = r0; + r0 = (s.caps[3] === s.tmp_10); + s.tmp_9 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_9); + if (!r0) { step = 3; continue; } + r0 = s.caps[1]; + { step = 4; continue; } + case 3: + r0 = s.caps[0]; + case 4: + // jmp value (already in r0) + s.tmp_11 = r0; + s.tmp_12 = if_handler_3_mk(s); + s.tmp_12.arg0 = s.caps[2]; + s.tmp_12.arg1 = s.tmp_8; + s.tmp_12.arg2 = s.tmp_11; + if (!s.tmp_12.arg0.vtable.iface) { + setupLambda(s.tmp_12, pxsim_pxtrt.mapGetByString(s.tmp_12.arg0, "handler"), 3); + s.callLocIdx = 614; s.pc = 7; return s.tmp_12; + } else { + s.tmp_12.fn = s.tmp_12.arg0.vtable.iface["handler"]; + if (s.tmp_12.fn == null) { setupLambda(s.tmp_12, s.tmp_12.arg0.fields["handler"], 3); s.callLocIdx = 614; s.pc = 7; return s.tmp_12; } + else if (s.tmp_12.fn.isGetter) { s.tmp_12.stage2Call = true; s.callLocIdx = 614; s.pc = 7; return s.tmp_12;; } + else { s.callLocIdx = 614; s.pc = 7; return s.tmp_12; } + } + case 7: + r0 = s.retval; + case 5: + case 6: + r0 = s.caps[4].fields["_overlappers"]; + s.tmp_0 = r0; + r0 = s.caps[5].fields["id"]; + s.tmp_1 = r0; + r0 = pxsim_Array_.removeElement(s.tmp_0, s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_spriteCollisions_inline__P805363.info = {"start":11431,"length":503,"line":340,"column":50,"endLine":348,"endColumn":29,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":[]} + +function ArcadePhysicsEngine_spriteCollisions_inline__P805363_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P805363, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, +} } + + + + + +function sprites_SpriteMap_overlaps__P792138(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.n___805397 = undefined; + s.o___805401 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_neighbors__P792137_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 487; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.n___805397 = (r0); + r0 = pxsim_pxtcore_mkAction(1, o_inline__P805403); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + s.tmp_1 = helpers_arrayFilter__P789798_mk(s); + s.tmp_1.arg0 = s.n___805397; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 489; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.o___805401 = (r0); + r0 = s.o___805401; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_overlaps__P792138.info = {"start":923,"length":189,"line":30,"column":8,"endLine":34,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"overlaps","argumentNames":["this","sprite"]} + +function sprites_SpriteMap_overlaps__P792138_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_overlaps__P792138, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + n___805397: undefined, + o___805401: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function o_inline__P805403(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = Sprite_overlapsWith__P792109_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 488; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +o_inline__P805403.info = {"start":1037,"length":41,"line":32,"column":31,"endLine":32,"endColumn":72,"fileName":"pxt_modules/game/spritemap.ts","functionName":"inline","argumentNames":["neighbor"]} + +function o_inline__P805403_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: o_inline__P805403, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_neighbors__P792137(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.n___805668 = undefined; + s.layer___805670 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.n___805668 = (r0); + r0 = s.arg1.fields["layer"]; + s.layer___805670 = (r0); + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P794425_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_left__P792088_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 475; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_top__P792092_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 476; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___805670; + s.tmp_0.arg4 = s.n___805668; + s.callLocIdx = 477; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P794425_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_left__P792088_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 478; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_bottom__P792094_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 479; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___805670; + s.tmp_0.arg4 = s.n___805668; + s.callLocIdx = 480; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P794425_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_right__P792090_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 481; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_top__P792092_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 482; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___805670; + s.tmp_0.arg4 = s.n___805668; + s.callLocIdx = 483; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P794425_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_right__P792090_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 484; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_bottom__P792094_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 485; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___805670; + s.tmp_0.arg4 = s.n___805668; + s.callLocIdx = 486; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + r0 = pxsim_Array_.removeElement(s.n___805668, s.arg1); + r0 = s.n___805668; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_neighbors__P792137.info = {"start":376,"length":442,"line":15,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"neighbors","argumentNames":["this","sprite"]} + +function sprites_SpriteMap_neighbors__P792137_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_neighbors__P792137, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + n___805668: undefined, + layer___805670: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteMap_mergeAtKey__P794425(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.k___805719 = undefined; + s.bucket___805724 = undefined; + s.sprite___805731 = undefined; + s.unnamed16772___U3 = undefined; + s.unnamed16773___U4 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_key__P794423_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 513; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.k___805719 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___805719); + s.bucket___805724 = (r0); + r0 = pxsim_numops_toBoolDecr(s.bucket___805724); + if (!r0) { step = 7; continue; } + s.sprite___805731 = (undefined); + s.unnamed16772___U3 = (s.bucket___805724); + s.unnamed16773___U4 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16773___U4; + r0 = pxsim_Array__length(s.unnamed16772___U3); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed16772___U3, s.unnamed16773___U4); + s.sprite___805731 = (r0); + r0 = s.sprite___805731.fields["layer"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & s.arg3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 2; continue; } + r0 = s.tmp_2; + { step = 3; continue; } + case 2: + r0 = pxsim_Array_.indexOf(s.arg4, s.sprite___805731, undefined); + s.tmp_4 = r0; + r0 = (s.tmp_4 < 0); + case 3: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__push(s.arg4, s.sprite___805731); + case 4: + case 5: + r0 = (s.unnamed16773___U4 + 1); + s.unnamed16773___U4 = (r0); + { step = 1; continue; } + case 6: + s.unnamed16772___U3 = (undefined); + case 7: + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_mergeAtKey__P794425.info = {"start":3715,"length":384,"line":101,"column":8,"endLine":110,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"mergeAtKey","argumentNames":["this","x","y","layer","n"]} + +function sprites_SpriteMap_mergeAtKey__P794425_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_mergeAtKey__P794425, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + k___805719: undefined, + bucket___805724: undefined, + sprite___805731: undefined, + unnamed16772___U3: undefined, + unnamed16773___U4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function sprites_SpriteMap_key__P794423(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.xi___805752 = undefined; + s.yi___805764 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.tmp_0 = Math_clamp__P789815_mk(s); + s.tmp_0.arg0 = 0; + r0 = s.arg0.fields["columnCount"]; + s.tmp_0.arg1 = r0; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.arg1, s.tmp_1); + s.tmp_0.arg2 = r0; + s.callLocIdx = 501; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.xi___805752 = (r0); + s.tmp_0 = Math_clamp__P789815_mk(s); + s.tmp_0.arg0 = 0; + r0 = s.arg0.fields["rowCount"]; + s.tmp_0.arg1 = r0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.arg2, s.tmp_1); + s.tmp_0.arg2 = r0; + s.callLocIdx = 502; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.yi___805764 = (r0); + s.tmp_0 = r0 = s.xi___805752; + r0 = s.arg0.fields["columnCount"]; + s.tmp_2 = r0; + r0 = (s.yi___805764 * s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_key__P794423.info = {"start":2592,"length":270,"line":76,"column":8,"endLine":80,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"key","argumentNames":["this","x","y"]} + +function sprites_SpriteMap_key__P794423_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_key__P794423, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + xi___805752: undefined, + yi___805764: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_overlapsWith__P792109(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.A___805481 = undefined; + s.B___805482 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = (s.arg1 == s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = false; + { step = 27; continue; } + case 1: + case 2: + r0 = s.arg0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & 4610); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = false; + { step = 27; continue; } + case 3: + case 4: + r0 = s.arg1.fields["flags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 & 4610); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 5; continue; } + r0 = false; + { step = 27; continue; } + case 5: + case 6: + r0 = s.arg0.fields["flags"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 & 8192); + s.tmp_5 = r0; + r0 = pxsim_numops_toBool(s.tmp_5); + if (!r0) { step = 7; continue; } + r0 = s.tmp_5; + { step = 8; continue; } + case 7: + r0 = s.arg1.fields["flags"]; + s.tmp_7 = r0; + r0 = (s.tmp_7 & 8192); + case 8: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + if (!r0) { step = 9; continue; } + s.tmp_9 = game_Hitbox_overlapsWith__P791912_mk(s); + r0 = s.arg1.fields["_hitbox"]; + s.tmp_9.arg0 = r0; + r0 = s.arg0.fields["_hitbox"]; + s.tmp_9.arg1 = r0; + s.callLocIdx = 383; s.pc = 28; return s.tmp_9; + case 28: + r0 = s.retval; + { step = 27; continue; } + case 9: + case 10: + s.tmp_13 = game_Hitbox_overlapsWith__P791912_mk(s); + r0 = s.arg1.fields["_hitbox"]; + s.tmp_13.arg0 = r0; + r0 = s.arg0.fields["_hitbox"]; + s.tmp_13.arg1 = r0; + s.callLocIdx = 384; s.pc = 29; return s.tmp_13; + case 29: + r0 = s.retval; + s.tmp_12 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_12); + s.tmp_11 = r0; + r0 = pxsim_Boolean__bang(s.tmp_11); + s.tmp_10 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_10); + if (!r0) { step = 11; continue; } + r0 = false; + { step = 27; continue; } + case 11: + case 12: + s.tmp_17 = Sprite_isScaled__P794416_mk(s); + s.tmp_17.arg0 = s.arg0; + s.callLocIdx = 385; s.pc = 30; return s.tmp_17; + case 30: + r0 = s.retval; + s.tmp_16 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_16); + s.tmp_15 = r0; + r0 = pxsim_Boolean__bang(s.tmp_15); + s.tmp_14 = r0; + r0 = pxsim_numops_toBool(s.tmp_14); + if (r0) { step = 13; continue; } + r0 = s.tmp_14; + { step = 14; continue; } + case 13: + s.tmp_20 = Sprite_isScaled__P794416_mk(s); + s.tmp_20.arg0 = s.arg1; + s.callLocIdx = 386; s.pc = 31; return s.tmp_20; + case 31: + r0 = s.retval; + s.tmp_19 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_19); + s.tmp_18 = r0; + r0 = pxsim_Boolean__bang(s.tmp_18); + case 14: + // jmp value (already in r0) + s.tmp_21 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_21); + if (!r0) { step = 15; continue; } + r0 = s.arg1.fields["_image"]; + s.tmp_22 = r0; + r0 = s.arg0.fields["_image"]; + s.tmp_23 = r0; + s.tmp_26 = Sprite_left__P792088_mk(s); + s.tmp_26.arg0 = s.arg0; + s.callLocIdx = 387; s.pc = 32; return s.tmp_26; + case 32: + r0 = s.retval; + s.tmp_25 = r0; + s.tmp_28 = Sprite_left__P792088_mk(s); + s.tmp_28.arg0 = s.arg1; + s.callLocIdx = 388; s.pc = 33; return s.tmp_28; + case 33: + r0 = s.retval; + s.tmp_27 = r0; + r0 = (s.tmp_25 - s.tmp_27); + s.tmp_24 = r0; + s.tmp_31 = Sprite_top__P792092_mk(s); + s.tmp_31.arg0 = s.arg0; + s.callLocIdx = 389; s.pc = 34; return s.tmp_31; + case 34: + r0 = s.retval; + s.tmp_30 = r0; + s.tmp_33 = Sprite_top__P792092_mk(s); + s.tmp_33.arg0 = s.arg1; + s.callLocIdx = 390; s.pc = 35; return s.tmp_33; + case 35: + r0 = s.retval; + s.tmp_32 = r0; + r0 = (s.tmp_30 - s.tmp_32); + s.tmp_29 = r0; + r0 = pxsim_ImageMethods.overlapsWith(s.tmp_22, s.tmp_23, s.tmp_24, s.tmp_29); + { step = 27; continue; } + { step = 26; continue; } + case 15: + s.tmp_36 = Sprite_sx__P792059_mk(s); + s.tmp_36.arg0 = s.arg0; + s.callLocIdx = 391; s.pc = 36; return s.tmp_36; + case 36: + r0 = s.retval; + s.tmp_35 = r0; + r0 = (s.tmp_35 == 0); + s.tmp_34 = r0; + r0 = pxsim_numops_toBool(s.tmp_34); + if (!r0) { step = 16; continue; } + r0 = s.tmp_34; + { step = 17; continue; } + case 16: + s.tmp_38 = Sprite_sy__P792061_mk(s); + s.tmp_38.arg0 = s.arg0; + s.callLocIdx = 392; s.pc = 37; return s.tmp_38; + case 37: + r0 = s.retval; + s.tmp_37 = r0; + r0 = (s.tmp_37 == 0); + case 17: + // jmp value (already in r0) + s.tmp_39 = r0; + r0 = pxsim_numops_toBool(s.tmp_39); + if (!r0) { step = 18; continue; } + r0 = s.tmp_39; + { step = 19; continue; } + case 18: + s.tmp_41 = Sprite_sx__P792059_mk(s); + s.tmp_41.arg0 = s.arg1; + s.callLocIdx = 393; s.pc = 38; return s.tmp_41; + case 38: + r0 = s.retval; + s.tmp_40 = r0; + r0 = (s.tmp_40 == 0); + case 19: + // jmp value (already in r0) + s.tmp_42 = r0; + r0 = pxsim_numops_toBool(s.tmp_42); + if (!r0) { step = 20; continue; } + r0 = s.tmp_42; + { step = 21; continue; } + case 20: + s.tmp_44 = Sprite_sy__P792061_mk(s); + s.tmp_44.arg0 = s.arg1; + s.callLocIdx = 394; s.pc = 39; return s.tmp_44; + case 39: + r0 = s.retval; + s.tmp_43 = r0; + r0 = (s.tmp_43 == 0); + case 21: + // jmp value (already in r0) + s.tmp_45 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_45); + if (!r0) { step = 22; continue; } + r0 = false; + { step = 27; continue; } + case 22: + case 23: + s.tmp_49 = Sprite_sx__P792059_mk(s); + s.tmp_49.arg0 = s.arg0; + s.callLocIdx = 395; s.pc = 40; return s.tmp_49; + case 40: + r0 = s.retval; + s.tmp_48 = r0; + s.tmp_51 = Sprite_sy__P792061_mk(s); + s.tmp_51.arg0 = s.arg0; + s.callLocIdx = 396; s.pc = 41; return s.tmp_51; + case 41: + r0 = s.retval; + s.tmp_50 = r0; + r0 = (s.tmp_48 * s.tmp_50); + s.tmp_47 = r0; + s.tmp_54 = Sprite_sx__P792059_mk(s); + s.tmp_54.arg0 = s.arg1; + s.callLocIdx = 397; s.pc = 42; return s.tmp_54; + case 42: + r0 = s.retval; + s.tmp_53 = r0; + s.tmp_56 = Sprite_sy__P792061_mk(s); + s.tmp_56.arg0 = s.arg1; + s.callLocIdx = 398; s.pc = 43; return s.tmp_56; + case 43: + r0 = s.retval; + s.tmp_55 = r0; + r0 = (s.tmp_53 * s.tmp_55); + s.tmp_52 = r0; + r0 = (s.tmp_47 < s.tmp_52); + s.tmp_46 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_46); + if (!r0) { step = 24; continue; } + s.A___805481 = (s.arg0); + s.B___805482 = (s.arg1); + { step = 25; continue; } + case 24: + s.A___805481 = (s.arg1); + s.B___805482 = (s.arg0); + case 25: + s.tmp_0 = helpers_imageBlit__P791642_mk(s); + r0 = s.A___805481.fields["_image"]; + s.tmp_0.arg0 = r0; + s.tmp_3 = Sprite_left__P792088_mk(s); + s.tmp_3.arg0 = s.B___805482; + s.callLocIdx = 400; s.pc = 45; return s.tmp_3; + case 45: + r0 = s.retval; + s.tmp_2 = r0; + s.tmp_5 = Sprite_left__P792088_mk(s); + s.tmp_5.arg0 = s.A___805481; + s.callLocIdx = 401; s.pc = 46; return s.tmp_5; + case 46: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1 = r0; + s.tmp_7 = Sprite_sx__P792059_mk(s); + s.tmp_7.arg0 = s.A___805481; + s.callLocIdx = 402; s.pc = 47; return s.tmp_7; + case 47: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_1 / s.tmp_6); + s.tmp_0.arg1 = r0; + s.tmp_10 = Sprite_top__P792092_mk(s); + s.tmp_10.arg0 = s.B___805482; + s.callLocIdx = 403; s.pc = 48; return s.tmp_10; + case 48: + r0 = s.retval; + s.tmp_9 = r0; + s.tmp_12 = Sprite_top__P792092_mk(s); + s.tmp_12.arg0 = s.A___805481; + s.callLocIdx = 404; s.pc = 49; return s.tmp_12; + case 49: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_9 - s.tmp_11); + s.tmp_8 = r0; + s.tmp_14 = Sprite_sy__P792061_mk(s); + s.tmp_14.arg0 = s.A___805481; + s.callLocIdx = 405; s.pc = 50; return s.tmp_14; + case 50: + r0 = s.retval; + s.tmp_13 = r0; + r0 = (s.tmp_8 / s.tmp_13); + s.tmp_0.arg2 = r0; + s.tmp_16 = Sprite_width__P792086_mk(s); + s.tmp_16.arg0 = s.B___805482; + s.callLocIdx = 406; s.pc = 51; return s.tmp_16; + case 51: + r0 = s.retval; + s.tmp_15 = r0; + s.tmp_18 = Sprite_sx__P792059_mk(s); + s.tmp_18.arg0 = s.A___805481; + s.callLocIdx = 407; s.pc = 52; return s.tmp_18; + case 52: + r0 = s.retval; + s.tmp_17 = r0; + r0 = (s.tmp_15 / s.tmp_17); + s.tmp_0.arg3 = r0; + s.tmp_20 = Sprite_height__P792087_mk(s); + s.tmp_20.arg0 = s.B___805482; + s.callLocIdx = 408; s.pc = 53; return s.tmp_20; + case 53: + r0 = s.retval; + s.tmp_19 = r0; + s.tmp_22 = Sprite_sy__P792061_mk(s); + s.tmp_22.arg0 = s.A___805481; + s.callLocIdx = 409; s.pc = 54; return s.tmp_22; + case 54: + r0 = s.retval; + s.tmp_21 = r0; + r0 = (s.tmp_19 / s.tmp_21); + s.tmp_0.arg4 = r0; + r0 = s.B___805482.fields["_image"]; + s.tmp_0.arg5 = r0; + s.tmp_0.arg6 = 0; + s.tmp_0.arg7 = 0; + r0 = s.B___805482.fields["_image"]; + s.tmp_23 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_23); + s.tmp_0.arg8 = r0; + r0 = s.B___805482.fields["_image"]; + s.tmp_24 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_24); + s.tmp_0.arg9 = r0; + s.tmp_0.arg10 = true; + s.tmp_0.arg11 = true; + s.callLocIdx = 413; s.pc = 44; return s.tmp_0; + case 44: + r0 = s.retval; + { step = 27; continue; } + case 26: + r0 = undefined; + case 27: + return leave(s, r0) + default: oops() +} } } +Sprite_overlapsWith__P792109.info = {"start":20623,"length":1735,"line":689,"column":4,"endLine":738,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"overlapsWith","argumentNames":["this","other"]} + +function Sprite_overlapsWith__P792109_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_overlapsWith__P792109, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + tmp_18: undefined, + tmp_19: undefined, + tmp_20: undefined, + tmp_21: undefined, + tmp_22: undefined, + tmp_23: undefined, + tmp_24: undefined, + tmp_25: undefined, + tmp_26: undefined, + tmp_27: undefined, + tmp_28: undefined, + tmp_29: undefined, + tmp_30: undefined, + tmp_31: undefined, + tmp_32: undefined, + tmp_33: undefined, + tmp_34: undefined, + tmp_35: undefined, + tmp_36: undefined, + tmp_37: undefined, + tmp_38: undefined, + tmp_39: undefined, + tmp_40: undefined, + tmp_41: undefined, + tmp_42: undefined, + tmp_43: undefined, + tmp_44: undefined, + tmp_45: undefined, + tmp_46: undefined, + tmp_47: undefined, + tmp_48: undefined, + tmp_49: undefined, + tmp_50: undefined, + tmp_51: undefined, + tmp_52: undefined, + tmp_53: undefined, + tmp_54: undefined, + tmp_55: undefined, + tmp_56: undefined, + A___805481: undefined, + B___805482: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_isScaled__P794416(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_sx"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== 256); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["_sy"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 !== 256); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = s.tmp_3; + return leave(s, r0) + default: oops() +} } } +Sprite_isScaled__P794416.info = {"start":10166,"length":100,"line":369,"column":4,"endLine":371,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isScaled","argumentNames":["this"]} + +function Sprite_isScaled__P794416_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_isScaled__P794416, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function game_Hitbox_overlapsWith__P791912(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + s.tmp_0 = game_Hitbox_updateIfInvalid__P791911_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 249; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + s.tmp_0 = game_Hitbox_updateIfInvalid__P791911_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 250; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + s.tmp_1 = game_Hitbox_contains__P791910_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = game_Hitbox_left__P791905_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 251; s.pc = 21; return s.tmp_2; + case 21: + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.tmp_3 = game_Hitbox_top__P791906_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 252; s.pc = 22; return s.tmp_3; + case 22: + r0 = s.retval; + s.tmp_1.arg2 = r0; + s.callLocIdx = 253; s.pc = 20; return s.tmp_1; + case 20: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = true; + { step = 17; continue; } + case 1: + case 2: + s.tmp_5 = game_Hitbox_contains__P791910_mk(s); + s.tmp_5.arg0 = s.arg0; + s.tmp_6 = game_Hitbox_left__P791905_mk(s); + s.tmp_6.arg0 = s.arg1; + s.callLocIdx = 254; s.pc = 24; return s.tmp_6; + case 24: + r0 = s.retval; + s.tmp_5.arg1 = r0; + s.tmp_7 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_7.arg0 = s.arg1; + s.callLocIdx = 255; s.pc = 25; return s.tmp_7; + case 25: + r0 = s.retval; + s.tmp_5.arg2 = r0; + s.callLocIdx = 256; s.pc = 23; return s.tmp_5; + case 23: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + r0 = true; + { step = 17; continue; } + case 3: + case 4: + s.tmp_9 = game_Hitbox_contains__P791910_mk(s); + s.tmp_9.arg0 = s.arg0; + s.tmp_10 = game_Hitbox_right__P791907_mk(s); + s.tmp_10.arg0 = s.arg1; + s.callLocIdx = 257; s.pc = 27; return s.tmp_10; + case 27: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.tmp_11 = game_Hitbox_top__P791906_mk(s); + s.tmp_11.arg0 = s.arg1; + s.callLocIdx = 258; s.pc = 28; return s.tmp_11; + case 28: + r0 = s.retval; + s.tmp_9.arg2 = r0; + s.callLocIdx = 259; s.pc = 26; return s.tmp_9; + case 26: + r0 = s.retval; + s.tmp_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + if (!r0) { step = 5; continue; } + r0 = true; + { step = 17; continue; } + case 5: + case 6: + s.tmp_13 = game_Hitbox_contains__P791910_mk(s); + s.tmp_13.arg0 = s.arg0; + s.tmp_14 = game_Hitbox_right__P791907_mk(s); + s.tmp_14.arg0 = s.arg1; + s.callLocIdx = 260; s.pc = 30; return s.tmp_14; + case 30: + r0 = s.retval; + s.tmp_13.arg1 = r0; + s.tmp_15 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_15.arg0 = s.arg1; + s.callLocIdx = 261; s.pc = 31; return s.tmp_15; + case 31: + r0 = s.retval; + s.tmp_13.arg2 = r0; + s.callLocIdx = 262; s.pc = 29; return s.tmp_13; + case 29: + r0 = s.retval; + s.tmp_12 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_12); + if (!r0) { step = 7; continue; } + r0 = true; + { step = 17; continue; } + case 7: + case 8: + s.tmp_17 = game_Hitbox_contains__P791910_mk(s); + s.tmp_17.arg0 = s.arg1; + s.tmp_18 = game_Hitbox_left__P791905_mk(s); + s.tmp_18.arg0 = s.arg0; + s.callLocIdx = 263; s.pc = 33; return s.tmp_18; + case 33: + r0 = s.retval; + s.tmp_17.arg1 = r0; + s.tmp_19 = game_Hitbox_top__P791906_mk(s); + s.tmp_19.arg0 = s.arg0; + s.callLocIdx = 264; s.pc = 34; return s.tmp_19; + case 34: + r0 = s.retval; + s.tmp_17.arg2 = r0; + s.callLocIdx = 265; s.pc = 32; return s.tmp_17; + case 32: + r0 = s.retval; + s.tmp_16 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_16); + if (!r0) { step = 9; continue; } + r0 = true; + { step = 17; continue; } + case 9: + case 10: + s.tmp_21 = game_Hitbox_contains__P791910_mk(s); + s.tmp_21.arg0 = s.arg1; + s.tmp_22 = game_Hitbox_left__P791905_mk(s); + s.tmp_22.arg0 = s.arg0; + s.callLocIdx = 266; s.pc = 36; return s.tmp_22; + case 36: + r0 = s.retval; + s.tmp_21.arg1 = r0; + s.tmp_23 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_23.arg0 = s.arg0; + s.callLocIdx = 267; s.pc = 37; return s.tmp_23; + case 37: + r0 = s.retval; + s.tmp_21.arg2 = r0; + s.callLocIdx = 268; s.pc = 35; return s.tmp_21; + case 35: + r0 = s.retval; + s.tmp_20 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_20); + if (!r0) { step = 11; continue; } + r0 = true; + { step = 17; continue; } + case 11: + case 12: + s.tmp_25 = game_Hitbox_contains__P791910_mk(s); + s.tmp_25.arg0 = s.arg1; + s.tmp_26 = game_Hitbox_right__P791907_mk(s); + s.tmp_26.arg0 = s.arg0; + s.callLocIdx = 269; s.pc = 39; return s.tmp_26; + case 39: + r0 = s.retval; + s.tmp_25.arg1 = r0; + s.tmp_27 = game_Hitbox_top__P791906_mk(s); + s.tmp_27.arg0 = s.arg0; + s.callLocIdx = 270; s.pc = 40; return s.tmp_27; + case 40: + r0 = s.retval; + s.tmp_25.arg2 = r0; + s.callLocIdx = 271; s.pc = 38; return s.tmp_25; + case 38: + r0 = s.retval; + s.tmp_24 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_24); + if (!r0) { step = 13; continue; } + r0 = true; + { step = 17; continue; } + case 13: + case 14: + s.tmp_29 = game_Hitbox_contains__P791910_mk(s); + s.tmp_29.arg0 = s.arg1; + s.tmp_30 = game_Hitbox_right__P791907_mk(s); + s.tmp_30.arg0 = s.arg0; + s.callLocIdx = 272; s.pc = 42; return s.tmp_30; + case 42: + r0 = s.retval; + s.tmp_29.arg1 = r0; + s.tmp_31 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_31.arg0 = s.arg0; + s.callLocIdx = 273; s.pc = 43; return s.tmp_31; + case 43: + r0 = s.retval; + s.tmp_29.arg2 = r0; + s.callLocIdx = 274; s.pc = 41; return s.tmp_29; + case 41: + r0 = s.retval; + s.tmp_28 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_28); + if (!r0) { step = 15; continue; } + r0 = true; + { step = 17; continue; } + case 15: + case 16: + r0 = false; + case 17: + return leave(s, r0) + default: oops() +} } } +game_Hitbox_overlapsWith__P791912.info = {"start":2515,"length":695,"line":87,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"overlapsWith","argumentNames":["this","other"]} + +function game_Hitbox_overlapsWith__P791912_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_overlapsWith__P791912, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + tmp_18: undefined, + tmp_19: undefined, + tmp_20: undefined, + tmp_21: undefined, + tmp_22: undefined, + tmp_23: undefined, + tmp_24: undefined, + tmp_25: undefined, + tmp_26: undefined, + tmp_27: undefined, + tmp_28: undefined, + tmp_29: undefined, + tmp_30: undefined, + tmp_31: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_Hitbox_contains__P791910(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Hitbox__C791897_VT)) failedCast(r0); + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = game_Hitbox_left__P791905_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 229; s.pc = 7; return s.tmp_3; + case 7: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 >= s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_4 = r0 = s.arg1; + s.tmp_6 = game_Hitbox_right__P791907_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 230; s.pc = 8; return s.tmp_6; + case 8: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_4 <= s.tmp_5); + case 2: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBool(s.tmp_7); + if (r0) { step = 3; continue; } + r0 = s.tmp_7; + { step = 4; continue; } + case 3: + s.tmp_8 = r0 = s.arg2; + s.tmp_10 = game_Hitbox_top__P791906_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 231; s.pc = 9; return s.tmp_10; + case 9: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_8 >= s.tmp_9); + case 4: + // jmp value (already in r0) + s.tmp_11 = r0; + r0 = pxsim_numops_toBool(s.tmp_11); + if (r0) { step = 5; continue; } + r0 = s.tmp_11; + { step = 6; continue; } + case 5: + s.tmp_12 = r0 = s.arg2; + s.tmp_14 = game_Hitbox_bottom__P791908_mk(s); + s.tmp_14.arg0 = s.arg0; + s.callLocIdx = 232; s.pc = 10; return s.tmp_14; + case 10: + r0 = s.retval; + s.tmp_13 = r0; + r0 = (s.tmp_12 <= s.tmp_13); + case 6: + // jmp value (already in r0) + s.tmp_15 = r0; + r0 = s.tmp_15; + return leave(s, r0) + default: oops() +} } } +game_Hitbox_contains__P791910.info = {"start":1034,"length":144,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"contains","argumentNames":["this","x","y"]} + +function game_Hitbox_contains__P791910_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_contains__P791910, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_imageBlit__P791642(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.arg5 = (s.lambdaArgs[5]); + s.arg6 = (s.lambdaArgs[6]); + s.arg7 = (s.lambdaArgs[7]); + s.arg8 = (s.lambdaArgs[8]); + s.arg9 = (s.lambdaArgs[9]); + s.arg10 = (s.lambdaArgs[10]); + s.arg11 = (s.lambdaArgs[11]); + s.lambdaArgs = null; + } + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_Array__mk(); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + globals._blitArgs___794245 = (s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg1 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 0, s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg2 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 1, s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg3 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 2, s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg4 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 3, s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg6 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 4, s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg7 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 5, s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg8 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 6, s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___794245; + r0 = (s.arg9 | 0); + s.tmp_1 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, 7, s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.arg10); + if (!r0) { step = 3; continue; } + r0 = 1; + { step = 4; continue; } + case 3: + r0 = 0; + case 4: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = pxsim_Array_.setAt(globals._blitArgs___794245, 8, s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.arg11); + if (!r0) { step = 5; continue; } + r0 = 1; + { step = 6; continue; } + case 5: + r0 = 0; + case 6: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = pxsim_Array_.setAt(globals._blitArgs___794245, 9, s.tmp_0); + r0 = pxsim_ImageMethods._blit(s.arg0, s.arg5, globals._blitArgs___794245); + return leave(s, r0) + default: oops() +} } } +helpers_imageBlit__P791642.info = {"start":4459,"length":642,"line":154,"column":4,"endLine":167,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageBlit","argumentNames":["img","xDst","yDst","wDst","hDst","src","xSrc","ySrc","wSrc","hSrc","transparent","check"]} + +function helpers_imageBlit__P791642_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageBlit__P791642, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, + arg6: undefined, + arg7: undefined, + arg8: undefined, + arg9: undefined, + arg10: undefined, + arg11: undefined, +} } + + + + + +function ArcadePhysicsEngine_createMovingSprite__P794460(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ovx___806107 = undefined; + s.ovy___806112 = undefined; + s.fx___806139 = undefined; + s.c___806146 = undefined; + s.fy___806189 = undefined; + s.c___806196 = undefined; + s.dx___806235 = undefined; + s.dy___806248 = undefined; + s.xStep___806261 = undefined; + s.yStep___806263 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + s.tmp_0 = ArcadePhysicsEngine_constrain__P794466_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = s.arg1.fields["_vx"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 573; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.ovx___806107 = (r0); + s.tmp_0 = ArcadePhysicsEngine_constrain__P794466_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = s.arg1.fields["_vy"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 574; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + s.ovy___806112 = (r0); + r0 = s.arg1.fields["_x"]; + s.tmp_0 = r0; + r0 = (s.arg1).fields["_lastX"] = (s.tmp_0); + r0 = s.arg1.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.arg1).fields["_lastY"] = (s.tmp_0); + r0 = s.arg1.fields["_ax"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = r0 = s.arg1; + r0 = s.arg1.fields["_vx"]; + s.tmp_3 = r0; + r0 = s.arg1.fields["_ax"]; + s.tmp_6 = r0; + r0 = pxsim.Math_.imul(s.tmp_6, s.arg2); + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(s.tmp_5, 1000); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vx"] = (s.tmp_2); + { step = 8; continue; } + case 1: + r0 = s.arg1.fields["_fx"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + r0 = s.arg1.fields["_fx"]; + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.arg2); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 1000); + s.fx___806139 = (r0); + r0 = s.arg1.fields["_vx"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.fx___806139); + s.c___806146 = (r0); + r0 = (s.c___806146 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Fx_min__P789854_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vx"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.fx___806139); + s.tmp_3.arg1 = r0; + s.callLocIdx = 582; s.pc = 27; return s.tmp_3; + case 27: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vx"] = (s.tmp_2); + { step = 5; continue; } + case 2: + r0 = (s.c___806146 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Fx_max__P789855_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vx"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.fx___806139); + s.tmp_3.arg1 = r0; + s.callLocIdx = 584; s.pc = 28; return s.tmp_3; + case 28: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vx"] = (s.tmp_2); + { step = 4; continue; } + case 3: + r0 = (s.arg1).fields["_vx"] = (0); + case 4: + case 5: + case 6: + case 7: + case 8: + r0 = s.arg1.fields["_ay"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tmp_1 = r0 = s.arg1; + r0 = s.arg1.fields["_vy"]; + s.tmp_3 = r0; + r0 = s.arg1.fields["_ay"]; + s.tmp_6 = r0; + r0 = pxsim.Math_.imul(s.tmp_6, s.arg2); + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(s.tmp_5, 1000); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vy"] = (s.tmp_2); + { step = 16; continue; } + case 9: + r0 = s.arg1.fields["_fy"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = s.arg1.fields["_fy"]; + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.arg2); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 1000); + s.fy___806189 = (r0); + r0 = s.arg1.fields["_vy"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.fy___806189); + s.c___806196 = (r0); + r0 = (s.c___806196 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 10; continue; } + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Fx_min__P789854_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.fy___806189); + s.tmp_3.arg1 = r0; + s.callLocIdx = 592; s.pc = 29; return s.tmp_3; + case 29: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vy"] = (s.tmp_2); + { step = 13; continue; } + case 10: + r0 = (s.c___806196 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Fx_max__P789855_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.fy___806189); + s.tmp_3.arg1 = r0; + s.callLocIdx = 594; s.pc = 30; return s.tmp_3; + case 30: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["_vy"] = (s.tmp_2); + { step = 12; continue; } + case 11: + r0 = (s.arg1).fields["_vy"] = (0); + case 12: + case 13: + case 14: + case 15: + case 16: + s.tmp_0 = r0 = s.arg1; + s.tmp_2 = ArcadePhysicsEngine_constrain__P794466_mk(s); + s.tmp_2.arg0 = s.arg0; + r0 = s.arg1.fields["_vx"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 595; s.pc = 31; return s.tmp_2; + case 31: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg1; + s.tmp_2 = ArcadePhysicsEngine_constrain__P794466_mk(s); + s.tmp_2.arg0 = s.arg0; + r0 = s.arg1.fields["_vy"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 596; s.pc = 32; return s.tmp_2; + case 32: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + r0 = s.arg1.fields["_vx"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.ovx___806107); + s.tmp_3 = r0; + r0 = (s.tmp_3 / 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 * s.arg3); + s.tmp_1 = r0; + r0 = (s.tmp_1 / 1000); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.dx___806235 = (r0); + r0 = s.arg1.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.ovy___806112); + s.tmp_3 = r0; + r0 = (s.tmp_3 / 256); + s.tmp_2 = r0; + r0 = (s.tmp_2 * s.arg3); + s.tmp_1 = r0; + r0 = (s.tmp_1 / 1000); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.dy___806248 = (r0); + s.xStep___806261 = (s.dx___806235); + s.yStep___806263 = (s.dy___806248); + case 17: + s.tmp_2 = Fx_abs__P789853_mk(s); + s.tmp_2.arg0 = s.xStep___806261; + s.callLocIdx = 603; s.pc = 33; return s.tmp_2; + case 33: + r0 = s.retval; + s.tmp_1 = r0; + r0 = s.arg0.fields["maxSingleStep"]; + s.tmp_3 = r0; + r0 = (s.tmp_1 > s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 18; continue; } + r0 = s.tmp_0; + { step = 19; continue; } + case 18: + s.tmp_5 = Fx_abs__P789853_mk(s); + s.tmp_5.arg0 = s.yStep___806263; + s.callLocIdx = 604; s.pc = 34; return s.tmp_5; + case 34: + r0 = s.retval; + s.tmp_4 = r0; + r0 = s.arg0.fields["maxSingleStep"]; + s.tmp_6 = r0; + r0 = (s.tmp_4 > s.tmp_6); + case 19: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 24; continue; } + s.tmp_10 = Fx_abs__P789853_mk(s); + s.tmp_10.arg0 = s.xStep___806261; + s.callLocIdx = 605; s.pc = 35; return s.tmp_10; + case 35: + r0 = s.retval; + s.tmp_9 = r0; + r0 = s.arg0.fields["minSingleStep"]; + s.tmp_11 = r0; + r0 = (s.tmp_9 > s.tmp_11); + s.tmp_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + if (!r0) { step = 20; continue; } + r0 = pxsim.Math_.idiv(s.xStep___806261, 2); + s.xStep___806261 = (r0); + case 20: + case 21: + s.tmp_2 = Fx_abs__P789853_mk(s); + s.tmp_2.arg0 = s.yStep___806263; + s.callLocIdx = 607; s.pc = 36; return s.tmp_2; + case 36: + r0 = s.retval; + s.tmp_1 = r0; + r0 = s.arg0.fields["minSingleStep"]; + s.tmp_3 = r0; + r0 = (s.tmp_1 > s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = pxsim.Math_.idiv(s.yStep___806263, 2); + s.yStep___806263 = (r0); + case 22: + case 23: + { step = 17; continue; } + case 24: + r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C792214_VT); + s.tmp_0 = r0; + s.tmp_1 = MovingSprite_constructor__P792215_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg1; + r0 = s.arg1.fields["_vx"]; + s.tmp_1.arg2 = r0; + r0 = s.arg1.fields["_vy"]; + s.tmp_1.arg3 = r0; + s.tmp_1.arg4 = s.dx___806235; + s.tmp_1.arg5 = s.dy___806248; + s.tmp_1.arg6 = s.xStep___806261; + s.tmp_1.arg7 = s.yStep___806263; + s.callLocIdx = 609; s.pc = 37; return s.tmp_1; + case 37: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_createMovingSprite__P794460.info = {"start":6933,"length":2805,"line":217,"column":4,"endLine":307,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"createMovingSprite","argumentNames":["this","sprite","dtMs","dt2"]} + +function ArcadePhysicsEngine_createMovingSprite__P794460_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P794460, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + ovx___806107: undefined, + ovy___806112: undefined, + fx___806139: undefined, + c___806146: undefined, + fy___806189: undefined, + c___806196: undefined, + dx___806235: undefined, + dy___806248: undefined, + xStep___806261: undefined, + yStep___806263: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function ArcadePhysicsEngine_constrain__P794466(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + s.tmp_0 = Fx_max__P789855_mk(s); + s.tmp_1 = Fx_min__P789854_mk(s); + r0 = s.arg0.fields["maxVelocity"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 785; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["maxNegativeVelocity"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 786; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_constrain__P794466.info = {"start":27343,"length":193,"line":761,"column":4,"endLine":769,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"constrain","argumentNames":["this","v"]} + +function ArcadePhysicsEngine_constrain__P794466_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_constrain__P794466, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_compare__P789852(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 - s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_compare__P789852.info = {"start":1395,"length":106,"line":41,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"compare","argumentNames":["a","b"]} + +function Fx_compare__P789852_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_compare__P789852, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteMap_insertAABB__P792142(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.left___805927 = undefined; + s.top___805930 = undefined; + s.xn___805933 = undefined; + s.yn___805944 = undefined; + s.x___805955 = undefined; + s.y___805960 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P792088_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 504; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.left___805927 = (r0); + s.tmp_0 = Sprite_top__P792092_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 505; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.top___805930 = (r0); + s.tmp_3 = Sprite_width__P792086_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 506; s.pc = 7; return s.tmp_3; + case 7: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_4 = r0; + r0 = (s.tmp_2 + s.tmp_4); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0 = r0; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5); + s.xn___805933 = (r0); + s.tmp_3 = Sprite_height__P792087_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 507; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_4 = r0; + r0 = (s.tmp_2 + s.tmp_4); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0 = r0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, s.tmp_5); + s.yn___805944 = (r0); + s.x___805955 = (0); + case 1: + r0 = (s.x___805955 <= s.xn___805933); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.y___805960 = (0); + case 2: + r0 = (s.y___805960 <= s.yn___805944); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_1 = sprites_SpriteMap_insertAtKey__P794424_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = r0 = s.left___805927; + s.tmp_4 = Math_min__P789819_mk(s); + s.tmp_5 = Sprite_width__P792086_mk(s); + s.tmp_5.arg0 = s.arg1; + s.callLocIdx = 508; s.pc = 11; return s.tmp_5; + case 11: + r0 = s.retval; + s.tmp_4.arg0 = r0; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_6 = r0; + r0 = (s.x___805955 * s.tmp_6); + s.tmp_4.arg1 = r0; + s.callLocIdx = 509; s.pc = 10; return s.tmp_4; + case 10: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1.arg1 = r0; + s.tmp_7 = r0 = s.top___805930; + s.tmp_9 = Math_min__P789819_mk(s); + s.tmp_10 = Sprite_height__P792087_mk(s); + s.tmp_10.arg0 = s.arg1; + s.callLocIdx = 510; s.pc = 13; return s.tmp_10; + case 13: + r0 = s.retval; + s.tmp_9.arg0 = r0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_11 = r0; + r0 = (s.y___805960 * s.tmp_11); + s.tmp_9.arg1 = r0; + s.callLocIdx = 511; s.pc = 12; return s.tmp_9; + case 12: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_7 + s.tmp_8); + s.tmp_1.arg2 = r0; + s.tmp_1.arg3 = s.arg1; + s.callLocIdx = 512; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = (s.y___805960 + 1); + s.y___805960 = (r0); + { step = 2; continue; } + case 3: + r0 = (s.x___805955 + 1); + s.x___805955 = (r0); + { step = 1; continue; } + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_insertAABB__P792142.info = {"start":3184,"length":521,"line":91,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"insertAABB","argumentNames":["this","sprite"]} + +function sprites_SpriteMap_insertAABB__P792142_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_insertAABB__P792142, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + left___805927: undefined, + top___805930: undefined, + xn___805933: undefined, + yn___805944: undefined, + x___805955: undefined, + y___805960: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteMap_insertAtKey__P794424(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.k___805995 = undefined; + s.bucket___806000 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_key__P794423_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 503; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.k___805995 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___805995); + s.bucket___806000 = (r0); + r0 = pxsim_numops_toBoolDecr(s.bucket___806000); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["buckets"]; + s.tmp_2 = r0; + s.tmp_3 = r0 = s.k___805995; + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4); + s.bucket___806000 = (s.tmp_4); + case 1: + case 2: + r0 = pxsim_Array_.indexOf(s.bucket___806000, s.arg3, undefined); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_Array__push(s.bucket___806000, s.arg3); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_insertAtKey__P794424.info = {"start":2872,"length":302,"line":82,"column":8,"endLine":89,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"insertAtKey","argumentNames":["this","x","y","sprite"]} + +function sprites_SpriteMap_insertAtKey__P794424_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_insertAtKey__P794424, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + k___805995: undefined, + bucket___806000: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function sprites_SpriteMap_clear__P792141(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["buckets"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_clear__P792141.info = {"start":2532,"length":50,"line":72,"column":8,"endLine":74,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"clear","argumentNames":["this"]} + +function sprites_SpriteMap_clear__P792141_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_clear__P792141, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_resizeBuckets__P792140(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.maxWidth___806030 = undefined; + s.maxHeight___806031 = undefined; + s.sprite___806033 = undefined; + s.unnamed16770___U3 = undefined; + s.unnamed16771___U4 = undefined; + s.tMap___806049 = undefined; + s.areaWidth___806053 = undefined; + s.areaHeight___806060 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.maxWidth___806030 = (0); + s.maxHeight___806031 = (0); + s.sprite___806033 = (undefined); + s.unnamed16770___U3 = (s.arg1); + s.unnamed16771___U4 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16771___U4; + r0 = pxsim_Array__length(s.unnamed16770___U3); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed16770___U3, s.unnamed16771___U4); + s.sprite___806033 = (r0); + s.tmp_4 = Sprite_width__P792086_mk(s); + s.tmp_4.arg0 = s.sprite___806033; + s.callLocIdx = 492; s.pc = 11; return s.tmp_4; + case 11: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 > s.maxWidth___806030); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + s.tmp_5 = Sprite_width__P792086_mk(s); + s.tmp_5.arg0 = s.sprite___806033; + s.callLocIdx = 493; s.pc = 12; return s.tmp_5; + case 12: + r0 = s.retval; + s.maxWidth___806030 = (r0); + case 2: + case 3: + s.tmp_2 = Sprite_height__P792087_mk(s); + s.tmp_2.arg0 = s.sprite___806033; + s.callLocIdx = 494; s.pc = 13; return s.tmp_2; + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.maxHeight___806031); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_3 = Sprite_height__P792087_mk(s); + s.tmp_3.arg0 = s.sprite___806033; + s.callLocIdx = 495; s.pc = 14; return s.tmp_3; + case 14: + r0 = s.retval; + s.maxHeight___806031 = (r0); + case 4: + case 5: + r0 = (s.unnamed16771___U4 + 1); + s.unnamed16771___U4 = (r0); + { step = 1; continue; } + case 6: + s.unnamed16770___U3 = (undefined); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 496; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tMap___806049 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tMap___806049); + if (!r0) { step = 7; continue; } + s.tmp_0 = tiles_TileMap_areaWidth__P792432_mk(s); + s.tmp_0.arg0 = s.tMap___806049; + s.callLocIdx = 497; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + { step = 8; continue; } + case 7: + r0 = pxsim_ImageMethods.width(globals.screen___791721); + case 8: + // jmp value (already in r0) + s.tmp_1 = r0; + s.areaWidth___806053 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.tMap___806049); + if (!r0) { step = 9; continue; } + s.tmp_0 = tiles_TileMap_areaHeight__P792433_mk(s); + s.tmp_0.arg0 = s.tMap___806049; + s.callLocIdx = 498; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + { step = 10; continue; } + case 9: + r0 = pxsim_ImageMethods.height(globals.screen___791721); + case 10: + // jmp value (already in r0) + s.tmp_1 = r0; + s.areaHeight___806060 = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Math_clamp__P789815_mk(s); + s.tmp_2.arg0 = 8; + r0 = (s.areaWidth___806053 >> 2); + s.tmp_2.arg1 = r0; + r0 = (s.maxWidth___806030 * 2); + s.tmp_2.arg2 = r0; + s.callLocIdx = 499; s.pc = 18; return s.tmp_2; + case 18: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["cellWidth"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Math_clamp__P789815_mk(s); + s.tmp_2.arg0 = 8; + r0 = (s.areaHeight___806060 >> 2); + s.tmp_2.arg1 = r0; + r0 = (s.maxHeight___806031 * 2); + s.tmp_2.arg2 = r0; + s.callLocIdx = 500; s.pc = 19; return s.tmp_2; + case 19: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["cellHeight"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_2 = r0; + r0 = pxsim.Math_.idiv(s.areaHeight___806060, s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["rowCount"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_2 = r0; + r0 = pxsim.Math_.idiv(s.areaWidth___806053, s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["columnCount"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_resizeBuckets__P792140.info = {"start":1696,"length":826,"line":52,"column":8,"endLine":70,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"resizeBuckets","argumentNames":["this","sprites"]} + +function sprites_SpriteMap_resizeBuckets__P792140_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_resizeBuckets__P792140, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + maxWidth___806030: undefined, + maxHeight___806031: undefined, + sprite___806033: undefined, + unnamed16770___U3: undefined, + unnamed16771___U4: undefined, + tMap___806049: undefined, + areaWidth___806053: undefined, + areaHeight___806060: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_clearObstacles__P792114(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_obstacles"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_clearObstacles__P792114.info = {"start":24932,"length":54,"line":813,"column":4,"endLine":815,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"clearObstacles","argumentNames":["this"]} + +function Sprite_clearObstacles__P792114_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_clearObstacles__P792114, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Fx_idiv__P789851(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim.Math_.idiv(s.arg0, s.arg1); + return leave(s, r0) + default: oops() +} } } +Fx_idiv__P789851.info = {"start":1279,"length":111,"line":38,"column":4,"endLine":40,"endColumn":5,"fileName":"pxt_modules/base/fixed.ts","functionName":"idiv","argumentNames":["a","b"]} + +function Fx_idiv__P789851_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_idiv__P789851, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_arrayMap__P789794(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.res___806325 = undefined; + s.len___806327 = undefined; + s.i___806330 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___806325 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___806327 = (r0); + s.i___806330 = (0); + case 1: + r0 = (s.i___806330 < s.len___806327); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.res___806325; + s.tmp_3 = lambda_3_mk(s); + s.tmp_3.argL = s.arg1; + r0 = pxsim_Array__getAt(s.arg0, s.i___806330); + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.i___806330; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 3; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___806330 + 1); + s.i___806330 = (r0); + { step = 1; continue; } + case 2: + r0 = s.res___806325; + return leave(s, r0) + default: oops() +} } } +helpers_arrayMap__P789794.info = {"start":6528,"length":299,"line":229,"column":4,"endLine":236,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayMap","argumentNames":["arr","callbackfn"]} + +function helpers_arrayMap__P789794_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayMap__P789794, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + res___806325: undefined, + len___806327: undefined, + i___806330: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function ArcadePhysicsEngine_draw__P792227(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_draw__P792139_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 538; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_draw__P792227.info = {"start":2777,"length":39,"line":108,"column":4,"endLine":110,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"draw","argumentNames":["this"]} + +function ArcadePhysicsEngine_draw__P792227_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_draw__P792227, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_draw__P792139(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.x___806351 = undefined; + s.y___806357 = undefined; + s.left___806363 = undefined; + s.top___806368 = undefined; + s.k___806373 = undefined; + s.b___806378 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C792135_VT)) failedCast(r0); + s.x___806351 = (0); + case 1: + r0 = s.arg0.fields["columnCount"]; + s.tmp_1 = r0; + r0 = (s.x___806351 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.y___806357 = (0); + case 2: + r0 = s.arg0.fields["rowCount"]; + s.tmp_1 = r0; + r0 = (s.y___806357 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = s.arg0.fields["cellWidth"]; + s.tmp_2 = r0; + r0 = (s.x___806351 * s.tmp_2); + s.left___806363 = (r0); + r0 = s.arg0.fields["cellHeight"]; + s.tmp_0 = r0; + r0 = (s.y___806357 * s.tmp_0); + s.top___806368 = (r0); + s.tmp_0 = sprites_SpriteMap_key__P794423_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.left___806363; + s.tmp_0.arg2 = s.top___806368; + s.callLocIdx = 490; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.k___806373 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___806373); + s.b___806378 = (r0); + s.tmp_0 = r0 = s.b___806378; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = pxsim_Array__length(s.b___806378); + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 5; continue; } + s.tmp_2 = helpers_imageDrawRect__P791648_mk(s); + s.tmp_2.arg0 = globals.screen___791721; + s.tmp_2.arg1 = s.left___806363; + s.tmp_2.arg2 = s.top___806368; + r0 = s.arg0.fields["cellWidth"]; + s.tmp_2.arg3 = r0; + r0 = s.arg0.fields["cellHeight"]; + s.tmp_2.arg4 = r0; + s.tmp_2.arg5 = 5; + s.callLocIdx = 491; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; + case 5: + case 6: + r0 = (s.y___806357 + 1); + s.y___806357 = (r0); + { step = 2; continue; } + case 7: + r0 = (s.x___806351 + 1); + s.x___806351 = (r0); + { step = 1; continue; } + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_draw__P792139.info = {"start":1122,"length":496,"line":36,"column":8,"endLine":47,"endColumn":9,"fileName":"pxt_modules/game/spritemap.ts","functionName":"draw","argumentNames":["this"]} + +function sprites_SpriteMap_draw__P792139_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_draw__P792139, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + x___806351: undefined, + y___806357: undefined, + left___806363: undefined, + top___806368: undefined, + k___806373: undefined, + b___806378: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_removeSprite__P792226(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg0.fields["sprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_removeSprite__P792226.info = {"start":2691,"length":80,"line":104,"column":4,"endLine":106,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"removeSprite","argumentNames":["this","sprite"]} + +function ArcadePhysicsEngine_removeSprite__P792226_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_removeSprite__P792226, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function ArcadePhysicsEngine_addSprite__P792225(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.tm___806415 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C792216_VT)) failedCast(r0); + r0 = s.arg0.fields["sprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.arg1); + s.tmp_0 = game_currentScene__P792688_mk(s); + s.callLocIdx = 536; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tm___806415 = (r0); + s.tmp_0 = r0 = s.tm___806415; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_1 = tiles_TileMap_isOnWall__P792447_mk(s); + s.tmp_1.arg0 = s.tm___806415; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 537; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + s.tmp_3 = r0 = s.arg1; + r0 = s.tmp_3.fields["flags"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 | 256); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["flags"] = (s.tmp_4); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_addSprite__P792225.info = {"start":2465,"length":220,"line":96,"column":4,"endLine":102,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"addSprite","argumentNames":["this","sprite"]} + +function ArcadePhysicsEngine_addSprite__P792225_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_addSprite__P792225, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tm___806415: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMapData_constructor__P792407(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = (s.arg0).fields["data"] = (s.arg1); + r0 = (s.arg0).fields["layers"] = (s.arg2); + r0 = (s.arg0).fields["tileset"] = (s.arg3); + s.tmp_0 = tiles_TileMapData_scale__P792411_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg4; + s.callLocIdx = 808; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.BufferMethods.getNumber(s.arg1, 4, 0); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_width"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.BufferMethods.getNumber(s.arg1, 4, 2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_height"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_constructor__P792407.info = {"start":6048,"length":358,"line":204,"column":8,"endLine":212,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","data","layers","tileset","scale"]} + +function tiles_TileMapData_constructor__P792407_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_constructor__P792407, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function tiles_TileMapData_scale__P792411(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMapData__C792406_VT)) failedCast(r0); + r0 = (s.arg0).fields["_scale"] = (s.arg1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["cachedTileView"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_scale__P792411.info = {"start":6640,"length":102,"line":226,"column":8,"endLine":229,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this","s"]} + +function tiles_TileMapData_scale__P792411_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_scale__P792411, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_constructor__P792426(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = (s.arg0).fields["_layer"] = (1); + s.tmp_0 = tiles_TileMap_scale__P792428_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 814; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, tiles_TileMap_inline__P806476); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = r0 = s.arg0; + s.tmp_3 = scene_createRenderable__P792494_mk(s); + s.tmp_3.arg0 = -1; + s.tmp_3.arg1 = s.tmp_0; + s.tmp_3.arg2 = undefined; + s.callLocIdx = 816; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["renderable"] = (s.tmp_2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_constructor__P792426.info = {"start":8927,"length":268,"line":300,"column":8,"endLine":308,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["this","scale"]} + +function tiles_TileMap_constructor__P792426_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_constructor__P792426, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_inline__P806476(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = tiles_TileMap_draw__P794536_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 815; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_inline__P806476.info = {"start":9145,"length":25,"line":306,"column":16,"endLine":306,"endColumn":41,"fileName":"pxt_modules/game/tilemap.ts","functionName":"inline","argumentNames":["t","c"]} + +function tiles_TileMap_inline__P806476_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_inline__P806476, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_draw__P794536(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.bitmask___806487 = undefined; + s.offsetX___806493 = undefined; + s.offsetY___806498 = undefined; + s.x0___806503 = undefined; + s.xn___806510 = undefined; + s.y0___806527 = undefined; + s.yn___806534 = undefined; + s.x___806551 = undefined; + s.y___806557 = undefined; + s.index___806563 = undefined; + s.tile___806570 = undefined; + s.x___806606 = undefined; + s.xLine___806612 = undefined; + s.y___806638 = undefined; + s.yLine___806644 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_Boolean__bang(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 23; continue; } + case 1: + case 2: + r0 = s.arg0.fields["_scale"]; + s.tmp_8 = r0; + r0 = (1 << s.tmp_8); + s.tmp_7 = r0; + r0 = (s.tmp_7 - 1); + s.bitmask___806487 = (r0); + r0 = s.arg2.fields["drawOffsetX"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 & s.bitmask___806487); + s.offsetX___806493 = (r0); + r0 = s.arg2.fields["drawOffsetY"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 & s.bitmask___806487); + s.offsetY___806498 = (r0); + s.tmp_0 = Math_max__P789818_mk(s); + s.tmp_0.arg0 = 0; + r0 = s.arg2.fields["drawOffsetX"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 >> s.tmp_2); + s.tmp_0.arg1 = r0; + s.callLocIdx = 834; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.x0___806503 = (r0); + s.tmp_0 = Math_min__P789819_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["_width"]; + s.tmp_0.arg0 = r0; + r0 = s.arg2.fields["drawOffsetX"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.arg1); + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.tmp_3 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_6 = r0; + r0 = (s.tmp_3 >> s.tmp_6); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 837; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.xn___806510 = (r0); + s.tmp_0 = Math_max__P789818_mk(s); + s.tmp_0.arg0 = 0; + r0 = s.arg2.fields["drawOffsetY"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_2 = r0; + r0 = (s.tmp_1 >> s.tmp_2); + s.tmp_0.arg1 = r0; + s.callLocIdx = 839; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + s.y0___806527 = (r0); + s.tmp_0 = Math_min__P789819_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["_height"]; + s.tmp_0.arg0 = r0; + r0 = s.arg2.fields["drawOffsetY"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.height(s.arg1); + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.tmp_3 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_6 = r0; + r0 = (s.tmp_3 >> s.tmp_6); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 842; s.pc = 27; return s.tmp_0; + case 27: + r0 = s.retval; + s.yn___806534 = (r0); + s.x___806551 = (s.x0___806503); + case 3: + r0 = (s.x___806551 <= s.xn___806510); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.y___806557 = (s.y0___806527); + case 4: + r0 = (s.y___806557 <= s.yn___806534); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_1 = tiles_TileMapData_getTile__P792412_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.x___806551; + s.tmp_1.arg2 = s.y___806557; + s.callLocIdx = 843; s.pc = 28; return s.tmp_1; + case 28: + r0 = s.retval; + s.index___806563 = (r0); + s.tmp_0 = tiles_TileMapData_getTileImage__P792415_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___806563; + s.callLocIdx = 844; s.pc = 29; return s.tmp_0; + case 29: + r0 = s.retval; + s.tile___806570 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tile___806570); + if (!r0) { step = 5; continue; } + s.tmp_0 = r0 = s.arg1; + s.tmp_1 = r0 = s.tile___806570; + r0 = (s.x___806551 - s.x0___806503); + s.tmp_4 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_5 = r0; + r0 = (s.tmp_4 << s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 - s.offsetX___806493); + s.tmp_2 = r0; + r0 = (s.y___806557 - s.y0___806527); + s.tmp_8 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_9 = r0; + r0 = (s.tmp_8 << s.tmp_9); + s.tmp_7 = r0; + r0 = (s.tmp_7 - s.offsetY___806498); + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6); + case 5: + case 6: + r0 = (s.y___806557 + 1); + s.y___806557 = (r0); + { step = 4; continue; } + case 7: + r0 = (s.x___806551 + 1); + s.x___806551 = (r0); + { step = 3; continue; } + case 8: + r0 = pxsim_numops_toBoolDecr(globals.debug___792656); + if (!r0) { step = 21; continue; } + s.x___806606 = (s.x0___806503); + case 9: + r0 = (s.x___806606 <= s.xn___806510); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.x___806606 - s.x0___806503); + s.tmp_2 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 << s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.offsetX___806493); + s.xLine___806612 = (r0); + r0 = (s.xLine___806612 >= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 10; continue; } + r0 = s.tmp_0; + { step = 11; continue; } + case 10: + s.tmp_1 = r0 = s.xLine___806612; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_2 = r0; + r0 = (s.tmp_1 <= s.tmp_2); + case 11: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 12; continue; } + s.tmp_4 = helpers_imageDrawLine__P791647_mk(s); + s.tmp_4.arg0 = s.arg1; + s.tmp_4.arg1 = s.xLine___806612; + s.tmp_4.arg2 = 0; + s.tmp_4.arg3 = s.xLine___806612; + r0 = pxsim_ImageMethods.height(s.arg1); + s.tmp_4.arg4 = r0; + s.tmp_4.arg5 = 1; + s.callLocIdx = 848; s.pc = 30; return s.tmp_4; + case 30: + r0 = s.retval; + case 12: + case 13: + r0 = (s.x___806606 + 1); + s.x___806606 = (r0); + { step = 9; continue; } + case 14: + s.y___806638 = (s.y0___806527); + case 15: + r0 = (s.y___806638 <= s.yn___806534); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + r0 = (s.y___806638 - s.y0___806527); + s.tmp_2 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 << s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.offsetY___806498); + s.yLine___806644 = (r0); + r0 = (s.yLine___806644 >= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 16; continue; } + r0 = s.tmp_0; + { step = 17; continue; } + case 16: + s.tmp_1 = r0 = s.yLine___806644; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_2 = r0; + r0 = (s.tmp_1 <= s.tmp_2); + case 17: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 18; continue; } + s.tmp_4 = helpers_imageDrawLine__P791647_mk(s); + s.tmp_4.arg0 = s.arg1; + s.tmp_4.arg1 = 0; + s.tmp_4.arg2 = s.yLine___806644; + r0 = pxsim_ImageMethods.width(s.arg1); + s.tmp_4.arg3 = r0; + s.tmp_4.arg4 = s.yLine___806644; + s.tmp_4.arg5 = 1; + s.callLocIdx = 850; s.pc = 31; return s.tmp_4; + case 31: + r0 = s.retval; + case 18: + case 19: + r0 = (s.y___806638 + 1); + s.y___806638 = (r0); + { step = 15; continue; } + case 20: + case 21: + case 22: + case 23: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_draw__P794536.info = {"start":13998,"length":2224,"line":458,"column":8,"endLine":513,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"draw","argumentNames":["this","target","camera"]} + +function tiles_TileMap_draw__P794536_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_draw__P794536, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + bitmask___806487: undefined, + offsetX___806493: undefined, + offsetY___806498: undefined, + x0___806503: undefined, + xn___806510: undefined, + y0___806527: undefined, + yn___806534: undefined, + x___806551: undefined, + y___806557: undefined, + index___806563: undefined, + tile___806570: undefined, + x___806606: undefined, + xLine___806612: undefined, + y___806638: undefined, + yLine___806644: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMap_scale__P792428(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = (s.arg0).fields["_scale"] = (s.arg1); + r0 = s.arg0.fields["_map"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = tiles_TileMapData_scale__P792411_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 817; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_scale__P792428.info = {"start":9270,"length":144,"line":314,"column":8,"endLine":319,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this","s"]} + +function tiles_TileMap_scale__P792428_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_scale__P792428, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_data__P792429(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_TileMap__C792424_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMap_data__P792429.info = {"start":9424,"length":65,"line":321,"column":8,"endLine":323,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"data","argumentNames":["this"]} +tiles_TileMap_data__P792429.isGetter = true; + +function tiles_TileMap_data__P792429_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_data__P792429, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Sprite_toString__P792123(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = pxsim_String_.mkEmpty(); + s.tmp_9 = r0; + r0 = s.arg0.fields["id"]; + s.tmp_11 = r0; + if ((s.tmp_11) && (s.tmp_11).vtable) { + setupResume(s, 1); + pxsim_String__stringConv(s.tmp_11); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_11) + ""; } + case 1: + r0 = s.retval; + s.tmp_10 = r0; + r0 = pxsim_String__concat(s.tmp_9, s.tmp_10); + s.tmp_8 = r0; + r0 = pxsim_String__concat(s.tmp_8, "("); + s.tmp_7 = r0; + s.tmp_14 = Sprite_x__P792043_mk(s); + s.tmp_14.arg0 = s.arg0; + s.callLocIdx = 443; s.pc = 2; return s.tmp_14; + case 2: + r0 = s.retval; + s.tmp_13 = r0; + if ((s.tmp_13) && (s.tmp_13).vtable) { + setupResume(s, 3); + pxsim_String__stringConv(s.tmp_13); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_13) + ""; } + case 3: + r0 = s.retval; + s.tmp_12 = r0; + r0 = pxsim_String__concat(s.tmp_7, s.tmp_12); + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_6, ","); + s.tmp_5 = r0; + s.tmp_17 = Sprite_y__P792045_mk(s); + s.tmp_17.arg0 = s.arg0; + s.callLocIdx = 444; s.pc = 4; return s.tmp_17; + case 4: + r0 = s.retval; + s.tmp_16 = r0; + if ((s.tmp_16) && (s.tmp_16).vtable) { + setupResume(s, 5); + pxsim_String__stringConv(s.tmp_16); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_16) + ""; } + case 5: + r0 = s.retval; + s.tmp_15 = r0; + r0 = pxsim_String__concat(s.tmp_5, s.tmp_15); + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_4, ")->("); + s.tmp_3 = r0; + s.tmp_20 = Sprite_vx__P792047_mk(s); + s.tmp_20.arg0 = s.arg0; + s.callLocIdx = 445; s.pc = 6; return s.tmp_20; + case 6: + r0 = s.retval; + s.tmp_19 = r0; + if ((s.tmp_19) && (s.tmp_19).vtable) { + setupResume(s, 7); + pxsim_String__stringConv(s.tmp_19); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_19) + ""; } + case 7: + r0 = s.retval; + s.tmp_18 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_18); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, ","); + s.tmp_1 = r0; + s.tmp_23 = Sprite_vy__P792049_mk(s); + s.tmp_23.arg0 = s.arg0; + s.callLocIdx = 446; s.pc = 8; return s.tmp_23; + case 8: + r0 = s.retval; + s.tmp_22 = r0; + if ((s.tmp_22) && (s.tmp_22).vtable) { + setupResume(s, 9); + pxsim_String__stringConv(s.tmp_22); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_22) + ""; } + case 9: + r0 = s.retval; + s.tmp_21 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_21); + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, ")"); + return leave(s, r0) + default: oops() +} } } +Sprite_toString__P792123.info = {"start":34111,"length":93,"line":1066,"column":4,"endLine":1068,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"toString","argumentNames":["this"]} + +function Sprite_toString__P792123_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_toString__P792123, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + tmp_18: undefined, + tmp_19: undefined, + tmp_20: undefined, + tmp_21: undefined, + tmp_22: undefined, + tmp_23: undefined, + arg0: undefined, +} } + + + + + +function Sprite___update__P792105(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_2 = r0 = s.arg0; + r0 = s.tmp_2.fields["lifespan"]; + s.tmp_4 = r0; + r0 = (s.arg2 * 1000); + s.tmp_5 = r0; + r0 = (s.tmp_4 - s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["lifespan"] = (s.tmp_3); + r0 = s.arg0.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (s.arg0).fields["lifespan"] = (undefined); + s.tmp_0 = Sprite__destroyCore__P792118_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 380; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + case 1: + case 2: + case 3: + case 4: + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 4); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + s.tmp_2 = Sprite_isOutOfScreen__P792103_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 381; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + case 6: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 7; continue; } + s.tmp_4 = Sprite_destroy__P792117_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = undefined; + s.tmp_4.arg2 = undefined; + s.callLocIdx = 382; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + case 7: + case 8: + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tmp_1 = sprites_BaseSpriteSayRenderer__C791948_v1_4_mk(s); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.arg2; + s.tmp_1.arg2 = s.arg1; + s.tmp_1.arg3 = s.arg0; + if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(s.tmp_1.arg0); + s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.update; + s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + case 9: + case 10: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite___update__P792105.info = {"start":18662,"length":483,"line":628,"column":4,"endLine":642,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]} + +function Sprite___update__P792105_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite___update__P792105, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_isOutOfScreen__P792103(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ox___806757 = undefined; + s.oy___806765 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 2; continue; } + case 1: + r0 = s.arg1.fields["drawOffsetX"]; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + s.ox___806757 = (s.tmp_2); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = 0; + { step = 4; continue; } + case 3: + r0 = s.arg1.fields["drawOffsetY"]; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + s.oy___806765 = (s.tmp_2); + s.tmp_3 = Sprite_right__P792090_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 371; s.pc = 11; return s.tmp_3; + case 11: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.ox___806757); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + s.tmp_6 = Sprite_bottom__P792094_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 372; s.pc = 12; return s.tmp_6; + case 12: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.oy___806765); + s.tmp_4 = r0; + r0 = (s.tmp_4 < 0); + case 6: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBool(s.tmp_7); + if (!r0) { step = 7; continue; } + r0 = s.tmp_7; + { step = 8; continue; } + case 7: + s.tmp_10 = Sprite_left__P792088_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 373; s.pc = 13; return s.tmp_10; + case 13: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_9 - s.ox___806757); + s.tmp_8 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_11 = r0; + r0 = (s.tmp_8 > s.tmp_11); + case 8: + // jmp value (already in r0) + s.tmp_12 = r0; + r0 = pxsim_numops_toBool(s.tmp_12); + if (!r0) { step = 9; continue; } + r0 = s.tmp_12; + { step = 10; continue; } + case 9: + s.tmp_15 = Sprite_top__P792092_mk(s); + s.tmp_15.arg0 = s.arg0; + s.callLocIdx = 374; s.pc = 14; return s.tmp_15; + case 14: + r0 = s.retval; + s.tmp_14 = r0; + r0 = (s.tmp_14 - s.oy___806765); + s.tmp_13 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_16 = r0; + r0 = (s.tmp_13 > s.tmp_16); + case 10: + // jmp value (already in r0) + s.tmp_17 = r0; + r0 = s.tmp_17; + return leave(s, r0) + default: oops() +} } } +Sprite_isOutOfScreen__P792103.info = {"start":17830,"length":358,"line":607,"column":4,"endLine":611,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isOutOfScreen","argumentNames":["this","camera"]} + +function Sprite_isOutOfScreen__P792103_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_isOutOfScreen__P792103, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + tmp_13: undefined, + tmp_14: undefined, + tmp_15: undefined, + tmp_16: undefined, + tmp_17: undefined, + ox___806757: undefined, + oy___806765: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSpriteSayRenderer_update__P791951(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSpriteSayRenderer_update__P791951.info = {"start":250,"length":68,"line":9,"column":8,"endLine":11,"endColumn":9,"fileName":"pxt_modules/game/spritesay.ts","functionName":"update","argumentNames":["this","dt","camera","owner"]} + +function sprites_BaseSpriteSayRenderer_update__P791951_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_update__P791951, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Sprite_data__P792066(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = (s.arg0).fields["_data"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_data__P792066.info = {"start":6536,"length":56,"line":241,"column":4,"endLine":243,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"data","argumentNames":["this","value"]} + +function Sprite_data__P792066_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_data__P792066, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_data__P792065(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["_data"]; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_3 = r0 = s.arg0; + r0 = pxsim_pxtrt.mkMap(); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["_data"] = (s.tmp_4); + case 1: + case 2: + r0 = s.arg0.fields["_data"]; + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_data__P792065.info = {"start":6438,"length":92,"line":236,"column":4,"endLine":239,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"data","argumentNames":["this"]} +Sprite_data__P792065.isGetter = true; + +function Sprite_data__P792065_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_data__P792065, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + + + + +function sprites_BaseSprite___update__P791791(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C791783_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite___update__P791791.info = {"start":1027,"length":46,"line":45,"column":8,"endLine":45,"endColumn":54,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]} + +function sprites_BaseSprite___update__P791791_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___update__P791791, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function sprites_BaseSprite___draw__P791789(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C791783_VT)) failedCast(r0); + s.tmp_1 = sprites_BaseSprite__C791783_v0_1_mk(s); + s.tmp_1.arg0 = s.arg0; + if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C791783_VT)) failedCast(s.tmp_1.arg0); + s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.__visible; + s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = sprites_BaseSprite__C791783_v2_2_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C791783_VT)) failedCast(s.tmp_2.arg0); + s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.__drawCore; + s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite___draw__P791789.info = {"start":840,"length":131,"line":37,"column":8,"endLine":41,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__draw","argumentNames":["this","camera"]} + +function sprites_BaseSprite___draw__P791789_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___draw__P791789, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSprite___drawCore__P791790(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C791783_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite___drawCore__P791790.info = {"start":981,"length":36,"line":43,"column":8,"endLine":43,"endColumn":44,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]} + +function sprites_BaseSprite___drawCore__P791790_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___drawCore__P791790, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSprite___visible__P791786(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSprite__C791783_VT)) failedCast(r0); + r0 = true; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite___visible__P791786.info = {"start":524,"length":57,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/basesprite.ts","functionName":"__visible","argumentNames":["this"]} + +function sprites_BaseSprite___visible__P791786_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___visible__P791786, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_BackgroundLayer_constructor__P792375(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_BackgroundLayer__C792368_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Math_max__P789818_mk(s); + s.tmp_2.arg0 = 1; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 794; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["distance"] = (s.tmp_1); + r0 = (s.arg0).fields["img"] = (s.arg3); + s.tmp_0 = r0 = s.arg2; + r0 = pxsim_pxtcore.switch_eq(5, s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq(4, s.tmp_0); + if (r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 1: + r0 = (s.arg0).fields["repeatX"] = (true); + r0 = (s.arg0).fields["repeatY"] = (true); + r0 = (s.arg0).fields["alignX"] = (5); + r0 = (s.arg0).fields["alignY"] = (5); + { step = 6; continue; } + case 2: + case 3: + r0 = (s.arg0).fields["repeatX"] = (false); + r0 = (s.arg0).fields["repeatY"] = (true); + r0 = (s.arg0).fields["alignX"] = (s.arg2); + r0 = (s.arg0).fields["alignY"] = (5); + { step = 6; continue; } + case 4: + case 5: + r0 = (s.arg0).fields["repeatX"] = (true); + r0 = (s.arg0).fields["repeatY"] = (false); + r0 = (s.arg0).fields["alignX"] = (5); + r0 = (s.arg0).fields["alignY"] = (s.arg2); + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_BackgroundLayer_constructor__P792375.info = {"start":1936,"length":1117,"line":72,"column":8,"endLine":97,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"inline","argumentNames":["this","distance","alignment","img"]} + +function scene_BackgroundLayer_constructor__P792375_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_BackgroundLayer_constructor__P792375, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function scene_Camera_y__P792480(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetY"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___791721); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_y__P792480.info = {"start":1536,"length":75,"line":51,"column":8,"endLine":53,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"y","argumentNames":["this"]} +scene_Camera_y__P792480.isGetter = true; + +function scene_Camera_y__P792480_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_y__P792480, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function scene_Camera_x__P792479(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetX"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___791721); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_x__P792479.info = {"start":1453,"length":74,"line":48,"column":8,"endLine":50,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"x","argumentNames":["this"]} +scene_Camera_x__P792479.isGetter = true; + +function scene_Camera_x__P792479_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_x__P792479, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function scene_Scene_data__P792557(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C792532_VT)) failedCast(r0); + r0 = s.arg0.fields["_data"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Scene_data__P792557.info = {"start":7014,"length":53,"line":189,"column":8,"endLine":191,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"data","argumentNames":["this"]} +scene_Scene_data__P792557.isGetter = true; + +function scene_Scene_data__P792557_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_data__P792557, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_AnyButton_isPressed__P794397(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ctrl___806887 = undefined; + s.b___806891 = undefined; + s.unnamed16762___U2 = undefined; + s.unnamed16763___U3 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_AnyButton__C794389_VT)) failedCast(r0); + s.tmp_0 = controller__player1__P791817_mk(s); + s.callLocIdx = 196; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.ctrl___806887 = (r0); + s.b___806891 = (undefined); + r0 = s.ctrl___806887.fields["buttons"]; + s.unnamed16762___U2 = (r0); + s.unnamed16763___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed16763___U3; + r0 = pxsim_Array__length(s.unnamed16762___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed16762___U2, s.unnamed16763___U3); + s.b___806891 = (r0); + s.tmp_3 = controller_Button__C791878_v0_1_mk(s); + s.tmp_3.arg0 = s.b___806891; + if (!checkSubtype(s.tmp_3.arg0, controller_Button__C791878_VT)) failedCast(s.tmp_3.arg0); + s.tmp_3.fn = s.tmp_3.arg0.vtable.methods.isPressed; + s.pc = 7; return s.tmp_3; + case 7: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + r0 = true; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.unnamed16763___U3 + 1); + s.unnamed16763___U3 = (r0); + { step = 1; continue; } + case 4: + s.unnamed16762___U2 = (undefined); + r0 = false; + case 5: + return leave(s, r0) + default: oops() +} } } +controller_AnyButton_isPressed__P794397.info = {"start":15724,"length":202,"line":469,"column":8,"endLine":476,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"isPressed","argumentNames":["this"]} + +function controller_AnyButton_isPressed__P794397_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_AnyButton_isPressed__P794397, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + ctrl___806887: undefined, + b___806891: undefined, + unnamed16762___U2: undefined, + unnamed16763___U3: undefined, + arg0: undefined, +} } + + + + + +function controller_Button_toString__P791883(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C791878_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = "down"; + { step = 2; continue; } + case 1: + r0 = "up"; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.arg0.fields["id"]; + s.tmp_5 = r0; + if ((s.tmp_5) && (s.tmp_5).vtable) { + setupResume(s, 3); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } + case 3: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_String__concat("btn ", s.tmp_4); + s.tmp_3 = r0; + r0 = pxsim_String__concat(s.tmp_3, " "); + s.tmp_2 = r0; + if ((s.tmp_1) && (s.tmp_1).vtable) { + setupResume(s, 4); + pxsim_String__stringConv(s.tmp_1); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_1) + ""; } + case 4: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_2, s.tmp_6); + return leave(s, r0) + default: oops() +} } } +controller_Button_toString__P791883.info = {"start":1894,"length":100,"line":73,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/controllerbutton.ts","functionName":"toString","argumentNames":["this"]} + +function controller_Button_toString__P791883_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_toString__P791883, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, +} } + + + + + +function sprites_BaseSpriteSayRenderer_constructor__P791949(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(r0); + r0 = (s.arg0).fields["text"] = (s.arg1); + r0 = (s.arg0).fields["fgColor"] = (s.arg2); + r0 = (s.arg0).fields["bgColor"] = (s.arg3); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSpriteSayRenderer_constructor__P791949.info = {"start":69,"length":92,"line":2,"column":8,"endLine":3,"endColumn":9,"fileName":"pxt_modules/game/spritesay.ts","functionName":"inline","argumentNames":["this","text","fgColor","bgColor"]} + +function sprites_BaseSpriteSayRenderer_constructor__P791949_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_constructor__P791949, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function sprites_StaticObstacle_width__P792197(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_StaticObstacle__C792187_VT)) failedCast(r0); + r0 = s.arg0.fields["image"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_0); + return leaveAccessor(s, r0) + default: oops() +} } } +sprites_StaticObstacle_width__P792197.info = {"start":1088,"length":68,"line":48,"column":8,"endLine":50,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"width","argumentNames":["this"]} +sprites_StaticObstacle_width__P792197.isGetter = true; + +function sprites_StaticObstacle_width__P792197_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_width__P792197, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_StaticObstacle_height__P792196(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_StaticObstacle__C792187_VT)) failedCast(r0); + r0 = s.arg0.fields["image"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_0); + return leaveAccessor(s, r0) + default: oops() +} } } +sprites_StaticObstacle_height__P792196.info = {"start":1008,"length":70,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"height","argumentNames":["this"]} +sprites_StaticObstacle_height__P792196.isGetter = true; + +function sprites_StaticObstacle_height__P792196_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_height__P792196, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_StaticObstacle_y__P792195(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_StaticObstacle__C792187_VT)) failedCast(r0); + r0 = s.arg0.fields["top"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["image"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +sprites_StaticObstacle_y__P792195.info = {"start":921,"length":77,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"y","argumentNames":["this"]} +sprites_StaticObstacle_y__P792195.isGetter = true; + +function sprites_StaticObstacle_y__P792195_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_y__P792195, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function sprites_StaticObstacle_x__P792194(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_StaticObstacle__C792187_VT)) failedCast(r0); + r0 = s.arg0.fields["left"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["image"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +sprites_StaticObstacle_x__P792194.info = {"start":834,"length":77,"line":36,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/obstacle.ts","functionName":"x","argumentNames":["this"]} +sprites_StaticObstacle_x__P792194.isGetter = true; + +function sprites_StaticObstacle_x__P792194_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_x__P792194, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function tiles_Location_top__P792390(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + r0 = s.arg0.fields["_row"]; + s.tmp_0 = r0; + s.tmp_3 = tiles_Location_tileMap__P792384_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 804; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.tmp_2.fields["_scale"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 << s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_top__P792390.info = {"start":1791,"length":83,"line":68,"column":8,"endLine":70,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"top","argumentNames":["this"]} +tiles_Location_top__P792390.isGetter = true; + +function tiles_Location_top__P792390_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_top__P792390, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function tiles_Location_left__P792389(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + r0 = s.arg0.fields["_col"]; + s.tmp_0 = r0; + s.tmp_3 = tiles_Location_tileMap__P792384_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 802; s.pc = 1; return s.tmp_3; + case 1: + r0 = s.retval; + s.tmp_2 = r0; + r0 = s.tmp_2.fields["_scale"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 << s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_left__P792389.info = {"start":1579,"length":84,"line":61,"column":8,"endLine":63,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"left","argumentNames":["this"]} +tiles_Location_left__P792389.isGetter = true; + +function tiles_Location_left__P792389_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_left__P792389, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + arg0: undefined, +} } + + + + + +function tiles_Location_y__P792388(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scale___806947 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + s.tmp_1 = tiles_Location_tileMap__P792384_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 800; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_scale"]; + s.scale___806947 = (r0); + r0 = s.arg0.fields["_row"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 << s.scale___806947); + s.tmp_0 = r0; + r0 = (s.scale___806947 - 1); + s.tmp_3 = r0; + r0 = (1 << s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_y__P792388.info = {"start":1315,"length":135,"line":53,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"y","argumentNames":["this"]} +tiles_Location_y__P792388.isGetter = true; + +function tiles_Location_y__P792388_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_y__P792388, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + scale___806947: undefined, + arg0: undefined, +} } + + + + + +function tiles_Location_x__P792387(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.scale___806963 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C792382_VT)) failedCast(r0); + s.tmp_1 = tiles_Location_tileMap__P792384_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 798; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_scale"]; + s.scale___806963 = (r0); + r0 = s.arg0.fields["_col"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 << s.scale___806963); + s.tmp_0 = r0; + r0 = (s.scale___806963 - 1); + s.tmp_3 = r0; + r0 = (1 << s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_x__P792387.info = {"start":1054,"length":135,"line":45,"column":8,"endLine":48,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"x","argumentNames":["this"]} +tiles_Location_x__P792387.isGetter = true; + +function tiles_Location_x__P792387_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_x__P792387, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + scale___806963: undefined, + arg0: undefined, +} } + + + + + +function particles_ShapeFactory_drawParticle__P792905(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.pImage___806982 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ShapeFactory__C792902_VT)) failedCast(r0); + s.tmp_1 = Math_FastRandom_pickRandom__P792753_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_1.arg0 = r0; + r0 = s.arg0.fields["sources"]; + s.tmp_1.arg1 = r0; + s.callLocIdx = 1240; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.clone(s.tmp_0); + s.pImage___806982 = (r0); + r0 = s.arg1.fields["color"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.replace(s.pImage___806982, 15, s.tmp_0); + s.tmp_0 = r0 = globals.screen___791721; + s.tmp_1 = r0 = s.pImage___806982; + r0 = s.arg0.fields["ox"]; + s.tmp_4 = r0; + r0 = (s.arg2 - s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 + 128); + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 8); + s.tmp_2 = r0; + r0 = s.arg0.fields["oy"]; + s.tmp_8 = r0; + r0 = (s.arg3 - s.tmp_8); + s.tmp_7 = r0; + r0 = (s.tmp_7 + 128); + s.tmp_9 = r0; + r0 = (s.tmp_9 >> 8); + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ShapeFactory_drawParticle__P792905.info = {"start":7172,"length":323,"line":229,"column":8,"endLine":237,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]} + +function particles_ShapeFactory_drawParticle__P792905_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_drawParticle__P792905, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + pImage___806982: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Math_FastRandom_pickRandom__P792753(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Math_FastRandom__C792748_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = pxsim_Array__length(s.arg1); + s.tmp_2 = r0; + r0 = (s.tmp_2 == 0); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + r0 = undefined; + { step = 5; continue; } + case 3: + case 4: + s.tmp_4 = r0 = s.arg1; + s.tmp_6 = Math_FastRandom_randomRange__P792752_mk(s); + s.tmp_6.arg0 = s.arg0; + s.tmp_6.arg1 = 0; + r0 = pxsim_Array__length(s.arg1); + s.tmp_7 = r0; + r0 = (s.tmp_7 - 1); + s.tmp_6.arg2 = r0; + s.callLocIdx = 969; s.pc = 6; return s.tmp_6; + case 6: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_Array__getAt(s.tmp_4, s.tmp_5); + case 5: + return leave(s, r0) + default: oops() +} } } +Math_FastRandom_pickRandom__P792753.info = {"start":2358,"length":192,"line":70,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"pickRandom","argumentNames":["this","list"]} + +function Math_FastRandom_pickRandom__P792753_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_pickRandom__P792753, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_AreaFactory_drawParticle__P792893(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.col___807028 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_AreaFactory__C792886_VT)) failedCast(r0); + r0 = s.arg1.fields["lifespan"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 500); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 4; + { step = 4; continue; } + case 1: + r0 = s.arg1.fields["lifespan"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 > 250); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + r0 = 5; + { step = 3; continue; } + case 2: + r0 = 1; + case 3: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + case 4: + // jmp value (already in r0) + s.tmp_5 = r0; + s.col___807028 = (s.tmp_5); + s.tmp_0 = r0 = globals.screen___791721; + r0 = (s.arg2 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.tmp_1 = r0; + r0 = (s.arg3 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.col___807028); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_AreaFactory_drawParticle__P792893.info = {"start":4770,"length":222,"line":158,"column":8,"endLine":163,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]} + +function particles_AreaFactory_drawParticle__P792893_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_AreaFactory_drawParticle__P792893, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + col___807028: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function particles_SprayFactory_drawParticle__P792883(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_SprayFactory__C792880_VT)) failedCast(r0); + s.tmp_0 = r0 = globals.screen___791721; + r0 = (s.arg2 + 128); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 8); + s.tmp_1 = r0; + r0 = (s.arg3 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, 1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_drawParticle__P792883.info = {"start":3194,"length":118,"line":115,"column":8,"endLine":117,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","particle","x","y"]} + +function particles_SprayFactory_drawParticle__P792883_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_drawParticle__P792883, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function scene_Renderable___drawCore__P792492(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Renderable__C792489_VT)) failedCast(r0); + s.tmp_0 = if_handler_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = globals.screen___791721; + s.tmp_0.arg2 = s.arg1; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 3); + s.callLocIdx = 902; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["handler"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["handler"], 3); s.callLocIdx = 902; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 902; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 902; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Renderable___drawCore__P792492.info = {"start":390,"length":86,"line":14,"column":8,"endLine":16,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__drawCore","argumentNames":["this","camera"]} + +function scene_Renderable___drawCore__P792492_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Renderable___drawCore__P792492, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_Renderable___visible__P792491(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Renderable__C792489_VT)) failedCast(r0); + s.tmp_0 = if_shouldBeVisible_1_mk(s); + s.tmp_0.arg0 = s.arg0; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "shouldBeVisible"), 1); + s.callLocIdx = 901; s.pc = 1; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["shouldBeVisible"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["shouldBeVisible"], 1); s.callLocIdx = 901; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 901; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 901; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +scene_Renderable___visible__P792491.info = {"start":305,"length":75,"line":10,"column":8,"endLine":12,"endColumn":9,"fileName":"pxt_modules/game/renderable.ts","functionName":"__visible","argumentNames":["this"]} + +function scene_Renderable___visible__P792491_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Renderable___visible__P792491, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite___drawCore__P792104(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.ox___807068 = undefined; + s.oy___807076 = undefined; + s.l___807084 = undefined; + s.t___807090 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_0 = Sprite_drawSay__P794417_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 375; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.tmp_1 = Sprite_isOutOfScreen__P792103_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 376; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + { step = 7; continue; } + case 1: + case 2: + r0 = s.arg0.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 512); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + r0 = 0; + { step = 4; continue; } + case 3: + r0 = s.arg1.fields["drawOffsetX"]; + case 4: + // jmp value (already in r0) + s.tmp_4 = r0; + s.ox___807068 = (s.tmp_4); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = 0; + { step = 6; continue; } + case 5: + r0 = s.arg1.fields["drawOffsetY"]; + case 6: + // jmp value (already in r0) + s.tmp_2 = r0; + s.oy___807076 = (s.tmp_2); + s.tmp_2 = Sprite_left__P792088_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 377; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.ox___807068); + s.tmp_0 = r0; + r0 = pxsim.Math_.floor(s.tmp_0); + s.l___807084 = (r0); + s.tmp_2 = Sprite_top__P792092_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 378; s.pc = 11; return s.tmp_2; + case 11: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.oy___807076); + s.tmp_0 = r0; + r0 = pxsim.Math_.floor(s.tmp_0); + s.t___807090 = (r0); + s.tmp_0 = Sprite__C792030_v6_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.l___807084; + s.tmp_0.arg2 = s.t___807090; + if (!checkSubtype(s.tmp_0.arg0, Sprite__C792030_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawSprite; + s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = Sprite_drawDebug__P794418_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.l___807084; + s.tmp_0.arg2 = s.t___807090; + s.tmp_0.arg3 = s.ox___807068; + s.tmp_0.arg4 = s.oy___807076; + s.callLocIdx = 379; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite___drawCore__P792104.info = {"start":18194,"length":462,"line":613,"column":4,"endLine":626,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]} + +function Sprite___drawCore__P792104_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite___drawCore__P792104, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + ox___807068: undefined, + oy___807076: undefined, + l___807084: undefined, + t___807090: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_drawSprite__P794419(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + s.tmp_3 = Sprite_isScaled__P794416_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 471; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.arg0.fields["_image"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___791721, s.tmp_4, s.arg1, s.arg2); + { step = 2; continue; } + case 1: + s.tmp_0 = helpers_imageBlit__P791642_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.tmp_1 = Sprite_width__P792086_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 472; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0.arg3 = r0; + s.tmp_2 = Sprite_height__P792087_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 473; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.tmp_0.arg4 = r0; + r0 = s.arg0.fields["_image"]; + s.tmp_0.arg5 = r0; + s.tmp_0.arg6 = 0; + s.tmp_0.arg7 = 0; + r0 = s.arg0.fields["_image"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_3); + s.tmp_0.arg8 = r0; + r0 = s.arg0.fields["_image"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_4); + s.tmp_0.arg9 = r0; + s.tmp_0.arg10 = true; + s.tmp_0.arg11 = false; + s.callLocIdx = 474; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_drawSprite__P794419.info = {"start":35888,"length":514,"line":1118,"column":4,"endLine":1132,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawSprite","argumentNames":["this","drawLeft","drawTop"]} + +function Sprite_drawSprite__P794419_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_drawSprite__P794419, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_drawDebug__P794418(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + s.font___807114 = undefined; + s.tx___807118 = undefined; + s.ty___807120 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.arg4 = (s.lambdaArgs[4]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["flags"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 64); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.font___807114 = (globals.font5___791669); + s.tx___807118 = (s.arg1); + s.tmp_1 = r0 = s.arg2; + s.tmp_3 = Sprite_height__P792087_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 447; s.pc = 13; return s.tmp_3; + case 13: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 2); + s.ty___807120 = (r0); + s.tmp_0 = helpers_imagePrint__P791679_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + r0 = pxsim_String_.mkEmpty(); + s.tmp_3 = r0; + s.tmp_7 = Sprite_x__P792043_mk(s); + s.tmp_7.arg0 = s.arg0; + s.callLocIdx = 448; s.pc = 15; return s.tmp_7; + case 15: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 >> 0); + s.tmp_5 = r0; + if ((s.tmp_5) && (s.tmp_5).vtable) { + setupResume(s, 16); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } + case 16: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_3, s.tmp_4); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, ","); + s.tmp_1 = r0; + s.tmp_11 = Sprite_y__P792045_mk(s); + s.tmp_11.arg0 = s.arg0; + s.callLocIdx = 449; s.pc = 17; return s.tmp_11; + case 17: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_10 >> 0); + s.tmp_9 = r0; + if ((s.tmp_9) && (s.tmp_9).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.tmp_9); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_9) + ""; } + case 18: + r0 = s.retval; + s.tmp_8 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_8); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.tx___807118; + s.tmp_0.arg3 = s.ty___807120; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = s.font___807114; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 450; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.tmp_0 = r0 = s.tx___807118; + s.tmp_2 = if_charWidth_1_mk(s); + s.tmp_2.arg0 = s.font___807114; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charWidth"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charWidth"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charWidth"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 451; s.pc = 19; return s.tmp_2; } + } + case 19: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.tx___807118 = (r0); + s.tmp_1 = Sprite_vx__P792047_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 452; s.pc = 20; return s.tmp_1; + case 20: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_2 = Sprite_vy__P792049_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 453; s.pc = 21; return s.tmp_2; + case 21: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 3; continue; } + s.tmp_4 = r0 = s.ty___807120; + s.tmp_7 = if_charHeight_1_mk(s); + s.tmp_7.arg0 = s.font___807114; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 454; s.pc = 22; return s.tmp_7; } + } + case 22: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 + 2); + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.ty___807120 = (r0); + s.tmp_0 = helpers_imagePrint__P791679_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_6 = Sprite_vx__P792047_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 455; s.pc = 24; return s.tmp_6; + case 24: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 0); + s.tmp_4 = r0; + if ((s.tmp_4) && (s.tmp_4).vtable) { + setupResume(s, 25); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 25: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String__concat("v", s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, ","); + s.tmp_1 = r0; + s.tmp_10 = Sprite_vy__P792049_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 456; s.pc = 26; return s.tmp_10; + case 26: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_9 >> 0); + s.tmp_8 = r0; + if ((s.tmp_8) && (s.tmp_8).vtable) { + setupResume(s, 27); + pxsim_String__stringConv(s.tmp_8); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_8) + ""; } + case 27: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_7); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.tx___807118; + s.tmp_0.arg3 = s.ty___807120; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = s.font___807114; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 457; s.pc = 23; return s.tmp_0; + case 23: + r0 = s.retval; + case 3: + case 4: + s.tmp_1 = Sprite_ax__P792051_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 458; s.pc = 28; return s.tmp_1; + case 28: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + s.tmp_2 = Sprite_ay__P792053_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 459; s.pc = 29; return s.tmp_2; + case 29: + r0 = s.retval; + case 6: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 7; continue; } + s.tmp_4 = r0 = s.ty___807120; + s.tmp_7 = if_charHeight_1_mk(s); + s.tmp_7.arg0 = s.font___807114; + if (!s.tmp_7.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "charHeight"); + } else { + s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["charHeight"]; + if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["charHeight"]; } + else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); } + else { s.callLocIdx = 460; s.pc = 30; return s.tmp_7; } + } + case 30: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 + 2); + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.ty___807120 = (r0); + s.tmp_0 = helpers_imagePrint__P791679_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_6 = Sprite_ax__P792051_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 461; s.pc = 32; return s.tmp_6; + case 32: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 0); + s.tmp_4 = r0; + if ((s.tmp_4) && (s.tmp_4).vtable) { + setupResume(s, 33); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 33: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String__concat("a", s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_2, ","); + s.tmp_1 = r0; + s.tmp_10 = Sprite_ay__P792053_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 462; s.pc = 34; return s.tmp_10; + case 34: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_9 >> 0); + s.tmp_8 = r0; + if ((s.tmp_8) && (s.tmp_8).vtable) { + setupResume(s, 35); + pxsim_String__stringConv(s.tmp_8); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_8) + ""; } + case 35: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_7); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.tx___807118; + s.tmp_0.arg3 = s.ty___807120; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = s.font___807114; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 463; s.pc = 31; return s.tmp_0; + case 31: + r0 = s.retval; + case 7: + case 8: + case 9: + case 10: + r0 = pxsim_numops_toBoolDecr(globals.debug___792656); + if (!r0) { step = 11; continue; } + s.tmp_0 = helpers_imageDrawRect__P791648_mk(s); + s.tmp_0.arg0 = globals.screen___791721; + s.tmp_3 = game_Hitbox_left__P791905_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 464; s.pc = 37; return s.tmp_3; + case 37: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 128); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 8); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.arg3); + s.tmp_0.arg1 = r0; + s.tmp_7 = game_Hitbox_top__P791906_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_7.arg0 = r0; + s.callLocIdx = 466; s.pc = 38; return s.tmp_7; + case 38: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 + 128); + s.tmp_8 = r0; + r0 = (s.tmp_8 >> 8); + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.arg4); + s.tmp_0.arg2 = r0; + r0 = s.arg0.fields["_hitbox"]; + r0 = r0.fields["width"]; + s.tmp_9 = r0; + r0 = (s.tmp_9 + 128); + s.tmp_10 = r0; + r0 = (s.tmp_10 >> 8); + s.tmp_0.arg3 = r0; + r0 = s.arg0.fields["_hitbox"]; + r0 = r0.fields["height"]; + s.tmp_11 = r0; + r0 = (s.tmp_11 + 128); + s.tmp_12 = r0; + r0 = (s.tmp_12 >> 8); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = 1; + s.callLocIdx = 470; s.pc = 36; return s.tmp_0; + case 36: + r0 = s.retval; + case 11: + case 12: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_drawDebug__P794418.info = {"start":34790,"length":1092,"line":1088,"column":4,"endLine":1116,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawDebug","argumentNames":["this","left","top","offsetX","offsetY"]} + +function Sprite_drawDebug__P794418_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_drawDebug__P794418, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + tmp_7: undefined, + tmp_8: undefined, + tmp_9: undefined, + tmp_10: undefined, + tmp_11: undefined, + tmp_12: undefined, + font___807114: undefined, + tx___807118: undefined, + ty___807120: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function Sprite_drawSay__P794417(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.arg0.fields["sayEndTime"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 !== undefined); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = pxsim.control.millis(); + s.tmp_4 = r0; + r0 = s.arg0.fields["sayEndTime"]; + s.tmp_5 = r0; + r0 = (s.tmp_4 < s.tmp_5); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 1; continue; } + s.tmp_6 = sprites_BaseSpriteSayRenderer__C791948_v0_4_mk(s); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = globals.screen___791721; + s.tmp_6.arg2 = s.arg1; + s.tmp_6.arg3 = s.arg0; + if (!checkSubtype(s.tmp_6.arg0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(s.tmp_6.arg0); + s.tmp_6.fn = s.tmp_6.arg0.vtable.methods.draw; + s.pc = 7; return s.tmp_6; + case 7: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = sprites_BaseSpriteSayRenderer__C791948_v2_1_mk(s); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0.arg0 = r0; + if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.destroy; + s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + r0 = (s.arg0).fields["sayRenderer"] = (undefined); + r0 = (s.arg0).fields["sayEndTime"] = (undefined); + case 2: + { step = 4; continue; } + case 3: + s.tmp_0 = sprites_BaseSpriteSayRenderer__C791948_v0_4_mk(s); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = globals.screen___791721; + s.tmp_0.arg2 = s.arg1; + s.tmp_0.arg3 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw; + s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + case 4: + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_drawSay__P794417.info = {"start":34210,"length":574,"line":1070,"column":4,"endLine":1086,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"drawSay","argumentNames":["this","camera"]} + +function Sprite_drawSay__P794417_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_drawSay__P794417, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + tmp_5: undefined, + tmp_6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSpriteSayRenderer_destroy__P791952(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSpriteSayRenderer_destroy__P791952.info = {"start":328,"length":22,"line":13,"column":8,"endLine":15,"endColumn":9,"fileName":"pxt_modules/game/spritesay.ts","functionName":"destroy","argumentNames":["this"]} + +function sprites_BaseSpriteSayRenderer_destroy__P791952_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_destroy__P791952, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function sprites_BaseSpriteSayRenderer_draw__P791950(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.arg3 = (s.lambdaArgs[3]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_BaseSpriteSayRenderer__C791948_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSpriteSayRenderer_draw__P791950.info = {"start":171,"length":69,"line":5,"column":8,"endLine":7,"endColumn":9,"fileName":"pxt_modules/game/spritesay.ts","functionName":"draw","argumentNames":["this","screen","camera","owner"]} + +function sprites_BaseSpriteSayRenderer_draw__P791950_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_draw__P791950, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Sprite___visible__P792085(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C792030_VT)) failedCast(r0); + r0 = s.arg0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & 128); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + return leave(s, r0) + default: oops() +} } } +Sprite___visible__P792085.info = {"start":9904,"length":72,"line":359,"column":4,"endLine":361,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__visible","argumentNames":["this"]} + +function Sprite___visible__P792085_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite___visible__P792085, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + arg0: undefined, +} } + + + + + +function scene_Camera_top__P792483(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetY"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_top__P792483.info = {"start":1764,"length":54,"line":60,"column":8,"endLine":62,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"top","argumentNames":["this"]} +scene_Camera_top__P792483.isGetter = true; + +function scene_Camera_top__P792483_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_top__P792483, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_left__P792481(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null; +switch (step) { + case 0: + + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C792470_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetX"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_left__P792481.info = {"start":1620,"length":55,"line":54,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"left","argumentNames":["this"]} +scene_Camera_left__P792481.isGetter = true; + +function scene_Camera_left__P792481_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_left__P792481, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + +function PhysicsEngine__C792200_v4_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function if___update_3_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + +function lambda_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function PhysicsEngine__C792200_v3_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_handler_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_charHeight_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_charWidth_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_multiplier_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_data_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_xOffset_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_yOffset_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if___draw_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function if_z_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_id_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function lambda_3_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + +function controller_Button__C791878_v0_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_s_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_vx_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_vy_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function lambda_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_condition_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function lambda_4_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + +function if_effect_3_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + +function Sprite__C792030_v5_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function Sprite__C792030_v4_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_sourceFactory_3_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + +function PhysicsEngine__C792200_v1_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function if_destroyHandler_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_handler_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function if_generator_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_padding_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_cardsPerRow_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_cardWidth_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_cardSpacing_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_cardsTop_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_headerText_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_headerFont_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_infoTop_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_infoFont_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_getText_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function PhysicsEngine__C792200_v2_4_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + +function if_basicCard_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_selectedCard_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_activeCard_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_z_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function PhysicsEngine__C792200_v0_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function if_id_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function if_callback_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_flags_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function particles_ParticleFactory__C792876_v0_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function particles_ParticleSource__C792840_v4_3_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + +function if_x_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_y_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_height_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function particles_ParticleFactory__C792876_v1_4_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + +function if_handler_3_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + +function if_tileIndex_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_left_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_top_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function sprites_BaseSpriteSayRenderer__C791948_v1_4_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + +function sprites_BaseSprite__C791783_v0_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function sprites_BaseSprite__C791783_v2_2_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, +} } + + +function if_shouldBeVisible_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function Sprite__C792030_v6_3_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + +function sprites_BaseSpriteSayRenderer__C791948_v0_4_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + +function sprites_BaseSpriteSayRenderer__C791948_v2_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_scene_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_state_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + + +function if_width_1_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: null, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + tmp_4: undefined, + arg0: undefined, +} } + +const controller_Controller__C791823_VT = mkVTable({ + name: "Controller", + numFields: 5, + classNo: 16, + lastSubtypeNo: 16, + maxBgInstances: null, + methods: { + }, + iface: { + "playerIndex": null, + "set/playerIndex": null, + "buttons": null, + "set/buttons": null, + "analog": null, + "set/analog": null, + "_id": null, + "set/_id": null, + "_connected": null, + "set/_connected": null, + "_controlledSprites": controller_Controller__controlledSprites__P791828, + "set/_controlledSprites": controller_Controller__controlledSprites__P791829, + "id": controller_Controller_id__P791830, + "left": controller_Controller_left__P791832, + "right": controller_Controller_right__P791833, + "up": controller_Controller_up__P791834, + "down": controller_Controller_down__P791835, + "button": controller_Controller_button__P794388, + "connected": controller_Controller_connected__P791844, + "set/connected": controller_Controller_connected__P791845, + "__preUpdate": controller_Controller___preUpdate__P791851, + "__update": controller_Controller___update__P791852, + }, +}); +const controller_Button__C791878_VT = mkVTable({ + name: "Button", + numFields: 7, + classNo: 17, + lastSubtypeNo: 18, + maxBgInstances: null, + methods: { + "isPressed": controller_Button_isPressed__P791889, + }, + iface: { + "_owner": null, + "set/_owner": null, + "id": null, + "set/id": null, + "repeatDelay": null, + "set/repeatDelay": null, + "repeatInterval": null, + "set/repeatInterval": null, + "_pressed": null, + "set/_pressed": null, + "_pressedElasped": null, + "set/_pressedElasped": null, + "_repeatCount": null, + "set/_repeatCount": null, + "handlerState": controller_Button_handlerState__P794391, + "toString": controller_Button_toString__P791883, + "raiseButtonUp": controller_Button_raiseButtonUp__P794392, + "raiseButtonDown": controller_Button_raiseButtonDown__P794393, + "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P794394, + "onEvent": controller_Button_onEvent__P791885, + "isPressed": controller_Button_isPressed__P791889, + "pressureLevel": controller_Button_pressureLevel__P791890, + "setPressed": controller_Button_setPressed__P791891, + "__update": controller_Button___update__P791892, + "runButtonEvents": controller_Button_runButtonEvents__P794395, + "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P794396, + }, + toStringMethod: controller_Button_toString__P791883, +}); +const controller_AnyButton__C794389_VT = mkVTable({ + name: "AnyButton", + numFields: 7, + classNo: 18, + lastSubtypeNo: 18, + maxBgInstances: null, + methods: { + "isPressed": controller_AnyButton_isPressed__P794397, + }, + iface: { + "_owner": null, + "set/_owner": null, + "id": null, + "set/id": null, + "repeatDelay": null, + "set/repeatDelay": null, + "repeatInterval": null, + "set/repeatInterval": null, + "_pressed": null, + "set/_pressed": null, + "_pressedElasped": null, + "set/_pressedElasped": null, + "_repeatCount": null, + "set/_repeatCount": null, + "isPressed": controller_AnyButton_isPressed__P794397, + "handlerState": controller_Button_handlerState__P794391, + "toString": controller_Button_toString__P791883, + "raiseButtonUp": controller_Button_raiseButtonUp__P794392, + "raiseButtonDown": controller_Button_raiseButtonDown__P794393, + "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P794394, + "onEvent": controller_Button_onEvent__P791885, + "pressureLevel": controller_Button_pressureLevel__P791890, + "setPressed": controller_Button_setPressed__P791891, + "__update": controller_Button___update__P791892, + "runButtonEvents": controller_Button_runButtonEvents__P794395, + "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P794396, + }, +}); +const game_GameOverConfig__C792662_VT = mkVTable({ + name: "GameOverConfig", + numFields: 14, + classNo: 19, + lastSubtypeNo: 19, + maxBgInstances: null, + methods: { + }, + iface: { + "scoringType": null, + "set/scoringType": null, + "winEffect": null, + "set/winEffect": null, + "loseEffect": null, + "set/loseEffect": null, + "loseSound": null, + "set/loseSound": null, + "winSound": null, + "set/winSound": null, + "loseSoundLooping": null, + "set/loseSoundLooping": null, + "winSoundLooping": null, + "set/winSoundLooping": null, + "winMessage": null, + "set/winMessage": null, + "winMessageMultiplayer": null, + "set/winMessageMultiplayer": null, + "loseMessage": null, + "set/loseMessage": null, + "effectSetByUser": null, + "set/effectSetByUser": null, + "soundSetByUser": null, + "set/soundSetByUser": null, + "messageSetByUser": null, + "set/messageSetByUser": null, + "scoringTypeSetByUser": null, + "set/scoringTypeSetByUser": null, + "init": game_GameOverConfig_init__P792678, + }, +}); +const Math_FastRandom__C792748_VT = mkVTable({ + name: "FastRandom", + numFields: 2, + classNo: 20, + lastSubtypeNo: 20, + maxBgInstances: null, + methods: { + }, + iface: { + "lfsr": null, + "set/lfsr": null, + "seed": null, + "set/seed": null, + "next": Math_FastRandom_next__P792751, + "randomRange": Math_FastRandom_randomRange__P792752, + "pickRandom": Math_FastRandom_pickRandom__P792753, + }, +}); +const scene_Scene__C792532_VT = mkVTable({ + name: "Scene", + numFields: 25, + classNo: 21, + lastSubtypeNo: 21, + maxBgInstances: null, + methods: { + }, + iface: { + "eventContext": null, + "set/eventContext": null, + "background": null, + "set/background": null, + "tileMap": null, + "set/tileMap": null, + "allSprites": null, + "set/allSprites": null, + "spriteNextId": null, + "set/spriteNextId": null, + "spritesByKind": null, + "set/spritesByKind": null, + "physicsEngine": null, + "set/physicsEngine": null, + "camera": null, + "set/camera": null, + "flags": null, + "set/flags": null, + "destroyedHandlers": null, + "set/destroyedHandlers": null, + "createdHandlers": null, + "set/createdHandlers": null, + "overlapHandlers": null, + "set/overlapHandlers": null, + "overlapMap": null, + "set/overlapMap": null, + "tileOverlapHandlers": null, + "set/tileOverlapHandlers": null, + "collisionHandlers": null, + "set/collisionHandlers": null, + "wallCollisionHandlers": null, + "set/wallCollisionHandlers": null, + "gameForeverHandlers": null, + "set/gameForeverHandlers": null, + "particleSources": null, + "set/particleSources": null, + "controlledSprites": null, + "set/controlledSprites": null, + "controllerConnectionState": null, + "set/controllerConnectionState": null, + "followingSprites": null, + "set/followingSprites": null, + "buttonEventHandlers": null, + "set/buttonEventHandlers": null, + "_millis": null, + "set/_millis": null, + "_data": null, + "set/_data": null, + "previousScene": null, + "set/previousScene": null, + "init": scene_Scene_init__P792556, + "data": scene_Scene_data__P792557, + "millis": scene_Scene_millis__P792558, + "addSprite": scene_Scene_addSprite__P792559, + "render": scene_Scene_render__P792561, + }, +}); +const control_EventContext__C790083_VT = mkVTable({ + name: "EventContext", + numFields: 10, + classNo: 22, + lastSubtypeNo: 22, + maxBgInstances: null, + methods: { + }, + iface: { + "handlers": null, + "set/handlers": null, + "frameCallbacks": null, + "set/frameCallbacks": null, + "frameWorker": null, + "set/frameWorker": null, + "framesInSample": null, + "set/framesInSample": null, + "timeInSample": null, + "set/timeInSample": null, + "lastPerfDump": null, + "set/lastPerfDump": null, + "deltaTimeMillis": null, + "set/deltaTimeMillis": null, + "prevTimeMillis": null, + "set/prevTimeMillis": null, + "idleCallbacks": null, + "set/idleCallbacks": null, + "runningCallbacks": null, + "set/runningCallbacks": null, + "deltaTime": control_EventContext_deltaTime__P790088, + "runCallbacks": control_EventContext_runCallbacks__P794104, + "registerFrameCallbacks": control_EventContext_registerFrameCallbacks__P794105, + "register": control_EventContext_register__P790089, + "unregister": control_EventContext_unregister__P790090, + "registerFrameHandler": control_EventContext_registerFrameHandler__P790091, + "registerHandler": control_EventContext_registerHandler__P790093, + }, +}); +const PhysicsEngine__C792200_VT = mkVTable({ + name: "PhysicsEngine", + numFields: 0, + classNo: 23, + lastSubtypeNo: 24, + maxBgInstances: null, + methods: { + "addSprite": PhysicsEngine_addSprite__P792202, + "removeSprite": PhysicsEngine_removeSprite__P792203, + "moveSprite": PhysicsEngine_moveSprite__P792204, + "draw": PhysicsEngine_draw__P792205, + "move": PhysicsEngine_move__P792206, + }, + iface: { + "addSprite": PhysicsEngine_addSprite__P792202, + "removeSprite": PhysicsEngine_removeSprite__P792203, + "moveSprite": PhysicsEngine_moveSprite__P792204, + "draw": PhysicsEngine_draw__P792205, + "move": PhysicsEngine_move__P792206, + }, +}); +const scene_Camera__C792470_VT = mkVTable({ + name: "Camera", + numFields: 10, + classNo: 25, + lastSubtypeNo: 25, + maxBgInstances: null, + methods: { + }, + iface: { + "_offsetX": null, + "set/_offsetX": null, + "_offsetY": null, + "set/_offsetY": null, + "drawOffsetX": null, + "set/drawOffsetX": null, + "drawOffsetY": null, + "set/drawOffsetY": null, + "sprite": null, + "set/sprite": null, + "_lastUpdatedSpriteX": null, + "set/_lastUpdatedSpriteX": null, + "_lastUpdatedSpriteY": null, + "set/_lastUpdatedSpriteY": null, + "shakeStartTime": null, + "set/shakeStartTime": null, + "shakeDuration": null, + "set/shakeDuration": null, + "shakeAmplitude": null, + "set/shakeAmplitude": null, + "offsetX": scene_Camera_offsetX__P792475, + "set/offsetX": scene_Camera_offsetX__P792476, + "offsetY": scene_Camera_offsetY__P792477, + "set/offsetY": scene_Camera_offsetY__P792478, + "x": scene_Camera_x__P792479, + "y": scene_Camera_y__P792480, + "left": scene_Camera_left__P792481, + "top": scene_Camera_top__P792483, + "isUpdated": scene_Camera_isUpdated__P792486, + "update": scene_Camera_update__P792487, + }, +}); +const control_EventHandler__C794099_VT = mkVTable({ + name: "EventHandler", + numFields: 4, + classNo: 26, + lastSubtypeNo: 26, + maxBgInstances: null, + methods: { + }, + iface: { + "src": null, + "set/src": null, + "value": null, + "set/value": null, + "handler": null, + "set/handler": null, + "flags": null, + "set/flags": null, + "register": control_EventHandler_register__P794100, + "unregister": control_EventHandler_unregister__P794101, + }, +}); +const scene_Background__C792358_VT = mkVTable({ + name: "Background", + numFields: 4, + classNo: 27, + lastSubtypeNo: 27, + maxBgInstances: null, + methods: { + }, + iface: { + "color": null, + "set/color": null, + "_image": null, + "set/_image": null, + "camera": null, + "set/camera": null, + "_layers": null, + "set/_layers": null, + "draw": scene_Background_draw__P792367, + }, +}); +const scene_BackgroundLayer__C792368_VT = mkVTable({ + name: "BackgroundLayer", + numFields: 6, + classNo: 28, + lastSubtypeNo: 28, + maxBgInstances: null, + methods: { + }, + iface: { + "distance": null, + "set/distance": null, + "img": null, + "set/img": null, + "repeatX": null, + "set/repeatX": null, + "repeatY": null, + "set/repeatY": null, + "alignX": null, + "set/alignX": null, + "alignY": null, + "set/alignY": null, + "draw": scene_BackgroundLayer_draw__P792376, + }, +}); +const sprites_BaseSprite__C791783_VT = mkVTable({ + name: "BaseSprite", + numFields: 2, + classNo: 29, + lastSubtypeNo: 32, + maxBgInstances: null, + methods: { + "__visible": sprites_BaseSprite___visible__P791786, + "__draw": sprites_BaseSprite___draw__P791789, + "__drawCore": sprites_BaseSprite___drawCore__P791790, + "__update": sprites_BaseSprite___update__P791791, + }, + iface: { + "_z": null, + "set/_z": null, + "id": null, + "set/id": null, + "__visible": sprites_BaseSprite___visible__P791786, + "z": sprites_BaseSprite_z__P791787, + "set/z": sprites_BaseSprite_z__P791788, + "__draw": sprites_BaseSprite___draw__P791789, + "__drawCore": sprites_BaseSprite___drawCore__P791790, + "__update": sprites_BaseSprite___update__P791791, + }, +}); +const Sprite__C792030_VT = mkVTable({ + name: "Sprite", + numFields: 30, + classNo: 30, + lastSubtypeNo: 30, + maxBgInstances: null, + methods: { + "__visible": Sprite___visible__P792085, + "__draw": sprites_BaseSprite___draw__P791789, + "__drawCore": Sprite___drawCore__P792104, + "__update": Sprite___update__P792105, + "setHitbox": Sprite_setHitbox__P792083, + "recalcSize": Sprite_recalcSize__P794415, + "drawSprite": Sprite_drawSprite__P794419, + }, + iface: { + "_z": null, + "set/_z": null, + "id": null, + "set/id": null, + "_x": null, + "set/_x": null, + "_y": null, + "set/_y": null, + "_vx": null, + "set/_vx": null, + "_vy": null, + "set/_vy": null, + "_ax": null, + "set/_ax": null, + "_ay": null, + "set/_ay": null, + "_fx": null, + "set/_fx": null, + "_fy": null, + "set/_fy": null, + "_sx": null, + "set/_sx": null, + "_sy": null, + "set/_sy": null, + "_width": null, + "set/_width": null, + "_height": null, + "set/_height": null, + "_data": null, + "set/_data": null, + "_kind": null, + "set/_kind": null, + "layer": null, + "set/layer": null, + "_lastX": null, + "set/_lastX": null, + "_lastY": null, + "set/_lastY": null, + "_action": null, + "set/_action": null, + "lifespan": null, + "set/lifespan": null, + "_image": null, + "set/_image": null, + "_obstacles": null, + "set/_obstacles": null, + "sayEndTime": null, + "set/sayEndTime": null, + "sayRenderer": null, + "set/sayRenderer": null, + "_hitbox": null, + "set/_hitbox": null, + "_overlappers": null, + "set/_overlappers": null, + "_kindsOverlappedWith": null, + "set/_kindsOverlappedWith": null, + "flags": null, + "set/flags": null, + "destroyHandler": null, + "set/destroyHandler": null, + "x": Sprite_x__P792043, + "set/x": Sprite_x__P792044, + "y": Sprite_y__P792045, + "set/y": Sprite_y__P792046, + "vx": Sprite_vx__P792047, + "set/vx": Sprite_vx__P792048, + "vy": Sprite_vy__P792049, + "set/vy": Sprite_vy__P792050, + "ax": Sprite_ax__P792051, + "set/ax": Sprite_ax__P792052, + "ay": Sprite_ay__P792053, + "set/ay": Sprite_ay__P792054, + "fx": Sprite_fx__P792055, + "set/fx": Sprite_fx__P792056, + "fy": Sprite_fy__P792057, + "set/fy": Sprite_fy__P792058, + "sx": Sprite_sx__P792059, + "sy": Sprite_sy__P792061, + "data": Sprite_data__P792065, + "set/data": Sprite_data__P792066, + "image": Sprite_image__P792079, + "setImage": Sprite_setImage__P792080, + "calcDimensionalHash": Sprite_calcDimensionalHash__P792081, + "resetHitbox": Sprite_resetHitbox__P792082, + "setHitbox": Sprite_setHitbox__P792083, + "isStatic": Sprite_isStatic__P792084, + "__visible": Sprite___visible__P792085, + "recalcSize": Sprite_recalcSize__P794415, + "isScaled": Sprite_isScaled__P794416, + "width": Sprite_width__P792086, + "height": Sprite_height__P792087, + "left": Sprite_left__P792088, + "set/left": Sprite_left__P792089, + "right": Sprite_right__P792090, + "set/right": Sprite_right__P792091, + "top": Sprite_top__P792092, + "set/top": Sprite_top__P792093, + "bottom": Sprite_bottom__P792094, + "set/bottom": Sprite_bottom__P792095, + "kind": Sprite_kind__P792096, + "setKind": Sprite_setKind__P792097, + "isOutOfScreen": Sprite_isOutOfScreen__P792103, + "__drawCore": Sprite___drawCore__P792104, + "__update": Sprite___update__P792105, + "setFlag": Sprite_setFlag__P792108, + "overlapsWith": Sprite_overlapsWith__P792109, + "clearObstacles": Sprite_clearObstacles__P792114, + "registerObstacle": Sprite_registerObstacle__P792115, + "destroy": Sprite_destroy__P792117, + "_destroyCore": Sprite__destroyCore__P792118, + "toString": Sprite_toString__P792123, + "drawSay": Sprite_drawSay__P794417, + "drawDebug": Sprite_drawDebug__P794418, + "drawSprite": Sprite_drawSprite__P794419, + "z": sprites_BaseSprite_z__P791787, + "set/z": sprites_BaseSprite_z__P791788, + "__draw": sprites_BaseSprite___draw__P791789, + }, + toStringMethod: Sprite_toString__P792123, +}); +const tiles_TileMap__C792424_VT = mkVTable({ + name: "TileMap", + numFields: 5, + classNo: 33, + lastSubtypeNo: 33, + maxBgInstances: null, + methods: { + }, + iface: { + "_scale": null, + "set/_scale": null, + "_layer": null, + "set/_layer": null, + "_map": null, + "set/_map": null, + "renderable": null, + "set/renderable": null, + "handlerState": null, + "set/handlerState": null, + "scale": tiles_TileMap_scale__P792427, + "set/scale": tiles_TileMap_scale__P792428, + "data": tiles_TileMap_data__P792429, + "offsetX": tiles_TileMap_offsetX__P792430, + "offsetY": tiles_TileMap_offsetY__P792431, + "areaWidth": tiles_TileMap_areaWidth__P792432, + "areaHeight": tiles_TileMap_areaHeight__P792433, + "layer": tiles_TileMap_layer__P792434, + "enabled": tiles_TileMap_enabled__P792436, + "getTile": tiles_TileMap_getTile__P792438, + "getTileIndex": tiles_TileMap_getTileIndex__P792439, + "draw": tiles_TileMap_draw__P794536, + "isObstacle": tiles_TileMap_isObstacle__P792445, + "getObstacle": tiles_TileMap_getObstacle__P792446, + "isOnWall": tiles_TileMap_isOnWall__P792447, + "getTileImage": tiles_TileMap_getTileImage__P792448, + }, +}); +const tiles_TileMapData__C792406_VT = mkVTable({ + name: "TileMapData", + numFields: 7, + classNo: 34, + lastSubtypeNo: 34, + maxBgInstances: null, + methods: { + }, + iface: { + "data": null, + "set/data": null, + "layers": null, + "set/layers": null, + "tileset": null, + "set/tileset": null, + "cachedTileView": null, + "set/cachedTileView": null, + "_scale": null, + "set/_scale": null, + "_width": null, + "set/_width": null, + "_height": null, + "set/_height": null, + "width": tiles_TileMapData_width__P792408, + "height": tiles_TileMapData_height__P792409, + "scale": tiles_TileMapData_scale__P792410, + "set/scale": tiles_TileMapData_scale__P792411, + "getTile": tiles_TileMapData_getTile__P792412, + "getTileImage": tiles_TileMapData_getTileImage__P792415, + "isWall": tiles_TileMapData_isWall__P792417, + "isOutsideMap": tiles_TileMapData_isOutsideMap__P792418, + }, +}); +const control_FrameCallback__C790080_VT = mkVTable({ + name: "FrameCallback", + numFields: 2, + classNo: 35, + lastSubtypeNo: 35, + maxBgInstances: null, + methods: { + }, + iface: { + "order": null, + "set/order": null, + "handler": null, + "set/handler": null, + }, +}); +const control_PollEvent__C794078_VT = mkVTable({ + name: "PollEvent", + numFields: 6, + classNo: 36, + lastSubtypeNo: 36, + maxBgInstances: null, + methods: { + }, + iface: { + "eid": null, + "set/eid": null, + "vid": null, + "set/vid": null, + "start": null, + "set/start": null, + "timeOut": null, + "set/timeOut": null, + "condition": null, + "set/condition": null, + "once": null, + "set/once": null, + }, +}); +const ArcadePhysicsEngine__C792216_VT = mkVTable({ + name: "ArcadePhysicsEngine", + numFields: 6, + classNo: 24, + lastSubtypeNo: 24, + maxBgInstances: null, + methods: { + "addSprite": ArcadePhysicsEngine_addSprite__P792225, + "removeSprite": ArcadePhysicsEngine_removeSprite__P792226, + "moveSprite": ArcadePhysicsEngine_moveSprite__P792230, + "draw": ArcadePhysicsEngine_draw__P792227, + "move": ArcadePhysicsEngine_move__P792228, + }, + iface: { + "sprites": null, + "set/sprites": null, + "map": null, + "set/map": null, + "maxVelocity": null, + "set/maxVelocity": null, + "maxNegativeVelocity": null, + "set/maxNegativeVelocity": null, + "minSingleStep": null, + "set/minSingleStep": null, + "maxSingleStep": null, + "set/maxSingleStep": null, + "maxSpeed": ArcadePhysicsEngine_maxSpeed__P792218, + "set/maxSpeed": ArcadePhysicsEngine_maxSpeed__P792219, + "minStep": ArcadePhysicsEngine_minStep__P792220, + "set/minStep": ArcadePhysicsEngine_minStep__P792221, + "maxStep": ArcadePhysicsEngine_maxStep__P792222, + "set/maxStep": ArcadePhysicsEngine_maxStep__P792223, + "addSprite": ArcadePhysicsEngine_addSprite__P792225, + "removeSprite": ArcadePhysicsEngine_removeSprite__P792226, + "draw": ArcadePhysicsEngine_draw__P792227, + "move": ArcadePhysicsEngine_move__P792228, + "createMovingSprite": ArcadePhysicsEngine_createMovingSprite__P794460, + "spriteCollisions": ArcadePhysicsEngine_spriteCollisions__P794461, + "screenEdgeCollisions": ArcadePhysicsEngine_screenEdgeCollisions__P794462, + "tilemapCollisions": ArcadePhysicsEngine_tilemapCollisions__P794463, + "tilemapOverlaps": ArcadePhysicsEngine_tilemapOverlaps__P794464, + "moveSprite": ArcadePhysicsEngine_moveSprite__P792230, + "canResolveClipping": ArcadePhysicsEngine_canResolveClipping__P794465, + "constrain": ArcadePhysicsEngine_constrain__P794466, + }, +}); +const sprites_SpriteMap__C792135_VT = mkVTable({ + name: "SpriteMap", + numFields: 5, + classNo: 37, + lastSubtypeNo: 37, + maxBgInstances: null, + methods: { + }, + iface: { + "cellWidth": null, + "set/cellWidth": null, + "cellHeight": null, + "set/cellHeight": null, + "rowCount": null, + "set/rowCount": null, + "columnCount": null, + "set/columnCount": null, + "buckets": null, + "set/buckets": null, + "neighbors": sprites_SpriteMap_neighbors__P792137, + "overlaps": sprites_SpriteMap_overlaps__P792138, + "draw": sprites_SpriteMap_draw__P792139, + "resizeBuckets": sprites_SpriteMap_resizeBuckets__P792140, + "clear": sprites_SpriteMap_clear__P792141, + "key": sprites_SpriteMap_key__P794423, + "insertAtKey": sprites_SpriteMap_insertAtKey__P794424, + "insertAABB": sprites_SpriteMap_insertAABB__P792142, + "mergeAtKey": sprites_SpriteMap_mergeAtKey__P794425, + "toString": sprites_SpriteMap_toString__P792143, + }, + toStringMethod: sprites_SpriteMap_toString__P792143, +}); +const scene_systemMenu_PauseMenu__C792784_VT = mkVTable({ + name: "PauseMenu", + numFields: 7, + classNo: 38, + lastSubtypeNo: 38, + maxBgInstances: null, + methods: { + }, + iface: { + "options": null, + "set/options": null, + "theme": null, + "set/theme": null, + "selection": null, + "set/selection": null, + "scrollRow": null, + "set/scrollRow": null, + "scrollTarget": null, + "set/scrollTarget": null, + "scrollOffset": null, + "set/scrollOffset": null, + "generator": null, + "set/generator": null, + "show": scene_systemMenu_PauseMenu_show__P792786, + "onUpdate": scene_systemMenu_PauseMenu_onUpdate__P792787, + "setSelection": scene_systemMenu_PauseMenu_setSelection__P792788, + "drawText": scene_systemMenu_PauseMenu_drawText__P792789, + "dispose": scene_systemMenu_PauseMenu_dispose__P792790, + "updateScrollTarget": scene_systemMenu_PauseMenu_updateScrollTarget__P794863, + }, +}); +const scene_systemMenu_MenuOption__C792776_VT = mkVTable({ + name: "MenuOption", + numFields: 8, + classNo: 39, + lastSubtypeNo: 39, + maxBgInstances: null, + methods: { + }, + iface: { + "card": null, + "set/card": null, + "icon": null, + "set/icon": null, + "top": null, + "set/top": null, + "state": null, + "set/state": null, + "theme": null, + "set/theme": null, + "iconImage": null, + "set/iconImage": null, + "getText": null, + "set/getText": null, + "action": null, + "set/action": null, + "show": scene_systemMenu_MenuOption_show__P792778, + "position": scene_systemMenu_MenuOption_position__P792779, + "setOffset": scene_systemMenu_MenuOption_setOffset__P792780, + "setTheme": scene_systemMenu_MenuOption_setTheme__P792781, + "setState": scene_systemMenu_MenuOption_setState__P792782, + "dispose": scene_systemMenu_MenuOption_dispose__P792783, + "updateCard": scene_systemMenu_MenuOption_updateCard__P794862, + }, +}); +const effects_ParticleEffect__C792951_VT = mkVTable({ + name: "ParticleEffect", + numFields: 3, + classNo: 40, + lastSubtypeNo: 41, + maxBgInstances: null, + methods: { + }, + iface: { + "sourceFactory": null, + "set/sourceFactory": null, + "defaultRate": null, + "set/defaultRate": null, + "defaultLifespan": null, + "set/defaultLifespan": null, + "start": effects_ParticleEffect_start__P792953, + "destroy": effects_ParticleEffect_destroy__P792954, + }, +}); +const effects_ImageEffect__C792979_VT = mkVTable({ + name: "ImageEffect", + numFields: 4, + classNo: 42, + lastSubtypeNo: 42, + maxBgInstances: null, + methods: { + }, + iface: { + "preferredDelay": null, + "set/preferredDelay": null, + "effect": null, + "set/effect": null, + "fastRandom": null, + "set/fastRandom": null, + "times": null, + "set/times": null, + "applyTo": effects_ImageEffect_applyTo__P792981, + "change": effects_ImageEffect_change__P792982, + }, +}); +const game_Hitbox__C791897_VT = mkVTable({ + name: "Hitbox", + numFields: 6, + classNo: 43, + lastSubtypeNo: 43, + maxBgInstances: null, + methods: { + }, + iface: { + "hash": null, + "set/hash": null, + "parent": null, + "set/parent": null, + "ox": null, + "set/ox": null, + "oy": null, + "set/oy": null, + "width": null, + "set/width": null, + "height": null, + "set/height": null, + "left": game_Hitbox_left__P791905, + "top": game_Hitbox_top__P791906, + "right": game_Hitbox_right__P791907, + "bottom": game_Hitbox_bottom__P791908, + "isValid": game_Hitbox_isValid__P791909, + "contains": game_Hitbox_contains__P791910, + "updateIfInvalid": game_Hitbox_updateIfInvalid__P791911, + "overlapsWith": game_Hitbox_overlapsWith__P791912, + }, +}); +const particles_ParticleSource__C792840_VT = mkVTable({ + name: "ParticleSource", + numFields: 13, + classNo: 31, + lastSubtypeNo: 31, + maxBgInstances: null, + methods: { + "__visible": sprites_BaseSprite___visible__P791786, + "__draw": particles_ParticleSource___draw__P792846, + "__drawCore": sprites_BaseSprite___drawCore__P791790, + "__update": sprites_BaseSprite___update__P791791, + "updateParticle": particles_ParticleSource_updateParticle__P794948, + }, + iface: { + "_z": null, + "set/_z": null, + "id": null, + "set/id": null, + "priority": null, + "set/priority": null, + "_dt": null, + "set/_dt": null, + "anchor": null, + "set/anchor": null, + "lifespan": null, + "set/lifespan": null, + "pFlags": null, + "set/pFlags": null, + "head": null, + "set/head": null, + "timer": null, + "set/timer": null, + "period": null, + "set/period": null, + "_factory": null, + "set/_factory": null, + "ax": null, + "set/ax": null, + "ay": null, + "set/ay": null, + "__draw": particles_ParticleSource___draw__P792846, + "_update": particles_ParticleSource__update__P792847, + "_prune": particles_ParticleSource__prune__P792848, + "setAcceleration": particles_ParticleSource_setAcceleration__P792849, + "setRelativeToCamera": particles_ParticleSource_setRelativeToCamera__P792851, + "enabled": particles_ParticleSource_enabled__P792852, + "set/enabled": particles_ParticleSource_enabled__P792853, + "destroy": particles_ParticleSource_destroy__P792854, + "clear": particles_ParticleSource_clear__P792855, + "setAnchor": particles_ParticleSource_setAnchor__P792856, + "setRate": particles_ParticleSource_setRate__P792857, + "setFactory": particles_ParticleSource_setFactory__P792859, + "updateParticle": particles_ParticleSource_updateParticle__P794948, + "drawParticle": particles_ParticleSource_drawParticle__P794949, + "__visible": sprites_BaseSprite___visible__P791786, + "z": sprites_BaseSprite_z__P791787, + "set/z": sprites_BaseSprite_z__P791788, + "__drawCore": sprites_BaseSprite___drawCore__P791790, + "__update": sprites_BaseSprite___update__P791791, + }, +}); +const sprites_SpriteSet__C792152_VT = mkVTable({ + name: "SpriteSet", + numFields: 1, + classNo: 44, + lastSubtypeNo: 44, + maxBgInstances: null, + methods: { + }, + iface: { + "_sprites": null, + "set/_sprites": null, + "length": sprites_SpriteSet_length__P792155, + "add": sprites_SpriteSet_add__P792157, + "remove": sprites_SpriteSet_remove__P792159, + "contains": sprites_SpriteSet_contains__P792160, + "toString": sprites_SpriteSet_toString__P792163, + }, + toStringMethod: sprites_SpriteSet_toString__P792163, +}); +const scene_Renderable__C792489_VT = mkVTable({ + name: "Renderable", + numFields: 4, + classNo: 32, + lastSubtypeNo: 32, + maxBgInstances: null, + methods: { + "__visible": scene_Renderable___visible__P792491, + "__draw": sprites_BaseSprite___draw__P791789, + "__drawCore": scene_Renderable___drawCore__P792492, + "__update": sprites_BaseSprite___update__P791791, + }, + iface: { + "_z": null, + "set/_z": null, + "id": null, + "set/id": null, + "handler": null, + "set/handler": null, + "shouldBeVisible": null, + "set/shouldBeVisible": null, + "__visible": scene_Renderable___visible__P792491, + "__drawCore": scene_Renderable___drawCore__P792492, + "z": sprites_BaseSprite_z__P791787, + "set/z": sprites_BaseSprite_z__P791788, + "__draw": sprites_BaseSprite___draw__P791789, + "__update": sprites_BaseSprite___update__P791791, + }, +}); +const controller_ButtonHandler__C791872_VT = mkVTable({ + name: "ButtonHandler", + numFields: 2, + classNo: 45, + lastSubtypeNo: 45, + maxBgInstances: null, + methods: { + }, + iface: { + "event": null, + "set/event": null, + "callback": null, + "set/callback": null, + }, +}); +const controller_ButtonEventHandlerState__C791874_VT = mkVTable({ + name: "ButtonEventHandlerState", + numFields: 3, + classNo: 46, + lastSubtypeNo: 46, + maxBgInstances: null, + methods: { + }, + iface: { + "id": null, + "set/id": null, + "user": null, + "set/user": null, + "system": null, + "set/system": null, + }, +}); +const effects_ScreenEffect__C792955_VT = mkVTable({ + name: "ScreenEffect", + numFields: 5, + classNo: 41, + lastSubtypeNo: 41, + maxBgInstances: null, + methods: { + }, + iface: { + "sourceFactory": null, + "set/sourceFactory": null, + "defaultRate": null, + "set/defaultRate": null, + "defaultLifespan": null, + "set/defaultLifespan": null, + "source": null, + "set/source": null, + "sceneDefaultRate": null, + "set/sceneDefaultRate": null, + "start": effects_ParticleEffect_start__P792953, + "destroy": effects_ParticleEffect_destroy__P792954, + }, +}); +const particles_ParticleFactory__C792876_VT = mkVTable({ + name: "ParticleFactory", + numFields: 0, + classNo: 47, + lastSubtypeNo: 51, + maxBgInstances: null, + methods: { + "createParticle": particles_ParticleFactory_createParticle__P792878, + "drawParticle": particles_ParticleFactory_drawParticle__P792879, + }, + iface: { + "createParticle": particles_ParticleFactory_createParticle__P792878, + "drawParticle": particles_ParticleFactory_drawParticle__P792879, + }, +}); +const particles_SprayFactory__C792880_VT = mkVTable({ + name: "SprayFactory", + numFields: 3, + classNo: 48, + lastSubtypeNo: 51, + maxBgInstances: null, + methods: { + "createParticle": particles_SprayFactory_createParticle__P792882, + "drawParticle": particles_SprayFactory_drawParticle__P792883, + }, + iface: { + "speed": null, + "set/speed": null, + "minAngle": null, + "set/minAngle": null, + "spread": null, + "set/spread": null, + "createParticle": particles_SprayFactory_createParticle__P792882, + "drawParticle": particles_SprayFactory_drawParticle__P792883, + "setSpeed": particles_SprayFactory_setSpeed__P792884, + "setDirection": particles_SprayFactory_setDirection__P792885, + }, +}); +const particles_AreaFactory__C792886_VT = mkVTable({ + name: "AreaFactory", + numFields: 8, + classNo: 49, + lastSubtypeNo: 51, + maxBgInstances: null, + methods: { + "createParticle": particles_AreaFactory_createParticle__P792892, + "drawParticle": particles_AreaFactory_drawParticle__P792893, + }, + iface: { + "speed": null, + "set/speed": null, + "minAngle": null, + "set/minAngle": null, + "spread": null, + "set/spread": null, + "xRange": null, + "set/xRange": null, + "yRange": null, + "set/yRange": null, + "minLifespan": null, + "set/minLifespan": null, + "maxLifespan": null, + "set/maxLifespan": null, + "galois": null, + "set/galois": null, + "createParticle": particles_AreaFactory_createParticle__P792892, + "drawParticle": particles_AreaFactory_drawParticle__P792893, + "setSpeed": particles_SprayFactory_setSpeed__P792884, + "setDirection": particles_SprayFactory_setDirection__P792885, + }, +}); +const particles_ShapeFactory__C792902_VT = mkVTable({ + name: "ShapeFactory", + numFields: 11, + classNo: 50, + lastSubtypeNo: 51, + maxBgInstances: null, + methods: { + "createParticle": particles_ShapeFactory_createParticle__P792906, + "drawParticle": particles_ShapeFactory_drawParticle__P792905, + }, + iface: { + "speed": null, + "set/speed": null, + "minAngle": null, + "set/minAngle": null, + "spread": null, + "set/spread": null, + "xRange": null, + "set/xRange": null, + "yRange": null, + "set/yRange": null, + "minLifespan": null, + "set/minLifespan": null, + "maxLifespan": null, + "set/maxLifespan": null, + "galois": null, + "set/galois": null, + "sources": null, + "set/sources": null, + "ox": null, + "set/ox": null, + "oy": null, + "set/oy": null, + "addShape": particles_ShapeFactory_addShape__P792904, + "drawParticle": particles_ShapeFactory_drawParticle__P792905, + "createParticle": particles_ShapeFactory_createParticle__P792906, + "setSpeed": particles_SprayFactory_setSpeed__P792884, + "setDirection": particles_SprayFactory_setDirection__P792885, + }, +}); +const particles_ConfettiFactory__C792907_VT = mkVTable({ + name: "ConfettiFactory", + numFields: 11, + classNo: 51, + lastSubtypeNo: 51, + maxBgInstances: null, + methods: { + "createParticle": particles_ShapeFactory_createParticle__P792906, + "drawParticle": particles_ShapeFactory_drawParticle__P792905, + }, + iface: { + "speed": null, + "set/speed": null, + "minAngle": null, + "set/minAngle": null, + "spread": null, + "set/spread": null, + "xRange": null, + "set/xRange": null, + "yRange": null, + "set/yRange": null, + "minLifespan": null, + "set/minLifespan": null, + "maxLifespan": null, + "set/maxLifespan": null, + "galois": null, + "set/galois": null, + "sources": null, + "set/sources": null, + "ox": null, + "set/ox": null, + "oy": null, + "set/oy": null, + "addShape": particles_ShapeFactory_addShape__P792904, + "drawParticle": particles_ShapeFactory_drawParticle__P792905, + "createParticle": particles_ShapeFactory_createParticle__P792906, + "setSpeed": particles_SprayFactory_setSpeed__P792884, + "setDirection": particles_SprayFactory_setDirection__P792885, + }, +}); +const particles_Particle__C792821_VT = mkVTable({ + name: "Particle", + numFields: 8, + classNo: 52, + lastSubtypeNo: 52, + maxBgInstances: 200, + methods: { + }, + iface: { + "_x": null, + "set/_x": null, + "_y": null, + "set/_y": null, + "vx": null, + "set/vx": null, + "vy": null, + "set/vy": null, + "lifespan": null, + "set/lifespan": null, + "next": null, + "set/next": null, + "data": null, + "set/data": null, + "color": null, + "set/color": null, + }, +}); +const music_Playable__C791600_VT = mkVTable({ + name: "Playable", + numFields: 1, + classNo: 53, + lastSubtypeNo: 54, + maxBgInstances: null, + methods: { + }, + iface: { + "stopped": null, + "set/stopped": null, + }, +}); +const music_MelodyPlayable__C791605_VT = mkVTable({ + name: "MelodyPlayable", + numFields: 2, + classNo: 54, + lastSubtypeNo: 54, + maxBgInstances: null, + methods: { + }, + iface: { + "stopped": null, + "set/stopped": null, + "melody": null, + "set/melody": null, + }, +}); +const music_Melody__C791315_VT = mkVTable({ + name: "Melody", + numFields: 2, + classNo: 55, + lastSubtypeNo: 55, + maxBgInstances: null, + methods: { + }, + iface: { + "_text": null, + "set/_text": null, + "_player": null, + "set/_player": null, + "toString": music_Melody_toString__P791324, + }, + toStringMethod: music_Melody_toString__P791324, +}); +const MovingSprite__C792214_VT = mkVTable({ + name: "MovingSprite", + numFields: 7, + classNo: 56, + lastSubtypeNo: 56, + maxBgInstances: null, + methods: { + }, + iface: { + "sprite": null, + "set/sprite": null, + "cachedVx": null, + "set/cachedVx": null, + "cachedVy": null, + "set/cachedVy": null, + "dx": null, + "set/dx": null, + "dy": null, + "set/dy": null, + "xStep": null, + "set/xStep": null, + "yStep": null, + "set/yStep": null, + }, +}); +const tiles_Location__C792382_VT = mkVTable({ + name: "Location", + numFields: 2, + classNo: 57, + lastSubtypeNo: 57, + maxBgInstances: null, + methods: { + }, + iface: { + "_row": null, + "set/_row": null, + "_col": null, + "set/_col": null, + "tileMap": tiles_Location_tileMap__P792384, + "column": tiles_Location_column__P792385, + "row": tiles_Location_row__P792386, + "x": tiles_Location_x__P792387, + "y": tiles_Location_y__P792388, + "left": tiles_Location_left__P792389, + "top": tiles_Location_top__P792390, + "tileSet": tiles_Location_tileSet__P792393, + }, +}); +const sprites_StaticObstacle__C792187_VT = mkVTable({ + name: "StaticObstacle", + numFields: 5, + classNo: 58, + lastSubtypeNo: 58, + maxBgInstances: null, + methods: { + }, + iface: { + "layer": null, + "set/layer": null, + "image": null, + "set/image": null, + "tileIndex": null, + "set/tileIndex": null, + "top": null, + "set/top": null, + "left": null, + "set/left": null, + "x": sprites_StaticObstacle_x__P792194, + "y": sprites_StaticObstacle_y__P792195, + "height": sprites_StaticObstacle_height__P792196, + "width": sprites_StaticObstacle_width__P792197, + }, +}); +const sprites_BaseSpriteSayRenderer__C791948_VT = mkVTable({ + name: "BaseSpriteSayRenderer", + numFields: 3, + classNo: 59, + lastSubtypeNo: 59, + maxBgInstances: null, + methods: { + "draw": sprites_BaseSpriteSayRenderer_draw__P791950, + "update": sprites_BaseSpriteSayRenderer_update__P791951, + "destroy": sprites_BaseSpriteSayRenderer_destroy__P791952, + }, + iface: { + "text": null, + "set/text": null, + "fgColor": null, + "set/fgColor": null, + "bgColor": null, + "set/bgColor": null, + "draw": sprites_BaseSpriteSayRenderer_draw__P791950, + "update": sprites_BaseSpriteSayRenderer_update__P791951, + "destroy": sprites_BaseSpriteSayRenderer_destroy__P791952, + }, +}); + +const breakpoints = setupDebugger(1, []) + +return _main___P807632 +}) diff --git a/assets/js/custom.js b/assets/js/custom.js new file mode 100644 index 0000000..f6f1e21 --- /dev/null +++ b/assets/js/custom.js @@ -0,0 +1,11 @@ +/** + * This will be loaded before starting the simulator. + * If you wish to add custom javascript, + * ** make sure to add this line to pxt.json** + * + * "disableTargetTemplateFiles": true + * + * otherwise MakeCode will override your changes. + * + * To register a constrol simmessages, use addSimMessageHandler + */ diff --git a/assets/js/loader.js b/assets/js/loader.js new file mode 100644 index 0000000..849eef5 --- /dev/null +++ b/assets/js/loader.js @@ -0,0 +1,169 @@ +var channelHandlers = {} + +function addSimMessageHandler(channel, handler) { + channelHandlers[channel] = handler; +} + +function makeCodeRun(options) { + var code = ""; + var isReady = false; + var simState = {} + var simStateChanged = false + var started = false; + var meta = undefined; + + // hide scrollbar + window.scrollTo(0, 1); + // init runtime + initSimState(); + fetchCode(); + + // helpers + function fetchCode() { + sendReq(options.js, function (c, status) { + if (status != 200) + return; + code = c; + // find metadata + code.replace(/^\/\/\s+meta=([^\n]+)\n/m, function (m, metasrc) { + meta = JSON.parse(metasrc); + }) + var vel = document.getElementById("version"); + if (meta.version && meta.repo && vel) { + var ap = document.createElement("a"); + ap.download = "arcade.uf2"; + ap.href = "https://github.com/" + meta.repo + "/releases/download/v" + meta.version + "/arcade.uf2"; + ap.innerText = "v" + meta.version; + vel.appendChild(ap); + } + // load simulator with correct version + document.getElementById("simframe") + .setAttribute("src", meta.simUrl); + initFullScreen(); + }) + } + + function startSim() { + if (!code || !isReady || started) + return + setState("run"); + started = true; + const runMsg = { + type: "run", + parts: [], + code: code, + partDefinitions: {}, + cdnUrl: meta.cdnUrl, + version: meta.target, + storedState: simState, + frameCounter: 1, + options: { + "theme": "green", + "player": "" + }, + id: "green-" + Math.random() + } + postMessage(runMsg); + } + + function stopSim() { + setState("stopped"); + postMessage({ + type: "stop" + }); + started = false; + } + + window.addEventListener('message', function (ev) { + var d = ev.data + if (d.type == "ready") { + var loader = document.getElementById("loader"); + if (loader) + loader.remove(); + isReady = true; + startSim(); + } else if (d.type == "simulator") { + switch (d.command) { + case "restart": + stopSim(); + startSim(); + break; + case "setstate": + if (d.stateValue === null) + delete simState[d.stateKey]; + else + simState[d.stateKey] = d.stateValue; + simStateChanged = true; + break; + } + } else if (d.type === "messagepacket" && d.channel) { + const handler = channelHandlers[d.channel] + if (handler) { + try { + const buf = d.data; + const str = uint8ArrayToString(buf); + const data = JSON.parse(str) + handler(data); + } catch (e) { + console.log(`invalid simmessage`) + console.log(e) + } + } + } + }, false); + + // helpers + function uint8ArrayToString(input) { + let len = input.length; + let res = "" + for (let i = 0; i < len; ++i) + res += String.fromCharCode(input[i]); + return res; + } + + function setState(st) { + var r = document.getElementById("root"); + if (r) + r.setAttribute("data-state", st); + } + + function postMessage(msg) { + const frame = document.getElementById("simframe"); + if (frame) + frame.contentWindow.postMessage(msg, meta.simUrl); + } + + function sendReq(url, cb) { + var xhttp = new XMLHttpRequest(); + xhttp.onreadystatechange = function () { + if (xhttp.readyState == 4) { + cb(xhttp.responseText, xhttp.status) + } + }; + xhttp.open("GET", url, true); + xhttp.send(); + } + + function initSimState() { + try { + simState = JSON.parse(localStorage["simstate"]) + } catch (e) { + simState = {} + } + setInterval(function () { + if (simStateChanged) + localStorage["simstate"] = JSON.stringify(simState) + simStateChanged = false + }, 200) + } + + function initFullScreen() { + var sim = document.getElementById("simframe"); + var fs = document.getElementById("fullscreen"); + if (fs && sim.requestFullscreen) { + fs.onclick = function() { sim.requestFullscreen(); } + } else if (fs) { + fs.remove(); + } + } +} \ No newline at end of file diff --git a/assets/version.txt b/assets/version.txt new file mode 100644 index 0000000..359a5b9 --- /dev/null +++ b/assets/version.txt @@ -0,0 +1 @@ +2.0.0 \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..4293de6 --- /dev/null +++ b/index.html @@ -0,0 +1,187 @@ +--- +# this is an empty front matter +--- + + + + + + {{ site.github.project_title }} + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + +
+ + + + + + diff --git a/pxt.json b/pxt.json index f1a8c23..0165551 100644 --- a/pxt.json +++ b/pxt.json @@ -1,6 +1,6 @@ { "name": "acey-deucey", - "version": "1.1.1", + "version": "2.0.0", "dependencies": { "device": "*" },