From 726a7fc9734082cc5aaf1bbffabb68553f58bb7e Mon Sep 17 00:00:00 2001 From: Waylon Walker Date: Sat, 19 Mar 2022 11:48:06 -0500 Subject: [PATCH] Initial files for MakeCode project --- .gitattributes | 5 + .github/workflows/cfg-check.yml | 37 + .github/workflows/makecode-release.yml | 63 + .github/workflows/makecode.yml | 29 + .vscode/settings.json | 23 + .vscode/tasks.json | 30 + Gemfile | 2 + Makefile | 10 + README.md | 33 + _config.yml | 8 + assets.json | 0 assets/index.html | 106 + assets/js/binary.js | 57136 +++++++++++++++++++++++ assets/js/custom.js | 11 + assets/js/loader.js | 169 + assets/version.txt | 1 + images.g.jres | 27 + images.g.ts | 312 + index.html | 187 + main.blocks | 207 + main.ts | 324 + pxt.json | 32 + test.ts | 1 + tilemap.g.jres | 106 + tilemap.g.ts | 153 + tsconfig.json | 9 + 26 files changed, 59021 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/workflows/cfg-check.yml create mode 100644 .github/workflows/makecode-release.yml create mode 100644 .github/workflows/makecode.yml create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 Gemfile create mode 100644 Makefile create mode 100644 README.md create mode 100644 _config.yml create mode 100644 assets.json 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 images.g.jres create mode 100644 images.g.ts create mode 100644 index.html create mode 100644 main.blocks create mode 100644 main.ts create mode 100644 pxt.json create mode 100644 test.ts create mode 100644 tilemap.g.jres create mode 100644 tilemap.g.ts create mode 100644 tsconfig.json 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/cfg-check.yml b/.github/workflows/cfg-check.yml new file mode 100644 index 0000000..b4acfee --- /dev/null +++ b/.github/workflows/cfg-check.yml @@ -0,0 +1,37 @@ +name: Check pxt.json + +on: + push: + branches: + - 'master' + - 'main' + +jobs: + check-cfg: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [14.x] + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: npm install + run: | + npm install -g pxt + pxt target arcade + - name: Checkout current state + run: | + git checkout -- . + git clean -fd + - name: Fix files listed in config if necessary + run: pxt checkpkgcfg + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3 + continue-on-error: true + with: + title: 'Removing missing files from pxt.json' + commit-message: 'Removing missing files from pxt.json' + delete-branch: 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/.github/workflows/makecode.yml b/.github/workflows/makecode.yml new file mode 100644 index 0000000..5b4f05c --- /dev/null +++ b/.github/workflows/makecode.yml @@ -0,0 +1,29 @@ +name: MakeCode + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14.x] + + steps: + - uses: actions/checkout@v1 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: npm install + run: | + npm install -g pxt + pxt target arcade + - name: build + run: | + pxt install + pxt build --cloud + env: + CI: true diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..f8106d4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,23 @@ +{ + "editor.formatOnType": true, + "files.autoSave": "afterDelay", + "files.watcherExclude": { + "**/.git/objects/**": true, + "**/built/**": true, + "**/node_modules/**": true, + "**/yotta_modules/**": true, + "**/yotta_targets": true, + "**/pxt_modules/**": true + }, + "files.associations": { + "*.blocks": "html", + "*.jres": "json" + }, + "search.exclude": { + "**/built": true, + "**/node_modules": true, + "**/yotta_modules": true, + "**/yotta_targets": true, + "**/pxt_modules": true + } +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..9ee2cf6 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,30 @@ + +// A task runner that calls the MakeCode (PXT) compiler +{ + "version": "2.0.0", + "tasks": [{ + "label": "pxt deploy", + "type": "shell", + "command": "pxt deploy --local", + "group": "build", + "problemMatcher": [ "$tsc" ] + }, { + "label": "pxt build", + "type": "shell", + "command": "pxt build --local", + "group": "build", + "problemMatcher": [ "$tsc" ] + }, { + "label": "pxt install", + "type": "shell", + "command": "pxt install", + "group": "build", + "problemMatcher": [ "$tsc" ] + }, { + "label": "pxt clean", + "type": "shell", + "command": "pxt clean", + "group": "test", + "problemMatcher": [ "$tsc" ] + }] +} diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..91ceacd --- /dev/null +++ b/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'github-pages', group: :jekyll_plugins \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9068464 --- /dev/null +++ b/Makefile @@ -0,0 +1,10 @@ +all: deploy + +build: + pxt build + +deploy: + pxt deploy + +test: + pxt test diff --git a/README.md b/README.md new file mode 100644 index 0000000..80f1417 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ + + + +> Open this page at [https://waylonwalker.github.io/portalpy/](https://waylonwalker.github.io/portalpy/) + +## Use as Extension + +This repository can be added as an **extension** in MakeCode. + +* open [https://arcade.makecode.com/](https://arcade.makecode.com/) +* click on **New Project** +* click on **Extensions** under the gearwheel menu +* search for **https://github.com/waylonwalker/portalpy** and import + +## Edit this project ![Build status badge](https://github.com/waylonwalker/portalpy/workflows/MakeCode/badge.svg) + +To edit this repository in MakeCode. + +* open [https://arcade.makecode.com/](https://arcade.makecode.com/) +* click on **Import** then click on **Import URL** +* paste **https://github.com/waylonwalker/portalpy** and click import + +## Blocks preview + +This image shows the blocks code from the last commit in master. +This image may take a few minutes to refresh. + +![A rendered view of the blocks](https://github.com/waylonwalker/portalpy/raw/master/.github/makecode/blocks.png) + +#### Metadata (used for search, rendering) + +* for PXT/arcade + diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..fde3317 --- /dev/null +++ b/_config.yml @@ -0,0 +1,8 @@ +makecode: + target: arcade + platform: arcade + home_url: https://arcade.makecode.com/ +theme: jekyll-theme-slate +include: + - assets + - README.md diff --git a/assets.json b/assets.json new file mode 100644 index 0000000..e69de29 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..bd862ee --- /dev/null +++ b/assets/js/binary.js @@ -0,0 +1,57136 @@ +// meta={"simUrl":"https://trg-arcade.userpxt.io/v1.8.22/---simulator","cdnUrl":"https://pxt.azureedge.net","version":"0.0.0","target":"arcade","targetVersion":"1.8.22"} +// total=1746323 new=10.58% cached=84.61% other=4.81% +(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("portalpy"); +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", + "_inputLastFrame", + "_kind", + "_kindsOverlappedWith", + "_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", + "bg", + "bgColor", + "border", + "borderColor", + "bottom", + "buckets", + "button", + "buttonEventHandlers", + "buttons", + "cachedTileView", + "cachedVx", + "cachedVy", + "calcDimensionalHash", + "callback", + "camera", + "canResolveClipping", + "card", + "cardSpacing", + "cardWidth", + "cardsPerRow", + "cardsTop", + "cellHeight", + "cellWidth", + "change", + "charHeight", + "charWidth", + "chunkIndex", + "chunkText", + "chunks", + "clear", + "clearInterior", + "clearObstacles", + "collisionHandlers", + "color", + "column", + "columnCount", + "columns", + "condition", + "connected", + "constrain", + "contains", + "controlledSprites", + "countdownEndHandler", + "countdownExpired", + "createMovingSprite", + "createParticle", + "createdHandlers", + "cursor", + "cursorCount", + "cursorOn", + "cursorRowHeight", + "data", + "defaultLifespan", + "defaultRate", + "deltaTime", + "deltaTimeMillis", + "destroy", + "destroyHandler", + "destroyedHandlers", + "displayCursor", + "dispose", + "distance", + "down", + "draw", + "drawBorder", + "drawCursorRow", + "drawLives", + "drawOffsetX", + "drawOffsetY", + "drawPartial", + "drawParticle", + "drawPlayer", + "drawScore", + "drawText", + "drawTextCore", + "dx", + "dy", + "effect", + "eid", + "enabled", + "endScreenEffect", + "event", + "eventContext", + "factory", + "fastFill", + "fastRandom", + "fc", + "fgColor", + "flags", + "followingSprites", + "font", + "fontColor", + "frame", + "frameCallbacks", + "frameWorker", + "framesInSample", + "fx", + "fy", + "galois", + "gameEnd", + "gameForeverHandlers", + "generator", + "getImageType", + "getObstacle", + "getOrCreateHandlerForEvent", + "getState", + "getText", + "getTile", + "getTileImage", + "getTileIndex", + "getTilesByType", + "getTileset", + "handler", + "handlerState", + "handlers", + "hasBackgroundImage", + "hasLife", + "hasNext", + "hasPrev", + "hasScore", + "hash", + "head", + "headerFont", + "headerText", + "heartImage", + "height", + "highScore", + "icon", + "iconImage", + "id", + "idleCallbacks", + "image", + "img", + "infoFont", + "infoTop", + "init", + "innerLeft", + "innerTop", + "insertAABB", + "insertAtKey", + "isInvalidIndex", + "isNewHighScore", + "isObstacle", + "isOnWall", + "isOutOfScreen", + "isOutsideMap", + "isPressed", + "isScaled", + "isStatic", + "isValid", + "isWall", + "key", + "kind", + "layer", + "layers", + "left", + "length", + "lfsr", + "life", + "lifeZeroHandler", + "lifespan", + "lock", + "map", + "maxLifespan", + "maxNegativeVelocity", + "maxSingleStep", + "maxSpeed", + "maxStep", + "maxVelocity", + "melody", + "mergeAtKey", + "millis", + "minAngle", + "minLifespan", + "minSingleStep", + "minStep", + "move", + "moveSprite", + "multiplier", + "multiplierImage", + "neighbors", + "next", + "nextPage", + "offsetX", + "offsetY", + "onEvent", + "onPlayFinished", + "onUpdate", + "once", + "options", + "order", + "overlapHandlers", + "overlapMap", + "overlaps", + "overlapsWith", + "ox", + "oy", + "pFlags", + "padding", + "parent", + "particleSources", + "period", + "physicsEngine", + "pickRandom", + "place", + "play", + "playCore", + "playUntilDone", + "playerIndex", + "playerStates", + "position", + "preferredDelay", + "pressureLevel", + "prevPage", + "prevTimeMillis", + "previousScene", + "priority", + "queuePlayInstructions", + "raiseButtonDown", + "raiseButtonRepeat", + "raiseButtonUp", + "raiseLifeZero", + "randomRange", + "recalcSize", + "register", + "registerFrameCallbacks", + "registerFrameHandler", + "registerHandler", + "registerMelody", + "registerObstacle", + "remove", + "removeSprite", + "render", + "renderable", + "repeatDelay", + "repeatInterval", + "repeatX", + "repeatY", + "resetHitbox", + "resizeBuckets", + "right", + "row", + "rowCount", + "rowHeight", + "rows", + "runButtonEvents", + "runCallbacks", + "runningCallbacks", + "s", + "sampleTilesByType", + "sayEndTime", + "sayRenderer", + "scale", + "scene", + "sceneDefaultRate", + "score", + "scrollOffset", + "scrollRow", + "scrollTarget", + "seed", + "selectedCard", + "selection", + "setAcceleration", + "setAnchor", + "setData", + "setDirection", + "setFactory", + "setFlag", + "setFont", + "setHitbox", + "setImage", + "setKind", + "setOffset", + "setPosition", + "setPressed", + "setRate", + "setRelativeToCamera", + "setSelection", + "setSpeed", + "setState", + "setText", + "setTheme", + "setTile", + "setTileAt", + "setWall", + "setWallAt", + "shakeAmplitude", + "shakeDuration", + "shakeStartTime", + "shouldBeVisible", + "show", + "showLife", + "showPlayer", + "showScore", + "source", + "sourceFactory", + "sources", + "speed", + "spread", + "sprite", + "spriteCollisions", + "spriteKind", + "spriteNextId", + "sprites", + "spritesByKind", + "src", + "start", + "startScreenEffect", + "state", + "stop", + "sx", + "sy", + "system", + "text", + "textAreaHeight", + "textAreaWidth", + "textColor", + "theme", + "tileIndex", + "tileKind", + "tileMap", + "tileOverlapHandlers", + "tileSet", + "tilemapCollisions", + "tilemapOverlaps", + "tileset", + "timeInSample", + "timeOut", + "timer", + "times", + "toString", + "top", + "unit", + "unregister", + "unregisterMelody", + "up", + "update", + "updateCard", + "updateParticle", + "updateScrollTarget", + "user", + "value", + "vid", + "visibility", + "visibilityFlag", + "vx", + "vy", + "wallCollisionHandlers", + "width", + "win", + "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___P22000(s) { +let r0 = s.r0, 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___6735 = undefined; + globals._intervals___3988 = (undefined); + globals._pollEventQueue___3997 = (undefined); + globals.minPriority___375 = (1); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P4000); + globals.listeners___4001 = (s.tmp_0); + globals.freqs___4050 = (_hex4049); + globals.globalVolume___4054 = (null); + globals.playToneID___4061 = (0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1612_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P1615_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = "b5:1 e6:3"; + s.callLocIdx = 0; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + globals.baDing___1628 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1612_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P1615_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 = 1; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + globals.wawawawaa___1629 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1612_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P1615_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 = 2; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + globals.powerUp___1632 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1612_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P1615_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = "!1200,200^50"; + s.callLocIdx = 3; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + globals.pewPew___1636 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1612_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P1615_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = "~4 @0,0,255,150 !300,1 !211,1"; + s.callLocIdx = 4; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + globals.knock___1637 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1612_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P1615_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = "~4 @0,0,60,50 !200,1"; + s.callLocIdx = 5; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + globals.footstep___1638 = (s.tmp_0); + globals.brightness___1750 = (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", _hex10091); + globals.font8___1772 = (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", _hex10093); + globals.font12___1773 = (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", _hex16416); + globals.font5___1777 = (s.tmp_0); + globals.__updated___4110 = (false); + r0 = pxsim.control.runInParallel(control___screen_inline__P4113); + r0 = pxsim_pxtcore.setPalette(_hex4124); + r0 = pxsim.image.create(160, 120); + globals.screen___1829 = (r0); + s.tmp_0 = control___screen_setupUpdate__P1791_mk(s); + s.tmp_0.arg0 = _screen_internal_inline__P4131; + s.callLocIdx = 8; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + globals.control_EventContext_onStats___398 = (_screen_internal_inline__P4136); + globals.RUN_KEY___4141 = ("#run"); + globals.SCOPE_KEY___4142 = ("#scope"); + s.tmp_0 = settings_initScopes__P4153_mk(s); + s.callLocIdx = 9; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 5; + s.tmp_1.arg2 = 4; + s.callLocIdx = 10; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + globals.A___1907 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 6; + s.tmp_1.arg2 = 5; + s.callLocIdx = 11; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + globals.B___1908 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 1; + s.tmp_1.arg2 = 47; + s.callLocIdx = 12; s.pc = 13; return s.tmp_1; + case 13: + r0 = s.retval; + globals.left___1909 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 2; + s.tmp_1.arg2 = 49; + s.callLocIdx = 13; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + globals.up___1910 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 3; + s.tmp_1.arg2 = 48; + s.callLocIdx = 14; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + globals.right___1911 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 4; + s.tmp_1.arg2 = 50; + s.callLocIdx = 15; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + globals.down___1912 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 7; + s.tmp_1.arg2 = 51; + s.callLocIdx = 16; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + globals.menu___1913 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(controller_AnyButton__C4182_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_Button_constructor__P1985_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 0; + s.tmp_1.arg2 = -1; + s.callLocIdx = 17; s.pc = 18; return s.tmp_1; + case 18: + r0 = s.retval; + globals.anyButton___1960 = (s.tmp_0); + globals._userEventsEnabled___4196 = (true); + globals.defaultRepeatDelay___4198 = (500); + globals.defaultRepeatInterval___4200 = (30); + s.tmp_0 = SpriteKind_create__P2258_mk(s); + s.callLocIdx = 18; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + globals.Player___2259 = (r0); + s.tmp_0 = SpriteKind_create__P2258_mk(s); + s.callLocIdx = 19; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + globals.Food___2261 = (r0); + s.tmp_0 = SpriteKind_create__P2258_mk(s); + s.callLocIdx = 20; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + globals.Enemy___2262 = (r0); + r0 = (0.1 * 256); + s.tmp_0 = r0; + r0 = (s.tmp_0 | 0); + globals.MIN_MOVE_GAP___2300 = (r0); + globals.infoState___4256 = (undefined); + s.tmp_0 = game_addScenePushHandler__P2699_mk(s); + s.tmp_0.arg0 = info_inline__P4260; + s.callLocIdx = 22; s.pc = 22; return s.tmp_0; + case 22: + r0 = s.retval; + s.tmp_0 = game_addScenePopHandler__P2701_mk(s); + s.tmp_0.arg0 = info_inline__P4275; + s.callLocIdx = 26; s.pc = 23; return s.tmp_0; + case 23: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(info_PlayerInfo__C2361_VT); + s.tmp_0 = r0; + s.tmp_1 = info_PlayerInfo_constructor__P2373_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 1; + s.callLocIdx = 27; s.pc = 24; return s.tmp_1; + case 24: + r0 = s.retval; + globals.player1___2392 = (s.tmp_0); + r0 = pxsim_Array__mk(); + globals.scene_Scene_initializers___2592 = (r0); + globals.debug___2681 = (false); + globals.stats___2682 = (false); + globals.winEffect___2683 = (undefined); + globals.loseEffect___2684 = (undefined); + globals.loseSound___4371 = (undefined); + globals.winSound___4373 = (undefined); + globals.__isOver___4381 = (false); + globals.foreverRunning___4385 = (false); + s.tmp_0 = scene_systemMenu_initVolume__P4640_mk(s); + s.callLocIdx = 28; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_initScreen__P4641_mk(s); + s.callLocIdx = 29; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + r0 = pxsim_Array__push(globals.scene_Scene_initializers___2592, scene_systemMenu_register__P2787); + r0 = pxsim.image.ofBuffer(_hex4648); + globals.CARD_NORMAL___2792 = (r0); + r0 = pxsim.image.ofBuffer(_hex4650); + globals.CARD_SELECTED___2793 = (r0); + r0 = pxsim.image.ofBuffer(_hex4652); + globals.CARD_ACTIVE___2794 = (r0); + r0 = pxsim.image.ofBuffer(_hex4654); + globals.VOLUME_UP_ICON___2795 = (r0); + r0 = pxsim.image.ofBuffer(_hex4656); + globals.BRIGHTNESS_DOWN_ICON___2796 = (r0); + r0 = pxsim.image.ofBuffer(_hex4658); + globals.CLOSE_MENU_ICON___2797 = (r0); + r0 = pxsim.image.ofBuffer(_hex4660); + globals.VOLUME_DOWN_ICON___2798 = (r0); + r0 = pxsim.image.ofBuffer(_hex4662); + globals.SLEEP_ICON___2799 = (r0); + r0 = pxsim.image.ofBuffer(_hex4664); + globals.CONSOLE_ICON___2800 = (r0); + r0 = pxsim.image.ofBuffer(_hex4666); + globals.BRIGHTNESS_UP_ICON___2801 = (r0); + r0 = pxsim.image.ofBuffer(_hex4668); + globals.STATS_ICON___2802 = (r0); + globals.consoleColor___4671 = (1); + globals.tabSize___4674 = (8); + globals.consoleFont___4680 = (globals.font5___1777); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_2 = r0; + s.tmp_5 = if_charHeight_1_mk(s); + s.tmp_5.arg0 = globals.consoleFont___4680; + 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 = 30; s.pc = 27; return s.tmp_5; } + } + case 27: + 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___4685 = (r0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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___4680; + 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 = 31; s.pc = 28; return s.tmp_4; } + } + case 28: + 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___4695 = (r0); + s.tmp_0 = console_addListener__P383_mk(s); + s.tmp_0.arg0 = game_consoleOverlay_listener__P4707; + s.callLocIdx = 32; s.pc = 29; return s.tmp_0; + case 29: + r0 = s.retval; + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = MAX_SOURCES_inline__P10883; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 34; s.pc = 30; return s.tmp_0; + case 30: + r0 = s.retval; + globals.MAX_SOURCES___4709 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C2872_VT); + s.tmp_0 = r0; + s.tmp_1 = particles_SprayFactory_constructor__P2873_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 = 35; s.pc = 31; return s.tmp_1; + case 31: + r0 = s.retval; + globals.defaultFactory___2852 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C2740_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P2742_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 36; s.pc = 32; return s.tmp_1; + case 32: + r0 = s.retval; + globals.galois___4729 = (s.tmp_0); + globals.angleSlice___4737 = (0.06283185307179587); + r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C2947_VT); + s.tmp_0 = r0; + s.tmp_1 = effects_ScreenEffect_constructor__P2948_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__P10511; + s.callLocIdx = 42; s.pc = 33; return s.tmp_1; + case 33: + r0 = s.retval; + globals.confetti___2955 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C2970_VT); + s.tmp_0 = r0; + s.tmp_1 = effects_ImageEffect_constructor__P2971_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 100; + s.tmp_1.arg2 = dissolve_inline__P17015; + s.callLocIdx = 48; s.pc = 34; return s.tmp_1; + case 34: + r0 = s.retval; + globals.dissolve___2975 = (s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C2970_VT); + s.tmp_0 = r0; + s.tmp_1 = effects_ImageEffect_constructor__P2971_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = 125; + s.tmp_1.arg2 = melt_inline__P10403; + s.callLocIdx = 51; s.pc = 35; return s.tmp_1; + case 35: + r0 = s.retval; + globals.melt___2976 = (s.tmp_0); + r0 = pxsim.image.ofBuffer(_hex5102); + globals.tilePath1___3259 = (r0); + r0 = pxsim.image.ofBuffer(_hex5104); + globals.tilePath2___3260 = (r0); + r0 = pxsim.image.ofBuffer(_hex5106); + globals.tilePath3___3261 = (r0); + r0 = pxsim.image.ofBuffer(_hex5110); + globals.tilePath4___3263 = (r0); + r0 = pxsim.image.ofBuffer(_hex5112); + globals.tilePath5___3264 = (r0); + r0 = pxsim.image.ofBuffer(_hex5114); + globals.tilePath6___3265 = (r0); + r0 = pxsim.image.ofBuffer(_hex5730); + globals.collectibleRedCrystal___3579 = (r0); + r0 = pxsim.image.ofBuffer(_hex5764); + globals.doorClosedNorth___3596 = (r0); + r0 = pxsim.image.ofBuffer(_hex5772); + globals.doorOpenNorth___3600 = (r0); + r0 = pxsim.image.ofBuffer(_hex6192); + globals.swampTile7___3820 = (r0); + r0 = pxsim.image.ofBuffer(_hex6196); + globals.swampTile9___3822 = (r0); + r0 = pxsim.image.ofBuffer(_hex6204); + globals.swampTile13___3826 = (r0); + s.tmp_0 = game_setWaitAnyButton__P2686_mk(s); + s.tmp_0.arg0 = controller_pauseUntilAnyButtonIsPressed__P1995; + s.callLocIdx = 52; s.pc = 36; return s.tmp_0; + case 36: + r0 = s.retval; + s.tmp_0 = game_eventContext__P2688_mk(s); + s.callLocIdx = 53; s.pc = 37; return s.tmp_0; + case 37: + r0 = s.retval; + r0 = pxsim.image.ofBuffer(_hex6393); + globals.transparency16___3934 = (r0); + s.tmp_0 = helpers__registerFactory__P3011_mk(s); + s.tmp_0.arg0 = "tilemap"; + s.tmp_0.arg1 = myTiles_inline__P6397; + s.callLocIdx = 62; s.pc = 38; return s.tmp_0; + case 38: + r0 = s.retval; + s.tmp_0 = helpers__registerFactory__P3011_mk(s); + s.tmp_0.arg0 = "tile"; + s.tmp_0.arg1 = myTiles_inline__P6491; + s.callLocIdx = 64; s.pc = 39; return s.tmp_0; + case 39: + r0 = s.retval; + s.tmp_0 = helpers__registerFactory__P3011_mk(s); + s.tmp_0.arg0 = "image"; + s.tmp_0.arg1 = myImages_inline__P6499; + s.callLocIdx = 66; s.pc = 40; return s.tmp_0; + case 40: + r0 = s.retval; + s.tmp_0 = helpers__registerFactory__P3011_mk(s); + s.tmp_0.arg0 = "animation"; + s.tmp_0.arg1 = myImages_inline__P6514; + s.callLocIdx = 68; s.pc = 41; return s.tmp_0; + case 41: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.up___1910; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = inline__P6524; + s.callLocIdx = 69; s.pc = 42; return s.tmp_0; + case 42: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.B___1908; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = inline__P6530; + s.callLocIdx = 72; s.pc = 43; return s.tmp_0; + case 43: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.A___1907; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = inline__P6550; + s.callLocIdx = 76; s.pc = 44; return s.tmp_0; + case 44: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.down___1912; + s.tmp_0.arg1 = 2048; + s.tmp_0.arg2 = inline__P6564; + s.callLocIdx = 77; s.pc = 45; return s.tmp_0; + case 45: + r0 = s.retval; + s.tmp_0 = scene_onOverlapTile__P2239_mk(s); + s.tmp_0.arg0 = globals.Player___2259; + s.tmp_0.arg1 = globals.doorClosedNorth___3596; + s.tmp_0.arg2 = inline__P6569; + s.callLocIdx = 80; s.pc = 46; return s.tmp_0; + case 46: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.up___1910; + s.tmp_0.arg1 = 2048; + s.tmp_0.arg2 = inline__P6583; + s.callLocIdx = 81; s.pc = 47; return s.tmp_0; + case 47: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.down___1912; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = inline__P6588; + s.callLocIdx = 82; s.pc = 48; return s.tmp_0; + case 48: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.menu___1913; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = inline__P6595; + s.callLocIdx = 87; s.pc = 49; return s.tmp_0; + case 49: + r0 = s.retval; + s.tmp_0 = scene_onOverlapTile__P2239_mk(s); + s.tmp_0.arg0 = globals.Player___2259; + s.tmp_0.arg1 = globals.swampTile7___3820; + s.tmp_0.arg2 = inline__P6612; + s.callLocIdx = 89; s.pc = 50; return s.tmp_0; + case 50: + r0 = s.retval; + s.tmp_0 = scene_onHitWall__P2240_mk(s); + s.tmp_0.arg0 = 1; + s.tmp_0.arg1 = inline__P6619; + s.callLocIdx = 95; s.pc = 51; return s.tmp_0; + case 51: + r0 = s.retval; + s.tmp_0 = scene_onOverlapTile__P2239_mk(s); + s.tmp_0.arg0 = globals.Player___2259; + s.tmp_0.arg1 = globals.swampTile9___3822; + s.tmp_0.arg2 = inline__P6640; + s.callLocIdx = 97; s.pc = 52; return s.tmp_0; + case 52: + r0 = s.retval; + s.tmp_0 = scene_onOverlapTile__P2239_mk(s); + s.tmp_0.arg0 = globals.Player___2259; + s.tmp_0.arg1 = globals.collectibleRedCrystal___3579; + s.tmp_0.arg2 = inline__P6648; + s.callLocIdx = 101; s.pc = 53; return s.tmp_0; + case 53: + r0 = s.retval; + s.tmp_0 = scene_onOverlapTile__P2239_mk(s); + s.tmp_0.arg0 = globals.Player___2259; + s.tmp_0.arg1 = globals.doorOpenNorth___3600; + s.tmp_0.arg2 = inline__P6680; + s.callLocIdx = 108; s.pc = 54; return s.tmp_0; + case 54: + r0 = s.retval; + globals.canTP___3923 = (0); + globals.px___3924 = (0); + globals.projectile___3925 = (null); + globals.py___3926 = (0); + globals.level___3927 = (0); + r0 = pxsim_Array__mk(); + globals.levelStartMessage___3928 = (r0); + r0 = pxsim_Array__mk(); + globals.levels___3929 = (r0); + globals._type___3930 = (0); + globals.typeSprite___3931 = (null); + globals.mySprite___3932 = (null); + s.tmp_0 = scene_setBackgroundImage__P2612_mk(s); + s.tmp_1 = helpers_getImageByName__P3015_mk(s); + s.tmp_1.arg0 = "myImage"; + s.callLocIdx = 109; s.pc = 56; return s.tmp_1; + case 56: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.callLocIdx = 110; s.pc = 55; return s.tmp_0; + case 55: + r0 = s.retval; + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 500; + s.callLocIdx = 111; s.pc = 57; return s.tmp_0; + case 57: + r0 = s.retval; + s.tmp_0 = scene_setBackgroundImage__P2612_mk(s); + s.tmp_1 = helpers_getImageByName__P3015_mk(s); + s.tmp_1.arg0 = "myImage0"; + s.callLocIdx = 112; s.pc = 59; return s.tmp_1; + case 59: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.callLocIdx = 113; s.pc = 58; return s.tmp_0; + case 58: + r0 = s.retval; + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 100; + s.callLocIdx = 114; s.pc = 60; return s.tmp_0; + case 60: + r0 = s.retval; + s.tmp_0 = sprites_create__P2064_mk(s); + r0 = pxsim.image.ofBuffer(_hex6703); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = globals.Player___2259; + s.callLocIdx = 115; s.pc = 61; return s.tmp_0; + case 61: + r0 = s.retval; + globals.mySprite___3932 = (r0); + s.tmp_0 = scene_cameraFollowSprite__P2617_mk(s); + s.tmp_0.arg0 = globals.mySprite___3932; + s.callLocIdx = 116; s.pc = 62; return s.tmp_0; + case 62: + r0 = s.retval; + s.tmp_0 = controller_moveSprite__P1957_mk(s); + s.tmp_0.arg0 = globals.mySprite___3932; + s.tmp_0.arg1 = 100; + s.tmp_0.arg2 = 0; + s.callLocIdx = 117; s.pc = 63; return s.tmp_0; + case 63: + r0 = s.retval; + s.tmp_0 = Sprite_ay__P2152_mk(s); + s.tmp_0.arg0 = globals.mySprite___3932; + s.tmp_0.arg1 = 500; + s.callLocIdx = 118; s.pc = 64; return s.tmp_0; + case 64: + r0 = s.retval; + s.tmp_0 = sprites_create__P2064_mk(s); + s.tmp_1 = helpers_getImageByName__P3015_mk(s); + s.tmp_1.arg0 = "red"; + s.callLocIdx = 119; s.pc = 66; return s.tmp_1; + case 66: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = globals.Player___2259; + s.callLocIdx = 120; s.pc = 65; return s.tmp_0; + case 65: + r0 = s.retval; + globals.typeSprite___3931 = (r0); + globals._type___3930 = (0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + s.tmp_2 = helpers_getTilemapByName__P3014_mk(s); + s.tmp_2.arg0 = "level6"; + s.callLocIdx = 121; s.pc = 67; return s.tmp_2; + case 67: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + s.tmp_4 = helpers_getTilemapByName__P3014_mk(s); + s.tmp_4.arg0 = "level1"; + s.callLocIdx = 122; s.pc = 68; return s.tmp_4; + case 68: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_3); + s.tmp_6 = helpers_getTilemapByName__P3014_mk(s); + s.tmp_6.arg0 = "level3"; + s.callLocIdx = 123; s.pc = 69; return s.tmp_6; + case 69: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_5); + s.tmp_8 = helpers_getTilemapByName__P3014_mk(s); + s.tmp_8.arg0 = "level4"; + s.callLocIdx = 124; s.pc = 70; return s.tmp_8; + case 70: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_7); + s.tmp_10 = helpers_getTilemapByName__P3014_mk(s); + s.tmp_10.arg0 = "level5"; + s.callLocIdx = 125; s.pc = 71; return s.tmp_10; + case 71: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_9); + s.tmp_12 = helpers_getTilemapByName__P3014_mk(s); + s.tmp_12.arg0 = "level7"; + s.callLocIdx = 126; s.pc = 72; return s.tmp_12; + case 72: + r0 = s.retval; + s.tmp_11 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_11); + globals.levels___3929 = (s.tmp_0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, "This is portal.py, you need to find the edgeless yum cube to find pass this test."); + r0 = pxsim_Array__push(s.tmp_0, "You now have a portal device, use b to place portals"); + r0 = pxsim_Array__push(s.tmp_0, "You are much faster at this than the others"); + r0 = pxsim_Array__push(s.tmp_0, "some portals require great timing"); + r0 = pxsim_Array__push(s.tmp_0, "some portals require you to look up when you place them"); + r0 = pxsim_String_.mkEmpty(); + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + globals.levelStartMessage___3928 = (s.tmp_0); + globals.level___3927 = (5); + s.tmp_0 = music_setVolume__P1606_mk(s); + s.tmp_0.arg0 = 20; + s.callLocIdx = 127; s.pc = 73; return s.tmp_0; + case 73: + r0 = s.retval; + s.index___6735 = (0); + case 1: + r0 = (s.index___6735 < 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = music_playMelody__P1609_mk(s); + s.tmp_1.arg0 = "E B C5 A B G A F "; + s.tmp_1.arg1 = 220; + s.callLocIdx = 128; s.pc = 74; return s.tmp_1; + case 74: + r0 = s.retval; + r0 = (s.index___6735 + 1); + s.index___6735 = (r0); + { step = 1; continue; } + case 2: + s.tmp_0 = startLevel__P3922_mk(s); + s.callLocIdx = 129; s.pc = 75; return s.tmp_0; + case 75: + r0 = s.retval; + s.tmp_0 = game_onUpdate__P2704_mk(s); + s.tmp_0.arg0 = inline__P6744; + s.callLocIdx = 135; s.pc = 76; return s.tmp_0; + case 76: + r0 = s.retval; + s.tmp_0 = game_onUpdateInterval__P2705_mk(s); + s.tmp_0.arg0 = 1000; + s.tmp_0.arg1 = inline__P6765; + s.callLocIdx = 136; s.pc = 77; return s.tmp_0; + case 77: + r0 = s.retval; + s.tmp_0 = forever__P1877_mk(s); + s.tmp_0.arg0 = inline__P6768; + s.callLocIdx = 137; s.pc = 78; return s.tmp_0; + case 78: + r0 = s.retval; + s.tmp_0 = forever__P1877_mk(s); + s.tmp_0.arg0 = inline__P6770; + s.callLocIdx = 142; s.pc = 79; return s.tmp_0; + case 79: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +_main___P22000.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"main.ts","functionName":"
","argumentNames":[]} +_main___P22000.continuations = [ ] + +function _main___P22000_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _main___P22000, depth: s.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, + index___6735: undefined, +} } + +const _hex4049 = pxsim.BufferMethods.createBufferFromHex("1f00210023002500270029002c002e003100340037003a003e004100450049004e00520057005c00620068006e0075007b0083008b0093009c00a500af00b900c400d000dc00e900f70006011501260137014a015d01720188019f01b801d201ee010b022a024b026e029302ba02e40210033f037003a403dc03170455049704dd0427057505c80520067d06e0064907b8072d08a9082d09b9094d0aea0a900b400cfa0cc00d910e6f0f5a1053115b1272139a14d41520178018f519801b231dde1e") +const _hex10091 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800") +const _hex10093 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000") +const _hex16416 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000") +const _hex4124 = pxsim.BufferMethods.createBufferFromHex("000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000") +const _hex4648 = pxsim.BufferMethods.createBufferFromHex("8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000") +const _hex4650 = pxsim.BufferMethods.createBufferFromHex("8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000") +const _hex4652 = pxsim.BufferMethods.createBufferFromHex("8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000") +const _hex4654 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex4656 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex4658 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex4660 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex4662 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex4664 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex4666 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex4668 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex5102 = pxsim.BufferMethods.createBufferFromHex("870410001000000077777777777777777767766776d67666777766dd6ddd6ddd77d6dddddddddddd67dddddddddddddb77d6dddddddddddd77d6ddbddbdddddd67d6ddbddbdddddd67dddddddddddddd67dddddddddddddd77d6dddddd1dd1dd67ddddddd11dd1dd77d6dddddddddddd77dddbdddddddddd67d7ddddddd1dddd77d6dddddddddddb") +const _hex5104 = pxsim.BufferMethods.createBufferFromHex("870410001000000067dddddddddddddd67dd1dd1dddddddd77d61dd1ddbddddd67d7dddddddddddd77d71ddddddddddd67d6dddddddddddd7767ddddbddddddd67ddddddddddddd167ddddddddddddddd7dddddddddddddd67d71ddddddddddd77d6ddddddbddbdd77ddddddddbddbdd67d6dddddddddddd7767dddd1ddddd1d77d6dddddddddddd") +const _hex5106 = pxsim.BufferMethods.createBufferFromHex("8704100010000000d7ddddd1dddddddd67dddddddddddddd77d6dddddddddddd67d6ddddbddbdddd67dddbddbddbdddd77dddddddddddddb77d6dddddddddddd77d6dddddddddddd67d6ddd1ddddddddd7dddddddbdddddd67dd11ddddddd1dd77d611dddddddddd67ddddddd6dddddd77d66ddd67dd66dd776776667766676d7777777777777777") +const _hex5110 = pxsim.BufferMethods.createBufferFromHex("870410001000000077777777777777776767776776d67676666766dd6ddd6dd6ddd6d6ddddbdddd6dddddddddddddddddddddddddddddddd11dddddddddddddd11ddbddddddddddddddddddddd1ddddbdddddddddd11d1ddddd1dddddd1dddddddddddddddddddddddddddddbbddddddddddddddbbddddddddddddddddddddddddddddd1dddddd1d") +const _hex5112 = pxsim.BufferMethods.createBufferFromHex("8704100010000000dddddddddd1dd1dddddddddddd1dd1dddddddbdddddddddd1dd1dddddddddddd1dd1dddddddddddddddddddddbdddddddddddddddddd1dddddddddddddddddddddddddddddddddddddddbbddddddddddddddbbdddddddddddddddddddddddddddddddddddddddbddbdddddddddddddddddddddddddddddbddddddddddddddddd") +const _hex5114 = pxsim.BufferMethods.createBufferFromHex("8704100010000000ddddddddd1dddddddd1ddddddddddddddd11d1ddddddddd1dd1dddddddddddddddddddddbddbddddddddddddbddbddddddddddddddddddddddddddddddddddddddbddddddddddddddddddddddddddddddddddddddddddbddddddddd1dddddddddddddddd6dddddddddd6dd667dd66dd666676d6776766d677777777777777777") +const _hex5730 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000444400000000003433244400000030333333220400003433333323420000343323223342004034332222222204404522224424220440452242444422044044224244442204004411424444420000441145442442000040545544420400000044444444000000000044440000000000000000000000") +const _hex5764 = pxsim.BufferMethods.createBufferFromHex("8704100010000000ccccccccccccccacbbddbcdddddbddcdbbddbcdddddbddcdbbddbcbbbbbcbbabbbddfcffffffffffbbddccccccccccccbbddfcffffffffffbbddccccccfcffffbbddfcffffcfccccbbddfcffffffffffbbddccccccccccccbbddfcffffffffffbbddbcbbbbbcbbabbbddbcdddddbddcdbbddbcdddddbddcdccccccccccccccac") +const _hex5772 = pxsim.BufferMethods.createBufferFromHex("8704100010000000ccccccccccccccacbbddbcdddddbddcdbbddbcdddddbddcdbbddbcbbbbbcbbabbbddfcffffffffccbbddfcffffffcfccbbddfcffffffcfccbbddfcffffffcfcfbbddfcffffffffcfbbddfcfffffffcccbbddfcfffffffcccbbddfcffffffffccbbddbcbbbbbcbbabbbddbcdddddbddcdbbddbcdddddbddcdccccccccccccccac") +const _hex6192 = pxsim.BufferMethods.createBufferFromHex("870410001000000088aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa88aaaaaaaaaaaaaa") +const _hex6196 = pxsim.BufferMethods.createBufferFromHex("8704100010000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") +const _hex6204 = pxsim.BufferMethods.createBufferFromHex("8704100010000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8aa8aaaa33a3aaaa8aa8aa3aa33aaa3a8388aa33aaaaa33a8388aa13a1aaa3aa8888aa13a1aaa3aa8888aa3aa33aaaaa8888aaaa33a3aaaa8888aaaaaaaa3aa38888aaaaaaaaa33a8888aaaaaaaaa33a8aa8aaaaaaaa3aa38aa8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") +const _hex6393 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex6703 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000f0ff00000000f0ffffef0f000000fffefeee0ef00f00effef244fefffff0eefef2d44efefff0eeeff24edeed0ff0eeefff1bdeed0ff0fe2eefffedfe0ff02f2eefd44d52fff0222eefd4ed52ff002f2efeeeffffff00f0eff2fe00f00f0000f0ff0f00000000000000000000000000000000000000") + + + + +function control___screen_inline__P4113(s) { +let r0 = s.r0, 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___4110 = (false); + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 200; + s.callLocIdx = 6; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals.__updated___4110); + 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__P1790_mk(s); + s.callLocIdx = 7; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + globals.__updated___4110 = (true); + case 2: + case 3: + { step = 1; continue; } + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control___screen_inline__P4113.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__P4113_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___screen_inline__P4113, 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__P4131(s) { +let r0 = s.r0, 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___1829); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +_screen_internal_inline__P4131.info = {"start":753,"length":26,"line":22,"column":33,"endLine":22,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]} + +function _screen_internal_inline__P4131_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _screen_internal_inline__P4131, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function _screen_internal_inline__P4136(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4136.info = {"start":816,"length":56,"line":23,"column":35,"endLine":25,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]} + +function _screen_internal_inline__P4136_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: _screen_internal_inline__P4136, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function info_inline__P4260(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4256); + if (!r0) { step = 3; continue; } + r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___4258); + 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___4258 = (r0); + case 1: + case 2: + r0 = pxsim_pxtrt.mkMap(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___4256); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0); + r0 = pxsim_Array__push(globals.infoStateStack___4258, s.tmp_0); + globals.infoState___4256 = (undefined); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_inline__P4260.info = {"start":1996,"length":259,"line":75,"column":29,"endLine":84,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["oldScene"]} + +function info_inline__P4260_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_inline__P4260, 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__P4275(s) { +let r0 = s.r0, 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___4276 = undefined; + s.nextState___4285 = undefined; + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 23; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.scene___4276 = (r0); + globals.infoState___4256 = (undefined); + s.tmp_0 = r0 = globals.infoStateStack___4258; + 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___4258); + 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___4258); + s.nextState___4285 = (r0); + s.tmp_2 = if_scene_1_mk(s); + s.tmp_2.arg0 = s.nextState___4285; + 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 = 24; s.pc = 8; return s.tmp_2; } + } + case 8: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.scene___4276); + 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___4285; + 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 = 25; s.pc = 9; return s.tmp_3; } + } + case 9: + r0 = s.retval; + globals.infoState___4256 = (r0); + { step = 4; continue; } + case 3: + r0 = pxsim_Array__push(globals.infoStateStack___4258, s.nextState___4285); + case 4: + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_inline__P4275.info = {"start":2287,"length":376,"line":86,"column":28,"endLine":97,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]} + +function info_inline__P4275_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_inline__P4275, depth: s.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___4276: undefined, + nextState___4285: undefined, +} } + + + + + +function myTiles_inline__P6397(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = helpers_stringTrim__P123_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 54; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_pxtcore.switch_eq("level2", s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq("level2", s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq("level1", s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq("level1", s.tmp_0); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq("level3", s.tmp_0); + if (r0) { step = 5; continue; } + r0 = pxsim_pxtcore.switch_eq("level3", s.tmp_0); + if (r0) { step = 6; continue; } + r0 = pxsim_pxtcore.switch_eq("level4", s.tmp_0); + if (r0) { step = 7; continue; } + r0 = pxsim_pxtcore.switch_eq("level4", s.tmp_0); + if (r0) { step = 8; continue; } + r0 = pxsim_pxtcore.switch_eq("level5", s.tmp_0); + if (r0) { step = 9; continue; } + r0 = pxsim_pxtcore.switch_eq("level5", s.tmp_0); + if (r0) { step = 10; continue; } + r0 = pxsim_pxtcore.switch_eq("level6", s.tmp_0); + if (r0) { step = 11; continue; } + r0 = pxsim_pxtcore.switch_eq("level6", s.tmp_0); + if (r0) { step = 12; continue; } + r0 = pxsim_pxtcore.switch_eq("level7", s.tmp_0); + if (r0) { step = 13; continue; } + r0 = pxsim_pxtcore.switch_eq("level7", s.tmp_0); + if (r0) { step = 14; continue; } + r0 = s.tmp_0; + { step = 15; continue; } + case 1: + case 2: + r0 = pxsim_Array__mk(); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_2, globals.transparency16___3934); + s.tmp_3 = tiles_createTilemap__P2493_mk(s); + s.tmp_3.arg0 = _hex6404; + r0 = pxsim.image.ofBuffer(_hex6406); + s.tmp_3.arg1 = r0; + s.tmp_3.arg2 = s.tmp_2; + s.tmp_3.arg3 = 4; + s.callLocIdx = 55; s.pc = 18; return s.tmp_3; + case 18: + r0 = s.retval; + { step = 16; continue; } + case 3: + case 4: + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = pxsim_Array__push(s.tmp_4, globals.transparency16___3934); + r0 = pxsim_Array__push(s.tmp_4, globals.tilePath1___3259); + r0 = pxsim_Array__push(s.tmp_4, globals.tilePath4___3263); + r0 = pxsim_Array__push(s.tmp_4, globals.tilePath5___3264); + r0 = pxsim_Array__push(s.tmp_4, globals.tilePath2___3260); + r0 = pxsim_Array__push(s.tmp_4, globals.doorOpenNorth___3600); + r0 = pxsim_Array__push(s.tmp_4, globals.tilePath6___3265); + r0 = pxsim_Array__push(s.tmp_4, globals.tilePath3___3261); + r0 = pxsim_Array__push(s.tmp_4, globals.collectibleRedCrystal___3579); + s.tmp_5 = tiles_createTilemap__P2493_mk(s); + s.tmp_5.arg0 = _hex6412; + r0 = pxsim.image.ofBuffer(_hex6414); + s.tmp_5.arg1 = r0; + s.tmp_5.arg2 = s.tmp_4; + s.tmp_5.arg3 = 4; + s.callLocIdx = 56; s.pc = 19; return s.tmp_5; + case 19: + r0 = s.retval; + { step = 16; continue; } + case 5: + case 6: + r0 = pxsim_Array__mk(); + s.tmp_6 = r0; + r0 = pxsim_Array__push(s.tmp_6, globals.transparency16___3934); + r0 = pxsim_Array__push(s.tmp_6, globals.tilePath2___3260); + r0 = pxsim_Array__push(s.tmp_6, globals.tilePath4___3263); + r0 = pxsim_Array__push(s.tmp_6, globals.doorOpenNorth___3600); + r0 = pxsim_Array__push(s.tmp_6, globals.collectibleRedCrystal___3579); + s.tmp_7 = tiles_createTilemap__P2493_mk(s); + s.tmp_7.arg0 = _hex6428; + r0 = pxsim.image.ofBuffer(_hex6430); + s.tmp_7.arg1 = r0; + s.tmp_7.arg2 = s.tmp_6; + s.tmp_7.arg3 = 4; + s.callLocIdx = 57; s.pc = 20; return s.tmp_7; + case 20: + r0 = s.retval; + { step = 16; continue; } + case 7: + case 8: + r0 = pxsim_Array__mk(); + s.tmp_8 = r0; + r0 = pxsim_Array__push(s.tmp_8, globals.transparency16___3934); + r0 = pxsim_Array__push(s.tmp_8, globals.tilePath2___3260); + r0 = pxsim_Array__push(s.tmp_8, globals.tilePath5___3264); + r0 = pxsim_Array__push(s.tmp_8, globals.collectibleRedCrystal___3579); + r0 = pxsim_Array__push(s.tmp_8, globals.doorOpenNorth___3600); + r0 = pxsim_Array__push(s.tmp_8, globals.tilePath1___3259); + s.tmp_9 = tiles_createTilemap__P2493_mk(s); + s.tmp_9.arg0 = _hex6440; + r0 = pxsim.image.ofBuffer(_hex6442); + s.tmp_9.arg1 = r0; + s.tmp_9.arg2 = s.tmp_8; + s.tmp_9.arg3 = 4; + s.callLocIdx = 58; s.pc = 21; return s.tmp_9; + case 21: + r0 = s.retval; + { step = 16; continue; } + case 9: + case 10: + r0 = pxsim_Array__mk(); + s.tmp_10 = r0; + r0 = pxsim_Array__push(s.tmp_10, globals.transparency16___3934); + r0 = pxsim_Array__push(s.tmp_10, globals.tilePath2___3260); + r0 = pxsim_Array__push(s.tmp_10, globals.swampTile7___3820); + r0 = pxsim_Array__push(s.tmp_10, globals.swampTile9___3822); + r0 = pxsim_Array__push(s.tmp_10, globals.collectibleRedCrystal___3579); + r0 = pxsim_Array__push(s.tmp_10, globals.doorOpenNorth___3600); + s.tmp_11 = tiles_createTilemap__P2493_mk(s); + s.tmp_11.arg0 = _hex6453; + r0 = pxsim.image.ofBuffer(_hex6455); + s.tmp_11.arg1 = r0; + s.tmp_11.arg2 = s.tmp_10; + s.tmp_11.arg3 = 4; + s.callLocIdx = 59; s.pc = 22; return s.tmp_11; + case 22: + r0 = s.retval; + { step = 16; continue; } + case 11: + case 12: + r0 = pxsim_Array__mk(); + s.tmp_12 = r0; + r0 = pxsim_Array__push(s.tmp_12, globals.transparency16___3934); + r0 = pxsim_Array__push(s.tmp_12, globals.tilePath2___3260); + r0 = pxsim_Array__push(s.tmp_12, globals.tilePath5___3264); + r0 = pxsim_Array__push(s.tmp_12, globals.collectibleRedCrystal___3579); + s.tmp_13 = tiles_createTilemap__P2493_mk(s); + s.tmp_13.arg0 = _hex6466; + r0 = pxsim.image.ofBuffer(_hex6468); + s.tmp_13.arg1 = r0; + s.tmp_13.arg2 = s.tmp_12; + s.tmp_13.arg3 = 4; + s.callLocIdx = 60; s.pc = 23; return s.tmp_13; + case 23: + r0 = s.retval; + { step = 16; continue; } + case 13: + case 14: + r0 = pxsim_Array__mk(); + s.tmp_14 = r0; + r0 = pxsim_Array__push(s.tmp_14, globals.transparency16___3934); + r0 = pxsim_Array__push(s.tmp_14, globals.tilePath2___3260); + r0 = pxsim_Array__push(s.tmp_14, globals.swampTile9___3822); + r0 = pxsim_Array__push(s.tmp_14, globals.swampTile7___3820); + r0 = pxsim_Array__push(s.tmp_14, globals.swampTile13___3826); + r0 = pxsim_Array__push(s.tmp_14, globals.collectibleRedCrystal___3579); + r0 = pxsim_Array__push(s.tmp_14, globals.doorOpenNorth___3600); + s.tmp_15 = tiles_createTilemap__P2493_mk(s); + s.tmp_15.arg0 = _hex6477; + r0 = pxsim.image.ofBuffer(_hex6479); + s.tmp_15.arg1 = r0; + s.tmp_15.arg2 = s.tmp_14; + s.tmp_15.arg3 = 4; + s.callLocIdx = 61; s.pc = 24; return s.tmp_15; + case 24: + r0 = s.retval; + { step = 16; continue; } + case 15: + r0 = null; + case 16: + return leave(s, r0) + default: oops() +} } } +myTiles_inline__P6397.info = {"start":209,"length":9306,"line":5,"column":40,"endLine":142,"endColumn":5,"fileName":"tilemap.g.ts","functionName":"inline","argumentNames":["name"]} + +function myTiles_inline__P6397_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: myTiles_inline__P6397, depth: s.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, +} } + +const _hex6404 = pxsim.BufferMethods.createBufferFromHex("1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex6406 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex6412 = pxsim.BufferMethods.createBufferFromHex("1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004040404040700000000000000000000000000000006000000000000000000000800050000060000000000000000000004040404040304000000000000000001000000000000000000000000000000020000000000000000000004000000000204040404040404040404040404040403") +const _hex6414 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000020000220000000002000022000000000200002200000000020000220000000002000022000000000202202200000000000000220000000000000002000000000000000200000000000000020000000000000002200000000000000200000000000000020000000000000002000000000000000200000000000002222") +const _hex6428 = pxsim.BufferMethods.createBufferFromHex("1000100000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200030000040001010101010101010101010101010101") +const _hex6430 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000020000000000000002000000000000000200000000000000020000000000000002000000000000000200000000000000020000000000000002000000000000000202222222222222222000000000000002000000000000000200000000000000020000000000000002000000000000000200000000000000020") +const _hex6440 = pxsim.BufferMethods.createBufferFromHex("1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000040000000000000000000000000100000100000000000000000000050102000002000000000000000005010202020000020000000000000501020202020200000200000000050102020202020202010102010101010202020202020202") +const _hex6442 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000202222000000000000002000000000000000200000000000202222000000000000002000000000000000200000000000000020000000000000002000000000000000220000000000000022000000000000202200000000000020220000000000002222000000000000222200000000002022220000000000202222") +const _hex6453 = pxsim.BufferMethods.createBufferFromHex("1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000040005000000000000000000000000000101010101000000000000000000000000000000000000000000000000000000020202020202020202020202020202020303030303030303030303030303030303030303030303030303030303030303") +const _hex6455 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000002000200000000000200020000000000020002000000000002000200000000000200020000000000220000000000000002000000000000000200000000000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000") +const _hex6466 = pxsim.BufferMethods.createBufferFromHex("1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000010101010101010101010101010101010202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202") +const _hex6468 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000002022222222000000202222222200000020222222220000002022222222000000202222222200000020222222220000002022222222000000202222222200000020222222220000002022222222000000202222222200000020222222220000002022222222000000202222222200000020222222220000002022222222") +const _hex6477 = pxsim.BufferMethods.createBufferFromHex("1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000010101010101010303030303030303030202020202020202020201010101010102020202020202020202000000000000020202020202020202020001000000000202020202020202020200000000050002020204020202020202010101010101020202020202020202020202020202020202020202020202020202020202020202020202020402020202020202020202") +const _hex6479 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000002000000000000000200000000000000020000000000000002000000000000000200000000000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000200020000000000020202000000000002000200000000000200020000000000020002000000000002000200") + + + + +function myTiles_inline__P6491(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = helpers_stringTrim__P123_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 63; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_pxtcore.switch_eq("transparency16", s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = globals.transparency16___3934; + { step = 3; continue; } + case 2: + r0 = null; + case 3: + return leave(s, r0) + default: oops() +} } } +myTiles_inline__P6491.info = {"start":9555,"length":161,"line":144,"column":37,"endLine":149,"endColumn":5,"fileName":"tilemap.g.ts","functionName":"inline","argumentNames":["name"]} + +function myTiles_inline__P6491_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: myTiles_inline__P6491, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function myImages_inline__P6499(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = helpers_stringTrim__P123_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 65; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_pxtcore.switch_eq("image1", s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq("red", s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq("image2", s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq("blue", s.tmp_0); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq("image3", s.tmp_0); + if (r0) { step = 5; continue; } + r0 = pxsim_pxtcore.switch_eq("myImage", s.tmp_0); + if (r0) { step = 6; continue; } + r0 = pxsim_pxtcore.switch_eq("image4", s.tmp_0); + if (r0) { step = 7; continue; } + r0 = pxsim_pxtcore.switch_eq("myImage0", s.tmp_0); + if (r0) { step = 8; continue; } + r0 = s.tmp_0; + { step = 9; continue; } + case 1: + case 2: + r0 = pxsim.image.ofBuffer(_hex6505); + { step = 10; continue; } + case 3: + case 4: + r0 = pxsim.image.ofBuffer(_hex6507); + { step = 10; continue; } + case 5: + case 6: + r0 = pxsim.image.ofBuffer(_hex6509); + { step = 10; continue; } + case 7: + case 8: + r0 = pxsim.image.ofBuffer(_hex6511); + { step = 10; continue; } + case 9: + r0 = null; + case 10: + return leave(s, r0) + default: oops() +} } } +myImages_inline__P6499.info = {"start":97,"length":41680,"line":3,"column":38,"endLine":301,"endColumn":5,"fileName":"images.g.ts","functionName":"inline","argumentNames":["name"]} + +function myImages_inline__P6499_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: myImages_inline__P6499, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + +const _hex6505 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000dd2222020000002d222222220200d02222222222220020222222222222002d222222222222022222222222222202222222222222220222222222222222d222222222222222d222222222222222d22222222222222202202222222222220d2022222222222200002222222222d2000000222222d2dd000000000000000000") +const _hex6507 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000dd8888080000008d888888880800d08888888888880080888888888888008d888888888888088888888888888808888888888888880888888888888888d888888888888888d888888888888888d88888888888888808808888888888880d8088888888888800008888888888d8000000888888d8dd000000000000000000") +const _hex6509 = pxsim.BufferMethods.createBufferFromHex("8704a0007d000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeee4e4e444444444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4e4444444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee444444444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4eeeeeeee4e4e4e44e4444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4eeeeee444e4444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4ee444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4eeeeee4ee44444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4eee444444444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeeeee4e4e4e44444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeee4eee4ee44e444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeeeeeeeee4e4e444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeebeeeeeee4eeeeeeeeee44444444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbeeeeeeeeeeeeeeeeeeeeeeeeee4e4444444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebebeeeeeeeeeeeeeeeeeeeeeeeeee4e44e444e4444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4444ee4444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeebeeebbbbeeeebbeeeeeeeeeeeeeeee4eee4eeeee4444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebebbbbeeeeeeeeebeeeeeeeeeeeeeeee4ee44e444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebebbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4ee44444ee444e4444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4eee44eeeeeee4444444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeebebbeeeebbeebeebeeeeeeee4eeeee4e4444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeeeeeeebbbbeeeeeeeeeeebeeeeeeeeee44eeeee444444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeebebbbbebeeeebebbbbebeeeeeeeeeeeeeeeeeeeeee4e4eeee4444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeebbbbbbebbbeeeeeeeeeeeeeebeeeeeee4ee4e4444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeebebbebeeeeeeeeeebbbbbbbbebbbbbeeeeeebeebeebe4eeeee4444e4444444444444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebebbbbbbebeeeeeebebbbbbbebbbbbeeeeeeeeeeeebbeeeeeee4eee4ee4eee4e4444444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeebbbebeebbeebebbbbbbbbbbbbebeeeeeeeeeebbebeeee44eeeeeeeeee4e4444444444444444444444440e00eeeeeeeeeeeeeeeeeeeeeeeebeebeeebeeeeeeeeebeeeeeebbebbebbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeee4eee4eeeeeee44444444444444444444444440e00eeeeeeeeeeeeeeeeeeeeeeeebeebeeeeeeeeeebbebeeeeeebbebbebbbbbbbbbbbbbbebeeeeeeeeeeeeeeeeeeee44ee4e44444444444444444444444444440e00beeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeebebebbbbeeeeeebbbbbebbbbbbbbbbbbbbbbeeeeeeeeeeeeebeeeeeeeeeeeeeee4ee44444444444444444444e40c00eeeeeeeeeeeeeeeeeeeebeeeeeebeeeeeeeebeebeeeeeebbbebbeebbbbbbbbbbbbbbebeeeeeeeeeeeebe4eeeeeeeeeee4e44444e444444444444444444f40c00eeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeebbebeeeeeebbbbebebbbbbbbbbbbbbbbebeeeeeeeeeeeeeeeeeeeeeeeeeee4444ee4444444444444444444f40c00eeeeeeeeeeeeeeeeeeeeeeeeebeeeebeeeeeeeeeeebbbeeeeebbbebeeebbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeeeeeeeee4ee4e4e444444444444444444fe0f00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeebbbbbeebebbbeebbeebbbbbbbbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeee4eeeee4e44444444444444e4cf0f00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeebbbebeebebbbbbbeeeebbbbbbbbbbebeeeeeeeeeeeeeeeeeeeeeeeeeeeeee4eee44444444444444e4cf0f00eeeeeeeeeeeeeeeeeeeeeebebebeeeeebeeeeeeeeeeeebbeeeeebebbbeeebebbbbbbbbbbeeeeeeeeebeeeeeeeeeeeeeeeeee4eeeeee4444444444444e4cf0f00eeeeeeeeeeeeeeeeeeeebeeeebeeeeeeeeeeeeeeeeeeebeeeeeeeebbbbbbeebbbbebeeeebbeeeeeeeeeeeeeeeeeeeeeeeeeeeee44e4e444444444444eeff0f00eeeeeeeeeeeeeeeeeeeeeebeebeeeebbbbebeebebeeeeeeebeeeeebbbbebebbbbbebeeebeebbeeeebeeeeeeeeebeeeeeeeeeeeeeeeee444e44444444fefc0f00eeeeeeeeeeeeeebeebeeeeeeebebeebbebeeeebeeeeebeebbbbbbbbbeeebeeeebbbbeeeebbbeeeeebeeeeeeeeeeeeeeeeeeeeeeeeee4444444444444feff0f00eeeeeeeeeeeeeebeebbbbbebeeebbeeeeebeebcccffccfccccccecbeeeeebbbbbebbeebbbbeeeeeebebbeeeeebeeeeeeeeeeeeeeeeee4e44444444e4ffff0f00eeeeeeeeeeeeeeeeeebbeeeeeeeeeebbbbceccbbcbcccccccccceceeeeeeeeeebebbbbbbebeeeeebeebbbbebeeeeeeeeeeeeeeeeeeeeeee44e4444e4ffff0f00eeeeeeeeeeeeeeeebeeeeebebbebeececebbbbddbbbbbbccccccfcffffffffefeeeeeeeeeeeeeeeeeeeebeebeeeeeeeeeeeeeeeeeeeeee44ee4444eeffff0f00eeeeeeeeeeeeeeeebeeeeeeeeebbeeccccddddbbccccccccccccccccccccccfcffffffffffffffefeeeeeeebeeeebeeeeeeeeeeeeeeeeeeeeeee44ffffff0f00eeeeeeeeeeeeeeeeebeeeeffcfbeffdbddddbbcbcccccccccccccccccccccccccccccceceeeeeeceffffffffffffbfebeeeeeeeeeeeeee4ee4eeeeffffff0f00eeeeeeeeeeeeeeeeeececcbbbdcfddddddbbbbccccccccccccccccccccccccccccccffbbbbebeeeeeeeeeeeebbbbcbeceeeeeeeeeeeeeeeeeee4fefcffff0f00eeeeeeeeeeeeeeeeeebcbbddddbbddddbdbbccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbeeeebbbbebeeeeeeeeeeeeeee4eeeee4fefcffff0f00eeeeeeeeeeeeebeeccdcddddddddddddbdcbcccccccccccccccccccccccceeeeeeeeddbbbbbbbbbbbbbbeeeebebbbbebeeeeeeeeeeeeeeeeeee4feffffff0f00eeeeeeeeeeeeebceccdbddddddddddbdbbcccccccccccccceceeeeeeeeeedbddddddddbbbbbbbbbbbbbbeeeeeeeebeebeeeeeeeeeeeeeeee44eecfffffff0f00eeeeeeeeeeeefecfdbddddddddddddbdccccccccccfcffffbfdddddddddddddddddddbddbbbbbbbbbbbbbbbbbbbbebeefeffefeeeeeeeeeeeeeeffffffff0f00eeeeeeeeeecebcbbdbddddddddddbdcbccccccccffbcddddddddddddddddddddbdbbbbdbddddbbbbbbbbbbbbbbbbbbbbeeeeeeffeeeeeeeeeeeeffffffff0f00eeceeeeeeeccdbbddbddddddddddbbccccccccecbbdbddddddddddddddddddbdbbbbbbdbddddbdbbbbbbbbbbbbbbbbbbebeeeecceeeeeeeeeeeefccfccec0e00cccccceececcddddddddddddddddcbccccccccbedbddddddddddddddddddddbbeeeebedbddddddbdbbbbbbbbbbbbbbbbbbebeeeefceeeeeeeefeccccccbc0b00cecccceeccbcddddddddbdbbbbbbcccccccceedbddddddddddddddddddddbdbbeeeeeedbddddddddbbbbbbbbbbbbdbbbbbbbebeeeefeefeeeefeccccbebb0b00ccccccccccdbdbddddddbdcbccccccccfcefdbddddddddddddddddddddbdeeeeeeeeeebeddddddddbbbbbbbdddddddddbdbbbbebeeeefeeffecfccecbbbb0b00ccccccccccdbbdddddbbbbcbccccccccefdbddddddddddddddddddddddbdeeeeeeeeeebeddddddddbbdbddddddddddddddbdbbebeeeeeeeeffccccbebbbb0b00ccccccccccdbbdddbdbbbbccccccccecbeddddddddddddddddddddddddebeeeeeeeeeebedbddddddbddbddddddddddddddddbbbbeeeeeeeefeeceebbbbbb0b00ccccccccbfddbdddbdbbcbccccccccbedbddddddddddddddddddddddddeeeeeeeeeeeeeedbdddddddbddddddddddddddddddddbbebeeeeeeeeeeeeeeeeee0e00ccccccccdcddbdbbbbcbccccccbcecdbddddddddddddddddddddddddddeeeeeeeeeeeeeedbddddbdbbddddddddddddddddddddbbbbeeeeeeeeeeeeeeeeee0e00ccccccfcddddbdbbbbcbccccccccbfddddddddddddddddddddddddddebeeeeeeeeeeeeeedbddddddddddddddddddddddddddddbdbbbbebeeeeeeefeeeeee0e00ccccccfcddddbdbbbbcbcccccccbbfddddddddddddddddddddddddddebeeeeeeceeceeeedbddddddddddddddddddddddddddddbdbbbbbbeeeeeefeeeeeee0e00ccccccfcddddbbbbbbcccccccccbbfddddddddddddddddddddddddddebeeeeeeceeceeeebbddddddddddddddddddddddddddddbdbbbbbbeeeeeeeeeeeeee0e00cccccbfcddddbbbbbbcccccccccbbfddddddddddddddddddddddddddebeeeeeeceeceeeebbdbddddddddddddddddddddddddddbbbbbbbbeeeeeeeeeeeeee0e00ccccbbccddbdbbcbcccccccccccbbfddddddddddddddddddddddddddebeeeeeefceceeeebbbbddddddddddddddddddddddddddbbbbbbbbeeeeeeeefeeeee0e00cccccbdcbdbbccccccccccccccccbfddddddddddddddddddddddddddebeeeeeefcffeeeebebbdbddddddddddddddddddddddbbbbbbbbeeeeeeeeeeeefeef0e00ccccccdcbbcbccccccccccccccccbfddddddddddddddddddddddddddebeeeeeefcffeeeebbbbddddddddddddddddddddddbbbbbbbbbbeeeeeeeeeeeeeeef0e00ccccccdcbdccccccccccccccccccbfddddddddddddddddddddddddddebeeeeeefcffeeeebebbddddddddddddddddddddddbbbbbbbbbbbbeeeeeeeeeeeeee0e00ccccccdcbdccccccccccccccccccbfddddddddddddddddddddddddddebeeeeeefcffeeeebebbddddddddddddddddddddbdbbeebebbbbbbbbebeeeeeeeeee0e00ccccccdbbdccccccccccccccccccbfddddddddddddddddddddddddbdebeeeeeefcffeeeebebbddddddddddddddddddddbdbbeebebbddbdbbbbebbeeeeeee0f00ccccbcddbbccccccccccccccccccbfddddddddddddddddddddddddbdebeeeeeeceffeeeebebbddddddddbdbbdbddddddddbbeebeddddddbbbbbbbbeeeeee0e00ccccbcbdccccccccccccccccccbcecdbddddddddddddddddddddddbdbbeeeeeeeefeeeeebbbbbbdbddbbbbebbedbddddddbbeebeddddddddddbdbbeeeeee0e00ccccbcbbccccccccccccccccccbcfcdbddddddddddddddddddddddbbbbeeeeeeeeceeeeebebbbbbbbbeebeddeebbbbbbbbbbeebeddddddddddddbbebeeee0e00ccccbcbbccccccccccccccccccbcfcdbddddddddddddddddddddddbbbbeeeeeeeeeeeeeeeebebbbbebeedbddeebeeeeebeebeebeddddddddddddbdebeeee0e00ccccbcbdccccccccccccccccccbcfcdbddddddddddddddddddddddbbbbeeeeeeeeeeeeeeeeeebbbbebeeddddeeeeeeeebeebeebeddddddddddddddbbeeee0e00ccccbcddcbccccccccccccccccbcfcdbddddddddddddddddddddddbdbbebeeeeeeeeeeeebebbebeeeeeeddddeeeeeeeeeeeeeebeddddddddddddbdbbbbeb0e00ccccbcddbbcccccccccccccccccccbecddddddddddddddddddddddbdbbbbeeeeeeeeeeeeeeeeeeddddddddddbdeeeeeeeeeeeebedbddbddbddddddbdbbeb0e00ccccbcbdbdcbcccccccccccccccccbecddddddddddddddddddddddddbbbbebeeeeeeddddddddddddddddddddbdeeeeeeeeeeeebedbbdbbbbddddddbdbbeb0e00ccccbcbdbdbbcccccccccccccccccbecddddddddddddddddddddddddbdbbbbbbbbbbddddddddddddddddddddbdeeeeeeeeeeeebebbbbbbbbddddddbdbbeb0e00ccccccbbbbbbcbccccccccccccccccecddddddddddddddddddddddddddbdbbddddddddddddddddddddddddddbdeeeeeeeeebeebebbbbbbbbddddddddddeb0e00ccfcddbbbbbbcbccccccccccccccccecdbddddddddddddddddddddddddddddddddddddddddddddddddddddddbdeeeeeeeeebeebebbbbbbbbddddddddddeb0e00ccfcddbbbbbbcbccccccccccccccccecdbddddddddddddddddddddddbdddddddddddddddddddddddddddddddddebeeeeeeeeeebebbbbbbbbddddddddbbeb0e00ccfcddcbccbbcbccccccccccccccccecdbddddddddddddddddddddddbddbddddddddddddddddddddddddddddddebeeeeeeeeeebebbbbbbbbddddddddbbeb0e00ccfcbbcbccbccbccccccccccccccccecbbddddddddddddddddddddddbdbbbbbbddddddddddddddddddddddddddebeeeeeeeeeebebbbbbbbbddddddddbbee0e00ccfcbccbbcccccccccccccccccccccecbbddddddddddddddddddddddbdbbbbbbeeeeeeeededdedddddeeddddbdeeeeeeeeeeeebedbbdbbbbddddddbdebee0e00ccccccbbcbccccccccccccccccccfcbedbddddddddddddddddddddbdbbbbbbebeeeeeeeeeeeeeeeeeeeebeddbdeeeeeeeeeeeebbdbbdbbbbddddddbdeeee0e00ccccbcddcbccccccccccccccccccfcbedbddddddddddddddddddddbdbbbbeeeeeeeeeeeebbbbbbeeeeeeeebbebeeeeeeeeebeebbdbddbddbddddddbbeeee0e00ccccbcddbdcbccccccccccccccccfcbedbddddddddddddddddddddbdbbeeeeeeeeeeeeeebbbbbbbbbbeeeeeeeeeeeeeeeeebeebbddddddddddddbbbbeeee0e00ccccbcddbdbbccccccccccccccccfcbedbddddddddddddddddddddbdbbeeeeeeeeeeeeeebbbbbbbbbbeeeeeeeeeebbeeeeebeebeddddddddddbdbbebeeee0e00ccccccdcdbbdcbccccccccccccccfcbedbddddddddddddddddddddbdbbeeeeeeeeeeeeeebbbbbbbbbbebeeeeeeeebbebbeebeebeddddddddddbdbbebeeee0e00ccccccdcbdbbbbccccccccccccccfcbeddddddddddddddddddddddbdebeeeeeeeeeeeeeebbbbbbdbddbbeeeebebbbbbbbbebeebeddddddddddbdbbebeeee0e00ccccccccddddbdbbcbccccccccccfcbeddddddddddddddddddddddbdebeeeeeeeefeeebebbbbdbddddbdbbbbbbdbddbdbbebeededdddddddddbbbbeeeeee0e00ccccccfcddddbbbbccccccccccccfcdbddddddddddddddddddddddbdebeeeeeeeeceeebebbbbddddddbdbbbbbbddddbdbbebeebeddddddbdbbbbebeeeeee0e00ccccccccdbddbbbbccccccccccccecdbddddddddddddddddddddddbdebeeeeeeceeeeeeebbddddddddddddbbbbddddbdbbebeebebbddddbbbbeeeeeeeeee0e00ccccccccdfddddbbcbccccccccccbfdbddddddddddddddddddddddbdebeeeeeefceceeeebbddddddddddddddbbdbddbbbbebeebebbdbbdbbbbeeeeeeeeee0e00ccccccccdfddddddbbcbccccccccbfddddddddddddddddddddddddbdebeeeeeefcffeeeebbddddddddddddddddddddbdbbebeebebbbbbbebeeeeeeeeeeee0e00ccccccccccdbddddbdcbccccccccbfddddddddddddddddddddddddbdebeeeeeefcffeeeebbddddddddddddddddddddbdbbbbeeeebeebebeeeeeeeeeeeeee0e00ccccccccccdbddbdbbbbccccccccbfddddddddddddddddddddddddddebeeeeeefcffeeeebbddddddddddddddddddddddbbbbebeebbeeeeeeeeeeeeeeeeee0e00ccccccccccdbddbdbbbbcbcccccbbfddddddddddddddddddddddddddebeeeeeefccceebbdbddddddddddddddddddddddbdbbbbbbbbeeeeeeeeeeeeeeeefe0e00ccccccccccccddddcbbbbbcccccbbfddddddddddddddddddddddddddebeeeeebcceebebbddddddddddddddddddddddddddbbbbbbbbeeeeeeeeeeeeeeeefe0e00ccccccccccccddddbdcccccccccbbfddddddddddddddddddddddddddebeeeeebeeeebbbbddddddddddddddddddddddddddddbbbbbbebeeeeeeeeeeeeeeef0e00ccccccccccccddddddcccccccccbbfddddddddddddddddddddddddddebeeeeebceecbbbbddddddddddddddddddddddddddddbdbbbbebeeeeeeeeeeeeefee0e00ccccccccccccdbbdddcbccccccccbfddddddddddddddddddddddddddbdeeeeebceefbebbddddddddddddddddddddddddddddddbbebeeeeeeeeeeeeeeeeee0e00ccccccccccccdfbbdbbbccccccccbfddddddddddddddddddddddddddddeeeeebceeceebbddddddddddddddddddddddddddddbdbbebeeeeeeeeeeeeeeeeee0e00ccccccccccccdcbbbbbdcbccccccbfddddddddddddddddddddddddddddeeeeebeeeeeebbddddddddddddddddddddddddddddbbbbebeeeeeeeeeefeeeeeee0e00ccccccccccccfcddbbbbbbccccccfcdbddddddddddddddddddddddddddbdeeebeeeeeebbddddddddddddddddddddddddddbdbbbbeeeeeeeeeeeeeeeeeeee0e00ccccccccccccfcddcbbbbbcbccccfcdbddddddddddddddddddddddddddbdeeeeeeeeeedbddddddddddddddddddddddddddbdbbebeeeeeeeeeeefeeeeeeee0e00ccccccccccccccbbbbbccbbcccccccbeddddddddddddddddddddddddddbdebeeeeeeeedbddddddddddddddddddddddddbdbbbbebeeeeeeeeeeeeeeeeeeee0e00ccccccccccccccbcbbccccbcccccccecbbddddddddddddddddddddddddddebebebeebedbddddddddddddddddddddddddbdbbbbbbeeeeeeeeeeeeeeeeeeee0e00ccccccccccccccccdcccbcccccccccccbfdbddddddddddddddddddddddddbbbbbbbbbbdbddddddddddddddddddddddddbbbbbbbbebeeeeeeeeeeeeeeeeee0e00ccccccccccccccccdccbccccccccccccfcefdbddddddddddddddddddddbdbbbbbbbbdbddddddddddddddddddddddddbdbbbbbbbbebeeffeeeeeeeeeeeeee0e00ccccccccccccccccccbdcccccccbcccccccceeddddddddddddbbddbbdbbbbbbbbbbbdbddddddddddddddddddddbbbbbbbbbbbbbbeefeeebebbbbbbebeeee0e00ccccccccccccccccccbbccccbccbccccccccccbbdbddddddbdbbbbbbbbbbbbbbbbbbdbddddddddddddddddddbbbbbbbbbbbbbbebceffffeceeeebbbbbbee0e00cccccccccccccccccccfccccbccbccccccccccffbebbbbbbbbbbbbbbbbbbbbbbbbbbddddddddddddddbbbbbbbbbbbbbbbbbbebceccccccccececbbbbbbbb0b00ccccccccccccccccccffbccccccbbbbbcbccccccfcffefbbbbbbbbbbbbdbdddbddbdddddddddddddbdbbbbbbbbbbbbbbbbbbeefeefeeeeeeeeccbcbbbbbb0b00ccccccccccccccccccccfccfccbcbbbbbbccccccccccccffffffffbedbddddddddddbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfeefeeeeeeeeeeeecfbbbbbb0b00ccccccccccccccccccccccfccfbbccccbbcbcccccccccccccccccceceeeeeeddddddbdbbbbbbbbbbbbbbbbbbbbbbbbebcccceceeeeeeeeeeeeeeffcceceb0e00ccccccccccccccccccccccccccccbbbbbbbbccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcecceceeeeeeeeeeeeeeeecfcfccce0f00ccccccccccccccccccccccccccccccbbbbbbcbccccccccccccccccccccccccffffffbfbbbbbbbbbbbbbbbbbbbbbbebcceeeeeeeeeeeeeeeeeeeecfccffff0f00ccccccccccccccccccccccccccccffdbbbbbbbcccccbccccccccccccccccccccccccccefbbbbbbbbbbebeeeeeeeeeecceeeeeeeeeeeeeeeeeeeeccccfcff0f00ccccccccccccccccccccccccccccccfcdfbbbbbbbbbbbbbbbbccccccccccccccccccccccefeeeeeeeeeeeeeeeeeeeecceeeeeeeeeeeeeeeeeeeefeffffff0f00ccccccccccccccccccccccccccccccccccddddbbdbbbbbbbbbccccccccccccccccccccefeeeeeeeeeeeeeeeeeeeecceceeeeeeeeeeeeeeeeeeeefefcffff0f00ccccccccccccccccccccccccccccccccccbbbbddddbdbbbdbbbbbbbbbbcbcccbffcfeceeeeeeeeeeeeeeeeeeeeeecceeeeeeeeeeeeeeeeeeeeeeeeccccff0f00ccccccccccccccccccccccccccccccccccccccbbbbbbbccbccccccccccccccccccfceeeeeeeeeeeeeeeeeecccccceeeeeeeeeeeeeeeeeeeeeeeeeececcfc0f00ccccccccccccccccccccccccccccccccccccccfcffffffffffffffffffffffcfccfceeeeeeeeeeceffffcfebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccfc0f00ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccffffffffffcfcccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccc0f00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccccccccccccccccceeeeeeeeeeeeeeeeebeeeeeeeeeeeeeefecf0c00cccccccccccccaccccccccccccccccccccccccccccccccccccccccccccccccccccbbcccccbcccccccccccccceceeeeeeeeeeeeeebbeeeeeeeeeeeeeeeecf0c00ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccbcccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecf0c00ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccbcccceeeeeeeeeeeceeeeeeeeeeeeeeeeeeeeeecf0f00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefe0f00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccbbcccccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefe0c00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefe0c00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeece0c00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0c00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0c00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeeeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceececceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceececceceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceecccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceecccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceececceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceceeeeeeeeceeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0e00") +const _hex6511 = pxsim.BufferMethods.createBufferFromHex("8704a0007d000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e99999999999999999999999999999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9999999999999999999999999999999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e99999999999999999999999999999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e99999999999999999999999999999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e99999999999999999999999999999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e99999999999999999999999999999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e99999999aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9a9949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999999999999999999999999999999999999a9949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999999999999999999999999999999999999a9949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999999999999999999999999999999999999a9949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999999999999999999999999999999999999a9949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999999999999999999999999999999999999a9949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9a9949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeebe9b9b999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebe9b9b999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440400eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9b999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440e00eeeeeeeeeeeeeeeeeeeeeeeebeebeeebeeeeee9e9b999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440e00eeeeeeeeeeeeeeeeeeeeeeeebeebeeeeeeeeee9b9b999999999a99999999999999a9999999999999999999999999999999999949444444444444444444440e00beeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeebebe9b9b999999999a99999999999999a9999999999999999999999999999999999949444444444444444444e40c00eeeeeeeeeeeeeeeeeeeebeeeeeebeeeeeeeebe9b9e999999999a99999999999999a9999999999999999999999999999999999949444444444444444444f40c00eeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeebb9b9e99999999aaaaaaaaaaaaaaaaaa9999999999999999999999999999999999e9444444444444444444f40c00eeeeeeeeeeeeeeeeeeeeeeeeebeeeebeeeeeee9e9e99999999999999999999999999999999999999999999999999999999999949444444444444444444fe0f00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9e9b999999999999999999999999999999999999999999999999999999999999e94e44444444444444e4cf0f00eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeb9e9b99999999999999999999999999999999999999999999999999999999999949ee44444444444444e4cf0f00eeeeeeeeeeeeeeeeeeeeeebebebeeeeebeeeee9e9e999999999999999999999999999999999999999999999999999999999999e9eee4444444444444e4cf0f00eeeeeeeeeeeeeeeeeeeebeeeebeeeeeeeeeeee9e9e999999999999aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa999999e94e4e444444444444eeff0f00eeeeeeeeeeeeeeeeeeeeeebeebeeeebbbbebee9e9e9999999999999a99999999999999999999999999999999999999a9999999e9eeee444e44444444fefc0f00eeeeeeeeeeeeeebeebeeeeeeebebeebbebeeee9e9e9999999999999a99999999999999999999999999999999999999a9999999e9eee4444444444444feff0f00eeeeeeeeeeeeeebeebbbbbebeeebbeeeeebeeb9c9f9999999999999a99999999999999999999999999999999999999a9999999e9eeee4e44444444e4ffff0f00eeeeeeeeeeeeeeeeeebbeeeeeeeeeebbbbcecc9b9b9999999999999a99999999999999999999999999999999999999a9999999e9eeeeeee44e4444e4ffff0f00eeeeeeeeeeeeeeeebeeeeebebbebeececebbbb9d9b9999999999999a99999999999999999999999999999999999999a9999999e9eeeeee44ee4444eeffff0f00eeeeeeeeeeeeeeeebeeeeeeeeebbeeccccdddd9b9c9999999999999a99999999999999999999999999999999999999a9999999e9eeeeeeeeeeee44ffffff0f00eeeeeeeeeeeeeeeeebeeeeffcfbeffdbddddbb9b9c9999999999999a99999999999999999999999999999999999999a9999999e9eeeeee4ee4eeeeffffff0f00eeeeeeeeeeeeeeeeeececcbbbdcfddddddbbbb9c9c9999999999999a99999999999999999999999999999999999999a9999999e9eeeeeeeeeee4fefcffff0f00eeeeeeeeeeeeeeeeeebcbbddddbbddddbdbbcc9c9c9999999999999a99999999999999999999999999999999999999a9999999e9eeeee4eeeee4fefcffff0f00eeeeeeeeeeeeebeeccdcddddddddddddbdcbcc9c9c9999999999999a99999999999999999999999999999999999999a9999999e9eeeeeeeeeee4feffffff0f00eeeeeeeeeeeeebceccdbddddddddddbdbbcccc9c9c9999999999999a99999999999999999999999999999999999999a9999999e9eeeeeeee44eecfffffff0f00eeeeeeeeeeeefecfdbddddddddddddbdcccccc9c9c9999999999999a99999999999999999999999999999999999999a9999999e9eeeeeeeeeeeeffffffff0f00eeeeeeeeeecebcbbdbddddddddddbdcbcccccc9c9f9999999999999a99999999999999999999999999999999999999a9999999f9eeeeeeeeeeeeffffffff0f00eeceeeeeeeccdbbddbddddddddddbbcccccccc9c9b9999999999999a99999999999999999999999999999999999999a9999999c9eeeeeeeeeeeefccfccec0e00cccccceececcddddddddddddddddcbcccccccc9e9b9999999999999a99999999999999999999999999999999999999a9999999e9fceeeeeeeefeccccccbc0b00cecccceeccbcddddddddbdbbbbbbccccccccee9b9d9999999999999a99999999999999999999999999999999999999a9999999e9eefeefeeeefeccccbebb0b00ccccccccccdbdbddddddbdcbccccccccfcefdb9d9d999999999999aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa999999e9eeeefeeffecfccecbbbb0b00ccccccccccdbbdddddbbbbcbccccccccefdbdd9d9d999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeffccccbebbbb0b00ccccccccccdbbdddbdbbbbccccccccecbedddd9d9d999999999999999999999999999999999999999999999999999999999999b9eeeeeeeefeeceebbbbbb0b00ccccccccbfddbdddbdbbcbccccccccbedbdddd9d9d999999999999999999999999999999999999999999999999999999999999b9ebeeeeeeeeeeeeeeeeee0e00ccccccccdcddbdbbbbcbccccccbcecdbdddddd9d9d999999999999999999999999999999999999999999999999999999999999b9bbeeeeeeeeeeeeeeeeee0e00ccccccfcddddbdbbbbcbccccccccbfdddddddd9d9d999999999999999999999999999999999999999999999999999999999999b9bbbbebeeeeeeefeeeeee0e00ccccccfcddddbdbbbbcbcccccccbbfdddddddd9d9d999999999999999999999999999999999999999999999999999999999999b9bbbbbbeeeeeefeeeeeee0e00ccccccfcddddbbbbbbcccccccccbbfdddddddd9d9d99999999999999a9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9a9999b9bbbbbbeeeeeeeeeeeeee0e00cccccbfcddddbbbbbbcccccccccbbfdddddddd9d9d99999999999999a9999999999999999999999999999999999999999a9999b9bbbbbbeeeeeeeeeeeeee0e00ccccbbccddbdbbcbcccccccccccbbfdddddddd9d9d99999999999999a9999999999999999999999999999999999999999a9999b9bbbbbbeeeeeeeefeeeee0e00cccccbdcbdbbccccccccccccccccbfdddddddd9d9d99999999999999a9aa99a9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9a9999b9bbbbeeeeeeeeeeeefeef0e00ccccccdcbbcbccccccccccccccccbfdddddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbeeeeeeeeeeeeeeef0e00ccccccdcbdccccccccccccccccccbfdddddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbeeeeeeeeeeeeee0e00ccccccdcbdccccccccccccccccccbfdddddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbbbebeeeeeeeeee0e00ccccccdbbdccccccccccccccccccbfdddddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbddbdbbbbebbeeeeeee0f00ccccbcddbbccccccccccccccccccbfdddddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9ddddddbbbbbbbbeeeeee0e00ccccbcbdccccccccccccccccccbcecdbdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9ddddddddddbdbbeeeeee0e00ccccbcbbccccccccccccccccccbcfcdbdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9ddddddddddddbbebeeee0e00ccccbcbbccccccccccccccccccbcfcdbdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9ddddddddddddbdebeeee0e00ccccbcbdccccccccccccccccccbcfcdbdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9ddddddddddddddbbeeee0e00ccccbcddcbccccccccccccccccbcfcdbdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9ddddddddddddbdbbbbeb0e00ccccbcddbbcccccccccccccccccccbecdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9dbddbddbddddddbdbbeb0e00ccccbcbdbdcbcccccccccccccccccbecdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9dbbdbbbbddddddbdbbeb0e00ccccbcbdbdbbcccccccccccccccccbecdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbbbddddddbdbbeb0e00ccccccbbbbbbcbccccccccccccccccecdddddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbbbddddddddddeb0e00ccfcddbbbbbbcbccccccccccccccccecdbdddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbbbddddddddddeb0e00ccfcddbbbbbbcbccccccccccccccccecdbdddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbbbddddddddbbeb0e00ccfcddcbccbbcbccccccccccccccccecdbdddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbbbddddddddbbeb0e00ccfcbbcbccbccbccccccccccccccccecbbdddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9bbbbbbbbddddddddbbee0e00ccfcbccbbcccccccccccccccccccccecbbdddd9d9d9999999999999999a999a999999999999999999999999999999999999999b9dbbdbbbbddddddbdebee0e00ccccccbbcbccccccccccccccccccfcbedbdddd9d9d9999999999999999a9aaaa99999999999999999999999999999999999999b9dbbdbbbbddddddbdeeee0e00ccccbcddcbccccccccccccccccccfcbedbdddd9d9d999999999999999999999999999999999999999999999999999999999999b9dbddbddbddddddbbeeee0e00ccccbcddbdcbccccccccccccccccfcbedbdddd9d9d999999999999999999999999999999999999999999999999999999999999b9ddddddddddddbbbbeeee0e00ccccbcddbdbbccccccccccccccccfcbedbdddd9d9d999999999999999999999999999999999999999999999999999999999999b9ddddddddddbdbbebeeee0e00ccccccdcdbbdcbccccccccccccccfcbedbdddd9d9d999999999999999999999999999999999999999999999999999999999999b9ddddddddddbdbbebeeee0e00ccccccdcbdbbbbccccccccccccccfcbedddddd9d9d999999999999999999999999999999999999999999999999999999999999b9ddddddddddbdbbebeeee0e00ccccccccddddbdbbcbccccccccccfcbedddddd9d9d99999999999999999999999999aa9a999999999999999999999999999999d9ddddddddddbbbbeeeeee0e00ccccccfcddddbbbbccccccccccccfcdbdddddd9d9d999999999999999999999999999a9a999999999999999999999999999999b9ddddddbdbbbbebeeeeee0e00ccccccccdbddbbbbccccccccccccecdbdddddd9d9d999999999999999999999999999a9a999999999999999999999999999999b9bbddddbbbbeeeeeeeeee0e00ccccccccdfddddbbcbccccccccccbfdbdddddd9d9d999999999999a9aaaaaaaaaaaa9aaaaaaaaaaaaaaaaaaaaaaaaaaaaa9999b9bbdbbdbbbbeeeeeeeeee0e00ccccccccdfddddddbbcbccccccccbfdddddddd9d9d999999999999a99999999999999999999999999999999999999999a99999b9bbbbbbebeeeeeeeeeeee0e00ccccccccccdbddddbdcbccccccccbfdddddddd9d9d999999999999a99999999999999999999999999999999999999999a99999e9beebebeeeeeeeeeeeeee0e00ccccccccccdbddbdbbbbccccccccbfdddddddd9d9d999999999999a9aaaaaaaaaaaa9aaaaaaaaaaaaaaaaaaaaaaaaaaaaa9999e9bbeeeeeeeeeeeeeeeeee0e00ccccccccccdbddbdbbbbcbcccccbbfdddddddd9d9d999999999999999999999999999a9a999999999999999999999999999999b9bbeeeeeeeeeeeeeeeefe0e00ccccccccccccddddcbbbbbcccccbbfdddddddd9d9d999999999999999999999999999a9a999999999999999999999999999999b9bbeeeeeeeeeeeeeeeefe0e00ccccccccccccddddbdcccccccccbbfdddddddd9d9d99999999999999999999999999aa9a999999999999999999999999999999b9bbebeeeeeeeeeeeeeeef0e00ccccccccccccddddddcccccccccbbfdddddddd9d9d999999999999999999999999999999999999999999999999999999999999b9bbebeeeeeeeeeeeeefee0e00ccccccccccccdbbdddcbccccccccbfdddddddd9d9d999999999999999999999999999999999999999999999999999999999999b9ebeeeeeeeeeeeeeeeeee0e00ccccccccccccdfbbdbbbccccccccbfdddddddd9d9d999999999999999999999999999999999999999999999999999999999999b9ebeeeeeeeeeeeeeeeeee0e00ccccccccccccdcbbbbbdcbccccccbfdddddddd9d9d999999999999999999999999999999999999999999999999999999999999b9ebeeeeeeeeeefeeeeeee0e00ccccccccccccfcddbbbbbbccccccfcdbdddddd9d9d999999999999999999999999999999999999999999999999999999999999b9eeeeeeeeeeeeeeeeeeee0e00ccccccccccccfcddcbbbbbcbccccfcdbdddddd9d9d999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeefeeeeeeee0e00ccccccccccccccbbbbbccbbcccccccbedddddd9d9d9999999999999999a9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9a9999e9eeeeeeeeeeeeeeeeeeee0e00ccccccccccccccbcbbccccbcccccccecbbdddd9d9d9999999999999999a99999999999999999999999999999999999999a9999b9eeeeeeeeeeeeeeeeeeee0e00ccccccccccccccccdcccbcccccccccccbfdbdd9d9d9999999999999999a99999999999999999999999999999999999999a9999b9ebeeeeeeeeeeeeeeeeee0e00ccccccccccccccccdccbccccccccccccfcefdb9d9d9999999999999999a99999999999999999999999999999999999999a9999b9ebeeffeeeeeeeeeeeeee0e00ccccccccccccccccccbdcccccccbccccccccee9d9d9999999999999999a99999999999999999999999999999999999999a9999b9eefeeebebbbbbbebeeee0e00ccccccccccccccccccbbccccbccbcccccccccc9b9b9999999999999999a99999999999999999999999999999999999999a9999e9ceffffeceeeebbbbbbee0e00cccccccccccccccccccfccccbccbcccccccccc9f9e9999999999999999a99999999999999999999999999999999999999a9999c9ccccccccececbbbbbbbb0b00ccccccccccccccccccffbccccccbbbbbcbcccc9c9c9999999999999999a99999999999999999a9aaaaaaaaaaaaaaaaaa9a9999f9efeeeeeeeeccbcbbbbbb0b00ccccccccccccccccccccfccfccbcbbbbbbcccc9c9c9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeecfbbbbbb0b00ccccccccccccccccccccccfccfbbccccbbcbcc9c9c9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeeffcceceb0e00ccccccccccccccccccccccccccccbbbbbbbbcc9c9c9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeecfcfccce0f00ccccccccccccccccccccccccccccccbbbbbbcb9c9c9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeecfccffff0f00ccccccccccccccccccccccccccccffdbbbbbbb9c9c9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeeccccfcff0f00ccccccccccccccccccccccccccccccfcdfbbbb9b9b9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeefeffffff0f00ccccccccccccccccccccccccccccccccccdddd9b9b9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeefefcffff0f00ccccccccccccccccccccccccccccccccccbbbb9d9d9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeeeeccccff0f00cccccccccccccccccccccccccccccccccccccc9b9b9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeeeececcfc0f00cccccccccccccccccccccccccccccccccccccc9c9f9999999999999999a99999999999999999a9999999999999999999999999e9eeeeeeeeeeeeeeeeccfc0f00cccccccccccccccccccccccccccccccccccccc9c9c9999999999999999a99999999999999999a9aaaaaaaaaaaaaaaaaa9a9999e9eeeeeeeeeeeeeeeecccc0f00cccccccccccccccccccccccccccccccccccccc9c9c9999999999999999a99999999999999999999999999999999999999a9999e9ebeeeeeeeeeeeeeefecf0c00cccccccccccccacccccccccccccccccccccccc9c9c9999999999999999a99999999999999999999999999999999999999a9999e9bbeeeeeeeeeeeeeeeecf0c00cccccccccccccccccccccccccccccccccccccc9c9c9999999999999999a99999999999999999999999999999999999999a9999e9eeeeeeeeeeeeeeeeeecf0c00cccccccccccccccccccccccccccccccccccccc9c9c9999999999999999a99999999999999999999999999999999999999a9999e9eeeeeeeeeeeeeeeeeecf0f00cccccccccccccccccccccccccccccccccccccc9c9c9999999999999999a9aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9a9999e9eeeeeeeeeeeeeeeeeefe0f00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeefe0c00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeefe0c00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeece0c00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeeee0c00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeeee0c00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c999999999a99999999999999999999999999999999999999999999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c999999999a99999999999999999999999999999999999999999999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa99a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999393333333399a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999399339933993a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999933399a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999399399a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999993993a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999933a399a99993e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999993399a93399e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a939339399e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999333393a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a999a99999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c99999999999999999999999999999999999999999999999999a9aaaa9999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c9c999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeeee0e00cccccccccccccccccccccccccccccccccccccc9c99999999999999999999999999999999999999999999999999999999999999e9eeeeeeeeeeeeeeeeeeee0e00") + + + + +function myImages_inline__P6514(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_stringTrim__P123_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 67; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = null; + return leave(s, r0) + default: oops() +} } } +myImages_inline__P6514.info = {"start":41822,"length":105,"line":303,"column":42,"endLine":308,"endColumn":5,"fileName":"images.g.ts","functionName":"inline","argumentNames":["name"]} + +function myImages_inline__P6514_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: myImages_inline__P6514, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function inline__P6524(s) { +let r0 = s.r0, 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.py___3926 = (1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6524.info = {"start":53,"length":26,"line":0,"column":53,"endLine":2,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6524_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6524, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function inline__P6530(s) { +let r0 = s.r0, 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_Melody_play__P1619_mk(s); + s.tmp_0.arg0 = globals.pewPew___1636; + s.tmp_0.arg1 = 255; + s.callLocIdx = 70; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = sprites_createProjectileFromSprite__P2069_mk(s); + r0 = pxsim.image.ofBuffer(_hex6537); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = globals.mySprite___3932; + r0 = (globals.px___3924 * 200); + s.tmp_0.arg2 = r0; + r0 = (globals.py___3926 * -200); + s.tmp_0.arg3 = r0; + s.callLocIdx = 71; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + globals.projectile___3925 = (r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6530.info = {"start":133,"length":794,"line":3,"column":52,"endLine":23,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6530_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6530, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + +const _hex6537 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000001331000000000020111102000000002011110200000000001331000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000") + + + + +function inline__P6550(s) { +let r0 = s.r0, 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_2 = Sprite_vy__P2147_mk(s); + s.tmp_2.arg0 = globals.mySprite___3932; + s.callLocIdx = 73; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + 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; } + s.tmp_3 = music_Melody_play__P1619_mk(s); + s.tmp_3.arg0 = globals.footstep___1638; + s.tmp_3.arg1 = 255; + s.callLocIdx = 74; s.pc = 4; return s.tmp_3; + case 4: + r0 = s.retval; + s.tmp_0 = Sprite_vy__P2148_mk(s); + s.tmp_0.arg0 = globals.mySprite___3932; + s.tmp_0.arg1 = -150; + s.callLocIdx = 75; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6550.info = {"start":981,"length":106,"line":24,"column":52,"endLine":29,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6550_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6550, depth: s.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 inline__P6564(s) { +let r0 = s.r0, 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.py___3926 = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6564.info = {"start":1145,"length":26,"line":30,"column":56,"endLine":32,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6564_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6564, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function inline__P6569(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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.canTP___3923); + if (!r0) { step = 1; continue; } + s.tmp_0 = music_Melody_play__P1619_mk(s); + s.tmp_0.arg0 = globals.knock___1637; + s.tmp_0.arg1 = 255; + s.callLocIdx = 78; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = tiles_placeOnRandomTile__P2505_mk(s); + s.tmp_0.arg0 = globals.mySprite___3932; + s.tmp_0.arg1 = globals.doorOpenNorth___3600; + s.callLocIdx = 79; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + globals.canTP___3923 = (0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6569.info = {"start":1245,"length":172,"line":33,"column":72,"endLine":39,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","location"]} + +function inline__P6569_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6569, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function inline__P6583(s) { +let r0 = s.r0, 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.py___3926 = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6583.info = {"start":1473,"length":26,"line":40,"column":54,"endLine":42,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6583_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6583, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function inline__P6588(s) { +let r0 = s.r0, 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.py___3926 = (-1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6588.info = {"start":1556,"length":27,"line":43,"column":55,"endLine":45,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6588_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6588, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function inline__P6595(s) { +let r0 = s.r0, 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._type___3930); + if (!r0) { step = 1; continue; } + s.tmp_0 = Sprite_setImage__P2178_mk(s); + s.tmp_0.arg0 = globals.typeSprite___3931; + s.tmp_1 = helpers_getImageByName__P3015_mk(s); + s.tmp_1.arg0 = "red"; + s.callLocIdx = 83; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 84; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + globals._type___3930 = (0); + { step = 2; continue; } + case 1: + s.tmp_0 = Sprite_setImage__P2178_mk(s); + s.tmp_0.arg0 = globals.typeSprite___3931; + s.tmp_1 = helpers_getImageByName__P3015_mk(s); + s.tmp_1.arg0 = "blue"; + s.callLocIdx = 85; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 86; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + globals._type___3930 = (1); + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6595.info = {"start":1640,"length":182,"line":46,"column":55,"endLine":54,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6595_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6595, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function inline__P6612(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = game_over__P2695_mk(s); + s.tmp_0.arg0 = false; + s.tmp_0.arg1 = undefined; + s.callLocIdx = 88; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6612.info = {"start":1889,"length":52,"line":55,"column":65,"endLine":57,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","location"]} + +function inline__P6612_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6612, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function inline__P6619(s) { +let r0 = s.r0, 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.value___6623 = undefined; + s.unnamed118___U1 = undefined; + s.unnamed119___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.value___6623 = (undefined); + s.tmp_0 = tiles_getTilesByType__P2506_mk(s); + s.tmp_0.arg0 = globals.doorClosedNorth___3596; + s.callLocIdx = 90; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.unnamed118___U1 = (r0); + s.unnamed119___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed119___U2; + r0 = pxsim_Array__length(s.unnamed118___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed118___U1, s.unnamed119___U2); + s.value___6623 = (r0); + s.tmp_2 = tiles_setTileAt__P2496_mk(s); + s.tmp_2.arg0 = s.value___6623; + s.tmp_2.arg1 = globals.tilePath5___3264; + s.callLocIdx = 91; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + s.tmp_0 = tiles_setWallAt__P2497_mk(s); + s.tmp_0.arg0 = s.value___6623; + s.tmp_0.arg1 = true; + s.callLocIdx = 92; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = (s.unnamed119___U2 + 1); + s.unnamed119___U2 = (r0); + { step = 1; continue; } + case 2: + s.unnamed118___U1 = (undefined); + s.tmp_0 = tiles_setTileAt__P2496_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = globals.doorClosedNorth___3596; + s.callLocIdx = 93; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = tiles_setWallAt__P2497_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = false; + s.callLocIdx = 94; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6619.info = {"start":1982,"length":310,"line":58,"column":39,"endLine":65,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","location"]} + +function inline__P6619_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6619, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + value___6623: undefined, + unnamed118___U1: undefined, + unnamed119___U2: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function inline__P6640(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = game_over__P2695_mk(s); + s.tmp_0.arg0 = false; + s.tmp_0.arg1 = undefined; + s.callLocIdx = 96; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6640.info = {"start":2359,"length":52,"line":66,"column":65,"endLine":68,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","location"]} + +function inline__P6640_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6640, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function inline__P6648(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = (globals.level___3927 + 1); + globals.level___3927 = (r0); + s.tmp_1 = r0 = globals.level___3927; + r0 = pxsim_Array__length(globals.levels___3929); + 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 = 1; continue; } + s.tmp_3 = game_over__P2695_mk(s); + s.tmp_3.arg0 = true; + s.tmp_3.arg1 = undefined; + s.callLocIdx = 98; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = music_Melody_play__P1619_mk(s); + s.tmp_0.arg0 = globals.baDing___1628; + s.tmp_0.arg1 = 255; + s.callLocIdx = 99; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = startLevel__P3922_mk(s); + s.callLocIdx = 100; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6648.info = {"start":2491,"length":172,"line":69,"column":78,"endLine":77,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","location"]} + +function inline__P6648_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6648, depth: s.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 inline__P6680(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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.canTP___3923); + if (!r0) { step = 1; continue; } + s.tmp_0 = music_Melody_play__P1619_mk(s); + s.tmp_0.arg0 = globals.knock___1637; + s.tmp_0.arg1 = 255; + s.callLocIdx = 106; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = tiles_placeOnRandomTile__P2505_mk(s); + s.tmp_0.arg0 = globals.mySprite___3932; + s.tmp_0.arg1 = globals.doorClosedNorth___3596; + s.callLocIdx = 107; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + globals.canTP___3923 = (0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6680.info = {"start":23232,"length":174,"line":205,"column":70,"endLine":211,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","location"]} + +function inline__P6680_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6680, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function inline__P6744(s) { +let r0 = s.r0, 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 = Sprite_setPosition__P2196_mk(s); + s.tmp_0.arg0 = globals.typeSprite___3931; + s.tmp_3 = scene_cameraProperty__P2621_mk(s); + s.tmp_3.arg0 = 0; + s.callLocIdx = 130; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_5 = r0; + r0 = (s.tmp_5 / 2); + s.tmp_4 = r0; + r0 = (s.tmp_2 + s.tmp_4); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 8); + s.tmp_0.arg1 = r0; + s.tmp_8 = scene_cameraProperty__P2621_mk(s); + s.tmp_8.arg0 = 1; + s.callLocIdx = 132; s.pc = 3; return s.tmp_8; + case 3: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_10 = r0; + r0 = (s.tmp_10 / 2); + s.tmp_9 = r0; + r0 = (s.tmp_7 - s.tmp_9); + s.tmp_6 = r0; + r0 = (s.tmp_6 + 8); + s.tmp_0.arg2 = r0; + s.callLocIdx = 134; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6744.info = {"start":25144,"length":183,"line":271,"column":14,"endLine":273,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6744_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6744, depth: s.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 inline__P6765(s) { +let r0 = s.r0, 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.canTP___3923 = (1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6765.info = {"start":25357,"length":29,"line":274,"column":28,"endLine":276,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6765_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6765, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function inline__P6768(s) { +let r0 = s.r0, 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() +} } } +inline__P6768.info = {"start":25396,"length":17,"line":277,"column":8,"endLine":279,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6768_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6768, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function inline__P6770(s) { +let r0 = s.r0, 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_2 = Sprite_vx__P2145_mk(s); + s.tmp_2.arg0 = globals.mySprite___3932; + s.callLocIdx = 138; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + 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; } + s.tmp_3 = Sprite_setImage__P2178_mk(s); + s.tmp_3.arg0 = globals.mySprite___3932; + r0 = pxsim.image.ofBuffer(_hex6777); + s.tmp_3.arg1 = r0; + s.callLocIdx = 139; s.pc = 6; return s.tmp_3; + case 6: + r0 = s.retval; + globals.px___3924 = (-1); + case 1: + case 2: + s.tmp_2 = Sprite_vx__P2145_mk(s); + s.tmp_2.arg0 = globals.mySprite___3932; + s.callLocIdx = 140; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + 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; } + s.tmp_3 = Sprite_setImage__P2178_mk(s); + s.tmp_3.arg0 = globals.mySprite___3932; + r0 = pxsim.image.ofBuffer(_hex6787); + s.tmp_3.arg1 = r0; + s.callLocIdx = 141; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + globals.px___3924 = (1); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +inline__P6770.info = {"start":25423,"length":1644,"line":280,"column":8,"endLine":323,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]} + +function inline__P6770_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: inline__P6770, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, +} } + +const _hex6777 = pxsim.BufferMethods.createBufferFromHex("870410001000000000000000000000000000f0ff0f00000000f0eff2fe00f00f002f2efeeefffffff0222eefd4ed52fff02f2eefd44d52fff0fe2eefffedfe0ff0eeefff1bdeed0ff0eeeff24edeed0ff0eefef2d44efeff00effef244feffff00fffefeee0ef00f00f0ffffef0f0000000000f0ff00000000000000000000000000000000000000") +const _hex6787 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000f0ff00000000f0ffffef0f000000fffefeee0ef00f00effef244fefffff0eefef2d44efefff0eeeff24edeed0ff0eeefff1bdeed0ff0fe2eefffedfe0ff02f2eefd44d52fff0222eefd4ed52ff002f2efeeeffffff00f0eff2fe00f00f0000f0ff0f00000000000000000000000000000000000000") + + + + +function Sprite_vx__P2145(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2145.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__P2145.isGetter = true; + +function Sprite_vx__P2145_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vx__P2145, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Fx_toFloat__P173(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P173.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__P173_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_toFloat__P173, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function forever__P1877(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_forever__P2696_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 178; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +forever__P1877.info = {"start":264,"length":62,"line":6,"column":0,"endLine":8,"endColumn":1,"fileName":"pxt_modules/game/gameoverrides.ts","functionName":"forever","argumentNames":["a"]} + +function forever__P1877_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forever__P1877, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_forever__P2696(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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.foreverRunning___4385); + 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; } + globals.foreverRunning___4385 = (true); + r0 = pxsim.control.runInParallel(game_forever_inline__P6806); + case 1: + case 2: + r0 = pxsim_pxtcore_mkClassInstance(scene_GameForeverHandler__C2550_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_GameForeverHandler_constructor__P2552_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 1287; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_3 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1286; s.pc = 4; return s.tmp_3; + case 4: + r0 = s.retval; + r0 = r0.fields["gameForeverHandlers"]; + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_2, s.tmp_0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_forever__P2696.info = {"start":7421,"length":820,"line":243,"column":4,"endLine":266,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"forever","argumentNames":["action"]} + +function game_forever__P2696_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_forever__P2696, depth: s.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_forever_inline__P6806(s) { +let r0 = s.r0, 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.handlers___6808 = undefined; + case 1: + r0 = pxsim_numops_toBoolDecr(1); + if (!r0) { step = 2; continue; } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1282; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = r0.fields["gameForeverHandlers"]; + s.handlers___6808 = (r0); + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.handlers___6808; + s.tmp_0.arg1 = game_forever_inline__P6814; + s.callLocIdx = 1284; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 20; + s.callLocIdx = 1285; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_forever_inline__P6806.info = {"start":7573,"length":535,"line":246,"column":34,"endLine":260,"endColumn":13,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]} + +function game_forever_inline__P6806_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_forever_inline__P6806, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + handlers___6808: undefined, +} } + + + + + +function game_forever_inline__P6814(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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["lock"]; + 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["lock"] = (true); + r0 = pxsim_pxtcore_mkAction(1, game_forever_inline__P6823); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim.control.runInParallel(s.tmp_0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_forever_inline__P6814.info = {"start":7724,"length":319,"line":249,"column":37,"endLine":257,"endColumn":21,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["h"]} + +function game_forever_inline__P6814_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_forever_inline__P6814, 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_forever_inline__P6823(s) { +let r0 = s.r0, 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 = if_handler_1_mk(s); + s.tmp_0.arg0 = s.caps[0]; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "handler"), 1); + s.callLocIdx = 1283; 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"], 1); s.callLocIdx = 1283; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1283; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 1283; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = (s.caps[0]).fields["lock"] = (false); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_forever_inline__P6823.info = {"start":7863,"length":130,"line":252,"column":50,"endLine":255,"endColumn":29,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":[]} + +function game_forever_inline__P6823_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_forever_inline__P6823, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_GameForeverHandler_constructor__P2552(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_GameForeverHandler__C2550_VT)) failedCast(r0); + r0 = (s.arg0).fields["handler"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_GameForeverHandler_constructor__P2552.info = {"start":1340,"length":65,"line":47,"column":8,"endLine":49,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","handler"]} + +function scene_GameForeverHandler_constructor__P2552_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_GameForeverHandler_constructor__P2552, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_arrayForEach__P109(s) { +let r0 = s.r0, 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___6841 = undefined; + s.i___6844 = 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___6841 = (r0); + s.i___6844 = (0); + case 1: + r0 = (s.i___6844 < s.len___6841); + 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___6844); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.i___6844; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 6; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.i___6844 + 1); + s.i___6844 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_arrayForEach__P109.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__P109_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayForEach__P109, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + len___6841: undefined, + i___6844: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_onUpdateInterval__P2705(s) { +let r0 = s.r0, 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___6863 = 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___6863 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.timer___6863, 0); + r0 = pxsim_pxtcore_mkAction(3, game_onUpdateInterval_inline__P6867); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___6863); + 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__P403_mk(s); + s.tmp_2 = game_eventContext__P2688_mk(s); + s.callLocIdx = 1292; 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 = 1296; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_onUpdateInterval__P2705.info = {"start":891,"length":401,"line":28,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdateInterval","argumentNames":["period","a"]} + +function game_onUpdateInterval__P2705_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onUpdateInterval__P2705, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + timer___6863: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_onUpdateInterval_inline__P6867(s) { +let r0 = s.r0, 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___6868 = undefined; + s.tmp_1 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1293; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_millis"]; + s.time___6868 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.time___6868); + 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___6868 + 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 = 1295; 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__P6867.info = {"start":1105,"length":179,"line":31,"column":81,"endLine":37,"endColumn":9,"fileName":"pxt_modules/game/gameutil.ts","functionName":"inline","argumentNames":[]} + +function game_onUpdateInterval_inline__P6867_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onUpdateInterval_inline__P6867, depth: s.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___6868: undefined, +} } + + + + + +function scene_Scene_millis__P2596(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2571_VT)) failedCast(r0); + r0 = s.arg0.fields["_millis"]; + return leave(s, r0) + default: oops() +} } } +scene_Scene_millis__P2596.info = {"start":6898,"length":61,"line":191,"column":8,"endLine":193,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"millis","argumentNames":["this"]} + +function scene_Scene_millis__P2596_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_millis__P2596, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function control_EventContext_registerFrameHandler__P403(s) { +let r0 = s.r0, 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___6895 = undefined; + s.i___6904 = 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__C395_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__P4021_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 56; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + case 1: + case 2: + r0 = pxsim_pxtcore_mkClassInstance(control_FrameCallback__C392_VT); + s.fn___6895 = (r0); + r0 = (s.fn___6895).fields["order"] = (s.arg1); + r0 = (s.fn___6895).fields["handler"] = (s.arg2); + s.i___6904 = (0); + case 3: + s.tmp_1 = r0 = s.i___6904; + 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___6904); + 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___6904, s.fn___6895); + r0 = s.fn___6895; + { step = 7; continue; } + case 4: + case 5: + r0 = (s.i___6904 + 1); + s.i___6904 = (r0); + { step = 3; continue; } + case 6: + r0 = s.arg0.fields["frameCallbacks"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.fn___6895); + r0 = s.fn___6895; + case 7: + return leave(s, r0) + default: oops() +} } } +control_EventContext_registerFrameHandler__P403.info = {"start":4675,"length":643,"line":143,"column":8,"endLine":160,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameHandler","argumentNames":["this","order","handler"]} + +function control_EventContext_registerFrameHandler__P403_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameHandler__P403, depth: s.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___6895: undefined, + i___6904: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function control_EventContext_registerFrameCallbacks__P4021(s) { +let r0 = s.r0, 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___6938 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C395_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___6938 = (r0); + r0 = pxsim_pxtcore_mkAction(2, control_EventContext_registerFrameCallbacks_inline__P6944); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.worker___6938); + r0 = pxsim.control.runInParallel(s.tmp_0); + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_registerFrameCallbacks__P4021.info = {"start":3481,"length":895,"line":105,"column":8,"endLine":129,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerFrameCallbacks","argumentNames":["this"]} + +function control_EventContext_registerFrameCallbacks__P4021_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameCallbacks__P4021, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + worker___6938: undefined, + arg0: undefined, +} } + + + + + +function control_EventContext_registerFrameCallbacks_inline__P6944(s) { +let r0 = s.r0, 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___6974 = 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__P6950); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.caps[0]); + s.tmp_2 = pauseUntil__P367_mk(s); + s.tmp_2.arg0 = s.tmp_1; + s.tmp_2.arg1 = undefined; + s.callLocIdx = 50; 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__P4020_mk(s); + s.tmp_2.arg0 = s.caps[0]; + s.callLocIdx = 51; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.delay___6974 = (r0); + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = s.delay___6974; + s.callLocIdx = 52; 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__P6944.info = {"start":3642,"length":723,"line":109,"column":34,"endLine":128,"endColumn":13,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} + +function control_EventContext_registerFrameCallbacks_inline__P6944_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P6944, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + delay___6974: undefined, +} } + + + + + +function control_EventContext_registerFrameCallbacks_inline__P6950(s) { +let r0 = s.r0, 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__P6950.info = {"start":3873,"length":28,"line":113,"column":31,"endLine":113,"endColumn":59,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":[]} + +function control_EventContext_registerFrameCallbacks_inline__P6950_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P6950, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function control_EventContext_runCallbacks__P4020(s) { +let r0 = s.r0, 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___6983 = undefined; + s.f___6996 = undefined; + s.unnamed62___U2 = undefined; + s.unnamed63___U3 = undefined; + s.runtime___7001 = undefined; + s.fps___7021 = undefined; + s.delay___7083 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + r0 = pxsim.control.millis(); + s.loopStart___6983 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["prevTimeMillis"]; + s.tmp_2 = r0; + r0 = (s.loopStart___6983 - s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["deltaTimeMillis"] = (s.tmp_1); + r0 = (s.arg0).fields["prevTimeMillis"] = (s.loopStart___6983); + s.f___6996 = (undefined); + r0 = s.arg0.fields["frameCallbacks"]; + s.unnamed62___U2 = (r0); + s.unnamed63___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed63___U3; + r0 = pxsim_Array__length(s.unnamed62___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed62___U2, s.unnamed63___U3); + s.f___6996 = (r0); + s.tmp_2 = if_handler_1_mk(s); + s.tmp_2.arg0 = s.f___6996; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "handler"), 1); + s.callLocIdx = 47; s.pc = 13; 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 = 47; s.pc = 13; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 47; s.pc = 13; return s.tmp_2;; } + else { s.callLocIdx = 47; s.pc = 13; return s.tmp_2; } + } + case 13: + r0 = s.retval; + r0 = (s.unnamed63___U3 + 1); + s.unnamed63___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed62___U2 = (undefined); + r0 = pxsim.control.millis(); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.loopStart___6983); + s.runtime___7001 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["timeInSample"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.runtime___7001); + 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 = 11; continue; } + r0 = s.arg0.fields["framesInSample"]; + s.tmp_4 = r0; + r0 = s.arg0.fields["timeInSample"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 / 1000); + s.tmp_5 = r0; + r0 = (s.tmp_4 / s.tmp_5); + s.fps___7021 = (r0); + r0 = pxsim.Math_.round(s.fps___7021); + s.tmp_1 = r0; + if ((s.tmp_1) && (s.tmp_1).vtable) { + setupResume(s, 14); + pxsim_String__stringConv(s.tmp_1); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_1) + ""; } + case 14: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_String__concat("fps:", s.tmp_0); + globals.control_EventContext_lastStats___397 = (r0); + r0 = (s.fps___7021 < 99); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + if ((globals.control_EventContext_lastStats___397) && (globals.control_EventContext_lastStats___397).vtable) { + setupResume(s, 15); + pxsim_String__stringConv(globals.control_EventContext_lastStats___397); + checkResumeConsumed(); + return; + } else { s.retval = (globals.control_EventContext_lastStats___397) + ""; } + case 15: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.fps___7021 * 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, 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_4); + s.tmp_3 = r0; + if ((s.tmp_3) && (s.tmp_3).vtable) { + setupResume(s, 17); + pxsim_String__stringConv(s.tmp_3); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_3) + ""; } + case 17: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); + globals.control_EventContext_lastStats___397 = (r0); + case 5: + case 6: + s.tmp_2 = control_ramSize__P346_mk(s); + s.callLocIdx = 48; s.pc = 18; return s.tmp_2; + case 18: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 2000000); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 7; continue; } + r0 = s.tmp_0; + { step = 8; continue; } + case 7: + r0 = pxsim.control.profilingEnabled(); + case 8: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 9; continue; } + r0 = pxsim_String_.mkEmpty(); + s.tmp_8 = r0; + r0 = (s.fps___7021 * 100); + s.tmp_11 = r0; + r0 = (s.tmp_11 | 0); + s.tmp_10 = r0; + if ((s.tmp_10) && (s.tmp_10).vtable) { + setupResume(s, 19); + pxsim_String__stringConv(s.tmp_10); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_10) + ""; } + case 19: + r0 = s.retval; + s.tmp_9 = r0; + r0 = pxsim_String__concat(s.tmp_8, s.tmp_9); + s.tmp_7 = r0; + r0 = pxsim_String__concat(s.tmp_7, "/100 fps - "); + s.tmp_6 = r0; + r0 = s.arg0.fields["framesInSample"]; + s.tmp_13 = r0; + if ((s.tmp_13) && (s.tmp_13).vtable) { + setupResume(s, 20); + pxsim_String__stringConv(s.tmp_13); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_13) + ""; } + case 20: + r0 = s.retval; + s.tmp_12 = r0; + r0 = pxsim_String__concat(s.tmp_6, s.tmp_12); + s.tmp_5 = r0; + r0 = pxsim_String__concat(s.tmp_5, " frames"); + s.tmp_4 = r0; + r0 = pxsim.control.dmesg(s.tmp_4); + r0 = pxsim.control.gc(); + r0 = pxsim_pxtcore.dumpPerfCounters(); + case 9: + case 10: + r0 = (s.arg0).fields["timeInSample"] = (0); + r0 = (s.arg0).fields["framesInSample"] = (0); + case 11: + case 12: + s.tmp_0 = Math_max__P130_mk(s); + s.tmp_0.arg0 = 1; + r0 = (20 - s.runtime___7001); + s.tmp_0.arg1 = r0; + s.callLocIdx = 49; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + s.delay___7083 = (r0); + r0 = s.delay___7083; + return leave(s, r0) + default: oops() +} } } +control_EventContext_runCallbacks__P4020.info = {"start":2182,"length":1246,"line":74,"column":8,"endLine":102,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"runCallbacks","argumentNames":["this"]} + +function control_EventContext_runCallbacks__P4020_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_runCallbacks__P4020, depth: s.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, + loopStart___6983: undefined, + f___6996: undefined, + unnamed62___U2: undefined, + unnamed63___U3: undefined, + runtime___7001: undefined, + fps___7021: undefined, + delay___7083: undefined, + arg0: undefined, +} } + + + + + +function control_ramSize__P346(s) { +let r0 = s.r0, 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__P346.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__P346_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_ramSize__P346, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function control__ramSize__P3986(s) { +let r0 = s.r0, 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__P3986.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__P3986_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control__ramSize__P3986, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function Math_max__P130(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P130.info = {"start":16564,"length":105,"line":556,"column":4,"endLine":559,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"max","argumentNames":["a","b"]} + +function Math_max__P130_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_max__P130, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function pauseUntil__P367(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 34; 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__P366_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 35; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +pauseUntil__P367.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__P367_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: pauseUntil__P367, depth: s.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__P366(s) { +let r0 = s.r0, 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___7122 = 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__C3994_VT); + s.tmp_0 = r0; + s.tmp_1 = control_PollEvent_constructor__P3995_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 = 32; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.ev___7122 = (s.tmp_0); + r0 = pxsim_numops_toBoolDecr(globals._pollEventQueue___3997); + 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___7122); + globals._pollEventQueue___3997 = (s.tmp_2); + r0 = pxsim.control.runInParallel(control_pollEvents__P3998); + { step = 2; continue; } + case 1: + r0 = pxsim_Array__push(globals._pollEventQueue___3997, s.ev___7122); + case 2: + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 3; continue; } + s.tmp_0 = control_onEvent__P391_mk(s); + r0 = s.ev___7122.fields["eid"]; + s.tmp_0.arg0 = r0; + r0 = s.ev___7122.fields["vid"]; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.arg2; + s.tmp_0.arg3 = 16; + s.callLocIdx = 33; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + { step = 4; continue; } + case 3: + r0 = s.ev___7122.fields["eid"]; + s.tmp_0 = r0; + r0 = s.ev___7122.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__P366.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__P366_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___queuePollEvent__P366, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + ev___7122: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function control_pollEvents__P3998(s) { +let r0 = s.r0, 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___7249 = undefined; + s.i___7252 = undefined; + s.ev___7258 = undefined; + case 1: + r0 = pxsim_Array__length(globals._pollEventQueue___3997); + 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___7249 = (r0); + s.i___7252 = (0); + case 2: + s.tmp_1 = r0 = s.i___7252; + r0 = pxsim_Array__length(globals._pollEventQueue___3997); + 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___3997, s.i___7252); + s.ev___7258 = (r0); + s.tmp_1 = if_condition_1_mk(s); + s.tmp_1.arg0 = s.ev___7258; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "condition"), 1); + s.callLocIdx = 29; 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 = 29; s.pc = 13; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 29; s.pc = 13; return s.tmp_1;; } + else { s.callLocIdx = 29; 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___7258.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___7258.fields["start"]; + s.tmp_5 = r0; + r0 = (s.now___7249 - s.tmp_5); + s.tmp_4 = r0; + r0 = s.ev___7258.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___7258.fields["eid"]; + s.tmp_9 = r0; + r0 = s.ev___7258.fields["vid"]; + s.tmp_10 = r0; + r0 = pxsim.control.raiseEvent(s.tmp_9, s.tmp_10); + r0 = s.ev___7258.fields["once"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_1 = helpers_arraySplice__P100_mk(s); + s.tmp_1.arg0 = globals._pollEventQueue___3997; + s.tmp_1.arg1 = s.i___7252; + s.tmp_1.arg2 = 1; + s.callLocIdx = 30; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + r0 = (s.i___7252 - 1); + s.i___7252 = (r0); + case 7: + case 8: + case 9: + case 10: + r0 = (s.i___7252 + 1); + s.i___7252 = (r0); + { step = 2; continue; } + case 11: + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 50; + s.callLocIdx = 31; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + { step = 1; continue; } + case 12: + globals._pollEventQueue___3997 = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_pollEvents__P3998.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__P3998_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_pollEvents__P3998, depth: s.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___7249: undefined, + i___7252: undefined, + ev___7258: undefined, +} } + + + + + +function helpers_arraySplice__P100(s) { +let r0 = s.r0, 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___7306 = 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___7306 = (0); + case 3: + r0 = (s.i___7306 < 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___7306 + 1); + s.i___7306 = (r0); + { step = 3; continue; } + case 4: + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_arraySplice__P100.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__P100_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySplice__P100, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + i___7306: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function control_PollEvent_constructor__P3995(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C3994_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__P3995.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__P3995_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_PollEvent_constructor__P3995, 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_onEvent__P391(s) { +let r0 = s.r0, 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___7165 = 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__P408_mk(s); + s.callLocIdx = 44; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.ctx___7165 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___7165); + 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__P405_mk(s); + s.tmp_0.arg0 = s.ctx___7165; + 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 = 45; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_onEvent__P391.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__P391_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_onEvent__P391, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + ctx___7165: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function control_eventContext__P408(s) { +let r0 = s.r0, 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___4023); + if (!r0) { step = 1; continue; } + s.tmp_0 = r0 = globals.eventContexts___4023; + r0 = pxsim_Array__length(globals.eventContexts___4023); + 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__P408.info = {"start":6907,"length":136,"line":209,"column":4,"endLine":211,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"eventContext","argumentNames":[]} + +function control_eventContext__P408_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_eventContext__P408, depth: s.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__P405(s) { +let r0 = s.r0, 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___7188 = undefined; + s.unnamed68___U1 = undefined; + s.unnamed69___U2 = undefined; + s.hn___7211 = 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__C395_VT)) failedCast(r0); + s.h___7188 = (undefined); + r0 = s.arg0.fields["handlers"]; + s.unnamed68___U1 = (r0); + s.unnamed69___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed69___U2; + r0 = pxsim_Array__length(s.unnamed68___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed68___U1, s.unnamed69___U2); + s.h___7188 = (r0); + r0 = s.h___7188.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___7188.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___7188).fields["flags"] = (s.arg4); + r0 = (s.h___7188).fields["handler"] = (s.arg3); + { step = 7; continue; } + case 4: + case 5: + r0 = (s.unnamed69___U2 + 1); + s.unnamed69___U2 = (r0); + { step = 1; continue; } + case 6: + s.unnamed68___U1 = (undefined); + r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C4015_VT); + s.tmp_0 = r0; + s.tmp_1 = control_EventHandler_constructor__P4018_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 = 57; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + s.hn___7211 = (s.tmp_0); + r0 = s.arg0.fields["handlers"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.hn___7211); + s.tmp_0 = control_EventHandler_register__P4016_mk(s); + s.tmp_0.arg0 = s.hn___7211; + s.callLocIdx = 58; 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__P405.info = {"start":5573,"length":525,"line":169,"column":8,"endLine":182,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"registerHandler","argumentNames":["this","src","value","handler","flags"]} + +function control_EventContext_registerHandler__P405_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_registerHandler__P405, depth: s.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___7188: undefined, + unnamed68___U1: undefined, + unnamed69___U2: undefined, + hn___7211: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function control_EventHandler_constructor__P4018(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C4015_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__P4018.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__P4018_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_constructor__P4018, 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__P4016(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C4015_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkAction(1, control_EventHandler_register_inline__P7232); + 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__P4016.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__P4016_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_register__P4016, depth: s.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__P7232(s) { +let r0 = s.r0, 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 = 46; 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 = 46; s.pc = 3; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 46; s.pc = 3; return s.tmp_1;; } + else { s.callLocIdx = 46; 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__P7232.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__P7232_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_register_inline__P7232, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function scene_screenHeight__P2609(s) { +let r0 = s.r0, 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_ImageMethods.height(globals.screen___1829); + return leave(s, r0) + default: oops() +} } } +scene_screenHeight__P2609.info = {"start":900,"length":76,"line":41,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"screenHeight","argumentNames":[]} + +function scene_screenHeight__P2609_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_screenHeight__P2609, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_screenWidth__P2608(s) { +let r0 = s.r0, 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_ImageMethods.width(globals.screen___1829); + return leave(s, r0) + default: oops() +} } } +scene_screenWidth__P2608.info = {"start":628,"length":74,"line":30,"column":4,"endLine":32,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"screenWidth","argumentNames":[]} + +function scene_screenWidth__P2608_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_screenWidth__P2608, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_cameraProperty__P2621(s) { +let r0 = s.r0, 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___7348 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1143; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.scene___7348 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_pxtcore.switch_eq(0, 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 = pxsim_pxtcore.switch_eq(5, s.tmp_0); + if (r0) { step = 6; continue; } + r0 = s.tmp_0; + { step = 7; continue; } + case 1: + r0 = s.scene___7348.fields["camera"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["drawOffsetX"]; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_4 = r0; + r0 = (s.tmp_4 >> 1); + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + { step = 8; continue; } + case 2: + r0 = s.scene___7348.fields["camera"]; + s.tmp_5 = r0; + r0 = s.tmp_5.fields["drawOffsetY"]; + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_8 = r0; + r0 = (s.tmp_8 >> 1); + s.tmp_7 = r0; + r0 = (s.tmp_6 + s.tmp_7); + { step = 8; continue; } + case 3: + r0 = s.scene___7348.fields["camera"]; + s.tmp_9 = r0; + r0 = s.tmp_9.fields["drawOffsetX"]; + { step = 8; continue; } + case 4: + r0 = s.scene___7348.fields["camera"]; + s.tmp_10 = r0; + r0 = s.tmp_10.fields["drawOffsetX"]; + s.tmp_11 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_12 = r0; + r0 = (s.tmp_11 + s.tmp_12); + { step = 8; continue; } + case 5: + r0 = s.scene___7348.fields["camera"]; + s.tmp_13 = r0; + r0 = s.tmp_13.fields["drawOffsetY"]; + { step = 8; continue; } + case 6: + r0 = s.scene___7348.fields["camera"]; + s.tmp_14 = r0; + r0 = s.tmp_14.fields["drawOffsetY"]; + s.tmp_15 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_16 = r0; + r0 = (s.tmp_15 + s.tmp_16); + { step = 8; continue; } + case 7: + r0 = undefined; + case 8: + return leave(s, r0) + default: oops() +} } } +scene_cameraProperty__P2621.info = {"start":5597,"length":529,"line":196,"column":4,"endLine":206,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"cameraProperty","argumentNames":["property"]} + +function scene_cameraProperty__P2621_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_cameraProperty__P2621, depth: s.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, + scene___7348: undefined, + arg0: undefined, +} } + + + + + +function scene_Camera_bottom__P2526(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["drawOffsetY"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_bottom__P2526.info = {"start":1705,"length":77,"line":61,"column":8,"endLine":63,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"bottom","argumentNames":["this"]} +scene_Camera_bottom__P2526.isGetter = true; + +function scene_Camera_bottom__P2526_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_bottom__P2526, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function scene_Camera_top__P2525(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["drawOffsetY"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_top__P2525.info = {"start":1638,"length":58,"line":58,"column":8,"endLine":60,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"top","argumentNames":["this"]} +scene_Camera_top__P2525.isGetter = true; + +function scene_Camera_top__P2525_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_top__P2525, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_right__P2524(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["drawOffsetX"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_right__P2524.info = {"start":1554,"length":75,"line":55,"column":8,"endLine":57,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"right","argumentNames":["this"]} +scene_Camera_right__P2524.isGetter = true; + +function scene_Camera_right__P2524_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_right__P2524, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function scene_Camera_left__P2523(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["drawOffsetX"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_left__P2523.info = {"start":1486,"length":59,"line":52,"column":8,"endLine":54,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"left","argumentNames":["this"]} +scene_Camera_left__P2523.isGetter = true; + +function scene_Camera_left__P2523_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_left__P2523, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_y__P2522(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["drawOffsetY"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + 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__P2522.info = {"start":1398,"length":79,"line":49,"column":8,"endLine":51,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"y","argumentNames":["this"]} +scene_Camera_y__P2522.isGetter = true; + +function scene_Camera_y__P2522_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_y__P2522, 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__P2521(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["drawOffsetX"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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__P2521.info = {"start":1311,"length":78,"line":46,"column":8,"endLine":48,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"x","argumentNames":["this"]} +scene_Camera_x__P2521.isGetter = true; + +function scene_Camera_x__P2521_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_x__P2521, 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_setPosition__P2196(s) { +let r0 = s.r0, 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___13000 = 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, Sprite__C2128_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 439; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["physicsEngine"]; + s.physics___13000 = (r0); + s.tmp_0 = PhysicsEngine__C2290_v2_4_mk(s); + s.tmp_0.arg0 = s.physics___13000; + s.tmp_0.arg1 = s.arg0; + s.tmp_2 = r0 = s.arg1; + s.tmp_4 = Sprite_x__P2141_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 440; 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 = r0; + r0 = (s.tmp_1 * 256); + s.tmp_5 = r0; + r0 = (s.tmp_5 | 0); + s.tmp_0.arg2 = r0; + s.tmp_7 = r0 = s.arg2; + s.tmp_9 = Sprite_y__P2143_mk(s); + s.tmp_9.arg0 = s.arg0; + s.callLocIdx = 442; s.pc = 4; return s.tmp_9; + case 4: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_7 - s.tmp_8); + s.tmp_6 = r0; + r0 = (s.tmp_6 * 256); + s.tmp_10 = r0; + r0 = (s.tmp_10 | 0); + s.tmp_0.arg3 = r0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2290_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_setPosition__P2196.info = {"start":15032,"length":220,"line":529,"column":4,"endLine":536,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setPosition","argumentNames":["this","x","y"]} + +function Sprite_setPosition__P2196_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setPosition__P2196, depth: s.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, + physics___13000: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function PhysicsEngine_moveSprite__P2294(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2290_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_moveSprite__P2294.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__P2294_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_moveSprite__P2294, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Sprite_y__P2143(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2143.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__P2143.isGetter = true; + +function Sprite_y__P2143_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_y__P2143, depth: s.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_div__P162(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P162.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__P162_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_div__P162, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_add__P157(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P157.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__P157_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_add__P157, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_x__P2141(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2141.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__P2141.isGetter = true; + +function Sprite_x__P2141_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_x__P2141, depth: s.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 game_onUpdate__P2704(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P403_mk(s); + s.tmp_3 = game_eventContext__P2688_mk(s); + s.callLocIdx = 1290; 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 = 1291; s.pc = 4; return s.tmp_2; + case 4: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_onUpdate__P2704.info = {"start":405,"length":153,"line":15,"column":4,"endLine":18,"endColumn":5,"fileName":"pxt_modules/game/gameutil.ts","functionName":"onUpdate","argumentNames":["a"]} + +function game_onUpdate__P2704_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onUpdate__P2704, depth: s.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 music_playMelody__P1609(s) { +let r0 = s.r0, 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.notes___7420 = undefined; + s.formattedMelody___7430 = undefined; + s.newOctave___7431 = undefined; + s.i___7432 = undefined; + s.song___7496 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = helpers_arrayFilter__P110_mk(s); + s.tmp_1 = helpers_stringSplit__P122_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = " "; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 76; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = notes_inline__P7425; + s.callLocIdx = 77; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.notes___7420 = (r0); + r0 = pxsim_String_.mkEmpty(); + s.formattedMelody___7430 = (r0); + s.newOctave___7431 = (false); + s.i___7432 = (0); + case 1: + s.tmp_1 = r0 = s.i___7432; + r0 = pxsim_Array__length(s.notes___7420); + 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(s.notes___7420, s.i___7432); + s.tmp_4 = r0; + r0 = (s.tmp_4 === "-"); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array_.setAt(s.notes___7420, s.i___7432, "R"); + { step = 7; continue; } + case 2: + r0 = pxsim_Array__getAt(s.notes___7420, s.i___7432); + s.tmp_1 = r0; + r0 = (s.tmp_1 === "C5"); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.newOctave___7431 = (true); + { step = 6; continue; } + case 3: + r0 = pxsim_numops_toBoolDecr(s.newOctave___7431); + if (!r0) { step = 4; continue; } + s.tmp_0 = r0 = s.notes___7420; + s.tmp_1 = r0 = s.i___7432; + r0 = pxsim_Array__getAt(s.tmp_0, s.i___7432); + s.tmp_4 = r0; + if ((s.tmp_4) && (s.tmp_4).vtable) { + setupResume(s, 13); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 13: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String__concat(s.tmp_3, "4"); + s.tmp_2 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.tmp_1, s.tmp_2); + s.newOctave___7431 = (false); + case 4: + case 5: + case 6: + case 7: + r0 = (s.i___7432 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + if ((s.formattedMelody___7430) && (s.formattedMelody___7430).vtable) { + setupResume(s, 14); + pxsim_String__stringConv(s.formattedMelody___7430); + checkResumeConsumed(); + return; + } else { s.retval = (s.formattedMelody___7430) + ""; } + case 14: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.notes___7420, s.i___7432); + s.tmp_9 = r0; + if ((s.tmp_9) && (s.tmp_9).vtable) { + setupResume(s, 15); + pxsim_String__stringConv(s.tmp_9); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_9) + ""; } + case 15: + r0 = s.retval; + s.tmp_8 = r0; + r0 = pxsim_String__concat(s.tmp_8, "-"); + s.tmp_7 = r0; + if ((s.tmp_7) && (s.tmp_7).vtable) { + setupResume(s, 16); + pxsim_String__stringConv(s.tmp_7); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_7) + ""; } + case 16: + r0 = s.retval; + s.tmp_6 = r0; + if ((s.arg1) && (s.arg1).vtable) { + setupResume(s, 17); + pxsim_String__stringConv(s.arg1); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg1) + ""; } + case 17: + r0 = s.retval; + s.tmp_10 = r0; + r0 = pxsim_String__concat(s.tmp_6, s.tmp_10); + s.tmp_5 = r0; + if ((s.tmp_5) && (s.tmp_5).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } + case 18: + 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, 19); + pxsim_String__stringConv(s.tmp_3); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_3) + ""; } + case 19: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); + s.formattedMelody___7430 = (r0); + { step = 9; continue; } + case 8: + if ((s.formattedMelody___7430) && (s.formattedMelody___7430).vtable) { + setupResume(s, 20); + pxsim_String__stringConv(s.formattedMelody___7430); + checkResumeConsumed(); + return; + } else { s.retval = (s.formattedMelody___7430) + ""; } + case 20: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.notes___7420, s.i___7432); + s.tmp_4 = r0; + if ((s.tmp_4) && (s.tmp_4).vtable) { + setupResume(s, 21); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 21: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String__concat(s.tmp_3, " "); + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 22); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 22: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat(s.tmp_0, s.tmp_1); + s.formattedMelody___7430 = (r0); + case 9: + r0 = (s.i___7432 + 1); + s.i___7432 = (r0); + { step = 1; continue; } + case 10: + r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C1612_VT); + s.tmp_0 = r0; + s.tmp_1 = music_Melody_constructor__P1615_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.formattedMelody___7430; + s.callLocIdx = 78; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + s.song___7496 = (s.tmp_0); + s.tmp_0 = music_Melody_playUntilDone__P1620_mk(s); + s.tmp_0.arg0 = s.song___7496; + s.tmp_0.arg1 = 255; + s.callLocIdx = 79; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_playMelody__P1609.info = {"start":4061,"length":976,"line":125,"column":4,"endLine":151,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playMelody","argumentNames":["melody","tempo"]} + +function music_playMelody__P1609_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_playMelody__P1609, depth: s.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, + notes___7420: undefined, + formattedMelody___7430: undefined, + newOctave___7431: undefined, + i___7432: undefined, + song___7496: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function notes_inline__P7425(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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() +} } } +notes_inline__P7425.info = {"start":4176,"length":8,"line":126,"column":55,"endLine":126,"endColumn":63,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["n"]} + +function notes_inline__P7425_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: notes_inline__P7425, 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 music_Melody_playUntilDone__P1620(s) { +let r0 = s.r0, 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___7505 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, music_Melody__C1612_VT)) failedCast(r0); + s.tmp_0 = music_Melody_stop__P1617_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 89; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayer__C1622_VT); + s.tmp_0 = r0; + s.tmp_1 = music_MelodyPlayer_constructor__P1625_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 90; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + r0 = (s.arg0).fields["_player"] = (s.tmp_0); + s.p___7505 = (s.tmp_0); + r0 = pxsim_pxtcore_mkAction(2, music_Melody_playUntilDone_inline__P7515); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.p___7505); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.arg0); + r0 = s.arg0.fields["_player"]; + s.tmp_1 = r0; + r0 = (s.tmp_1).fields["onPlayFinished"] = (s.tmp_0); + s.tmp_0 = music_Melody_registerMelody__P4062_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 92; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = music_MelodyPlayer_play__P1627_mk(s); + r0 = s.arg0.fields["_player"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 93; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_playUntilDone__P1620.info = {"start":9667,"length":344,"line":299,"column":8,"endLine":308,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playUntilDone","argumentNames":["this","volume"]} + +function music_Melody_playUntilDone__P1620_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_playUntilDone__P1620, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + p___7505: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function music_Melody_playUntilDone_inline__P7515(s) { +let r0 = s.r0, 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[1].fields["_player"]; + s.tmp_1 = r0; + r0 = (s.caps[0] == s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = music_Melody_unregisterMelody__P4063_mk(s); + s.tmp_2.arg0 = s.caps[1]; + s.callLocIdx = 91; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_playUntilDone_inline__P7515.info = {"start":9823,"length":105,"line":302,"column":42,"endLine":305,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} + +function music_Melody_playUntilDone_inline__P7515_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_playUntilDone_inline__P7515, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function music_Melody_unregisterMelody__P4063(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1612_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___4065); + if (!r0) { step = 1; continue; } + r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___4065, s.arg0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_unregisterMelody__P4063.info = {"start":7471,"length":201,"line":235,"column":8,"endLine":240,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"unregisterMelody","argumentNames":["this"]} + +function music_Melody_unregisterMelody__P4063_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_unregisterMelody__P4063, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function music_Melody_registerMelody__P4062(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1612_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals.music_Melody_playingMelodies___4065); + 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.music_Melody_playingMelodies___4065 = (r0); + case 1: + case 2: + r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___4065); + 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; } + s.tmp_2 = music_Melody_stop__P1617_mk(s); + s.tmp_3 = r0 = globals.music_Melody_playingMelodies___4065; + r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___4065); + s.tmp_5 = r0; + r0 = (s.tmp_5 - 1); + s.tmp_4 = r0; + r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4); + s.tmp_2.arg0 = r0; + s.callLocIdx = 82; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___4065, s.arg0); + r0 = pxsim_Array__push(globals.music_Melody_playingMelodies___4065, s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_registerMelody__P4062.info = {"start":6889,"length":573,"line":223,"column":8,"endLine":234,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"registerMelody","argumentNames":["this"]} + +function music_Melody_registerMelody__P4062_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_registerMelody__P4062, depth: s.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 music_MelodyPlayer_play__P1627(s) { +let r0 = s.r0, 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.notes___7538 = undefined; + s.pos___7542 = undefined; + s.duration___7543 = undefined; + s.octave___7544 = undefined; + s.tempo___7545 = undefined; + s.hz___7546 = undefined; + s.endHz___7547 = undefined; + s.ms___7550 = undefined; + s.timePos___7551 = undefined; + s.startTime___7552 = undefined; + s.now___7555 = undefined; + s.envA___7556 = undefined; + s.envD___7557 = undefined; + s.envS___7558 = undefined; + s.envR___7559 = undefined; + s.soundWave___7560 = undefined; + s.sndInstr___7561 = undefined; + s.sndInstrPtr___7567 = undefined; + s.addForm___7568 = undefined; + s.scanNextWord___7628 = undefined; + s.token___7685 = undefined; + s.tokenKind___7686 = undefined; + s.consumeToken___7689 = undefined; + s.currNote___7765 = undefined; + s.prevNote___7767 = undefined; + s.timeLeft___7770 = undefined; + s.note___7784 = undefined; + s.i___7788 = undefined; + s.noteChar___7794 = undefined; + s.keyNumber___7868 = undefined; + s.currMs___7885 = undefined; + s.beat___7889 = undefined; + s.timeLeft___7946 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, music_MelodyPlayer__C1622_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); + r0 = s.arg0.fields["melody"]; + 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 = 1; continue; } + { step = 59; continue; } + case 1: + case 2: + s.tmp_4 = r0 = s.arg1; + s.tmp_6 = Math_clamp__P127_mk(s); + s.tmp_6.arg0 = 0; + s.tmp_6.arg1 = 255; + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_8 = r0; + s.tmp_10 = music_volume__P1607_mk(s); + s.callLocIdx = 94; s.pc = 61; return s.tmp_10; + case 61: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_8 * s.tmp_9); + s.tmp_7 = r0; + r0 = (s.tmp_7 >> 8); + s.tmp_6.arg2 = r0; + s.callLocIdx = 95; s.pc = 60; return s.tmp_6; + case 60: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5); + r0 = s.arg0.fields["melody"]; + r0 = r0.fields["_text"]; + s.notes___7538 = (r0); + r0 = pxsim_pxtrt.mklocRef(); + s.pos___7542 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.pos___7542, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.duration___7543 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.duration___7543, 4); + r0 = pxsim_pxtrt.mklocRef(); + s.octave___7544 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.octave___7544, 4); + r0 = pxsim_pxtrt.mklocRef(); + s.tempo___7545 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.tempo___7545, 120); + r0 = pxsim_pxtrt.mklocRef(); + s.hz___7546 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.hz___7546, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.endHz___7547 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.endHz___7547, -1); + r0 = pxsim_pxtrt.mklocRef(); + s.ms___7550 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.ms___7550, 0); + s.timePos___7551 = (0); + r0 = pxsim.control.millis(); + s.startTime___7552 = (r0); + s.now___7555 = (0); + r0 = pxsim_pxtrt.mklocRef(); + s.envA___7556 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.envA___7556, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.envD___7557 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.envD___7557, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.envS___7558 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.envS___7558, 255); + r0 = pxsim_pxtrt.mklocRef(); + s.envR___7559 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.envR___7559, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.soundWave___7560 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.soundWave___7560, 1); + r0 = pxsim.control.createBuffer(60); + s.sndInstr___7561 = (r0); + r0 = pxsim_pxtrt.mklocRef(); + s.sndInstrPtr___7567 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___7567, 0); + r0 = pxsim_pxtcore_mkAction(10, addForm_inline__P7569); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hz___7546); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.endHz___7547); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.ms___7550); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___7543); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.tempo___7545); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.envR___7559); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.sndInstrPtr___7567); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.sndInstr___7561); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.soundWave___7560); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.arg1); + s.addForm___7568 = (s.tmp_0); + r0 = pxsim_pxtcore_mkAction(3, scanNextWord_inline__P7629); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.pos___7542); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.notes___7538); + s.scanNextWord___7628 = (s.tmp_0); + r0 = pxsim_pxtrt.mklocRef(); + s.token___7685 = (r0); + s.tmp_0 = r0 = s.token___7685; + r0 = pxsim_String_.mkEmpty(); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt.mklocRef(); + s.tokenKind___7686 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 0); + r0 = pxsim_pxtcore_mkAction(13, consumeToken_inline__P7690); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.token___7685); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tokenKind___7686); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.octave___7544); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___7543); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.ms___7550); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.tempo___7545); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.hz___7546); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.soundWave___7560); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.envA___7556); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.envD___7557); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 10, s.envS___7558); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 11, s.envR___7559); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 12, s.endHz___7547); + s.consumeToken___7689 = (s.tmp_0); + case 3: + r0 = pxsim_numops_toBoolDecr(true); + if (!r0) { step = 58; continue; } + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.scanNextWord___7628; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 103; s.pc = 62; return s.tmp_0; + case 62: + r0 = s.retval; + s.currNote___7765 = (r0); + s.prevNote___7767 = (false); + r0 = pxsim_numops_toBoolDecr(s.currNote___7765); + 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 = 8; continue; } + r0 = (s.timePos___7551 - s.now___7555); + s.timeLeft___7770 = (r0); + r0 = (s.timeLeft___7770 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_1 = pause__P413_mk(s); + s.tmp_1.arg0 = s.timeLeft___7770; + s.callLocIdx = 104; s.pc = 63; return s.tmp_1; + case 63: + r0 = s.retval; + case 4: + case 5: + r0 = s.arg0.fields["onPlayFinished"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.tmp_1 = if_onPlayFinished_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, "onPlayFinished"), 1); + s.callLocIdx = 105; s.pc = 64; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["onPlayFinished"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["onPlayFinished"], 1); s.callLocIdx = 105; s.pc = 64; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 105; s.pc = 64; return s.tmp_1;; } + else { s.callLocIdx = 105; s.pc = 64; return s.tmp_1; } + } + case 64: + r0 = s.retval; + case 6: + case 7: + { step = 59; continue; } + case 8: + case 9: + r0 = pxsim_pxtrt_stlocRef(s.hz___7546, -1); + s.note___7784 = (0); + s.tmp_0 = r0 = s.token___7685; + r0 = pxsim_String_.mkEmpty(); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 0); + s.i___7788 = (0); + case 10: + s.tmp_1 = r0 = s.i___7788; + r0 = pxsim_String_.length(s.currNote___7765); + 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 = 41; continue; } + r0 = pxsim_String_.charAt(s.currNote___7765, s.i___7788); + s.noteChar___7794 = (r0); + s.tmp_0 = r0 = s.noteChar___7794; + r0 = pxsim_pxtcore.switch_eq("c", s.tmp_0); + if (r0) { step = 11; continue; } + r0 = pxsim_pxtcore.switch_eq("C", s.tmp_0); + if (r0) { step = 12; continue; } + r0 = pxsim_pxtcore.switch_eq("d", s.tmp_0); + if (r0) { step = 13; continue; } + r0 = pxsim_pxtcore.switch_eq("D", s.tmp_0); + if (r0) { step = 14; continue; } + r0 = pxsim_pxtcore.switch_eq("e", s.tmp_0); + if (r0) { step = 15; continue; } + r0 = pxsim_pxtcore.switch_eq("E", s.tmp_0); + if (r0) { step = 16; continue; } + r0 = pxsim_pxtcore.switch_eq("f", s.tmp_0); + if (r0) { step = 17; continue; } + r0 = pxsim_pxtcore.switch_eq("F", s.tmp_0); + if (r0) { step = 18; continue; } + r0 = pxsim_pxtcore.switch_eq("g", s.tmp_0); + if (r0) { step = 19; continue; } + r0 = pxsim_pxtcore.switch_eq("G", s.tmp_0); + if (r0) { step = 20; continue; } + r0 = pxsim_pxtcore.switch_eq("a", s.tmp_0); + if (r0) { step = 21; continue; } + r0 = pxsim_pxtcore.switch_eq("A", s.tmp_0); + if (r0) { step = 22; continue; } + r0 = pxsim_pxtcore.switch_eq("B", s.tmp_0); + if (r0) { step = 23; continue; } + r0 = pxsim_pxtcore.switch_eq("r", s.tmp_0); + if (r0) { step = 24; continue; } + r0 = pxsim_pxtcore.switch_eq("R", s.tmp_0); + if (r0) { step = 25; continue; } + r0 = pxsim_pxtcore.switch_eq("#", s.tmp_0); + if (r0) { step = 26; continue; } + r0 = pxsim_pxtcore.switch_eq("b", s.tmp_0); + if (r0) { step = 27; continue; } + r0 = pxsim_pxtcore.switch_eq(",", s.tmp_0); + if (r0) { step = 30; continue; } + r0 = pxsim_pxtcore.switch_eq("!", s.tmp_0); + if (r0) { step = 31; continue; } + r0 = pxsim_pxtcore.switch_eq("@", s.tmp_0); + if (r0) { step = 32; continue; } + r0 = pxsim_pxtcore.switch_eq("~", s.tmp_0); + if (r0) { step = 33; continue; } + r0 = pxsim_pxtcore.switch_eq(":", s.tmp_0); + if (r0) { step = 34; continue; } + r0 = pxsim_pxtcore.switch_eq("-", s.tmp_0); + if (r0) { step = 35; continue; } + r0 = pxsim_pxtcore.switch_eq("^", s.tmp_0); + if (r0) { step = 36; continue; } + r0 = s.tmp_0; + { step = 37; continue; } + case 11: + case 12: + s.note___7784 = (1); + s.prevNote___7767 = (true); + { step = 40; continue; } + case 13: + case 14: + s.note___7784 = (3); + s.prevNote___7767 = (true); + { step = 40; continue; } + case 15: + case 16: + s.note___7784 = (5); + s.prevNote___7767 = (true); + { step = 40; continue; } + case 17: + case 18: + s.note___7784 = (6); + s.prevNote___7767 = (true); + { step = 40; continue; } + case 19: + case 20: + s.note___7784 = (8); + s.prevNote___7767 = (true); + { step = 40; continue; } + case 21: + case 22: + s.note___7784 = (10); + s.prevNote___7767 = (true); + { step = 40; continue; } + case 23: + s.note___7784 = (12); + s.prevNote___7767 = (true); + { step = 40; continue; } + case 24: + case 25: + r0 = pxsim_pxtrt_stlocRef(s.hz___7546, 0); + s.prevNote___7767 = (false); + { step = 40; continue; } + case 26: + r0 = (s.note___7784 + 1); + s.note___7784 = (r0); + s.prevNote___7767 = (false); + { step = 40; continue; } + case 27: + r0 = pxsim_numops_toBoolDecr(s.prevNote___7767); + if (!r0) { step = 28; continue; } + r0 = (s.note___7784 - 1); + s.note___7784 = (r0); + { step = 29; continue; } + case 28: + s.note___7784 = (12); + s.prevNote___7767 = (true); + case 29: + { step = 40; continue; } + case 30: + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.consumeToken___7689; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 106; s.pc = 65; return s.tmp_0; + case 65: + r0 = s.retval; + s.prevNote___7767 = (false); + { step = 40; continue; } + case 31: + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 4); + s.prevNote___7767 = (false); + { step = 40; continue; } + case 32: + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.consumeToken___7689; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 107; s.pc = 66; return s.tmp_0; + case 66: + r0 = s.retval; + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 8); + s.prevNote___7767 = (false); + { step = 40; continue; } + case 33: + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.consumeToken___7689; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 108; s.pc = 67; return s.tmp_0; + case 67: + r0 = s.retval; + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 7); + s.prevNote___7767 = (false); + { step = 40; continue; } + case 34: + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.consumeToken___7689; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 109; s.pc = 68; return s.tmp_0; + case 68: + r0 = s.retval; + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 2); + s.prevNote___7767 = (false); + { step = 40; continue; } + case 35: + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.consumeToken___7689; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 110; s.pc = 69; return s.tmp_0; + case 69: + r0 = s.retval; + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 3); + s.prevNote___7767 = (false); + { step = 40; continue; } + case 36: + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.consumeToken___7689; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 111; s.pc = 70; return s.tmp_0; + case 70: + r0 = s.retval; + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 5); + { step = 40; continue; } + case 37: + r0 = pxsim_pxtrt_ldlocRef(s.tokenKind___7686); + s.tmp_1 = r0; + r0 = (s.tmp_1 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 38; continue; } + r0 = pxsim_pxtrt_stlocRef(s.tokenKind___7686, 1); + case 38: + case 39: + s.tmp_0 = r0 = s.token___7685; + r0 = pxsim_pxtrt_ldlocRef(s.token___7685); + s.tmp_3 = r0; + if ((s.tmp_3) && (s.tmp_3).vtable) { + setupResume(s, 71); + pxsim_String__stringConv(s.tmp_3); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_3) + ""; } + case 71: + r0 = s.retval; + s.tmp_2 = r0; + if ((s.noteChar___7794) && (s.noteChar___7794).vtable) { + setupResume(s, 72); + pxsim_String__stringConv(s.noteChar___7794); + checkResumeConsumed(); + return; + } else { s.retval = (s.noteChar___7794) + ""; } + case 72: + r0 = s.retval; + s.tmp_4 = r0; + r0 = pxsim_String__concat(s.tmp_2, s.tmp_4); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + s.prevNote___7767 = (false); + case 40: + r0 = (s.i___7788 + 1); + s.i___7788 = (r0); + { step = 10; continue; } + case 41: + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.consumeToken___7689; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 112; s.pc = 73; return s.tmp_0; + case 73: + r0 = s.retval; + s.tmp_0 = r0 = s.note___7784; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 42; continue; } + r0 = s.tmp_0; + { step = 43; continue; } + case 42: + r0 = pxsim_pxtrt_ldlocRef(s.hz___7546); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + case 43: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 46; continue; } + s.tmp_3 = r0 = s.note___7784; + r0 = pxsim_pxtrt_ldlocRef(s.octave___7544); + s.tmp_6 = r0; + r0 = (s.tmp_6 - 1); + s.tmp_5 = r0; + r0 = (12 * s.tmp_5); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.keyNumber___7868 = (r0); + s.tmp_1 = r0 = globals.freqs___4050; + r0 = (s.keyNumber___7868 * 2); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.getNumber(s.tmp_1, 4, s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 44; continue; } + r0 = s.tmp_0; + { step = 45; continue; } + case 44: + r0 = 0; + case 45: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_pxtrt_stlocRef(s.hz___7546, s.tmp_3); + case 46: + case 47: + r0 = pxsim_pxtrt_ldlocRef(s.ms___7550); + s.currMs___7885 = (r0); + r0 = (s.currMs___7885 <= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 48; continue; } + r0 = pxsim_pxtrt_ldlocRef(s.tempo___7545); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(15000, s.tmp_1); + s.beat___7889 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.duration___7543); + s.tmp_0 = r0; + r0 = (s.tmp_0 * s.beat___7889); + s.currMs___7885 = (r0); + case 48: + case 49: + r0 = pxsim_pxtrt_ldlocRef(s.hz___7546); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 50; continue; } + { step = 55; continue; } + case 50: + r0 = pxsim_pxtrt_ldlocRef(s.hz___7546); + s.tmp_3 = r0; + r0 = (s.tmp_3 == 0); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 51; continue; } + r0 = (s.timePos___7551 + s.currMs___7885); + s.timePos___7551 = (r0); + { step = 54; continue; } + case 51: + r0 = pxsim_pxtrt_ldlocRef(s.endHz___7547); + s.tmp_1 = r0; + r0 = (s.tmp_1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 52; continue; } + s.tmp_2 = r0 = s.endHz___7547; + r0 = pxsim_pxtrt_ldlocRef(s.hz___7546); + s.tmp_3 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3); + case 52: + case 53: + r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___7567, 0); + s.tmp_0 = lambda_5_mk(s); + s.tmp_0.argL = s.addForm___7568; + r0 = pxsim_pxtrt_ldlocRef(s.envA___7556); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = 255; + s.tmp_0.arg3 = 0; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 113; s.pc = 74; return s.tmp_0; + case 74: + r0 = s.retval; + s.tmp_0 = lambda_5_mk(s); + s.tmp_0.argL = s.addForm___7568; + r0 = pxsim_pxtrt_ldlocRef(s.envD___7557); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 255; + r0 = pxsim_pxtrt_ldlocRef(s.envS___7558); + s.tmp_0.arg2 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.envA___7556); + s.tmp_0.arg3 = r0; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 114; s.pc = 75; return s.tmp_0; + case 75: + r0 = s.retval; + s.tmp_0 = lambda_5_mk(s); + s.tmp_0.argL = s.addForm___7568; + s.tmp_1 = r0 = s.currMs___7885; + r0 = pxsim_pxtrt_ldlocRef(s.envA___7556); + s.tmp_3 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.envD___7557); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0.arg0 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.envS___7558); + s.tmp_0.arg1 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.envS___7558); + s.tmp_0.arg2 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.envD___7557); + s.tmp_5 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.envA___7556); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_0.arg3 = r0; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 115; s.pc = 76; return s.tmp_0; + case 76: + r0 = s.retval; + s.tmp_0 = lambda_5_mk(s); + s.tmp_0.argL = s.addForm___7568; + r0 = pxsim_pxtrt_ldlocRef(s.envR___7559); + s.tmp_0.arg0 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.envS___7558); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 0; + s.tmp_0.arg3 = s.currMs___7885; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 116; s.pc = 77; return s.tmp_0; + case 77: + r0 = s.retval; + s.tmp_0 = music_MelodyPlayer_queuePlayInstructions__P4067_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = (s.timePos___7551 - s.now___7555); + s.tmp_0.arg1 = r0; + s.tmp_1 = r0 = s.sndInstr___7561; + r0 = pxsim_pxtrt_ldlocRef(s.sndInstrPtr___7567); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.slice(s.tmp_1, 0, s.tmp_2); + s.tmp_0.arg2 = r0; + s.callLocIdx = 117; s.pc = 78; return s.tmp_0; + case 78: + r0 = s.retval; + r0 = pxsim_pxtrt_stlocRef(s.endHz___7547, -1); + r0 = (s.timePos___7551 + s.currMs___7885); + s.timePos___7551 = (r0); + case 54: + case 55: + r0 = (s.timePos___7551 - s.now___7555); + s.timeLeft___7946 = (r0); + r0 = (s.timeLeft___7946 > 200); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 56; continue; } + s.tmp_1 = pause__P413_mk(s); + r0 = (s.timeLeft___7946 - 100); + s.tmp_1.arg0 = r0; + s.callLocIdx = 118; s.pc = 79; return s.tmp_1; + case 79: + r0 = s.retval; + r0 = pxsim.control.millis(); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.startTime___7552); + s.now___7555 = (r0); + case 56: + case 57: + { step = 3; continue; } + case 58: + case 59: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_MelodyPlayer_play__P1627.info = {"start":11361,"length":9259,"line":348,"column":8,"endLine":582,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"play","argumentNames":["this","volume"]} + +function music_MelodyPlayer_play__P1627_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_MelodyPlayer_play__P1627, depth: s.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, + notes___7538: undefined, + pos___7542: undefined, + duration___7543: undefined, + octave___7544: undefined, + tempo___7545: undefined, + hz___7546: undefined, + endHz___7547: undefined, + ms___7550: undefined, + timePos___7551: undefined, + startTime___7552: undefined, + now___7555: undefined, + envA___7556: undefined, + envD___7557: undefined, + envS___7558: undefined, + envR___7559: undefined, + soundWave___7560: undefined, + sndInstr___7561: undefined, + sndInstrPtr___7567: undefined, + addForm___7568: undefined, + scanNextWord___7628: undefined, + token___7685: undefined, + tokenKind___7686: undefined, + consumeToken___7689: undefined, + currNote___7765: undefined, + prevNote___7767: undefined, + timeLeft___7770: undefined, + note___7784: undefined, + i___7788: undefined, + noteChar___7794: undefined, + keyNumber___7868: undefined, + currMs___7885: undefined, + beat___7889: undefined, + timeLeft___7946: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function addForm_inline__P7569(s) { +let r0 = s.r0, 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.freqStart___7574 = undefined; + s.freqEnd___7576 = undefined; + s.envelopeWidth___7578 = undefined; + s.slope___7596 = 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_pxtrt_ldlocRef(s.caps[0]); + s.freqStart___7574 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.freqEnd___7576 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[2]); + 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 = pxsim_pxtrt_ldlocRef(s.caps[2]); + { step = 2; continue; } + case 1: + r0 = pxsim_pxtrt_ldlocRef(s.caps[3]); + s.tmp_3 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.caps[4]); + s.tmp_5 = r0; + r0 = pxsim.Math_.idiv(15000, s.tmp_5); + s.tmp_4 = r0; + r0 = (s.tmp_3 * s.tmp_4); + s.tmp_2 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.caps[5]); + s.tmp_6 = r0; + r0 = (s.tmp_2 + s.tmp_6); + case 2: + // jmp value (already in r0) + s.tmp_7 = r0; + s.envelopeWidth___7578 = (s.tmp_7); + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.caps[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 = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = (s.envelopeWidth___7578 != 0); + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 5; continue; } + r0 = (s.freqEnd___7576 - s.freqStart___7574); + s.tmp_4 = r0; + r0 = (s.tmp_4 / s.envelopeWidth___7578); + s.slope___7596 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_0 = r0; + r0 = (s.slope___7596 * s.arg3); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.freqStart___7574 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_0 = r0; + s.tmp_2 = r0 = s.slope___7596; + r0 = (s.arg3 + s.arg0); + s.tmp_3 = r0; + r0 = (s.tmp_2 * s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.freqEnd___7576 = (r0); + case 5: + case 6: + s.tmp_0 = r0 = s.caps[6]; + s.tmp_2 = music_addNote__P4066_mk(s); + s.tmp_2.arg0 = s.caps[7]; + r0 = pxsim_pxtrt_ldlocRef(s.caps[6]); + s.tmp_2.arg1 = r0; + s.tmp_2.arg2 = s.arg0; + s.tmp_2.arg3 = s.arg1; + s.tmp_2.arg4 = s.arg2; + r0 = pxsim_pxtrt_ldlocRef(s.caps[8]); + s.tmp_2.arg5 = r0; + s.tmp_2.arg6 = s.freqStart___7574; + r0 = pxsim_pxtrt_ldlocRef(s.caps[9]); + s.tmp_2.arg7 = r0; + s.tmp_2.arg8 = s.freqEnd___7576; + s.callLocIdx = 96; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +addForm_inline__P7569.info = {"start":12169,"length":643,"line":374,"column":28,"endLine":385,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["formDuration","beg","end","msOff"]} + +function addForm_inline__P7569_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: addForm_inline__P7569, depth: s.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, + freqStart___7574: undefined, + freqEnd___7576: undefined, + envelopeWidth___7578: undefined, + slope___7596: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function scanNextWord_inline__P7629(s) { +let r0 = s.r0, 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___7638 = undefined; + s.note___7655 = undefined; + s.c___7661 = undefined; + r0 = s.caps[0].fields["melody"]; + 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_String_.mkEmpty(); + { step = 23; continue; } + case 1: + case 2: + case 3: + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_4 = r0; + r0 = pxsim_String_.length(s.caps[2]); + 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 = 12; continue; } + s.tmp_6 = r0 = s.caps[2]; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_7 = r0; + r0 = pxsim_String_.charAt(s.tmp_6, s.tmp_7); + s.c___7638 = (r0); + r0 = (s.c___7638 != " "); + 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: + r0 = (s.c___7638 != "\r"); + case 5: + // jmp value (already in r0) + 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.c___7638 != "\n"); + case 7: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 8; continue; } + r0 = s.tmp_2; + { step = 9; continue; } + case 8: + r0 = (s.c___7638 != "\t"); + case 9: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 10; continue; } + { step = 12; continue; } + case 10: + case 11: + s.tmp_4 = r0 = s.caps[1]; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_6 = r0; + r0 = (s.tmp_6 + 1); + s.tmp_5 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_4, s.tmp_5); + { step = 3; continue; } + case 12: + r0 = pxsim_String_.mkEmpty(); + s.note___7655 = (r0); + case 13: + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_1 = r0; + r0 = pxsim_String_.length(s.caps[2]); + 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 = 22; continue; } + s.tmp_3 = r0 = s.caps[2]; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_4 = r0; + r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4); + s.c___7661 = (r0); + r0 = (s.c___7661 == " "); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = s.tmp_0; + { step = 15; continue; } + case 14: + r0 = (s.c___7661 == "\r"); + case 15: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (!r0) { step = 16; continue; } + r0 = s.tmp_1; + { step = 17; continue; } + case 16: + r0 = (s.c___7661 == "\n"); + case 17: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (!r0) { step = 18; continue; } + r0 = s.tmp_2; + { step = 19; continue; } + case 18: + r0 = (s.c___7661 == "\t"); + case 19: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 20; continue; } + { step = 22; continue; } + case 20: + case 21: + if ((s.note___7655) && (s.note___7655).vtable) { + setupResume(s, 24); + pxsim_String__stringConv(s.note___7655); + checkResumeConsumed(); + return; + } else { s.retval = (s.note___7655) + ""; } + case 24: + r0 = s.retval; + s.tmp_4 = r0; + if ((s.c___7661) && (s.c___7661).vtable) { + setupResume(s, 25); + pxsim_String__stringConv(s.c___7661); + checkResumeConsumed(); + return; + } else { s.retval = (s.c___7661) + ""; } + case 25: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_String__concat(s.tmp_4, s.tmp_5); + s.note___7655 = (r0); + s.tmp_0 = r0 = s.caps[1]; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + { step = 13; continue; } + case 22: + r0 = s.note___7655; + case 23: + return leave(s, r0) + default: oops() +} } } +scanNextWord_inline__P7629.info = {"start":12847,"length":708,"line":387,"column":33,"endLine":409,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} + +function scanNextWord_inline__P7629_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scanNextWord_inline__P7629, depth: s.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, + c___7638: undefined, + note___7655: undefined, + c___7661: undefined, +} } + + + + + +function consumeToken_inline__P7690(s) { +let r0 = s.r0, 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.d___7696 = undefined; + r0 = pxsim_pxtrt_ldlocRef(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 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_1 = r0; + r0 = (s.tmp_1 != 0); + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 15; continue; } + s.tmp_3 = parseInt__P97_mk(s); + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = undefined; + s.callLocIdx = 97; s.pc = 17; return s.tmp_3; + case 17: + r0 = s.retval; + s.d___7696 = (r0); + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_0 = r0; + r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(2, 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(6, s.tmp_0); + if (r0) { step = 7; continue; } + r0 = pxsim_pxtcore.switch_eq(7, s.tmp_0); + if (r0) { step = 8; continue; } + r0 = pxsim_pxtcore.switch_eq(8, s.tmp_0); + if (r0) { step = 9; continue; } + r0 = pxsim_pxtcore.switch_eq(9, s.tmp_0); + if (r0) { step = 10; continue; } + r0 = pxsim_pxtcore.switch_eq(10, 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(5, s.tmp_0); + if (r0) { step = 13; continue; } + r0 = s.tmp_0; + { step = 14; continue; } + case 3: + r0 = pxsim_pxtrt_stlocRef(s.caps[2], s.d___7696); + { step = 14; continue; } + case 4: + s.tmp_0 = r0 = s.caps[3]; + s.tmp_2 = Math_max__P130_mk(s); + s.tmp_2.arg0 = 1; + s.tmp_3 = Math_min__P131_mk(s); + s.tmp_3.arg0 = 16; + s.tmp_3.arg1 = s.d___7696; + s.callLocIdx = 98; s.pc = 19; return s.tmp_3; + case 19: + r0 = s.retval; + s.tmp_2.arg1 = r0; + s.callLocIdx = 99; s.pc = 18; return s.tmp_2; + case 18: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt_stlocRef(s.caps[4], -1); + { step = 14; continue; } + case 5: + s.tmp_0 = r0 = s.caps[5]; + s.tmp_2 = Math_max__P130_mk(s); + s.tmp_2.arg0 = 1; + s.tmp_2.arg1 = s.d___7696; + s.callLocIdx = 100; s.pc = 20; return s.tmp_2; + case 20: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + { step = 14; continue; } + case 6: + r0 = pxsim_pxtrt_stlocRef(s.caps[6], s.d___7696); + r0 = pxsim_pxtrt_stlocRef(s.caps[1], 6); + { step = 14; continue; } + case 7: + r0 = pxsim_pxtrt_stlocRef(s.caps[4], s.d___7696); + { step = 14; continue; } + case 8: + s.tmp_0 = r0 = s.caps[7]; + s.tmp_2 = Math_clamp__P127_mk(s); + s.tmp_2.arg0 = 1; + s.tmp_2.arg1 = 18; + s.tmp_2.arg2 = s.d___7696; + s.callLocIdx = 101; s.pc = 21; return s.tmp_2; + case 21: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + { step = 14; continue; } + case 9: + r0 = pxsim_pxtrt_stlocRef(s.caps[8], s.d___7696); + r0 = pxsim_pxtrt_stlocRef(s.caps[1], 9); + { step = 14; continue; } + case 10: + r0 = pxsim_pxtrt_stlocRef(s.caps[9], s.d___7696); + r0 = pxsim_pxtrt_stlocRef(s.caps[1], 10); + { step = 14; continue; } + case 11: + s.tmp_0 = r0 = s.caps[10]; + s.tmp_2 = Math_clamp__P127_mk(s); + s.tmp_2.arg0 = 0; + s.tmp_2.arg1 = 255; + s.tmp_2.arg2 = s.d___7696; + s.callLocIdx = 102; s.pc = 22; return s.tmp_2; + case 22: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt_stlocRef(s.caps[1], 11); + { step = 14; continue; } + case 12: + r0 = pxsim_pxtrt_stlocRef(s.caps[11], s.d___7696); + { step = 14; continue; } + case 13: + r0 = pxsim_pxtrt_stlocRef(s.caps[12], s.d___7696); + case 14: + s.tmp_0 = r0 = s.caps[0]; + r0 = pxsim_String_.mkEmpty(); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + case 15: + case 16: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +consumeToken_inline__P7690.info = {"start":14841,"length":1189,"line":448,"column":33,"endLine":469,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} + +function consumeToken_inline__P7690_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: consumeToken_inline__P7690, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + d___7696: undefined, +} } + + + + + +function music_MelodyPlayer_queuePlayInstructions__P4067(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, music_MelodyPlayer__C1622_VT)) failedCast(r0); + r0 = pxsim.music.queuePlayInstructions(s.arg1, s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_MelodyPlayer_queuePlayInstructions__P4067.info = {"start":11226,"length":125,"line":344,"column":8,"endLine":346,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"queuePlayInstructions","argumentNames":["this","timeDelta","buf"]} + +function music_MelodyPlayer_queuePlayInstructions__P4067_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_MelodyPlayer_queuePlayInstructions__P4067, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function music_addNote__P4066(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4066.info = {"start":10086,"length":904,"line":315,"column":4,"endLine":328,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"addNote","argumentNames":["sndInstr","sndInstrPtr","ms","beg","end","soundWave","hz","volume","endHz"]} + +function music_addNote__P4066_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_addNote__P4066, depth: s.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_volume__P1607(s) { +let r0 = s.r0, 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__P4058_mk(s); + s.callLocIdx = 67; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals.globalVolume___4054; + return leave(s, r0) + default: oops() +} } } +music_volume__P1607.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__P1607_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_volume__P1607, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function music_initVolume__P4058(s) { +let r0 = s.r0, 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___4054 === null); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + globals.globalVolume___4054 = (0); + s.tmp_0 = music_setVolume__P1606_mk(s); + r0 = pxsim_pxtcore.getConfig(59, 128); + s.tmp_0.arg0 = r0; + s.callLocIdx = 64; 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__P4058.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__P4058_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_initVolume__P4058, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function Math_min__P131(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P131.info = {"start":16779,"length":105,"line":565,"column":4,"endLine":568,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"min","argumentNames":["a","b"]} + +function Math_min__P131_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_min__P131, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Math_clamp__P127(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P131_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_1 = Math_max__P130_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg2; + s.callLocIdx = 19; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 20; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +Math_clamp__P127.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__P127_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_clamp__P127, 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 parseInt__P97(s) { +let r0 = s.r0, 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.start___7990 = undefined; + s.sign___8020 = undefined; + s.output___8065 = undefined; + s.hasDigit___8066 = undefined; + s.i___8067 = undefined; + s.code___8074 = undefined; + s.val___8081 = undefined; + 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 = 6; continue; } + case 1: + r0 = (s.arg1 != null); + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 2; continue; } + r0 = s.tmp_2; + { step = 5; continue; } + case 2: + r0 = (s.arg1 < 2); + 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.arg1 > 36); + case 4: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + case 5: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = s.tmp_5; + case 6: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 7; continue; } + r0 = NaN; + { step = 46; continue; } + case 7: + case 8: + s.start___7990 = (0); + case 9: + s.tmp_1 = r0 = s.start___7990; + r0 = pxsim_String_.length(s.arg0); + 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 = 10; continue; } + r0 = s.tmp_0; + { step = 11; continue; } + case 10: + s.tmp_3 = helpers_isWhitespace__P124_mk(s); + r0 = pxsim_String_.charCodeAt(s.arg0, s.start___7990); + s.tmp_3.arg0 = r0; + s.callLocIdx = 0; s.pc = 47; return s.tmp_3; + case 47: + r0 = s.retval; + case 11: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 12; continue; } + r0 = (s.start___7990 + 1); + s.start___7990 = (r0); + { step = 9; continue; } + case 12: + s.tmp_1 = r0 = s.start___7990; + 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 = 13; continue; } + r0 = NaN; + { step = 46; continue; } + case 13: + case 14: + s.sign___8020 = (1); + r0 = pxsim_String_.charAt(s.arg0, s.start___7990); + s.tmp_0 = r0; + r0 = pxsim_pxtcore.switch_eq("-", s.tmp_0); + if (r0) { step = 15; continue; } + r0 = pxsim_pxtcore.switch_eq("+", s.tmp_0); + if (r0) { step = 16; continue; } + r0 = s.tmp_0; + { step = 17; continue; } + case 15: + s.sign___8020 = (-1); + case 16: + r0 = (s.start___7990 + 1); + s.start___7990 = (r0); + case 17: + 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 = 18; continue; } + r0 = s.tmp_0; + { step = 19; continue; } + case 18: + r0 = (s.arg1 == 16); + case 19: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 20; continue; } + r0 = s.tmp_2; + { step = 21; continue; } + case 20: + r0 = pxsim_String_.charAt(s.arg0, s.start___7990); + s.tmp_3 = r0; + r0 = ("0" === s.tmp_3); + case 21: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBool(s.tmp_4); + if (r0) { step = 22; continue; } + r0 = s.tmp_4; + { step = 25; continue; } + case 22: + s.tmp_7 = r0 = s.arg0; + r0 = (s.start___7990 + 1); + s.tmp_8 = r0; + r0 = pxsim_String_.charAt(s.tmp_7, s.tmp_8); + s.tmp_6 = r0; + r0 = ("x" === s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_numops_toBool(s.tmp_5); + if (!r0) { step = 23; continue; } + r0 = s.tmp_5; + { step = 24; continue; } + case 23: + s.tmp_10 = r0 = s.arg0; + r0 = (s.start___7990 + 1); + s.tmp_11 = r0; + r0 = pxsim_String_.charAt(s.tmp_10, s.tmp_11); + s.tmp_9 = r0; + r0 = ("X" === s.tmp_9); + case 24: + // jmp value (already in r0) + s.tmp_12 = r0; + r0 = s.tmp_12; + case 25: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_13); + if (!r0) { step = 26; continue; } + s.arg1 = (16); + r0 = (s.start___7990 + 2); + s.start___7990 = (r0); + { step = 29; continue; } + case 26: + 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 = 27; continue; } + s.arg1 = (10); + case 27: + case 28: + case 29: + s.output___8065 = (0); + s.hasDigit___8066 = (false); + s.i___8067 = (s.start___7990); + case 30: + s.tmp_1 = r0 = s.i___8067; + 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 = 45; continue; } + r0 = pxsim_String_.charCodeAt(s.arg0, s.i___8067); + s.tmp_3 = r0; + r0 = (s.tmp_3 | 32); + s.code___8074 = (r0); + s.val___8081 = (undefined); + r0 = (s.code___8074 >= 48); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 31; continue; } + r0 = s.tmp_0; + { step = 32; continue; } + case 31: + r0 = (s.code___8074 < 58); + case 32: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 33; continue; } + r0 = (s.code___8074 - 48); + s.val___8081 = (r0); + { step = 38; continue; } + case 33: + r0 = (s.code___8074 >= 97); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 34; continue; } + r0 = s.tmp_0; + { step = 35; continue; } + case 34: + r0 = (s.code___8074 < 123); + case 35: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 36; continue; } + r0 = (10 + s.code___8074); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 97); + s.val___8081 = (r0); + case 36: + case 37: + case 38: + r0 = (s.val___8081 == undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 39; continue; } + r0 = s.tmp_0; + { step = 40; continue; } + case 39: + r0 = (s.val___8081 >= s.arg1); + case 40: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 43; continue; } + r0 = pxsim_numops_toBoolDecr(s.hasDigit___8066); + 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 = 41; continue; } + r0 = NaN; + { step = 46; continue; } + case 41: + case 42: + { step = 45; continue; } + case 43: + case 44: + s.hasDigit___8066 = (true); + r0 = (s.output___8065 * s.arg1); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.val___8081); + s.output___8065 = (r0); + r0 = (s.i___8067 + 1); + s.i___8067 = (r0); + { step = 30; continue; } + case 45: + r0 = (s.sign___8020 * s.output___8065); + case 46: + return leave(s, r0) + default: oops() +} } } +parseInt__P97.info = {"start":1064,"length":1690,"line":44,"column":0,"endLine":103,"endColumn":1,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"parseInt","argumentNames":["text","radix"]} + +function parseInt__P97_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: parseInt__P97, depth: s.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, + start___7990: undefined, + sign___8020: undefined, + output___8065: undefined, + hasDigit___8066: undefined, + i___8067: undefined, + code___8074: undefined, + val___8081: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_isWhitespace__P124(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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(9, s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq(11, s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq(12, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(32, s.tmp_0); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq(160, s.tmp_0); + if (r0) { step = 5; continue; } + r0 = pxsim_pxtcore.switch_eq(65279, s.tmp_0); + if (r0) { step = 6; continue; } + r0 = pxsim_pxtcore.switch_eq(10, s.tmp_0); + if (r0) { step = 7; continue; } + r0 = pxsim_pxtcore.switch_eq(13, s.tmp_0); + if (r0) { step = 8; continue; } + r0 = pxsim_pxtcore.switch_eq(8232, s.tmp_0); + if (r0) { step = 9; continue; } + r0 = pxsim_pxtcore.switch_eq(8233, s.tmp_0); + if (r0) { step = 10; continue; } + r0 = s.tmp_0; + { step = 11; continue; } + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + r0 = true; + { step = 12; continue; } + case 11: + r0 = false; + { step = 12; continue; } + r0 = undefined; + case 12: + return leave(s, r0) + default: oops() +} } } +helpers_isWhitespace__P124.info = {"start":14864,"length":674,"line":503,"column":4,"endLine":520,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"isWhitespace","argumentNames":["c"]} + +function helpers_isWhitespace__P124_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_isWhitespace__P124, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function music_MelodyPlayer_constructor__P1625(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_MelodyPlayer__C1622_VT)) failedCast(r0); + r0 = (s.arg0).fields["melody"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_MelodyPlayer_constructor__P1625.info = {"start":11095,"length":62,"line":336,"column":8,"endLine":338,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","m"]} + +function music_MelodyPlayer_constructor__P1625_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_MelodyPlayer_constructor__P1625, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function music_Melody_stop__P1617(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1612_VT)) failedCast(r0); + r0 = s.arg0.fields["_player"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = music_MelodyPlayer_stop__P1626_mk(s); + r0 = s.arg0.fields["_player"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 80; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.arg0).fields["_player"] = (null); + case 1: + case 2: + s.tmp_0 = music_Melody_unregisterMelody__P4063_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 81; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_stop__P1617.info = {"start":6706,"length":173,"line":215,"column":8,"endLine":221,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"stop","argumentNames":["this"]} + +function music_Melody_stop__P1617_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_stop__P1617, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function music_MelodyPlayer_stop__P1626(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_MelodyPlayer__C1622_VT)) failedCast(r0); + r0 = (s.arg0).fields["melody"] = (null); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_MelodyPlayer_stop__P1626.info = {"start":11167,"length":49,"line":340,"column":8,"endLine":342,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"stop","argumentNames":["this"]} + +function music_MelodyPlayer_stop__P1626_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_MelodyPlayer_stop__P1626, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function music_Melody_constructor__P1615(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1612_VT)) failedCast(r0); + r0 = (s.arg0).fields["_text"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_constructor__P1615.info = {"start":6328,"length":67,"line":199,"column":8,"endLine":201,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":["this","text"]} + +function music_Melody_constructor__P1615_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_constructor__P1615, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_stringSplit__P122(s) { +let r0 = s.r0, 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___8288 = undefined; + s.lim___8290 = undefined; + s.s___8306 = undefined; + s.p___8309 = undefined; + s.R___8310 = undefined; + s.z___8324 = undefined; + s.T___8337 = undefined; + s.q___8338 = undefined; + s.e___8344 = 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___8288 = (r0); + s.lim___8290 = (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___8290 = (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___8290 = (0); + { step = 3; continue; } + case 2: + r0 = (s.arg2 | 0); + s.lim___8290 = (r0); + case 3: + case 4: + r0 = pxsim_String_.length(s.arg0); + s.s___8306 = (r0); + s.p___8309 = (0); + s.R___8310 = (s.arg1); + r0 = (s.lim___8290 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.A___8288; + { 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___8288, 0, s.arg0); + r0 = s.A___8288; + { step = 21; continue; } + case 7: + case 8: + r0 = (s.s___8306 == 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.tmp_1 = helpers_splitMatch__P3946_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = 0; + s.tmp_1.arg2 = s.R___8310; + s.callLocIdx = 12; s.pc = 22; return s.tmp_1; + case 22: + r0 = s.retval; + s.z___8324 = (r0); + r0 = (s.z___8324 > -1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = s.A___8288; + { step = 21; continue; } + case 9: + case 10: + r0 = pxsim_Array_.setAt(s.A___8288, 0, s.arg0); + r0 = s.A___8288; + { step = 21; continue; } + case 11: + case 12: + s.q___8338 = (s.p___8309); + case 13: + r0 = (s.q___8338 != s.s___8306); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + s.tmp_1 = helpers_splitMatch__P3946_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.q___8338; + s.tmp_1.arg2 = s.R___8310; + s.callLocIdx = 13; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + s.e___8344 = (r0); + r0 = (s.e___8344 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.q___8338 + 1); + s.q___8338 = (r0); + { step = 19; continue; } + case 14: + r0 = (s.e___8344 == s.p___8309); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = (s.q___8338 + 1); + s.q___8338 = (r0); + { step = 18; continue; } + case 15: + s.tmp_0 = helpers_stringSlice__P119_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.p___8309; + s.tmp_0.arg2 = s.q___8338; + s.callLocIdx = 14; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.T___8337 = (r0); + r0 = pxsim_Array__push(s.A___8288, s.T___8337); + r0 = pxsim_Array__length(s.A___8288); + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.lim___8290); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 16; continue; } + r0 = s.A___8288; + { step = 21; continue; } + case 16: + case 17: + s.p___8309 = (s.e___8344); + s.q___8338 = (s.p___8309); + case 18: + case 19: + { step = 13; continue; } + case 20: + s.tmp_0 = helpers_stringSlice__P119_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.p___8309; + s.tmp_0.arg2 = s.q___8338; + s.callLocIdx = 15; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.T___8337 = (r0); + r0 = pxsim_Array__push(s.A___8288, s.T___8337); + r0 = s.A___8288; + case 21: + return leave(s, r0) + default: oops() +} } } +helpers_stringSplit__P122.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__P122_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_stringSplit__P122, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + A___8288: undefined, + lim___8290: undefined, + s___8306: undefined, + p___8309: undefined, + R___8310: undefined, + z___8324: undefined, + T___8337: undefined, + q___8338: undefined, + e___8344: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_splitMatch__P3946(s) { +let r0 = s.r0, 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___8424 = undefined; + s.s___8427 = undefined; + s.i___8437 = 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___8424 = (r0); + r0 = pxsim_String_.length(s.arg0); + s.s___8427 = (r0); + r0 = (s.arg1 + s.r___8424); + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.s___8427); + 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___8437 = (0); + case 3: + r0 = (s.i___8437 < s.r___8424); + 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___8437); + 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___8437); + 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___8437 + 1); + s.i___8437 = (r0); + { step = 3; continue; } + case 6: + r0 = (s.arg1 + s.r___8424); + case 7: + return leave(s, r0) + default: oops() +} } } +helpers_splitMatch__P3946.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__P3946_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_splitMatch__P3946, depth: s.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___8424: undefined, + s___8427: undefined, + i___8437: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_stringSlice__P119(s) { +let r0 = s.r0, 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___8389 = 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___8389 = (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__P130_mk(s); + r0 = (s.len___8389 + s.arg1); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 11; 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___8389); + { 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___8389 + 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__P119.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__P119_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_stringSlice__P119, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + len___8389: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_arrayFilter__P110(s) { +let r0 = s.r0, 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___8460 = undefined; + s.len___8462 = undefined; + s.i___8465 = undefined; + s.v___8470 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___8460 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___8462 = (r0); + s.i___8465 = (0); + case 1: + r0 = (s.i___8465 < s.len___8462); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.arg0, s.i___8465); + s.v___8470 = (r0); + s.tmp_1 = lambda_3_mk(s); + s.tmp_1.argL = s.arg1; + s.tmp_1.arg0 = s.v___8470; + s.tmp_1.arg1 = s.i___8465; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 7; 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___8460, s.v___8470); + case 2: + case 3: + r0 = (s.i___8465 + 1); + s.i___8465 = (r0); + { step = 1; continue; } + case 4: + r0 = s.res___8460; + return leave(s, r0) + default: oops() +} } } +helpers_arrayFilter__P110.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__P110_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayFilter__P110, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + res___8460: undefined, + len___8462: undefined, + i___8465: undefined, + v___8470: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function music_setVolume__P1606(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P127_mk(s); + s.tmp_0.arg0 = 0; + s.tmp_0.arg1 = 255; + r0 = (s.arg0 | 0); + s.tmp_0.arg2 = r0; + s.callLocIdx = 65; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + globals.globalVolume___4054 = (r0); + r0 = (globals.globalVolume___4054 > 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__P1606.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__P1606_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_setVolume__P1606, 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__P4057(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4057.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__P4057_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_enableAmp__P4057, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function helpers_getTilemapByName__P3014(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__getFactoryInstance__P3012_mk(s); + s.tmp_0.arg0 = "tilemap"; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1620; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +helpers_getTilemapByName__P3014.info = {"start":2525,"length":107,"line":77,"column":4,"endLine":79,"endColumn":5,"fileName":"pxt_modules/game/assetTemplates.ts","functionName":"getTilemapByName","argumentNames":["name"]} + +function helpers_getTilemapByName__P3014_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_getTilemapByName__P3014, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function helpers__getFactoryInstance__P3012(s) { +let r0 = s.r0, 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___8500 = undefined; + s.unnamed104___U1 = undefined; + s.unnamed105___U2 = undefined; + s.data___8507 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_numops_toBoolDecr(globals.factories___4791); + if (!r0) { step = 7; continue; } + s.factory___8500 = (undefined); + s.unnamed104___U1 = (globals.factories___4791); + s.unnamed105___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed105___U2; + r0 = pxsim_Array__length(s.unnamed104___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed104___U1, s.unnamed105___U2); + s.factory___8500 = (r0); + s.tmp_4 = if_kind_1_mk(s); + s.tmp_4.arg0 = s.factory___8500; + if (!s.tmp_4.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "kind"); + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["kind"]; + if (s.tmp_4.fn == null) { s.retval = s.tmp_4.arg0.fields["kind"]; } + else if (!s.tmp_4.fn.isGetter) { s.retval = bind(s.tmp_4); } + else { s.callLocIdx = 1618; s.pc = 10; return s.tmp_4; } + } + case 10: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 === s.arg0); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 4; continue; } + s.tmp_5 = if_factory_2_mk(s); + s.tmp_5.arg0 = s.factory___8500; + s.tmp_5.arg1 = s.arg1; + if (!s.tmp_5.arg0.vtable.iface) { + setupLambda(s.tmp_5, pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "factory"), 2); + s.callLocIdx = 1619; s.pc = 11; return s.tmp_5; + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["factory"]; + if (s.tmp_5.fn == null) { setupLambda(s.tmp_5, s.tmp_5.arg0.fields["factory"], 2); s.callLocIdx = 1619; s.pc = 11; return s.tmp_5; } + else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 1619; s.pc = 11; return s.tmp_5;; } + else { s.callLocIdx = 1619; s.pc = 11; return s.tmp_5; } + } + case 11: + r0 = s.retval; + s.data___8507 = (r0); + r0 = pxsim_numops_toBoolDecr(s.data___8507); + if (!r0) { step = 2; continue; } + r0 = s.data___8507; + { step = 9; continue; } + case 2: + case 3: + case 4: + case 5: + r0 = (s.unnamed105___U2 + 1); + s.unnamed105___U2 = (r0); + { step = 1; continue; } + case 6: + s.unnamed104___U1 = (undefined); + case 7: + case 8: + r0 = null; + case 9: + return leave(s, r0) + default: oops() +} } } +helpers__getFactoryInstance__P3012.info = {"start":1983,"length":348,"line":60,"column":4,"endLine":70,"endColumn":5,"fileName":"pxt_modules/game/assetTemplates.ts","functionName":"_getFactoryInstance","argumentNames":["kind","name"]} + +function helpers__getFactoryInstance__P3012_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers__getFactoryInstance__P3012, depth: s.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___8500: undefined, + unnamed104___U1: undefined, + unnamed105___U2: undefined, + data___8507: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tilemap__P3001(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = null; + return leave(s, r0) + default: oops() +} } } +tilemap__P3001.info = {"start":99,"length":78,"line":3,"column":0,"endLine":3,"endColumn":78,"fileName":"pxt_modules/game/assetTemplates.ts","functionName":"tilemap","argumentNames":["lits","args"]} + +function tilemap__P3001_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tilemap__P3001, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_ay__P2152(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2152.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__P2152_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ay__P2152, 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__P2151(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2151.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__P2151.isGetter = true; + +function Sprite_ay__P2151_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ay__P2151, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_moveSprite__P1957(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = controller_Controller_moveSprite__P1944_mk(s); + s.tmp_1 = controller__player1__P1922_mk(s); + s.callLocIdx = 243; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.arg1; + s.tmp_0.arg3 = s.arg2; + s.callLocIdx = 244; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_moveSprite__P1957.info = {"start":12781,"length":133,"line":387,"column":4,"endLine":389,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"moveSprite","argumentNames":["sprite","vx","vy"]} + +function controller_moveSprite__P1957_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_moveSprite__P1957, 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 controller_Controller_moveSprite__P1944(s) { +let r0 = s.r0, 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.cp___8645 = 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, controller_Controller__C1928_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; } + { step = 15; continue; } + case 1: + case 2: + s.tmp_5 = controller_Controller__controlledSprites__P1933_mk(s); + s.tmp_5.arg0 = s.arg0; + s.callLocIdx = 204; s.pc = 16; return s.tmp_5; + case 16: + 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 = 3; continue; } + s.tmp_6 = controller_Controller__controlledSprites__P1934_mk(s); + s.tmp_6.arg0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_6.arg1 = r0; + s.callLocIdx = 205; s.pc = 17; return s.tmp_6; + case 17: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_pxtcore_mkAction(1, cp_inline__P8648); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + s.tmp_1 = helpers_arrayFind__P111_mk(s); + s.tmp_2 = controller_Controller__controlledSprites__P1933_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 206; s.pc = 19; return s.tmp_2; + case 19: + r0 = s.retval; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 207; s.pc = 18; return s.tmp_1; + case 18: + r0 = s.retval; + s.cp___8645 = (r0); + r0 = pxsim_numops_toBoolDecr(s.cp___8645); + 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 = pxsim_pxtcore_mkClassInstance(controller_ControlledSprite__C1924_VT); + s.tmp_2 = r0; + s.tmp_3 = controller_ControlledSprite_constructor__P1926_mk(s); + s.tmp_3.arg0 = s.tmp_2; + s.tmp_3.arg1 = s.arg1; + s.tmp_3.arg2 = s.arg2; + s.tmp_3.arg3 = s.arg3; + s.callLocIdx = 208; s.pc = 20; return s.tmp_3; + case 20: + r0 = s.retval; + s.cp___8645 = (s.tmp_2); + s.tmp_1 = controller_Controller__controlledSprites__P1933_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 209; s.pc = 21; return s.tmp_1; + case 21: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.cp___8645); + case 5: + case 6: + r0 = s.cp___8645.fields["vx"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 7; continue; } + r0 = s.tmp_0; + { step = 8; continue; } + case 7: + r0 = (s.arg2 == 0); + case 8: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 9; continue; } + s.tmp_2 = Sprite_vx__P2146_mk(s); + r0 = s.cp___8645.fields["s"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 0; + s.callLocIdx = 210; s.pc = 22; return s.tmp_2; + case 22: + r0 = s.retval; + case 9: + case 10: + r0 = s.cp___8645.fields["vy"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 11; continue; } + r0 = s.tmp_0; + { step = 12; continue; } + case 11: + r0 = (s.arg3 == 0); + case 12: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 13; continue; } + s.tmp_2 = Sprite_vy__P2148_mk(s); + r0 = s.cp___8645.fields["s"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 0; + s.callLocIdx = 211; s.pc = 23; return s.tmp_2; + case 23: + r0 = s.retval; + case 13: + case 14: + r0 = (s.cp___8645).fields["vx"] = (s.arg2); + r0 = (s.cp___8645).fields["vy"] = (s.arg3); + case 15: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller_moveSprite__P1944.info = {"start":4656,"length":608,"line":166,"column":8,"endLine":182,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"moveSprite","argumentNames":["this","sprite","vx","vy"]} + +function controller_Controller_moveSprite__P1944_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_moveSprite__P1944, depth: s.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, + cp___8645: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function cp_inline__P8648(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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["id"]; + s.tmp_0 = r0; + r0 = s.caps[0].fields["id"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 == s.tmp_1); + return leave(s, r0) + default: oops() +} } } +cp_inline__P8648.info = {"start":4876,"length":26,"line":169,"column":50,"endLine":169,"endColumn":76,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["cp"]} + +function cp_inline__P8648_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: cp_inline__P8648, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Sprite_vx__P2146(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2146.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__P2146_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vx__P2146, 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__P1934(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_VT)) failedCast(r0); + s.tmp_1 = game_currentScene__P2685_mk(s); + s.callLocIdx = 199; 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__P1934.info = {"start":2403,"length":134,"line":81,"column":8,"endLine":83,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this","cps"]} + +function controller_Controller__controlledSprites__P1934_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller__controlledSprites__P1934, 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__P1933(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_VT)) failedCast(r0); + s.tmp_1 = game_currentScene__P2685_mk(s); + s.callLocIdx = 198; 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__P1933.info = {"start":2261,"length":132,"line":77,"column":8,"endLine":79,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"_controlledSprites","argumentNames":["this"]} +controller_Controller__controlledSprites__P1933.isGetter = true; + +function controller_Controller__controlledSprites__P1933_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller__controlledSprites__P1933, 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_ControlledSprite_constructor__P1926(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, controller_ControlledSprite__C1924_VT)) failedCast(r0); + r0 = (s.arg0).fields["s"] = (s.arg1); + r0 = (s.arg0).fields["vx"] = (s.arg2); + r0 = (s.arg0).fields["vy"] = (s.arg3); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_ControlledSprite_constructor__P1926.info = {"start":979,"length":117,"line":36,"column":8,"endLine":40,"endColumn":13,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","s","vx","vy"]} + +function controller_ControlledSprite_constructor__P1926_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_ControlledSprite_constructor__P1926, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function helpers_arrayFind__P111(s) { +let r0 = s.r0, 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___8702 = undefined; + s.i___8705 = undefined; + s.v___8710 = 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___8702 = (r0); + s.i___8705 = (0); + case 1: + r0 = (s.i___8705 < s.len___8702); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.arg0, s.i___8705); + s.v___8710 = (r0); + s.tmp_1 = lambda_3_mk(s); + s.tmp_1.argL = s.arg1; + s.tmp_1.arg0 = s.v___8710; + s.tmp_1.arg1 = s.i___8705; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 8; 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 = 2; continue; } + r0 = s.v___8710; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.i___8705 + 1); + s.i___8705 = (r0); + { step = 1; continue; } + case 4: + r0 = undefined; + case 5: + return leave(s, r0) + default: oops() +} } } +helpers_arrayFind__P111.info = {"start":8018,"length":292,"line":271,"column":4,"endLine":278,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"arrayFind","argumentNames":["arr","callbackfn"]} + +function helpers_arrayFind__P111_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayFind__P111, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + len___8702: undefined, + i___8705: undefined, + v___8710: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller__player1__P1922(s) { +let r0 = s.r0, 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___4179); + 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___4179, 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__C1928_VT); + s.tmp_5 = r0; + r0 = pxsim_Array__mk(); + s.tmp_6 = r0; + r0 = pxsim_Array__push(s.tmp_6, globals.left___1909); + r0 = pxsim_Array__push(s.tmp_6, globals.up___1910); + r0 = pxsim_Array__push(s.tmp_6, globals.right___1911); + r0 = pxsim_Array__push(s.tmp_6, globals.down___1912); + r0 = pxsim_Array__push(s.tmp_6, globals.A___1907); + r0 = pxsim_Array__push(s.tmp_6, globals.B___1908); + r0 = pxsim_Array__push(s.tmp_6, globals.menu___1913); + s.tmp_7 = controller_Controller_constructor__P1932_mk(s); + s.tmp_7.arg0 = s.tmp_5; + s.tmp_7.arg1 = 1; + s.tmp_7.arg2 = s.tmp_6; + s.callLocIdx = 190; s.pc = 5; return s.tmp_7; + case 5: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_Array__getAt(globals._players___4179, 0); + return leave(s, r0) + default: oops() +} } } +controller__player1__P1922.info = {"start":484,"length":258,"line":23,"column":4,"endLine":27,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_player1","argumentNames":[]} + +function controller__player1__P1922_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__player1__P1922, depth: s.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__P1932(s) { +let r0 = s.r0, 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___8582 = undefined; + s.i___8590 = undefined; + s.i___8608 = 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__C1928_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___8582 = (r0); + s.i___8590 = (0); + case 2: + r0 = (s.i___8590 < 7); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C1979_VT); + s.tmp_1 = r0; + s.tmp_2 = controller_Button_constructor__P1985_mk(s); + s.tmp_2.arg0 = s.tmp_1; + r0 = (s.leftId___8582 + s.i___8590); + s.tmp_2.arg1 = r0; + s.tmp_2.arg2 = -1; + s.callLocIdx = 196; 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___8590 + 1); + s.i___8590 = (r0); + { step = 2; continue; } + case 3: + case 4: + s.i___8608 = (0); + case 5: + s.tmp_1 = r0 = s.i___8608; + 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___8608); + s.tmp_4 = r0; + r0 = (s.tmp_4).fields["_owner"] = (s.arg0); + r0 = (s.i___8608 + 1); + s.i___8608 = (r0); + { step = 5; continue; } + case 6: + s.tmp_0 = controller_addController__P4180_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 197; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller_constructor__P1932.info = {"start":1555,"length":696,"line":58,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["this","playerIndex","buttons"]} + +function controller_Controller_constructor__P1932_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_constructor__P1932, depth: s.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___8582: undefined, + i___8590: undefined, + i___8608: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function controller_addController__P4180(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4179); + 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___4179 = (r0); + case 1: + case 2: + s.tmp_0 = r0 = globals._players___4179; + 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__P4180.info = {"start":321,"length":157,"line":16,"column":4,"endLine":21,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"addController","argumentNames":["ctrl"]} + +function controller_addController__P4180_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_addController__P4180, 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_cameraFollowSprite__P2617(s) { +let r0 = s.r0, 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___8737 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1142; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.scene___8737 = (r0); + r0 = s.scene___8737.fields["camera"]; + s.tmp_0 = r0; + r0 = (s.tmp_0).fields["sprite"] = (s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_cameraFollowSprite__P2617.info = {"start":4051,"length":139,"line":144,"column":4,"endLine":147,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"cameraFollowSprite","argumentNames":["sprite"]} + +function scene_cameraFollowSprite__P2617_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_cameraFollowSprite__P2617, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + scene___8737: undefined, + arg0: undefined, +} } + + + + + +function sprites_create__P2064(s) { +let r0 = s.r0, 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___8746 = undefined; + s.sprite___8749 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 329; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.scene___8746 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(Sprite__C2128_VT); + s.tmp_0 = r0; + s.tmp_1 = Sprite_constructor__P2175_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 330; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.sprite___8749 = (s.tmp_0); + s.tmp_0 = Sprite_setKind__P2195_mk(s); + s.tmp_0.arg0 = s.sprite___8749; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 331; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = PhysicsEngine__C2290_v0_2_mk(s); + r0 = s.scene___8746.fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.sprite___8749; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2290_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__P8764); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + r0 = pxsim_pxtcore_mkAction(1, sprites_create_inline__P8771); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___8749); + s.tmp_2 = helpers_arrayForEach__P109_mk(s); + s.tmp_3 = helpers_arrayFilter__P110_mk(s); + r0 = s.scene___8746.fields["createdHandlers"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 332; 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 = 334; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + r0 = s.sprite___8749; + return leave(s, r0) + default: oops() +} } } +sprites_create__P2064.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__P2064_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_create__P2064, depth: s.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___8746: undefined, + sprite___8749: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function forEach_inline__P8764(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P8764.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__P8764_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P8764, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_create_inline__P8771(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 333; 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 = 333; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 333; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 333; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_create_inline__P8771.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__P8771_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_create_inline__P8771, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function PhysicsEngine_addSprite__P2292(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2290_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_addSprite__P2292.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__P2292_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_addSprite__P2292, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_setKind__P2195(s) { +let r0 = s.r0, 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___8790 = undefined; + s.overlapMap___8819 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_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__P2685_mk(s); + s.callLocIdx = 434; s.pc = 16; return s.tmp_3; + case 16: + r0 = s.retval; + r0 = r0.fields["spritesByKind"]; + s.spritesByKind___8790 = (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___8790, 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__P2249_mk(s); + r0 = s.arg0.fields["_kind"]; + s.tmp_5 = r0; + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8790, s.tmp_5); + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.arg0; + s.callLocIdx = 435; 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___8790, 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__C2242_VT); + s.tmp_4 = r0; + s.tmp_5 = sprites_SpriteSet_constructor__P2244_mk(s); + s.tmp_5.arg0 = s.tmp_4; + s.callLocIdx = 436; s.pc = 18; return s.tmp_5; + case 18: + r0 = s.retval; + r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___8790, s.arg1, s.tmp_4); + case 9: + case 10: + s.tmp_0 = sprites_SpriteSet_add__P2247_mk(s); + r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___8790, s.arg1); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 437; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + case 11: + case 12: + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 438; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + r0 = r0.fields["overlapMap"]; + s.overlapMap___8819 = (r0); + r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___8819, 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___8819; + 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___8819, 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__P2195.info = {"start":13942,"length":663,"line":497,"column":4,"endLine":517,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setKind","argumentNames":["this","value"]} + +function Sprite_setKind__P2195_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setKind__P2195, depth: s.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___8790: undefined, + overlapMap___8819: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_remove__P2249(s) { +let r0 = s.r0, 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___8867 = 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__C2242_VT)) failedCast(r0); + r0 = s.arg0.fields["_sprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_0, s.arg1, undefined); + s.i___8867 = (r0); + r0 = (s.i___8867 > -1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = helpers_arraySplice__P100_mk(s); + r0 = s.arg0.fields["_sprites"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.i___8867; + s.tmp_1.arg2 = 1; + s.callLocIdx = 615; 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__P2249.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__P2249_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_remove__P2249, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + i___8867: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_add__P2247(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2242_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__P2247.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__P2247_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_add__P2247, depth: s.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__P2250(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2242_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__P2250.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__P2250_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_contains__P2250, 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__P2244(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2242_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__P2244.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__P2244_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_constructor__P2244, 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__P2175(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_constructor__P1890_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 377; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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___1829); + 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__P2146_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 380; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = Sprite_vy__P2148_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 381; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = Sprite_ax__P2150_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 382; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = Sprite_ay__P2152_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 383; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = Sprite_fx__P2154_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 384; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = Sprite_fy__P2156_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 385; 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__P2178_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 386; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.tmp_0 = Sprite_setKind__P2195_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = -1; + s.callLocIdx = 387; 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__P2175.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__P2175_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_constructor__P2175, depth: s.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__P2156(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_3 = Math_max__P130_mk(s); + s.tmp_3.arg0 = 0; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 373; 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__P2156.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__P2156_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fy__P2156, depth: s.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__P2155(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2155.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__P2155.isGetter = true; + +function Sprite_fy__P2155_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fy__P2155, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_fx__P2154(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_3 = Math_max__P130_mk(s); + s.tmp_3.arg0 = 0; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 370; 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__P2154.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__P2154_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fx__P2154, depth: s.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__P2153(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2153.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__P2153.isGetter = true; + +function Sprite_fx__P2153_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_fx__P2153, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_ax__P2150(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2150.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__P2150_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ax__P2150, 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__P2149(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2149.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__P2149.isGetter = true; + +function Sprite_ax__P2149_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_ax__P2149, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_BaseSprite_constructor__P1890(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1888_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_z__P1893_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 179; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = scene_Scene_addSprite__P2597_mk(s); + s.tmp_1 = game_currentScene__P2685_mk(s); + s.callLocIdx = 180; 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 = 181; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite_constructor__P1890.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__P1890_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite_constructor__P1890, 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__P2597(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2571_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 = 1124; s.pc = 1; return s.tmp_3; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_addSprite__P2597.info = {"start":6969,"length":128,"line":195,"column":8,"endLine":198,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"addSprite","argumentNames":["this","sprite"]} + +function scene_Scene_addSprite__P2597_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_addSprite__P2597, depth: s.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__P1893(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1888_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__P2685_mk(s); + s.callLocIdx = 182; 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__P1893.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__P1893_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite_z__P1893, depth: s.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__P1892(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1888_VT)) failedCast(r0); + r0 = s.arg0.fields["_z"]; + return leaveAccessor(s, r0) + default: oops() +} } } +sprites_BaseSprite_z__P1892.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__P1892.isGetter = true; + +function sprites_BaseSprite_z__P1892_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite_z__P1892, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_setBackgroundImage__P2612(s) { +let r0 = s.r0, 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___13436 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1133; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.scene___13436 = (r0); + s.tmp_0 = scene_Background_image__P2407_mk(s); + r0 = s.scene___13436.fields["background"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1134; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_setBackgroundImage__P2612.info = {"start":1962,"length":135,"line":78,"column":4,"endLine":81,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"setBackgroundImage","argumentNames":["img"]} + +function scene_setBackgroundImage__P2612_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_setBackgroundImage__P2612, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + scene___13436: undefined, + arg0: undefined, +} } + + + + + +function scene_Background_image__P2407(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2400_VT)) failedCast(r0); + r0 = (s.arg0).fields["_image"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Background_image__P2407.info = {"start":1003,"length":68,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"image","argumentNames":["this","image"]} + +function scene_Background_image__P2407_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_image__P2407, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_Background_image__P2406(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2400_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; + 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_ImageMethods.width(globals.screen___1829); + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_6 = r0; + r0 = pxsim.image.create(s.tmp_5, s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["_image"] = (s.tmp_4); + case 1: + case 2: + r0 = s.arg0.fields["_image"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Background_image__P2406.info = {"start":811,"length":174,"line":33,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"image","argumentNames":["this"]} +scene_Background_image__P2406.isGetter = true; + +function scene_Background_image__P2406_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_image__P2406, depth: s.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 startLevel__P3922(s) { +let r0 = s.r0, 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_setBackgroundImage__P2612_mk(s); + r0 = pxsim.image.ofBuffer(_hex6667); + s.tmp_0.arg0 = r0; + s.callLocIdx = 102; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = tiles_setCurrentTilemap__P2495_mk(s); + r0 = pxsim_Array__getAt(globals.levels___3929, globals.level___3927); + s.tmp_0.arg0 = r0; + s.callLocIdx = 103; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = Sprite_setPosition__P2196_mk(s); + s.tmp_0.arg0 = globals.mySprite___3932; + s.tmp_0.arg1 = 75; + s.tmp_0.arg2 = 40; + s.callLocIdx = 104; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = game_showLongText__P2674_mk(s); + r0 = pxsim_Array__getAt(globals.levelStartMessage___3928, globals.level___3927); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 105; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +startLevel__P3922.info = {"start":2665,"length":20496,"line":78,"column":0,"endLine":204,"endColumn":1,"fileName":"main.ts","functionName":"startLevel","argumentNames":[]} + +function startLevel__P3922_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: startLevel__P3922, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + +const _hex6667 = pxsim.BufferMethods.createBufferFromHex("8704a000780000009999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999dd99999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999d9ddd99dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999d9999d9ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999d9999ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999d99d9dddd99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999ddd9dd9ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999dddd9ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999d999ddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999d999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999dd99dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999d9d9d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999d9d99dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999ddd9ddddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999dddddddddd9ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999dddd9ddd9dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999d999ddd99d99dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999d9999d99d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999dd999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999d9d99ddd99dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999ddd9ddddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999d9d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999ddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999d99dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999dd99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999d99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999d99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999ddd9ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999d99dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999dd99dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999d9d9d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999ddd9d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d9ddddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999dd99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999dd9dddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999d9dddd9dddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999dd9ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999999999999ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999dddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999d9ddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999dddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d999ddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999ddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999ddd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d9d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999d99ddd99dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999d9dddddd99d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999d9d9dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999d9d99d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999d99d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999999999999999999999999999999999999999999d999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999d9d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999d9d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999d999d99dd9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999d99999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999d9dddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999999999999999999999999999999999999999999999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd") + + + + +function game_showLongText__P2674(s) { +let r0 = s.r0, 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.width___9026 = undefined; + s.height___9027 = undefined; + s.top___9028 = undefined; + s.left___9029 = undefined; + s.dialog___9140 = undefined; + s.s___9148 = undefined; + s.pressed___9164 = undefined; + s.done___9165 = undefined; + s.upPressed___9166 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = console_inspect__P382_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 20; + s.callLocIdx = 1212; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.arg0 = (r0); + s.tmp_0 = controller__setUserEventsEnabled__P1996_mk(s); + s.tmp_0.arg0 = false; + s.callLocIdx = 1213; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.tmp_0 = game_pushScene__P2689_mk(s); + s.callLocIdx = 1214; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + s.tmp_1 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1215; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["flags"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 | 2); + s.tmp_2 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_2); + s.tmp_0 = r0 = s.arg1; + r0 = pxsim_pxtcore.switch_eq(0, s.tmp_0); + if (r0) { step = 1; continue; } + r0 = pxsim_pxtcore.switch_eq(3, s.tmp_0); + if (r0) { step = 2; continue; } + r0 = pxsim_pxtcore.switch_eq(1, s.tmp_0); + if (r0) { step = 3; continue; } + r0 = pxsim_pxtcore.switch_eq(2, s.tmp_0); + if (r0) { step = 4; continue; } + r0 = pxsim_pxtcore.switch_eq(4, 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 1: + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 4); + s.width___9026 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 3); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 5); + s.height___9027 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.height___9027); + s.top___9028 = (r0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.width___9026); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 1); + s.left___9029 = (r0); + { step = 7; continue; } + case 2: + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 4); + s.width___9026 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 3); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 5); + s.height___9027 = (r0); + s.top___9028 = (0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.width___9026); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 1); + s.left___9029 = (r0); + { step = 7; continue; } + case 3: + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 3); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 5); + s.width___9026 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.height___9027 = (r0); + s.top___9028 = (0); + s.left___9029 = (0); + { step = 7; continue; } + case 4: + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 3); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 5); + s.width___9026 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.height___9027 = (r0); + s.top___9028 = (0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.width___9026); + s.left___9029 = (r0); + { step = 7; continue; } + case 5: + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 << 1); + s.tmp_0 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, 3); + s.width___9026 = (r0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 << 1); + s.tmp_0 = r0; + r0 = pxsim.Math_.idiv(s.tmp_0, 3); + s.height___9027 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.height___9027); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 1); + s.top___9028 = (r0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.width___9026); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 1); + s.left___9029 = (r0); + { step = 7; continue; } + case 6: + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.width___9026 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.height___9027 = (r0); + s.top___9028 = (0); + s.left___9029 = (0); + case 7: + r0 = pxsim_pxtcore_mkClassInstance(game_Dialog__C2647_VT); + s.tmp_0 = r0; + s.tmp_1 = game_Dialog_constructor__P2650_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.width___9026; + s.tmp_1.arg2 = s.height___9027; + s.tmp_1.arg3 = undefined; + s.tmp_1.arg4 = undefined; + s.tmp_1.arg5 = undefined; + s.callLocIdx = 1216; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + s.dialog___9140 = (s.tmp_0); + s.tmp_0 = sprites_create__P2064_mk(s); + r0 = s.dialog___9140.fields["image"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = -1; + s.callLocIdx = 1217; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + s.s___9148 = (r0); + s.tmp_0 = Sprite_top__P2191_mk(s); + s.tmp_0.arg0 = s.s___9148; + s.tmp_0.arg1 = s.top___9028; + s.callLocIdx = 1218; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.tmp_0 = Sprite_left__P2187_mk(s); + s.tmp_0.arg0 = s.s___9148; + s.tmp_0.arg1 = s.left___9029; + s.callLocIdx = 1219; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + s.tmp_0 = game_Dialog__C2647_v1_2_mk(s); + s.tmp_0.arg0 = s.dialog___9140; + s.tmp_0.arg1 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, game_Dialog__C2647_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.setText; + s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + r0 = pxsim_pxtrt.mklocRef(); + s.pressed___9164 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.pressed___9164, true); + r0 = pxsim_pxtrt.mklocRef(); + s.done___9165 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.done___9165, false); + r0 = pxsim_pxtrt.mklocRef(); + s.upPressed___9166 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.upPressed___9166, true); + r0 = pxsim_pxtcore_mkAction(4, game_showLongText_inline__P9168); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dialog___9140); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.pressed___9164); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.done___9165); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.upPressed___9166); + s.tmp_1 = game_onUpdate__P2704_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 1226; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, game_showLongText_inline__P9216); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.done___9165); + s.tmp_1 = pauseUntil__P367_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 1227; s.pc = 18; return s.tmp_1; + case 18: + r0 = s.retval; + s.tmp_0 = controller__setUserEventsEnabled__P1996_mk(s); + s.tmp_0.arg0 = true; + s.callLocIdx = 1228; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_showLongText__P2674.info = {"start":13437,"length":3072,"line":414,"column":4,"endLine":507,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"showLongText","argumentNames":["str","layout"]} + +function game_showLongText__P2674_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_showLongText__P2674, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + width___9026: undefined, + height___9027: undefined, + top___9028: undefined, + left___9029: undefined, + dialog___9140: undefined, + s___9148: undefined, + pressed___9164: undefined, + done___9165: undefined, + upPressed___9166: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_showLongText_inline__P9168(s) { +let r0 = s.r0, 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.currentState___9171 = undefined; + s.moveBack___9196 = undefined; + s.tmp_0 = game_BaseDialog__C2630_v0_1_mk(s); + s.tmp_0.arg0 = s.caps[0]; + if (!checkSubtype(s.tmp_0.arg0, game_BaseDialog__C2630_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.update; + s.pc = 23; return s.tmp_0; + case 23: + r0 = s.retval; + s.tmp_1 = controller_Button__C1979_v0_1_mk(s); + s.tmp_1.arg0 = globals.A___1907; + if (!checkSubtype(s.tmp_1.arg0, controller_Button__C1979_VT)) failedCast(s.tmp_1.arg0); + s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.isPressed; + s.pc = 24; return s.tmp_1; + case 24: + 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 = controller_Button__C1979_v0_1_mk(s); + s.tmp_2.arg0 = globals.down___1912; + if (!checkSubtype(s.tmp_2.arg0, controller_Button__C1979_VT)) failedCast(s.tmp_2.arg0); + s.tmp_2.fn = s.tmp_2.arg0.vtable.methods.isPressed; + s.pc = 25; return s.tmp_2; + case 25: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + s.currentState___9171 = (s.tmp_3); + s.tmp_0 = r0 = s.currentState___9171; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 3; continue; } + r0 = s.tmp_0; + { step = 4; continue; } + case 3: + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 7; continue; } + r0 = pxsim_pxtrt_stlocRef(s.caps[1], true); + s.tmp_1 = game_Dialog_hasNext__P2651_mk(s); + s.tmp_1.arg0 = s.caps[0]; + s.callLocIdx = 1220; s.pc = 26; return s.tmp_1; + case 26: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = game_Dialog_nextPage__P2653_mk(s); + s.tmp_2.arg0 = s.caps[0]; + s.callLocIdx = 1221; s.pc = 27; return s.tmp_2; + case 27: + r0 = s.retval; + { step = 6; continue; } + case 5: + s.tmp_0 = scene_setBackgroundImage__P2612_mk(s); + s.tmp_0.arg0 = null; + s.callLocIdx = 1222; s.pc = 28; return s.tmp_0; + case 28: + r0 = s.retval; + s.tmp_0 = game_popScene__P2690_mk(s); + s.callLocIdx = 1223; s.pc = 29; return s.tmp_0; + case 29: + r0 = s.retval; + r0 = pxsim_pxtrt_stlocRef(s.caps[2], true); + case 6: + { step = 12; continue; } + case 7: + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 8; continue; } + r0 = s.tmp_0; + { step = 9; continue; } + case 8: + r0 = pxsim_numops_toBoolDecr(s.currentState___9171); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + case 9: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 10; continue; } + r0 = pxsim_pxtrt_stlocRef(s.caps[1], false); + case 10: + case 11: + case 12: + s.tmp_0 = controller_Button__C1979_v0_1_mk(s); + s.tmp_0.arg0 = globals.up___1910; + if (!checkSubtype(s.tmp_0.arg0, controller_Button__C1979_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.isPressed; + s.pc = 30; return s.tmp_0; + case 30: + r0 = s.retval; + s.moveBack___9196 = (r0); + s.tmp_0 = r0 = s.moveBack___9196; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 13; continue; } + r0 = s.tmp_0; + { step = 14; continue; } + case 13: + r0 = pxsim_pxtrt_ldlocRef(s.caps[3]); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + case 14: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 17; continue; } + r0 = pxsim_pxtrt_stlocRef(s.caps[3], true); + s.tmp_1 = game_Dialog_hasPrev__P2652_mk(s); + s.tmp_1.arg0 = s.caps[0]; + s.callLocIdx = 1224; 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 = 15; continue; } + s.tmp_2 = game_Dialog_prevPage__P2654_mk(s); + s.tmp_2.arg0 = s.caps[0]; + s.callLocIdx = 1225; s.pc = 32; return s.tmp_2; + case 32: + r0 = s.retval; + case 15: + case 16: + { step = 22; continue; } + case 17: + r0 = pxsim_pxtrt_ldlocRef(s.caps[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: + r0 = pxsim_numops_toBoolDecr(s.moveBack___9196); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + case 19: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 20; continue; } + r0 = pxsim_pxtrt_stlocRef(s.caps[3], false); + case 20: + case 21: + case 22: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_showLongText_inline__P9168.info = {"start":15490,"length":931,"line":475,"column":22,"endLine":503,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":[]} + +function game_showLongText_inline__P9168_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_showLongText_inline__P9168, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + currentState___9171: undefined, + moveBack___9196: undefined, +} } + + + + + +function game_showLongText_inline__P9216(s) { +let r0 = s.r0, 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_pxtrt_ldlocRef(s.caps[0]); + return leave(s, r0) + default: oops() +} } } +game_showLongText_inline__P9216.info = {"start":16443,"length":10,"line":505,"column":19,"endLine":505,"endColumn":29,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":[]} + +function game_showLongText_inline__P9216_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_showLongText_inline__P9216, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function game_popScene__P2690(s) { +let r0 = s.r0, 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___9236 = undefined; + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1258; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.oldScene___9236 = (r0); + s.tmp_0 = r0 = globals._sceneStack___4375; + 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___4375); + 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___4375); + globals._scene___4374 = (r0); + s.tmp_0 = control_popEventContext__P410_mk(s); + s.callLocIdx = 1259; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + { step = 6; continue; } + case 3: + r0 = pxsim_numops_toBoolDecr(globals._scene___4374); + if (!r0) { step = 4; continue; } + s.tmp_0 = control_popEventContext__P410_mk(s); + s.callLocIdx = 1260; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + globals._scene___4374 = (undefined); + case 4: + case 5: + case 6: + r0 = pxsim_numops_toBoolDecr(globals._scene___4374); + if (!r0) { step = 7; continue; } + s.tmp_0 = particles_enableAll__P2864_mk(s); + s.callLocIdx = 1261; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + case 7: + case 8: + r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___4377); + if (!r0) { step = 9; continue; } + r0 = pxsim_pxtcore_mkAction(1, game_popScene_inline__P9257); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___9236); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_1.arg0 = globals._scenePopHandlers___4377; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 1263; 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__P2690.info = {"start":2033,"length":548,"line":75,"column":4,"endLine":93,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"popScene","argumentNames":[]} + +function game_popScene__P2690_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_popScene__P2690, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + oldScene___9236: undefined, +} } + + + + + +function game_popScene_inline__P9257(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 1262; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_popScene_inline__P9257.info = {"start":2545,"length":18,"line":91,"column":38,"endLine":91,"endColumn":56,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} + +function game_popScene_inline__P9257_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_popScene_inline__P9257, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_enableAll__P2864(s) { +let r0 = s.r0, 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___9261 = undefined; + s.tmp_0 = particles_particleSources__P4723_mk(s); + s.callLocIdx = 1524; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___9261 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___9261); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.sources___9261; + s.tmp_0.arg1 = particles_enableAll_inline__P9267; + s.callLocIdx = 1526; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P4719_mk(s); + s.callLocIdx = 1527; 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__P2864.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__P2864_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_enableAll__P2864, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___9261: undefined, +} } + + + + + +function particles_enableAll_inline__P9267(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2845_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = true; + s.callLocIdx = 1525; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = true; + return leave(s, r0) + default: oops() +} } } +particles_enableAll_inline__P9267.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__P9267_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_enableAll_inline__P9267, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_particleSources__P4723(s) { +let r0 = s.r0, 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___9435 = undefined; + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1528; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["particleSources"]; + s.sources___9435 = (r0); + r0 = s.sources___9435; + return leave(s, r0) + default: oops() +} } } +particles_particleSources__P4723.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__P4723_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_particleSources__P4723, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___9435: undefined, +} } + + + + + +function particles_pruneParticles__P4719(s) { +let r0 = s.r0, 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___9272 = undefined; + s.tmp_0 = particles_particleSources__P4723_mk(s); + s.callLocIdx = 1511; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___9272 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___9272); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_1 = helpers_arraySlice__P115_mk(s); + s.tmp_1.arg0 = s.sources___9272; + s.tmp_1.arg1 = 0; + r0 = pxsim_Array__length(s.sources___9272); + s.tmp_1.arg2 = r0; + s.callLocIdx = 1512; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = particles_pruneParticles_inline__P9281; + s.callLocIdx = 1514; 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__P4719.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__P4719_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_pruneParticles__P4719, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + sources___9272: undefined, +} } + + + + + +function particles_pruneParticles_inline__P9281(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2840_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1513; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_pruneParticles_inline__P9281.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__P9281_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_pruneParticles_inline__P9281, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleSource__prune__P2840(s) { +let r0 = s.r0, 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___9311 = undefined; + s.sources___9319 = undefined; + s.current___9333 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, particles_ParticleSource__C2832_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__P2685_mk(s); + s.callLocIdx = 1486; s.pc = 21; return s.tmp_5; + case 21: + r0 = s.retval; + s.scene___9311 = (r0); + r0 = pxsim_numops_toBoolDecr(s.scene___9311); + if (!r0) { step = 7; continue; } + r0 = s.scene___9311.fields["allSprites"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0); + case 7: + case 8: + s.tmp_0 = particles_particleSources__P4723_mk(s); + s.callLocIdx = 1487; s.pc = 22; return s.tmp_0; + case 22: + r0 = s.retval; + s.sources___9319 = (r0); + s.tmp_0 = r0 = s.sources___9319; + 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___9319); + 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___9319, 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___9333 = (r0); + case 15: + s.tmp_0 = r0 = s.current___9333; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 16; continue; } + r0 = s.tmp_0; + { step = 17; continue; } + case 16: + r0 = s.current___9333.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___9333.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___9333.fields["next"]; + r0 = r0.fields["next"]; + s.tmp_4 = r0; + r0 = (s.current___9333).fields["next"] = (s.tmp_4); + { step = 19; continue; } + case 18: + r0 = s.current___9333.fields["next"]; + s.current___9333 = (r0); + case 19: + { step = 15; continue; } + case 20: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource__prune__P2840.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__P2840_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource__prune__P2840, depth: s.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___9311: undefined, + sources___9319: undefined, + current___9333: undefined, + arg0: undefined, +} } + + + + + +function helpers_arraySlice__P115(s) { +let r0 = s.r0, 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___9356 = undefined; + s.len___9358 = undefined; + s.i___9392 = 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___9356 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___9358 = (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__P130_mk(s); + r0 = (s.len___9358 + s.arg1); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 10; 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___9358); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.res___9356; + { 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___9358); + { 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___9358 + s.arg2); + s.arg2 = (r0); + case 8: + case 9: + case 10: + r0 = (s.arg2 > s.len___9358); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.arg2 = (s.len___9358); + case 11: + case 12: + s.i___9392 = (s.arg1); + case 13: + r0 = (s.i___9392 < s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + s.tmp_1 = r0 = s.res___9356; + r0 = pxsim_Array__getAt(s.arg0, s.i___9392); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_1, s.tmp_2); + r0 = (s.i___9392 + 1); + s.i___9392 = (r0); + { step = 13; continue; } + case 14: + r0 = s.res___9356; + case 15: + return leave(s, r0) + default: oops() +} } } +helpers_arraySlice__P115.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__P115_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySlice__P115, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + res___9356: undefined, + len___9358: undefined, + i___9392: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function particles_ParticleSource_enabled__P2845(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_VT)) failedCast(r0); + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = particles_ParticleSource_enabled__P2844_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 1490; 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__P2845.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__P2845_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_enabled__P2845, depth: s.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__P2844(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_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__P2844.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__P2844.isGetter = true; + +function particles_ParticleSource_enabled__P2844_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_enabled__P2844, depth: s.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__P410(s) { +let r0 = s.r0, 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___9442 = undefined; + s.context___9450 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.eventContexts___4023); + 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___4023); + s.ctx___9442 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___9442); + 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__P402_mk(s); + s.tmp_2.arg0 = s.ctx___9442; + s.callLocIdx = 62; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.tmp_0 = r0 = globals.eventContexts___4023; + r0 = pxsim_Array__length(globals.eventContexts___4023); + 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___9450 = (r0); + r0 = pxsim_numops_toBoolDecr(s.context___9450); + if (!r0) { step = 5; continue; } + s.tmp_0 = control_EventContext_register__P401_mk(s); + s.tmp_0.arg0 = s.context___9450; + s.callLocIdx = 63; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + { step = 6; continue; } + case 5: + globals.eventContexts___4023 = (undefined); + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_popEventContext__P410.info = {"start":7568,"length":413,"line":232,"column":4,"endLine":246,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"popEventContext","argumentNames":[]} + +function control_popEventContext__P410_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_popEventContext__P410, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + ctx___9442: undefined, + context___9450: undefined, +} } + + + + + +function control_EventContext_unregister__P402(s) { +let r0 = s.r0, 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___9471 = undefined; + s.unnamed66___U1 = undefined; + s.unnamed67___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + s.h___9471 = (undefined); + r0 = s.arg0.fields["handlers"]; + s.unnamed66___U1 = (r0); + s.unnamed67___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed67___U2; + r0 = pxsim_Array__length(s.unnamed66___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed66___U1, s.unnamed67___U2); + s.h___9471 = (r0); + s.tmp_2 = control_EventHandler_unregister__P4017_mk(s); + s.tmp_2.arg0 = s.h___9471; + s.callLocIdx = 55; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + r0 = (s.unnamed67___U2 + 1); + s.unnamed67___U2 = (r0); + { step = 1; continue; } + case 2: + s.unnamed66___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__P402.info = {"start":4534,"length":131,"line":137,"column":8,"endLine":141,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"unregister","argumentNames":["this"]} + +function control_EventContext_unregister__P402_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_unregister__P402, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + h___9471: undefined, + unnamed66___U1: undefined, + unnamed67___U2: undefined, + arg0: undefined, +} } + + + + + +function control_EventHandler_unregister__P4017(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C4015_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__P4019, s.tmp_2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventHandler_unregister__P4017.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__P4017_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventHandler_unregister__P4017, 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__P4019(s) { +let r0 = s.r0, 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__P4019.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__P4019_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_doNothing__P4019, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function control_EventContext_register__P401(s) { +let r0 = s.r0, 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___9463 = undefined; + s.unnamed64___U1 = undefined; + s.unnamed65___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, control_EventContext__C395_VT)) failedCast(r0); + s.h___9463 = (undefined); + r0 = s.arg0.fields["handlers"]; + s.unnamed64___U1 = (r0); + s.unnamed65___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed65___U2; + r0 = pxsim_Array__length(s.unnamed64___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed64___U1, s.unnamed65___U2); + s.h___9463 = (r0); + s.tmp_2 = control_EventHandler_register__P4016_mk(s); + s.tmp_2.arg0 = s.h___9463; + s.callLocIdx = 53; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + r0 = (s.unnamed65___U2 + 1); + s.unnamed65___U2 = (r0); + { step = 1; continue; } + case 2: + s.unnamed64___U1 = (undefined); + s.tmp_0 = control_EventContext_registerFrameCallbacks__P4021_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 54; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_register__P401.info = {"start":4386,"length":138,"line":131,"column":8,"endLine":135,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"register","argumentNames":["this"]} + +function control_EventContext_register__P401_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_register__P401, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + h___9463: undefined, + unnamed64___U1: undefined, + unnamed65___U2: undefined, + arg0: undefined, +} } + + + + + +function game_pushScene__P2689(s) { +let r0 = s.r0, 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___10351 = undefined; + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1252; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.oldScene___10351 = (r0); + s.tmp_0 = particles_clearAll__P2862_mk(s); + s.callLocIdx = 1253; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = particles_disableAll__P2863_mk(s); + s.callLocIdx = 1254; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals._sceneStack___4375); + 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___4375 = (r0); + case 1: + case 2: + r0 = pxsim_Array__push(globals._sceneStack___4375, globals._scene___4374); + s.tmp_0 = game_init__P4382_mk(s); + s.tmp_0.arg0 = true; + s.callLocIdx = 1255; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___4376); + if (!r0) { step = 3; continue; } + r0 = pxsim_pxtcore_mkAction(1, game_pushScene_inline__P10368); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___10351); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_1.arg0 = globals._scenePushHandlers___4376; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 1257; 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__P2689.info = {"start":1660,"length":367,"line":62,"column":4,"endLine":73,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"pushScene","argumentNames":[]} + +function game_pushScene__P2689_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_pushScene__P2689, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + oldScene___10351: undefined, +} } + + + + + +function game_pushScene_inline__P10368(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 1256; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_pushScene_inline__P10368.info = {"start":1991,"length":18,"line":71,"column":39,"endLine":71,"endColumn":57,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["cb"]} + +function game_pushScene_inline__P10368_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_pushScene_inline__P10368, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_init__P4382(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4374); + 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__C2571_VT); + s.tmp_3 = r0; + s.tmp_4 = scene_Scene_constructor__P2593_mk(s); + s.tmp_4.arg0 = s.tmp_3; + s.tmp_5 = control_pushEventContext__P409_mk(s); + s.callLocIdx = 1249; s.pc = 14; return s.tmp_5; + case 14: + r0 = s.retval; + s.tmp_4.arg1 = r0; + s.tmp_4.arg2 = globals._scene___4374; + s.callLocIdx = 1250; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + globals._scene___4374 = (s.tmp_3); + case 3: + case 4: + s.tmp_0 = scene_Scene_init__P2594_mk(s); + s.tmp_0.arg0 = globals._scene___4374; + s.callLocIdx = 1251; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals.winEffect___2683); + 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; } + globals.winEffect___2683 = (globals.confetti___2955); + case 5: + case 6: + r0 = pxsim_numops_toBoolDecr(globals.loseEffect___2684); + 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; } + globals.loseEffect___2684 = (globals.melt___2976); + case 7: + case 8: + r0 = pxsim_numops_toBoolDecr(globals.winSound___4373); + 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 = 9; continue; } + globals.winSound___4373 = (globals.powerUp___1632); + case 9: + case 10: + r0 = pxsim_numops_toBoolDecr(globals.loseSound___4371); + 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; } + globals.loseSound___4371 = (globals.wawawawaa___1629); + case 11: + case 12: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_init__P4382.info = {"start":1202,"length":452,"line":45,"column":4,"endLine":60,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"init","argumentNames":["forceNewScene"]} + +function game_init__P4382_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_init__P4382, depth: s.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 melt_inline__P10403(s) { +let r0 = s.r0, 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___10406 = undefined; + s.j___10414 = undefined; + s.x___10419 = undefined; + s.y___10425 = undefined; + s.c___10431 = 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___10406 = (r0); + s.j___10414 = (0); + case 1: + r0 = (s.j___10414 < s.rounds___10406); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_FastRandom_randomRange__P2744_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 = 49; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.x___10419 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P2744_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 = 50; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.y___10425 = (r0); + r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___10419, s.y___10425); + s.c___10431 = (r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.x___10419; + r0 = (s.y___10425 + 1); + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___10431); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.x___10419; + r0 = (s.y___10425 + 2); + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___10431); + r0 = (s.j___10414 + 1); + s.j___10414 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +melt_inline__P10403.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__P10403_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: melt_inline__P10403, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + rounds___10406: undefined, + j___10414: undefined, + x___10419: undefined, + y___10425: undefined, + c___10431: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Math_FastRandom_randomRange__P2744(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2740_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__P2743_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1297; 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__P2744.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__P2744_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_randomRange__P2744, depth: s.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__P2743(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2740_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__P2743.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__P2743_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_next__P2743, depth: s.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__P2971(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2970_VT)) failedCast(r0); + r0 = (s.arg0).fields["effect"] = (s.arg2); + r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C2740_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P2742_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 1598; 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__P2971.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__P2971_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_constructor__P2971, 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 confetti_inline__P10511(s) { +let r0 = s.r0, 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___10514 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_pxtcore_mkClassInstance(particles_ConfettiFactory__C2899_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 = 37; 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 = 38; 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__P2900_mk(s); + s.tmp_5.arg0 = s.tmp_0; + s.tmp_5.arg1 = s.tmp_4; + s.tmp_5.arg2 = 16; + s.callLocIdx = 39; s.pc = 5; return s.tmp_5; + case 5: + r0 = s.retval; + s.factory___10514 = (s.tmp_0); + s.tmp_0 = particles_SprayFactory_setSpeed__P2876_mk(s); + s.tmp_0.arg0 = s.factory___10514; + s.tmp_0.arg1 = 30; + s.callLocIdx = 40; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(particles_ParticleSource__C2832_VT); + s.tmp_0 = r0; + s.tmp_1 = particles_ParticleSource_constructor__P2837_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___10514; + s.callLocIdx = 41; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +confetti_inline__P10511.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__P10511_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: confetti_inline__P10511, depth: s.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___10514: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_constructor__P2837(s) { +let r0 = s.r0, 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___10535 = undefined; + s.removedSource___10544 = 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__C2832_VT)) failedCast(r0); + s.tmp_0 = sprites_BaseSprite_constructor__P1890_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 1466; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = particles_init__P4717_mk(s); + s.callLocIdx = 1467; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = particles_particleSources__P4723_mk(s); + s.callLocIdx = 1468; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.sources___10535 = (r0); + r0 = pxsim_Array__length(s.sources___10535); + s.tmp_1 = r0; + r0 = (s.tmp_1 >= globals.MAX_SOURCES___4709); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = particles_sortSources__P4720_mk(s); + s.tmp_2.arg0 = s.sources___10535; + s.callLocIdx = 1469; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + r0 = pxsim_Array_.removeAt(s.sources___10535, 0); + s.removedSource___10544 = (r0); + s.tmp_0 = particles_ParticleSource_clear__P2847_mk(s); + s.tmp_0.arg0 = s.removedSource___10544; + s.callLocIdx = 1471; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_destroy__P2846_mk(s); + s.tmp_0.arg0 = s.removedSource___10544; + s.callLocIdx = 1472; 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__P2849_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 1473; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_setAcceleration__P2841_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = 0; + s.callLocIdx = 1474; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = particles_ParticleSource_setAnchor__P2848_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1475; 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___2852; + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + s.tmp_2 = particles_ParticleSource_setFactory__P2851_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 1476; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + r0 = pxsim_Array__push(s.sources___10535, s.arg0); + s.tmp_0 = particles_ParticleSource_enabled__P2845_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = true; + s.callLocIdx = 1477; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_constructor__P2837.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__P2837_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_constructor__P2837, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + sources___10535: undefined, + removedSource___10544: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function particles_sortSources__P4720(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P105_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = particles_sortSources_inline__P10752; + s.callLocIdx = 1515; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_sortSources__P4720.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__P4720_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_sortSources__P4720, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_sortSources_inline__P10752(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P10752.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__P10752_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_sortSources_inline__P10752, depth: s.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 helpers_arraySort__P105(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P10775); + case 3: + case 4: + s.tmp_0 = helpers_sortHelper__P3944_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 3; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +helpers_arraySort__P105.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__P105_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySort__P105, depth: s.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__P10775(s) { +let r0 = s.r0, 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___10778 = undefined; + s.bIsUndef___10782 = undefined; + s.aIsNull___10793 = undefined; + s.bIsNull___10797 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 === undefined); + s.aIsUndef___10778 = (r0); + r0 = (s.arg1 === undefined); + s.bIsUndef___10782 = (r0); + s.tmp_0 = r0 = s.aIsUndef___10778; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.bIsUndef___10782; + 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___10778); + if (!r0) { step = 4; continue; } + r0 = 1; + { step = 17; continue; } + { step = 7; continue; } + case 4: + r0 = pxsim_numops_toBoolDecr(s.bIsUndef___10782); + if (!r0) { step = 5; continue; } + r0 = -1; + { step = 17; continue; } + case 5: + case 6: + case 7: + case 8: + r0 = (s.arg0 === null); + s.aIsNull___10793 = (r0); + r0 = (s.arg1 === null); + s.bIsNull___10797 = (r0); + s.tmp_0 = r0 = s.aIsNull___10793; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 9; continue; } + r0 = s.tmp_0; + { step = 10; continue; } + case 9: + r0 = s.bIsNull___10797; + 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___10793); + if (!r0) { step = 12; continue; } + r0 = 1; + { step = 17; continue; } + { step = 15; continue; } + case 12: + r0 = pxsim_numops_toBoolDecr(s.bIsNull___10797); + 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__P10775.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__P10775_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySort_inline__P10775, depth: s.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___10778: undefined, + bIsUndef___10782: undefined, + aIsNull___10793: undefined, + bIsNull___10797: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_sortHelper__P3944(s) { +let r0 = s.r0, 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___10832 = undefined; + s.i___10835 = undefined; + s.j___10841 = 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___10832 = (r0); + s.i___10835 = (0); + case 5: + s.tmp_1 = r0 = s.i___10835; + r0 = (s.len___10832 - 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___10835 + 1); + s.j___10841 = (r0); + case 6: + r0 = (s.j___10841 < s.len___10832); + 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___10835); + s.tmp_3.arg0 = r0; + r0 = pxsim_Array__getAt(s.arg0, s.j___10841); + s.tmp_3.arg1 = r0; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 1; 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__P3943_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.i___10835; + s.tmp_4.arg2 = s.j___10841; + s.callLocIdx = 2; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + case 7: + case 8: + r0 = (s.j___10841 + 1); + s.j___10841 = (r0); + { step = 6; continue; } + case 9: + r0 = (s.i___10835 + 1); + s.i___10835 = (r0); + { step = 5; continue; } + case 10: + r0 = s.arg0; + case 11: + return leave(s, r0) + default: oops() +} } } +helpers_sortHelper__P3944.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__P3944_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_sortHelper__P3944, depth: s.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___10832: undefined, + i___10835: undefined, + j___10841: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_swap__P3943(s) { +let r0 = s.r0, 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___10870 = 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___10870 = (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___10870); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_swap__P3943.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__P3943_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_swap__P3943, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + temp___10870: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function particles_init__P4717(s) { +let r0 = s.r0, 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___10897 = undefined; + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1505; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.scene___10897 = (r0); + r0 = s.scene___10897.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___10897; + r0 = pxsim_Array__mk(); + s.tmp_2 = r0; + r0 = (s.tmp_1).fields["particleSources"] = (s.tmp_2); + r0 = pxsim.control.millis(); + globals.lastUpdate___4712 = (r0); + s.tmp_0 = game_onUpdate__P2704_mk(s); + s.tmp_0.arg0 = particles_updateParticles__P4718; + s.callLocIdx = 1506; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = game_onUpdateInterval__P2705_mk(s); + s.tmp_0.arg0 = 250; + s.tmp_0.arg1 = particles_pruneParticles__P4719; + s.callLocIdx = 1507; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_init__P4717.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__P4717_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_init__P4717, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + scene___10897: undefined, +} } + + + + + +function particles_updateParticles__P4718(s) { +let r0 = s.r0, 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___10912 = undefined; + s.time___10919 = undefined; + s.dt___10922 = undefined; + s.i___10928 = undefined; + s.tmp_0 = particles_particleSources__P4723_mk(s); + s.callLocIdx = 1508; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.sources___10912 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___10912); + 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__P4720_mk(s); + s.tmp_2.arg0 = s.sources___10912; + s.callLocIdx = 1509; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = pxsim.control.millis(); + s.time___10919 = (r0); + r0 = (s.time___10919 - globals.lastUpdate___4712); + s.dt___10922 = (r0); + globals.lastUpdate___4712 = (s.time___10919); + s.i___10928 = (0); + case 3: + s.tmp_1 = r0 = s.i___10928; + r0 = pxsim_Array__length(s.sources___10912); + 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__P2839_mk(s); + r0 = pxsim_Array__getAt(s.sources___10912, s.i___10928); + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.dt___10922; + s.callLocIdx = 1510; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + r0 = (s.i___10928 + 1); + s.i___10928 = (r0); + { step = 3; continue; } + case 4: + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_updateParticles__P4718.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__P4718_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_updateParticles__P4718, depth: s.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___10912: undefined, + time___10919: undefined, + dt___10922: undefined, + i___10928: undefined, +} } + + + + + +function particles_ParticleSource__update__P2839(s) { +let r0 = s.r0, 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___10991 = undefined; + s.current___11010 = undefined; + s.fixedDt___11018 = 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__C2832_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__P2846_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1481; 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 = 1482; 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 = 1483; 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__P2844_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1484; 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__C2868_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__C2868_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___10991 = (r0); + r0 = pxsim_numops_toBoolDecr(s.p___10991); + 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___10991).fields["next"] = (s.tmp_2); + r0 = (s.arg0).fields["head"] = (s.p___10991); + { 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___11010 = (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___11018 = (r0); + r0 = pxsim_numops_toBoolDecr(s.fixedDt___11018); + if (!r0) { step = 23; continue; } + case 19: + r0 = s.current___11010.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___11010; + 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__C2832_v4_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.current___11010; + s.tmp_0.arg2 = s.fixedDt___11018; + if (!checkSubtype(s.tmp_0.arg0, particles_ParticleSource__C2832_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___11010.fields["next"]; + s.tmp_0 = r0; + s.current___11010 = (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___11010; + 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___11010.fields["next"]; + s.tmp_0 = r0; + s.current___11010 = (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__P2839.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__P2839_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource__update__P2839, depth: s.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___10991: undefined, + current___11010: undefined, + fixedDt___11018: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_updateParticle__P4714(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_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__P4714.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__P4714_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_updateParticle__P4714, depth: s.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__P171(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P171.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__P171_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_rightShift__P171, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_mul__P160(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P160.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__P160_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_mul__P160, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleFactory_createParticle__P2870(s) { +let r0 = s.r0, 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___11115 = 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__C2868_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkClassInstance(particles_Particle__C2813_VT); + s.p___11115 = (r0); + s.tmp_0 = r0 = s.p___11115; + 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 = 1535; 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___11115; + 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 = 1537; 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___11115).fields["vx"] = (0); + r0 = (s.p___11115).fields["vy"] = (0); + r0 = (s.p___11115).fields["lifespan"] = (500); + r0 = s.p___11115; + return leave(s, r0) + default: oops() +} } } +particles_ParticleFactory_createParticle__P2870.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__P2870_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_createParticle__P2870, depth: s.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___11115: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function MAX_SOURCES_inline__P10883(s) { +let r0 = s.r0, 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___10884 = undefined; + s.tmp_0 = control_ramSize__P346_mk(s); + s.callLocIdx = 33; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.sz___10884 = (r0); + r0 = (s.sz___10884 <= 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___10884 <= 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__P10883.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__P10883_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: MAX_SOURCES_inline__P10883, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + sz___10884: undefined, +} } + + + + + +function particles_SprayFactory_constructor__P2873(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2872_VT)) failedCast(r0); + r0 = undefined; + s.tmp_0 = particles_initTrig__P4738_mk(s); + s.callLocIdx = 1542; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = particles_SprayFactory_setSpeed__P2876_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1543; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = particles_SprayFactory_setDirection__P2877_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.tmp_0.arg2 = s.arg3; + s.callLocIdx = 1544; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_constructor__P2873.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__P2873_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_constructor__P2873, 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__P4738(s) { +let r0 = s.r0, 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___4724); + 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__P2866_mk(s); + s.tmp_2.arg0 = 100; + s.callLocIdx = 1530; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + globals.cachedSin___4724 = (r0); + s.tmp_0 = particles_cacheCos__P2867_mk(s); + s.tmp_0.arg0 = 100; + s.callLocIdx = 1531; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + globals.cachedCos___4725 = (r0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_initTrig__P4738.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__P4738_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_initTrig__P4738, 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__P2867(s) { +let r0 = s.r0, 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___10644 = undefined; + s.anglePerSlice___10646 = undefined; + s.i___10652 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.cos___10644 = (r0); + r0 = (6.283185307179586 / s.arg0); + s.anglePerSlice___10646 = (r0); + s.i___10652 = (0); + case 1: + r0 = (s.i___10652 < s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.cos___10644; + r0 = (s.i___10652 * s.anglePerSlice___10646); + 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___10652 + 1); + s.i___10652 = (r0); + { step = 1; continue; } + case 2: + r0 = s.cos___10644; + return leave(s, r0) + default: oops() +} } } +particles_cacheCos__P2867.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__P2867_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_cacheCos__P2867, depth: s.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___10644: undefined, + anglePerSlice___10646: undefined, + i___10652: undefined, + arg0: undefined, +} } + + + + + +function particles_cacheSin__P2866(s) { +let r0 = s.r0, 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___10670 = undefined; + s.anglePerSlice___10672 = undefined; + s.i___10678 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.sin___10670 = (r0); + r0 = (6.283185307179586 / s.arg0); + s.anglePerSlice___10672 = (r0); + s.i___10678 = (0); + case 1: + r0 = (s.i___10678 < s.arg0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.sin___10670; + r0 = (s.i___10678 * s.anglePerSlice___10672); + 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___10678 + 1); + s.i___10678 = (r0); + { step = 1; continue; } + case 2: + r0 = s.sin___10670; + return leave(s, r0) + default: oops() +} } } +particles_cacheSin__P2866.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__P2866_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_cacheSin__P2866, depth: s.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___10670: undefined, + anglePerSlice___10672: undefined, + i___10678: undefined, + arg0: undefined, +} } + + + + + +function particles_SprayFactory_setDirection__P2877(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2872_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_4 = particles_toRadians__P4743_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 = 1552; s.pc = 1; return s.tmp_4; + case 1: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / globals.angleSlice___4737); + 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__P4743_mk(s); + s.tmp_4.arg0 = s.arg2; + s.callLocIdx = 1553; s.pc = 2; return s.tmp_4; + case 2: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 / globals.angleSlice___4737); + 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__P2877.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__P2877_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_setDirection__P2877, depth: s.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__P4743(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P128_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 1534; 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__P4743.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__P4743_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_toRadians__P4743, depth: s.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 Math_abs__P128(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P128.info = {"start":16095,"length":77,"line":538,"column":4,"endLine":540,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"abs","argumentNames":["x"]} + +function Math_abs__P128_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_abs__P128, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function particles_ParticleFactory_constructor__P2869(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2868_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleFactory_constructor__P2869.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__P2869_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_constructor__P2869, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function particles_ParticleSource_setFactory__P2851(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_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__P2851.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__P2851_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setFactory__P2851, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_setRate__P2849(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_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__P2849.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__P2849_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setRate__P2849, 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__P2848(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_VT)) failedCast(r0); + r0 = (s.arg0).fields["anchor"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_setAnchor__P2848.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__P2848_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setAnchor__P2848, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_clear__P2847(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_VT)) failedCast(r0); + r0 = (s.arg0).fields["head"] = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_clear__P2847.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__P2847_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_clear__P2847, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function particles_ParticleSource_destroy__P2846(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleSource_enabled__P2845_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = false; + s.callLocIdx = 1491; 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__P2840_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1492; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource_destroy__P2846.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__P2846_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_destroy__P2846, 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__P2841(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_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__P2841.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__P2841_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setAcceleration__P2841, 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__P102(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P102.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__P102_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayShift__P102, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function particles_SprayFactory_setSpeed__P2876(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2872_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__P2876.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__P2876_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_setSpeed__P2876, 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__P2900(s) { +let r0 = s.r0, 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___11147 = undefined; + s.i___11163 = 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__C2899_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim.image.ofBuffer(_hex11150); + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + r0 = pxsim.image.ofBuffer(_hex11152); + s.tmp_2 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_2); + r0 = pxsim.image.ofBuffer(_hex11154); + s.tmp_3 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_3); + r0 = pxsim.image.ofBuffer(_hex11156); + s.tmp_4 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_4); + r0 = pxsim.image.ofBuffer(_hex11158); + s.tmp_5 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_5); + s.confetti___11147 = (s.tmp_0); + s.tmp_0 = particles_ShapeFactory_constructor__P2895_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___11147, 0); + s.tmp_0.arg3 = r0; + s.callLocIdx = 1576; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.i___11163 = (1); + case 1: + s.tmp_1 = r0 = s.i___11163; + r0 = pxsim_Array__length(s.confetti___11147); + 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__P2896_mk(s); + s.tmp_3.arg0 = s.arg0; + r0 = pxsim_Array__getAt(s.confetti___11147, s.i___11163); + s.tmp_3.arg1 = r0; + s.callLocIdx = 1577; s.pc = 4; return s.tmp_3; + case 4: + r0 = s.retval; + r0 = (s.i___11163 + 1); + s.i___11163 = (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__P2900.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__P2900_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ConfettiFactory_constructor__P2900, depth: s.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___11147: undefined, + i___11163: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + +const _hex11150 = pxsim.BufferMethods.createBufferFromHex("87040100010000000f000000") +const _hex11152 = pxsim.BufferMethods.createBufferFromHex("8704010002000000ff000000") +const _hex11154 = pxsim.BufferMethods.createBufferFromHex("87040200010000000f0000000f000000") +const _hex11156 = pxsim.BufferMethods.createBufferFromHex("8704020002000000ff0000000f000000") +const _hex11158 = pxsim.BufferMethods.createBufferFromHex("87040200020000000f000000ff000000") + + + + +function particles_ShapeFactory_addShape__P2896(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2894_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__P2896.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__P2896_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_addShape__P2896, 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__P2895(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2894_VT)) failedCast(r0); + s.tmp_0 = particles_AreaFactory_constructor__P2883_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 = 1566; 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__P2895.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__P2895_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_constructor__P2895, depth: s.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__P2883(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2878_VT)) failedCast(r0); + s.tmp_0 = particles_SprayFactory_constructor__P2873_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 = 1554; 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__C2740_VT); + s.tmp_0 = r0; + s.tmp_1 = Math_FastRandom_constructor__P2742_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = undefined; + s.callLocIdx = 1555; 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__P2883.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__P2883_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_AreaFactory_constructor__P2883, 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__P2948(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2947_VT)) failedCast(r0); + s.tmp_0 = effects_ParticleEffect_constructor__P2944_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 = 1586; 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__P2948.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__P2948_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ScreenEffect_constructor__P2948, 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__P2944(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2943_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__P2944.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__P2944_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ParticleEffect_constructor__P2944, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function scene_Scene_init__P2594(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2571_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__P1730_mk(s); + s.callLocIdx = 1104; 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__P11282); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P403_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 = 1107; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0 = control_EventContext_registerFrameHandler__P403_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 13; + s.tmp_0.arg2 = controller__moveSprites__P1927; + s.callLocIdx = 1108; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11305); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P403_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 = 1110; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11318); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P403_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 = 1114; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11339); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P403_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 = 1116; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11347); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = control_EventContext_registerFrameHandler__P403_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 = 1120; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + s.tmp_0 = control_EventContext_registerFrameHandler__P403_mk(s); + r0 = s.arg0.fields["eventContext"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 200; + s.tmp_0.arg2 = control___screen_update__P1790; + s.callLocIdx = 1121; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11376); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_1.arg0 = globals.scene_Scene_initializers___2592; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 1123; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init__P2594.info = {"start":4278,"length":2477,"line":124,"column":8,"endLine":182,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"init","argumentNames":["this"]} + +function scene_Scene_init__P2594_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init__P2594, 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__P11282(s) { +let r0 = s.r0, 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__P1955_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 = 1106; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P11282.info = {"start":4568,"length":217,"line":131,"column":72,"endLine":135,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P11282_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P11282, depth: s.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__P11305(s) { +let r0 = s.r0, 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__C2290_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__C2290_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__P11305.info = {"start":5080,"length":159,"line":140,"column":69,"endLine":143,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P11305_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P11305, 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__P11318(s) { +let r0 = s.r0, 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___11319 = undefined; + s.s___11327 = undefined; + s.unnamed98___U2 = undefined; + s.unnamed99___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___11319 = (r0); + s.tmp_0 = scene_Camera_update__P2528_mk(s); + r0 = s.caps[0].fields["camera"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 1112; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.s___11327 = (undefined); + r0 = s.caps[0].fields["allSprites"]; + s.unnamed98___U2 = (r0); + s.unnamed99___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed99___U3; + r0 = pxsim_Array__length(s.unnamed98___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed98___U2, s.unnamed99___U3); + s.s___11327 = (r0); + s.tmp_2 = if___update_3_mk(s); + s.tmp_2.arg0 = s.s___11327; + r0 = s.caps[0].fields["camera"]; + s.tmp_2.arg1 = r0; + s.tmp_2.arg2 = s.dt___11319; + if (!s.tmp_2.arg0.vtable.iface) { + setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__update"), 3); + s.callLocIdx = 1113; 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 = 1113; s.pc = 4; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 1113; s.pc = 4; return s.tmp_2;; } + else { s.callLocIdx = 1113; s.pc = 4; return s.tmp_2; } + } + case 4: + r0 = s.retval; + r0 = (s.unnamed99___U3 + 1); + s.unnamed99___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed98___U2 = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P11318.info = {"start":5428,"length":214,"line":149,"column":79,"endLine":155,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P11318_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P11318, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + dt___11319: undefined, + s___11327: undefined, + unnamed98___U2: undefined, + unnamed99___U3: undefined, +} } + + + + + +function scene_Scene_init_inline__P11339(s) { +let r0 = s.r0, 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__P2599_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 1115; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P11339.info = {"start":5783,"length":109,"line":160,"column":76,"endLine":163,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P11339_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P11339, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_Scene_init_inline__P11347(s) { +let r0 = s.r0, 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___2682; + 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___398; + 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___398; + if ((globals.control_EventContext_lastStats___397) && (globals.control_EventContext_lastStats___397).vtable) { + setupResume(s, 8); + pxsim_String__stringConv(globals.control_EventContext_lastStats___397); + checkResumeConsumed(); + return; + } else { s.retval = (globals.control_EventContext_lastStats___397) + ""; } + 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 = 1117; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_numops_toBoolDecr(globals.debug___2681); + if (!r0) { step = 5; continue; } + s.tmp_0 = PhysicsEngine__C2290_v3_1_mk(s); + r0 = s.caps[0].fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2290_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__P2808_mk(s); + s.callLocIdx = 1118; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = power_checkDeepSleep__P1731_mk(s); + s.callLocIdx = 1119; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P11347.info = {"start":6009,"length":504,"line":165,"column":80,"endLine":177,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":[]} + +function scene_Scene_init_inline__P11347_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P11347, depth: s.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__P11376(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 1122; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_init_inline__P11376.info = {"start":6731,"length":12,"line":181,"column":39,"endLine":181,"endColumn":51,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["f"]} + +function scene_Scene_init_inline__P11376_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_init_inline__P11376, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_consoleOverlay_draw__P2808(s) { +let r0 = s.r0, 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___11425 = undefined; + s.top___11430 = undefined; + s.i___11436 = undefined; + s.t___11449 = undefined; + s.tOff___11456 = undefined; + s.tab___11458 = undefined; + s.unnamed102___U6 = undefined; + s.unnamed103___U7 = undefined; + s.padding___11460 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___4672); + 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___4626); + 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___4680; + 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 = 1459; s.pc = 14; return s.tmp_7; } + } + case 14: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_6 + 2); + s.height___11425 = (r0); + r0 = pxsim_numops_toBoolDecr(globals.stats___2682); + if (!r0) { step = 5; continue; } + r0 = s.height___11425; + { 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___11430 = (r0); + s.i___11436 = (0); + case 7: + s.tmp_1 = r0 = s.i___11436; + r0 = pxsim_Array__length(globals.consoleStrings___4672); + 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___4672, s.i___11436); + 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__P122_mk(s); + r0 = pxsim_Array__getAt(globals.consoleStrings___4672, s.i___11436); + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = "\t"; + s.tmp_6.arg2 = undefined; + s.callLocIdx = 1460; s.pc = 15; return s.tmp_6; + case 15: + r0 = s.retval; + s.t___11449 = (r0); + s.tOff___11456 = (0); + s.tab___11458 = (undefined); + s.unnamed102___U6 = (s.t___11449); + s.unnamed103___U7 = (0); + case 8: + s.tmp_0 = r0 = s.unnamed103___U7; + r0 = pxsim_Array__length(s.unnamed102___U6); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 9; continue; } + r0 = pxsim_Array__getAt(s.unnamed102___U6, s.unnamed103___U7); + s.tab___11458 = (r0); + s.tmp_2 = r0 = globals.tabSize___4674; + s.tmp_5 = r0 = s.tOff___11456; + r0 = pxsim_String_.length(s.tab___11458); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_4 % globals.tabSize___4674); + s.tmp_3 = r0; + r0 = (s.tmp_2 - s.tmp_3); + s.padding___11460 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.tab___11458; + s.tmp_2 = r0 = s.tOff___11456; + s.tmp_4 = if_charWidth_1_mk(s); + s.tmp_4.arg0 = globals.consoleFont___4680; + 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 = 1461; 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___11430; + r0 = (s.i___11436 * s.height___11425); + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = globals.consoleColor___4671; + s.tmp_0.arg5 = globals.consoleFont___4680; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 1462; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.tmp_0 = r0 = s.tOff___11456; + r0 = pxsim_String_.length(s.tab___11458); + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.padding___11460); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.tOff___11456 = (r0); + r0 = (s.unnamed103___U7 + 1); + s.unnamed103___U7 = (r0); + { step = 8; continue; } + case 9: + s.unnamed102___U6 = (undefined); + { step = 11; continue; } + case 10: + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + r0 = pxsim_Array__getAt(globals.consoleStrings___4672, s.i___11436); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 4; + s.tmp_1 = r0 = s.top___11430; + r0 = (s.i___11436 * s.height___11425); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = globals.consoleColor___4671; + s.tmp_0.arg5 = globals.consoleFont___4680; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 1463; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + case 11: + r0 = (s.i___11436 + 1); + s.i___11436 = (r0); + { step = 7; continue; } + case 12: + case 13: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_draw__P2808.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__P2808_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_draw__P2808, depth: s.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___11425: undefined, + top___11430: undefined, + i___11436: undefined, + t___11449: undefined, + tOff___11456: undefined, + tab___11458: undefined, + unnamed102___U6: undefined, + unnamed103___U7: undefined, + padding___11460: undefined, +} } + + + + + +function scene_systemMenu_isVisible__P2789(s) { +let r0 = s.r0, 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___4626); + 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__P2789.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__P2789_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_isVisible__P2789, 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__P1787(s) { +let r0 = s.r0, 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___11532 = undefined; + s.cp___11534 = undefined; + s.mult___11535 = undefined; + s.dataW___11540 = undefined; + s.dataH___11546 = undefined; + s.byteHeight___11552 = undefined; + s.charSize___11558 = undefined; + s.dataSize___11562 = undefined; + s.fontdata___11566 = undefined; + s.lastchar___11569 = undefined; + s.imgBuf___11576 = undefined; + s.xOffset___11600 = undefined; + s.yOffset___11601 = undefined; + s.ch___11616 = undefined; + s.l___11635 = undefined; + s.r___11636 = undefined; + s.off___11638 = undefined; + s.guess___11639 = undefined; + s.m___11658 = undefined; + s.v___11667 = undefined; + s.i___11723 = undefined; + s.j___11728 = undefined; + s.mask___11729 = undefined; + s.c___11730 = undefined; + s.n___11747 = 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__P1774_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 148; 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___11532 = (s.arg2); + s.cp___11534 = (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 = 149; 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 = 150; 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___11535 = (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 = 151; 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___11535); + s.dataW___11540 = (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 = 152; 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___11535); + s.dataH___11546 = (r0); + r0 = (s.dataH___11546 + 7); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 3); + s.byteHeight___11552 = (r0); + r0 = (s.byteHeight___11552 * s.dataW___11540); + s.charSize___11558 = (r0); + r0 = (2 + s.charSize___11558); + s.dataSize___11562 = (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 = 153; s.pc = 44; return s.tmp_0; } + } + case 44: + r0 = s.retval; + s.fontdata___11566 = (r0); + r0 = pxsim.BufferMethods.length(s.fontdata___11566); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___11562); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + s.lastchar___11569 = (r0); + r0 = (s.mult___11535 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = (8 + s.charSize___11558); + s.tmp_1 = r0; + r0 = pxsim.control.createBuffer(s.tmp_1); + s.imgBuf___11576 = (r0); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___11576, 0, 135); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___11576, 1, 1); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___11576, 2, s.dataW___11540); + r0 = pxsim.BufferMethods.setByte(s.imgBuf___11576, 4, s.dataH___11546); + case 7: + case 8: + case 9: + s.tmp_1 = r0 = s.cp___11534; + 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___11600 = (0); + s.yOffset___11601 = (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___11534; + 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___11534); + 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 = 154; s.pc = 45; return s.tmp_4; } + } + case 45: + r0 = s.retval; + s.xOffset___11600 = (r0); + s.tmp_0 = if_yOffset_1_mk(s); + r0 = pxsim_Array__getAt(s.arg6, s.cp___11534); + 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 = 155; s.pc = 46; return s.tmp_0; } + } + case 46: + r0 = s.retval; + s.yOffset___11601 = (r0); + case 12: + case 13: + s.tmp_0 = r0 = s.cp___11534; + r0 = (s.tmp_0 + 1); + s.cp___11534 = (r0); + r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0); + s.ch___11616 = (r0); + r0 = (s.ch___11616 == 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 = 156; 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___11532); + case 14: + case 15: + r0 = (s.ch___11616 < 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___11635 = (0); + s.r___11636 = (s.lastchar___11569); + s.off___11638 = (0); + r0 = (s.ch___11616 - 32); + s.tmp_0 = r0; + r0 = (s.tmp_0 * s.dataSize___11562); + s.guess___11639 = (r0); + r0 = pxsim.BufferMethods.getNumber(s.fontdata___11566, 4, s.guess___11639); + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.ch___11616); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 18; continue; } + s.off___11638 = (s.guess___11639); + { step = 25; continue; } + case 18: + case 19: + r0 = (s.l___11635 <= s.r___11636); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 24; continue; } + s.tmp_1 = r0 = s.l___11635; + r0 = (s.r___11636 - s.l___11635); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.m___11658 = (r0); + s.tmp_0 = r0 = s.fontdata___11566; + r0 = (s.m___11658 * s.dataSize___11562); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1); + s.v___11667 = (r0); + r0 = (s.v___11667 == s.ch___11616); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + r0 = (s.m___11658 * s.dataSize___11562); + s.off___11638 = (r0); + { step = 24; continue; } + case 20: + case 21: + r0 = (s.v___11667 < s.ch___11616); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = (s.m___11658 + 1); + s.l___11635 = (r0); + { step = 23; continue; } + case 22: + r0 = (s.m___11658 - 1); + s.r___11636 = (r0); + case 23: + { step = 19; continue; } + case 24: + case 25: + r0 = (s.mult___11535 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 26; continue; } + s.tmp_1 = r0 = s.imgBuf___11576; + s.tmp_3 = r0 = s.fontdata___11566; + r0 = (s.off___11638 + 2); + s.tmp_4 = r0; + r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___11558); + s.tmp_2 = r0; + r0 = pxsim.BufferMethods.write(s.tmp_1, 8, s.tmp_2); + s.tmp_0 = helpers_imageDrawIcon__P1754_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.imgBuf___11576; + r0 = (s.arg2 + s.xOffset___11600); + s.tmp_0.arg2 = r0; + r0 = (s.arg3 + s.yOffset___11601); + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = s.arg4; + s.callLocIdx = 157; 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 = 158; 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___11638 + 2); + s.off___11638 = (r0); + s.i___11723 = (0); + case 27: + r0 = (s.i___11723 < s.dataW___11540); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 36; continue; } + s.j___11728 = (0); + s.mask___11729 = (1); + s.tmp_0 = r0 = s.off___11638; + r0 = (s.tmp_0 + 1); + s.off___11638 = (r0); + r0 = pxsim.BufferMethods.getByte(s.fontdata___11566, s.tmp_0); + s.c___11730 = (r0); + case 28: + r0 = (s.j___11728 < s.dataH___11546); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 35; continue; } + r0 = (s.mask___11729 == 256); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 29; continue; } + s.tmp_2 = r0 = s.off___11638; + r0 = (s.tmp_2 + 1); + s.off___11638 = (r0); + r0 = pxsim.BufferMethods.getByte(s.fontdata___11566, s.tmp_2); + s.c___11730 = (r0); + s.mask___11729 = (1); + case 29: + case 30: + s.n___11747 = (0); + case 31: + r0 = (s.c___11730 & s.mask___11729); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 32; continue; } + r0 = (s.n___11747 + 1); + s.n___11747 = (r0); + r0 = (s.mask___11729 << 1); + s.mask___11729 = (r0); + { step = 31; continue; } + case 32: + r0 = pxsim_numops_toBoolDecr(s.n___11747); + if (!r0) { step = 33; continue; } + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg2; + r0 = (s.xOffset___11600 * s.mult___11535); + 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___11728 + s.yOffset___11601); + s.tmp_5 = r0; + r0 = (s.tmp_5 * s.mult___11535); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.mult___11535; + r0 = (s.mult___11535 * s.n___11747); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.arg4; + s.callLocIdx = 159; s.pc = 50; return s.tmp_0; + case 50: + r0 = s.retval; + r0 = (s.j___11728 + s.n___11747); + s.j___11728 = (r0); + { step = 34; continue; } + case 33: + r0 = (s.mask___11729 << 1); + s.mask___11729 = (r0); + r0 = (s.j___11728 + 1); + s.j___11728 = (r0); + case 34: + { step = 28; continue; } + case 35: + r0 = (s.arg2 + s.mult___11535); + s.arg2 = (r0); + r0 = (s.i___11723 + 1); + s.i___11723 = (r0); + { step = 27; continue; } + case 36: + case 37: + { step = 9; continue; } + case 38: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imagePrint__P1787.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__P1787_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imagePrint__P1787, depth: s.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___11532: undefined, + cp___11534: undefined, + mult___11535: undefined, + dataW___11540: undefined, + dataH___11546: undefined, + byteHeight___11552: undefined, + charSize___11558: undefined, + dataSize___11562: undefined, + fontdata___11566: undefined, + lastchar___11569: undefined, + imgBuf___11576: undefined, + xOffset___11600: undefined, + yOffset___11601: undefined, + ch___11616: undefined, + l___11635: undefined, + r___11636: undefined, + off___11638: undefined, + guess___11639: undefined, + m___11658: undefined, + v___11667: undefined, + i___11723: undefined, + j___11728: undefined, + mask___11729: undefined, + c___11730: undefined, + n___11747: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, + arg6: undefined, +} } + + + + + +function image_getFontForText__P1774(s) { +let r0 = s.r0, 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___10074 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.i___10074 = (0); + case 1: + s.tmp_1 = r0 = s.i___10074; + 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___10074); + 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___1773; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.i___10074 + 1); + s.i___10074 = (r0); + { step = 1; continue; } + case 4: + r0 = globals.font8___1772; + case 5: + return leave(s, r0) + default: oops() +} } } +image_getFontForText__P1774.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__P1774_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: image_getFontForText__P1774, depth: s.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___10074: undefined, + arg0: undefined, +} } + + + + + +function helpers_imageFillRect__P1755(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4102_mk(s); + s.tmp_2.arg0 = s.arg1; + s.tmp_2.arg1 = s.arg2; + s.callLocIdx = 130; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = helpers_pack__P4102_mk(s); + s.tmp_4.arg0 = s.arg3; + s.tmp_4.arg1 = s.arg4; + s.callLocIdx = 131; 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__P1755.info = {"start":4834,"length":159,"line":158,"column":4,"endLine":160,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageFillRect","argumentNames":["img","x","y","w","h","c"]} + +function helpers_imageFillRect__P1755_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageFillRect__P1755, depth: s.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__P4102(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P127_mk(s); + s.tmp_2.arg0 = -30000; + s.tmp_2.arg1 = 30000; + r0 = (s.arg0 | 0); + s.tmp_2.arg2 = r0; + s.callLocIdx = 127; 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__P127_mk(s); + s.tmp_5.arg0 = -30000; + s.tmp_5.arg1 = 30000; + r0 = (s.arg1 | 0); + s.tmp_5.arg2 = r0; + s.callLocIdx = 128; 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__P4102.info = {"start":3658,"length":145,"line":130,"column":4,"endLine":132,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"pack","argumentNames":["x","y"]} + +function helpers_pack__P4102_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_pack__P4102, depth: s.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 helpers_imageDrawIcon__P1754(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4102_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg3; + s.callLocIdx = 129; 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__P1754.info = {"start":4684,"length":145,"line":155,"column":4,"endLine":157,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawIcon","argumentNames":["img","icon","x","y","c"]} + +function helpers_imageDrawIcon__P1754_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageDrawIcon__P1754, depth: s.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 scene_Scene_render__P2599(s) { +let r0 = s.r0, 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___11870 = undefined; + s.unnamed100___U1 = undefined; + s.unnamed101___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Scene__C2571_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__P2599_mk(s); + r0 = s.arg0.fields["previousScene"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 1125; s.pc = 12; return s.tmp_3; + case 12: + r0 = s.retval; + { step = 6; continue; } + case 5: + s.tmp_0 = scene_Background_draw__P2409_mk(s); + r0 = s.arg0.fields["background"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 1126; 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__P105_mk(s); + r0 = s.arg0.fields["allSprites"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = scene_Scene_render_inline__P11847; + s.callLocIdx = 1131; 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___11870 = (undefined); + r0 = s.arg0.fields["allSprites"]; + s.unnamed100___U1 = (r0); + s.unnamed101___U2 = (0); + case 9: + s.tmp_0 = r0 = s.unnamed101___U2; + r0 = pxsim_Array__length(s.unnamed100___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 10; continue; } + r0 = pxsim_Array__getAt(s.unnamed100___U1, s.unnamed101___U2); + s.s___11870 = (r0); + s.tmp_2 = if___draw_2_mk(s); + s.tmp_2.arg0 = s.s___11870; + 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 = 1132; 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 = 1132; s.pc = 15; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 1132; s.pc = 15; return s.tmp_2;; } + else { s.callLocIdx = 1132; s.pc = 15; return s.tmp_2; } + } + case 15: + r0 = s.retval; + r0 = (s.unnamed101___U2 + 1); + s.unnamed101___U2 = (r0); + { step = 9; continue; } + case 10: + s.unnamed100___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__P2599.info = {"start":7954,"length":917,"line":223,"column":8,"endLine":247,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"render","argumentNames":["this"]} + +function scene_Scene_render__P2599_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_render__P2599, depth: s.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___11870: undefined, + unnamed100___U1: undefined, + unnamed101___U2: undefined, + arg0: undefined, +} } + + + + + +function scene_Scene_render_inline__P11847(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 1127; 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 = 1128; 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 = 1129; 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 = 1130; 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__P11847.info = {"start":8532,"length":52,"line":237,"column":37,"endLine":237,"endColumn":89,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["a","b"]} + +function scene_Scene_render_inline__P11847_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_render_inline__P11847, depth: s.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__P2409(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2400_VT)) failedCast(r0); + r0 = s.arg0.fields["color"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.fill(globals.screen___1829, 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___1829, 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__P11902); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + s.tmp_2 = helpers_arrayForEach__P109_mk(s); + r0 = s.arg0.fields["_layers"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 945; 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__P2409.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__P2409_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_draw__P2409, 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__P11902(s) { +let r0 = s.r0, 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___11904 = undefined; + s.oy___11915 = 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___11904 = (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___11915 = (r0); + s.tmp_0 = scene_BackgroundLayer_draw__P2418_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.ox___11904; + s.tmp_0.arg2 = s.oy___11915; + s.callLocIdx = 944; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Background_draw_inline__P11902.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__P11902_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_draw_inline__P11902, depth: s.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___11904: undefined, + oy___11915: undefined, + arg0: undefined, +} } + + + + + +function scene_BackgroundLayer_draw__P2418(s) { +let r0 = s.r0, 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___11933 = undefined; + s.h___11936 = undefined; + s.pw___11939 = undefined; + s.ph___11943 = undefined; + s.rx___11952 = undefined; + s.ry___11955 = undefined; + s.y___12024 = undefined; + s.py___12025 = undefined; + s.dh___12034 = undefined; + s.x___12042 = undefined; + s.rxl___12043 = undefined; + s.px___12049 = undefined; + s.dw___12053 = 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__C2410_VT)) failedCast(r0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.w___11933 = (r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.h___11936 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_0); + s.pw___11939 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_0); + s.ph___11943 = (r0); + r0 = pxsim_numops_toBoolDecr(s.pw___11939); + 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___11943); + 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___11952 = (r0); + r0 = (0 - s.arg2); + s.ry___11955 = (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___11952; + r0 = (s.w___11933 + s.pw___11939); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.rx___11952 = (r0); + { step = 7; continue; } + case 6: + s.tmp_0 = r0 = s.rx___11952; + r0 = (s.w___11933 + s.pw___11939); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.rx___11952 = (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___11955; + r0 = (s.h___11936 + s.ph___11943); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.ry___11955 = (r0); + { step = 10; continue; } + case 9: + s.tmp_0 = r0 = s.ry___11955; + r0 = (s.h___11936 + s.ph___11943); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.ry___11955 = (r0); + case 10: + r0 = (s.rx___11952 % s.w___11933); + s.rx___11952 = (r0); + r0 = (s.rx___11952 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + r0 = (s.rx___11952 + s.w___11933); + s.rx___11952 = (r0); + case 11: + case 12: + r0 = (s.ry___11955 % s.h___11936); + s.ry___11955 = (r0); + r0 = (s.ry___11955 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = (s.ry___11955 + s.h___11936); + s.ry___11955 = (r0); + case 13: + case 14: + r0 = pxsim.Math_.floor(s.rx___11952); + s.rx___11952 = (r0); + r0 = pxsim.Math_.floor(s.ry___11955); + s.ry___11955 = (r0); + s.y___12024 = (0); + s.py___12025 = (0); + case 15: + r0 = (s.y___12024 < s.h___11936); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 22; continue; } + r0 = (s.y___12024 % s.ph___11943); + s.py___12025 = (r0); + s.tmp_0 = Math_min__P131_mk(s); + r0 = (s.ph___11943 - s.py___12025); + s.tmp_0.arg0 = r0; + r0 = (s.h___11936 - s.ry___11955); + s.tmp_0.arg1 = r0; + s.callLocIdx = 947; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.dh___12034 = (r0); + s.x___12042 = (0); + s.rxl___12043 = (s.rx___11952); + case 16: + r0 = (s.x___12042 < s.w___11933); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 19; continue; } + r0 = (s.x___12042 % s.pw___11939); + s.px___12049 = (r0); + s.tmp_0 = Math_min__P131_mk(s); + r0 = (s.pw___11939 - s.px___12049); + s.tmp_0.arg0 = r0; + r0 = (s.w___11933 - s.rxl___12043); + s.tmp_0.arg1 = r0; + s.callLocIdx = 948; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.dw___12053 = (r0); + r0 = s.arg0.fields["img"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.drawImage(globals.screen___1829, s.tmp_0, s.rxl___12043, s.ry___11955); + r0 = (s.rxl___12043 + s.dw___12053); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.w___11933); + s.rxl___12043 = (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___12053; + { step = 18; continue; } + case 17: + r0 = s.w___11933; + case 18: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.x___12042 + s.tmp_1); + s.x___12042 = (r0); + { step = 16; continue; } + case 19: + r0 = (s.ry___11955 + s.dh___12034); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.h___11936); + s.ry___11955 = (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___12034; + { step = 21; continue; } + case 20: + r0 = s.h___11936; + case 21: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.y___12024 + s.tmp_1); + s.y___12024 = (r0); + { step = 15; continue; } + case 22: + case 23: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_BackgroundLayer_draw__P2418.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__P2418_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_BackgroundLayer_draw__P2418, depth: s.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___11933: undefined, + h___11936: undefined, + pw___11939: undefined, + ph___11943: undefined, + rx___11952: undefined, + ry___11955: undefined, + y___12024: undefined, + py___12025: undefined, + dh___12034: undefined, + x___12042: undefined, + rxl___12043: undefined, + px___12049: undefined, + dw___12053: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_Camera_update__P2528(s) { +let r0 = s.r0, 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___12134 = undefined; + s.percentComplete___12148 = undefined; + s.damp___12155 = undefined; + s.f___12164 = undefined; + s.x___12170 = undefined; + s.y___12177 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_Camera__C2512_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 = scene_Camera_offsetX__P2518_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_3 = Sprite_x__P2141_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 1086; s.pc = 10; return s.tmp_3; + case 10: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 1); + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1087; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + s.tmp_0 = scene_Camera_offsetY__P2520_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_y__P2143_mk(s); + r0 = s.arg0.fields["sprite"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 1088; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + 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 = 1089; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + case 1: + case 2: + s.tmp_0 = scene_Camera_offsetX__P2518_mk(s); + s.tmp_1 = r0 = s.arg0; + s.tmp_0.arg0 = r0; + r0 = s.tmp_1.fields["_offsetX"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_0.arg1 = r0; + s.callLocIdx = 1091; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + s.tmp_0 = scene_Camera_offsetY__P2520_mk(s); + s.tmp_1 = r0 = s.arg0; + s.tmp_0.arg0 = r0; + r0 = s.tmp_1.fields["_offsetY"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | 0); + s.tmp_0.arg1 = r0; + s.callLocIdx = 1093; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + 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___12134 = (r0); + r0 = s.arg0.fields["shakeDuration"]; + s.tmp_1 = r0; + r0 = (s.elapsed___12134 >= 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___12134 / s.tmp_0); + s.percentComplete___12148 = (r0); + s.damp___12155 = (1); + r0 = (s.percentComplete___12148 >= 0.75); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_1 = Math_max__P130_mk(s); + s.tmp_1.arg0 = 0; + r0 = (1 - s.percentComplete___12148); + s.tmp_1.arg1 = r0; + s.callLocIdx = 1096; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.damp___12155 = (r0); + case 4: + case 5: + r0 = s.arg0.fields["shakeAmplitude"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 * s.damp___12155); + s.f___12164 = (r0); + r0 = pxsim.Math_.random(); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.f___12164); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 0); + s.x___12170 = (r0); + r0 = pxsim.Math_.random(); + s.tmp_1 = r0; + r0 = (s.tmp_1 * s.f___12164); + s.tmp_0 = r0; + r0 = (s.tmp_0 >> 0); + s.y___12177 = (r0); + s.tmp_0 = r0 = s.arg0; + r0 = s.tmp_0.fields["drawOffsetX"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.x___12170); + 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___12177); + 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__P2528.info = {"start":2297,"length":1397,"line":77,"column":8,"endLine":112,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"update","argumentNames":["this"]} + +function scene_Camera_update__P2528_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_update__P2528, depth: s.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, + elapsed___12134: undefined, + percentComplete___12148: undefined, + damp___12155: undefined, + f___12164: undefined, + x___12170: undefined, + y___12177: undefined, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetY__P2520(s) { +let r0 = s.r0, 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___12213 = 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__C2512_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1083; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.scene___12213 = (r0); + r0 = s.scene___12213.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___12213.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_9 = tiles_TileMap_offsetY__P2473_mk(s); + r0 = s.scene___12213.fields["tileMap"]; + s.tmp_9.arg0 = r0; + s.tmp_9.arg1 = s.arg1; + s.callLocIdx = 1085; s.pc = 6; return s.tmp_9; + case 6: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_7).fields["_offsetY"] = (s.tmp_8); + { step = 4; continue; } + case 3: + r0 = (s.arg0).fields["_offsetY"] = (s.arg1); + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Camera_offsetY__P2520.info = {"start":1034,"length":267,"line":37,"column":8,"endLine":44,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this","v"]} + +function scene_Camera_offsetY__P2520_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetY__P2520, depth: s.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, + scene___12213: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_enabled__P2478(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_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__P2478.info = {"start":10141,"length":66,"line":351,"column":8,"endLine":353,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"enabled","argumentNames":["this"]} +tiles_TileMap_enabled__P2478.isGetter = true; + +function tiles_TileMap_enabled__P2478_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_enabled__P2478, depth: s.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__P2473(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + s.tmp_0 = Math_clamp__P127_mk(s); + s.tmp_0.arg0 = 0; + s.tmp_1 = Math_max__P130_mk(s); + s.tmp_3 = tiles_TileMap_areaHeight__P2475_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 978; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 979; 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 = 980; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_offsetY__P2473.info = {"start":9594,"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__P2473_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_offsetY__P2473, depth: s.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__P2475(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_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__P2475.info = {"start":9828,"length":93,"line":337,"column":8,"endLine":339,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaHeight","argumentNames":["this"]} + +function tiles_TileMap_areaHeight__P2475_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_areaHeight__P2475, depth: s.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__P2469(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMap_scale__P2469.info = {"start":9169,"length":55,"line":310,"column":8,"endLine":312,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} +tiles_TileMap_scale__P2469.isGetter = true; + +function tiles_TileMap_scale__P2469_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_scale__P2469, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_TileMapData_height__P2451(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_VT)) failedCast(r0); + r0 = s.arg0.fields["_height"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMapData_height__P2451.info = {"start":6453,"length":65,"line":218,"column":8,"endLine":220,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"height","argumentNames":["this"]} +tiles_TileMapData_height__P2451.isGetter = true; + +function tiles_TileMapData_height__P2451_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_height__P2451, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetY__P2519(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetY"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_offsetY__P2519.info = {"start":966,"length":59,"line":34,"column":8,"endLine":36,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetY","argumentNames":["this"]} +scene_Camera_offsetY__P2519.isGetter = true; + +function scene_Camera_offsetY__P2519_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetY__P2519, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetX__P2518(s) { +let r0 = s.r0, 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___12278 = 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__C2512_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1080; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.scene___12278 = (r0); + r0 = s.scene___12278.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___12278.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_9 = tiles_TileMap_offsetX__P2472_mk(s); + r0 = s.scene___12278.fields["tileMap"]; + s.tmp_9.arg0 = r0; + s.tmp_9.arg1 = s.arg1; + s.callLocIdx = 1082; s.pc = 6; return s.tmp_9; + case 6: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_7).fields["_offsetX"] = (s.tmp_8); + { step = 4; continue; } + case 3: + r0 = (s.arg0).fields["_offsetX"] = (s.arg1); + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Camera_offsetX__P2518.info = {"start":690,"length":267,"line":26,"column":8,"endLine":33,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this","v"]} + +function scene_Camera_offsetX__P2518_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetX__P2518, depth: s.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, + scene___12278: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_offsetX__P2472(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + s.tmp_0 = Math_clamp__P127_mk(s); + s.tmp_0.arg0 = 0; + s.tmp_1 = Math_max__P130_mk(s); + s.tmp_3 = tiles_TileMap_areaWidth__P2474_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 975; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 0; + s.callLocIdx = 976; 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 = 977; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_offsetX__P2472.info = {"start":9463,"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__P2472_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_offsetX__P2472, depth: s.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__P2474(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_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__P2474.info = {"start":9727,"length":91,"line":333,"column":8,"endLine":335,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"areaWidth","argumentNames":["this"]} + +function tiles_TileMap_areaWidth__P2474_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_areaWidth__P2474, depth: s.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__P2450(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_VT)) failedCast(r0); + r0 = s.arg0.fields["_width"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMapData_width__P2450.info = {"start":6380,"length":63,"line":214,"column":8,"endLine":216,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"width","argumentNames":["this"]} +tiles_TileMapData_width__P2450.isGetter = true; + +function tiles_TileMapData_width__P2450_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_width__P2450, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Camera_offsetX__P2517(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_VT)) failedCast(r0); + r0 = s.arg0.fields["_offsetX"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Camera_offsetX__P2517.info = {"start":622,"length":59,"line":23,"column":8,"endLine":25,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"offsetX","argumentNames":["this"]} +scene_Camera_offsetX__P2517.isGetter = true; + +function scene_Camera_offsetX__P2517_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_offsetX__P2517, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function PhysicsEngine_move__P2296(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2290_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_move__P2296.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__P2296_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_move__P2296, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function PhysicsEngine_draw__P2295(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2290_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_draw__P2295.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__P2295_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_draw__P2295, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller___update__P1955(s) { +let r0 = s.r0, 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___12523 = 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___12523 = (r0); + r0 = pxsim_pxtcore_mkAction(1, controller___update_inline__P12530); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___12523); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_2 = controller_players__P1923_mk(s); + s.callLocIdx = 240; 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 = 242; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller___update__P1955.info = {"start":11751,"length":137,"line":361,"column":4,"endLine":364,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["dt"]} + +function controller___update__P1955_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller___update__P1955, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + dtms___12523: undefined, + arg0: undefined, +} } + + + + + +function controller___update_inline__P12530(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1953_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.caps[0]; + s.callLocIdx = 241; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller___update_inline__P12530.info = {"start":11853,"length":27,"line":363,"column":26,"endLine":363,"endColumn":53,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} + +function controller___update_inline__P12530_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller___update_inline__P12530, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___update__P1953(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_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__P12543); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + r0 = s.arg0.fields["buttons"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 239; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller___update__P1953.info = {"start":11229,"length":124,"line":343,"column":8,"endLine":346,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__update","argumentNames":["this","dtms"]} + +function controller_Controller___update__P1953_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___update__P1953, depth: s.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__P12543(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1993_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_0.arg1 = r0; + s.callLocIdx = 238; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Controller___update_inline__P12543.info = {"start":11316,"length":25,"line":345,"column":33,"endLine":345,"endColumn":58,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["btn"]} + +function controller_Controller___update_inline__P12543_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___update_inline__P12543, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Button___update__P1993(s) { +let r0 = s.r0, 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___12559 = undefined; + s.interval___12568 = undefined; + s.count___12581 = 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__C1979_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___4198; + { step = 4; continue; } + case 3: + r0 = s.arg0.fields["repeatDelay"]; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + s.delay___12559 = (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___4200; + { step = 6; continue; } + case 5: + r0 = s.arg0.fields["repeatInterval"]; + case 6: + // jmp value (already in r0) + s.tmp_2 = r0; + s.interval___12568 = (s.tmp_2); + r0 = s.arg0.fields["_pressedElasped"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 < s.delay___12559); + 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___12559); + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.interval___12568); + s.tmp_3 = r0; + r0 = (s.tmp_3 / s.interval___12568); + s.tmp_2 = r0; + r0 = pxsim.Math_.floor(s.tmp_2); + s.count___12581 = (r0); + r0 = s.arg0.fields["_repeatCount"]; + s.tmp_1 = r0; + r0 = (s.count___12581 != 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__P4187_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 256; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + r0 = (s.arg0).fields["_repeatCount"] = (s.count___12581); + case 9: + case 10: + case 11: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button___update__P1993.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__P1993_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button___update__P1993, depth: s.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___12559: undefined, + interval___12568: undefined, + count___12581: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_raiseButtonRepeat__P4187(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___4196); + 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__P4187.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__P4187_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_raiseButtonRepeat__P4187, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_players__P1923(s) { +let r0 = s.r0, 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__P1922_mk(s); + s.callLocIdx = 191; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = helpers_arrayFilter__P110_mk(s); + s.tmp_0.arg0 = globals._players___4179; + s.tmp_0.arg1 = controller_players_inline__P12513; + s.callLocIdx = 192; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +controller_players__P1923.info = {"start":748,"length":144,"line":29,"column":4,"endLine":32,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"players","argumentNames":[]} + +function controller_players__P1923_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_players__P1923, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_players_inline__P12513(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P12513.info = {"start":870,"length":14,"line":31,"column":31,"endLine":31,"endColumn":45,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} + +function controller_players_inline__P12513_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_players_inline__P12513, 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__moveSprites__P1927(s) { +let r0 = s.r0, 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__P109_mk(s); + s.tmp_1 = controller_players__P1923_mk(s); + s.callLocIdx = 193; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = controller__moveSprites_inline__P12328; + s.callLocIdx = 195; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller__moveSprites__P1927.info = {"start":1108,"length":180,"line":43,"column":4,"endLine":47,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"_moveSprites","argumentNames":[]} + +function controller__moveSprites__P1927_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__moveSprites__P1927, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function controller__moveSprites_inline__P12328(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1952_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 194; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller__moveSprites_inline__P12328.info = {"start":1254,"length":26,"line":46,"column":26,"endLine":46,"endColumn":52,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["ctrl"]} + +function controller__moveSprites_inline__P12328_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__moveSprites_inline__P12328, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___preUpdate__P1952(s) { +let r0 = s.r0, 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___12335 = undefined; + s.svx___12336 = undefined; + s.svy___12337 = undefined; + s.svxInCricle___12372 = undefined; + s.svyInCircle___12374 = undefined; + s.sq___12376 = undefined; + s.scale___12391 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Controller__C1928_VT)) failedCast(r0); + s.tmp_3 = controller_Controller__controlledSprites__P1933_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 213; 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___12335 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.deadSprites___12335, false); + r0 = pxsim_pxtrt.mklocRef(); + s.svx___12336 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.svx___12336, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.svy___12337 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.svy___12337, 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___12336; + s.tmp_5 = controller_Button_pressureLevel__P1991_mk(s); + s.tmp_6 = controller_Controller_right__P1938_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 214; s.pc = 20; return s.tmp_6; + case 20: + r0 = s.retval; + s.tmp_5.arg0 = r0; + s.callLocIdx = 215; s.pc = 19; return s.tmp_5; + case 19: + r0 = s.retval; + s.tmp_4 = r0; + s.tmp_8 = controller_Button_pressureLevel__P1991_mk(s); + s.tmp_9 = controller_Controller_left__P1937_mk(s); + s.tmp_9.arg0 = s.arg0; + s.callLocIdx = 216; s.pc = 22; return s.tmp_9; + case 22: + r0 = s.retval; + s.tmp_8.arg0 = r0; + s.callLocIdx = 217; 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___12337; + s.tmp_4 = controller_Button_pressureLevel__P1991_mk(s); + s.tmp_5 = controller_Controller_down__P1940_mk(s); + s.tmp_5.arg0 = s.arg0; + s.callLocIdx = 218; s.pc = 24; return s.tmp_5; + case 24: + r0 = s.retval; + s.tmp_4.arg0 = r0; + s.callLocIdx = 219; s.pc = 23; return s.tmp_4; + case 23: + r0 = s.retval; + s.tmp_3 = r0; + s.tmp_7 = controller_Button_pressureLevel__P1991_mk(s); + s.tmp_8 = controller_Controller_up__P1939_mk(s); + s.tmp_8.arg0 = s.arg0; + s.callLocIdx = 220; s.pc = 26; return s.tmp_8; + case 26: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.callLocIdx = 221; 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__C1979_v0_1_mk(s); + s.tmp_2 = controller_Controller_right__P1938_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 222; 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__C1979_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__C1979_v0_1_mk(s); + s.tmp_6 = controller_Controller_left__P1937_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 223; 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__C1979_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___12336; + 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__C1979_v0_1_mk(s); + s.tmp_2 = controller_Controller_down__P1940_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 224; 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__C1979_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__C1979_v0_1_mk(s); + s.tmp_6 = controller_Controller_up__P1939_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 225; 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__C1979_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___12337; + 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___12372 = (r0); + s.tmp_0 = r0 = s.svxInCricle___12372; + r0 = pxsim_pxtrt_ldlocRef(s.svx___12336); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt.mklocRef(); + s.svyInCircle___12374 = (r0); + s.tmp_0 = r0 = s.svyInCircle___12374; + r0 = pxsim_pxtrt_ldlocRef(s.svy___12337); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtrt_ldlocRef(s.svx___12336); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svx___12336); + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svy___12337); + s.tmp_4 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.svy___12337); + s.tmp_5 = r0; + r0 = (s.tmp_4 * s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_0 + s.tmp_3); + s.sq___12376 = (r0); + r0 = (s.sq___12376 > 65536); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = (65536 / s.sq___12376); + s.tmp_1 = r0; + r0 = pxsim.Math_.sqrt(s.tmp_1); + s.scale___12391 = (r0); + s.tmp_0 = r0 = s.svxInCricle___12372; + s.tmp_3 = r0 = s.scale___12391; + r0 = pxsim_pxtrt_ldlocRef(s.svx___12336); + 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___12374; + s.tmp_3 = r0 = s.scale___12391; + r0 = pxsim_pxtrt_ldlocRef(s.svy___12337); + 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__P12409); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___12335); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___12336); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___12337); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.svxInCricle___12372); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.svyInCircle___12374); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_2 = controller_Controller__controlledSprites__P1933_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 226; 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 = 234; s.pc = 35; return s.tmp_1; + case 35: + r0 = s.retval; + r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___12335); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + s.tmp_1 = controller_Controller__controlledSprites__P1934_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = helpers_arrayFilter__P110_mk(s); + s.tmp_3 = controller_Controller__controlledSprites__P1933_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 235; 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__P12466; + s.callLocIdx = 236; s.pc = 38; return s.tmp_2; + case 38: + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.callLocIdx = 237; 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__P1952.info = {"start":8684,"length":2535,"line":277,"column":8,"endLine":341,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"__preUpdate","argumentNames":["this"]} + +function controller_Controller___preUpdate__P1952_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___preUpdate__P1952, depth: s.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___12335: undefined, + svx___12336: undefined, + svy___12337: undefined, + svxInCricle___12372: undefined, + svyInCircle___12374: undefined, + sq___12376: undefined, + scale___12391: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___preUpdate_inline__P12409(s) { +let r0 = s.r0, 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___12412 = undefined; + s.vx___12413 = undefined; + s.vy___12414 = 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 = 227; s.pc = 22; return s.tmp_0; } + } + case 22: + r0 = s.retval; + s.s___12412 = (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 = 228; s.pc = 23; return s.tmp_2; } + } + case 23: + r0 = s.retval; + s.vx___12413 = (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 = 229; s.pc = 24; return s.tmp_3; } + } + case 24: + r0 = s.retval; + s.vy___12414 = (r0); + r0 = s.s___12412.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___12413); + if (!r0) { step = 3; continue; } + r0 = (s.s___12412).fields["_vx"] = (0); + case 3: + case 4: + r0 = pxsim_numops_toBoolDecr(s.vy___12414); + if (!r0) { step = 5; continue; } + r0 = (s.s___12412).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___12413; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 11; continue; } + r0 = s.tmp_2; + { step = 12; continue; } + case 11: + r0 = s.vy___12414; + 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___12412; + r0 = pxsim_pxtrt_ldlocRef(s.caps[3]); + s.tmp_6 = r0; + r0 = pxsim.Math_.imul(s.tmp_6, s.vx___12413); + s.tmp_5 = r0; + r0 = (s.tmp_4).fields["_vx"] = (s.tmp_5); + s.tmp_0 = r0 = s.s___12412; + r0 = pxsim_pxtrt_ldlocRef(s.caps[4]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vy___12414); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1); + { step = 18; continue; } + case 13: + r0 = pxsim_numops_toBoolDecr(s.vx___12413); + if (!r0) { step = 14; continue; } + s.tmp_0 = r0 = s.s___12412; + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vx___12413); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1); + { step = 17; continue; } + case 14: + r0 = pxsim_numops_toBoolDecr(s.vy___12414); + if (!r0) { step = 15; continue; } + s.tmp_0 = r0 = s.s___12412; + r0 = pxsim_pxtrt_ldlocRef(s.caps[2]); + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_2, s.vy___12414); + 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__P12409.info = {"start":9867,"length":1171,"line":308,"column":44,"endLine":336,"endColumn":13,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["controlledSprite"]} + +function controller_Controller___preUpdate_inline__P12409_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___preUpdate_inline__P12409, depth: s.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___12412: undefined, + vx___12413: undefined, + vy___12414: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller___preUpdate_inline__P12466(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P12466.info = {"start":11165,"length":42,"line":340,"column":28,"endLine":340,"endColumn":70,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["s"]} + +function controller_Controller___preUpdate_inline__P12466_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller___preUpdate_inline__P12466, 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__P1991(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_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__C1979_v0_1_mk(s); + s.tmp_3.arg0 = s.arg0; + if (!checkSubtype(s.tmp_3.arg0, controller_Button__C1979_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__P1991.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__P1991_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_pressureLevel__P1991, depth: s.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_Controller_down__P1940(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_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__P1940.info = {"start":3234,"length":77,"line":121,"column":8,"endLine":123,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"down","argumentNames":["this"]} +controller_Controller_down__P1940.isGetter = true; + +function controller_Controller_down__P1940_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_down__P1940, 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__P4181(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_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__P4181.info = {"start":5274,"length":105,"line":184,"column":8,"endLine":186,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"button","argumentNames":["this","button"]} + +function controller_Controller_button__P4181_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_button__P4181, 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__P1939(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_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__P1939.info = {"start":3082,"length":73,"line":113,"column":8,"endLine":115,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"up","argumentNames":["this"]} +controller_Controller_up__P1939.isGetter = true; + +function controller_Controller_up__P1939_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_up__P1939, 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__P1938(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_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__P1938.info = {"start":2926,"length":79,"line":105,"column":8,"endLine":107,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"right","argumentNames":["this"]} +controller_Controller_right__P1938.isGetter = true; + +function controller_Controller_right__P1938_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_right__P1938, 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__P1937(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_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__P1937.info = {"start":2769,"length":77,"line":97,"column":8,"endLine":99,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"left","argumentNames":["this"]} +controller_Controller_left__P1937.isGetter = true; + +function controller_Controller_left__P1937_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_left__P1937, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Fx_imul__P161(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P161.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__P161_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_imul__P161, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function power_checkDeepSleep__P1731(s) { +let r0 = s.r0, 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___11380 = undefined; + s.to___11383 = undefined; + s.tmp_0 = power_init__P4092_mk(s); + s.callLocIdx = 126; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.tmp_0 = r0 = globals._poked___4090; + 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___11380 = (s.tmp_1); + s.tmp_0 = r0 = globals._timeout___4091; + 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___11383 = (s.tmp_1); + r0 = (s.to___11383 > 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___11380); + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.to___11383); + 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__P1731.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__P1731_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: power_checkDeepSleep__P1731, depth: s.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___11380: undefined, + to___11383: undefined, +} } + + + + + +function power_init__P4092(s) { +let r0 = s.r0, 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___4091 !== 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___4091 = (r0); + r0 = (globals._timeout___4091 > 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___4091 < 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___4091 = (300000); + case 5: + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +power_init__P4092.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__P4092_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: power_init__P4092, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function power_poke__P1730(s) { +let r0 = s.r0, 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__P4092_mk(s); + s.callLocIdx = 125; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim.control.millis(); + globals._poked___4090 = (r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +power_poke__P1730.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__P1730_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: power_poke__P1730, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function control_EventContext_deltaTime__P400(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C395_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__P400.info = {"start":2097,"length":75,"line":70,"column":8,"endLine":72,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"deltaTime","argumentNames":["this"]} +control_EventContext_deltaTime__P400.isGetter = true; + +function control_EventContext_deltaTime__P400_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_deltaTime__P400, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function scene_Scene_constructor__P2593(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2571_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__C2306_VT); + s.tmp_0 = r0; + s.tmp_1 = ArcadePhysicsEngine_constructor__P2307_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 = 1101; 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__C2512_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_Camera_constructor__P2516_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 1102; 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__C2400_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_Background_constructor__P2404_mk(s); + s.tmp_1.arg0 = s.tmp_0; + r0 = s.arg0.fields["camera"]; + s.tmp_1.arg1 = r0; + s.callLocIdx = 1103; 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__P2593.info = {"start":3432,"length":836,"line":103,"column":8,"endLine":122,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","eventContext","previousScene"]} + +function scene_Scene_constructor__P2593_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_constructor__P2593, 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__P2516(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2512_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__P2516.info = {"start":456,"length":156,"line":15,"column":8,"endLine":21,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"inline","argumentNames":["this"]} + +function scene_Camera_constructor__P2516_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Camera_constructor__P2516, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_Background_constructor__P2404(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2400_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__P2404.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__P2404_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_constructor__P2404, 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__P2307(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__C2225_VT); + s.tmp_0 = r0; + s.tmp_1 = sprites_SpriteMap_constructor__P2226_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 624; 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__P2309_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 625; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = ArcadePhysicsEngine_maxStep__P2313_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg3; + s.callLocIdx = 626; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = ArcadePhysicsEngine_minStep__P2311_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 627; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_constructor__P2307.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__P2307_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_constructor__P2307, 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__P2313(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__P2313.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__P2313_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxStep__P2313, 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__P2312(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__P2312.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__P2312.isGetter = true; + +function ArcadePhysicsEngine_maxStep__P2312_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxStep__P2312, 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__P172(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P172.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__P172_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_toInt__P172, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_minStep__P2311(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__P2311.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__P2311_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_minStep__P2311, 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__P2310(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__P2310.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__P2310.isGetter = true; + +function ArcadePhysicsEngine_minStep__P2310_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_minStep__P2310, 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__P2309(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__P2309.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__P2309_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxSpeed__P2309, 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__P155(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P155.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__P155_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_neg__P155, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_maxSpeed__P2308(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__P2308.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__P2308.isGetter = true; + +function ArcadePhysicsEngine_maxSpeed__P2308_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_maxSpeed__P2308, 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__P2291(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2290_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_constructor__P2291.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__P2291_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_constructor__P2291, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_constructor__P2226(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2225_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__P2226.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__P2226_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_constructor__P2226, 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__P409(s) { +let r0 = s.r0, 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___12622 = undefined; + s.n___12628 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.eventContexts___4023); + 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___4023 = (r0); + case 1: + case 2: + s.tmp_0 = control_eventContext__P408_mk(s); + s.callLocIdx = 59; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.ctx___12622 = (r0); + r0 = pxsim_numops_toBoolDecr(s.ctx___12622); + if (!r0) { step = 3; continue; } + s.tmp_0 = control_EventContext_unregister__P402_mk(s); + s.tmp_0.arg0 = s.ctx___12622; + s.callLocIdx = 60; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 3: + case 4: + r0 = pxsim_pxtcore_mkClassInstance(control_EventContext__C395_VT); + s.tmp_0 = r0; + s.tmp_1 = control_EventContext_constructor__P399_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 61; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + s.n___12628 = (s.tmp_0); + r0 = pxsim_Array__push(globals.eventContexts___4023, s.n___12628); + r0 = s.n___12628; + return leave(s, r0) + default: oops() +} } } +control_pushEventContext__P409.info = {"start":7123,"length":340,"line":216,"column":4,"endLine":227,"endColumn":5,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"pushEventContext","argumentNames":[]} + +function control_pushEventContext__P409_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_pushEventContext__P409, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + ctx___12622: undefined, + n___12628: undefined, +} } + + + + + +function control_EventContext_constructor__P399(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C395_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___397); + 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___397 = (r0); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control_EventContext_constructor__P399.info = {"start":1740,"length":347,"line":58,"column":8,"endLine":68,"endColumn":9,"fileName":"pxt_modules/base/eventcontext.ts","functionName":"inline","argumentNames":["this"]} + +function control_EventContext_constructor__P399_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control_EventContext_constructor__P399, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function particles_disableAll__P2863(s) { +let r0 = s.r0, 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___12807 = undefined; + s.tmp_0 = particles_particleSources__P4723_mk(s); + s.callLocIdx = 1520; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___12807 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___12807); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.sources___12807; + s.tmp_0.arg1 = particles_disableAll_inline__P12813; + s.callLocIdx = 1522; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P4719_mk(s); + s.callLocIdx = 1523; 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__P2863.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__P2863_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_disableAll__P2863, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___12807: undefined, +} } + + + + + +function particles_disableAll_inline__P12813(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2845_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = false; + s.callLocIdx = 1521; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = false; + return leave(s, r0) + default: oops() +} } } +particles_disableAll_inline__P12813.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__P12813_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_disableAll_inline__P12813, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_clearAll__P2862(s) { +let r0 = s.r0, 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___12818 = undefined; + s.tmp_0 = particles_particleSources__P4723_mk(s); + s.callLocIdx = 1516; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.sources___12818 = (r0); + r0 = pxsim_numops_toBoolDecr(s.sources___12818); + if (!r0) { step = 1; continue; } + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.sources___12818; + s.tmp_0.arg1 = particles_clearAll_inline__P12824; + s.callLocIdx = 1518; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = particles_pruneParticles__P4719_mk(s); + s.callLocIdx = 1519; 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__P2862.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__P2862_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_clearAll__P2862, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + sources___12818: undefined, +} } + + + + + +function particles_clearAll_inline__P12824(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2847_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1517; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_clearAll_inline__P12824.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__P12824_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_clearAll_inline__P12824, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_Dialog_setText__P2656(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_Dialog__C2647_VT)) failedCast(r0); + s.tmp_0 = game_BaseDialog_setFont__P4355_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = image_getFontForText__P1774_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 1191; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1192; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = game_Dialog_chunkText__P2655_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 1193; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["chunks"] = (s.tmp_1); + r0 = (s.arg0).fields["chunkIndex"] = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_Dialog_setText__P2656.info = {"start":7073,"length":183,"line":228,"column":8,"endLine":232,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"setText","argumentNames":["this","rawString"]} + +function game_Dialog_setText__P2656_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_setText__P2656, 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 game_BaseDialog_setFont__P4355(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + r0 = (s.arg0).fields["font"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_setFont__P4355.info = {"start":5393,"length":77,"line":177,"column":8,"endLine":179,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"setFont","argumentNames":["this","font"]} + +function game_BaseDialog_setFont__P4355_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_setFont__P4355, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_Dialog_chunkText__P2655(s) { +let r0 = s.r0, 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.charactersPerRow___9782 = undefined; + s.charactersPerCursorRow___9791 = undefined; + s.rowsOfCharacters___9803 = undefined; + s.rowsWithCursor___9810 = undefined; + s.lineLengths___9818 = undefined; + s.i___9820 = undefined; + s.i___9833 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Dialog__C2647_VT)) failedCast(r0); + s.tmp_2 = game_BaseDialog_textAreaWidth__P4353_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1184; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = if_charWidth_1_mk(s); + r0 = s.arg0.fields["font"]; + s.tmp_4.arg0 = r0; + 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 = 1185; s.pc = 6; return s.tmp_4; } + } + case 6: + 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); + s.charactersPerRow___9782 = (r0); + s.tmp_1 = r0 = s.charactersPerRow___9782; + r0 = s.arg0.fields["cursor"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_4); + s.tmp_3 = r0; + s.tmp_6 = if_charWidth_1_mk(s); + r0 = s.arg0.fields["font"]; + s.tmp_6.arg0 = r0; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "charWidth"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["charWidth"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["charWidth"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 1186; s.pc = 7; return s.tmp_6; } + } + case 7: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_3 / s.tmp_5); + s.tmp_2 = r0; + r0 = (s.tmp_1 - s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim.Math_.floor(s.tmp_0); + s.charactersPerCursorRow___9791 = (r0); + s.tmp_2 = game_BaseDialog_textAreaHeight__P4354_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1187; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = game_BaseDialog_rowHeight__P4352_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 1188; s.pc = 9; return s.tmp_4; + case 9: + 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); + s.rowsOfCharacters___9803 = (r0); + r0 = s.arg0.fields["cursor"]; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_2); + s.tmp_1 = r0; + s.tmp_4 = game_BaseDialog_rowHeight__P4352_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 1189; s.pc = 10; return s.tmp_4; + case 10: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 / s.tmp_3); + s.tmp_0 = r0; + r0 = pxsim.Math_.ceil(s.tmp_0); + s.rowsWithCursor___9810 = (r0); + r0 = pxsim_Array__mk(); + s.lineLengths___9818 = (r0); + s.i___9820 = (0); + case 1: + s.tmp_1 = r0 = s.i___9820; + r0 = (s.rowsOfCharacters___9803 - s.rowsWithCursor___9810); + 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 = pxsim_Array__push(s.lineLengths___9818, s.charactersPerRow___9782); + r0 = (s.i___9820 + 1); + s.i___9820 = (r0); + { step = 1; continue; } + case 2: + s.i___9833 = (0); + case 3: + r0 = (s.i___9833 < s.rowsWithCursor___9810); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__push(s.lineLengths___9818, s.charactersPerCursorRow___9791); + r0 = (s.i___9833 + 1); + s.i___9833 = (r0); + { step = 3; continue; } + case 4: + s.tmp_0 = game_breakIntoPages__P4364_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.lineLengths___9818; + s.callLocIdx = 1190; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +game_Dialog_chunkText__P2655.info = {"start":6328,"length":735,"line":214,"column":8,"endLine":226,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"chunkText","argumentNames":["this","str"]} + +function game_Dialog_chunkText__P2655_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_chunkText__P2655, depth: s.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, + charactersPerRow___9782: undefined, + charactersPerCursorRow___9791: undefined, + rowsOfCharacters___9803: undefined, + rowsWithCursor___9810: undefined, + lineLengths___9818: undefined, + i___9820: undefined, + i___9833: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_breakIntoPages__P4364(s) { +let r0 = s.r0, 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.result___9849 = undefined; + s.currentPage___9851 = undefined; + s.lastBreakLocation___9853 = undefined; + s.lastBreak___9854 = undefined; + s.line___9855 = undefined; + s.lineLength___9856 = undefined; + s.nextLine___9859 = undefined; + s.index___9865 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.result___9849 = (r0); + r0 = pxsim_Array__mk(); + s.currentPage___9851 = (r0); + s.lastBreakLocation___9853 = (0); + s.lastBreak___9854 = (0); + r0 = pxsim_pxtrt.mklocRef(); + s.line___9855 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.line___9855, 0); + r0 = pxsim_pxtrt.mklocRef(); + s.lineLength___9856 = (r0); + s.tmp_0 = r0 = s.lineLength___9856; + s.tmp_2 = r0 = s.arg1; + r0 = pxsim_pxtrt_ldlocRef(s.line___9855); + s.tmp_3 = r0; + r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_pxtcore_mkAction(3, nextLine__P9859); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.line___9855); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.lineLength___9856); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1); + s.nextLine___9859 = (s.tmp_0); + s.index___9865 = (0); + case 1: + s.tmp_1 = r0 = s.index___9865; + 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 = 18; continue; } + r0 = pxsim_String_.charAt(s.arg0, s.index___9865); + s.tmp_4 = r0; + r0 = (s.tmp_4 === "\n"); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 2; continue; } + s.tmp_5 = r0 = s.currentPage___9851; + s.tmp_7 = game_formatLine__P4365_mk(s); + s.tmp_8 = helpers_stringSubstr__P118_mk(s); + s.tmp_8.arg0 = s.arg0; + s.tmp_8.arg1 = s.lastBreak___9854; + r0 = (s.index___9865 - s.lastBreak___9854); + s.tmp_8.arg2 = r0; + s.callLocIdx = 1229; s.pc = 24; return s.tmp_8; + case 24: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.callLocIdx = 1230; s.pc = 23; return s.tmp_7; + case 23: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_Array__push(s.tmp_5, s.tmp_6); + r0 = (s.index___9865 + 1); + s.index___9865 = (r0); + s.lastBreak___9854 = (s.index___9865); + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.nextLine___9859; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 1231; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + { step = 9; continue; } + case 2: + r0 = pxsim_String_.charAt(s.arg0, s.index___9865); + s.tmp_1 = r0; + r0 = (s.tmp_1 === "\\"); + 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_3 = r0 = s.arg0; + r0 = (s.index___9865 + 1); + s.tmp_4 = r0; + r0 = pxsim_String_.charAt(s.tmp_3, s.tmp_4); + s.tmp_2 = r0; + r0 = (s.tmp_2 === "n"); + case 4: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 5; continue; } + s.tmp_6 = r0 = s.currentPage___9851; + s.tmp_8 = game_formatLine__P4365_mk(s); + s.tmp_9 = helpers_stringSubstr__P118_mk(s); + s.tmp_9.arg0 = s.arg0; + s.tmp_9.arg1 = s.lastBreak___9854; + r0 = (s.index___9865 - s.lastBreak___9854); + s.tmp_9.arg2 = r0; + s.callLocIdx = 1232; s.pc = 27; return s.tmp_9; + case 27: + r0 = s.retval; + s.tmp_8.arg0 = r0; + s.callLocIdx = 1233; s.pc = 26; return s.tmp_8; + case 26: + r0 = s.retval; + s.tmp_7 = r0; + r0 = pxsim_Array__push(s.tmp_6, s.tmp_7); + r0 = (s.index___9865 + 2); + s.index___9865 = (r0); + s.lastBreak___9854 = (s.index___9865); + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.nextLine___9859; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 1234; s.pc = 28; return s.tmp_0; + case 28: + r0 = s.retval; + { step = 8; continue; } + case 5: + s.tmp_1 = game_isBreakCharacter__P4363_mk(s); + r0 = pxsim_String_.charCodeAt(s.arg0, s.index___9865); + s.tmp_1.arg0 = r0; + s.callLocIdx = 1235; s.pc = 29; return s.tmp_1; + case 29: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.lastBreakLocation___9853 = (s.index___9865); + case 6: + case 7: + case 8: + case 9: + r0 = (s.index___9865 - s.lastBreak___9854); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_ldlocRef(s.lineLength___9856); + 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; } + r0 = (s.lastBreakLocation___9853 === s.index___9865); + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (!r0) { step = 10; continue; } + r0 = s.tmp_3; + { step = 11; continue; } + case 10: + r0 = (s.lastBreakLocation___9853 < s.lastBreak___9854); + case 11: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 12; continue; } + s.tmp_5 = r0 = s.currentPage___9851; + s.tmp_7 = game_formatLine__P4365_mk(s); + s.tmp_8 = helpers_stringSubstr__P118_mk(s); + s.tmp_8.arg0 = s.arg0; + s.tmp_8.arg1 = s.lastBreak___9854; + r0 = pxsim_pxtrt_ldlocRef(s.lineLength___9856); + s.tmp_8.arg2 = r0; + s.callLocIdx = 1236; s.pc = 31; return s.tmp_8; + case 31: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.callLocIdx = 1237; s.pc = 30; return s.tmp_7; + case 30: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_Array__push(s.tmp_5, s.tmp_6); + s.lastBreak___9854 = (s.index___9865); + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.nextLine___9859; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 1238; s.pc = 32; return s.tmp_0; + case 32: + r0 = s.retval; + { step = 13; continue; } + case 12: + s.tmp_0 = r0 = s.currentPage___9851; + s.tmp_2 = game_formatLine__P4365_mk(s); + s.tmp_3 = helpers_stringSubstr__P118_mk(s); + s.tmp_3.arg0 = s.arg0; + s.tmp_3.arg1 = s.lastBreak___9854; + r0 = (s.lastBreakLocation___9853 - s.lastBreak___9854); + s.tmp_3.arg2 = r0; + s.callLocIdx = 1239; s.pc = 34; return s.tmp_3; + case 34: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.callLocIdx = 1240; s.pc = 33; return s.tmp_2; + case 33: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + s.lastBreak___9854 = (s.lastBreakLocation___9853); + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = s.nextLine___9859; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 1241; s.pc = 35; return s.tmp_0; + case 35: + r0 = s.retval; + case 13: + case 14: + case 15: + r0 = pxsim_pxtrt_ldlocRef(s.line___9855); + s.tmp_1 = r0; + r0 = pxsim_Array__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 = 16; continue; } + r0 = pxsim_pxtrt_stlocRef(s.line___9855, 0); + s.tmp_0 = r0 = s.lineLength___9856; + s.tmp_2 = r0 = s.arg1; + r0 = pxsim_pxtrt_ldlocRef(s.line___9855); + s.tmp_3 = r0; + r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = pxsim_Array__push(s.result___9849, s.currentPage___9851); + r0 = pxsim_Array__mk(); + s.currentPage___9851 = (r0); + case 16: + case 17: + r0 = (s.index___9865 + 1); + s.index___9865 = (r0); + { step = 1; continue; } + case 18: + s.tmp_0 = r0 = s.currentPage___9851; + s.tmp_2 = game_formatLine__P4365_mk(s); + s.tmp_3 = helpers_stringSubstr__P118_mk(s); + s.tmp_3.arg0 = s.arg0; + s.tmp_3.arg1 = s.lastBreak___9854; + r0 = pxsim_String_.length(s.arg0); + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.lastBreak___9854); + s.tmp_3.arg2 = r0; + s.callLocIdx = 1242; s.pc = 37; return s.tmp_3; + case 37: + r0 = s.retval; + s.tmp_2.arg0 = r0; + s.callLocIdx = 1243; s.pc = 36; return s.tmp_2; + case 36: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + r0 = pxsim_Array__length(s.currentPage___9851); + s.tmp_1 = r0; + r0 = (s.tmp_1 > 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 19; continue; } + r0 = s.tmp_0; + { step = 20; continue; } + case 19: + r0 = pxsim_Array__getAt(s.currentPage___9851, 0); + s.tmp_2 = r0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_3 = r0; + r0 = (s.tmp_2 !== s.tmp_3); + case 20: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 21; continue; } + r0 = pxsim_Array__push(s.result___9849, s.currentPage___9851); + case 21: + case 22: + r0 = s.result___9849; + return leave(s, r0) + default: oops() +} } } +game_breakIntoPages__P4364.info = {"start":21243,"length":2187,"line":673,"column":4,"endLine":734,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"breakIntoPages","argumentNames":["text","lineLengths"]} + +function game_breakIntoPages__P4364_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_breakIntoPages__P4364, depth: s.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, + result___9849: undefined, + currentPage___9851: undefined, + lastBreakLocation___9853: undefined, + lastBreak___9854: undefined, + line___9855: undefined, + lineLength___9856: undefined, + nextLine___9859: undefined, + index___9865: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function nextLine__P9859(s) { +let r0 = s.r0, 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 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + s.tmp_0 = r0 = s.caps[1]; + s.tmp_2 = r0 = s.caps[2]; + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_3 = r0; + r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +nextLine__P9859.info = {"start":21536,"length":95,"line":683,"column":8,"endLine":686,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"nextLine","argumentNames":[]} + +function nextLine__P9859_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: nextLine__P9859, depth: s.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_formatLine__P4365(s) { +let r0 = s.r0, 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___10053 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.i___10053 = (0); + case 1: + r0 = pxsim_String_.charAt(s.arg0, s.i___10053); + s.tmp_1 = r0; + r0 = (s.tmp_1 === " "); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + r0 = (s.i___10053 + 1); + s.i___10053 = (r0); + { step = 1; continue; } + case 2: + s.tmp_0 = helpers_stringSubstr__P118_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.i___10053; + r0 = pxsim_String_.length(s.arg0); + s.tmp_0.arg2 = r0; + s.callLocIdx = 1244; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +game_formatLine__P4365.info = {"start":23436,"length":148,"line":736,"column":4,"endLine":740,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"formatLine","argumentNames":["text"]} + +function game_formatLine__P4365_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_formatLine__P4365, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + i___10053: undefined, + arg0: undefined, +} } + + + + + +function game_isBreakCharacter__P4363(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 <= 32); + 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: + r0 = (s.arg0 >= 58); + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (r0) { step = 2; continue; } + r0 = s.tmp_1; + { step = 3; continue; } + case 2: + r0 = (s.arg0 <= 64); + case 3: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = s.tmp_2; + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBool(s.tmp_3); + if (!r0) { step = 5; continue; } + r0 = s.tmp_3; + { step = 8; continue; } + case 5: + r0 = (s.arg0 >= 91); + s.tmp_4 = r0; + r0 = pxsim_numops_toBool(s.tmp_4); + if (r0) { step = 6; continue; } + r0 = s.tmp_4; + { step = 7; continue; } + case 6: + r0 = (s.arg0 <= 96); + case 7: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = s.tmp_5; + case 8: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBool(s.tmp_6); + if (!r0) { step = 9; continue; } + r0 = s.tmp_6; + { step = 12; continue; } + case 9: + r0 = (s.arg0 >= 123); + s.tmp_7 = r0; + r0 = pxsim_numops_toBool(s.tmp_7); + if (r0) { step = 10; continue; } + r0 = s.tmp_7; + { step = 11; continue; } + case 10: + r0 = (s.arg0 <= 126); + case 11: + // jmp value (already in r0) + s.tmp_8 = r0; + r0 = s.tmp_8; + case 12: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = pxsim_numops_toBool(s.tmp_9); + if (!r0) { step = 13; continue; } + r0 = s.tmp_9; + { step = 16; continue; } + case 13: + r0 = (s.arg0 >= 19968); + s.tmp_10 = r0; + r0 = pxsim_numops_toBool(s.tmp_10); + if (r0) { step = 14; continue; } + r0 = s.tmp_10; + { step = 15; continue; } + case 14: + r0 = (s.arg0 <= 40869); + case 15: + // jmp value (already in r0) + s.tmp_11 = r0; + r0 = s.tmp_11; + case 16: + // jmp value (already in r0) + s.tmp_12 = r0; + r0 = pxsim_numops_toBool(s.tmp_12); + if (!r0) { step = 17; continue; } + r0 = s.tmp_12; + { step = 18; continue; } + case 17: + r0 = (s.arg0 == 12290); + case 18: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = pxsim_numops_toBool(s.tmp_13); + if (!r0) { step = 19; continue; } + r0 = s.tmp_13; + { step = 20; continue; } + case 19: + r0 = (s.arg0 == 65292); + case 20: + // jmp value (already in r0) + s.tmp_14 = r0; + r0 = s.tmp_14; + return leave(s, r0) + default: oops() +} } } +game_isBreakCharacter__P4363.info = {"start":20879,"length":358,"line":663,"column":4,"endLine":671,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"isBreakCharacter","argumentNames":["charCode"]} + +function game_isBreakCharacter__P4363_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_isBreakCharacter__P4363, depth: s.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, + arg0: undefined, +} } + + + + + +function helpers_stringSubstr__P118(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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.arg2 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim_String_.length(s.arg0); + { step = 4; continue; } + case 1: + s.tmp_1 = r0 = s.arg2; + r0 = pxsim_numops_toBool(s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = s.tmp_1; + { step = 3; continue; } + case 2: + r0 = 0; + case 3: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = s.tmp_2; + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + s.arg2 = (s.tmp_3); + r0 = pxsim_String_.substr(s.arg0, s.arg1, s.arg2); + return leave(s, r0) + default: oops() +} } } +helpers_stringSubstr__P118.info = {"start":11286,"length":204,"line":379,"column":4,"endLine":382,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringSubstr","argumentNames":["s","start","length"]} + +function helpers_stringSubstr__P118_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_stringSubstr__P118, depth: s.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, +} } + + + + + +function game_BaseDialog_textAreaHeight__P4354(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + r0 = s.arg0.fields["image"]; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_2); + s.tmp_1 = r0; + r0 = s.arg0.fields["innerTop"]; + s.tmp_5 = r0; + s.tmp_7 = Math_min__P131_mk(s); + r0 = s.arg0.fields["unit"]; + s.tmp_7.arg0 = r0; + s.tmp_7.arg1 = 12; + s.callLocIdx = 1180; s.pc = 1; return s.tmp_7; + case 1: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_4 << 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_textAreaHeight__P4354.info = {"start":5240,"length":143,"line":173,"column":8,"endLine":175,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"textAreaHeight","argumentNames":["this"]} + +function game_BaseDialog_textAreaHeight__P4354_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_textAreaHeight__P4354, depth: s.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 game_BaseDialog_textAreaWidth__P4353(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + r0 = s.arg0.fields["image"]; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_2); + s.tmp_1 = r0; + r0 = s.arg0.fields["innerLeft"]; + s.tmp_5 = r0; + s.tmp_7 = Math_min__P131_mk(s); + r0 = s.arg0.fields["unit"]; + s.tmp_7.arg0 = r0; + s.tmp_7.arg1 = 12; + s.callLocIdx = 1179; s.pc = 1; return s.tmp_7; + case 1: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_5 + s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_4 << 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 2); + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_textAreaWidth__P4353.info = {"start":5088,"length":142,"line":169,"column":8,"endLine":171,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"textAreaWidth","argumentNames":["this"]} + +function game_BaseDialog_textAreaWidth__P4353_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_textAreaWidth__P4353, depth: s.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 game_BaseDialog_rowHeight__P4352(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + s.tmp_1 = if_charHeight_1_mk(s); + r0 = s.arg0.fields["font"]; + s.tmp_1.arg0 = r0; + 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 = 1178; s.pc = 1; return s.tmp_1; } + } + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_rowHeight__P4352.info = {"start":5000,"length":78,"line":165,"column":8,"endLine":167,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"rowHeight","argumentNames":["this"]} + +function game_BaseDialog_rowHeight__P4352_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_rowHeight__P4352, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function game_Dialog_prevPage__P2654(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_Dialog__C2647_VT)) failedCast(r0); + s.tmp_1 = game_Dialog_hasPrev__P2652_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 1183; 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 = r0 = s.arg0; + r0 = s.tmp_2.fields["chunkIndex"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - 1); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["chunkIndex"] = (s.tmp_3); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_Dialog_prevPage__P2654.info = {"start":6213,"length":105,"line":208,"column":8,"endLine":212,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"prevPage","argumentNames":["this"]} + +function game_Dialog_prevPage__P2654_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_prevPage__P2654, depth: s.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 game_Dialog_nextPage__P2653(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_Dialog__C2647_VT)) failedCast(r0); + s.tmp_1 = game_Dialog_hasNext__P2651_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 1182; 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 = r0 = s.arg0; + r0 = s.tmp_2.fields["chunkIndex"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + 1); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["chunkIndex"] = (s.tmp_3); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_Dialog_nextPage__P2653.info = {"start":6098,"length":105,"line":202,"column":8,"endLine":206,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"nextPage","argumentNames":["this"]} + +function game_Dialog_nextPage__P2653_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_nextPage__P2653, depth: s.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 game_Dialog_hasPrev__P2652(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_Dialog__C2647_VT)) failedCast(r0); + r0 = s.arg0.fields["chunks"]; + 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.arg0.fields["chunks"]; + s.tmp_4 = r0; + r0 = pxsim_Array__length(s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 === 0); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 3; continue; } + r0 = false; + { step = 5; continue; } + case 3: + case 4: + r0 = s.arg0.fields["chunkIndex"]; + s.tmp_6 = r0; + r0 = (s.tmp_6 > 0); + case 5: + return leave(s, r0) + default: oops() +} } } +game_Dialog_hasPrev__P2652.info = {"start":5955,"length":133,"line":197,"column":8,"endLine":200,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"hasPrev","argumentNames":["this"]} + +function game_Dialog_hasPrev__P2652_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_hasPrev__P2652, depth: s.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 game_Dialog_hasNext__P2651(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_Dialog__C2647_VT)) failedCast(r0); + r0 = s.arg0.fields["chunks"]; + 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.arg0.fields["chunks"]; + s.tmp_4 = r0; + r0 = pxsim_Array__length(s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 === 0); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 3; continue; } + r0 = false; + { step = 5; continue; } + case 3: + case 4: + r0 = s.arg0.fields["chunkIndex"]; + s.tmp_6 = r0; + r0 = s.arg0.fields["chunks"]; + s.tmp_9 = r0; + r0 = pxsim_Array__length(s.tmp_9); + s.tmp_8 = r0; + r0 = (s.tmp_8 - 1); + s.tmp_7 = r0; + r0 = (s.tmp_6 < s.tmp_7); + case 5: + return leave(s, r0) + default: oops() +} } } +game_Dialog_hasNext__P2651.info = {"start":5791,"length":154,"line":192,"column":8,"endLine":195,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"hasNext","argumentNames":["this"]} + +function game_Dialog_hasNext__P2651_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_hasNext__P2651, depth: s.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 game_Dialog_constructor__P2650(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_Dialog__C2647_VT)) failedCast(r0); + s.tmp_0 = game_BaseDialog_constructor__P2642_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.arg3; + s.tmp_0.arg4 = s.arg4; + s.tmp_0.arg5 = s.arg5; + s.callLocIdx = 1181; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["chunkIndex"] = (0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_Dialog_constructor__P2650.info = {"start":5588,"length":193,"line":186,"column":8,"endLine":190,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":["this","width","height","frame","font","cursor"]} + +function game_Dialog_constructor__P2650_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_constructor__P2650, 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, + arg5: undefined, +} } + + + + + +function game_BaseDialog_constructor__P2642(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.image.create(s.arg1, s.arg2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["image"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg3; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = globals.dialogFrame___4342; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (!r0) { step = 3; continue; } + r0 = s.tmp_1; + { step = 4; continue; } + case 3: + s.tmp_3 = game_defaultFrame__P4360_mk(s); + s.callLocIdx = 1150; s.pc = 13; return s.tmp_3; + case 13: + r0 = s.retval; + s.tmp_2 = r0; + globals.dialogFrame___4342 = (r0); + r0 = s.tmp_2; + case 4: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = (s.arg0).fields["frame"] = (s.tmp_4); + s.tmp_0 = r0 = s.arg4; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.tmp_0; + { step = 6; continue; } + case 5: + r0 = globals.font8___1772; + case 6: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg0).fields["font"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg5; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = s.tmp_0; + { step = 8; continue; } + case 7: + r0 = globals.dialogCursor___4343; + case 8: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (!r0) { step = 9; continue; } + r0 = s.tmp_1; + { step = 10; continue; } + case 9: + s.tmp_3 = game_defaultCursorImage__P4362_mk(s); + s.callLocIdx = 1151; s.pc = 14; return s.tmp_3; + case 14: + r0 = s.retval; + s.tmp_2 = r0; + globals.dialogCursor___4343 = (r0); + r0 = s.tmp_2; + case 10: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = (s.arg0).fields["cursor"] = (s.tmp_4); + r0 = (globals.dialogTextColor___4344 == undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + globals.dialogTextColor___4344 = (15); + r0 = 15; + { step = 12; continue; } + case 11: + r0 = globals.dialogTextColor___4344; + case 12: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg0).fields["textColor"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["frame"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 / 3); + s.tmp_2 = r0; + r0 = pxsim.Math_.floor(s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["unit"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["unit"]; + s.tmp_3 = r0; + r0 = (s.arg1 / s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim.Math_.floor(s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["columns"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["unit"]; + s.tmp_3 = r0; + r0 = (s.arg2 / s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim.Math_.floor(s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["rows"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_3 = r0 = s.arg1; + r0 = s.arg0.fields["columns"]; + s.tmp_5 = r0; + r0 = s.arg0.fields["unit"]; + 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 = (s.tmp_0).fields["innerLeft"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_3 = r0 = s.arg2; + r0 = s.arg0.fields["rows"]; + s.tmp_5 = r0; + r0 = s.arg0.fields["unit"]; + 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 = (s.tmp_0).fields["innerTop"] = (s.tmp_1); + r0 = (s.arg0).fields["cursorCount"] = (0); + s.tmp_0 = game_BaseDialog_drawBorder__P4347_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1152; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_clearInterior__P4349_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1153; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_constructor__P2642.info = {"start":665,"length":895,"line":37,"column":8,"endLine":59,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":["this","width","height","frame","font","cursor"]} + +function game_BaseDialog_constructor__P2642_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_constructor__P2642, depth: s.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, + arg3: undefined, + arg4: undefined, + arg5: undefined, +} } + + + + + +function game_defaultCursorImage__P4362(s) { +let r0 = s.r0, 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_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.image.ofBuffer(_hex10342); + { step = 2; continue; } + case 1: + r0 = pxsim.image.ofBuffer(_hex10344); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +game_defaultCursorImage__P4362.info = {"start":17303,"length":690,"line":548,"column":4,"endLine":574,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultCursorImage","argumentNames":[]} + +function game_defaultCursorImage__P4362_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_defaultCursorImage__P4362, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + +const _hex10342 = pxsim.BufferMethods.createBufferFromHex("87040a000800000011111101010000010111010111100001011101010100000101000001100010000001010000100000") +const _hex10344 = pxsim.BufferMethods.createBufferFromHex("87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000") + + + + +function game_defaultFrame__P4360(s) { +let r0 = s.r0, 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_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.image.ofBuffer(_hex10348); + { step = 2; continue; } + case 1: + r0 = pxsim.image.ofBuffer(_hex10350); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +game_defaultFrame__P4360.info = {"start":16515,"length":556,"line":509,"column":4,"endLine":531,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultFrame","argumentNames":[]} + +function game_defaultFrame__P4360_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_defaultFrame__P4360, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + +const _hex10348 = pxsim.BufferMethods.createBufferFromHex("8704030003000000110100000101000011010000") +const _hex10350 = pxsim.BufferMethods.createBufferFromHex("87040c000c0000000000000000000000b0bbbbbbbb0b0000b0bbbbbbbbcb0000b0db1111bdcb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b0db1111bdcb0000b0bbbbbbbbcb0000b0bbbbbbbbcb000000cccccccccc0000") + + + + +function game_BaseDialog_clearInterior__P4349(s) { +let r0 = s.r0, 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.d___9614 = undefined; + s.s___9621 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_BaseDialog__C2630_VT)) failedCast(r0); + r0 = s.arg0.fields["unit"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = 4; + s.tmp_2.arg2 = 1; + s.tmp_2.arg3 = 1; + r0 = s.arg0.fields["columns"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 - 2); + s.tmp_2.arg4 = r0; + r0 = s.arg0.fields["rows"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - 2); + s.tmp_2.arg5 = r0; + s.callLocIdx = 1176; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + { step = 7; continue; } + case 1: + case 2: + s.d___9614 = (1); + case 3: + s.tmp_1 = r0 = s.d___9614; + r0 = s.arg0.fields["columns"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 - 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 = 6; continue; } + s.s___9621 = (1); + case 4: + s.tmp_1 = r0 = s.s___9621; + r0 = s.arg0.fields["rows"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 - 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 = 5; continue; } + s.tmp_4 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = 4; + s.tmp_4.arg2 = s.d___9614; + s.tmp_4.arg3 = s.s___9621; + s.callLocIdx = 1177; s.pc = 9; return s.tmp_4; + case 9: + r0 = s.retval; + r0 = (s.s___9621 + 1); + s.s___9621 = (r0); + { step = 4; continue; } + case 5: + r0 = (s.d___9614 + 1); + s.d___9614 = (r0); + { step = 3; continue; } + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_clearInterior__P4349.info = {"start":3942,"length":342,"line":133,"column":8,"endLine":142,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"clearInterior","argumentNames":["this"]} + +function game_BaseDialog_clearInterior__P4349_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_clearInterior__P4349, depth: s.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, + d___9614: undefined, + s___9621: undefined, + arg0: undefined, +} } + + + + + +function game_BaseDialog_drawPartial__P4350(s) { +let r0 = s.r0, 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___9639 = undefined; + s.y0___9647 = undefined; + s.xf___9655 = undefined; + s.yf___9662 = undefined; + s.e___9669 = undefined; + s.t___9675 = 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, game_BaseDialog__C2630_VT)) failedCast(r0); + r0 = s.arg0.fields["innerLeft"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["unit"]; + s.tmp_2 = r0; + r0 = (s.arg2 * s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.x0___9639 = (r0); + r0 = s.arg0.fields["innerTop"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["unit"]; + s.tmp_2 = r0; + r0 = (s.arg3 * s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.y0___9647 = (r0); + r0 = (s.arg1 % 3); + s.tmp_0 = r0; + r0 = s.arg0.fields["unit"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 * s.tmp_1); + s.xf___9655 = (r0); + r0 = pxsim.Math_.idiv(s.arg1, 3); + s.tmp_0 = r0; + r0 = s.arg0.fields["unit"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 * s.tmp_1); + s.yf___9662 = (r0); + s.e___9669 = (0); + case 1: + r0 = s.arg0.fields["unit"]; + s.tmp_1 = r0; + r0 = (s.e___9669 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.t___9675 = (0); + case 2: + r0 = s.arg0.fields["unit"]; + s.tmp_1 = r0; + r0 = (s.t___9675 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = s.arg0.fields["image"]; + s.tmp_2 = r0; + r0 = (s.x0___9639 + s.e___9669); + s.tmp_3 = r0; + r0 = (s.y0___9647 + s.t___9675); + s.tmp_4 = r0; + r0 = s.arg0.fields["frame"]; + s.tmp_6 = r0; + r0 = (s.xf___9655 + s.e___9669); + s.tmp_7 = r0; + r0 = (s.yf___9662 + s.t___9675); + s.tmp_8 = r0; + r0 = pxsim_ImageMethods.getPixel(s.tmp_6, s.tmp_7, s.tmp_8); + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_2, s.tmp_3, s.tmp_4, s.tmp_5); + r0 = (s.t___9675 + 1); + s.t___9675 = (r0); + { step = 2; continue; } + case 3: + r0 = (s.e___9669 + 1); + s.e___9669 = (r0); + { step = 1; continue; } + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_drawPartial__P4350.info = {"start":4294,"length":604,"line":144,"column":8,"endLine":159,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawPartial","argumentNames":["this","index","colTo","rowTo"]} + +function game_BaseDialog_drawPartial__P4350_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_drawPartial__P4350, depth: s.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, + x0___9639: undefined, + y0___9647: undefined, + xf___9655: undefined, + yf___9662: undefined, + e___9669: undefined, + t___9675: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function game_BaseDialog_fastFill__P4348(s) { +let r0 = s.r0, 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.color___9711 = 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.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_BaseDialog__C2630_VT)) failedCast(r0); + r0 = s.arg0.fields["frame"]; + s.tmp_0 = r0; + r0 = (s.arg1 % 3); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.arg1, 3); + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.getPixel(s.tmp_0, s.tmp_1, s.tmp_2); + s.color___9711 = (r0); + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + r0 = s.arg0.fields["image"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["innerLeft"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 + s.arg2); + s.tmp_0.arg1 = r0; + r0 = s.arg0.fields["innerTop"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.arg3); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.arg4; + s.tmp_0.arg4 = s.arg5; + s.tmp_0.arg5 = s.color___9711; + s.callLocIdx = 1175; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_fastFill__P4348.info = {"start":3683,"length":249,"line":128,"column":8,"endLine":131,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"fastFill","argumentNames":["this","index","x","y","w","h"]} + +function game_BaseDialog_fastFill__P4348_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_fastFill__P4348, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + color___9711: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, + arg5: undefined, +} } + + + + + +function game_BaseDialog_drawBorder__P4347(s) { +let r0 = s.r0, 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.y___10273 = undefined; + s.c___10289 = undefined; + s.r___10323 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_BaseDialog__C2630_VT)) failedCast(r0); + r0 = s.arg0.fields["unit"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 == 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = 0; + s.tmp_2.arg2 = 0; + s.tmp_2.arg3 = 0; + s.tmp_2.arg4 = 1; + s.tmp_2.arg5 = 1; + s.callLocIdx = 1159; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = 1; + s.tmp_0.arg3 = 0; + r0 = s.arg0.fields["columns"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 2); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = 1; + s.callLocIdx = 1160; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 2; + r0 = s.arg0.fields["columns"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = 0; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = 1; + s.callLocIdx = 1161; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 3; + s.tmp_0.arg2 = 0; + s.tmp_0.arg3 = 1; + s.tmp_0.arg4 = 1; + r0 = s.arg0.fields["rows"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 2); + s.tmp_0.arg5 = r0; + s.callLocIdx = 1162; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 5; + r0 = s.arg0.fields["columns"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = 1; + s.tmp_0.arg4 = 1; + r0 = s.arg0.fields["rows"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 2); + s.tmp_0.arg5 = r0; + s.callLocIdx = 1163; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + r0 = s.arg0.fields["rows"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + s.y___10273 = (r0); + s.tmp_0 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 6; + s.tmp_0.arg2 = 0; + s.tmp_0.arg3 = s.y___10273; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = 1; + s.callLocIdx = 1164; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 7; + s.tmp_0.arg2 = 1; + s.tmp_0.arg3 = s.y___10273; + r0 = s.arg0.fields["columns"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 2); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = 1; + s.callLocIdx = 1165; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_fastFill__P4348_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 8; + r0 = s.arg0.fields["columns"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.y___10273; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = 1; + s.callLocIdx = 1166; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + { step = 11; continue; } + case 1: + case 2: + s.c___10289 = (0); + case 3: + r0 = s.arg0.fields["columns"]; + s.tmp_1 = r0; + r0 = (s.c___10289 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + r0 = (s.c___10289 == 0); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 4; continue; } + s.tmp_3 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_3.arg0 = s.arg0; + s.tmp_3.arg1 = 0; + s.tmp_3.arg2 = 0; + s.tmp_3.arg3 = 0; + s.callLocIdx = 1167; s.pc = 20; return s.tmp_3; + case 20: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 6; + s.tmp_0.arg2 = 0; + r0 = s.arg0.fields["rows"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg3 = r0; + s.callLocIdx = 1168; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + { step = 7; continue; } + case 4: + s.tmp_1 = r0 = s.c___10289; + r0 = s.arg0.fields["columns"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 - 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 = 5; continue; } + s.tmp_4 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = 2; + s.tmp_4.arg2 = s.c___10289; + s.tmp_4.arg3 = 0; + s.callLocIdx = 1169; s.pc = 22; return s.tmp_4; + case 22: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 8; + s.tmp_0.arg2 = s.c___10289; + r0 = s.arg0.fields["rows"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg3 = r0; + s.callLocIdx = 1170; s.pc = 23; return s.tmp_0; + case 23: + r0 = s.retval; + { step = 6; continue; } + case 5: + s.tmp_0 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = s.c___10289; + s.tmp_0.arg3 = 0; + s.callLocIdx = 1171; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 7; + s.tmp_0.arg2 = s.c___10289; + r0 = s.arg0.fields["rows"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg3 = r0; + s.callLocIdx = 1172; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + case 6: + case 7: + r0 = (s.c___10289 + 1); + s.c___10289 = (r0); + { step = 3; continue; } + case 8: + s.r___10323 = (1); + case 9: + s.tmp_1 = r0 = s.r___10323; + r0 = s.arg0.fields["rows"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 - 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; } + s.tmp_4 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = 3; + s.tmp_4.arg2 = 0; + s.tmp_4.arg3 = s.r___10323; + s.callLocIdx = 1173; s.pc = 26; return s.tmp_4; + case 26: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_drawPartial__P4350_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 5; + r0 = s.arg0.fields["columns"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.r___10323; + s.callLocIdx = 1174; s.pc = 27; return s.tmp_0; + case 27: + r0 = s.retval; + r0 = (s.r___10323 + 1); + s.r___10323 = (r0); + { step = 9; continue; } + case 10: + case 11: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_drawBorder__P4347.info = {"start":2352,"length":1321,"line":90,"column":8,"endLine":126,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawBorder","argumentNames":["this"]} + +function game_BaseDialog_drawBorder__P4347_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_drawBorder__P4347, depth: s.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, + y___10273: undefined, + c___10289: undefined, + r___10323: undefined, + arg0: undefined, +} } + + + + + +function game_BaseDialog_update__P2643(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + s.tmp_0 = game_BaseDialog_clearInterior__P4349_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1154; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = game_BaseDialog__C2630_v2_1_mk(s); + s.tmp_0.arg0 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, game_BaseDialog__C2630_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore; + s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = game_BaseDialog_drawCursorRow__P2646_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1155; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_update__P2643.info = {"start":1570,"length":121,"line":61,"column":8,"endLine":65,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"update","argumentNames":["this"]} + +function game_BaseDialog_update__P2643_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_update__P2643, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_BaseDialog_drawCursorRow__P2646(s) { +let r0 = s.r0, 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.offset___9519 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_BaseDialog__C2630_VT)) failedCast(r0); + s.offset___9519 = (0); + r0 = s.arg0.fields["cursorCount"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 20); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.offset___9519 = (1); + case 1: + case 2: + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["cursorCount"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 + 1); + s.tmp_2 = r0; + r0 = (s.tmp_2 % 40); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["cursorCount"] = (s.tmp_1); + r0 = s.arg0.fields["image"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["cursor"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["innerLeft"]; + s.tmp_6 = r0; + s.tmp_8 = game_BaseDialog_textAreaWidth__P4353_mk(s); + s.tmp_8.arg0 = s.arg0; + s.callLocIdx = 1156; s.pc = 3; return s.tmp_8; + case 3: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_6 + s.tmp_7); + s.tmp_5 = r0; + r0 = s.arg0.fields["unit"]; + s.tmp_9 = r0; + r0 = (s.tmp_5 + s.tmp_9); + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.offset___9519); + s.tmp_3 = r0; + r0 = s.arg0.fields["cursor"]; + s.tmp_11 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_11); + s.tmp_10 = r0; + r0 = (s.tmp_3 - s.tmp_10); + s.tmp_2 = r0; + r0 = s.arg0.fields["innerTop"]; + s.tmp_16 = r0; + r0 = s.arg0.fields["unit"]; + s.tmp_17 = r0; + r0 = (s.tmp_16 + s.tmp_17); + s.tmp_15 = r0; + s.tmp_19 = game_BaseDialog_textAreaHeight__P4354_mk(s); + s.tmp_19.arg0 = s.arg0; + s.callLocIdx = 1157; s.pc = 4; return s.tmp_19; + case 4: + r0 = s.retval; + s.tmp_18 = r0; + r0 = (s.tmp_15 + s.tmp_18); + s.tmp_14 = r0; + r0 = (s.tmp_14 + 1); + s.tmp_13 = r0; + r0 = s.arg0.fields["cursor"]; + s.tmp_22 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_22); + s.tmp_21 = r0; + r0 = (s.tmp_21 + 1); + s.tmp_20 = r0; + r0 = (s.tmp_13 - s.tmp_20); + s.tmp_12 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_12); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_drawCursorRow__P2646.info = {"start":1863,"length":479,"line":75,"column":8,"endLine":88,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawCursorRow","argumentNames":["this"]} + +function game_BaseDialog_drawCursorRow__P2646_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_drawCursorRow__P2646, depth: s.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, + offset___9519: undefined, + arg0: undefined, +} } + + + + + +function game_BaseDialog_cursorRowHeight__P4351(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + r0 = s.arg0.fields["cursor"]; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_1); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_cursorRowHeight__P4351.info = {"start":4908,"length":82,"line":161,"column":8,"endLine":163,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"cursorRowHeight","argumentNames":["this"]} + +function game_BaseDialog_cursorRowHeight__P4351_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_cursorRowHeight__P4351, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function game_BaseDialog_drawTextCore__P2645(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_drawTextCore__P2645.info = {"start":1788,"length":65,"line":71,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawTextCore","argumentNames":["this"]} + +function game_BaseDialog_drawTextCore__P2645_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_drawTextCore__P2645, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Sprite_top__P2191(s) { +let r0 = s.r0, 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___10129 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 427; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["physicsEngine"]; + s.physics___10129 = (r0); + s.tmp_0 = PhysicsEngine__C2290_v2_4_mk(s); + s.tmp_0.arg0 = s.physics___10129; + 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__C2290_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__P2191.info = {"start":12788,"length":256,"line":454,"column":4,"endLine":464,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this","value"]} + +function Sprite_top__P2191_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_top__P2191, depth: s.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___10129: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_sub__P159(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P159.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__P159_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_sub__P159, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_top__P2190(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2190.info = {"start":12645,"length":53,"line":449,"column":4,"endLine":451,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"top","argumentNames":["this"]} +Sprite_top__P2190.isGetter = true; + +function Sprite_top__P2190_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_top__P2190, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_left__P2187(s) { +let r0 = s.r0, 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___10101 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 419; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = r0.fields["physicsEngine"]; + s.physics___10101 = (r0); + s.tmp_0 = PhysicsEngine__C2290_v2_4_mk(s); + s.tmp_0.arg0 = s.physics___10101; + 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__C2290_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__P2187.info = {"start":11954,"length":257,"line":424,"column":4,"endLine":434,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this","value"]} + +function Sprite_left__P2187_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_left__P2187, depth: s.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___10101: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_left__P2186(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2186.info = {"start":11810,"length":53,"line":419,"column":4,"endLine":421,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"left","argumentNames":["this"]} +Sprite_left__P2186.isGetter = true; + +function Sprite_left__P2186_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_left__P2186, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller__setUserEventsEnabled__P1996(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4196 = (s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller__setUserEventsEnabled__P1996.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__P1996_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller__setUserEventsEnabled__P1996, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_Button_isPressed__P1990(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_VT)) failedCast(r0); + r0 = s.arg0.fields["_pressed"]; + return leave(s, r0) + default: oops() +} } } +controller_Button_isPressed__P1990.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__P1990_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_isPressed__P1990, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function console_inspect__P382(s) { +let r0 = s.r0, 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___12849 = undefined; + s.asString___12867 = undefined; + s.keys___12879 = undefined; + s.snipped___12883 = 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___12849 = (s.arg0); + r0 = pxsim_Array__length(s.asArr___12849); + 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__P103_mk(s); + s.tmp_2.arg0 = s.asArr___12849; + s.tmp_2.arg1 = ","; + s.callLocIdx = 39; 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__P103_mk(s); + s.tmp_8 = helpers_arraySlice__P115_mk(s); + s.tmp_8.arg0 = s.asArr___12849; + s.tmp_8.arg1 = 0; + s.tmp_8.arg2 = s.arg1; + s.callLocIdx = 40; s.pc = 21; return s.tmp_8; + case 21: + r0 = s.retval; + s.tmp_7.arg0 = r0; + s.tmp_7.arg1 = ","; + s.callLocIdx = 41; 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___12867 = (r0); + r0 = (s.asString___12867 != "[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___12867 != "[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___12867; + { step = 17; continue; } + case 8: + case 9: + r0 = pxsim_pxtrt.keysOf(s.arg0); + s.keys___12879 = (r0); + r0 = pxsim_Array__length(s.keys___12879); + s.tmp_0 = r0; + r0 = (s.tmp_0 > s.arg1); + s.snipped___12883 = (r0); + r0 = pxsim_numops_toBoolDecr(s.snipped___12883); + if (!r0) { step = 10; continue; } + s.tmp_0 = helpers_arraySlice__P115_mk(s); + s.tmp_0.arg0 = s.keys___12879; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 42; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.keys___12879 = (r0); + case 10: + case 11: + r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P12900); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_numops_toBoolDecr(s.snipped___12883); + 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__P112_mk(s); + s.tmp_7.arg0 = s.keys___12879; + s.tmp_7.arg1 = s.tmp_0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_7.arg2 = r0; + s.callLocIdx = 43; 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__P382.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__P382_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_inspect__P382, depth: s.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___12849: undefined, + asString___12867: undefined, + keys___12879: undefined, + snipped___12883: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function console_inspect_inline__P12900(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P12900.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__P12900_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_inspect_inline__P12900, depth: s.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_arrayReduce__P112(s) { +let r0 = s.r0, 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___12927 = undefined; + s.i___12930 = 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___12927 = (r0); + s.i___12930 = (0); + case 1: + r0 = (s.i___12930 < s.len___12927); + 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___12930); + s.tmp_1.arg1 = r0; + s.tmp_1.arg2 = s.i___12930; + setupLambda(s.tmp_1, s.tmp_1.argL); + s.callLocIdx = 9; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.arg2 = (r0); + r0 = (s.i___12930 + 1); + s.i___12930 = (r0); + { step = 1; continue; } + case 2: + r0 = s.arg2; + return leave(s, r0) + default: oops() +} } } +helpers_arrayReduce__P112.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__P112_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayReduce__P112, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + len___12927: undefined, + i___12930: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_arrayJoin__P103(s) { +let r0 = s.r0, 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___12955 = undefined; + s.len___12956 = undefined; + s.i___12959 = 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___12955 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___12956 = (r0); + s.i___12959 = (0); + case 5: + r0 = (s.i___12959 < s.len___12956); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.i___12959 > 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___12955) && (s.r___12955).vtable) { + setupResume(s, 15); + pxsim_String__stringConv(s.r___12955); + checkResumeConsumed(); + return; + } else { s.retval = (s.r___12955) + ""; } + 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___12955 = (r0); + case 8: + case 9: + r0 = pxsim_Array__getAt(s.arg0, s.i___12959); + 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___12959); + 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___12959); + case 13: + // jmp value (already in r0) + s.tmp_4 = r0; + if ((s.r___12955) && (s.r___12955).vtable) { + setupResume(s, 17); + pxsim_String__stringConv(s.r___12955); + checkResumeConsumed(); + return; + } else { s.retval = (s.r___12955) + ""; } + 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___12955 = (r0); + r0 = (s.i___12959 + 1); + s.i___12959 = (r0); + { step = 5; continue; } + case 14: + r0 = s.r___12955; + return leave(s, r0) + default: oops() +} } } +helpers_arrayJoin__P103.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__P103_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayJoin__P103, depth: s.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___12955: undefined, + len___12956: undefined, + i___12959: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_setCurrentTilemap__P2495(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_setTileMapLevel__P2615_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1056; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_setCurrentTilemap__P2495.info = {"start":19719,"length":103,"line":613,"column":4,"endLine":615,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setCurrentTilemap","argumentNames":["tilemap"]} + +function tiles_setCurrentTilemap__P2495_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_setCurrentTilemap__P2495, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function scene_setTileMapLevel__P2615(s) { +let r0 = s.r0, 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___13018 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1137; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.scene___13018 = (r0); + r0 = s.scene___13018.fields["tileMap"]; + 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(tiles_TileMap__C2466_VT); + s.tmp_3 = r0; + s.tmp_4 = tiles_TileMap_constructor__P2468_mk(s); + s.tmp_4.arg0 = s.tmp_3; + s.tmp_4.arg1 = 4; + s.callLocIdx = 1138; s.pc = 4; return s.tmp_4; + case 4: + r0 = s.retval; + r0 = (s.scene___13018).fields["tileMap"] = (s.tmp_3); + case 1: + case 2: + s.tmp_0 = tiles_TileMap_setData__P2479_mk(s); + r0 = s.scene___13018.fields["tileMap"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1139; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = tiles_TileMap_scale__P2470_mk(s); + r0 = s.scene___13018.fields["tileMap"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["_scale"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1141; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_setTileMapLevel__P2615.info = {"start":3018,"length":260,"line":113,"column":4,"endLine":119,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"setTileMapLevel","argumentNames":["map"]} + +function scene_setTileMapLevel__P2615_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_setTileMapLevel__P2615, depth: s.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, + scene___13018: undefined, + arg0: undefined, +} } + + + + + +function tiles_TileMap_setData__P2479(s) { +let r0 = s.r0, 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.previous___13064 = undefined; + s.eventHandler___13078 = undefined; + s.unnamed94___U2 = undefined; + s.unnamed95___U3 = undefined; + s.eventHandler___13102 = undefined; + s.unnamed96___U5 = undefined; + s.unnamed97___U6 = 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__C2466_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.previous___13064 = (r0); + r0 = s.arg0.fields["handlerState"]; + 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.previous___13064 !== s.arg1); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (r0) { step = 3; continue; } + r0 = s.tmp_1; + { step = 4; continue; } + case 3: + r0 = s.previous___13064; + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 11; continue; } + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 9; continue; } + s.eventHandler___13078 = (undefined); + r0 = s.arg0.fields["handlerState"]; + s.unnamed94___U2 = (r0); + s.unnamed95___U3 = (0); + case 5: + s.tmp_0 = r0 = s.unnamed95___U3; + r0 = pxsim_Array__length(s.unnamed94___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 8; continue; } + r0 = pxsim_Array__getAt(s.unnamed94___U2, s.unnamed95___U3); + s.eventHandler___13078 = (r0); + r0 = s.eventHandler___13078.fields["event"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 === 1); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 6; continue; } + s.tmp_4 = if_callback_2_mk(s); + s.tmp_4.arg0 = s.eventHandler___13078; + s.tmp_4.arg1 = s.previous___13064; + if (!s.tmp_4.arg0.vtable.iface) { + setupLambda(s.tmp_4, pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "callback"), 2); + s.callLocIdx = 985; s.pc = 23; return s.tmp_4; + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["callback"]; + if (s.tmp_4.fn == null) { setupLambda(s.tmp_4, s.tmp_4.arg0.fields["callback"], 2); s.callLocIdx = 985; s.pc = 23; return s.tmp_4; } + else if (s.tmp_4.fn.isGetter) { s.tmp_4.stage2Call = true; s.callLocIdx = 985; s.pc = 23; return s.tmp_4;; } + else { s.callLocIdx = 985; s.pc = 23; return s.tmp_4; } + } + case 23: + r0 = s.retval; + case 6: + case 7: + r0 = (s.unnamed95___U3 + 1); + s.unnamed95___U3 = (r0); + { step = 5; continue; } + case 8: + s.unnamed94___U2 = (undefined); + case 9: + case 10: + case 11: + case 12: + r0 = (s.arg0).fields["_map"] = (s.arg1); + r0 = s.arg0.fields["handlerState"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 13; continue; } + r0 = s.tmp_0; + { step = 14; continue; } + case 13: + r0 = (s.previous___13064 !== s.arg1); + case 14: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (r0) { step = 15; continue; } + r0 = s.tmp_1; + { step = 16; continue; } + case 15: + r0 = s.arg1; + case 16: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 21; continue; } + s.eventHandler___13102 = (undefined); + r0 = s.arg0.fields["handlerState"]; + s.unnamed96___U5 = (r0); + s.unnamed97___U6 = (0); + case 17: + s.tmp_0 = r0 = s.unnamed97___U6; + r0 = pxsim_Array__length(s.unnamed96___U5); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 20; continue; } + r0 = pxsim_Array__getAt(s.unnamed96___U5, s.unnamed97___U6); + s.eventHandler___13102 = (r0); + r0 = s.eventHandler___13102.fields["event"]; + 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; } + s.tmp_4 = if_callback_2_mk(s); + s.tmp_4.arg0 = s.eventHandler___13102; + s.tmp_4.arg1 = s.arg1; + if (!s.tmp_4.arg0.vtable.iface) { + setupLambda(s.tmp_4, pxsim_pxtrt.mapGetByString(s.tmp_4.arg0, "callback"), 2); + s.callLocIdx = 986; s.pc = 24; return s.tmp_4; + } else { + s.tmp_4.fn = s.tmp_4.arg0.vtable.iface["callback"]; + if (s.tmp_4.fn == null) { setupLambda(s.tmp_4, s.tmp_4.arg0.fields["callback"], 2); s.callLocIdx = 986; s.pc = 24; return s.tmp_4; } + else if (s.tmp_4.fn.isGetter) { s.tmp_4.stage2Call = true; s.callLocIdx = 986; s.pc = 24; return s.tmp_4;; } + else { s.callLocIdx = 986; s.pc = 24; return s.tmp_4; } + } + case 24: + r0 = s.retval; + case 18: + case 19: + r0 = (s.unnamed97___U6 + 1); + s.unnamed97___U6 = (r0); + { step = 17; continue; } + case 20: + s.unnamed96___U5 = (undefined); + case 21: + case 22: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_setData__P2479.info = {"start":10217,"length":794,"line":355,"column":8,"endLine":377,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setData","argumentNames":["this","map"]} + +function tiles_TileMap_setData__P2479_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_setData__P2479, depth: s.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, + previous___13064: undefined, + eventHandler___13078: undefined, + unnamed94___U2: undefined, + unnamed95___U3: undefined, + eventHandler___13102: undefined, + unnamed96___U5: undefined, + unnamed97___U6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_scale__P2470(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_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__P2453_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 974; 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__P2470.info = {"start":9234,"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__P2470_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_scale__P2470, 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_TileMapData_scale__P2453(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_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__P2453.info = {"start":6604,"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__P2453_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_scale__P2453, 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__P2468(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + r0 = (s.arg0).fields["_layer"] = (1); + s.tmp_0 = tiles_TileMap_scale__P2470_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 971; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, tiles_TileMap_inline__P13124); + 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__P2535_mk(s); + s.tmp_3.arg0 = -1; + s.tmp_3.arg1 = s.tmp_0; + s.tmp_3.arg2 = undefined; + s.callLocIdx = 973; 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__P2468.info = {"start":8891,"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__P2468_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_constructor__P2468, depth: s.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__P13124(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4319_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; + s.tmp_0.arg2 = s.arg1; + s.callLocIdx = 972; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_inline__P13124.info = {"start":9109,"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__P13124_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_inline__P13124, 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__P4319(s) { +let r0 = s.r0, 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___13135 = undefined; + s.offsetX___13141 = undefined; + s.offsetY___13146 = undefined; + s.x0___13151 = undefined; + s.xn___13158 = undefined; + s.y0___13175 = undefined; + s.yn___13182 = undefined; + s.x___13199 = undefined; + s.y___13205 = undefined; + s.index___13211 = undefined; + s.tile___13218 = undefined; + s.x___13254 = undefined; + s.xLine___13260 = undefined; + s.y___13286 = undefined; + s.yLine___13292 = 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__C2466_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___13135 = (r0); + r0 = s.arg2.fields["drawOffsetX"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 & s.bitmask___13135); + s.offsetX___13141 = (r0); + r0 = s.arg2.fields["drawOffsetY"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 & s.bitmask___13135); + s.offsetY___13146 = (r0); + s.tmp_0 = Math_max__P130_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 = 1013; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.x0___13151 = (r0); + s.tmp_0 = Math_min__P131_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 = 1016; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.xn___13158 = (r0); + s.tmp_0 = Math_max__P130_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 = 1018; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + s.y0___13175 = (r0); + s.tmp_0 = Math_min__P131_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 = 1021; s.pc = 27; return s.tmp_0; + case 27: + r0 = s.retval; + s.yn___13182 = (r0); + s.x___13199 = (s.x0___13151); + case 3: + r0 = (s.x___13199 <= s.xn___13158); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.y___13205 = (s.y0___13175); + case 4: + r0 = (s.y___13205 <= s.yn___13182); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_1 = tiles_TileMapData_getTile__P2454_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.x___13199; + s.tmp_1.arg2 = s.y___13205; + s.callLocIdx = 1022; s.pc = 28; return s.tmp_1; + case 28: + r0 = s.retval; + s.index___13211 = (r0); + s.tmp_0 = tiles_TileMapData_getTileImage__P2457_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___13211; + s.callLocIdx = 1023; s.pc = 29; return s.tmp_0; + case 29: + r0 = s.retval; + s.tile___13218 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tile___13218); + if (!r0) { step = 5; continue; } + s.tmp_0 = r0 = s.arg1; + s.tmp_1 = r0 = s.tile___13218; + r0 = (s.x___13199 - s.x0___13151); + 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___13141); + s.tmp_2 = r0; + r0 = (s.y___13205 - s.y0___13175); + 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___13146); + 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___13205 + 1); + s.y___13205 = (r0); + { step = 4; continue; } + case 7: + r0 = (s.x___13199 + 1); + s.x___13199 = (r0); + { step = 3; continue; } + case 8: + r0 = pxsim_numops_toBoolDecr(globals.debug___2681); + if (!r0) { step = 21; continue; } + s.x___13254 = (s.x0___13151); + case 9: + r0 = (s.x___13254 <= s.xn___13158); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 14; continue; } + r0 = (s.x___13254 - s.x0___13151); + 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___13141); + s.xLine___13260 = (r0); + r0 = (s.xLine___13260 >= 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___13260; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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__P1757_mk(s); + s.tmp_4.arg0 = s.arg1; + s.tmp_4.arg1 = s.xLine___13260; + s.tmp_4.arg2 = 0; + s.tmp_4.arg3 = s.xLine___13260; + r0 = pxsim_ImageMethods.height(s.arg1); + s.tmp_4.arg4 = r0; + s.tmp_4.arg5 = 1; + s.callLocIdx = 1027; s.pc = 30; return s.tmp_4; + case 30: + r0 = s.retval; + case 12: + case 13: + r0 = (s.x___13254 + 1); + s.x___13254 = (r0); + { step = 9; continue; } + case 14: + s.y___13286 = (s.y0___13175); + case 15: + r0 = (s.y___13286 <= s.yn___13182); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 20; continue; } + r0 = (s.y___13286 - s.y0___13175); + 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___13146); + s.yLine___13292 = (r0); + r0 = (s.yLine___13292 >= 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___13292; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + 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__P1757_mk(s); + s.tmp_4.arg0 = s.arg1; + s.tmp_4.arg1 = 0; + s.tmp_4.arg2 = s.yLine___13292; + r0 = pxsim_ImageMethods.width(s.arg1); + s.tmp_4.arg3 = r0; + s.tmp_4.arg4 = s.yLine___13292; + s.tmp_4.arg5 = 1; + s.callLocIdx = 1029; s.pc = 31; return s.tmp_4; + case 31: + r0 = s.retval; + case 18: + case 19: + r0 = (s.y___13286 + 1); + s.y___13286 = (r0); + { step = 15; continue; } + case 20: + case 21: + case 22: + case 23: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_draw__P4319.info = {"start":13949,"length":2224,"line":457,"column":8,"endLine":512,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"draw","argumentNames":["this","target","camera"]} + +function tiles_TileMap_draw__P4319_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_draw__P4319, depth: s.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___13135: undefined, + offsetX___13141: undefined, + offsetY___13146: undefined, + x0___13151: undefined, + xn___13158: undefined, + y0___13175: undefined, + yn___13182: undefined, + x___13199: undefined, + y___13205: undefined, + index___13211: undefined, + tile___13218: undefined, + x___13254: undefined, + xLine___13260: undefined, + y___13286: undefined, + yLine___13292: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMapData_getTileImage__P2457(s) { +let r0 = s.r0, 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___13336 = undefined; + s.cachedImage___13340 = undefined; + s.originalImage___13346 = 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__C2448_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + s.tmp_0 = r0; + r0 = (1 << s.tmp_0); + s.size___13336 = (r0); + r0 = s.arg0.fields["cachedTileView"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.arg1); + s.cachedImage___13340 = (r0); + r0 = pxsim_numops_toBoolDecr(s.cachedImage___13340); + 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___13346 = (r0); + r0 = pxsim_numops_toBoolDecr(s.originalImage___13346); + if (!r0) { step = 5; continue; } + r0 = pxsim_ImageMethods.width(s.originalImage___13346); + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.size___13336); + 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___13346); + s.tmp_2 = r0; + r0 = (s.tmp_2 <= s.size___13336); + 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___13340 = (s.originalImage___13346); + { step = 4; continue; } + case 3: + r0 = pxsim.image.create(s.size___13336, s.size___13336); + s.cachedImage___13340 = (r0); + r0 = pxsim_ImageMethods.drawImage(s.cachedImage___13340, s.originalImage___13346, 0, 0); + case 4: + r0 = s.arg0.fields["cachedTileView"]; + s.tmp_0 = r0; + r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.cachedImage___13340); + case 5: + case 6: + case 7: + case 8: + r0 = s.cachedImage___13340; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_getTileImage__P2457.info = {"start":7318,"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__P2457_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_getTileImage__P2457, depth: s.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___13336: undefined, + cachedImage___13340: undefined, + originalImage___13346: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMapData_getTile__P2454(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMapData_isOutsideMap__P2460_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.callLocIdx = 964; 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__P2454.info = {"start":6716,"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__P2454_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_getTile__P2454, depth: s.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__P2460(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_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__P2460.info = {"start":8299,"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__P2460_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_isOutsideMap__P2460, depth: s.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 helpers_imageDrawLine__P1757(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4102_mk(s); + s.tmp_2.arg0 = s.arg1; + s.tmp_2.arg1 = s.arg2; + s.callLocIdx = 132; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = helpers_pack__P4102_mk(s); + s.tmp_4.arg0 = s.arg3; + s.tmp_4.arg1 = s.arg4; + s.callLocIdx = 133; 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__P1757.info = {"start":5161,"length":159,"line":164,"column":4,"endLine":166,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawLine","argumentNames":["img","x","y","w","h","c"]} + +function helpers_imageDrawLine__P1757_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageDrawLine__P1757, depth: s.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 scene_createRenderable__P2535(s) { +let r0 = s.r0, 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___13420 = 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__C2530_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__P13426; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + s.tmp_3 = scene_Renderable_constructor__P2531_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 = 1100; s.pc = 3; return s.tmp_3; + case 3: + r0 = s.retval; + s.renderable___13420 = (s.tmp_0); + r0 = s.renderable___13420; + return leave(s, r0) + default: oops() +} } } +scene_createRenderable__P2535.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__P2535_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_createRenderable__P2535, depth: s.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___13420: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function renderable_inline__P13426(s) { +let r0 = s.r0, 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__P13426.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__P13426_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: renderable_inline__P13426, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_Renderable_constructor__P2531(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2530_VT)) failedCast(r0); + r0 = (s.arg0).fields["handler"] = (s.arg1); + r0 = (s.arg0).fields["shouldBeVisible"] = (s.arg2); + s.tmp_0 = sprites_BaseSprite_constructor__P1890_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg3; + s.callLocIdx = 1097; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Renderable_constructor__P2531.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__P2531_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Renderable_constructor__P2531, 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 tiles_TileMapData_scale__P2452(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_VT)) failedCast(r0); + r0 = s.arg0.fields["_scale"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMapData_scale__P2452.info = {"start":6528,"length":66,"line":222,"column":8,"endLine":224,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"scale","argumentNames":["this"]} +tiles_TileMapData_scale__P2452.isGetter = true; + +function tiles_TileMapData_scale__P2452_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_scale__P2452, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_setWallAt__P2497(s) { +let r0 = s.r0, 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___13465 = undefined; + s.scale___13475 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1063; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.scene___13465 = (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___13465.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 = null; + { step = 5; continue; } + case 3: + case 4: + r0 = s.scene___13465.fields["tileMap"]; + s.tmp_5 = r0; + r0 = s.tmp_5.fields["_scale"]; + s.scale___13475 = (r0); + s.tmp_0 = tiles_TileMap_setWallAt__P2484_mk(s); + r0 = s.scene___13465.fields["tileMap"]; + s.tmp_0.arg0 = r0; + s.tmp_2 = tiles_Location_x__P2429_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1065; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 >> s.scale___13475); + s.tmp_0.arg1 = r0; + s.tmp_4 = tiles_Location_y__P2430_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 1066; s.pc = 9; return s.tmp_4; + case 9: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 >> s.scale___13475); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.arg1; + s.callLocIdx = 1067; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_setWallAt__P2497.info = {"start":20891,"length":271,"line":646,"column":4,"endLine":651,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setWallAt","argumentNames":["loc","on"]} + +function tiles_setWallAt__P2497_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_setWallAt__P2497, depth: s.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___13465: undefined, + scale___13475: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_setWallAt__P2484(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_TileMap__C2466_VT)) failedCast(r0); + s.tmp_3 = tiles_TileMapData_isOutsideMap__P2460_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.arg1; + s.tmp_3.arg2 = s.arg2; + s.callLocIdx = 995; 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; } + s.tmp_4 = tiles_TileMapData_setWall__P2458_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.arg1; + s.tmp_4.arg2 = s.arg2; + s.tmp_4.arg3 = s.arg3; + s.callLocIdx = 996; s.pc = 4; return s.tmp_4; + case 4: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_setWallAt__P2484.info = {"start":11968,"length":173,"line":407,"column":8,"endLine":410,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setWallAt","argumentNames":["this","col","row","on"]} + +function tiles_TileMap_setWallAt__P2484_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_setWallAt__P2484, depth: s.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 tiles_TileMapData_setWall__P2458(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_TileMapData__C2448_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(s.arg3); + if (!r0) { step = 1; continue; } + r0 = 2; + { step = 2; continue; } + case 1: + r0 = 0; + case 2: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = s.arg0.fields["layers"]; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.setPixel(s.tmp_1, s.arg1, s.arg2, s.tmp_0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_setWall__P2458.info = {"start":8045,"length":127,"line":270,"column":8,"endLine":272,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setWall","argumentNames":["this","col","row","on"]} + +function tiles_TileMapData_setWall__P2458_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_setWall__P2458, 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 tiles_Location_y__P2430(s) { +let r0 = s.r0, 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___13492 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C2424_VT)) failedCast(r0); + s.tmp_1 = tiles_Location_tileMap__P2426_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 952; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_scale"]; + s.scale___13492 = (r0); + r0 = s.arg0.fields["_row"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 << s.scale___13492); + s.tmp_0 = r0; + r0 = (s.scale___13492 - 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__P2430.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__P2430.isGetter = true; + +function tiles_Location_y__P2430_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_y__P2430, depth: s.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___13492: undefined, + arg0: undefined, +} } + + + + + +function tiles_Location_tileMap__P2426(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2424_VT)) failedCast(r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 949; 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__P2426.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__P2426.isGetter = true; + +function tiles_Location_tileMap__P2426_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_tileMap__P2426, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function tiles_Location_x__P2429(s) { +let r0 = s.r0, 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___13513 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, tiles_Location__C2424_VT)) failedCast(r0); + s.tmp_1 = tiles_Location_tileMap__P2426_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 950; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["_scale"]; + s.scale___13513 = (r0); + r0 = s.arg0.fields["_col"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 << s.scale___13513); + s.tmp_0 = r0; + r0 = (s.scale___13513 - 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__P2429.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__P2429.isGetter = true; + +function tiles_Location_x__P2429_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_x__P2429, depth: s.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___13513: undefined, + arg0: undefined, +} } + + + + + +function tiles_setTileAt__P2496(s) { +let r0 = s.r0, 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___13561 = undefined; + s.scale___13574 = undefined; + s.index___13578 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1057; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.scene___13561 = (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 = 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_toBool(s.tmp_3); + if (!r0) { step = 3; continue; } + r0 = s.tmp_3; + { step = 4; continue; } + case 3: + r0 = s.scene___13561.fields["tileMap"]; + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + case 4: + // jmp value (already in r0) + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 5; continue; } + r0 = null; + { step = 7; continue; } + case 5: + case 6: + r0 = s.scene___13561.fields["tileMap"]; + s.tmp_7 = r0; + r0 = s.tmp_7.fields["_scale"]; + s.scale___13574 = (r0); + s.tmp_0 = tiles_TileMap_getImageType__P2483_mk(s); + r0 = s.scene___13561.fields["tileMap"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1059; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.index___13578 = (r0); + s.tmp_0 = tiles_TileMap_setTileAt__P2482_mk(s); + r0 = s.scene___13561.fields["tileMap"]; + s.tmp_0.arg0 = r0; + s.tmp_2 = tiles_Location_x__P2429_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1060; s.pc = 11; return s.tmp_2; + case 11: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 >> s.scale___13574); + s.tmp_0.arg1 = r0; + s.tmp_4 = tiles_Location_y__P2430_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 1061; s.pc = 12; return s.tmp_4; + case 12: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 >> s.scale___13574); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.index___13578; + s.callLocIdx = 1062; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_setTileAt__P2496.info = {"start":20212,"length":339,"line":628,"column":4,"endLine":634,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setTileAt","argumentNames":["loc","tile"]} + +function tiles_setTileAt__P2496_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_setTileAt__P2496, depth: s.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___13561: undefined, + scale___13574: undefined, + index___13578: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_getImageType__P2483(s) { +let r0 = s.r0, 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.tileset___13662 = undefined; + s.i___13667 = undefined; + s.newIndex___13681 = 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__C2466_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + s.tmp_0 = r0; + r0 = s.tmp_0.fields["tileset"]; + s.tileset___13662 = (r0); + s.i___13667 = (0); + case 1: + s.tmp_1 = r0 = s.i___13667; + r0 = pxsim_Array__length(s.tileset___13662); + 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(s.tileset___13662, s.i___13667); + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.equals(s.tmp_4, s.arg1); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 2; continue; } + r0 = s.i___13667; + { step = 7; continue; } + case 2: + case 3: + r0 = (s.i___13667 + 1); + s.i___13667 = (r0); + { step = 1; continue; } + case 4: + r0 = pxsim_Array__length(s.tileset___13662); + s.newIndex___13681 = (r0); + s.tmp_3 = tiles_TileMap_isInvalidIndex__P4318_mk(s); + s.tmp_3.arg0 = s.arg0; + s.tmp_3.arg1 = s.newIndex___13681; + s.callLocIdx = 994; s.pc = 8; return s.tmp_3; + case 8: + 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 = 5; continue; } + r0 = pxsim_Array__push(s.tileset___13662, s.arg1); + r0 = s.newIndex___13681; + { step = 7; continue; } + case 5: + case 6: + r0 = -1; + case 7: + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getImageType__P2483.info = {"start":11476,"length":482,"line":392,"column":8,"endLine":405,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getImageType","argumentNames":["this","im"]} + +function tiles_TileMap_getImageType__P2483_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getImageType__P2483, depth: s.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, + tileset___13662: undefined, + i___13667: undefined, + newIndex___13681: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_isInvalidIndex__P4318(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_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: + r0 = (s.arg1 > 255); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_isInvalidIndex__P4318.info = {"start":13833,"length":106,"line":453,"column":8,"endLine":455,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isInvalidIndex","argumentNames":["this","index"]} + +function tiles_TileMap_isInvalidIndex__P4318_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_isInvalidIndex__P4318, 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_TileMapData_getTileset__P2456(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_VT)) failedCast(r0); + r0 = s.arg0.fields["tileset"]; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_getTileset__P2456.info = {"start":7251,"length":57,"line":247,"column":8,"endLine":249,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileset","argumentNames":["this"]} + +function tiles_TileMapData_getTileset__P2456_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_getTileset__P2456, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_TileMap_setTileAt__P2482(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_TileMap__C2466_VT)) failedCast(r0); + s.tmp_3 = tiles_TileMapData_isOutsideMap__P2460_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.arg1; + s.tmp_3.arg2 = s.arg2; + s.callLocIdx = 990; s.pc = 5; return s.tmp_3; + case 5: + 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 = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_6 = tiles_TileMap_isInvalidIndex__P4318_mk(s); + s.tmp_6.arg0 = s.arg0; + s.tmp_6.arg1 = s.arg3; + s.callLocIdx = 991; s.pc = 6; return s.tmp_6; + case 6: + r0 = s.retval; + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_Boolean__bang(s.tmp_4); + case 2: + // jmp value (already in r0) + s.tmp_7 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_7); + if (!r0) { step = 3; continue; } + s.tmp_8 = tiles_TileMapData_setTile__P2455_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.tmp_8.arg3 = s.arg3; + s.callLocIdx = 992; s.pc = 7; return s.tmp_8; + case 7: + r0 = s.retval; + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_setTileAt__P2482.info = {"start":11257,"length":209,"line":387,"column":8,"endLine":390,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setTileAt","argumentNames":["this","col","row","index"]} + +function tiles_TileMap_setTileAt__P2482_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_setTileAt__P2482, depth: s.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, + arg3: undefined, +} } + + + + + +function tiles_TileMapData_setTile__P2455(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_TileMapData__C2448_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMapData_isOutsideMap__P2460_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = s.arg2; + s.callLocIdx = 966; 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; } + { step = 5; continue; } + case 1: + case 2: + r0 = s.arg0.fields["data"]; + s.tmp_3 = r0; + r0 = pxsim.BufferMethods.isReadOnly(s.tmp_3); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + s.tmp_4 = r0 = s.arg0; + r0 = s.arg0.fields["data"]; + s.tmp_6 = r0; + r0 = pxsim.BufferMethods.slice(s.tmp_6, 0, -1); + s.tmp_5 = r0; + r0 = (s.tmp_4).fields["data"] = (s.tmp_5); + case 3: + case 4: + r0 = s.arg0.fields["data"]; + s.tmp_0 = r0; + r0 = (s.arg1 | 0); + s.tmp_3 = r0; + r0 = (4 + s.tmp_3); + s.tmp_2 = r0; + r0 = (s.arg2 | 0); + s.tmp_5 = r0; + r0 = s.arg0.fields["_width"]; + s.tmp_6 = r0; + r0 = (s.tmp_5 * s.tmp_6); + s.tmp_4 = r0; + r0 = (s.tmp_2 + s.tmp_4); + s.tmp_1 = r0; + r0 = pxsim.BufferMethods.setUint8(s.tmp_0, s.tmp_1, s.arg3); + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_TileMapData_setTile__P2455.info = {"start":6926,"length":315,"line":237,"column":8,"endLine":245,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"setTile","argumentNames":["this","col","row","tile"]} + +function tiles_TileMapData_setTile__P2455_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_setTile__P2455, depth: s.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, + arg3: undefined, +} } + + + + + +function tiles_getTilesByType__P2506(s) { +let r0 = s.r0, 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___13699 = undefined; + s.index___13709 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1074; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.scene___13699 = (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___13699.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_Array__mk(); + { step = 5; continue; } + case 3: + case 4: + s.tmp_5 = tiles_TileMap_getImageType__P2483_mk(s); + r0 = s.scene___13699.fields["tileMap"]; + s.tmp_5.arg0 = r0; + s.tmp_5.arg1 = s.arg0; + s.callLocIdx = 1075; s.pc = 7; return s.tmp_5; + case 7: + r0 = s.retval; + s.index___13709 = (r0); + s.tmp_0 = tiles_TileMap_getTilesByType__P2485_mk(s); + r0 = s.scene___13699.fields["tileMap"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___13709; + s.callLocIdx = 1076; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + case 5: + return leave(s, r0) + default: oops() +} } } +tiles_getTilesByType__P2506.info = {"start":25912,"length":262,"line":779,"column":4,"endLine":784,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTilesByType","argumentNames":["tile"]} + +function tiles_getTilesByType__P2506_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_getTilesByType__P2506, depth: s.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___13699: undefined, + index___13709: undefined, + arg0: undefined, +} } + + + + + +function tiles_TileMap_getTilesByType__P2485(s) { +let r0 = s.r0, 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.output___13728 = undefined; + s.col___13730 = undefined; + s.row___13737 = undefined; + s.currTile___13744 = 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__C2466_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMap_isInvalidIndex__P4318_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 997; s.pc = 12; return s.tmp_1; + case 12: + 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 = s.arg0.fields["_map"]; + 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); + 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_8 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_8); + if (!r0) { step = 3; continue; } + r0 = pxsim_Array__mk(); + { step = 11; continue; } + case 3: + case 4: + r0 = pxsim_Array__mk(); + s.output___13728 = (r0); + s.col___13730 = (0); + case 5: + s.tmp_1 = r0 = s.col___13730; + r0 = s.arg0.fields["_map"]; + s.tmp_3 = r0; + r0 = s.tmp_3.fields["_width"]; + 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.row___13737 = (0); + case 6: + s.tmp_1 = r0 = s.row___13737; + r0 = s.arg0.fields["_map"]; + s.tmp_3 = r0; + r0 = s.tmp_3.fields["_height"]; + 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; } + s.tmp_4 = tiles_TileMapData_getTile__P2454_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.col___13730; + s.tmp_4.arg2 = s.row___13737; + s.callLocIdx = 1001; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + s.currTile___13744 = (r0); + r0 = (s.currTile___13744 === s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = pxsim_pxtcore_mkClassInstance(tiles_Location__C2424_VT); + s.tmp_1 = r0; + s.tmp_2 = tiles_Location_constructor__P2425_mk(s); + s.tmp_2.arg0 = s.tmp_1; + s.tmp_2.arg1 = s.col___13730; + s.tmp_2.arg2 = s.row___13737; + s.tmp_2.arg3 = s.arg0; + s.callLocIdx = 1002; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + r0 = pxsim_Array__push(s.output___13728, s.tmp_1); + case 7: + case 8: + r0 = (s.row___13737 + 1); + s.row___13737 = (r0); + { step = 6; continue; } + case 9: + r0 = (s.col___13730 + 1); + s.col___13730 = (r0); + { step = 5; continue; } + case 10: + r0 = s.output___13728; + case 11: + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getTilesByType__P2485.info = {"start":12151,"length":561,"line":412,"column":8,"endLine":425,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTilesByType","argumentNames":["this","index"]} + +function tiles_TileMap_getTilesByType__P2485_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getTilesByType__P2485, depth: s.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, + output___13728: undefined, + col___13730: undefined, + row___13737: undefined, + currTile___13744: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_Location_constructor__P2425(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2424_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__P2425.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__P2425_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_constructor__P2425, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function scene_onHitWall__P2240(s) { +let r0 = s.r0, 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.wallCollisionHandlers___13785 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 == 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 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + 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: + s.tmp_3 = game_currentScene__P2685_mk(s); + s.callLocIdx = 612; s.pc = 6; return s.tmp_3; + case 6: + r0 = s.retval; + r0 = r0.fields["wallCollisionHandlers"]; + s.wallCollisionHandlers___13785 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(scene_TileWallHandler__C2546_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_TileWallHandler_constructor__P2547_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.arg1; + s.callLocIdx = 613; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + r0 = pxsim_Array__push(s.wallCollisionHandlers___13785, s.tmp_0); + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_onHitWall__P2240.info = {"start":3554,"length":387,"line":111,"column":4,"endLine":121,"endColumn":5,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"onHitWall","argumentNames":["kind","handler"]} + +function scene_onHitWall__P2240_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_onHitWall__P2240, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + wallCollisionHandlers___13785: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_TileWallHandler_constructor__P2547(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_TileWallHandler__C2546_VT)) failedCast(r0); + r0 = (s.arg0).fields["spriteKind"] = (s.arg1); + r0 = (s.arg0).fields["handler"] = (s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_TileWallHandler_constructor__P2547.info = {"start":877,"length":144,"line":30,"column":8,"endLine":33,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","spriteKind","handler"]} + +function scene_TileWallHandler_constructor__P2547_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_TileWallHandler_constructor__P2547, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function game_over__P2695(s) { +let r0 = s.r0, 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.scoreInfo___13814 = undefined; + s.highScore___13818 = undefined; + s.overDialog___13847 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + s.tmp_0 = game_init__P4382_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 1264; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(globals.__isOver___4381); + if (!r0) { step = 1; continue; } + { step = 17; continue; } + case 1: + case 2: + globals.__isOver___4381 = (true); + r0 = pxsim_numops_toBoolDecr(globals.__gameOverHandler___4379); + if (!r0) { step = 3; continue; } + s.tmp_0 = lambda_2_mk(s); + s.tmp_0.argL = globals.__gameOverHandler___4379; + s.tmp_0.arg0 = s.arg0; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 1265; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + { step = 16; continue; } + case 3: + 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 = 6; continue; } + r0 = pxsim_numops_toBoolDecr(s.arg0); + if (!r0) { step = 4; continue; } + r0 = globals.winEffect___2683; + { step = 5; continue; } + case 4: + r0 = globals.loseEffect___2684; + case 5: + // jmp value (already in r0) + s.tmp_2 = r0; + s.arg1 = (s.tmp_2); + case 6: + case 7: + s.tmp_0 = info_PlayerInfo_getState__P2374_mk(s); + s.tmp_0.arg0 = globals.player1___2392; + s.callLocIdx = 1266; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + s.scoreInfo___13814 = (r0); + s.tmp_0 = info_highScore__P2340_mk(s); + s.callLocIdx = 1267; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + s.highScore___13818 = (r0); + r0 = s.scoreInfo___13814.fields["score"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.highScore___13818); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.tmp_2 = info_saveHighScore__P2337_mk(s); + s.callLocIdx = 1268; s.pc = 22; return s.tmp_2; + case 22: + r0 = s.retval; + case 8: + case 9: + case 10: + s.tmp_0 = r0 = globals._sceneStack___4375; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 11; continue; } + r0 = s.tmp_0; + { step = 12; continue; } + case 11: + r0 = pxsim_Array__length(globals._sceneStack___4375); + case 12: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 13; continue; } + s.tmp_2 = scene_Scene_destroy__P2598_mk(s); + s.tmp_2.arg0 = globals._scene___4374; + s.callLocIdx = 1269; s.pc = 23; return s.tmp_2; + case 23: + r0 = s.retval; + s.tmp_0 = game_popScene__P2690_mk(s); + s.callLocIdx = 1270; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + { step = 10; continue; } + case 13: + s.tmp_0 = game_pushScene__P2689_mk(s); + s.callLocIdx = 1271; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.tmp_0 = scene_setBackgroundImage__P2612_mk(s); + r0 = pxsim_ImageMethods.clone(globals.screen___1829); + s.tmp_0.arg0 = r0; + s.callLocIdx = 1272; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg0); + if (!r0) { step = 14; continue; } + s.tmp_0 = music_Melody_play__P1619_mk(s); + s.tmp_0.arg0 = globals.winSound___4373; + s.tmp_0.arg1 = 255; + s.callLocIdx = 1273; s.pc = 27; return s.tmp_0; + case 27: + r0 = s.retval; + { step = 15; continue; } + case 14: + s.tmp_0 = music_Melody_play__P1619_mk(s); + s.tmp_0.arg0 = globals.loseSound___4371; + s.tmp_0.arg1 = 255; + s.callLocIdx = 1274; s.pc = 28; return s.tmp_0; + case 28: + r0 = s.retval; + case 15: + s.tmp_0 = if_startScreenEffect_1_mk(s); + s.tmp_0.arg0 = s.arg1; + if (!s.tmp_0.arg0.vtable.iface) { + setupLambda(s.tmp_0, pxsim_pxtrt.mapGetByString(s.tmp_0.arg0, "startScreenEffect"), 1); + s.callLocIdx = 1275; s.pc = 29; return s.tmp_0; + } else { + s.tmp_0.fn = s.tmp_0.arg0.vtable.iface["startScreenEffect"]; + if (s.tmp_0.fn == null) { setupLambda(s.tmp_0, s.tmp_0.arg0.fields["startScreenEffect"], 1); s.callLocIdx = 1275; s.pc = 29; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1275; s.pc = 29; return s.tmp_0;; } + else { s.callLocIdx = 1275; s.pc = 29; return s.tmp_0; } + } + case 29: + r0 = s.retval; + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 400; + s.callLocIdx = 1276; s.pc = 30; return s.tmp_0; + case 30: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(game_GameOverDialog__C2669_VT); + s.tmp_0 = r0; + s.tmp_1 = game_GameOverDialog_constructor__P2670_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + r0 = s.scoreInfo___13814.fields["score"]; + s.tmp_1.arg2 = r0; + s.tmp_1.arg3 = s.highScore___13818; + s.callLocIdx = 1277; s.pc = 31; return s.tmp_1; + case 31: + r0 = s.retval; + s.overDialog___13847 = (s.tmp_0); + r0 = pxsim_pxtcore_mkAction(1, game_over_inline__P13857); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overDialog___13847); + s.tmp_1 = scene_createRenderable__P2535_mk(s); + s.tmp_1.arg0 = 100; + s.tmp_1.arg1 = s.tmp_0; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 1278; s.pc = 32; return s.tmp_1; + case 32: + r0 = s.retval; + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 500; + s.callLocIdx = 1279; s.pc = 33; return s.tmp_0; + case 33: + r0 = s.retval; + s.tmp_0 = game_GameOverDialog_displayCursor__P2671_mk(s); + s.tmp_0.arg0 = s.overDialog___13847; + s.callLocIdx = 1280; s.pc = 34; return s.tmp_0; + case 34: + r0 = s.retval; + s.tmp_0 = game_waitAnyButton__P2687_mk(s); + s.callLocIdx = 1281; s.pc = 35; return s.tmp_0; + case 35: + r0 = s.retval; + setupResume(s, 36); + pxsim.control.reset(); + checkResumeConsumed(); + return; + case 36: + r0 = s.retval; + case 16: + case 17: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_over__P2695.info = {"start":5382,"length":1774,"line":181,"column":4,"endLine":232,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"over","argumentNames":["win","effect"]} + +function game_over__P2695_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_over__P2695, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + scoreInfo___13814: undefined, + highScore___13818: undefined, + overDialog___13847: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_over_inline__P13857(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_GameOverDialog__C2669_v0_1_mk(s); + s.tmp_0.arg0 = s.caps[0]; + if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C2669_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.update; + s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + r0 = s.caps[0].fields["image"]; + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_4 = r0; + r0 = s.caps[0].fields["image"]; + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_6); + 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 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, 0, s.tmp_2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_over_inline__P13857.info = {"start":6721,"length":254,"line":218,"column":48,"endLine":225,"endColumn":13,"fileName":"pxt_modules/game/game.ts","functionName":"inline","argumentNames":["target"]} + +function game_over_inline__P13857_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_over_inline__P13857, depth: s.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 game_waitAnyButton__P2687(s) { +let r0 = s.r0, 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.__waitAnyButton___4378); + if (!r0) { step = 1; continue; } + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = globals.__waitAnyButton___4378; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 1246; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = pause__P413_mk(s); + s.tmp_0.arg0 = 3000; + s.callLocIdx = 1247; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_waitAnyButton__P2687.info = {"start":967,"length":111,"line":35,"column":4,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"waitAnyButton","argumentNames":[]} + +function game_waitAnyButton__P2687_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_waitAnyButton__P2687, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function game_GameOverDialog_update__P2672(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_GameOverDialog__C2669_VT)) failedCast(r0); + s.tmp_0 = game_BaseDialog_clearInterior__P4349_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1206; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = game_GameOverDialog__C2669_v2_1_mk(s); + s.tmp_0.arg0 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, game_GameOverDialog__C2669_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.drawTextCore; + s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = s.arg0.fields["cursorOn"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = game_BaseDialog_drawCursorRow__P2646_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 1207; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_GameOverDialog_update__P2672.info = {"start":11515,"length":173,"line":352,"column":8,"endLine":359,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"update","argumentNames":["this"]} + +function game_GameOverDialog_update__P2672_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_GameOverDialog_update__P2672, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function game_GameOverDialog_drawTextCore__P2673(s) { +let r0 = s.r0, 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.scoreColor___13915 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_GameOverDialog__C2669_VT)) failedCast(r0); + r0 = s.arg0.fields["win"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = "YOU WIN!"; + { step = 2; continue; } + case 1: + r0 = "GAME OVER!"; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 3; continue; } + r0 = 1; + { step = 4; continue; } + case 3: + r0 = 5; + case 4: + // jmp value (already in r0) + s.tmp_3 = r0; + s.tmp_4 = helpers_imagePrintCenter__P1786_mk(s); + r0 = s.arg0.fields["image"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.tmp_1; + s.tmp_4.arg2 = 8; + s.tmp_4.arg3 = s.tmp_3; + s.tmp_4.arg4 = globals.font8___1772; + s.callLocIdx = 1208; s.pc = 11; return s.tmp_4; + case 11: + r0 = s.retval; + r0 = s.arg0.fields["score"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 5; continue; } + r0 = 1; + { step = 6; continue; } + case 5: + r0 = 2; + case 6: + // jmp value (already in r0) + s.tmp_3 = r0; + s.scoreColor___13915 = (s.tmp_3); + s.tmp_0 = helpers_imagePrintCenter__P1786_mk(s); + r0 = s.arg0.fields["image"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["score"]; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 13); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("Score:", s.tmp_1); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 23; + s.tmp_0.arg3 = s.scoreColor___13915; + s.tmp_0.arg4 = globals.font8___1772; + s.callLocIdx = 1209; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + r0 = s.arg0.fields["isNewHighScore"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + s.tmp_1 = helpers_imagePrintCenter__P1786_mk(s); + r0 = s.arg0.fields["image"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = "New High Score!"; + s.tmp_1.arg2 = 34; + s.tmp_1.arg3 = s.scoreColor___13915; + s.tmp_1.arg4 = globals.font5___1777; + s.callLocIdx = 1210; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + { step = 8; continue; } + case 7: + s.tmp_0 = helpers_imagePrintCenter__P1786_mk(s); + r0 = s.arg0.fields["image"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["highScore"]; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 16); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 16: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("HI", s.tmp_1); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 34; + s.tmp_0.arg3 = s.scoreColor___13915; + s.tmp_0.arg4 = globals.font8___1772; + s.callLocIdx = 1211; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + case 8: + case 9: + case 10: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_GameOverDialog_drawTextCore__P2673.info = {"start":11698,"length":1200,"line":361,"column":8,"endLine":398,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawTextCore","argumentNames":["this"]} + +function game_GameOverDialog_drawTextCore__P2673_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_GameOverDialog_drawTextCore__P2673, depth: s.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, + scoreColor___13915: undefined, + arg0: undefined, +} } + + + + + +function helpers_imagePrintCenter__P1786(s) { +let r0 = s.r0, 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___13963 = undefined; + s.x___13969 = 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__P1774_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 145; 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 = 146; 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___13963 = (r0); + r0 = pxsim_ImageMethods.width(s.arg0); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.w___13963); + s.tmp_0 = r0; + r0 = (s.tmp_0 / 2); + s.x___13969 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.x___13969; + 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 = 147; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imagePrintCenter__P1786.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__P1786_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imagePrintCenter__P1786, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + w___13963: undefined, + x___13969: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function game_GameOverDialog_displayCursor__P2671(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_GameOverDialog__C2669_VT)) failedCast(r0); + r0 = (s.arg0).fields["cursorOn"] = (true); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_GameOverDialog_displayCursor__P2671.info = {"start":11444,"length":61,"line":348,"column":8,"endLine":350,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"displayCursor","argumentNames":["this"]} + +function game_GameOverDialog_displayCursor__P2671_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_GameOverDialog_displayCursor__P2671, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function game_GameOverDialog_constructor__P2670(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, game_GameOverDialog__C2669_VT)) failedCast(r0); + r0 = (s.arg0).fields["win"] = (s.arg1); + r0 = (s.arg0).fields["score"] = (s.arg2); + r0 = (s.arg0).fields["highScore"] = (s.arg3); + s.tmp_0 = game_BaseDialog_constructor__P2642_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 46; + s.tmp_1 = game_defaultSplashFrame__P4361_mk(s); + s.callLocIdx = 1204; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg3 = r0; + s.tmp_0.arg4 = undefined; + s.tmp_0.arg5 = undefined; + s.callLocIdx = 1205; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = (s.arg0).fields["cursorOn"] = (false); + s.tmp_0 = r0 = s.arg0; + r0 = s.arg0.fields["score"]; + s.tmp_2 = r0; + r0 = s.arg0.fields["highScore"]; + s.tmp_3 = r0; + r0 = (s.tmp_2 > s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["isNewHighScore"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_GameOverDialog_constructor__P2670.info = {"start":11128,"length":306,"line":338,"column":8,"endLine":346,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"inline","argumentNames":["this","win","score","highScore"]} + +function game_GameOverDialog_constructor__P2670_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_GameOverDialog_constructor__P2670, depth: s.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, +} } + + + + + +function game_defaultSplashFrame__P4361(s) { +let r0 = s.r0, 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_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.image.ofBuffer(_hex14003); + { step = 2; continue; } + case 1: + r0 = pxsim.image.ofBuffer(_hex14005); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +game_defaultSplashFrame__P4361.info = {"start":17077,"length":220,"line":533,"column":4,"endLine":546,"endColumn":5,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"defaultSplashFrame","argumentNames":[]} + +function game_defaultSplashFrame__P4361_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_defaultSplashFrame__P4361, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + +const _hex14003 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100000101000001010000") +const _hex14005 = pxsim.BufferMethods.createBufferFromHex("8704030003000000f1010000f1010000f1010000") + + + + +function scene_Scene_destroy__P2598(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2571_VT)) failedCast(r0); + r0 = (s.arg0).fields["eventContext"] = (undefined); + r0 = (s.arg0).fields["background"] = (undefined); + r0 = (s.arg0).fields["tileMap"] = (undefined); + r0 = (s.arg0).fields["allSprites"] = (undefined); + r0 = (s.arg0).fields["spriteNextId"] = (undefined); + r0 = (s.arg0).fields["spritesByKind"] = (undefined); + r0 = (s.arg0).fields["physicsEngine"] = (undefined); + r0 = (s.arg0).fields["camera"] = (undefined); + r0 = (s.arg0).fields["flags"] = (undefined); + r0 = (s.arg0).fields["destroyedHandlers"] = (undefined); + r0 = (s.arg0).fields["createdHandlers"] = (undefined); + r0 = (s.arg0).fields["overlapHandlers"] = (undefined); + r0 = (s.arg0).fields["tileOverlapHandlers"] = (undefined); + r0 = (s.arg0).fields["collisionHandlers"] = (undefined); + r0 = (s.arg0).fields["wallCollisionHandlers"] = (undefined); + r0 = (s.arg0).fields["gameForeverHandlers"] = (undefined); + r0 = (s.arg0).fields["_data"] = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Scene_destroy__P2598.info = {"start":7107,"length":764,"line":200,"column":8,"endLine":218,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"destroy","argumentNames":["this"]} + +function scene_Scene_destroy__P2598_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_destroy__P2598, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function info_PlayerInfo_constructor__P2373(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, info_PlayerInfo__C2361_VT)) failedCast(r0); + r0 = (s.arg0).fields["_player"] = (s.arg1); + r0 = (s.arg0).fields["border"] = (1); + r0 = (s.arg0).fields["fc"] = (1); + r0 = (s.arg0).fields["visibility"] = (0); + r0 = (s.arg0).fields["showScore"] = (undefined); + r0 = (s.arg0).fields["showLife"] = (undefined); + r0 = (s.arg0).fields["showPlayer"] = (undefined); + r0 = (s.arg0).fields["left"] = (undefined); + r0 = (s.arg0).fields["up"] = (undefined); + r0 = s.arg0.fields["_player"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 === 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 2; continue; } + case 1: + r0 = 2; + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = (s.arg0).fields["bg"] = (s.tmp_3); + r0 = (s.arg0).fields["x"] = (0); + r0 = (s.arg0).fields["y"] = (0); + { step = 14; continue; } + case 3: + r0 = (s.arg1 === 2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = 0; + { step = 5; continue; } + case 4: + r0 = 8; + case 5: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = (s.arg0).fields["bg"] = (s.tmp_2); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["x"] = (s.tmp_1); + r0 = (s.arg0).fields["y"] = (0); + r0 = (s.arg0).fields["left"] = (true); + { step = 13; continue; } + case 6: + r0 = (s.arg1 === 3); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 7; continue; } + r0 = 0; + { step = 8; continue; } + case 7: + r0 = 4; + case 8: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = (s.arg0).fields["bg"] = (s.tmp_2); + r0 = (s.arg0).fields["x"] = (0); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["y"] = (s.tmp_1); + r0 = (s.arg0).fields["up"] = (true); + { step = 12; continue; } + case 9: + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 10; continue; } + r0 = 0; + { step = 11; continue; } + case 10: + r0 = 7; + case 11: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg0).fields["bg"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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___1829); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["y"] = (s.tmp_1); + r0 = (s.arg0).fields["left"] = (true); + r0 = (s.arg0).fields["up"] = (true); + case 12: + case 13: + case 14: + r0 = pxsim_numops_toBoolDecr(globals.players___4257); + 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 = pxsim_Array__mk(); + globals.players___4257 = (r0); + case 15: + case 16: + s.tmp_0 = r0 = globals.players___4257; + r0 = s.arg0.fields["_player"]; + 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() +} } } +info_PlayerInfo_constructor__P2373.info = {"start":15637,"length":1370,"line":519,"column":8,"endLine":556,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this","player"]} + +function info_PlayerInfo_constructor__P2373_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_constructor__P2373, depth: s.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 info_PlayerInfo_getState__P2374(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_0 = info_PlayerInfo_init__P4308_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 904; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals.infoState___4256.fields["playerStates"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["_player"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.tmp_1); + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_getState__P2374.info = {"start":17279,"length":121,"line":566,"column":8,"endLine":569,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"getState","argumentNames":["this"]} + +function info_PlayerInfo_getState__P2374_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_getState__P2374, 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 info_PlayerInfo_init__P4308(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_0 = info_initHUD__P4302_mk(s); + s.callLocIdx = 901; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = s.arg0.fields["_player"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_2 = info_initMultiHUD__P4303_mk(s); + s.callLocIdx = 902; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + case 1: + case 2: + r0 = globals.infoState___4256.fields["playerStates"]; + s.tmp_3 = r0; + r0 = s.arg0.fields["_player"]; + s.tmp_5 = r0; + r0 = (s.tmp_5 - 1); + s.tmp_4 = r0; + r0 = pxsim_Array__getAt(s.tmp_3, s.tmp_4); + 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 = pxsim_pxtcore_mkClassInstance(info_PlayerState__C2332_VT); + s.tmp_6 = r0; + r0 = undefined; + r0 = globals.infoState___4256.fields["playerStates"]; + s.tmp_7 = r0; + r0 = s.arg0.fields["_player"]; + s.tmp_9 = r0; + r0 = (s.tmp_9 - 1); + s.tmp_8 = r0; + r0 = pxsim_Array_.setAt(s.tmp_7, s.tmp_8, s.tmp_6); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_init__P4308.info = {"start":17017,"length":252,"line":558,"column":8,"endLine":564,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"init","argumentNames":["this"]} + +function info_PlayerInfo_init__P4308_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_init__P4308, depth: s.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 info_initMultiHUD__P4303(s) { +let r0 = s.r0, 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.infoState___4256.fields["visibilityFlag"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 16); + 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 = globals.infoState___4256; + r0 = s.tmp_2.fields["visibilityFlag"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 | 16); + s.tmp_3 = r0; + r0 = (s.tmp_2).fields["visibilityFlag"] = (s.tmp_3); + r0 = globals.infoState___4256.fields["visibilityFlag"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 & 32); + 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 = r0 = globals.infoState___4256; + s.tmp_6 = info_defaultMultiplayerHeartImage__P4305_mk(s); + s.callLocIdx = 879; s.pc = 6; return s.tmp_6; + case 6: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_4).fields["heartImage"] = (s.tmp_5); + case 3: + case 4: + s.tmp_0 = r0 = globals.infoState___4256; + r0 = pxsim.image.ofBuffer(_hex14501); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["multiplierImage"] = (s.tmp_1); + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_initMultiHUD__P4303.info = {"start":4757,"length":393,"line":151,"column":4,"endLine":162,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"initMultiHUD","argumentNames":[]} + +function info_initMultiHUD__P4303_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_initMultiHUD__P4303, depth: s.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, +} } + +const _hex14501 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100001000000001010000") + + + + +function info_defaultMultiplayerHeartImage__P4305(s) { +let r0 = s.r0, 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_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.image.ofBuffer(_hex14505); + { step = 2; continue; } + case 1: + r0 = pxsim.image.ofBuffer(_hex14507); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +info_defaultMultiplayerHeartImage__P4305.info = {"start":5754,"length":503,"line":187,"column":4,"endLine":204,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"defaultMultiplayerHeartImage","argumentNames":[]} + +function info_defaultMultiplayerHeartImage__P4305_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_defaultMultiplayerHeartImage__P4305, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + +const _hex14505 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100000110000010000100011000001001000000000000") +const _hex14507 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100002112000010240100411200001001000000000000") + + + + +function info_initHUD__P4302(s) { +let r0 = s.r0, 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.infoState___4256); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + r0 = pxsim_pxtcore_mkClassInstance(info_InfoState__C4253_VT); + s.tmp_0 = r0; + s.tmp_1 = info_InfoState_constructor__P4254_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 862; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + globals.infoState___4256 = (s.tmp_0); + s.tmp_0 = scene_createRenderable__P2535_mk(s); + s.tmp_0.arg0 = 100; + s.tmp_0.arg1 = info_initHUD_inline__P14515; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 878; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_initHUD__P4302.info = {"start":2671,"length":2080,"line":99,"column":4,"endLine":149,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"initHUD","argumentNames":[]} + +function info_initHUD__P4302_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_initHUD__P4302, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function info_initHUD_inline__P14515(s) { +let r0 = s.r0, 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.ps___14524 = undefined; + s.p___14545 = undefined; + s.scene___14579 = undefined; + s.elapsed___14582 = undefined; + s.t___14590 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.infoState___4256); + 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 = globals.infoState___4256.fields["visibilityFlag"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 & 16); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_2 = helpers_arrayFilter__P110_mk(s); + s.tmp_2.arg0 = globals.players___4257; + s.tmp_2.arg1 = ps_inline__P14526; + s.callLocIdx = 863; s.pc = 24; return s.tmp_2; + case 24: + r0 = s.retval; + s.ps___14524 = (r0); + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.ps___14524; + s.tmp_0.arg1 = info_initHUD_inline__P14535; + s.callLocIdx = 865; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + s.tmp_0.arg0 = s.ps___14524; + s.tmp_0.arg1 = info_initHUD_inline__P14541; + s.callLocIdx = 867; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + { step = 12; continue; } + case 3: + s.p___14545 = (globals.player1___2392); + s.tmp_1 = info_PlayerInfo_hasScore__P2379_mk(s); + s.tmp_1.arg0 = s.p___14545; + s.callLocIdx = 868; s.pc = 27; return s.tmp_1; + case 27: + r0 = s.retval; + 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: + r0 = globals.infoState___4256.fields["visibilityFlag"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & 2); + case 5: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 6; continue; } + s.tmp_4 = info_PlayerInfo_drawScore__P2387_mk(s); + s.tmp_4.arg0 = s.p___14545; + s.callLocIdx = 869; s.pc = 28; return s.tmp_4; + case 28: + r0 = s.retval; + case 6: + case 7: + s.tmp_1 = info_PlayerInfo_hasLife__P2383_mk(s); + s.tmp_1.arg0 = s.p___14545; + s.callLocIdx = 870; s.pc = 29; return s.tmp_1; + case 29: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 8; continue; } + r0 = s.tmp_0; + { step = 9; continue; } + case 8: + r0 = globals.infoState___4256.fields["visibilityFlag"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & 4); + case 9: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 10; continue; } + s.tmp_4 = info_PlayerInfo_drawLives__P2388_mk(s); + s.tmp_4.arg0 = s.p___14545; + s.callLocIdx = 871; s.pc = 30; return s.tmp_4; + case 30: + r0 = s.retval; + case 10: + case 11: + s.tmp_0 = info_PlayerInfo_raiseLifeZero__P2385_mk(s); + s.tmp_0.arg0 = s.p___14545; + s.tmp_0.arg1 = true; + s.callLocIdx = 872; s.pc = 31; return s.tmp_0; + case 31: + r0 = s.retval; + case 12: + r0 = globals.infoState___4256.fields["gameEnd"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 13; continue; } + r0 = s.tmp_0; + { step = 14; continue; } + case 13: + r0 = globals.infoState___4256.fields["visibilityFlag"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & 1); + case 14: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 21; continue; } + s.tmp_4 = game_currentScene__P2685_mk(s); + s.callLocIdx = 873; s.pc = 32; return s.tmp_4; + case 32: + r0 = s.retval; + s.scene___14579 = (r0); + r0 = globals.infoState___4256.fields["gameEnd"]; + s.tmp_0 = r0; + r0 = s.scene___14579.fields["_millis"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.elapsed___14582 = (r0); + s.tmp_0 = info_drawTimer__P4307_mk(s); + s.tmp_0.arg0 = s.elapsed___14582; + s.callLocIdx = 875; s.pc = 33; return s.tmp_0; + case 33: + r0 = s.retval; + r0 = (s.elapsed___14582 / 1000); + s.t___14590 = (r0); + r0 = (s.t___14590 <= 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 19; continue; } + s.t___14590 = (0); + r0 = globals.infoState___4256.fields["countdownExpired"]; + 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; } + r0 = (globals.infoState___4256).fields["countdownExpired"] = (true); + r0 = (globals.infoState___4256).fields["gameEnd"] = (undefined); + r0 = globals.infoState___4256.fields["countdownEndHandler"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + s.tmp_1 = if_countdownEndHandler_1_mk(s); + s.tmp_1.arg0 = globals.infoState___4256; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "countdownEndHandler"), 1); + s.callLocIdx = 876; s.pc = 34; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["countdownEndHandler"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["countdownEndHandler"], 1); s.callLocIdx = 876; s.pc = 34; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 876; s.pc = 34; return s.tmp_1;; } + else { s.callLocIdx = 876; s.pc = 34; return s.tmp_1; } + } + case 34: + r0 = s.retval; + { step = 16; continue; } + case 15: + s.tmp_0 = game_over__P2695_mk(s); + s.tmp_0.arg0 = false; + s.tmp_0.arg1 = undefined; + s.callLocIdx = 877; s.pc = 35; return s.tmp_0; + case 35: + r0 = s.retval; + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_initHUD_inline__P14515.info = {"start":2831,"length":1903,"line":106,"column":12,"endLine":147,"endColumn":13,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":[]} + +function info_initHUD_inline__P14515_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_initHUD_inline__P14515, depth: s.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, + ps___14524: undefined, + p___14545: undefined, + scene___14579: undefined, + elapsed___14582: undefined, + t___14590: undefined, +} } + + + + + +function ps_inline__P14526(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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() +} } } +ps_inline__P14526.info = {"start":3079,"length":8,"line":111,"column":46,"endLine":111,"endColumn":54,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]} + +function ps_inline__P14526_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ps_inline__P14526, 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 info_initHUD_inline__P14535(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = info_PlayerInfo_drawPlayer__P2386_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 864; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_initHUD_inline__P14535.info = {"start":3163,"length":19,"line":113,"column":31,"endLine":113,"endColumn":50,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]} + +function info_initHUD_inline__P14535_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_initHUD_inline__P14535, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function info_initHUD_inline__P14541(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = info_PlayerInfo_raiseLifeZero__P2385_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = false; + s.callLocIdx = 866; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_initHUD_inline__P14541.info = {"start":3265,"length":27,"line":115,"column":31,"endLine":115,"endColumn":58,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]} + +function info_initHUD_inline__P14541_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_initHUD_inline__P14541, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function info_drawTimer__P4307(s) { +let r0 = s.r0, 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___14619 = undefined; + s.smallFont___14621 = undefined; + s.seconds___14623 = undefined; + s.width___14627 = undefined; + s.left___14632 = undefined; + s.color1___14642 = undefined; + s.color2___14646 = undefined; + s.temp___14659 = undefined; + s.remainder___14695 = undefined; + s.decimalLeft___14714 = undefined; + s.minutes___14732 = undefined; + s.remainder___14736 = undefined; + 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.arg0 = (0); + case 1: + case 2: + r0 = (s.arg0 | 0); + s.arg0 = (r0); + s.font___14619 = (globals.font8___1772); + s.smallFont___14621 = (globals.font5___1777); + r0 = pxsim.Math_.idiv(s.arg0, 1000); + s.seconds___14623 = (r0); + s.tmp_2 = if_charWidth_1_mk(s); + s.tmp_2.arg0 = s.font___14619; + 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 = 888; s.pc = 11; return s.tmp_2; } + } + case 11: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 * 5); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 2); + s.width___14627 = (r0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (s.width___14627 >> 1); + s.tmp_3 = r0; + r0 = (s.tmp_1 - s.tmp_3); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + s.left___14632 = (r0); + r0 = globals.infoState___4256.fields["fontColor"]; + s.color1___14642 = (r0); + r0 = globals.infoState___4256.fields["bgColor"]; + s.color2___14646 = (r0); + r0 = (s.seconds___14623 < 10); + 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.seconds___14623 & 1); + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBool(s.tmp_1); + if (r0) { step = 5; continue; } + r0 = s.tmp_1; + { step = 6; continue; } + case 5: + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + 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 = 7; continue; } + s.temp___14659 = (s.color1___14642); + s.color1___14642 = (s.color2___14646); + s.color2___14646 = (s.temp___14659); + case 7: + case 8: + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + r0 = (s.left___14632 - 3); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 0; + r0 = (s.width___14627 + 6); + s.tmp_0.arg3 = r0; + s.tmp_2 = if_charHeight_1_mk(s); + s.tmp_2.arg0 = s.font___14619; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 889; s.pc = 13; return s.tmp_2; } + } + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 + 3); + s.tmp_0.arg4 = r0; + r0 = globals.infoState___4256.fields["borderColor"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 890; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + r0 = (s.left___14632 - 2); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 0; + r0 = (s.width___14627 + 4); + s.tmp_0.arg3 = r0; + s.tmp_2 = if_charHeight_1_mk(s); + s.tmp_2.arg0 = s.font___14619; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 891; s.pc = 15; return s.tmp_2; } + } + case 15: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 + 2); + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.color2___14646; + s.callLocIdx = 892; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + r0 = (s.seconds___14623 < 60); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + r0 = (s.arg0 % 1000); + s.tmp_1 = r0; + r0 = pxsim.Math_.idiv(s.tmp_1, 10); + s.remainder___14695 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_3 = info_formatDecimal__P4309_mk(s); + s.tmp_3.arg0 = s.seconds___14623; + s.callLocIdx = 893; s.pc = 17; return s.tmp_3; + case 17: + r0 = s.retval; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 18); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 18: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat(s.tmp_1, "."); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.left___14632; + s.tmp_0.arg3 = 1; + s.tmp_0.arg4 = s.color1___14642; + s.tmp_0.arg5 = s.font___14619; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 894; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.tmp_0 = r0 = s.left___14632; + s.tmp_3 = if_charWidth_1_mk(s); + s.tmp_3.arg0 = s.font___14619; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 895; s.pc = 19; return s.tmp_3; } + } + case 19: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (3 * s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.decimalLeft___14714 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_1 = info_formatDecimal__P4309_mk(s); + s.tmp_1.arg0 = s.remainder___14695; + s.callLocIdx = 896; s.pc = 21; return s.tmp_1; + case 21: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.decimalLeft___14714; + s.tmp_0.arg3 = 3; + s.tmp_0.arg4 = s.color1___14642; + s.tmp_0.arg5 = s.smallFont___14621; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 897; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + { step = 10; continue; } + case 9: + r0 = pxsim.Math_.idiv(s.seconds___14623, 60); + s.minutes___14732 = (r0); + r0 = (s.seconds___14623 % 60); + s.remainder___14736 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_5 = info_formatDecimal__P4309_mk(s); + s.tmp_5.arg0 = s.minutes___14732; + s.callLocIdx = 898; s.pc = 23; return s.tmp_5; + case 23: + r0 = s.retval; + s.tmp_4 = r0; + if ((s.tmp_4) && (s.tmp_4).vtable) { + setupResume(s, 24); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 24: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String__concat(s.tmp_3, ":"); + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 25); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 25: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_8 = info_formatDecimal__P4309_mk(s); + s.tmp_8.arg0 = s.remainder___14736; + s.callLocIdx = 899; s.pc = 26; return s.tmp_8; + case 26: + r0 = s.retval; + s.tmp_7 = r0; + if ((s.tmp_7) && (s.tmp_7).vtable) { + setupResume(s, 27); + pxsim_String__stringConv(s.tmp_7); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_7) + ""; } + case 27: + r0 = s.retval; + s.tmp_6 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_6); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = s.left___14632; + s.tmp_0.arg3 = 1; + s.tmp_0.arg4 = s.color1___14642; + s.tmp_0.arg5 = s.font___14619; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 900; s.pc = 22; return s.tmp_0; + case 22: + r0 = s.retval; + case 10: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_drawTimer__P4307.info = {"start":13679,"length":1328,"line":466,"column":4,"endLine":501,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"drawTimer","argumentNames":["millis"]} + +function info_drawTimer__P4307_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_drawTimer__P4307, depth: s.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, + font___14619: undefined, + smallFont___14621: undefined, + seconds___14623: undefined, + width___14627: undefined, + left___14632: undefined, + color1___14642: undefined, + color2___14646: undefined, + temp___14659: undefined, + remainder___14695: undefined, + decimalLeft___14714: undefined, + minutes___14732: undefined, + remainder___14736: undefined, + arg0: undefined, +} } + + + + + +function info_formatDecimal__P4309(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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.arg0 = (r0); + r0 = (s.arg0 < 10); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + if ((s.arg0) && (s.arg0).vtable) { + setupResume(s, 4); + pxsim_String__stringConv(s.arg0); + checkResumeConsumed(); + return; + } else { s.retval = (s.arg0) + ""; } + case 4: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat("0", s.tmp_1); + { step = 3; continue; } + case 1: + case 2: + r0 = pxsim_numops.toString(s.arg0); + case 3: + return leave(s, r0) + default: oops() +} } } +info_formatDecimal__P4309.info = {"start":28812,"length":156,"line":924,"column":4,"endLine":930,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"formatDecimal","argumentNames":["val"]} + +function info_formatDecimal__P4309_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_formatDecimal__P4309, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function info_InfoState_constructor__P4254(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, info_InfoState__C4253_VT)) failedCast(r0); + r0 = (s.arg0).fields["visibilityFlag"] = (8); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["playerStates"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = info_defaultHeartImage__P4304_mk(s); + s.callLocIdx = 856; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["heartImage"] = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim.image.ofBuffer(_hex15381); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["multiplierImage"] = (s.tmp_1); + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = 0; + { step = 2; continue; } + case 1: + r0 = 1; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg0).fields["bgColor"] = (s.tmp_1); + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + r0 = 1; + { step = 4; continue; } + case 3: + r0 = 3; + case 4: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg0).fields["borderColor"] = (s.tmp_1); + r0 = pxsim_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = 1; + { step = 6; continue; } + case 5: + r0 = 3; + case 6: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.arg0).fields["fontColor"] = (s.tmp_1); + r0 = (s.arg0).fields["countdownExpired"] = (undefined); + r0 = (s.arg0).fields["countdownEndHandler"] = (undefined); + r0 = (s.arg0).fields["gameEnd"] = (undefined); + s.tmp_0 = r0 = s.arg0; + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["playerStates"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_InfoState_constructor__P4254.info = {"start":1121,"length":674,"line":45,"column":8,"endLine":63,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this"]} + +function info_InfoState_constructor__P4254_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_InfoState_constructor__P4254, 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, +} } + +const _hex15381 = pxsim.BufferMethods.createBufferFromHex("87040500050000000100010010100000000100001010000001000100") + + + + +function info_defaultHeartImage__P4304(s) { +let r0 = s.r0, 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_ImageMethods.isMono(globals.screen___1829); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = pxsim.image.ofBuffer(_hex15409); + { step = 2; continue; } + case 1: + r0 = pxsim.image.ofBuffer(_hex15411); + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +info_defaultHeartImage__P4304.info = {"start":5156,"length":592,"line":164,"column":4,"endLine":185,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"defaultHeartImage","argumentNames":[]} + +function info_defaultHeartImage__P4304_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_defaultHeartImage__P4304, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + +const _hex15409 = pxsim.BufferMethods.createBufferFromHex("87040800070000001011000001000100010010001000000101001000010001001011000000000000") +const _hex15411 = pxsim.BufferMethods.createBufferFromHex("8704080007000000c0cc00002c220c002222c2002222220c20222202222422004222020020220000") + + + + +function info_PlayerInfo_drawLives__P2388(s) { +let r0 = s.r0, 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___14773 = undefined; + s.font___14779 = undefined; + s.i___14822 = undefined; + s.num___14844 = undefined; + s.textWidth___14851 = undefined; + s.mult___14903 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_0 = info_PlayerInfo_getState__P2374_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 935; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.state___14773 = (r0); + r0 = s.state___14773.fields["life"]; + 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; } + { step = 7; continue; } + case 1: + case 2: + s.font___14779 = (globals.font8___1772); + r0 = s.state___14773.fields["life"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= 4); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = helpers_imageFillRect__P1755_mk(s); + s.tmp_2.arg0 = globals.screen___1829; + s.tmp_2.arg1 = 0; + s.tmp_2.arg2 = 0; + r0 = s.state___14773.fields["life"]; + s.tmp_4 = r0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_7 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_7); + s.tmp_6 = r0; + r0 = (s.tmp_6 + 1); + s.tmp_5 = r0; + r0 = (s.tmp_4 * s.tmp_5); + s.tmp_3 = r0; + r0 = (s.tmp_3 + 3); + s.tmp_2.arg3 = r0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_9 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_9); + s.tmp_8 = r0; + r0 = (s.tmp_8 + 4); + s.tmp_2.arg4 = r0; + r0 = globals.infoState___4256.fields["borderColor"]; + s.tmp_2.arg5 = r0; + s.callLocIdx = 936; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = 0; + r0 = s.state___14773.fields["life"]; + s.tmp_2 = r0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_5); + s.tmp_4 = r0; + r0 = (s.tmp_4 + 1); + s.tmp_3 = r0; + r0 = (s.tmp_2 * s.tmp_3); + s.tmp_1 = r0; + r0 = (s.tmp_1 + 2); + s.tmp_0.arg3 = r0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_7 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_7); + s.tmp_6 = r0; + r0 = (s.tmp_6 + 3); + s.tmp_0.arg4 = r0; + r0 = globals.infoState___4256.fields["bgColor"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 937; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + s.i___14822 = (0); + case 3: + r0 = s.state___14773.fields["life"]; + s.tmp_1 = r0; + r0 = (s.i___14822 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_2 = r0 = globals.screen___1829; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_3 = r0; + s.tmp_6 = r0 = s.i___14822; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_9 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_9); + s.tmp_8 = r0; + r0 = (s.tmp_8 + 1); + s.tmp_7 = r0; + r0 = (s.tmp_6 * s.tmp_7); + s.tmp_5 = r0; + r0 = (1 + s.tmp_5); + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_2, s.tmp_3, s.tmp_4, 1); + r0 = (s.i___14822 + 1); + s.i___14822 = (r0); + { step = 3; continue; } + case 4: + { step = 6; continue; } + case 5: + r0 = s.state___14773.fields["life"]; + s.tmp_1 = r0; + if ((s.tmp_1) && (s.tmp_1).vtable) { + setupResume(s, 11); + pxsim_String__stringConv(s.tmp_1); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_1) + ""; } + case 11: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_0, s.tmp_2); + s.num___14844 = (r0); + r0 = pxsim_String_.length(s.num___14844); + s.tmp_1 = r0; + s.tmp_3 = if_charWidth_1_mk(s); + s.tmp_3.arg0 = s.font___14779; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 938; s.pc = 12; return s.tmp_3; } + } + case 12: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + s.textWidth___14851 = (r0); + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = 0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_4); + s.tmp_3 = r0; + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_6); + s.tmp_5 = r0; + r0 = (s.tmp_3 + s.tmp_5); + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.textWidth___14851); + s.tmp_1 = r0; + r0 = (s.tmp_1 + 5); + s.tmp_0.arg3 = r0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_8 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_8); + s.tmp_7 = r0; + r0 = (s.tmp_7 + 4); + s.tmp_0.arg4 = r0; + r0 = globals.infoState___4256.fields["borderColor"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 939; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = 0; + s.tmp_0.arg2 = 0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_4); + s.tmp_3 = r0; + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_6); + s.tmp_5 = r0; + r0 = (s.tmp_3 + s.tmp_5); + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.textWidth___14851); + s.tmp_1 = r0; + r0 = (s.tmp_1 + 4); + s.tmp_0.arg3 = r0; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_8 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_8); + s.tmp_7 = r0; + r0 = (s.tmp_7 + 3); + s.tmp_0.arg4 = r0; + r0 = globals.infoState___4256.fields["bgColor"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 940; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___1829, s.tmp_0, 1, 1); + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.clone(s.tmp_0); + s.mult___14903 = (r0); + r0 = globals.infoState___4256.fields["fontColor"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.replace(s.mult___14903, 1, s.tmp_0); + s.tmp_0 = r0 = globals.screen___1829; + s.tmp_1 = r0 = s.mult___14903; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 + 2); + s.tmp_2 = r0; + s.tmp_8 = if_charHeight_1_mk(s); + s.tmp_8.arg0 = s.font___14779; + 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 = 941; s.pc = 15; return s.tmp_8; } + } + case 15: + r0 = s.retval; + s.tmp_7 = r0; + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_10 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_10); + s.tmp_9 = r0; + r0 = (s.tmp_7 - s.tmp_9); + s.tmp_6 = r0; + r0 = (s.tmp_6 - 1); + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_5); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.num___14844; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_3); + s.tmp_2 = r0; + r0 = (s.tmp_2 + 3); + s.tmp_1 = r0; + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_5); + s.tmp_4 = r0; + r0 = (s.tmp_1 + s.tmp_4); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = 1; + r0 = globals.infoState___4256.fields["fontColor"]; + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.font___14779; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 942; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_drawLives__P2388.info = {"start":26342,"length":2458,"line":855,"column":8,"endLine":921,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawLives","argumentNames":["this"]} + +function info_PlayerInfo_drawLives__P2388_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_drawLives__P2388, depth: s.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, + state___14773: undefined, + font___14779: undefined, + i___14822: undefined, + num___14844: undefined, + textWidth___14851: undefined, + mult___14903: undefined, + arg0: undefined, +} } + + + + + +function info_PlayerInfo_drawScore__P2387(s) { +let r0 = s.r0, 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___14959 = undefined; + s.font___14963 = undefined; + s.offsetY___14964 = undefined; + s.num___14973 = undefined; + s.width___14977 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_1 = info_PlayerInfo_score__P2376_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 928; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 | 0); + s.s___14959 = (r0); + r0 = (s.s___14959 >= 1000000); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.offsetY___14964 = (2); + s.font___14963 = (globals.font5___1777); + { step = 2; continue; } + case 1: + s.offsetY___14964 = (1); + s.font___14963 = (globals.font8___1772); + case 2: + r0 = pxsim_numops.toString(s.s___14959); + s.num___14973 = (r0); + r0 = pxsim_String_.length(s.num___14973); + s.tmp_0 = r0; + s.tmp_2 = if_charWidth_1_mk(s); + s.tmp_2.arg0 = s.font___14963; + 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 = 929; s.pc = 4; return s.tmp_2; } + } + case 4: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 * s.tmp_1); + s.width___14977 = (r0); + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.width___14977); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 2); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_0.arg3 = r0; + s.tmp_4 = if_charHeight_1_mk(s); + s.tmp_4.arg0 = globals.font8___1772; + 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 = 930; s.pc = 6; return s.tmp_4; } + } + case 6: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 + 3); + s.tmp_0.arg4 = r0; + r0 = globals.infoState___4256.fields["borderColor"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 931; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.width___14977); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 1); + s.tmp_0.arg1 = r0; + s.tmp_0.arg2 = 0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_0.arg3 = r0; + s.tmp_4 = if_charHeight_1_mk(s); + s.tmp_4.arg0 = globals.font8___1772; + 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 = 932; s.pc = 8; return s.tmp_4; } + } + case 8: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 + 2); + s.tmp_0.arg4 = r0; + r0 = globals.infoState___4256.fields["bgColor"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 933; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.num___14973; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.width___14977); + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.offsetY___14964; + r0 = globals.infoState___4256.fields["fontColor"]; + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.font___14963; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 934; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_drawScore__P2387.info = {"start":25284,"length":1048,"line":815,"column":8,"endLine":853,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawScore","argumentNames":["this"]} + +function info_PlayerInfo_drawScore__P2387_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_drawScore__P2387, depth: s.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___14959: undefined, + font___14963: undefined, + offsetY___14964: undefined, + num___14973: undefined, + width___14977: undefined, + arg0: undefined, +} } + + + + + +function info_PlayerInfo_score__P2376(s) { +let r0 = s.r0, 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___14331 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, info_PlayerInfo__C2361_VT)) failedCast(r0); + r0 = s.arg0.fields["showScore"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = (s.arg0).fields["showScore"] = (true); + case 1: + case 2: + r0 = s.arg0.fields["showPlayer"]; + 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 = (s.arg0).fields["showPlayer"] = (true); + case 3: + case 4: + s.tmp_0 = info_PlayerInfo_getState__P2374_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 905; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.state___14331 = (r0); + r0 = s.state___14331.fields["score"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 == null); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = (s.state___14331).fields["score"] = (0); + case 5: + case 6: + r0 = s.state___14331.fields["score"]; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_score__P2376.info = {"start":17683,"length":314,"line":582,"column":8,"endLine":591,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"score","argumentNames":["this"]} + +function info_PlayerInfo_score__P2376_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_score__P2376, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + state___14331: undefined, + arg0: undefined, +} } + + + + + +function info_PlayerInfo_drawPlayer__P2386(s) { +let r0 = s.r0, 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___15049 = undefined; + s.font___15052 = undefined; + s.score___15054 = undefined; + s.life___15055 = undefined; + s.height___15056 = undefined; + s.scoreWidth___15057 = undefined; + s.lifeWidth___15058 = undefined; + s.offsetY___15061 = undefined; + s.showScore___15062 = undefined; + s.showLife___15070 = undefined; + s.width___15138 = undefined; + s.x___15148 = undefined; + s.y___15155 = undefined; + s.bump___15188 = undefined; + s.xLoc___15213 = undefined; + s.mult___15224 = undefined; + s.pNum___15286 = undefined; + s.iconWidth___15293 = undefined; + s.iconHeight___15301 = undefined; + s.iconX___15309 = undefined; + s.iconY___15321 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_0 = info_PlayerInfo_getState__P2374_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 911; s.pc = 43; return s.tmp_0; + case 43: + r0 = s.retval; + s.state___15049 = (r0); + s.font___15052 = (globals.font5___1777); + s.height___15056 = (4); + s.scoreWidth___15057 = (0); + s.lifeWidth___15058 = (0); + s.offsetY___15061 = (2); + r0 = s.arg0.fields["showScore"]; + 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.state___15049.fields["score"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + s.showScore___15062 = (s.tmp_2); + r0 = s.arg0.fields["showLife"]; + 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.state___15049.fields["life"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== undefined); + case 4: + // jmp value (already in r0) + s.tmp_2 = r0; + s.showLife___15070 = (s.tmp_2); + r0 = pxsim_numops_toBoolDecr(s.showScore___15062); + if (!r0) { step = 5; continue; } + r0 = pxsim_String_.mkEmpty(); + s.tmp_0 = r0; + r0 = s.state___15049.fields["score"]; + s.tmp_2 = r0; + if ((s.tmp_2) && (s.tmp_2).vtable) { + setupResume(s, 44); + pxsim_String__stringConv(s.tmp_2); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_2) + ""; } + case 44: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_String__concat(s.tmp_0, s.tmp_1); + s.score___15054 = (r0); + r0 = pxsim_String_.length(s.score___15054); + s.tmp_1 = r0; + s.tmp_3 = if_charWidth_1_mk(s); + s.tmp_3.arg0 = s.font___15052; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 912; s.pc = 45; return s.tmp_3; } + } + case 45: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 3); + s.scoreWidth___15057 = (r0); + s.tmp_0 = r0 = s.height___15056; + s.tmp_2 = if_charHeight_1_mk(s); + s.tmp_2.arg0 = s.font___15052; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 913; s.pc = 46; return s.tmp_2; } + } + case 46: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.height___15056 = (r0); + s.tmp_0 = r0 = s.offsetY___15061; + s.tmp_3 = if_charHeight_1_mk(s); + s.tmp_3.arg0 = s.font___15052; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charHeight"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charHeight"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charHeight"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 914; s.pc = 47; return s.tmp_3; } + } + case 47: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 + 1); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.offsetY___15061 = (r0); + case 5: + case 6: + r0 = pxsim_numops_toBoolDecr(s.showLife___15070); + if (!r0) { step = 9; continue; } + r0 = s.state___15049.fields["life"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = s.tmp_0; + { step = 8; continue; } + case 7: + r0 = 0; + case 8: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_String_.mkEmpty(); + s.tmp_2 = r0; + if ((s.tmp_1) && (s.tmp_1).vtable) { + setupResume(s, 48); + pxsim_String__stringConv(s.tmp_1); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_1) + ""; } + case 48: + r0 = s.retval; + s.tmp_3 = r0; + r0 = pxsim_String__concat(s.tmp_2, s.tmp_3); + s.life___15055 = (r0); + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_3); + s.tmp_2 = r0; + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_5); + s.tmp_4 = r0; + r0 = (s.tmp_2 + s.tmp_4); + s.tmp_1 = r0; + r0 = pxsim_String_.length(s.life___15055); + s.tmp_7 = r0; + s.tmp_9 = if_charWidth_1_mk(s); + s.tmp_9.arg0 = s.font___15052; + if (!s.tmp_9.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_9.arg0, "charWidth"); + } else { + s.tmp_9.fn = s.tmp_9.arg0.vtable.iface["charWidth"]; + if (s.tmp_9.fn == null) { s.retval = s.tmp_9.arg0.fields["charWidth"]; } + else if (!s.tmp_9.fn.isGetter) { s.retval = bind(s.tmp_9); } + else { s.callLocIdx = 915; s.pc = 49; return s.tmp_9; } + } + case 49: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_7 * s.tmp_8); + s.tmp_6 = r0; + r0 = (s.tmp_1 + s.tmp_6); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 3); + s.lifeWidth___15058 = (r0); + s.tmp_0 = r0 = s.height___15056; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_2 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.height___15056 = (r0); + case 9: + case 10: + s.tmp_0 = Math_max__P130_mk(s); + s.tmp_0.arg0 = s.scoreWidth___15057; + s.tmp_0.arg1 = s.lifeWidth___15058; + s.callLocIdx = 916; s.pc = 50; return s.tmp_0; + case 50: + r0 = s.retval; + s.width___15138 = (r0); + s.tmp_0 = r0 = s.showScore___15062; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 11; continue; } + r0 = s.tmp_0; + { step = 12; continue; } + case 11: + r0 = s.showLife___15070; + case 12: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 13; continue; } + r0 = (s.height___15056 + 1); + s.height___15056 = (r0); + case 13: + case 14: + r0 = s.arg0.fields["left"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = s.width___15138; + { step = 16; continue; } + case 15: + r0 = 0; + case 16: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.arg0.fields["x"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.tmp_1); + s.x___15148 = (r0); + r0 = s.arg0.fields["up"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 17; continue; } + r0 = s.height___15056; + { step = 18; continue; } + case 17: + r0 = 0; + case 18: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = s.arg0.fields["y"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.tmp_1); + s.y___15155 = (r0); + s.tmp_0 = r0 = s.showScore___15062; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 19; continue; } + r0 = s.tmp_0; + { step = 20; continue; } + case 19: + r0 = s.showLife___15070; + case 20: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 21; continue; } + s.tmp_2 = helpers_imageFillRect__P1755_mk(s); + s.tmp_2.arg0 = globals.screen___1829; + s.tmp_2.arg1 = s.x___15148; + s.tmp_2.arg2 = s.y___15155; + s.tmp_2.arg3 = s.width___15138; + s.tmp_2.arg4 = s.height___15056; + r0 = s.arg0.fields["border"]; + s.tmp_2.arg5 = r0; + s.callLocIdx = 917; s.pc = 51; return s.tmp_2; + case 51: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + r0 = (s.x___15148 + 1); + s.tmp_0.arg1 = r0; + r0 = (s.y___15155 + 1); + s.tmp_0.arg2 = r0; + r0 = (s.width___15138 - 2); + s.tmp_0.arg3 = r0; + r0 = (s.height___15056 - 2); + s.tmp_0.arg4 = r0; + r0 = s.arg0.fields["bg"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 918; s.pc = 52; return s.tmp_0; + case 52: + r0 = s.retval; + case 21: + case 22: + r0 = pxsim_numops_toBoolDecr(s.showScore___15062); + if (!r0) { step = 25; continue; } + r0 = s.arg0.fields["left"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 23; continue; } + r0 = (s.width___15138 - s.scoreWidth___15057); + { step = 24; continue; } + case 23: + r0 = 0; + case 24: + // jmp value (already in r0) + s.tmp_1 = r0; + s.bump___15188 = (s.tmp_1); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.score___15054; + r0 = (s.x___15148 + 1); + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.bump___15188); + s.tmp_1 = r0; + r0 = (s.tmp_1 + 1); + s.tmp_0.arg2 = r0; + r0 = (s.y___15155 + 2); + s.tmp_0.arg3 = r0; + r0 = s.arg0.fields["fc"]; + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.font___15052; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 919; s.pc = 53; return s.tmp_0; + case 53: + r0 = s.retval; + case 25: + case 26: + r0 = pxsim_numops_toBoolDecr(s.showLife___15070); + if (!r0) { step = 29; continue; } + r0 = s.arg0.fields["left"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 27; continue; } + r0 = (s.width___15138 - s.lifeWidth___15058); + { step = 28; continue; } + case 27: + r0 = 0; + case 28: + // jmp value (already in r0) + s.tmp_1 = r0; + r0 = (s.x___15148 + 1); + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.tmp_1); + s.xLoc___15213 = (r0); + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.clone(s.tmp_0); + s.mult___15224 = (r0); + r0 = s.arg0.fields["fc"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.replace(s.mult___15224, 1, s.tmp_0); + s.tmp_0 = r0 = globals.screen___1829; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_1 = r0; + s.tmp_2 = r0 = s.xLoc___15213; + r0 = (s.y___15155 + s.offsetY___15061); + s.tmp_3 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_3); + s.tmp_0 = r0 = globals.screen___1829; + s.tmp_1 = r0 = s.mult___15224; + s.tmp_3 = r0 = s.xLoc___15213; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_5); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = (s.y___15155 + s.offsetY___15061); + s.tmp_9 = r0; + s.tmp_11 = if_charHeight_1_mk(s); + s.tmp_11.arg0 = s.font___15052; + 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 = 920; s.pc = 54; return s.tmp_11; } + } + case 54: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_9 + s.tmp_10); + s.tmp_8 = r0; + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_13 = r0; + r0 = pxsim_ImageMethods.height(s.tmp_13); + s.tmp_12 = r0; + r0 = (s.tmp_8 - s.tmp_12); + s.tmp_7 = r0; + r0 = (s.tmp_7 - 1); + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_6); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.life___15055; + s.tmp_3 = r0 = s.xLoc___15213; + r0 = globals.infoState___4256.fields["heartImage"]; + s.tmp_5 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_5); + s.tmp_4 = r0; + r0 = (s.tmp_3 + s.tmp_4); + s.tmp_2 = r0; + r0 = globals.infoState___4256.fields["multiplierImage"]; + s.tmp_7 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_7); + s.tmp_6 = r0; + r0 = (s.tmp_2 + s.tmp_6); + s.tmp_1 = r0; + r0 = (s.tmp_1 + 1); + s.tmp_0.arg2 = r0; + r0 = (s.y___15155 + s.offsetY___15061); + s.tmp_0.arg3 = r0; + r0 = s.arg0.fields["fc"]; + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.font___15052; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 921; s.pc = 55; return s.tmp_0; + case 55: + r0 = s.retval; + case 29: + case 30: + r0 = s.arg0.fields["showPlayer"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 41; continue; } + r0 = pxsim_String_.mkEmpty(); + s.tmp_1 = r0; + r0 = s.arg0.fields["_player"]; + s.tmp_3 = r0; + if ((s.tmp_3) && (s.tmp_3).vtable) { + setupResume(s, 56); + pxsim_String__stringConv(s.tmp_3); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_3) + ""; } + case 56: + r0 = s.retval; + s.tmp_2 = r0; + r0 = pxsim_String__concat(s.tmp_1, s.tmp_2); + s.pNum___15286 = (r0); + r0 = pxsim_String_.length(s.pNum___15286); + s.tmp_1 = r0; + s.tmp_3 = if_charWidth_1_mk(s); + s.tmp_3.arg0 = s.font___15052; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 922; s.pc = 57; return s.tmp_3; } + } + case 57: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 * s.tmp_2); + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + s.iconWidth___15293 = (r0); + s.tmp_0 = Math_max__P130_mk(s); + s.tmp_0.arg0 = s.height___15056; + s.tmp_2 = if_charHeight_1_mk(s); + s.tmp_2.arg0 = s.font___15052; + if (!s.tmp_2.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "charHeight"); + } else { + s.tmp_2.fn = s.tmp_2.arg0.vtable.iface["charHeight"]; + if (s.tmp_2.fn == null) { s.retval = s.tmp_2.arg0.fields["charHeight"]; } + else if (!s.tmp_2.fn.isGetter) { s.retval = bind(s.tmp_2); } + else { s.callLocIdx = 923; s.pc = 59; return s.tmp_2; } + } + case 59: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 + 2); + s.tmp_0.arg1 = r0; + s.callLocIdx = 924; s.pc = 58; return s.tmp_0; + case 58: + r0 = s.retval; + s.iconHeight___15301 = (r0); + r0 = s.arg0.fields["left"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 31; continue; } + r0 = (s.x___15148 - s.iconWidth___15293); + s.tmp_1 = r0; + r0 = (s.tmp_1 + 1); + { step = 32; continue; } + case 31: + r0 = (s.x___15148 + s.width___15138); + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + case 32: + // jmp value (already in r0) + s.tmp_3 = r0; + s.iconX___15309 = (s.tmp_3); + s.iconY___15321 = (s.y___15155); + r0 = pxsim_numops_toBoolDecr(s.showScore___15062); + 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 = 33; continue; } + r0 = s.tmp_0; + { step = 34; continue; } + case 33: + r0 = pxsim_numops_toBoolDecr(s.showLife___15070); + s.tmp_2 = r0; + r0 = pxsim_Boolean__bang(s.tmp_2); + case 34: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 39; continue; } + r0 = s.arg0.fields["left"]; + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 35; continue; } + r0 = -1; + { step = 36; continue; } + case 35: + r0 = 1; + case 36: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = (s.iconX___15309 + s.tmp_5); + s.iconX___15309 = (r0); + r0 = s.arg0.fields["up"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 37; continue; } + r0 = (s.iconY___15321 - 3); + s.iconY___15321 = (r0); + case 37: + case 38: + case 39: + case 40: + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.iconX___15309; + s.tmp_0.arg2 = s.iconY___15321; + s.tmp_0.arg3 = s.iconWidth___15293; + s.tmp_0.arg4 = s.iconHeight___15301; + r0 = s.arg0.fields["border"]; + s.tmp_0.arg5 = r0; + s.callLocIdx = 925; s.pc = 60; return s.tmp_0; + case 60: + r0 = s.retval; + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.pNum___15286; + r0 = (s.iconX___15309 + 1); + s.tmp_0.arg2 = r0; + s.tmp_2 = r0 = s.iconY___15321; + r0 = (s.iconHeight___15301 >> 1); + s.tmp_3 = r0; + r0 = (s.tmp_2 + s.tmp_3); + s.tmp_1 = r0; + s.tmp_6 = if_charHeight_1_mk(s); + s.tmp_6.arg0 = s.font___15052; + if (!s.tmp_6.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "charHeight"); + } else { + s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["charHeight"]; + if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["charHeight"]; } + else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); } + else { s.callLocIdx = 926; s.pc = 62; return s.tmp_6; } + } + case 62: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 1); + s.tmp_4 = r0; + r0 = (s.tmp_1 - s.tmp_4); + s.tmp_0.arg3 = r0; + r0 = s.arg0.fields["bg"]; + s.tmp_0.arg4 = r0; + s.tmp_0.arg5 = s.font___15052; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 927; s.pc = 61; return s.tmp_0; + case 61: + r0 = s.retval; + case 41: + case 42: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_drawPlayer__P2386.info = {"start":21639,"length":3635,"line":710,"column":8,"endLine":813,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"drawPlayer","argumentNames":["this"]} + +function info_PlayerInfo_drawPlayer__P2386_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_drawPlayer__P2386, depth: s.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, + state___15049: undefined, + font___15052: undefined, + score___15054: undefined, + life___15055: undefined, + height___15056: undefined, + scoreWidth___15057: undefined, + lifeWidth___15058: undefined, + offsetY___15061: undefined, + showScore___15062: undefined, + showLife___15070: undefined, + width___15138: undefined, + x___15148: undefined, + y___15155: undefined, + bump___15188: undefined, + xLoc___15213: undefined, + mult___15224: undefined, + pNum___15286: undefined, + iconWidth___15293: undefined, + iconHeight___15301: undefined, + iconX___15309: undefined, + iconY___15321: undefined, + arg0: undefined, +} } + + + + + +function info_PlayerInfo_raiseLifeZero__P2385(s) { +let r0 = s.r0, 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___15027 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_0 = info_PlayerInfo_getState__P2374_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 908; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.state___15027 = (r0); + r0 = s.state___15027.fields["life"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== null); + 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.state___15027.fields["life"]; + 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 = 7; continue; } + r0 = (s.state___15027).fields["life"] = (null); + r0 = s.state___15027.fields["lifeZeroHandler"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_1 = if_lifeZeroHandler_1_mk(s); + s.tmp_1.arg0 = s.state___15027; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "lifeZeroHandler"), 1); + s.callLocIdx = 909; s.pc = 10; return s.tmp_1; + } else { + s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["lifeZeroHandler"]; + if (s.tmp_1.fn == null) { setupLambda(s.tmp_1, s.tmp_1.arg0.fields["lifeZeroHandler"], 1); s.callLocIdx = 909; s.pc = 10; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 909; s.pc = 10; return s.tmp_1;; } + else { s.callLocIdx = 909; s.pc = 10; return s.tmp_1; } + } + case 10: + r0 = s.retval; + { step = 6; continue; } + case 3: + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 4; continue; } + s.tmp_0 = game_over__P2695_mk(s); + s.tmp_0.arg0 = false; + s.tmp_0.arg1 = undefined; + s.callLocIdx = 910; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + case 4: + case 5: + case 6: + case 7: + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_raiseLifeZero__P2385.info = {"start":21255,"length":374,"line":698,"column":8,"endLine":708,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"raiseLifeZero","argumentNames":["this","gameOver"]} + +function info_PlayerInfo_raiseLifeZero__P2385_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_raiseLifeZero__P2385, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + state___15027: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function info_PlayerInfo_hasLife__P2383(s) { +let r0 = s.r0, 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___14946 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_0 = info_PlayerInfo_getState__P2374_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 907; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.state___14946 = (r0); + r0 = s.state___14946.fields["life"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 !== 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.state___14946.fields["life"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 !== null); + case 2: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = s.tmp_3; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_hasLife__P2383.info = {"start":20732,"length":141,"line":681,"column":8,"endLine":684,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"hasLife","argumentNames":["this"]} + +function info_PlayerInfo_hasLife__P2383_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_hasLife__P2383, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + state___14946: undefined, + arg0: undefined, +} } + + + + + +function info_PlayerInfo_hasScore__P2379(s) { +let r0 = s.r0, 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___14343 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, info_PlayerInfo__C2361_VT)) failedCast(r0); + s.tmp_0 = info_PlayerInfo_getState__P2374_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 906; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.state___14343 = (r0); + r0 = s.state___14343.fields["score"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 !== undefined); + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_hasScore__P2379.info = {"start":18908,"length":111,"line":622,"column":8,"endLine":625,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"hasScore","argumentNames":["this"]} + +function info_PlayerInfo_hasScore__P2379_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_hasScore__P2379, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + state___14343: undefined, + arg0: undefined, +} } + + + + + +function info_PlayerState_constructor__P2336(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, info_PlayerState__C2332_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_PlayerState_constructor__P2336.info = {"start":684,"length":17,"line":29,"column":8,"endLine":29,"endColumn":25,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["this"]} + +function info_PlayerState_constructor__P2336_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerState_constructor__P2336, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function info_highScore__P2340(s) { +let r0 = s.r0, 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__P1863_mk(s); + s.tmp_1.arg0 = "high-score"; + s.callLocIdx = 887; 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() +} } } +info_highScore__P2340.info = {"start":7162,"length":98,"line":242,"column":4,"endLine":244,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"highScore","argumentNames":[]} + +function info_highScore__P2340_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_highScore__P2340, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, +} } + + + + + +function settings_readNumber__P1863(s) { +let r0 = s.r0, 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___14237 = undefined; + s.nums___14244 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim.settings._get(s.arg0); + s.buf___14237 = (r0); + r0 = pxsim_numops_toBoolDecr(s.buf___14237); + 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__P183_mk(s); + s.tmp_2.arg0 = s.buf___14237; + s.tmp_2.arg1 = 0; + s.callLocIdx = 177; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.nums___14244 = (r0); + s.tmp_0 = r0 = s.nums___14244; + 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___14244); + 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___14244, 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__P1863.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__P1863_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_readNumber__P1863, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + buf___14237: undefined, + nums___14244: undefined, + arg0: undefined, +} } + + + + + +function settings_readBuffer__P1860(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1860.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__P1860_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_readBuffer__P1860, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function msgpack_unpackNumberArray__P183(s) { +let r0 = s.r0, 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___14257 = undefined; + s.fmt___14264 = undefined; + s.v___14273 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___14257 = (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__P3959_mk(s); + r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3); + s.tmp_4.arg0 = r0; + s.callLocIdx = 24; s.pc = 12; return s.tmp_4; + case 12: + r0 = s.retval; + s.fmt___14264 = (r0); + r0 = (s.fmt___14264 === 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___14273 = (r0); + r0 = (-31 <= s.v___14273); + 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___14273 <= 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___14257, s.v___14273); + { step = 5; continue; } + case 4: + r0 = null; + { step = 11; continue; } + case 5: + { step = 7; continue; } + case 6: + s.tmp_0 = r0 = s.res___14257; + r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___14264, 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__P175_mk(s); + s.tmp_2.arg0 = s.fmt___14264; + s.callLocIdx = 25; 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___14257; + case 11: + return leave(s, r0) + default: oops() +} } } +msgpack_unpackNumberArray__P183.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__P183_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_unpackNumberArray__P183, depth: s.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___14257: undefined, + fmt___14264: undefined, + v___14273: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function msgpack_tagFormat__P3959(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P3959.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__P3959_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_tagFormat__P3959, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function pins_sizeOf__P175(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P215_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 21; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +pins_sizeOf__P175.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__P175_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: pins_sizeOf__P175, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Buffer_sizeOfNumberFormat__P215(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P215.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__P215_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Buffer_sizeOfNumberFormat__P215, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function info_saveHighScore__P2337(s) { +let r0 = s.r0, 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.hs___14059 = undefined; + s.curr___14076 = undefined; + r0 = pxsim_numops_toBoolDecr(globals.players___4257); + if (!r0) { step = 5; continue; } + r0 = pxsim_pxtrt.mklocRef(); + s.hs___14059 = (r0); + r0 = pxsim_pxtrt_stlocRef(s.hs___14059, 0); + r0 = pxsim_pxtcore_mkAction(1, info_saveHighScore_inline__P14069); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hs___14059); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_2 = helpers_arrayFilter__P110_mk(s); + s.tmp_2.arg0 = globals.players___4257; + s.tmp_2.arg1 = forEach_inline__P14063; + s.callLocIdx = 881; s.pc = 8; return s.tmp_2; + case 8: + r0 = s.retval; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 884; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + s.tmp_0 = settings_readNumber__P1863_mk(s); + s.tmp_0.arg0 = "high-score"; + s.callLocIdx = 885; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.curr___14076 = (r0); + r0 = (s.curr___14076 == null); + 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_pxtrt_ldlocRef(s.hs___14059); + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.curr___14076); + 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 = settings_writeNumber__P1858_mk(s); + s.tmp_3.arg0 = "high-score"; + r0 = pxsim_pxtrt_ldlocRef(s.hs___14059); + s.tmp_3.arg1 = r0; + s.callLocIdx = 886; s.pc = 10; return s.tmp_3; + case 10: + r0 = s.retval; + case 3: + case 4: + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +info_saveHighScore__P2337.info = {"start":6263,"length":383,"line":206,"column":4,"endLine":216,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"saveHighScore","argumentNames":[]} + +function info_saveHighScore__P2337_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_saveHighScore__P2337, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + tmp_3: undefined, + hs___14059: undefined, + curr___14076: undefined, +} } + + + + + +function forEach_inline__P14063(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + s.tmp_1 = info_PlayerInfo_hasScore__P2379_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 880; 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.tmp_2; + return leave(s, r0) + default: oops() +} } } +forEach_inline__P14063.info = {"start":6388,"length":22,"line":210,"column":24,"endLine":210,"endColumn":46,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]} + +function forEach_inline__P14063_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P14063, 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 info_saveHighScore_inline__P14069(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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.caps[0]; + s.tmp_2 = Math_max__P130_mk(s); + r0 = pxsim_pxtrt_ldlocRef(s.caps[0]); + s.tmp_2.arg0 = r0; + s.tmp_3 = info_PlayerInfo_score__P2376_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 882; s.pc = 2; return s.tmp_3; + case 2: + r0 = s.retval; + s.tmp_2.arg1 = r0; + s.callLocIdx = 883; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = s.tmp_1; + return leave(s, r0) + default: oops() +} } } +info_saveHighScore_inline__P14069.info = {"start":6437,"length":33,"line":211,"column":25,"endLine":211,"endColumn":58,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["p"]} + +function info_saveHighScore_inline__P14069_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_saveHighScore_inline__P14069, depth: s.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 settings_writeNumber__P1858(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1855_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = msgpack_packNumberArray__P184_mk(s); + s.tmp_2.arg0 = s.tmp_0; + s.callLocIdx = 173; s.pc = 2; return s.tmp_2; + case 2: + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.callLocIdx = 174; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_writeNumber__P1858.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__P1858_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_writeNumber__P1858, 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__P1855(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1855.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__P1855_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_writeBuffer__P1855, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function msgpack_packNumberArray__P184(s) { +let r0 = s.r0, 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___14097 = undefined; + s.n___14099 = undefined; + s.unnamed58___U2 = undefined; + s.unnamed59___U3 = undefined; + s.buf___14109 = undefined; + s.n___14115 = undefined; + s.unnamed60___U6 = undefined; + s.unnamed61___U7 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.off___14097 = (0); + s.n___14099 = (undefined); + s.unnamed58___U2 = (s.arg0); + s.unnamed59___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed59___U3; + r0 = pxsim_Array__length(s.unnamed58___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed58___U2, s.unnamed59___U3); + s.n___14099 = (r0); + s.tmp_2 = r0 = s.off___14097; + s.tmp_4 = msgpack_packNumberCore__P3960_mk(s); + s.tmp_4.arg0 = null; + s.tmp_4.arg1 = s.off___14097; + s.tmp_4.arg2 = s.n___14099; + s.callLocIdx = 26; 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___14097 = (r0); + r0 = (s.unnamed59___U3 + 1); + s.unnamed59___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed58___U2 = (undefined); + r0 = pxsim.control.createBuffer(s.off___14097); + s.buf___14109 = (r0); + s.off___14097 = (0); + s.n___14115 = (undefined); + s.unnamed60___U6 = (s.arg0); + s.unnamed61___U7 = (0); + case 3: + s.tmp_0 = r0 = s.unnamed61___U7; + r0 = pxsim_Array__length(s.unnamed60___U6); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed60___U6, s.unnamed61___U7); + s.n___14115 = (r0); + s.tmp_2 = r0 = s.off___14097; + s.tmp_4 = msgpack_packNumberCore__P3960_mk(s); + s.tmp_4.arg0 = s.buf___14109; + s.tmp_4.arg1 = s.off___14097; + s.tmp_4.arg2 = s.n___14115; + s.callLocIdx = 27; 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___14097 = (r0); + r0 = (s.unnamed61___U7 + 1); + s.unnamed61___U7 = (r0); + { step = 3; continue; } + case 4: + s.unnamed60___U6 = (undefined); + r0 = s.buf___14109; + return leave(s, r0) + default: oops() +} } } +msgpack_packNumberArray__P184.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__P184_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_packNumberArray__P184, depth: s.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___14097: undefined, + n___14099: undefined, + unnamed58___U2: undefined, + unnamed59___U3: undefined, + buf___14109: undefined, + n___14115: undefined, + unnamed60___U6: undefined, + unnamed61___U7: undefined, + arg0: undefined, +} } + + + + + +function msgpack_packNumberCore__P3960(s) { +let r0 = s.r0, 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___14129 = undefined; + s.fmt___14172 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.arg2 = (s.lambdaArgs[2]); + s.lambdaArgs = null; + } + s.tag___14129 = (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___14129 = (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___14129 = (205); + { step = 10; continue; } + case 9: + s.tag___14129 = (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___14129 = (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___14129 = (209); + { step = 15; continue; } + case 14: + s.tag___14129 = (210); + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + s.tmp_0 = msgpack_tagFormat__P3959_mk(s); + s.tmp_0.arg0 = s.tag___14129; + s.callLocIdx = 22; s.pc = 24; return s.tmp_0; + case 24: + r0 = s.retval; + s.fmt___14172 = (r0); + r0 = pxsim_numops_toBoolDecr(s.arg0); + if (!r0) { step = 21; continue; } + r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___14129); + s.tmp_0 = r0 = s.arg0; + s.tmp_1 = r0 = s.fmt___14172; + 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__P175_mk(s); + s.tmp_1.arg0 = s.fmt___14172; + s.callLocIdx = 23; 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__P3960.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__P3960_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: msgpack_packNumberCore__P3960, depth: s.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___14129: undefined, + fmt___14172: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function helpers_getImageByName__P3015(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__getFactoryInstance__P3012_mk(s); + s.tmp_0.arg0 = "image"; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1621; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +helpers_getImageByName__P3015.info = {"start":2638,"length":103,"line":81,"column":4,"endLine":83,"endColumn":5,"fileName":"pxt_modules/game/assetTemplates.ts","functionName":"getImageByName","argumentNames":["name"]} + +function helpers_getImageByName__P3015_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_getImageByName__P3015, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function assets_image__P3007(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = null; + return leave(s, r0) + default: oops() +} } } +assets_image__P3007.info = {"start":931,"length":71,"line":26,"column":4,"endLine":26,"endColumn":75,"fileName":"pxt_modules/game/assetTemplates.ts","functionName":"image","argumentNames":["lits","args"]} + +function assets_image__P3007_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: assets_image__P3007, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_setImage__P2178(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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_recalcSize__P4208_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 388; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_setImage__P2178.info = {"start":9273,"length":131,"line":332,"column":4,"endLine":336,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setImage","argumentNames":["this","img"]} + +function Sprite_setImage__P2178_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setImage__P2178, depth: s.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__P4208(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2157_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 411; 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__P2159_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 413; 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__P2180_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 415; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_recalcSize__P4208.info = {"start":11085,"length":176,"line":396,"column":4,"endLine":400,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"recalcSize","argumentNames":["this"]} + +function Sprite_recalcSize__P4208_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_recalcSize__P4208, depth: s.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__P2180(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + r0 = (s.arg0).fields["_hitbox"] = (null); + s.tmp_0 = Sprite_setHitbox__P2181_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 392; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_resetHitbox__P2180.info = {"start":9532,"length":76,"line":342,"column":4,"endLine":345,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"resetHitbox","argumentNames":["this"]} + +function Sprite_resetHitbox__P2180_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_resetHitbox__P2180, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_setHitbox__P2181(s) { +let r0 = s.r0, 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___15456 = undefined; + s.oMinX___15470 = undefined; + s.oMinY___15474 = undefined; + s.oMaxX___15478 = undefined; + s.oMaxY___15485 = undefined; + s.nMinX___15492 = undefined; + s.nMinY___15495 = undefined; + s.nMaxX___15498 = undefined; + s.nMaxY___15504 = undefined; + s.xDiff___15510 = undefined; + s.yDiff___15521 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_VT)) failedCast(r0); + s.tmp_0 = game_calculateHitBox__P2013_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 393; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + s.newHitBox___15456 = (r0); + r0 = s.arg0.fields["_hitbox"]; + 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: + s.tmp_3 = game_Hitbox_isValid__P2010_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 394; s.pc = 11; return s.tmp_3; + case 11: + r0 = s.retval; + case 2: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 3; continue; } + r0 = (s.arg0).fields["_hitbox"] = (s.newHitBox___15456); + { step = 9; continue; } + case 3: + case 4: + r0 = s.arg0.fields["_hitbox"]; + r0 = r0.fields["ox"]; + s.oMinX___15470 = (r0); + r0 = s.arg0.fields["_hitbox"]; + r0 = r0.fields["oy"]; + s.oMinY___15474 = (r0); + r0 = s.arg0.fields["_hitbox"]; + r0 = r0.fields["width"]; + s.tmp_0 = r0; + r0 = (s.oMinX___15470 + s.tmp_0); + s.oMaxX___15478 = (r0); + r0 = s.arg0.fields["_hitbox"]; + r0 = r0.fields["height"]; + s.tmp_0 = r0; + r0 = (s.oMinY___15474 + s.tmp_0); + s.oMaxY___15485 = (r0); + r0 = s.newHitBox___15456.fields["ox"]; + s.nMinX___15492 = (r0); + r0 = s.newHitBox___15456.fields["oy"]; + s.nMinY___15495 = (r0); + r0 = s.newHitBox___15456.fields["width"]; + s.tmp_0 = r0; + r0 = (s.nMinX___15492 + s.tmp_0); + s.nMaxX___15498 = (r0); + r0 = s.newHitBox___15456.fields["height"]; + s.tmp_0 = r0; + r0 = (s.nMinY___15495 + s.tmp_0); + s.nMaxY___15504 = (r0); + s.tmp_1 = Fx_abs__P165_mk(s); + r0 = (s.oMinX___15470 - s.nMinX___15492); + s.tmp_1.arg0 = r0; + s.callLocIdx = 400; s.pc = 12; return s.tmp_1; + case 12: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Fx_abs__P165_mk(s); + r0 = (s.oMaxX___15478 - s.nMaxX___15498); + s.tmp_3.arg0 = r0; + s.callLocIdx = 402; s.pc = 13; return s.tmp_3; + case 13: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + s.xDiff___15510 = (r0); + s.tmp_1 = Fx_abs__P165_mk(s); + r0 = (s.oMinY___15474 - s.nMinY___15495); + s.tmp_1.arg0 = r0; + s.callLocIdx = 405; s.pc = 14; return s.tmp_1; + case 14: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Fx_abs__P165_mk(s); + r0 = (s.oMaxY___15485 - s.nMaxY___15504); + s.tmp_3.arg0 = r0; + s.callLocIdx = 407; s.pc = 15; return s.tmp_3; + case 15: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + s.yDiff___15521 = (r0); + r0 = (s.arg0).fields["_hitbox"] = (s.newHitBox___15456); + r0 = (s.xDiff___15510 <= 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + r0 = s.arg0.fields["_hitbox"]; + s.tmp_1 = r0; + r0 = (s.tmp_1).fields["ox"] = (s.oMinX___15470); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_0 = r0; + r0 = (s.oMaxX___15478 - s.oMinX___15470); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["width"] = (s.tmp_1); + case 5: + case 6: + r0 = (s.yDiff___15521 <= 512); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 7; continue; } + r0 = s.arg0.fields["_hitbox"]; + s.tmp_1 = r0; + r0 = (s.tmp_1).fields["oy"] = (s.oMinY___15474); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_0 = r0; + r0 = (s.oMaxY___15485 - s.oMinY___15474); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["height"] = (s.tmp_1); + case 7: + case 8: + case 9: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_setHitbox__P2181.info = {"start":9614,"length":1324,"line":347,"column":4,"endLine":386,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setHitbox","argumentNames":["this"]} + +function Sprite_setHitbox__P2181_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setHitbox__P2181, depth: s.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, + newHitBox___15456: undefined, + oMinX___15470: undefined, + oMinY___15474: undefined, + oMaxX___15478: undefined, + oMaxY___15485: undefined, + nMinX___15492: undefined, + nMinY___15495: undefined, + nMaxX___15498: undefined, + nMaxY___15504: undefined, + xDiff___15510: undefined, + yDiff___15521: undefined, + arg0: undefined, +} } + + + + + +function game_calculateHitBox__P2013(s) { +let r0 = s.r0, 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___15597 = undefined; + s.minX___15600 = undefined; + s.minY___15604 = undefined; + s.maxX___15608 = undefined; + s.maxY___15610 = undefined; + s.c___15612 = undefined; + s.fxc___15613 = undefined; + s.r___15620 = undefined; + s.fxr___15621 = undefined; + s.width___15685 = undefined; + s.height___15693 = 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__P2010_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 308; 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___15597 = (r0); + r0 = pxsim_ImageMethods.width(s.i___15597); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_1 = r0; + r0 = (s.tmp_1 | 0); + s.minX___15600 = (r0); + r0 = pxsim_ImageMethods.height(s.i___15597); + s.tmp_0 = r0; + r0 = (s.tmp_0 * 256); + s.tmp_1 = r0; + r0 = (s.tmp_1 | 0); + s.minY___15604 = (r0); + s.maxX___15608 = (0); + s.maxY___15610 = (0); + s.c___15612 = (0); + s.fxc___15613 = (0); + case 5: + s.tmp_1 = r0 = s.c___15612; + r0 = pxsim_ImageMethods.width(s.i___15597); + 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___15620 = (0); + s.fxr___15621 = (0); + case 6: + s.tmp_1 = r0 = s.r___15620; + r0 = pxsim_ImageMethods.height(s.i___15597); + 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___15597, s.c___15612, s.r___15620); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 7; continue; } + s.tmp_4 = Fx_min__P166_mk(s); + s.tmp_4.arg0 = s.minX___15600; + s.tmp_4.arg1 = s.fxc___15613; + s.callLocIdx = 312; s.pc = 13; return s.tmp_4; + case 13: + r0 = s.retval; + s.minX___15600 = (r0); + s.tmp_0 = Fx_min__P166_mk(s); + s.tmp_0.arg0 = s.minY___15604; + s.tmp_0.arg1 = s.fxr___15621; + s.callLocIdx = 313; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.minY___15604 = (r0); + s.tmp_0 = Fx_max__P167_mk(s); + s.tmp_0.arg0 = s.maxX___15608; + s.tmp_0.arg1 = s.fxc___15613; + s.callLocIdx = 314; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + s.maxX___15608 = (r0); + s.tmp_0 = Fx_max__P167_mk(s); + s.tmp_0.arg0 = s.maxY___15610; + s.tmp_0.arg1 = s.fxr___15621; + s.callLocIdx = 315; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + s.maxY___15610 = (r0); + case 7: + case 8: + r0 = (s.r___15620 + 1); + s.r___15620 = (r0); + r0 = (s.fxr___15621 + 256); + s.tmp_0 = r0; + s.fxr___15621 = (r0); + r0 = s.tmp_0; + { step = 6; continue; } + case 9: + r0 = (s.c___15612 + 1); + s.c___15612 = (r0); + r0 = (s.fxc___15613 + 256); + s.tmp_0 = r0; + s.fxc___15613 = (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___15600, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.minX___15600 = (r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.minY___15604, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.minY___15604 = (r0); + r0 = s.arg0.fields["_sx"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.maxX___15608, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.maxX___15608 = (r0); + r0 = s.arg0.fields["_sy"]; + s.tmp_0 = r0; + r0 = pxsim.Math_.imul(s.maxY___15610, s.tmp_0); + s.tmp_1 = r0; + r0 = (s.tmp_1 >> 8); + s.maxY___15610 = (r0); + r0 = (s.maxX___15608 - s.minX___15600); + s.tmp_0 = r0; + r0 = s.arg0.fields["_sx"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.width___15685 = (r0); + r0 = (s.maxY___15610 - s.minY___15604); + s.tmp_0 = r0; + r0 = s.arg0.fields["_sy"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + s.height___15693 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(game_Hitbox__C1998_VT); + s.tmp_0 = r0; + s.tmp_1 = game_Hitbox_constructor__P2005_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.tmp_1.arg2 = s.width___15685; + s.tmp_1.arg3 = s.height___15693; + r0 = (s.minX___15600 & -256); + s.tmp_1.arg4 = r0; + r0 = (s.minY___15604 & -256); + s.tmp_1.arg5 = r0; + s.callLocIdx = 328; 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__P2013.info = {"start":1840,"length":1086,"line":62,"column":4,"endLine":91,"endColumn":5,"fileName":"pxt_modules/game/hitbox.ts","functionName":"calculateHitBox","argumentNames":["s"]} + +function game_calculateHitBox__P2013_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_calculateHitBox__P2013, depth: s.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___15597: undefined, + minX___15600: undefined, + minY___15604: undefined, + maxX___15608: undefined, + maxY___15610: undefined, + c___15612: undefined, + fxc___15613: undefined, + r___15620: undefined, + fxr___15621: undefined, + width___15685: undefined, + height___15693: undefined, + arg0: undefined, +} } + + + + + +function Sprite_image__P2177(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; + return leaveAccessor(s, r0) + default: oops() +} } } +Sprite_image__P2177.info = {"start":8997,"length":54,"line":322,"column":4,"endLine":324,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"image","argumentNames":["this"]} +Sprite_image__P2177.isGetter = true; + +function Sprite_image__P2177_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_image__P2177, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function game_Hitbox_constructor__P2005(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Sprite_calcDimensionalHash__P2179_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 268; 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__P2005.info = {"start":170,"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__P2005_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_constructor__P2005, 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 Sprite_calcDimensionalHash__P2179(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + r0 = s.arg0.fields["_width"]; + s.tmp_1 = r0; + r0 = s.arg0.fields["_height"]; + s.tmp_2 = r0; + r0 = pxsim.Math_.imul(s.tmp_1, s.tmp_2); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 8); + s.tmp_0 = r0; + r0 = s.arg0.fields["_image"]; + s.tmp_6 = r0; + r0 = pxsim_ImageMethods.revision(s.tmp_6); + s.tmp_5 = r0; + r0 = (s.tmp_5 * 256); + s.tmp_7 = r0; + r0 = (s.tmp_7 | 0); + s.tmp_4 = r0; + r0 = pxsim.Math_.imul(s.tmp_0, s.tmp_4); + s.tmp_8 = r0; + r0 = (s.tmp_8 >> 8); + return leave(s, r0) + default: oops() +} } } +Sprite_calcDimensionalHash__P2179.info = {"start":9410,"length":116,"line":338,"column":4,"endLine":340,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"calcDimensionalHash","argumentNames":["this"]} + +function Sprite_calcDimensionalHash__P2179_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_calcDimensionalHash__P2179, depth: s.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_floor__P168(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P168.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__P168_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_floor__P168, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Fx_max__P167(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P167.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__P167_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_max__P167, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_min__P166(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P166.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__P166_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_min__P166, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function game_Hitbox_isValid__P2010(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + r0 = s.arg0.fields["hash"]; + s.tmp_0 = r0; + s.tmp_2 = Sprite_calcDimensionalHash__P2179_mk(s); + r0 = s.arg0.fields["parent"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 279; 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__P2010.info = {"start":952,"length":89,"line":40,"column":8,"endLine":42,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"isValid","argumentNames":["this"]} + +function game_Hitbox_isValid__P2010_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_isValid__P2010, 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_abs__P165(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P165.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__P165_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_abs__P165, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_sy__P2159(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2159.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__P2159.isGetter = true; + +function Sprite_sy__P2159_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_sy__P2159, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_sx__P2157(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2157.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__P2157.isGetter = true; + +function Sprite_sx__P2157_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_sx__P2157, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function tiles_placeOnRandomTile__P2505(s) { +let r0 = s.r0, 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.loc___15777 = undefined; + 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_4 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1071; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + r0 = r0.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_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 3; continue; } + { step = 7; continue; } + case 3: + case 4: + s.tmp_6 = tiles_getRandomTileByType__P2507_mk(s); + s.tmp_6.arg0 = s.arg1; + s.callLocIdx = 1072; s.pc = 9; return s.tmp_6; + case 9: + r0 = s.retval; + s.loc___15777 = (r0); + r0 = pxsim_numops_toBoolDecr(s.loc___15777); + if (!r0) { step = 5; continue; } + s.tmp_0 = tiles_Location_place__P2440_mk(s); + s.tmp_0.arg0 = s.loc___15777; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1073; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + case 5: + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +tiles_placeOnRandomTile__P2505.info = {"start":25300,"length":232,"line":762,"column":4,"endLine":767,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"placeOnRandomTile","argumentNames":["sprite","tile"]} + +function tiles_placeOnRandomTile__P2505_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_placeOnRandomTile__P2505, depth: s.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, + loc___15777: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_getRandomTileByType__P2507(s) { +let r0 = s.r0, 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___15794 = undefined; + s.index___15804 = undefined; + s.sample___15810 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1077; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.scene___15794 = (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___15794.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 = undefined; + { step = 5; continue; } + case 3: + case 4: + s.tmp_5 = tiles_TileMap_getImageType__P2483_mk(s); + r0 = s.scene___15794.fields["tileMap"]; + s.tmp_5.arg0 = r0; + s.tmp_5.arg1 = s.arg0; + s.callLocIdx = 1078; s.pc = 7; return s.tmp_5; + case 7: + r0 = s.retval; + s.index___15804 = (r0); + s.tmp_0 = tiles_TileMap_sampleTilesByType__P2486_mk(s); + r0 = s.scene___15794.fields["tileMap"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___15804; + s.tmp_0.arg2 = 1; + s.callLocIdx = 1079; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.sample___15810 = (r0); + r0 = pxsim_Array__getAt(s.sample___15810, 0); + case 5: + return leave(s, r0) + default: oops() +} } } +tiles_getRandomTileByType__P2507.info = {"start":26304,"length":324,"line":790,"column":4,"endLine":797,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getRandomTileByType","argumentNames":["tile"]} + +function tiles_getRandomTileByType__P2507_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_getRandomTileByType__P2507, depth: s.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___15794: undefined, + index___15804: undefined, + sample___15810: undefined, + arg0: undefined, +} } + + + + + +function tiles_TileMap_sampleTilesByType__P2486(s) { +let r0 = s.r0, 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.count___15830 = undefined; + s.reservoir___15831 = undefined; + s.col___15833 = undefined; + s.row___15840 = undefined; + s.currTile___15847 = undefined; + s.potentialIndex___15866 = 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__C2466_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMap_isInvalidIndex__P4318_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 1003; 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 = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.arg0.fields["_map"]; + 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); + 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_8 = r0; + r0 = pxsim_numops_toBool(s.tmp_8); + if (!r0) { step = 3; continue; } + r0 = s.tmp_8; + { step = 4; continue; } + case 3: + r0 = (s.arg2 <= 0); + case 4: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_9); + if (!r0) { step = 5; continue; } + r0 = pxsim_Array__mk(); + { step = 17; continue; } + case 5: + case 6: + s.count___15830 = (0); + r0 = pxsim_Array__mk(); + s.reservoir___15831 = (r0); + s.col___15833 = (0); + case 7: + s.tmp_1 = r0 = s.col___15833; + r0 = s.arg0.fields["_map"]; + s.tmp_3 = r0; + r0 = s.tmp_3.fields["_width"]; + 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 = 16; continue; } + s.row___15840 = (0); + case 8: + s.tmp_1 = r0 = s.row___15840; + r0 = s.arg0.fields["_map"]; + s.tmp_3 = r0; + r0 = s.tmp_3.fields["_height"]; + 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; } + s.tmp_4 = tiles_TileMapData_getTile__P2454_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.col___15833; + s.tmp_4.arg2 = s.row___15840; + s.callLocIdx = 1007; s.pc = 19; return s.tmp_4; + case 19: + r0 = s.retval; + s.currTile___15847 = (r0); + r0 = (s.currTile___15847 === s.arg1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = (s.count___15830 < s.arg2); + s.tmp_1 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_1); + if (!r0) { step = 9; continue; } + r0 = pxsim_pxtcore_mkClassInstance(tiles_Location__C2424_VT); + s.tmp_2 = r0; + s.tmp_3 = tiles_Location_constructor__P2425_mk(s); + s.tmp_3.arg0 = s.tmp_2; + s.tmp_3.arg1 = s.col___15833; + s.tmp_3.arg2 = s.row___15840; + s.tmp_3.arg3 = s.arg0; + s.callLocIdx = 1008; s.pc = 20; return s.tmp_3; + case 20: + r0 = s.retval; + r0 = pxsim_Array__push(s.reservoir___15831, s.tmp_2); + { step = 12; continue; } + case 9: + r0 = pxsim.Math_.randomRange(0, s.count___15830); + s.potentialIndex___15866 = (r0); + r0 = (s.potentialIndex___15866 < s.arg2); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 10; continue; } + r0 = pxsim_pxtcore_mkClassInstance(tiles_Location__C2424_VT); + s.tmp_1 = r0; + s.tmp_2 = tiles_Location_constructor__P2425_mk(s); + s.tmp_2.arg0 = s.tmp_1; + s.tmp_2.arg1 = s.col___15833; + s.tmp_2.arg2 = s.row___15840; + s.tmp_2.arg3 = s.arg0; + s.callLocIdx = 1009; s.pc = 21; return s.tmp_2; + case 21: + r0 = s.retval; + r0 = pxsim_Array_.setAt(s.reservoir___15831, s.potentialIndex___15866, s.tmp_1); + case 10: + case 11: + case 12: + r0 = (s.count___15830 + 1); + s.count___15830 = (r0); + case 13: + case 14: + r0 = (s.row___15840 + 1); + s.row___15840 = (r0); + { step = 8; continue; } + case 15: + r0 = (s.col___15833 + 1); + s.col___15833 = (r0); + { step = 7; continue; } + case 16: + r0 = s.reservoir___15831; + case 17: + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_sampleTilesByType__P2486.info = {"start":12722,"length":1101,"line":427,"column":8,"endLine":451,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"sampleTilesByType","argumentNames":["this","index","maxCount"]} + +function tiles_TileMap_sampleTilesByType__P2486_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_sampleTilesByType__P2486, depth: s.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, + count___15830: undefined, + reservoir___15831: undefined, + col___15833: undefined, + row___15840: undefined, + currTile___15847: undefined, + potentialIndex___15866: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_Location_place__P2440(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_Location__C2424_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; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_2 = Sprite_setPosition__P2196_mk(s); + s.tmp_2.arg0 = s.arg1; + s.tmp_3 = tiles_Location_x__P2429_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 960; s.pc = 5; return s.tmp_3; + case 5: + r0 = s.retval; + s.tmp_2.arg1 = r0; + s.tmp_4 = tiles_Location_y__P2430_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 961; s.pc = 6; return s.tmp_4; + case 6: + r0 = s.retval; + s.tmp_2.arg2 = r0; + 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() +} } } +tiles_Location_place__P2440.info = {"start":3895,"length":126,"line":130,"column":8,"endLine":133,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"place","argumentNames":["this","mySprite"]} + +function tiles_Location_place__P2440_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_place__P2440, depth: s.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 scene_onOverlapTile__P2239(s) { +let r0 = s.r0, 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.tileOverlapHandlers___15905 = 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 == 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 = pxsim_numops_toBoolDecr(s.arg1); + s.tmp_1 = r0; + r0 = pxsim_Boolean__bang(s.tmp_1); + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBool(s.tmp_2); + if (!r0) { step = 3; continue; } + r0 = s.tmp_2; + { step = 4; continue; } + case 3: + r0 = pxsim_numops_toBoolDecr(s.arg2); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 4: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 5; continue; } + { step = 7; continue; } + case 5: + case 6: + s.tmp_5 = game_currentScene__P2685_mk(s); + s.callLocIdx = 610; s.pc = 8; return s.tmp_5; + case 8: + r0 = s.retval; + r0 = r0.fields["tileOverlapHandlers"]; + s.tileOverlapHandlers___15905 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(scene_TileOverlapHandler__C2548_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_TileOverlapHandler_constructor__P2549_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.arg2; + s.callLocIdx = 611; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = pxsim_Array__push(s.tileOverlapHandlers___15905, s.tmp_0); + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_onOverlapTile__P2239.info = {"start":2786,"length":432,"line":89,"column":4,"endLine":100,"endColumn":5,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"onOverlapTile","argumentNames":["kind","tile","handler"]} + +function scene_onOverlapTile__P2239_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_onOverlapTile__P2239, depth: s.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, + tileOverlapHandlers___15905: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_TileOverlapHandler_constructor__P2549(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_TileOverlapHandler__C2548_VT)) failedCast(r0); + r0 = (s.arg0).fields["spriteKind"] = (s.arg1); + r0 = (s.arg0).fields["tileKind"] = (s.arg2); + r0 = (s.arg0).fields["handler"] = (s.arg3); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_TileOverlapHandler_constructor__P2549.info = {"start":1075,"length":180,"line":37,"column":8,"endLine":41,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","spriteKind","tileKind","handler"]} + +function scene_TileOverlapHandler_constructor__P2549_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_TileOverlapHandler_constructor__P2549, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Sprite_vy__P2148(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2148.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__P2148_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vy__P2148, 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__P2147(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2147.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__P2147.isGetter = true; + +function Sprite_vy__P2147_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_vy__P2147, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_createProjectileFromSprite__P2069(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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; + } + s.tmp_0 = sprites_createProjectile__P2070_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg2; + s.tmp_0.arg2 = s.arg3; + s.tmp_0.arg3 = 1; + s.tmp_0.arg4 = s.arg1; + s.callLocIdx = 335; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +sprites_createProjectileFromSprite__P2069.info = {"start":4128,"length":187,"line":116,"column":4,"endLine":118,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"createProjectileFromSprite","argumentNames":["img","sprite","vx","vy"]} + +function sprites_createProjectileFromSprite__P2069_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_createProjectileFromSprite__P2069, 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 sprites_createProjectile__P2070(s) { +let r0 = s.r0, 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___15953 = undefined; + s.sc___15960 = undefined; + s.xOff___15976 = undefined; + s.yOff___15990 = undefined; + s.cam___16004 = undefined; + s.initialX___16008 = undefined; + s.initialY___16011 = 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; + } + s.tmp_0 = r0 = s.arg3; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = 1; + case 2: + // jmp value (already in r0) + s.tmp_1 = r0; + s.tmp_2 = sprites_create__P2064_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.tmp_1; + s.callLocIdx = 336; s.pc = 17; return s.tmp_2; + case 17: + r0 = s.retval; + s.s___15953 = (r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 337; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + s.sc___15960 = (r0); + s.tmp_0 = Sprite_vx__P2146_mk(s); + s.tmp_0.arg0 = s.s___15953; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 338; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + s.tmp_0 = Sprite_vy__P2148_mk(s); + s.tmp_0.arg0 = s.s___15953; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 339; s.pc = 20; return s.tmp_0; + case 20: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg4); + if (!r0) { step = 3; continue; } + s.tmp_0 = Sprite_setPosition__P2196_mk(s); + s.tmp_0.arg0 = s.s___15953; + s.tmp_1 = Sprite_x__P2141_mk(s); + s.tmp_1.arg0 = s.arg4; + s.callLocIdx = 340; s.pc = 22; return s.tmp_1; + case 22: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_y__P2143_mk(s); + s.tmp_2.arg0 = s.arg4; + s.callLocIdx = 341; s.pc = 23; return s.tmp_2; + case 23: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.callLocIdx = 342; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + { step = 16; continue; } + case 3: + r0 = s.sc___15960.fields["tileMap"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_3 = Sprite_width__P2184_mk(s); + s.tmp_3.arg0 = s.s___15953; + s.callLocIdx = 343; s.pc = 24; return s.tmp_3; + case 24: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + { step = 5; continue; } + case 4: + s.tmp_6 = Sprite_width__P2184_mk(s); + s.tmp_6.arg0 = s.s___15953; + s.callLocIdx = 344; s.pc = 25; return s.tmp_6; + case 25: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 1); + s.tmp_4 = r0; + r0 = (s.tmp_4 - 1); + case 5: + // jmp value (already in r0) + s.tmp_7 = r0; + s.xOff___15976 = (s.tmp_7); + r0 = s.sc___15960.fields["tileMap"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.tmp_3 = Sprite_height__P2185_mk(s); + s.tmp_3.arg0 = s.s___15953; + s.callLocIdx = 345; s.pc = 26; return s.tmp_3; + case 26: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 >> 1); + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + { step = 7; continue; } + case 6: + s.tmp_6 = Sprite_height__P2185_mk(s); + s.tmp_6.arg0 = s.s___15953; + s.callLocIdx = 346; s.pc = 27; return s.tmp_6; + case 27: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 1); + s.tmp_4 = r0; + r0 = (s.tmp_4 - 1); + case 7: + // jmp value (already in r0) + s.tmp_7 = r0; + s.yOff___15990 = (s.tmp_7); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 347; s.pc = 28; return s.tmp_0; + case 28: + r0 = s.retval; + r0 = r0.fields["camera"]; + s.cam___16004 = (r0); + r0 = s.cam___16004.fields["_offsetX"]; + s.initialX___16008 = (r0); + r0 = s.cam___16004.fields["_offsetY"]; + s.initialY___16011 = (r0); + r0 = (s.arg1 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.tmp_1 = r0 = s.initialX___16008; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_3 = r0; + r0 = (s.tmp_3 + s.xOff___15976); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.initialX___16008 = (r0); + { step = 11; continue; } + case 8: + r0 = (s.arg1 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 9; continue; } + s.tmp_1 = r0 = s.initialX___16008; + r0 = (0 - s.xOff___15976); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.initialX___16008 = (r0); + case 9: + case 10: + case 11: + r0 = (s.arg2 < 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 12; continue; } + s.tmp_1 = r0 = s.initialY___16011; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_3 = r0; + r0 = (s.tmp_3 + s.yOff___15990); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.initialY___16011 = (r0); + { step = 15; continue; } + case 12: + r0 = (s.arg2 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + s.tmp_1 = r0 = s.initialY___16011; + r0 = (0 - s.yOff___15990); + s.tmp_2 = r0; + r0 = (s.tmp_1 + s.tmp_2); + s.initialY___16011 = (r0); + case 13: + case 14: + case 15: + s.tmp_0 = Sprite_setPosition__P2196_mk(s); + s.tmp_0.arg0 = s.s___15953; + s.tmp_0.arg1 = s.initialX___16008; + s.tmp_0.arg2 = s.initialY___16011; + s.callLocIdx = 350; s.pc = 29; return s.tmp_0; + case 29: + r0 = s.retval; + case 16: + s.tmp_0 = r0 = s.s___15953; + r0 = s.tmp_0.fields["flags"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 | 20); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["flags"] = (s.tmp_1); + r0 = s.s___15953; + return leave(s, r0) + default: oops() +} } } +sprites_createProjectile__P2070.info = {"start":4947,"length":1265,"line":131,"column":4,"endLine":168,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"createProjectile","argumentNames":["img","vx","vy","kind","sprite"]} + +function sprites_createProjectile__P2070_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_createProjectile__P2070, depth: s.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, + s___15953: undefined, + sc___15960: undefined, + xOff___15976: undefined, + yOff___15990: undefined, + cam___16004: undefined, + initialX___16008: undefined, + initialY___16011: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function Sprite_height__P2185(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2185.info = {"start":11642,"length":61,"line":413,"column":4,"endLine":415,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"height","argumentNames":["this"]} +Sprite_height__P2185.isGetter = true; + +function Sprite_height__P2185_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_height__P2185, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Sprite_width__P2184(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2184.info = {"start":11475,"length":59,"line":408,"column":4,"endLine":410,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"width","argumentNames":["this"]} +Sprite_width__P2184.isGetter = true; + +function Sprite_width__P2184_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_width__P2184, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function music_Melody_play__P1619(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1612_VT)) failedCast(r0); + s.tmp_0 = music_Melody_playCore__P4064_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = false; + s.callLocIdx = 88; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_play__P1619.info = {"start":9239,"length":71,"line":285,"column":8,"endLine":287,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"play","argumentNames":["this","volume"]} + +function music_Melody_play__P1619_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_play__P1619, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function music_Melody_playCore__P4064(s) { +let r0 = s.r0, 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___16075 = 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, music_Melody__C1612_VT)) failedCast(r0); + s.tmp_0 = music_Melody_stop__P1617_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 83; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(music_MelodyPlayer__C1622_VT); + s.tmp_0 = r0; + s.tmp_1 = music_MelodyPlayer_constructor__P1625_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg0; + s.callLocIdx = 84; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + r0 = (s.arg0).fields["_player"] = (s.tmp_0); + s.p___16075 = (s.tmp_0); + s.tmp_0 = music_Melody_registerMelody__P4062_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 85; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(4, music_Melody_playCore_inline__P16084); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.p___16075); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.arg2); + r0 = pxsim.control.runInParallel(s.tmp_0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_playCore__P4064.info = {"start":7682,"length":815,"line":242,"column":8,"endLine":261,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playCore","argumentNames":["this","volume","loop"]} + +function music_Melody_playCore__P4064_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_playCore__P4064, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + p___16075: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function music_Melody_playCore_inline__P16084(s) { +let r0 = s.r0, 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 = s.caps[0].fields["_player"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 == s.caps[1]); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.tmp_2 = music_MelodyPlayer_play__P1627_mk(s); + s.tmp_2.arg0 = s.caps[1]; + s.tmp_2.arg1 = s.caps[2]; + s.callLocIdx = 86; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.caps[3]); + 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 = 4; continue; } + r0 = s.caps[0].fields["_player"]; + s.tmp_3 = r0; + r0 = (s.tmp_3 == s.caps[1]); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + s.tmp_4 = music_Melody_unregisterMelody__P4063_mk(s); + s.tmp_4.arg0 = s.caps[0]; + s.callLocIdx = 87; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + case 2: + case 3: + { step = 6; continue; } + case 4: + case 5: + { step = 1; continue; } + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_Melody_playCore_inline__P16084.info = {"start":7885,"length":601,"line":246,"column":34,"endLine":260,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} + +function music_Melody_playCore_inline__P16084_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_playCore_inline__P16084, depth: s.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 controller_Button_onEvent__P1986(s) { +let r0 = s.r0, 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___16109 = 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__C1979_VT)) failedCast(r0); + s.tmp_0 = controller_Button_getOrCreateHandlerForEvent__P4189_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 251; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.eventHandler___16109 = (r0); + r0 = (s.eventHandler___16109).fields["callback"] = (s.arg2); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_onEvent__P1986.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__P1986_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_onEvent__P1986, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + eventHandler___16109: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function controller_Button_getOrCreateHandlerForEvent__P4189(s) { +let r0 = s.r0, 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___16130 = undefined; + s.eventHandler___16139 = undefined; + s.unnamed76___U2 = undefined; + s.unnamed77___U3 = undefined; + s.newHandler___16155 = 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__C1979_VT)) failedCast(r0); + s.tmp_3 = controller_Button_handlerState__P4184_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 261; 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__C1975_VT); + s.tmp_4 = r0; + s.tmp_5 = controller_ButtonEventHandlerState_constructor__P1976_mk(s); + s.tmp_5.arg0 = s.tmp_4; + r0 = s.arg0.fields["id"]; + s.tmp_5.arg1 = r0; + s.callLocIdx = 263; s.pc = 11; return s.tmp_5; + case 11: + r0 = s.retval; + s.tmp_7 = game_currentScene__P2685_mk(s); + s.callLocIdx = 262; 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__P4184_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 264; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + s.handlerState___16130 = (r0); + r0 = s.handlerState___16130.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___16130; + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["user"] = (s.tmp_4); + case 3: + case 4: + s.eventHandler___16139 = (undefined); + r0 = s.handlerState___16130.fields["user"]; + s.unnamed76___U2 = (r0); + s.unnamed77___U3 = (0); + case 5: + s.tmp_0 = r0 = s.unnamed77___U3; + r0 = pxsim_Array__length(s.unnamed76___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 8; continue; } + r0 = pxsim_Array__getAt(s.unnamed76___U2, s.unnamed77___U3); + s.eventHandler___16139 = (r0); + r0 = s.eventHandler___16139.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___16139; + { step = 9; continue; } + case 6: + case 7: + r0 = (s.unnamed77___U3 + 1); + s.unnamed77___U3 = (r0); + { step = 5; continue; } + case 8: + s.unnamed76___U2 = (undefined); + r0 = pxsim_pxtcore_mkAction(2, controller_Button_getOrCreateHandlerForEvent_inline__P16152); + 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__P391_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 = 266; s.pc = 14; return s.tmp_5; + case 14: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(controller_ButtonHandler__C1973_VT); + s.tmp_0 = r0; + s.tmp_1 = controller_ButtonHandler_constructor__P1974_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.arg1; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 267; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.newHandler___16155 = (s.tmp_0); + r0 = s.handlerState___16130.fields["user"]; + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.newHandler___16155); + r0 = s.newHandler___16155; + case 9: + return leave(s, r0) + default: oops() +} } } +controller_Button_getOrCreateHandlerForEvent__P4189.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__P4189_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_getOrCreateHandlerForEvent__P4189, depth: s.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___16130: undefined, + eventHandler___16139: undefined, + unnamed76___U2: undefined, + unnamed77___U3: undefined, + newHandler___16155: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_getOrCreateHandlerForEvent_inline__P16152(s) { +let r0 = s.r0, 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__P4188_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.caps[1]; + s.callLocIdx = 265; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_getOrCreateHandlerForEvent_inline__P16152.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__P16152_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_getOrCreateHandlerForEvent_inline__P16152, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_Button_runButtonEvents__P4188(s) { +let r0 = s.r0, 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___16169 = undefined; + s.userHandler___16173 = undefined; + s.eventHandler___16184 = undefined; + s.unnamed74___U3 = undefined; + s.unnamed75___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__C1979_VT)) failedCast(r0); + s.tmp_0 = controller_Button_handlerState__P4184_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 257; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.handlerState___16169 = (r0); + r0 = pxsim_numops_toBoolDecr(s.handlerState___16169); + 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__P4189_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 258; s.pc = 15; return s.tmp_2; + case 15: + r0 = s.retval; + s.userHandler___16173 = (r0); + r0 = s.userHandler___16173.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___16173; + if (!s.tmp_1.arg0.vtable.iface) { + setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "callback"), 1); + s.callLocIdx = 259; 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 = 259; s.pc = 16; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 259; s.pc = 16; return s.tmp_1;; } + else { s.callLocIdx = 259; s.pc = 16; return s.tmp_1; } + } + case 16: + r0 = s.retval; + case 3: + case 4: + r0 = s.handlerState___16169.fields["system"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 11; continue; } + s.eventHandler___16184 = (undefined); + r0 = s.handlerState___16169.fields["system"]; + s.unnamed74___U3 = (r0); + s.unnamed75___U4 = (0); + case 5: + s.tmp_0 = r0 = s.unnamed75___U4; + r0 = pxsim_Array__length(s.unnamed74___U3); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 10; continue; } + r0 = pxsim_Array__getAt(s.unnamed74___U3, s.unnamed75___U4); + s.eventHandler___16184 = (r0); + r0 = s.eventHandler___16184.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___16184.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___16184; + if (!s.tmp_5.arg0.vtable.iface) { + setupLambda(s.tmp_5, pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "callback"), 1); + s.callLocIdx = 260; 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 = 260; s.pc = 17; return s.tmp_5; } + else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 260; s.pc = 17; return s.tmp_5;; } + else { s.callLocIdx = 260; s.pc = 17; return s.tmp_5; } + } + case 17: + r0 = s.retval; + case 8: + case 9: + r0 = (s.unnamed75___U4 + 1); + s.unnamed75___U4 = (r0); + { step = 5; continue; } + case 10: + s.unnamed74___U3 = (undefined); + case 11: + case 12: + case 13: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_runButtonEvents__P4188.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__P4188_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_runButtonEvents__P4188, depth: s.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___16169: undefined, + userHandler___16173: undefined, + eventHandler___16184: undefined, + unnamed74___U3: undefined, + unnamed75___U4: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_handlerState__P4184(s) { +let r0 = s.r0, 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___16200 = undefined; + s.unnamed72___U1 = undefined; + s.unnamed73___U2 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_Button__C1979_VT)) failedCast(r0); + s.state___16200 = (undefined); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 247; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = r0.fields["buttonEventHandlers"]; + s.unnamed72___U1 = (r0); + s.unnamed73___U2 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed73___U2; + r0 = pxsim_Array__length(s.unnamed72___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed72___U1, s.unnamed73___U2); + s.state___16200 = (r0); + r0 = s.state___16200.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___16200; + { step = 5; continue; } + case 2: + case 3: + r0 = (s.unnamed73___U2 + 1); + s.unnamed73___U2 = (r0); + { step = 1; continue; } + case 4: + s.unnamed72___U1 = (undefined); + r0 = undefined; + case 5: + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Button_handlerState__P4184.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__P4184.isGetter = true; + +function controller_Button_handlerState__P4184_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_handlerState__P4184, depth: s.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___16200: undefined, + unnamed72___U1: undefined, + unnamed73___U2: undefined, + arg0: undefined, +} } + + + + + +function controller_ButtonEventHandlerState_constructor__P1976(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1975_VT)) failedCast(r0); + r0 = (s.arg0).fields["id"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_ButtonEventHandlerState_constructor__P1976.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__P1976_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_ButtonEventHandlerState_constructor__P1976, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_ButtonHandler_constructor__P1974(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1973_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__P1974.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__P1974_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_ButtonHandler_constructor__P1974, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_createTilemap__P2493(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = pxsim_pxtcore_mkClassInstance(tiles_TileMapData__C2448_VT); + s.tmp_0 = r0; + s.tmp_1 = tiles_TileMapData_constructor__P2449_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.arg2; + s.tmp_1.arg4 = s.arg3; + s.callLocIdx = 1055; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +tiles_createTilemap__P2493.info = {"start":18644,"length":170,"line":586,"column":4,"endLine":588,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"createTilemap","argumentNames":["data","layer","tiles","scale"]} + +function tiles_createTilemap__P2493_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_createTilemap__P2493, 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 tiles_TileMapData_constructor__P2449(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_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__P2453_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg4; + s.callLocIdx = 963; 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__P2449.info = {"start":6012,"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__P2449_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_constructor__P2449, 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 helpers_stringTrim__P123(s) { +let r0 = s.r0, 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.start___16272 = undefined; + s.end___16273 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.start___16272 = (0); + r0 = pxsim_String_.length(s.arg0); + s.tmp_0 = r0; + r0 = (s.tmp_0 - 1); + s.end___16273 = (r0); + case 1: + r0 = (s.start___16272 <= s.end___16273); + 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: + s.tmp_1 = helpers_isWhitespace__P124_mk(s); + r0 = pxsim_String_.charCodeAt(s.arg0, s.start___16272); + s.tmp_1.arg0 = r0; + s.callLocIdx = 16; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + 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.start___16272 + 1); + s.start___16272 = (r0); + { step = 1; continue; } + case 4: + case 5: + r0 = (s.end___16273 > s.start___16272); + 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_1 = helpers_isWhitespace__P124_mk(s); + r0 = pxsim_String_.charCodeAt(s.arg0, s.end___16273); + s.tmp_1.arg0 = r0; + s.callLocIdx = 17; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + case 7: + // jmp value (already in r0) + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 8; continue; } + r0 = (s.end___16273 - 1); + s.end___16273 = (r0); + { step = 5; continue; } + case 8: + s.tmp_0 = helpers_stringSlice__P119_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.start___16272; + r0 = (s.end___16273 + 1); + s.tmp_0.arg2 = r0; + s.callLocIdx = 18; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +helpers_stringTrim__P123.info = {"start":14539,"length":319,"line":491,"column":4,"endLine":501,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"stringTrim","argumentNames":["s"]} + +function helpers_stringTrim__P123_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_stringTrim__P123, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + start___16272: undefined, + end___16273: undefined, + arg0: undefined, +} } + + + + + +function helpers__registerFactory__P3011(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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.factories___4791); + 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.factories___4791 = (r0); + case 1: + case 2: + r0 = pxsim_pxtrt.mkMap(); + s.tmp_0 = r0; + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "kind", s.arg0); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "factory", s.arg1); + r0 = pxsim_Array__push(globals.factories___4791, s.tmp_0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers__registerFactory__P3011.info = {"start":1776,"length":201,"line":52,"column":4,"endLine":58,"endColumn":5,"fileName":"pxt_modules/game/assetTemplates.ts","functionName":"_registerFactory","argumentNames":["kind","factory"]} + +function helpers__registerFactory__P3011_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers__registerFactory__P3011, 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_eventContext__P2688(s) { +let r0 = s.r0, 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__P4382_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 1248; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals._scene___4374.fields["eventContext"]; + return leave(s, r0) + default: oops() +} } } +game_eventContext__P2688.info = {"start":1084,"length":112,"line":40,"column":4,"endLine":43,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"eventContext","argumentNames":[]} + +function game_eventContext__P2688_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_eventContext__P2688, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_pauseUntilAnyButtonIsPressed__P1995(s) { +let r0 = s.r0, 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__P1995.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__P1995_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_pauseUntilAnyButtonIsPressed__P1995, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function game_setWaitAnyButton__P2686(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4378 = (s.arg0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_setWaitAnyButton__P2686.info = {"start":878,"length":83,"line":31,"column":4,"endLine":33,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"setWaitAnyButton","argumentNames":["f"]} + +function game_setWaitAnyButton__P2686_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_setWaitAnyButton__P2686, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Math_FastRandom_constructor__P2742(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2740_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__P2742.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__P2742_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_constructor__P2742, 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__P4707(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4672); + 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__P109_mk(s); + s.tmp_5 = helpers_arrayFilter__P110_mk(s); + s.tmp_6 = helpers_stringSplit__P122_mk(s); + s.tmp_6.arg0 = s.arg1; + s.tmp_6.arg1 = "\n"; + s.tmp_6.arg2 = undefined; + s.callLocIdx = 1453; s.pc = 10; return s.tmp_6; + case 10: + r0 = s.retval; + s.tmp_5.arg0 = r0; + s.tmp_5.arg1 = forEach_inline__P16356; + s.callLocIdx = 1454; 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__P16361; + s.callLocIdx = 1456; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + r0 = pxsim_Array__length(globals.consoleStrings___4672); + s.tmp_1 = r0; + r0 = (s.tmp_1 > globals.consoleLines___4685); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = helpers_arraySplice__P100_mk(s); + s.tmp_2.arg0 = globals.consoleStrings___4672; + s.tmp_2.arg1 = 0; + r0 = pxsim_Array__length(globals.consoleStrings___4672); + s.tmp_3 = r0; + r0 = (s.tmp_3 - globals.consoleLines___4685); + s.tmp_2.arg2 = r0; + s.callLocIdx = 1457; 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__P4707.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__P4707_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_listener__P4707, depth: s.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__P16356(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P16356.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__P16356_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P16356, 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__P16361(s) { +let r0 = s.r0, 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___16363 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.j___16363 = (0); + case 1: + s.tmp_1 = r0 = s.j___16363; + 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___4672; + s.tmp_5 = helpers_stringSlice__P119_mk(s); + s.tmp_5.arg0 = s.arg0; + s.tmp_5.arg1 = s.j___16363; + r0 = (s.j___16363 + globals.consoleColumns___4695); + s.tmp_5.arg2 = r0; + s.callLocIdx = 1455; 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___16363 + globals.consoleColumns___4695); + s.j___16363 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_listener_inline__P16361.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__P16361_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_listener_inline__P16361, depth: s.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___16363: undefined, + arg0: undefined, +} } + + + + + +function console_addListener__P383(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4001, 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___4001, s.arg0); + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +console_addListener__P383.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__P383_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_addListener__P383, depth: s.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__P4000(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4000.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__P4000_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: listeners_inline__P4000, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_register__P2787(s) { +let r0 = s.r0, 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___4626); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.menu___1913; + s.tmp_0.arg1 = 2049; + s.tmp_0.arg2 = scene_systemMenu_showSystemMenu__P2788; + s.callLocIdx = 1440; 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__P2787.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__P2787_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_register__P2787, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_showSystemMenu__P2788(s) { +let r0 = s.r0, 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___4626); + if (!r0) { step = 1; continue; } + { step = 3; continue; } + case 1: + case 2: + s.tmp_0 = game_pushScene__P2689_mk(s); + s.callLocIdx = 1441; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_PauseMenu__C2776_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_PauseMenu_constructor__P2777_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = scene_systemMenu_buildOptionList__P2784; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 1442; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + globals.instance___4626 = (s.tmp_0); + s.tmp_0 = scene_systemMenu_PauseMenu_show__P2778_mk(s); + s.tmp_0.arg0 = globals.instance___4626; + s.callLocIdx = 1443; 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__P2788.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__P2788_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_showSystemMenu__P2788, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList__P2784(s) { +let r0 = s.r0, 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___17324 = undefined; + r0 = pxsim_Array__mk(); + s.options___17324 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C2768_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.VOLUME_DOWN_ICON___2798; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P17332; + s.tmp_1.arg3 = scene_systemMenu_volumeDown__P4632; + s.callLocIdx = 1423; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C2768_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.VOLUME_UP_ICON___2795; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P17346; + s.tmp_1.arg3 = scene_systemMenu_volumeUp__P4631; + s.callLocIdx = 1425; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, 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__C2768_VT); + s.tmp_1 = r0; + s.tmp_2 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_2.arg0 = s.tmp_1; + s.tmp_2.arg1 = globals.BRIGHTNESS_DOWN_ICON___2796; + s.tmp_2.arg2 = scene_systemMenu_buildOptionList_inline__P17361; + s.tmp_2.arg3 = scene_systemMenu_brightnessDown__P4634; + s.callLocIdx = 1428; s.pc = 7; return s.tmp_2; + case 7: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, s.tmp_1); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C2768_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.BRIGHTNESS_UP_ICON___2801; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P17376; + s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P4633; + s.callLocIdx = 1430; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, s.tmp_0); + case 1: + case 2: + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C2768_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.STATS_ICON___2802; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P17391; + s.tmp_1.arg3 = scene_systemMenu_toggleStats__P4636; + s.callLocIdx = 1431; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C2768_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.CONSOLE_ICON___2800; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P17400; + s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P4637; + s.callLocIdx = 1433; s.pc = 10; return s.tmp_1; + case 10: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, s.tmp_0); + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C2768_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.SLEEP_ICON___2799; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P17409; + s.tmp_1.arg3 = scene_systemMenu_sleep__P4638; + s.callLocIdx = 1434; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, s.tmp_0); + r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___4627); + if (!r0) { step = 3; continue; } + s.tmp_0 = helpers_arrayConcat__P113_mk(s); + s.tmp_0.arg0 = s.options___17324; + s.tmp_0.arg1 = globals.customMenuOptions___4627; + s.callLocIdx = 1435; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.options___17324 = (r0); + case 3: + case 4: + r0 = pxsim_pxtcore_mkClassInstance(scene_systemMenu_MenuOption__C2768_VT); + s.tmp_0 = r0; + s.tmp_1 = scene_systemMenu_MenuOption_constructor__P2769_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = globals.CLOSE_MENU_ICON___2797; + s.tmp_1.arg2 = scene_systemMenu_buildOptionList_inline__P17422; + s.tmp_1.arg3 = scene_systemMenu_closeMenu__P2783; + s.callLocIdx = 1436; s.pc = 13; return s.tmp_1; + case 13: + r0 = s.retval; + r0 = pxsim_Array__push(s.options___17324, s.tmp_0); + r0 = s.options___17324; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildOptionList__P2784.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__P2784_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList__P2784, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + options___17324: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P17332(s) { +let r0 = s.r0, 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__P1607_mk(s); + s.callLocIdx = 1422; 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__P17332.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__P17332_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17332, depth: s.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__P17346(s) { +let r0 = s.r0, 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__P1607_mk(s); + s.callLocIdx = 1424; 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__P17346.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__P17346_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17346, depth: s.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__P17361(s) { +let r0 = s.r0, 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___1750; + 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__P17361.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__P17361_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17361, 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__P17376(s) { +let r0 = s.r0, 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___1750; + 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__P17376.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__P17376_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17376, 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__P17391(s) { +let r0 = s.r0, 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___2682); + 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__P17391.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__P17391_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17391, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P17400(s) { +let r0 = s.r0, 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___4672); + 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__P17400.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__P17400_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17400, depth: s.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__P17409(s) { +let r0 = s.r0, 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__P17409.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__P17409_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17409, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_buildOptionList_inline__P17422(s) { +let r0 = s.r0, 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__P17422.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__P17422_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildOptionList_inline__P17422, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_setScreenBrightnessSupported__P4639(s) { +let r0 = s.r0, 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__P4639.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__P4639_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_setScreenBrightnessSupported__P4639, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_sleep__P4638(s) { +let r0 = s.r0, 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__P4638.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__P4638_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_sleep__P4638, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, +} } + + + + + +function scene_systemMenu_toggleConsole__P4637(s) { +let r0 = s.r0, 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___4672); + 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__P2807_mk(s); + s.tmp_4.arg0 = false; + s.tmp_4.arg1 = undefined; + s.callLocIdx = 1416; s.pc = 3; return s.tmp_4; + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = game_consoleOverlay_setVisible__P2807_mk(s); + s.tmp_0.arg0 = true; + s.tmp_0.arg1 = undefined; + s.callLocIdx = 1417; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = console_log__P380_mk(s); + s.tmp_0.arg0 = "console"; + s.callLocIdx = 1418; 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__P4637.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__P4637_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_toggleConsole__P4637, depth: s.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__P2807(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4672); + 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___4672 = (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___4671 = (s.arg1); + case 5: + case 6: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_consoleOverlay_setVisible__P2807.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__P2807_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_setVisible__P2807, depth: s.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__P380(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P376_mk(s); + s.tmp_0.arg0 = 1; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 38; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +console_log__P380.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__P380_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_log__P380, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function console_add__P376(s) { +let r0 = s.r0, 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___17461 = undefined; + s.i___17470 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = (s.arg0 < globals.minPriority___375); + 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__P382_mk(s); + s.tmp_1.arg0 = s.arg1; + s.tmp_1.arg1 = 20; + s.callLocIdx = 36; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + s.text___17461 = (r0); + if ((s.text___17461) && (s.text___17461).vtable) { + setupResume(s, 7); + pxsim_String__stringConv(s.text___17461); + checkResumeConsumed(); + return; + } else { s.retval = (s.text___17461) + ""; } + case 7: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_String__concat(s.tmp_0, "\n"); + s.text___17461 = (r0); + s.i___17470 = (0); + case 3: + s.tmp_1 = r0 = s.i___17470; + r0 = pxsim_Array__length(globals.listeners___4001); + 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___4001, s.i___17470); + s.tmp_3.argL = r0; + s.tmp_3.arg0 = s.arg0; + s.tmp_3.arg1 = s.text___17461; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 37; s.pc = 8; return s.tmp_3; + case 8: + r0 = s.retval; + r0 = (s.i___17470 + 1); + s.i___17470 = (r0); + { step = 3; continue; } + case 4: + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +console_add__P376.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__P376_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: console_add__P376, depth: s.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___17461: undefined, + i___17470: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_toggleStats__P4636(s) { +let r0 = s.r0, 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___2682); + s.tmp_0 = r0; + r0 = pxsim_Boolean__bang(s.tmp_0); + globals.stats___2682 = (r0); + r0 = pxsim_numops_toBoolDecr(globals.stats___2682); + 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___398; + 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___398; + r0 = pxsim_String_.mkEmpty(); + s.tmp_3.arg0 = r0; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 1414; 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__P4636.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__P4636_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_toggleStats__P4636, depth: s.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__P4634(s) { +let r0 = s.r0, 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__P4635_mk(s); + r0 = globals.brightness___1750; + s.tmp_1 = r0; + r0 = (s.tmp_1 - 5); + s.tmp_0.arg0 = r0; + s.callLocIdx = 1410; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_brightnessDown__P4634.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__P4634_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_brightnessDown__P4634, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function scene_systemMenu_setScreenBrightness__P4635(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1762_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1411; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = settings_writeNumber__P1858_mk(s); + s.tmp_0.arg0 = "#brightness"; + r0 = globals.brightness___1750; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1413; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_setScreenBrightness__P4635.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__P4635_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_setScreenBrightness__P4635, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function helpers_setScreenBrightness__P1762(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P127_mk(s); + s.tmp_0.arg0 = 10; + s.tmp_0.arg1 = 100; + r0 = (s.arg1 | 0); + s.tmp_0.arg2 = r0; + s.callLocIdx = 138; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.arg1 = (r0); + globals.brightness___1750 = (s.arg1); + r0 = pxsim_pxtcore.setScreenBrightness(globals.brightness___1750); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_setScreenBrightness__P1762.info = {"start":7427,"length":210,"line":238,"column":4,"endLine":242,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"setScreenBrightness","argumentNames":["img","b"]} + +function helpers_setScreenBrightness__P1762_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_setScreenBrightness__P1762, 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__P4633(s) { +let r0 = s.r0, 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__P4635_mk(s); + r0 = globals.brightness___1750; + s.tmp_1 = r0; + r0 = (s.tmp_1 + 5); + s.tmp_0.arg0 = r0; + s.callLocIdx = 1408; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_brightnessUp__P4633.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__P4633_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_brightnessUp__P4633, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, +} } + + + + + +function scene_systemMenu_volumeDown__P4632(s) { +let r0 = s.r0, 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___17642 = undefined; + s.remainder___17645 = undefined; + s.newVolume___17648 = undefined; + s.tmp_0 = music_volume__P1607_mk(s); + s.callLocIdx = 1405; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.v___17642 = (r0); + r0 = (s.v___17642 % 32); + s.remainder___17645 = (r0); + r0 = pxsim_numops_toBoolDecr(s.remainder___17645); + if (!r0) { step = 1; continue; } + r0 = s.remainder___17645; + { step = 2; continue; } + case 1: + r0 = 32; + case 2: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = (s.v___17642 - s.tmp_0); + s.newVolume___17648 = (r0); + s.tmp_0 = scene_systemMenu_setVolume__P4630_mk(s); + s.tmp_0.arg0 = s.newVolume___17648; + s.callLocIdx = 1406; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_volumeDown__P4632.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__P4632_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_volumeDown__P4632, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + v___17642: undefined, + remainder___17645: undefined, + newVolume___17648: undefined, +} } + + + + + +function scene_systemMenu_setVolume__P4630(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1606_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1400; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = music_playTone__P1608_mk(s); + s.tmp_0.arg0 = 440; + s.tmp_0.arg1 = 500; + s.callLocIdx = 1401; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = settings_writeNumber__P1858_mk(s); + s.tmp_0.arg0 = "#volume"; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 1402; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_setVolume__P4630.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__P4630_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_setVolume__P4630, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function music_playTone__P1608(s) { +let r0 = s.r0, 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___17574 = 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__P4059_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 = 70; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + s.tmp_0 = pause__P413_mk(s); + r0 = pxsim_pxtrt_ldlocRef(s.arg1); + s.tmp_0.arg0 = r0; + s.callLocIdx = 71; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + { step = 4; continue; } + case 3: + r0 = (globals.playToneID___4061 + 1); + s.tmp_0 = r0; + globals.playToneID___4061 = (r0); + s.id___17574 = (s.tmp_0); + r0 = pxsim_pxtcore_mkAction(3, music_playTone_inline__P17580); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___17574); + 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__P1608.info = {"start":2591,"length":831,"line":83,"column":4,"endLine":108,"endColumn":5,"fileName":"pxt_modules/mixer/melody.ts","functionName":"playTone","argumentNames":["frequency","ms"]} + +function music_playTone__P1608_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_playTone__P1608, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + id___17574: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function music_playTone_inline__P17580(s) { +let r0 = s.r0, 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___17581 = undefined; + s.now___17591 = undefined; + s.d___17594 = undefined; + s.t___17598 = undefined; + r0 = pxsim.control.millis(); + s.pos___17581 = (r0); + case 1: + r0 = (s.caps[0] == globals.playToneID___4061); + 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___17591 = (r0); + r0 = (s.pos___17581 - s.now___17591); + s.d___17594 = (r0); + s.tmp_0 = Math_min__P131_mk(s); + r0 = pxsim_pxtrt_ldlocRef(s.caps[1]); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = 500; + s.callLocIdx = 72; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.t___17598 = (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___17598); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1); + r0 = (s.pos___17581 + s.t___17598); + s.pos___17581 = (r0); + s.tmp_0 = music_playNoteCore__P4059_mk(s); + r0 = (s.d___17594 - 1); + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.caps[2]; + s.tmp_0.arg2 = s.t___17598; + s.callLocIdx = 73; 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__P413_mk(s); + r0 = (s.d___17594 + s.t___17598); + s.tmp_2.arg0 = r0; + s.callLocIdx = 74; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + { step = 5; continue; } + case 4: + s.tmp_0 = pause__P413_mk(s); + r0 = (s.d___17594 + s.t___17598); + s.tmp_1 = r0; + r0 = (s.tmp_1 - 100); + s.tmp_0.arg0 = r0; + s.callLocIdx = 75; 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__P17580.info = {"start":2890,"length":515,"line":92,"column":34,"endLine":106,"endColumn":13,"fileName":"pxt_modules/mixer/melody.ts","functionName":"inline","argumentNames":[]} + +function music_playTone_inline__P17580_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_playTone_inline__P17580, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + pos___17581: undefined, + now___17591: undefined, + d___17594: undefined, + t___17598: undefined, +} } + + + + + +function music_playNoteCore__P4059(s) { +let r0 = s.r0, 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___17628 = 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___17628 = (r0); + s.tmp_0 = music_addNote__P4066_mk(s); + s.tmp_0.arg0 = s.buf___17628; + 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__P1607_mk(s); + s.callLocIdx = 68; 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 = 69; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___17628); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +music_playNoteCore__P4059.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__P4059_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_playNoteCore__P4059, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + buf___17628: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function scene_systemMenu_volumeUp__P4631(s) { +let r0 = s.r0, 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___17542 = undefined; + s.remainder___17545 = undefined; + s.newVolume___17548 = undefined; + s.tmp_0 = music_volume__P1607_mk(s); + s.callLocIdx = 1403; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.v___17542 = (r0); + r0 = (s.v___17542 % 32); + s.remainder___17545 = (r0); + r0 = (s.v___17542 + 32); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.remainder___17545); + s.newVolume___17548 = (r0); + s.tmp_0 = scene_systemMenu_setVolume__P4630_mk(s); + s.tmp_0.arg0 = s.newVolume___17548; + s.callLocIdx = 1404; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_volumeUp__P4631.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__P4631_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_volumeUp__P4631, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + v___17542: undefined, + remainder___17545: undefined, + newVolume___17548: undefined, +} } + + + + + +function game_consoleOverlay_isVisible__P2805(s) { +let r0 = s.r0, 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___4672); + 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__P2805.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__P2805_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_consoleOverlay_isVisible__P2805, 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__P2783(s) { +let r0 = s.r0, 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___4626); + if (!r0) { step = 1; continue; } + s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P2782_mk(s); + s.tmp_0.arg0 = globals.instance___4626; + s.callLocIdx = 1419; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + globals.instance___4626 = (undefined); + s.tmp_0 = controller__setUserEventsEnabled__P1996_mk(s); + s.tmp_0.arg0 = true; + s.callLocIdx = 1420; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = game_popScene__P2690_mk(s); + s.callLocIdx = 1421; 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__P2783.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__P2783_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_closeMenu__P2783, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_dispose__P2782(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2776_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__P109_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = scene_systemMenu_PauseMenu_dispose_inline__P16891; + s.callLocIdx = 1396; 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__P2782.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__P2782_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_dispose__P2782, 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__P16891(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2775_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1395; 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__P16891.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__P16891_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_dispose_inline__P16891, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_dispose__P2775(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_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__P2215_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = undefined; + s.tmp_1.arg2 = undefined; + s.callLocIdx = 1315; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0 = Sprite_destroy__P2215_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = undefined; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 1316; 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__P2775.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__P2775_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_dispose__P2775, 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__P2215(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2946_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 = 554; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + { step = 4; continue; } + case 3: + s.tmp_0 = Sprite__destroyCore__P2216_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 555; 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__P2215.info = {"start":30100,"length":293,"line":963,"column":4,"endLine":972,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"destroy","argumentNames":["this","effect","duration"]} + +function Sprite_destroy__P2215_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_destroy__P2215, depth: s.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__P2946(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2943_VT)) failedCast(r0); + s.tmp_0 = Sprite_setFlag__P2206_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 7168; + s.tmp_0.arg2 = true; + s.callLocIdx = 1580; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = effects_ParticleEffect_start__P2945_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 = 1581; 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__P2972_mk(s); + s.tmp_0.arg0 = globals.dissolve___2975; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1582; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ParticleEffect_destroy__P2946.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__P2946_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ParticleEffect_destroy__P2946, depth: s.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__P17015(s) { +let r0 = s.r0, 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___17018 = undefined; + s.x___17029 = undefined; + s.y___17035 = undefined; + s.w___17041 = undefined; + s.h___17045 = 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___17018 = (r0); + case 1: + r0 = (s.i___17018 > 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = Math_FastRandom_randomRange__P2744_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 = 43; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.x___17029 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P2744_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 = 44; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.y___17035 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P2744_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = 3; + s.callLocIdx = 45; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.w___17041 = (r0); + s.tmp_0 = Math_FastRandom_randomRange__P2744_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = 1; + s.tmp_0.arg2 = 3; + s.callLocIdx = 46; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.h___17045 = (r0); + s.tmp_0 = helpers_imageDrawRect__P1758_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.x___17029; + s.tmp_0.arg2 = s.y___17035; + s.tmp_0.arg3 = s.w___17041; + s.tmp_0.arg4 = s.h___17045; + s.tmp_0.arg5 = 0; + s.callLocIdx = 47; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + r0 = (s.i___17018 - 1); + s.i___17018 = (r0); + { step = 1; continue; } + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +dissolve_inline__P17015.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__P17015_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: dissolve_inline__P17015, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + i___17018: undefined, + x___17029: undefined, + y___17035: undefined, + w___17041: undefined, + h___17045: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_imageDrawRect__P1758(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1757_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 = 134; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P1757_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 = 135; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P1757_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 = 136; s.pc = 8; return s.tmp_0; + case 8: + r0 = s.retval; + s.tmp_0 = helpers_imageDrawLine__P1757_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 = 137; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + case 5: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +helpers_imageDrawRect__P1758.info = {"start":5325,"length":370,"line":167,"column":4,"endLine":175,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"imageDrawRect","argumentNames":["img","x","y","w","h","c"]} + +function helpers_imageDrawRect__P1758_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageDrawRect__P1758, 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 effects_ImageEffect_applyTo__P2972(s) { +let r0 = s.r0, 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___17125 = 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__C2970_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___17125 = (r0); + s.tmp_0 = effects_ImageEffect_change__P2973_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.clonedImage___17125; + s.callLocIdx = 1601; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = Sprite_setImage__P2178_mk(s); + s.tmp_0.arg0 = s.arg1; + s.tmp_0.arg1 = s.clonedImage___17125; + s.callLocIdx = 1602; 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__P2972.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__P2972_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_applyTo__P2972, depth: s.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___17125: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function effects_ImageEffect_change__P2973(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2970_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 = 1603; 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 = 1603; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1603; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 1603; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ImageEffect_change__P2973.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__P2973_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_change__P2973, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function effects_ParticleEffect_start__P2945(s) { +let r0 = s.r0, 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___17149 = 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__C2943_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 = 1578; 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 = 1578; s.pc = 10; return s.tmp_4; } + else if (s.tmp_4.fn.isGetter) { s.tmp_4.stage2Call = true; s.callLocIdx = 1578; s.pc = 10; return s.tmp_4;; } + else { s.callLocIdx = 1578; s.pc = 10; return s.tmp_4; } + } + case 10: + r0 = s.retval; + s.src___17149 = (r0); + s.tmp_0 = particles_ParticleSource_setRelativeToCamera__P2843_mk(s); + s.tmp_0.arg0 = s.src___17149; + 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 = 1579; 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___17149).fields["lifespan"] = (s.tmp_1); + case 7: + case 8: + case 9: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ParticleEffect_start__P2945.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__P2945_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ParticleEffect_start__P2945, depth: s.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___17149: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function particles_ParticleSource_setRelativeToCamera__P2843(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_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__P2843.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__P2843_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_setRelativeToCamera__P2843, depth: s.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__P2206(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2206.info = {"start":24029,"length":130,"line":784,"column":4,"endLine":787,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setFlag","argumentNames":["this","flag","on"]} + +function Sprite_setFlag__P2206_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_setFlag__P2206, depth: s.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__P2216(s) { +let r0 = s.r0, 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___16941 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_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__P2685_mk(s); + s.callLocIdx = 556; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.scene___16941 = (r0); + r0 = s.scene___16941.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___16941.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__P2249_mk(s); + r0 = s.scene___16941.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 = 560; s.pc = 8; return s.tmp_5; + case 8: + r0 = s.retval; + case 3: + case 4: + s.tmp_0 = PhysicsEngine__C2290_v1_2_mk(s); + r0 = s.scene___16941.fields["physicsEngine"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, PhysicsEngine__C2290_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 = 561; 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 = 561; s.pc = 10; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 561; s.pc = 10; return s.tmp_1;; } + else { s.callLocIdx = 561; s.pc = 10; return s.tmp_1; } + } + case 10: + r0 = s.retval; + case 5: + case 6: + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P16970); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtcore_mkAction(1, Sprite__destroyCore_inline__P16976); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + s.tmp_2 = helpers_arrayForEach__P109_mk(s); + s.tmp_3 = helpers_arrayFilter__P110_mk(s); + r0 = s.scene___16941.fields["destroyedHandlers"]; + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 563; 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 = 565; s.pc = 11; return s.tmp_2; + case 11: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite__destroyCore__P2216.info = {"start":30399,"length":522,"line":974,"column":4,"endLine":986,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"_destroyCore","argumentNames":["this"]} + +function Sprite__destroyCore__P2216_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite__destroyCore__P2216, depth: s.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___16941: undefined, + arg0: undefined, +} } + + + + + +function forEach_inline__P16970(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P16970.info = {"start":30844,"length":26,"line":984,"column":20,"endLine":984,"endColumn":46,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P16970_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P16970, 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__P16976(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 564; 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 = 564; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 564; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 564; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite__destroyCore_inline__P16976.info = {"start":30893,"length":20,"line":985,"column":21,"endLine":985,"endColumn":41,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function Sprite__destroyCore_inline__P16976_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite__destroyCore_inline__P16976, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function PhysicsEngine_removeSprite__P2293(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2290_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +PhysicsEngine_removeSprite__P2293.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__P2293_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: PhysicsEngine_removeSprite__P2293, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_kind__P2194(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + r0 = s.arg0.fields["_kind"]; + return leave(s, r0) + default: oops() +} } } +Sprite_kind__P2194.info = {"start":13674,"length":41,"line":486,"column":4,"endLine":488,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"kind","argumentNames":["this"]} + +function Sprite_kind__P2194_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_kind__P2194, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_constructor__P2769(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_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__P2769.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__P2769_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_constructor__P2769, 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__P1763(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___1750; + return leave(s, r0) + default: oops() +} } } +helpers_screenBrightness__P1763.info = {"start":7643,"length":98,"line":244,"column":4,"endLine":246,"endColumn":5,"fileName":"pxt_modules/screen/image.ts","functionName":"screenBrightness","argumentNames":["img"]} + +function helpers_screenBrightness__P1763_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_screenBrightness__P1763, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function helpers_arrayConcat__P113(s) { +let r0 = s.r0, 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___17427 = undefined; + s.value___17430 = undefined; + s.unnamed54___U2 = undefined; + s.unnamed55___U3 = undefined; + s.value___17437 = undefined; + s.unnamed56___U5 = undefined; + s.unnamed57___U6 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.out___17427 = (r0); + s.value___17430 = (undefined); + s.unnamed54___U2 = (s.arg0); + s.unnamed55___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed55___U3; + r0 = pxsim_Array__length(s.unnamed54___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 2; continue; } + r0 = pxsim_Array__getAt(s.unnamed54___U2, s.unnamed55___U3); + s.value___17430 = (r0); + r0 = pxsim_Array__push(s.out___17427, s.value___17430); + r0 = (s.unnamed55___U3 + 1); + s.unnamed55___U3 = (r0); + { step = 1; continue; } + case 2: + s.unnamed54___U2 = (undefined); + s.value___17437 = (undefined); + s.unnamed56___U5 = (s.arg1); + s.unnamed57___U6 = (0); + case 3: + s.tmp_0 = r0 = s.unnamed57___U6; + r0 = pxsim_Array__length(s.unnamed56___U5); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed56___U5, s.unnamed57___U6); + s.value___17437 = (r0); + r0 = pxsim_Array__push(s.out___17427, s.value___17437); + r0 = (s.unnamed57___U6 + 1); + s.unnamed57___U6 = (r0); + { step = 3; continue; } + case 4: + s.unnamed56___U5 = (undefined); + r0 = s.out___17427; + return leave(s, r0) + default: oops() +} } } +helpers_arrayConcat__P113.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__P113_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayConcat__P113, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + out___17427: undefined, + value___17430: undefined, + unnamed54___U2: undefined, + unnamed55___U3: undefined, + value___17437: undefined, + unnamed56___U5: undefined, + unnamed57___U6: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show__P2778(s) { +let r0 = s.r0, 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___16440 = undefined; + s.i___16441 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C2776_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 = 1328; 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 = 1328; s.pc = 3; return s.tmp_2; } + else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 1328; s.pc = 3; return s.tmp_2;; } + else { s.callLocIdx = 1328; 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___16441 = (0); + case 1: + s.tmp_1 = r0 = s.i___16441; + 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___16441); + s.current___16440 = (r0); + s.tmp_0 = scene_systemMenu_MenuOption_show__P2770_mk(s); + s.tmp_0.arg0 = s.current___16440; + s.callLocIdx = 1329; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_MenuOption_setTheme__P2773_mk(s); + s.tmp_0.arg0 = s.current___16440; + r0 = s.arg0.fields["theme"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1330; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_MenuOption_position__P2771_mk(s); + s.tmp_0.arg0 = s.current___16440; + 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 = 1331; s.pc = 7; return s.tmp_2; } + } + case 7: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_5 = r0 = s.i___16441; + 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 = 1332; 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 = 1333; 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 = 1334; 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 = 1335; s.pc = 11; return s.tmp_14; } + } + case 11: + r0 = s.retval; + s.tmp_13 = r0; + s.tmp_17 = r0 = s.i___16441; + 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 = 1336; 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 = 1337; 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 = 1338; 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 = 1339; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + r0 = (s.i___16441 + 1); + s.i___16441 = (r0); + { step = 1; continue; } + case 2: + s.tmp_0 = controller__setUserEventsEnabled__P1996_mk(s); + s.tmp_0.arg0 = false; + s.callLocIdx = 1340; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P16504); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P1986_mk(s); + s.tmp_1.arg0 = globals.A___1907; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1342; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P16524); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P1986_mk(s); + s.tmp_1.arg0 = globals.A___1907; + s.tmp_1.arg1 = 2052; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1344; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.B___1908; + s.tmp_0.arg1 = 2053; + s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P16553; + s.callLocIdx = 1346; s.pc = 18; return s.tmp_0; + case 18: + r0 = s.retval; + s.tmp_0 = controller_Button_onEvent__P1986_mk(s); + s.tmp_0.arg0 = globals.menu___1913; + s.tmp_0.arg1 = 2053; + s.tmp_0.arg2 = scene_systemMenu_PauseMenu_show_inline__P16558; + s.callLocIdx = 1348; s.pc = 19; return s.tmp_0; + case 19: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P16563); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P1986_mk(s); + s.tmp_1.arg0 = globals.up___1910; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1352; s.pc = 20; return s.tmp_1; + case 20: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P16575); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P1986_mk(s); + s.tmp_1.arg0 = globals.left___1909; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1355; s.pc = 21; return s.tmp_1; + case 21: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P16584); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P1986_mk(s); + s.tmp_1.arg0 = globals.down___1912; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1359; s.pc = 22; return s.tmp_1; + case 22: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P16600); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = controller_Button_onEvent__P1986_mk(s); + s.tmp_1.arg0 = globals.right___1911; + s.tmp_1.arg1 = 2053; + s.tmp_1.arg2 = s.tmp_0; + s.callLocIdx = 1362; s.pc = 23; return s.tmp_1; + case 23: + r0 = s.retval; + r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P16612); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = game_onShade__P2698_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 1365; s.pc = 24; return s.tmp_1; + case 24: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_PauseMenu_setSelection__P2780_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 0; + s.callLocIdx = 1366; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_PauseMenu_show__P2778.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__P2778_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show__P2778, depth: s.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___16440: undefined, + i___16441: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P16504(s) { +let r0 = s.r0, 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__P2774_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 = 1341; 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__P16504.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__P16504_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16504, depth: s.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__P16524(s) { +let r0 = s.r0, 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__P2774_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 = 1343; 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__P16524.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__P16524_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16524, depth: s.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__P16553(s) { +let r0 = s.r0, 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__P2783_mk(s); + s.callLocIdx = 1345; 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__P16553.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__P16553_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16553, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P16558(s) { +let r0 = s.r0, 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__P2783_mk(s); + s.callLocIdx = 1347; 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__P16558.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__P16558_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16558, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_show_inline__P16563(s) { +let r0 = s.r0, 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__P2780_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_max__P130_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 = 1349; 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 = 1350; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1351; 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__P16563.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__P16563_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16563, depth: s.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__P16575(s) { +let r0 = s.r0, 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__P2780_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_max__P130_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 = 1353; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1354; 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__P16575.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__P16575_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16575, 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__P16584(s) { +let r0 = s.r0, 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__P2780_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_min__P131_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 = 1356; 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 = 1357; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1358; 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__P16584.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__P16584_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16584, depth: s.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__P16600(s) { +let r0 = s.r0, 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__P2780_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_1 = Math_min__P131_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 = 1360; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1361; 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__P16600.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__P16600_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16600, depth: s.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__P16612(s) { +let r0 = s.r0, 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__P2779_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 1363; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = scene_systemMenu_PauseMenu_drawText__P2781_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.callLocIdx = 1364; 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__P16612.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__P16612_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P16612, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_drawText__P2781(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2776_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__P1755_mk(s); + s.tmp_3.arg0 = globals.screen___1829; + s.tmp_3.arg1 = 0; + s.tmp_3.arg2 = 0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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 = 1377; 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 = 1378; s.pc = 4; return s.tmp_3; + case 4: + r0 = s.retval; + s.tmp_0 = helpers_imagePrintCenter__P1786_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + 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 = 1379; 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 = 1380; s.pc = 8; return s.tmp_2; } + } + case 8: + r0 = s.retval; + s.tmp_0.arg4 = r0; + s.callLocIdx = 1381; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + 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 = 1382; 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___1829); + s.tmp_0.arg3 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + 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 = 1383; 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 = 1384; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.tmp_0 = helpers_imageFillRect__P1755_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + 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 = 1385; 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 = 1386; s.pc = 14; return s.tmp_2; } + } + case 14: + r0 = s.retval; + s.tmp_0.arg2 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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 = 1387; 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 = 1388; 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 = 1389; 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 = 1390; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + s.tmp_0 = helpers_imagePrintCenter__P1786_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + 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 = 1391; 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 = 1391; s.pc = 19; return s.tmp_1; } + else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 1391; s.pc = 19; return s.tmp_1;; } + else { s.callLocIdx = 1391; 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 = 1392; 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 = 1393; s.pc = 21; return s.tmp_6; } + } + case 21: + r0 = s.retval; + s.tmp_0.arg4 = r0; + s.callLocIdx = 1394; 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__P2781.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__P2781_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_drawText__P2781, depth: s.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 scene_systemMenu_PauseMenu_setSelection__P2780(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2776_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__P2774_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 = 1374; 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__C1979_v0_1_mk(s); + s.tmp_4.arg0 = globals.A___1907; + if (!checkSubtype(s.tmp_4.arg0, controller_Button__C1979_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__P2774_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 = 1375; s.pc = 12; return s.tmp_6; + case 12: + r0 = s.retval; + case 7: + case 8: + s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P4629_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1376; 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__P2780.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__P2780_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_setSelection__P2780, depth: s.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__P4629(s) { +let r0 = s.r0, 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___16837 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C2776_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 = 1397; 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___16837 = (r0); + r0 = s.arg0.fields["scrollRow"]; + s.tmp_1 = r0; + r0 = (s.row___16837 === 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___16837 - 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___16837 > 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 = 1398; 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 = 1399; 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__P4629.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__P4629_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P4629, depth: s.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___16837: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_PauseMenu_onUpdate__P2779(s) { +let r0 = s.r0, 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___16690 = undefined; + s.i___16694 = undefined; + s.dt___16723 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, scene_systemMenu_PauseMenu__C2776_VT)) failedCast(r0); + r0 = pxsim.control.millis(); + s.tmp_0 = r0; + r0 = (s.tmp_0 / 250); + s.t___16690 = (r0); + s.i___16694 = (0); + case 1: + s.tmp_1 = r0 = s.i___16694; + 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__P2772_mk(s); + r0 = s.arg0.fields["options"]; + s.tmp_5 = r0; + r0 = pxsim_Array__getAt(s.tmp_5, s.i___16694); + s.tmp_4.arg0 = r0; + s.tmp_8 = r0 = s.t___16690; + s.tmp_11 = r0 = s.i___16694; + 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 = 1367; 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 = 1368; s.pc = 10; return s.tmp_4; + case 10: + r0 = s.retval; + r0 = (s.i___16694 + 1); + s.i___16694 = (r0); + { step = 1; continue; } + case 2: + s.tmp_1 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1369; 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___16723 = (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___16723 * 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___16723 * 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__P128_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 = 1371; 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__P2520_mk(s); + s.tmp_1 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1372; 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 = 1373; 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__P2779.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__P2779_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_onUpdate__P2779, depth: s.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___16690: undefined, + i___16694: undefined, + dt___16723: undefined, + arg0: undefined, +} } + + + + + +function scene_systemMenu_MenuOption_setOffset__P2772(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P2191_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 = 1310; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = Sprite_y__P2144_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P2143_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 1311; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1312; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_setOffset__P2772.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__P2772_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_setOffset__P2772, 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_y__P2144(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P2191_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_4 = Sprite_height__P2185_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 359; 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 = 360; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_y__P2144.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__P2144_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_y__P2144, depth: s.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 scene_systemMenu_MenuOption_setState__P2774(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_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__P4628_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1314; 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__P2774.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__P2774_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_setState__P2774, 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__P4628(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_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__P2178_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 = 1317; s.pc = 9; return s.tmp_5; } + } + case 9: + r0 = s.retval; + s.tmp_4.arg1 = r0; + s.callLocIdx = 1318; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + { step = 6; continue; } + case 4: + s.tmp_0 = Sprite_setImage__P2178_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 = 1319; s.pc = 11; return s.tmp_1; } + } + case 11: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1320; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + { step = 6; continue; } + case 5: + s.tmp_0 = Sprite_setImage__P2178_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 = 1321; s.pc = 13; return s.tmp_1; } + } + case 13: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1322; s.pc = 12; return s.tmp_0; + case 12: + r0 = s.retval; + case 6: + s.tmp_0 = Sprite_x__P2142_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_x__P2141_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 1323; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1324; s.pc = 14; return s.tmp_0; + case 14: + r0 = s.retval; + s.tmp_0 = Sprite_y__P2144_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P2143_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 1325; s.pc = 17; return s.tmp_1; + case 17: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1326; 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__P4628.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__P4628_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_updateCard__P4628, depth: s.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__P2142(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P2187_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_4 = Sprite_width__P2184_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 354; 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 = 355; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_x__P2142.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__P2142_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_x__P2142, depth: s.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 scene_systemMenu_MenuOption_setTheme__P2773(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_VT)) failedCast(r0); + r0 = (s.arg0).fields["theme"] = (s.arg1); + s.tmp_0 = scene_systemMenu_MenuOption_updateCard__P4628_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1313; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_setTheme__P2773.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__P2773_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_setTheme__P2773, 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__P2771(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_VT)) failedCast(r0); + r0 = (s.arg0).fields["top"] = (s.arg2); + s.tmp_0 = Sprite_left__P2187_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1304; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = Sprite_top__P2191_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg2; + s.callLocIdx = 1305; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.tmp_0 = Sprite_x__P2142_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_x__P2141_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 1306; s.pc = 4; return s.tmp_1; + case 4: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1307; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.tmp_0 = Sprite_y__P2144_mk(s); + r0 = s.arg0.fields["icon"]; + s.tmp_0.arg0 = r0; + s.tmp_1 = Sprite_y__P2143_mk(s); + r0 = s.arg0.fields["card"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 1308; s.pc = 6; return s.tmp_1; + case 6: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.callLocIdx = 1309; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_MenuOption_position__P2771.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__P2771_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_position__P2771, 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__P2770(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2768_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 = 1299; s.pc = 3; return s.tmp_1; } + } + case 3: + r0 = s.retval; + { step = 2; continue; } + case 1: + r0 = globals.CARD_NORMAL___2792; + case 2: + // jmp value (already in r0) + s.tmp_2 = r0; + s.tmp_3 = r0 = s.arg0; + s.tmp_5 = sprites_create__P2064_mk(s); + s.tmp_5.arg0 = s.tmp_2; + s.tmp_5.arg1 = undefined; + s.callLocIdx = 1300; 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 = 1301; s.pc = 5; return s.tmp_0; } + } + case 5: + r0 = s.retval; + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = sprites_create__P2064_mk(s); + r0 = s.arg0.fields["iconImage"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = undefined; + s.callLocIdx = 1302; 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 = 1303; 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__P2770.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__P2770_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_MenuOption_show__P2770, depth: s.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 game_onShade__P2698(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4382_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 1288; 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__P2535_mk(s); + s.tmp_2.arg0 = 80; + s.tmp_2.arg1 = s.arg0; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 1289; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + case 3: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_onShade__P2698.info = {"start":8745,"length":145,"line":286,"column":4,"endLine":290,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"onShade","argumentNames":["a"]} + +function game_onShade__P2698_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_onShade__P2698, 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_systemMenu_PauseMenu_constructor__P2777(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2776_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__P2785_mk(s); + r0 = pxsim_ImageMethods.width(globals.CARD_NORMAL___2792); + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = 3; + s.tmp_1.arg2 = undefined; + s.tmp_1.arg3 = undefined; + s.callLocIdx = 1327; 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__P2777.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__P2777_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_PauseMenu_constructor__P2777, 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__P2785(s) { +let r0 = s.r0, 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___17677 = 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___1829); + 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___17677 = (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___1772; + 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__P1775_mk(s); + s.tmp_1.arg0 = s.arg2; + s.callLocIdx = 1437; 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___17677); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_3 = r0; + r0 = (s.cardsPerRow___17677 * s.arg0); + s.tmp_5 = r0; + r0 = (s.cardsPerRow___17677 - 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 = 1438; 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___1829); + 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 = 1439; 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___2793); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "activeCard", globals.CARD_ACTIVE___2794); + r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "basicCard", globals.CARD_NORMAL___2792); + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +scene_systemMenu_buildMenuTheme__P2785.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__P2785_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_buildMenuTheme__P2785, depth: s.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___17677: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function image_doubledFont__P1775(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1776_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = 2; + s.callLocIdx = 139; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +image_doubledFont__P1775.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__P1775_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: image_doubledFont__P1775, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function image_scaledFont__P1776(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 140; 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 = 141; 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 = 142; 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 = 143; 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 = 144; 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__P1776.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__P1776_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: image_scaledFont__P1776, depth: s.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 scene_systemMenu_initScreen__P4641(s) { +let r0 = s.r0, 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___17757 = undefined; + s.tmp_0 = settings_readNumber__P1863_mk(s); + s.tmp_0.arg0 = "#brightness"; + s.callLocIdx = 1446; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.brightness___17757 = (r0); + r0 = (s.brightness___17757 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = helpers_setScreenBrightness__P1762_mk(s); + s.tmp_1.arg0 = globals.screen___1829; + s.tmp_1.arg1 = s.brightness___17757; + s.callLocIdx = 1447; 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__P4641.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__P4641_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_initScreen__P4641, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + brightness___17757: undefined, +} } + + + + + +function scene_systemMenu_initVolume__P4640(s) { +let r0 = s.r0, 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___17767 = undefined; + s.tmp_0 = settings_readNumber__P1863_mk(s); + s.tmp_0.arg0 = "#volume"; + s.callLocIdx = 1444; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.vol___17767 = (r0); + r0 = (s.vol___17767 !== undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = music_setVolume__P1606_mk(s); + s.tmp_1.arg0 = s.vol___17767; + s.callLocIdx = 1445; 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__P4640.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__P4640_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_systemMenu_initVolume__P4640, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + vol___17767: undefined, +} } + + + + + +function game_currentScene__P2685(s) { +let r0 = s.r0, 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__P4382_mk(s); + s.tmp_0.arg0 = undefined; + s.callLocIdx = 1245; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = globals._scene___4374; + return leave(s, r0) + default: oops() +} } } +game_currentScene__P2685.info = {"start":667,"length":90,"line":22,"column":4,"endLine":25,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"currentScene","argumentNames":[]} + +function game_currentScene__P2685_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_currentScene__P2685, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function game_addScenePopHandler__P2701(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4377); + 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___4377 = (r0); + case 1: + case 2: + r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___4377, 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___4377, s.arg0); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_addScenePopHandler__P2701.info = {"start":10273,"length":237,"line":325,"column":4,"endLine":329,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePopHandler","argumentNames":["handler"]} + +function game_addScenePopHandler__P2701_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_addScenePopHandler__P2701, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function game_addScenePushHandler__P2699(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4376); + 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___4376 = (r0); + case 1: + case 2: + r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___4376, 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___4376, s.arg0); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_addScenePushHandler__P2699.info = {"start":9272,"length":242,"line":301,"column":4,"endLine":305,"endColumn":5,"fileName":"pxt_modules/game/game.ts","functionName":"addScenePushHandler","argumentNames":["handler"]} + +function game_addScenePushHandler__P2699_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_addScenePushHandler__P2699, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function Fx8__P149(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P149.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__P149_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx8__P149, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function SpriteKind_create__P2258(s) { +let r0 = s.r0, 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___4213 === undefined); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + globals.nextKind___4213 = (1000); + case 1: + case 2: + s.tmp_0 = r0 = globals.nextKind___4213; + r0 = (s.tmp_0 + 1); + globals.nextKind___4213 = (r0); + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +SpriteKind_create__P2258.info = {"start":750,"length":112,"line":25,"column":4,"endLine":28,"endColumn":5,"fileName":"pxt_modules/game/spritekind.ts","functionName":"create","argumentNames":[]} + +function SpriteKind_create__P2258_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: SpriteKind_create__P2258, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_Button_constructor__P1985(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_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__P17843); + 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__P17850); + 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__P1985.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__P1985_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_constructor__P1985, 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__P17843(s) { +let r0 = s.r0, 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__P1992_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = false; + s.callLocIdx = 248; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_inline__P17843.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__P17843_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_inline__P17843, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_Button_inline__P17850(s) { +let r0 = s.r0, 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__P1992_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = true; + s.callLocIdx = 249; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +controller_Button_inline__P17850.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__P17850_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_inline__P17850, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function controller_setupButton__P4202(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4202.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__P4202_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_setupButton__P4202, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function controller_Button_setPressed__P1992(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_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__P1730_mk(s); + s.callLocIdx = 252; 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__P1948_mk(s); + r0 = s.arg0.fields["_owner"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = true; + s.callLocIdx = 253; 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__P4186_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 254; 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__P4185_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 255; 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__P1992.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__P1992_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_setPressed__P1992, 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__P4186(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___4196); + 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__P4186.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__P4186_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_raiseButtonDown__P4186, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Button_raiseButtonUp__P4185(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_VT)) failedCast(r0); + r0 = pxsim_numops_toBoolDecr(globals._userEventsEnabled___4196); + 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__P4185.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__P4185_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_raiseButtonUp__P4185, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function controller_Controller_connected__P1948(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_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__P1948.info = {"start":6340,"length":261,"line":216,"column":8,"endLine":221,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this","value"]} + +function controller_Controller_connected__P1948_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_connected__P1948, 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_id__P1935(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_VT)) failedCast(r0); + r0 = s.arg0.fields["_id"]; + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_id__P1935.info = {"start":2547,"length":49,"line":85,"column":8,"endLine":87,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"id","argumentNames":["this"]} +controller_Controller_id__P1935.isGetter = true; + +function controller_Controller_id__P1935_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_id__P1935, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_Controller_connected__P1947(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1928_VT)) failedCast(r0); + r0 = s.arg0.fields["_connected"]; + return leaveAccessor(s, r0) + default: oops() +} } } +controller_Controller_connected__P1947.info = {"start":6267,"length":63,"line":212,"column":8,"endLine":214,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"connected","argumentNames":["this"]} +controller_Controller_connected__P1947.isGetter = true; + +function controller_Controller_connected__P1947_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Controller_connected__P1947, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function settings_initScopes__P4153(s) { +let r0 = s.r0, 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___17928 = undefined; + s.tmp_1 = settings_runNumber__P1853_mk(s); + s.callLocIdx = 168; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 1); + s.rn___17928 = (r0); + s.tmp_0 = settings_writeNumber__P1858_mk(s); + s.tmp_0.arg0 = globals.RUN_KEY___4141; + s.tmp_0.arg1 = s.rn___17928; + s.callLocIdx = 169; 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___17928); + s.tmp_0 = settings_setScope__P4152_mk(s); + r0 = pxsim_pxtcore.programName(); + s.tmp_0.arg0 = r0; + s.callLocIdx = 170; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_initScopes__P4153.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__P4153_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_initScopes__P4153, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + rn___17928: undefined, +} } + + + + + +function settings_setScope__P4152(s) { +let r0 = s.r0, 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___17957 = 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__P1861_mk(s); + s.tmp_0.arg0 = globals.SCOPE_KEY___4142; + s.callLocIdx = 166; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.currScope___17957 = (r0); + r0 = (s.currScope___17957 != 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__P1856_mk(s); + s.tmp_0.arg0 = globals.SCOPE_KEY___4142; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 167; 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__P4152.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__P4152_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_setScope__P4152, depth: s.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___17957: undefined, + arg0: undefined, +} } + + + + + +function settings_readString__P1861(s) { +let r0 = s.r0, 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___17978 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = pxsim.settings._get(s.arg0); + s.buf___17978 = (r0); + r0 = pxsim_numops_toBoolDecr(s.buf___17978); + 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___17978); + { step = 3; continue; } + case 2: + r0 = undefined; + case 3: + return leave(s, r0) + default: oops() +} } } +settings_readString__P1861.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__P1861_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_readString__P1861, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + buf___17978: undefined, + arg0: undefined, +} } + + + + + +function settings_writeString__P1856(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P1855_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = pxsim.control.createBufferFromUTF8(s.arg1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 172; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +settings_writeString__P1856.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__P1856_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_writeString__P1856, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function settings_runNumber__P1853(s) { +let r0 = s.r0, 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__P1863_mk(s); + s.tmp_1.arg0 = globals.RUN_KEY___4141; + s.callLocIdx = 165; 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__P1853.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__P1853_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: settings_runNumber__P1853, 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__P1791(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4110 = (true); + globals.__update___4108 = (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 = 161; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control___screen_setupUpdate__P1791.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__P1791_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___screen_setupUpdate__P1791, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function control___screen_update__P1790(s) { +let r0 = s.r0, 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___4108); + if (!r0) { step = 1; continue; } + s.tmp_0 = lambda_1_mk(s); + s.tmp_0.argL = globals.__update___4108; + setupLambda(s.tmp_0, s.tmp_0.argL); + s.callLocIdx = 160; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + case 1: + case 2: + globals.__updated___4110 = (true); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +control___screen_update__P1790.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__P1790_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: control___screen_update__P1790, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, +} } + + + + + +function pause__P413(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P413.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__P413_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: pause__P413, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function info_PlayerInfo_id__P2375(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, info_PlayerInfo__C2361_VT)) failedCast(r0); + r0 = s.arg0.fields["_player"]; + return leave(s, r0) + default: oops() +} } } +info_PlayerInfo_id__P2375.info = {"start":17450,"length":57,"line":572,"column":8,"endLine":574,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"id","argumentNames":["this"]} + +function info_PlayerInfo_id__P2375_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: info_PlayerInfo_id__P2375, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_toString__P2233(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2225_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__P110_mk(s); + r0 = s.arg0.fields["buckets"]; + s.tmp_10.arg0 = r0; + s.tmp_10.arg1 = length_inline__P18021; + s.callLocIdx = 609; 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__P2233.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__P2233_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_toString__P2233, depth: s.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__P18021(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P18021.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__P18021_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: length_inline__P18021, 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__P2320(s) { +let r0 = s.r0, 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___18053 = undefined; + s.maxDist___18061 = undefined; + s.ms___18081 = 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__C2306_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__P2685_mk(s); + s.callLocIdx = 819; s.pc = 13; return s.tmp_0; + case 13: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tm___18053 = (r0); + s.tmp_0 = r0 = s.tm___18053; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 1; continue; } + r0 = s.tmp_0; + { step = 2; continue; } + case 1: + r0 = s.tm___18053.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___18061 = (r0); + s.tmp_2 = Math_abs__P128_mk(s); + r0 = (s.arg2 + 128); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 8); + s.tmp_2.arg0 = r0; + s.callLocIdx = 823; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 <= s.maxDist___18061); + 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__P128_mk(s); + r0 = (s.arg3 + 128); + s.tmp_6 = r0; + r0 = (s.tmp_6 >> 8); + s.tmp_5.arg0 = r0; + s.callLocIdx = 825; s.pc = 15; return s.tmp_5; + case 15: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_4 <= s.maxDist___18061); + 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__C2304_VT); + s.tmp_8 = r0; + s.tmp_9 = MovingSprite_constructor__P2305_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 = 826; s.pc = 16; return s.tmp_9; + case 16: + r0 = s.retval; + s.ms___18081 = (s.tmp_8); + s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P4249_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.ms___18081; + s.tmp_0.arg2 = s.tm___18053; + s.callLocIdx = 827; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + { step = 10; continue; } + case 5: + s.tmp_1 = tiles_TileMap_isOnWall__P2489_mk(s); + s.tmp_1.arg0 = s.tm___18053; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 828; 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__P4251_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = s.arg1; + s.tmp_4.arg2 = s.tm___18053; + s.callLocIdx = 829; 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__P2320.info = {"start":22609,"length":1208,"line":623,"column":4,"endLine":654,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"moveSprite","argumentNames":["this","s","dx","dy"]} + +function ArcadePhysicsEngine_moveSprite__P2320_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_moveSprite__P2320, depth: s.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___18053: undefined, + maxDist___18061: undefined, + ms___18081: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function ArcadePhysicsEngine_canResolveClipping__P4251(s) { +let r0 = s.r0, 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___18126 = undefined; + s.sz___18129 = undefined; + s.maxMove___18134 = undefined; + s.origY___18136 = undefined; + s.origX___18139 = undefined; + s.l___18142 = undefined; + s.r___18147 = undefined; + s.t___18152 = undefined; + s.b___18157 = undefined; + s.offset___18162 = undefined; + s.offset___18187 = undefined; + s.offset___18218 = undefined; + s.offset___18243 = 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__C2306_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_setHitbox__P2181_mk(s); + s.tmp_4.arg0 = s.arg1; + s.callLocIdx = 831; s.pc = 20; return s.tmp_4; + case 20: + r0 = s.retval; + case 1: + case 2: + r0 = s.arg1.fields["_hitbox"]; + s.hbox___18126 = (r0); + r0 = s.arg2.fields["_scale"]; + s.tmp_0 = r0; + r0 = (1 << s.tmp_0); + s.sz___18129 = (r0); + s.tmp_0 = ArcadePhysicsEngine_maxStep__P2312_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 833; s.pc = 21; return s.tmp_0; + case 21: + r0 = s.retval; + s.maxMove___18134 = (r0); + r0 = s.arg1.fields["_y"]; + s.origY___18136 = (r0); + r0 = s.arg1.fields["_x"]; + s.origX___18139 = (r0); + s.tmp_1 = game_Hitbox_left__P2006_mk(s); + s.tmp_1.arg0 = s.hbox___18126; + s.callLocIdx = 834; 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___18142 = (r0); + s.tmp_1 = game_Hitbox_right__P2008_mk(s); + s.tmp_1.arg0 = s.hbox___18126; + s.callLocIdx = 836; 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___18147 = (r0); + s.tmp_1 = game_Hitbox_top__P2007_mk(s); + s.tmp_1.arg0 = s.hbox___18126; + s.callLocIdx = 838; 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___18152 = (r0); + s.tmp_1 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_1.arg0 = s.hbox___18126; + s.callLocIdx = 840; 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___18157 = (r0); + r0 = (s.b___18157 + 1); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.sz___18129); + s.offset___18162 = (r0); + r0 = (s.offset___18162 <= s.maxMove___18134); + 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___18162 * 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__P2489_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 844; 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___18136); + case 4: + case 5: + case 6: + r0 = (s.t___18152 / s.sz___18129); + 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___18129); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.t___18152); + s.offset___18187 = (r0); + r0 = (s.offset___18187 <= s.maxMove___18134); + 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___18187 * 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__P2489_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 847; 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___18136); + case 8: + case 9: + case 10: + r0 = (s.r___18147 + 1); + s.tmp_0 = r0; + r0 = (s.tmp_0 % s.sz___18129); + s.offset___18218 = (r0); + r0 = (s.offset___18218 <= s.maxMove___18134); + 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___18218 * 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__P2489_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 850; 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___18139); + case 12: + case 13: + case 14: + r0 = (s.l___18142 / s.sz___18129); + 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___18129); + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.l___18142); + s.offset___18243 = (r0); + r0 = (s.offset___18243 <= s.maxMove___18134); + 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___18243 * 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__P2489_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.arg1; + s.callLocIdx = 853; 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___18139); + case 16: + case 17: + case 18: + r0 = false; + case 19: + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_canResolveClipping__P4251.info = {"start":23913,"length":2135,"line":657,"column":4,"endLine":728,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"canResolveClipping","argumentNames":["this","s","tm"]} + +function ArcadePhysicsEngine_canResolveClipping__P4251_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_canResolveClipping__P4251, depth: s.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___18126: undefined, + sz___18129: undefined, + maxMove___18134: undefined, + origY___18136: undefined, + origX___18139: undefined, + l___18142: undefined, + r___18147: undefined, + t___18152: undefined, + b___18157: undefined, + offset___18162: undefined, + offset___18187: undefined, + offset___18218: undefined, + offset___18243: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_isStatic__P2182(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2182.info = {"start":10944,"length":57,"line":388,"column":4,"endLine":390,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isStatic","argumentNames":["this"]} + +function Sprite_isStatic__P2182_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_isStatic__P2182, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function game_Hitbox_bottom__P2009(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + r0 = s.arg0.fields["height"]; + s.tmp_1 = r0; + s.tmp_3 = game_Hitbox_top__P2007_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 276; 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__P2009.info = {"start":803,"length":139,"line":33,"column":8,"endLine":38,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"bottom","argumentNames":["this"]} +game_Hitbox_bottom__P2009.isGetter = true; + +function game_Hitbox_bottom__P2009_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_bottom__P2009, depth: s.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__P2008(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + r0 = s.arg0.fields["width"]; + s.tmp_1 = r0; + s.tmp_3 = game_Hitbox_left__P2006_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 273; 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__P2008.info = {"start":655,"length":138,"line":26,"column":8,"endLine":31,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"right","argumentNames":["this"]} +game_Hitbox_right__P2008.isGetter = true; + +function game_Hitbox_right__P2008_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_right__P2008, depth: s.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__P2007(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + r0 = s.arg0.fields["oy"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["parent"]; + r0 = r0.fields["_y"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & -256); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +game_Hitbox_top__P2007.info = {"start":562,"length":83,"line":22,"column":8,"endLine":24,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"top","argumentNames":["this"]} +game_Hitbox_top__P2007.isGetter = true; + +function game_Hitbox_top__P2007_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_top__P2007, 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_Hitbox_left__P2006(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + r0 = s.arg0.fields["ox"]; + s.tmp_0 = r0; + r0 = s.arg0.fields["parent"]; + r0 = r0.fields["_x"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 & -256); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leaveAccessor(s, r0) + default: oops() +} } } +game_Hitbox_left__P2006.info = {"start":468,"length":84,"line":18,"column":8,"endLine":20,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"left","argumentNames":["this"]} +game_Hitbox_left__P2006.isGetter = true; + +function game_Hitbox_left__P2006_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_left__P2006, 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_tilemapCollisions__P4249(s) { +let r0 = s.r0, 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___18396 = undefined; + s.hbox___18421 = undefined; + s.tileScale___18424 = undefined; + s.tileSize___18427 = undefined; + s.xDiff___18431 = undefined; + s.yDiff___18438 = undefined; + s.right___18454 = undefined; + s.x0___18458 = undefined; + s.collidedTiles___18473 = undefined; + s.y___18475 = undefined; + s.y0___18489 = undefined; + s.obstacle___18505 = undefined; + s.collisionDirection___18532 = undefined; + s.tile___18558 = undefined; + s.unnamed88___U14 = undefined; + s.unnamed89___U15 = undefined; + s.down___18642 = undefined; + s.y0___18646 = undefined; + s.collidedTiles___18661 = undefined; + s.x___18663 = undefined; + s.x0___18673 = undefined; + s.obstacle___18687 = undefined; + s.collisionDirection___18714 = undefined; + s.tile___18740 = undefined; + s.unnamed90___U24 = undefined; + s.unnamed91___U25 = undefined; + s.overlappedTiles___18827 = undefined; + s.x___18829 = undefined; + s.x0___18839 = undefined; + s.y___18849 = undefined; + s.y0___18859 = 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__C2306_VT)) failedCast(r0); + r0 = s.arg1.fields["sprite"]; + s.s___18396 = (r0); + r0 = s.s___18396.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__P2489_mk(s); + s.tmp_5.arg0 = s.arg2; + s.tmp_5.arg1 = s.s___18396; + s.callLocIdx = 714; s.pc = 93; return s.tmp_5; + case 93: + 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___18396; + 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___18396.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_setHitbox__P2181_mk(s); + s.tmp_4.arg0 = s.s___18396; + s.callLocIdx = 716; s.pc = 94; return s.tmp_4; + case 94: + r0 = s.retval; + case 5: + case 6: + r0 = s.s___18396.fields["_hitbox"]; + s.hbox___18421 = (r0); + r0 = s.arg2.fields["_scale"]; + s.tileScale___18424 = (r0); + r0 = (1 << s.tileScale___18424); + s.tileSize___18427 = (r0); + r0 = s.s___18396.fields["_x"]; + s.tmp_0 = r0; + r0 = s.s___18396.fields["_lastX"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.xDiff___18431 = (r0); + r0 = s.s___18396.fields["_y"]; + s.tmp_0 = r0; + r0 = s.s___18396.fields["_lastY"]; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.yDiff___18438 = (r0); + r0 = s.s___18396.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 = 79; continue; } + r0 = (s.xDiff___18431 !== 0); + s.tmp_4 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_4); + if (!r0) { step = 41; continue; } + r0 = (s.xDiff___18431 > 0); + s.right___18454 = (r0); + r0 = pxsim_numops_toBoolDecr(s.right___18454); + if (!r0) { step = 7; continue; } + s.tmp_1 = game_Hitbox_right__P2008_mk(s); + s.tmp_1.arg0 = s.hbox___18421; + s.callLocIdx = 720; s.pc = 95; return s.tmp_1; + case 95: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 256); + { step = 8; continue; } + case 7: + s.tmp_3 = game_Hitbox_left__P2006_mk(s); + s.tmp_3.arg0 = s.hbox___18421; + s.callLocIdx = 722; s.pc = 96; return s.tmp_3; + case 96: + 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___18424 + 8); + s.tmp_6 = r0; + r0 = (s.tmp_5 >> s.tmp_6); + s.x0___18458 = (r0); + r0 = pxsim_Array__mk(); + s.collidedTiles___18473 = (r0); + s.tmp_1 = game_Hitbox_top__P2007_mk(s); + s.tmp_1.arg0 = s.hbox___18421; + s.callLocIdx = 726; s.pc = 97; return s.tmp_1; + case 97: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.yDiff___18438); + s.y___18475 = (r0); + case 9: + s.tmp_1 = r0 = s.y___18475; + s.tmp_3 = r0 = s.tileSize___18427; + s.tmp_6 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_6.arg0 = s.hbox___18421; + s.callLocIdx = 728; s.pc = 98; return s.tmp_6; + case 98: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.yDiff___18438); + 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__P166_mk(s); + s.tmp_10.arg0 = s.y___18475; + s.tmp_12 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_12.arg0 = s.hbox___18421; + s.callLocIdx = 731; s.pc = 100; return s.tmp_12; + case 100: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 - s.yDiff___18438); + s.tmp_10.arg1 = r0; + s.callLocIdx = 733; s.pc = 99; return s.tmp_10; + case 99: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_9 + 128); + s.tmp_8 = r0; + r0 = (s.tileScale___18424 + 8); + s.tmp_13 = r0; + r0 = (s.tmp_8 >> s.tmp_13); + s.y0___18489 = (r0); + s.tmp_1 = tiles_TileMap_isObstacle__P2487_mk(s); + s.tmp_1.arg0 = s.arg2; + s.tmp_1.arg1 = s.x0___18458; + s.tmp_1.arg2 = s.y0___18489; + s.callLocIdx = 736; s.pc = 101; return s.tmp_1; + case 101: + 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__P2488_mk(s); + s.tmp_2.arg0 = s.arg2; + s.tmp_2.arg1 = s.x0___18458; + s.tmp_2.arg2 = s.y0___18489; + s.callLocIdx = 737; s.pc = 102; return s.tmp_2; + case 102: + r0 = s.retval; + s.obstacle___18505 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P18513); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___18505); + s.tmp_4 = helpers_arraySome__P107_mk(s); + s.tmp_4.arg0 = s.collidedTiles___18473; + s.tmp_4.arg1 = s.tmp_0; + s.callLocIdx = 738; s.pc = 103; return s.tmp_4; + case 103: + 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___18473, s.obstacle___18505); + case 10: + case 11: + case 12: + case 13: + r0 = (s.tileSize___18427 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.y___18475); + s.y___18475 = (r0); + { step = 9; continue; } + case 14: + r0 = pxsim_Array__length(s.collidedTiles___18473); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 39; continue; } + r0 = pxsim_numops_toBoolDecr(s.right___18454); + 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___18532 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.right___18454); + if (!r0) { step = 17; continue; } + r0 = (s.x0___18458 << s.tileScale___18424); + 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___18421.fields["width"]; + s.tmp_3 = r0; + r0 = (s.tmp_0 - s.tmp_3); + { step = 18; continue; } + case 17: + r0 = (s.x0___18458 + 1); + s.tmp_5 = r0; + r0 = (s.tmp_5 << s.tileScale___18424); + 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___18396; + r0 = s.hbox___18421.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___18558 = (undefined); + s.unnamed88___U14 = (s.collidedTiles___18473); + s.unnamed89___U15 = (0); + case 19: + s.tmp_0 = r0 = s.unnamed89___U15; + r0 = pxsim_Array__length(s.unnamed88___U14); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 22; continue; } + r0 = pxsim_Array__getAt(s.unnamed88___U14, s.unnamed89___U15); + s.tile___18558 = (r0); + r0 = s.s___18396.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__P2213_mk(s); + s.tmp_6.arg0 = s.s___18396; + s.tmp_6.arg1 = s.collisionDirection___18532; + s.tmp_6.arg2 = s.tile___18558; + s.tmp_6.arg3 = s.arg2; + s.callLocIdx = 744; s.pc = 104; return s.tmp_6; + case 104: + r0 = s.retval; + case 20: + case 21: + r0 = (s.unnamed89___U15 + 1); + s.unnamed89___U15 = (r0); + { step = 19; continue; } + case 22: + s.unnamed88___U14 = (undefined); + r0 = s.s___18396.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__P2215_mk(s); + s.tmp_2.arg0 = s.s___18396; + s.tmp_2.arg1 = undefined; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 745; s.pc = 105; return s.tmp_2; + case 105: + r0 = s.retval; + { step = 38; continue; } + case 23: + r0 = s.s___18396.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_toBoolDecr(s.tmp_0); + if (!r0) { step = 34; continue; } + r0 = s.s___18396.fields["flags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 & 32); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 32; continue; } + r0 = pxsim_numops_toBoolDecr(s.right___18454); + s.tmp_6 = r0; + r0 = pxsim_Boolean__bang(s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_numops_toBool(s.tmp_5); + if (r0) { step = 24; continue; } + r0 = s.tmp_5; + { step = 25; continue; } + case 24: + s.tmp_8 = Sprite_vx__P2145_mk(s); + s.tmp_8.arg0 = s.s___18396; + s.callLocIdx = 746; s.pc = 106; return s.tmp_8; + case 106: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_7 < 0); + case 25: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = pxsim_numops_toBool(s.tmp_9); + if (!r0) { step = 26; continue; } + r0 = s.tmp_9; + { step = 29; continue; } + case 26: + s.tmp_10 = r0 = s.right___18454; + r0 = pxsim_numops_toBool(s.tmp_10); + if (r0) { step = 27; continue; } + r0 = s.tmp_10; + { step = 28; continue; } + case 27: + s.tmp_12 = Sprite_vx__P2145_mk(s); + s.tmp_12.arg0 = s.s___18396; + s.callLocIdx = 747; s.pc = 107; return s.tmp_12; + case 107: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 > 0); + case 28: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = s.tmp_13; + case 29: + // jmp value (already in r0) + s.tmp_14 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_14); + if (!r0) { step = 30; continue; } + s.tmp_15 = r0 = s.s___18396; + r0 = s.s___18396.fields["_vx"]; + s.tmp_17 = r0; + r0 = (0 - s.tmp_17); + s.tmp_16 = r0; + r0 = (s.tmp_15).fields["_vx"] = (s.tmp_16); + 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 30: + case 31: + { step = 33; continue; } + case 32: + r0 = (s.arg1).fields["dx"] = (0); + r0 = (s.s___18396).fields["_vx"] = (0); + case 33: + { step = 37; continue; } + case 34: + s.tmp_2 = Math_sign__P129_mk(s); + r0 = s.s___18396.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 = 752; s.pc = 108; return s.tmp_2; + case 108: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_6 = Math_sign__P129_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 = 754; s.pc = 109; return s.tmp_6; + case 109: + 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 = 35; continue; } + r0 = (s.arg1).fields["dx"] = (0); + case 35: + case 36: + case 37: + case 38: + case 39: + case 40: + case 41: + case 42: + r0 = (s.yDiff___18438 !== 0); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 77; continue; } + r0 = (s.yDiff___18438 > 0); + s.down___18642 = (r0); + r0 = pxsim_numops_toBoolDecr(s.down___18642); + if (!r0) { step = 43; continue; } + s.tmp_1 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_1.arg0 = s.hbox___18421; + s.callLocIdx = 755; s.pc = 110; return s.tmp_1; + case 110: + r0 = s.retval; + s.tmp_0 = r0; + r0 = (s.tmp_0 + 256); + { step = 44; continue; } + case 43: + s.tmp_3 = game_Hitbox_top__P2007_mk(s); + s.tmp_3.arg0 = s.hbox___18421; + s.callLocIdx = 757; s.pc = 111; return s.tmp_3; + case 111: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 256); + case 44: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = (s.tmp_4 + 128); + s.tmp_5 = r0; + r0 = (s.tileScale___18424 + 8); + s.tmp_6 = r0; + r0 = (s.tmp_5 >> s.tmp_6); + s.y0___18646 = (r0); + r0 = pxsim_Array__mk(); + s.collidedTiles___18661 = (r0); + s.tmp_0 = game_Hitbox_left__P2006_mk(s); + s.tmp_0.arg0 = s.hbox___18421; + s.callLocIdx = 761; s.pc = 112; return s.tmp_0; + case 112: + r0 = s.retval; + s.x___18663 = (r0); + case 45: + s.tmp_1 = r0 = s.x___18663; + s.tmp_3 = r0 = s.tileSize___18427; + s.tmp_5 = game_Hitbox_right__P2008_mk(s); + s.tmp_5.arg0 = s.hbox___18421; + s.callLocIdx = 762; s.pc = 113; return s.tmp_5; + case 113: + 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 = 50; continue; } + s.tmp_9 = Fx_min__P166_mk(s); + s.tmp_9.arg0 = s.x___18663; + s.tmp_10 = game_Hitbox_right__P2008_mk(s); + s.tmp_10.arg0 = s.hbox___18421; + s.callLocIdx = 764; s.pc = 115; return s.tmp_10; + case 115: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 765; s.pc = 114; return s.tmp_9; + case 114: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___18424 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.x0___18673 = (r0); + s.tmp_1 = tiles_TileMap_isObstacle__P2487_mk(s); + s.tmp_1.arg0 = s.arg2; + s.tmp_1.arg1 = s.x0___18673; + s.tmp_1.arg2 = s.y0___18646; + s.callLocIdx = 768; s.pc = 116; return s.tmp_1; + case 116: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 48; continue; } + s.tmp_2 = tiles_TileMap_getObstacle__P2488_mk(s); + s.tmp_2.arg0 = s.arg2; + s.tmp_2.arg1 = s.x0___18673; + s.tmp_2.arg2 = s.y0___18646; + s.callLocIdx = 769; s.pc = 117; return s.tmp_2; + case 117: + r0 = s.retval; + s.obstacle___18687 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P18695); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___18687); + s.tmp_4 = helpers_arraySome__P107_mk(s); + s.tmp_4.arg0 = s.collidedTiles___18661; + s.tmp_4.arg1 = s.tmp_0; + s.callLocIdx = 770; s.pc = 118; return s.tmp_4; + case 118: + 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 = 46; continue; } + r0 = pxsim_Array__push(s.collidedTiles___18661, s.obstacle___18687); + case 46: + case 47: + case 48: + case 49: + r0 = (s.tileSize___18427 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.x___18663); + s.x___18663 = (r0); + { step = 45; continue; } + case 50: + r0 = pxsim_Array__length(s.collidedTiles___18661); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 75; continue; } + r0 = pxsim_numops_toBoolDecr(s.down___18642); + if (!r0) { step = 51; continue; } + r0 = 3; + { step = 52; continue; } + case 51: + r0 = 1; + case 52: + // jmp value (already in r0) + s.tmp_1 = r0; + s.collisionDirection___18714 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.down___18642); + if (!r0) { step = 53; continue; } + r0 = (s.y0___18646 << s.tileScale___18424); + 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___18421.fields["height"]; + s.tmp_3 = r0; + r0 = (s.tmp_0 - s.tmp_3); + { step = 54; continue; } + case 53: + r0 = (s.y0___18646 + 1); + s.tmp_5 = r0; + r0 = (s.tmp_5 << s.tileScale___18424); + s.tmp_4 = r0; + r0 = (s.tmp_4 * 256); + s.tmp_6 = r0; + r0 = (s.tmp_6 | 0); + case 54: + // jmp value (already in r0) + s.tmp_7 = r0; + s.tmp_8 = r0 = s.s___18396; + r0 = s.hbox___18421.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___18740 = (undefined); + s.unnamed90___U24 = (s.collidedTiles___18661); + s.unnamed91___U25 = (0); + case 55: + s.tmp_0 = r0 = s.unnamed91___U25; + r0 = pxsim_Array__length(s.unnamed90___U24); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 58; continue; } + r0 = pxsim_Array__getAt(s.unnamed90___U24, s.unnamed91___U25); + s.tile___18740 = (r0); + r0 = s.s___18396.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 = 56; continue; } + s.tmp_6 = Sprite_registerObstacle__P2213_mk(s); + s.tmp_6.arg0 = s.s___18396; + s.tmp_6.arg1 = s.collisionDirection___18714; + s.tmp_6.arg2 = s.tile___18740; + s.tmp_6.arg3 = s.arg2; + s.callLocIdx = 776; s.pc = 119; return s.tmp_6; + case 119: + r0 = s.retval; + case 56: + case 57: + r0 = (s.unnamed91___U25 + 1); + s.unnamed91___U25 = (r0); + { step = 55; continue; } + case 58: + s.unnamed90___U24 = (undefined); + r0 = s.s___18396.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 = 59; continue; } + s.tmp_2 = Sprite_destroy__P2215_mk(s); + s.tmp_2.arg0 = s.s___18396; + s.tmp_2.arg1 = undefined; + s.tmp_2.arg2 = undefined; + s.callLocIdx = 777; s.pc = 120; return s.tmp_2; + case 120: + r0 = s.retval; + { step = 74; continue; } + case 59: + r0 = s.s___18396.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_toBoolDecr(s.tmp_0); + if (!r0) { step = 70; continue; } + r0 = s.s___18396.fields["flags"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 & 32); + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 68; continue; } + r0 = pxsim_numops_toBoolDecr(s.down___18642); + s.tmp_6 = r0; + r0 = pxsim_Boolean__bang(s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_numops_toBool(s.tmp_5); + if (r0) { step = 60; continue; } + r0 = s.tmp_5; + { step = 61; continue; } + case 60: + s.tmp_8 = Sprite_vy__P2147_mk(s); + s.tmp_8.arg0 = s.s___18396; + s.callLocIdx = 778; s.pc = 121; return s.tmp_8; + case 121: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_7 < 0); + case 61: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = pxsim_numops_toBool(s.tmp_9); + if (!r0) { step = 62; continue; } + r0 = s.tmp_9; + { step = 65; continue; } + case 62: + s.tmp_10 = r0 = s.down___18642; + r0 = pxsim_numops_toBool(s.tmp_10); + if (r0) { step = 63; continue; } + r0 = s.tmp_10; + { step = 64; continue; } + case 63: + s.tmp_12 = Sprite_vy__P2147_mk(s); + s.tmp_12.arg0 = s.s___18396; + s.callLocIdx = 779; s.pc = 122; return s.tmp_12; + case 122: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_11 > 0); + case 64: + // jmp value (already in r0) + s.tmp_13 = r0; + r0 = s.tmp_13; + case 65: + // jmp value (already in r0) + s.tmp_14 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_14); + if (!r0) { step = 66; continue; } + s.tmp_15 = r0 = s.s___18396; + r0 = s.s___18396.fields["_vy"]; + s.tmp_17 = r0; + r0 = (0 - s.tmp_17); + s.tmp_16 = r0; + r0 = (s.tmp_15).fields["_vy"] = (s.tmp_16); + 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 66: + case 67: + { step = 69; continue; } + case 68: + r0 = (s.arg1).fields["dy"] = (0); + r0 = (s.s___18396).fields["_vy"] = (0); + case 69: + { step = 73; continue; } + case 70: + s.tmp_2 = Math_sign__P129_mk(s); + r0 = s.s___18396.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 = 784; s.pc = 123; return s.tmp_2; + case 123: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_6 = Math_sign__P129_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 = 786; s.pc = 124; return s.tmp_6; + case 124: + 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 = 71; continue; } + r0 = (s.arg1).fields["dy"] = (0); + case 71: + case 72: + case 73: + case 74: + case 75: + case 76: + case 77: + case 78: + case 79: + case 80: + r0 = s.s___18396.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 = 91; continue; } + r0 = pxsim_Array__mk(); + s.overlappedTiles___18827 = (r0); + s.tmp_0 = game_Hitbox_left__P2006_mk(s); + s.tmp_0.arg0 = s.hbox___18421; + s.callLocIdx = 787; s.pc = 125; return s.tmp_0; + case 125: + r0 = s.retval; + s.x___18829 = (r0); + case 81: + s.tmp_1 = r0 = s.x___18829; + s.tmp_3 = r0 = s.tileSize___18427; + s.tmp_5 = game_Hitbox_right__P2008_mk(s); + s.tmp_5.arg0 = s.hbox___18421; + s.callLocIdx = 788; s.pc = 126; return s.tmp_5; + case 126: + 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 = 88; continue; } + s.tmp_9 = Fx_min__P166_mk(s); + s.tmp_9.arg0 = s.x___18829; + s.tmp_10 = game_Hitbox_right__P2008_mk(s); + s.tmp_10.arg0 = s.hbox___18421; + s.callLocIdx = 790; s.pc = 128; return s.tmp_10; + case 128: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 791; s.pc = 127; return s.tmp_9; + case 127: + r0 = s.retval; + s.tmp_8 = r0; + r0 = (s.tmp_8 + 128); + s.tmp_7 = r0; + r0 = (s.tileScale___18424 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.x0___18839 = (r0); + s.tmp_0 = game_Hitbox_top__P2007_mk(s); + s.tmp_0.arg0 = s.hbox___18421; + s.callLocIdx = 794; s.pc = 129; return s.tmp_0; + case 129: + r0 = s.retval; + s.y___18849 = (r0); + case 82: + s.tmp_1 = r0 = s.y___18849; + s.tmp_3 = r0 = s.tileSize___18427; + s.tmp_5 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_5.arg0 = s.hbox___18421; + s.callLocIdx = 795; 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 = 87; continue; } + s.tmp_9 = Fx_min__P166_mk(s); + s.tmp_9.arg0 = s.y___18849; + s.tmp_10 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_10.arg0 = s.hbox___18421; + s.callLocIdx = 797; s.pc = 132; return s.tmp_10; + case 132: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.callLocIdx = 798; 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___18424 + 8); + s.tmp_11 = r0; + r0 = (s.tmp_7 >> s.tmp_11); + s.y0___18859 = (r0); + s.tmp_3 = tiles_TileMap_isObstacle__P2487_mk(s); + s.tmp_3.arg0 = s.arg2; + s.tmp_3.arg1 = s.x0___18839; + s.tmp_3.arg2 = s.y0___18859; + s.callLocIdx = 801; s.pc = 133; return s.tmp_3; + case 133: + 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 = 83; continue; } + r0 = s.tmp_0; + { step = 84; continue; } + case 83: + r0 = s.s___18396.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 84: + // jmp value (already in r0) + s.tmp_9 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_9); + if (!r0) { step = 85; continue; } + s.tmp_10 = r0 = s.overlappedTiles___18827; + s.tmp_12 = tiles_TileMap_getTile__P2480_mk(s); + s.tmp_12.arg0 = s.arg2; + s.tmp_12.arg1 = s.x0___18839; + s.tmp_12.arg2 = s.y0___18859; + s.callLocIdx = 802; s.pc = 134; return s.tmp_12; + case 134: + r0 = s.retval; + s.tmp_11 = r0; + r0 = pxsim_Array__push(s.tmp_10, s.tmp_11); + case 85: + case 86: + r0 = (s.tileSize___18427 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.y___18849); + s.y___18849 = (r0); + { step = 82; continue; } + case 87: + r0 = (s.tileSize___18427 << 8); + s.tmp_0 = r0; + r0 = (s.tmp_0 + s.x___18829); + s.x___18829 = (r0); + { step = 81; continue; } + case 88: + r0 = pxsim_Array__length(s.overlappedTiles___18827); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 89; continue; } + s.tmp_1 = ArcadePhysicsEngine_tilemapOverlaps__P4250_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.s___18396; + s.tmp_1.arg2 = s.overlappedTiles___18827; + s.callLocIdx = 805; s.pc = 135; return s.tmp_1; + case 135: + r0 = s.retval; + case 89: + case 90: + case 91: + case 92: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapCollisions__P4249.info = {"start":11722,"length":9572,"line":348,"column":4,"endLine":587,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapCollisions","argumentNames":["this","movingSprite","tm"]} + +function ArcadePhysicsEngine_tilemapCollisions__P4249_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P4249, depth: s.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, + s___18396: undefined, + hbox___18421: undefined, + tileScale___18424: undefined, + tileSize___18427: undefined, + xDiff___18431: undefined, + yDiff___18438: undefined, + right___18454: undefined, + x0___18458: undefined, + collidedTiles___18473: undefined, + y___18475: undefined, + y0___18489: undefined, + obstacle___18505: undefined, + collisionDirection___18532: undefined, + tile___18558: undefined, + unnamed88___U14: undefined, + unnamed89___U15: undefined, + down___18642: undefined, + y0___18646: undefined, + collidedTiles___18661: undefined, + x___18663: undefined, + x0___18673: undefined, + obstacle___18687: undefined, + collisionDirection___18714: undefined, + tile___18740: undefined, + unnamed90___U24: undefined, + unnamed91___U25: undefined, + overlappedTiles___18827: undefined, + x___18829: undefined, + x0___18839: undefined, + y___18849: undefined, + y0___18859: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapCollisions_inline__P18513(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P18513.info = {"start":13940,"length":39,"line":410,"column":48,"endLine":410,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} + +function ArcadePhysicsEngine_tilemapCollisions_inline__P18513_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P18513, 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__P18695(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P18695.info = {"start":17420,"length":39,"line":491,"column":48,"endLine":491,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["o"]} + +function ArcadePhysicsEngine_tilemapCollisions_inline__P18695_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P18695, 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__P4250(s) { +let r0 = s.r0, 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___18906 = undefined; + s.tile___18909 = undefined; + s.unnamed92___U2 = undefined; + s.unnamed93___U3 = undefined; + s.tileOverlapHandlers___18930 = 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__C2306_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.alreadyHandled___18906 = (r0); + s.tile___18909 = (undefined); + s.unnamed92___U2 = (s.arg2); + s.unnamed93___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed93___U3; + r0 = pxsim_Array__length(s.unnamed92___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 7; continue; } + r0 = pxsim_Array__getAt(s.unnamed92___U2, s.unnamed93___U3); + s.tile___18909 = (r0); + r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapOverlaps_inline__P18913); + s.tmp_2 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.tile___18909); + s.tmp_4 = helpers_arraySome__P107_mk(s); + s.tmp_4.arg0 = s.alreadyHandled___18906; + s.tmp_4.arg1 = s.tmp_2; + s.callLocIdx = 810; 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___18906, s.tile___18909); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 811; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + r0 = r0.fields["tileOverlapHandlers"]; + s.tileOverlapHandlers___18930 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tileOverlapHandlers___18930); + if (!r0) { step = 4; continue; } + r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P18938); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tile___18909); + r0 = pxsim_pxtcore_mkAction(2, ArcadePhysicsEngine_tilemapOverlaps_inline__P18952); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg1); + r0 = pxsim_pxtrt_stclo(s.tmp_1, 1, s.tile___18909); + s.tmp_2 = helpers_arrayForEach__P109_mk(s); + s.tmp_3 = helpers_arrayFilter__P110_mk(s); + s.tmp_3.arg0 = s.tileOverlapHandlers___18930; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 814; 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 = 816; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; + case 4: + case 5: + case 6: + r0 = (s.unnamed93___U3 + 1); + s.unnamed93___U3 = (r0); + { step = 1; continue; } + case 7: + s.unnamed92___U2 = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapOverlaps__P4250.info = {"start":21571,"length":707,"line":595,"column":4,"endLine":611,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"tilemapOverlaps","argumentNames":["this","sprite","overlappedTiles"]} + +function ArcadePhysicsEngine_tilemapOverlaps__P4250_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps__P4250, depth: s.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___18906: undefined, + tile___18909: undefined, + unnamed92___U2: undefined, + unnamed93___U3: undefined, + tileOverlapHandlers___18930: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function ArcadePhysicsEngine_tilemapOverlaps_inline__P18913(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P18913.info = {"start":21786,"length":51,"line":599,"column":36,"endLine":599,"endColumn":87,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["l"]} + +function ArcadePhysicsEngine_tilemapOverlaps_inline__P18913_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P18913, depth: s.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__P18938(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2499_mk(s); + s.tmp_5.arg0 = s.caps[1]; + s.callLocIdx = 813; 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__P18938.info = {"start":22106,"length":81,"line":607,"column":28,"endLine":607,"endColumn":109,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P18938_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P18938, depth: s.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__P18952(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 815; 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 = 815; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 815; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 815; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_tilemapOverlaps_inline__P18952.info = {"start":22218,"length":28,"line":608,"column":29,"endLine":608,"endColumn":57,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function ArcadePhysicsEngine_tilemapOverlaps_inline__P18952_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P18952, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function tiles_getTileImage__P2499(s) { +let r0 = s.r0, 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___18959 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1068; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.scene___18959 = (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___18959.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(_hex18969); + { step = 5; continue; } + case 3: + case 4: + s.tmp_5 = tiles_TileMap_getTileImage__P2490_mk(s); + r0 = s.scene___18959.fields["tileMap"]; + s.tmp_5.arg0 = r0; + s.tmp_6 = tiles_Location_tileSet__P2435_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 1069; s.pc = 8; return s.tmp_6; + case 8: + r0 = s.retval; + s.tmp_5.arg1 = r0; + s.callLocIdx = 1070; s.pc = 7; return s.tmp_5; + case 7: + r0 = s.retval; + case 5: + return leave(s, r0) + default: oops() +} } } +tiles_getTileImage__P2499.info = {"start":21815,"length":207,"line":672,"column":4,"endLine":676,"endColumn":5,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["loc"]} + +function tiles_getTileImage__P2499_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_getTileImage__P2499, depth: s.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___18959: undefined, + arg0: undefined, +} } + +const _hex18969 = pxsim.BufferMethods.createBufferFromHex("8704000000000000") + + + + +function tiles_TileMap_getTileImage__P2490(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMapData_getTileImage__P2457_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1054; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getTileImage__P2490.info = {"start":17461,"length":96,"line":552,"column":8,"endLine":554,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileImage","argumentNames":["this","index"]} + +function tiles_TileMap_getTileImage__P2490_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getTileImage__P2490, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_Location_tileSet__P2435(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2424_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMap_getTileIndex__P2481_mk(s); + s.tmp_1 = tiles_Location_tileMap__P2426_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 958; 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 = 959; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_tileSet__P2435.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__P2435.isGetter = true; + +function tiles_Location_tileSet__P2435_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_tileSet__P2435, 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__P2481(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + s.tmp_0 = tiles_TileMapData_getTile__P2454_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 = 989; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_getTileIndex__P2481.info = {"start":11142,"length":105,"line":383,"column":8,"endLine":385,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTileIndex","argumentNames":["this","col","row"]} + +function tiles_TileMap_getTileIndex__P2481_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getTileIndex__P2481, 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_Location_row__P2428(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2424_VT)) failedCast(r0); + r0 = s.arg0.fields["_row"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_row__P2428.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__P2428.isGetter = true; + +function tiles_Location_row__P2428_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_row__P2428, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_Location_column__P2427(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2424_VT)) failedCast(r0); + r0 = s.arg0.fields["_col"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_Location_column__P2427.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__P2427.isGetter = true; + +function tiles_Location_column__P2427_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_column__P2427, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function tiles_TileMap_getObstacle__P2488(s) { +let r0 = s.r0, 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___19108 = undefined; + s.tile___19120 = 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__C2466_VT)) failedCast(r0); + s.tmp_1 = tiles_TileMapData_isOutsideMap__P2460_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 = 1033; 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__P2454_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 = 1034; 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___19108 = (s.tmp_3); + s.tmp_0 = tiles_TileMapData_getTileImage__P2457_mk(s); + r0 = s.arg0.fields["_map"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = s.index___19108; + s.callLocIdx = 1035; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.tile___19120 = (r0); + r0 = pxsim_pxtcore_mkClassInstance(sprites_StaticObstacle__C2277_VT); + s.tmp_0 = r0; + s.tmp_1 = sprites_StaticObstacle_constructor__P2283_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.tmp_1.arg1 = s.tile___19120; + 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___19108; + s.callLocIdx = 1039; 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__P2488.info = {"start":16404,"length":410,"line":521,"column":8,"endLine":531,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getObstacle","argumentNames":["this","col","row"]} + +function tiles_TileMap_getObstacle__P2488_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getObstacle__P2488, depth: s.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___19108: undefined, + tile___19120: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function tiles_TileMap_layer__P2476(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + r0 = s.arg0.fields["_layer"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMap_layer__P2476.info = {"start":9931,"length":63,"line":341,"column":8,"endLine":343,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"layer","argumentNames":["this"]} +tiles_TileMap_layer__P2476.isGetter = true; + +function tiles_TileMap_layer__P2476_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_layer__P2476, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function sprites_StaticObstacle_constructor__P2283(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2277_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__P2283.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__P2283_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_constructor__P2283, 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__P2487(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_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__P2460_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 = 1031; 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__P2487.info = {"start":16183,"length":211,"line":514,"column":8,"endLine":519,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isObstacle","argumentNames":["this","col","row"]} + +function tiles_TileMap_isObstacle__P2487_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_isObstacle__P2487, depth: s.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__P2459(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2448_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__P2459.info = {"start":8182,"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__P2459_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMapData_isWall__P2459, 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__P2480(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + r0 = pxsim_pxtcore_mkClassInstance(tiles_Location__C2424_VT); + s.tmp_0 = r0; + s.tmp_1 = tiles_Location_constructor__P2425_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 = 987; 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__P2480.info = {"start":11021,"length":111,"line":379,"column":8,"endLine":381,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"getTile","argumentNames":["this","col","row"]} + +function tiles_TileMap_getTile__P2480_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_getTile__P2480, 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 Sprite_registerObstacle__P2213(s) { +let r0 = s.r0, 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___19023 = undefined; + s.wallCollisionHandlers___19030 = undefined; + s.wallHandlersToRun___19055 = undefined; + s.asTileLocation___19067 = 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__C2128_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__P2685_mk(s); + s.callLocIdx = 537; 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 = 538; 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___19023 = (r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 539; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + r0 = r0.fields["wallCollisionHandlers"]; + s.wallCollisionHandlers___19030 = (r0); + r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___19023); + if (!r0) { step = 1; continue; } + r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P19038); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtcore_mkAction(1, Sprite_registerObstacle_inline__P19044); + s.tmp_1 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg0); + s.tmp_2 = helpers_arrayForEach__P109_mk(s); + s.tmp_3 = helpers_arrayFilter__P110_mk(s); + s.tmp_3.arg0 = s.collisionHandlers___19023; + s.tmp_3.arg1 = s.tmp_0; + s.callLocIdx = 541; 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 = 543; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + case 1: + case 2: + r0 = pxsim_numops_toBoolDecr(s.wallCollisionHandlers___19030); + 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__P2685_mk(s); + s.callLocIdx = 544; 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__P19057); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + s.tmp_1 = helpers_arrayFilter__P110_mk(s); + s.tmp_1.arg0 = s.wallCollisionHandlers___19030; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 546; s.pc = 15; return s.tmp_1; + case 15: + r0 = s.retval; + s.wallHandlersToRun___19055 = (r0); + r0 = pxsim_Array__length(s.wallHandlersToRun___19055); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_1 = tiles_TileMap_getTile__P2480_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 = 547; 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 = 549; 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 = 551; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + s.asTileLocation___19067 = (r0); + r0 = pxsim_pxtcore_mkAction(2, Sprite_registerObstacle_inline__P19083); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.asTileLocation___19067); + s.tmp_1 = helpers_arrayForEach__P109_mk(s); + s.tmp_1.arg0 = s.wallHandlersToRun___19055; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 553; 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__P2213.info = {"start":28620,"length":965,"line":922,"column":4,"endLine":942,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"registerObstacle","argumentNames":["this","direction","other","tm"]} + +function Sprite_registerObstacle__P2213_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_registerObstacle__P2213, depth: s.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___19023: undefined, + wallCollisionHandlers___19030: undefined, + wallHandlersToRun___19055: undefined, + asTileLocation___19067: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function forEach_inline__P19038(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P19038.info = {"start":29018,"length":26,"line":929,"column":24,"endLine":929,"endColumn":50,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P19038_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P19038, 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__P19044(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 542; 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 = 542; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 542; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 542; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_registerObstacle_inline__P19044.info = {"start":29071,"length":20,"line":930,"column":25,"endLine":930,"endColumn":45,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function Sprite_registerObstacle_inline__P19044_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_registerObstacle_inline__P19044, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function wallHandlersToRun_inline__P19057(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P19057.info = {"start":29277,"length":32,"line":935,"column":24,"endLine":935,"endColumn":56,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function wallHandlersToRun_inline__P19057_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: wallHandlersToRun_inline__P19057, 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__P19083(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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 = 552; 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 = 552; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 552; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 552; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_registerObstacle_inline__P19083.info = {"start":29517,"length":36,"line":939,"column":29,"endLine":939,"endColumn":65,"fileName":"pxt_modules/game/sprite.ts","functionName":"inline","argumentNames":["h"]} + +function Sprite_registerObstacle_inline__P19083_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_registerObstacle_inline__P19083, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function Fx_iadd__P158(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P158.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__P158_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_iadd__P158, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Fx_toIntShifted__P156(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P156.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__P156_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_toIntShifted__P156, 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 Math_sign__P129(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P129.info = {"start":16330,"length":125,"line":546,"column":4,"endLine":550,"endColumn":5,"fileName":"pxt_modules/base/pxt-helpers.ts","functionName":"sign","argumentNames":["x"]} + +function Math_sign__P129_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_sign__P129, 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__P107(s) { +let r0 = s.r0, 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___19090 = undefined; + s.i___19093 = 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___19090 = (r0); + s.i___19093 = (0); + case 1: + r0 = (s.i___19093 < s.len___19090); + 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___19093); + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = s.i___19093; + setupLambda(s.tmp_2, s.tmp_2.argL); + s.callLocIdx = 5; 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___19093 + 1); + s.i___19093 = (r0); + { step = 1; continue; } + case 4: + r0 = false; + case 5: + return leave(s, r0) + default: oops() +} } } +helpers_arraySome__P107.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__P107_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arraySome__P107, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + len___19090: undefined, + i___19093: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_isOnWall__P2489(s) { +let r0 = s.r0, 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___18311 = undefined; + s.left___18314 = undefined; + s.right___18320 = undefined; + s.top___18326 = undefined; + s.bottom___18332 = undefined; + s.col___18338 = undefined; + s.row___18344 = 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__C2466_VT)) failedCast(r0); + r0 = s.arg1.fields["_hitbox"]; + s.hbox___18311 = (r0); + s.tmp_1 = game_Hitbox_left__P2006_mk(s); + s.tmp_1.arg0 = s.hbox___18311; + s.callLocIdx = 1040; 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___18314 = (r0); + s.tmp_1 = game_Hitbox_right__P2008_mk(s); + s.tmp_1.arg0 = s.hbox___18311; + s.callLocIdx = 1043; 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___18320 = (r0); + s.tmp_1 = game_Hitbox_top__P2007_mk(s); + s.tmp_1.arg0 = s.hbox___18311; + s.callLocIdx = 1046; 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___18326 = (r0); + s.tmp_1 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_1.arg0 = s.hbox___18311; + s.callLocIdx = 1049; 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___18332 = (r0); + s.col___18338 = (s.left___18314); + case 1: + r0 = (s.col___18338 <= s.right___18320); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 6; continue; } + s.row___18344 = (s.top___18326); + case 2: + r0 = (s.row___18344 <= s.bottom___18332); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = tiles_TileMap_isObstacle__P2487_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.col___18338; + s.tmp_2.arg2 = s.row___18344; + s.callLocIdx = 1052; 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___18344 + 1); + s.row___18344 = (r0); + { step = 2; continue; } + case 5: + r0 = (s.col___18338 + 1); + s.col___18338 = (r0); + { step = 1; continue; } + case 6: + r0 = false; + case 7: + return leave(s, r0) + default: oops() +} } } +tiles_TileMap_isOnWall__P2489.info = {"start":16824,"length":627,"line":533,"column":8,"endLine":550,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"isOnWall","argumentNames":["this","s"]} + +function tiles_TileMap_isOnWall__P2489_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_isOnWall__P2489, depth: s.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___18311: undefined, + left___18314: undefined, + right___18320: undefined, + top___18326: undefined, + bottom___18332: undefined, + col___18338: undefined, + row___18344: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function MovingSprite_constructor__P2305(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2304_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__P2305.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__P2305_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: MovingSprite_constructor__P2305, 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__P2318(s) { +let r0 = s.r0, 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___19172 = undefined; + s.dt2___19178 = undefined; + s.scene___19182 = undefined; + s.tileMap___19185 = undefined; + s.movingSprites___19188 = undefined; + s.MAX_STEP_COUNT___19219 = undefined; + s.overlapHandlers___19231 = undefined; + s.selected___19238 = undefined; + s.buffers___19239 = undefined; + s.count___19243 = undefined; + s.currMovers___19253 = undefined; + s.remainingMovers___19260 = undefined; + s.ms___19265 = undefined; + s.unnamed82___U13 = undefined; + s.unnamed83___U14 = undefined; + s.s___19267 = undefined; + s.stepX___19360 = undefined; + s.stepY___19374 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2306_VT)) failedCast(r0); + s.tmp_0 = Math_min__P131_mk(s); + s.tmp_0.arg0 = 100; + r0 = (s.arg1 * 1000); + s.tmp_0.arg1 = r0; + s.callLocIdx = 638; s.pc = 47; return s.tmp_0; + case 47: + r0 = s.retval; + s.dtMs___19172 = (r0); + r0 = pxsim.Math_.idiv(s.dtMs___19172, 2); + s.dt2___19178 = (r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 639; s.pc = 48; return s.tmp_0; + case 48: + r0 = s.retval; + s.scene___19182 = (r0); + r0 = s.scene___19182.fields["tileMap"]; + s.tileMap___19185 = (r0); + r0 = pxsim_pxtcore_mkAction(3, movingSprites_inline__P19190); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtMs___19172); + r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___19178); + s.tmp_1 = helpers_arrayMap__P106_mk(s); + r0 = s.arg0.fields["sprites"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 641; s.pc = 49; return s.tmp_1; + case 49: + r0 = s.retval; + s.movingSprites___19188 = (r0); + s.tmp_0 = helpers_arrayForEach__P109_mk(s); + r0 = s.arg0.fields["sprites"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = ArcadePhysicsEngine_move_inline__P19202; + s.callLocIdx = 645; s.pc = 50; return s.tmp_0; + case 50: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_clear__P2231_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 646; s.pc = 51; return s.tmp_0; + case 51: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_resizeBuckets__P2230_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + r0 = s.arg0.fields["sprites"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 647; s.pc = 52; return s.tmp_0; + case 52: + 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___19172); + 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___19219 = (r0); + s.tmp_0 = helpers_arraySlice__P115_mk(s); + r0 = s.scene___19182.fields["overlapHandlers"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = undefined; + s.tmp_0.arg2 = undefined; + s.callLocIdx = 652; s.pc = 53; return s.tmp_0; + case 53: + r0 = s.retval; + s.overlapHandlers___19231 = (r0); + s.selected___19238 = (0); + r0 = pxsim_Array__mk(); + s.tmp_0 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___19188); + r0 = pxsim_Array__mk(); + s.tmp_1 = r0; + r0 = pxsim_Array__push(s.tmp_0, s.tmp_1); + s.buffers___19239 = (s.tmp_0); + s.count___19243 = (0); + case 1: + r0 = (s.count___19243 < s.MAX_STEP_COUNT___19219); + 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___19239, s.selected___19238); + 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 = 46; continue; } + r0 = pxsim_Array__getAt(s.buffers___19239, s.selected___19238); + s.currMovers___19253 = (r0); + r0 = (s.selected___19238 ^ 1); + s.selected___19238 = (r0); + r0 = pxsim_Array__getAt(s.buffers___19239, s.selected___19238); + s.remainingMovers___19260 = (r0); + s.ms___19265 = (undefined); + s.unnamed82___U13 = (s.currMovers___19253); + s.unnamed83___U14 = (0); + case 4: + s.tmp_0 = r0 = s.unnamed83___U14; + r0 = pxsim_Array__length(s.unnamed82___U13); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 43; continue; } + r0 = pxsim_Array__getAt(s.unnamed82___U13, s.unnamed83___U14); + s.ms___19265 = (r0); + r0 = s.ms___19265.fields["sprite"]; + s.s___19267 = (r0); + r0 = s.ms___19265.fields["cachedVx"]; + s.tmp_1 = r0; + r0 = s.s___19267.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___19267.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___19265).fields["dx"] = (0); + { step = 14; continue; } + case 5: + r0 = s.s___19267.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___19265.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___19267.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___19265.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___19265; + r0 = s.ms___19265.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___19265; + r0 = s.ms___19265.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___19267.fields["_vx"]; + s.tmp_0 = r0; + r0 = (s.ms___19265).fields["cachedVx"] = (s.tmp_0); + case 15: + case 16: + r0 = s.ms___19265.fields["cachedVy"]; + s.tmp_1 = r0; + r0 = s.s___19267.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___19267.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___19265).fields["dy"] = (0); + { step = 26; continue; } + case 17: + r0 = s.s___19267.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___19265.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___19267.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___19265.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___19265; + r0 = s.ms___19265.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___19265; + r0 = s.ms___19265.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___19267.fields["_vy"]; + s.tmp_0 = r0; + r0 = (s.ms___19265).fields["cachedVy"] = (s.tmp_0); + case 27: + case 28: + s.tmp_2 = Fx_abs__P165_mk(s); + r0 = s.ms___19265.fields["xStep"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 657; s.pc = 54; return s.tmp_2; + case 54: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = Fx_abs__P165_mk(s); + r0 = s.ms___19265.fields["dx"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 658; s.pc = 55; return s.tmp_4; + case 55: + 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___19265.fields["dx"]; + { step = 30; continue; } + case 29: + r0 = s.ms___19265.fields["xStep"]; + case 30: + // jmp value (already in r0) + s.tmp_5 = r0; + s.stepX___19360 = (s.tmp_5); + s.tmp_2 = Fx_abs__P165_mk(s); + r0 = s.ms___19265.fields["yStep"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 659; s.pc = 56; return s.tmp_2; + case 56: + r0 = s.retval; + s.tmp_1 = r0; + s.tmp_4 = Fx_abs__P165_mk(s); + r0 = s.ms___19265.fields["dy"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 660; s.pc = 57; return s.tmp_4; + case 57: + 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___19265.fields["dy"]; + { step = 32; continue; } + case 31: + r0 = s.ms___19265.fields["yStep"]; + case 32: + // jmp value (already in r0) + s.tmp_5 = r0; + s.stepY___19374 = (s.tmp_5); + s.tmp_0 = r0 = s.ms___19265; + r0 = s.ms___19265.fields["dx"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.stepX___19360); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dx"] = (s.tmp_1); + s.tmp_0 = r0 = s.ms___19265; + r0 = s.ms___19265.fields["dy"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.stepY___19374); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["dy"] = (s.tmp_1); + r0 = s.s___19267.fields["_x"]; + s.tmp_0 = r0; + r0 = (s.s___19267).fields["_lastX"] = (s.tmp_0); + r0 = s.s___19267.fields["_y"]; + s.tmp_0 = r0; + r0 = (s.s___19267).fields["_lastY"] = (s.tmp_0); + s.tmp_0 = r0 = s.s___19267; + r0 = s.s___19267.fields["_x"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.stepX___19360); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_x"] = (s.tmp_1); + s.tmp_0 = r0 = s.s___19267; + r0 = s.s___19267.fields["_y"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 + s.stepY___19374); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["_y"] = (s.tmp_1); + r0 = s.s___19267.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__P2232_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = s.s___19267; + s.callLocIdx = 665; s.pc = 58; return s.tmp_4; + case 58: + r0 = s.retval; + case 33: + case 34: + s.tmp_0 = r0 = s.tileMap___19185; + r0 = pxsim_numops_toBool(s.tmp_0); + if (r0) { step = 35; continue; } + r0 = s.tmp_0; + { step = 36; continue; } + case 35: + r0 = s.tileMap___19185.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__P4249_mk(s); + s.tmp_6.arg0 = s.arg0; + s.tmp_6.arg1 = s.ms___19265; + s.tmp_6.arg2 = s.tileMap___19185; + s.callLocIdx = 667; s.pc = 59; return s.tmp_6; + case 59: + r0 = s.retval; + case 37: + case 38: + s.tmp_2 = Fx_abs__P165_mk(s); + r0 = s.ms___19265.fields["dx"]; + s.tmp_2.arg0 = r0; + s.callLocIdx = 668; s.pc = 60; return s.tmp_2; + case 60: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 > globals.MIN_MOVE_GAP___2300); + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 39; continue; } + r0 = s.tmp_0; + { step = 40; continue; } + case 39: + s.tmp_4 = Fx_abs__P165_mk(s); + r0 = s.ms___19265.fields["dy"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 669; s.pc = 61; return s.tmp_4; + case 61: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 > globals.MIN_MOVE_GAP___2300); + case 40: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 41; continue; } + r0 = pxsim_Array__push(s.remainingMovers___19260, s.ms___19265); + case 41: + case 42: + r0 = (s.unnamed83___U14 + 1); + s.unnamed83___U14 = (r0); + { step = 4; continue; } + case 43: + s.unnamed82___U13 = (undefined); + s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P4248_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.currMovers___19253; + s.tmp_0.arg2 = s.overlapHandlers___19231; + s.callLocIdx = 670; s.pc = 62; return s.tmp_0; + case 62: + r0 = s.retval; + case 44: + r0 = pxsim_Array__length(s.currMovers___19253); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 45; continue; } + r0 = pxsim_Array_.pop(s.currMovers___19253); + { step = 44; continue; } + case 45: + r0 = (s.count___19243 + 1); + s.count___19243 = (r0); + { step = 1; continue; } + case 46: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_move__P2318.info = {"start":2822,"length":3809,"line":112,"column":4,"endLine":208,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"move","argumentNames":["this","dt"]} + +function ArcadePhysicsEngine_move__P2318_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_move__P2318, depth: s.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___19172: undefined, + dt2___19178: undefined, + scene___19182: undefined, + tileMap___19185: undefined, + movingSprites___19188: undefined, + MAX_STEP_COUNT___19219: undefined, + overlapHandlers___19231: undefined, + selected___19238: undefined, + buffers___19239: undefined, + count___19243: undefined, + currMovers___19253: undefined, + remainingMovers___19260: undefined, + ms___19265: undefined, + unnamed82___U13: undefined, + unnamed83___U14: undefined, + s___19267: undefined, + stepX___19360: undefined, + stepY___19374: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function movingSprites_inline__P19190(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P4247_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 = 640; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +movingSprites_inline__P19190.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__P19190_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: movingSprites_inline__P19190, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_move_inline__P19202(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2145_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 642; 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__P2147_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 643; 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__P2212_mk(s); + s.tmp_4.arg0 = s.arg0; + s.callLocIdx = 644; 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__P19202.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__P19202_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_move_inline__P19202, depth: s.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_spriteCollisions__P4248(s) { +let r0 = s.r0, 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___19475 = undefined; + s.unnamed84___U1 = undefined; + s.unnamed85___U2 = undefined; + s.sprite___19477 = undefined; + s.overSprites___19484 = undefined; + s.overlapper___19492 = undefined; + s.unnamed86___U6 = undefined; + s.unnamed87___U7 = undefined; + s.thisKind___19498 = undefined; + s.otherKind___19502 = undefined; + s.higher___19515 = undefined; + s.lower___19524 = 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__C2306_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___19475 = (undefined); + s.unnamed84___U1 = (s.arg1); + s.unnamed85___U2 = (0); + case 3: + s.tmp_0 = r0 = s.unnamed85___U2; + r0 = pxsim_Array__length(s.unnamed84___U1); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 20; continue; } + r0 = pxsim_Array__getAt(s.unnamed84___U1, s.unnamed85___U2); + s.ms___19475 = (r0); + r0 = s.ms___19475.fields["sprite"]; + s.sprite___19477 = (r0); + r0 = s.sprite___19477.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__P2228_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_2.arg0 = r0; + r0 = s.ms___19475.fields["sprite"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 708; s.pc = 22; return s.tmp_2; + case 22: + r0 = s.retval; + s.overSprites___19484 = (r0); + s.overlapper___19492 = (undefined); + s.unnamed86___U6 = (s.overSprites___19484); + s.unnamed87___U7 = (0); + case 6: + s.tmp_0 = r0 = s.unnamed87___U7; + r0 = pxsim_Array__length(s.unnamed86___U6); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 18; continue; } + r0 = pxsim_Array__getAt(s.unnamed86___U6, s.unnamed87___U7); + s.overlapper___19492 = (r0); + r0 = s.overlapper___19492.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___19477.fields["_kind"]; + s.thisKind___19498 = (r0); + r0 = s.overlapper___19492.fields["_kind"]; + s.otherKind___19502 = (r0); + r0 = s.sprite___19477.fields["_kindsOverlappedWith"]; + s.tmp_2 = r0; + r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___19502, 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___19477.fields["id"]; + s.tmp_4 = r0; + r0 = s.overlapper___19492.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___19477; + { step = 12; continue; } + case 11: + r0 = s.overlapper___19492; + case 12: + // jmp value (already in r0) + s.tmp_6 = r0; + s.higher___19515 = (s.tmp_6); + r0 = (s.higher___19515 === s.sprite___19477); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 13; continue; } + r0 = s.overlapper___19492; + { step = 14; continue; } + case 13: + r0 = s.sprite___19477; + case 14: + // jmp value (already in r0) + s.tmp_1 = r0; + s.lower___19524 = (s.tmp_1); + r0 = s.higher___19515.fields["_overlappers"]; + s.tmp_2 = r0; + r0 = s.lower___19524.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__P19544); + s.tmp_4 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___19498); + r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___19502); + r0 = pxsim_pxtcore_mkAction(5, ArcadePhysicsEngine_spriteCollisions_inline__P19568); + s.tmp_5 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___19515); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___19524); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.sprite___19477); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.overlapper___19492); + r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.thisKind___19498); + s.tmp_6 = helpers_arrayForEach__P109_mk(s); + s.tmp_7 = helpers_arrayFilter__P110_mk(s); + s.tmp_7.arg0 = s.arg2; + s.tmp_7.arg1 = s.tmp_4; + s.callLocIdx = 711; 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 = 713; s.pc = 23; return s.tmp_6; + case 23: + r0 = s.retval; + case 15: + case 16: + case 17: + r0 = (s.unnamed87___U7 + 1); + s.unnamed87___U7 = (r0); + { step = 6; continue; } + case 18: + s.unnamed86___U6 = (undefined); + case 19: + r0 = (s.unnamed85___U2 + 1); + s.unnamed85___U2 = (r0); + { step = 3; continue; } + case 20: + s.unnamed84___U1 = (undefined); + case 21: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_spriteCollisions__P4248.info = {"start":9448,"length":2268,"line":302,"column":4,"endLine":346,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"spriteCollisions","argumentNames":["this","movedSprites","handlers"]} + +function ArcadePhysicsEngine_spriteCollisions__P4248_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P4248, depth: s.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___19475: undefined, + unnamed84___U1: undefined, + unnamed85___U2: undefined, + sprite___19477: undefined, + overSprites___19484: undefined, + overlapper___19492: undefined, + unnamed86___U6: undefined, + unnamed87___U7: undefined, + thisKind___19498: undefined, + otherKind___19502: undefined, + higher___19515: undefined, + lower___19524: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function forEach_inline__P19544(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P19544.info = {"start":10817,"length":137,"line":328,"column":32,"endLine":329,"endColumn":81,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function forEach_inline__P19544_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: forEach_inline__P19544, depth: s.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__P19568(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P19578); + 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__P19568.info = {"start":11014,"length":652,"line":331,"column":33,"endLine":342,"endColumn":25,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":["h"]} + +function ArcadePhysicsEngine_spriteCollisions_inline__P19568_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P19568, 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__P19578(s) { +let r0 = s.r0, 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 = 712; 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 = 712; s.pc = 7; return s.tmp_12; } + else if (s.tmp_12.fn.isGetter) { s.tmp_12.stage2Call = true; s.callLocIdx = 712; s.pc = 7; return s.tmp_12;; } + else { s.callLocIdx = 712; 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__P19578.info = {"start":11135,"length":503,"line":333,"column":50,"endLine":341,"endColumn":29,"fileName":"pxt_modules/game/physics.ts","functionName":"inline","argumentNames":[]} + +function ArcadePhysicsEngine_spriteCollisions_inline__P19578_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P19578, depth: s.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__P2228(s) { +let r0 = s.r0, 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___19612 = undefined; + s.o___19616 = 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__C2225_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_neighbors__P2227_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 582; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.n___19612 = (r0); + r0 = pxsim_pxtcore_mkAction(1, o_inline__P19618); + s.tmp_0 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1); + s.tmp_1 = helpers_arrayFilter__P110_mk(s); + s.tmp_1.arg0 = s.n___19612; + s.tmp_1.arg1 = s.tmp_0; + s.callLocIdx = 584; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.o___19616 = (r0); + r0 = s.o___19616; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_overlaps__P2228.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__P2228_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_overlaps__P2228, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + n___19612: undefined, + o___19616: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function o_inline__P19618(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P2207_mk(s); + s.tmp_0.arg0 = s.caps[0]; + s.tmp_0.arg1 = s.arg0; + s.callLocIdx = 583; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +o_inline__P19618.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__P19618_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: o_inline__P19618, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_neighbors__P2227(s) { +let r0 = s.r0, 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___19866 = undefined; + s.layer___19868 = 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__C2225_VT)) failedCast(r0); + r0 = pxsim_Array__mk(); + s.n___19866 = (r0); + r0 = s.arg1.fields["layer"]; + s.layer___19868 = (r0); + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4212_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_left__P2186_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 570; s.pc = 2; return s.tmp_1; + case 2: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_top__P2190_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 571; s.pc = 3; return s.tmp_2; + case 3: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___19868; + s.tmp_0.arg4 = s.n___19866; + s.callLocIdx = 572; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4212_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_left__P2186_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 573; s.pc = 5; return s.tmp_1; + case 5: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_bottom__P2192_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 574; s.pc = 6; return s.tmp_2; + case 6: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___19868; + s.tmp_0.arg4 = s.n___19866; + s.callLocIdx = 575; s.pc = 4; return s.tmp_0; + case 4: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4212_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_right__P2188_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 576; s.pc = 8; return s.tmp_1; + case 8: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_top__P2190_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 577; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___19868; + s.tmp_0.arg4 = s.n___19866; + s.callLocIdx = 578; s.pc = 7; return s.tmp_0; + case 7: + r0 = s.retval; + s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4212_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = Sprite_right__P2188_mk(s); + s.tmp_1.arg0 = s.arg1; + s.callLocIdx = 579; s.pc = 11; return s.tmp_1; + case 11: + r0 = s.retval; + s.tmp_0.arg1 = r0; + s.tmp_2 = Sprite_bottom__P2192_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 580; s.pc = 12; return s.tmp_2; + case 12: + r0 = s.retval; + s.tmp_0.arg2 = r0; + s.tmp_0.arg3 = s.layer___19868; + s.tmp_0.arg4 = s.n___19866; + s.callLocIdx = 581; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + r0 = pxsim_Array_.removeElement(s.n___19866, s.arg1); + r0 = s.n___19866; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_neighbors__P2227.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__P2227_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_neighbors__P2227, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + n___19866: undefined, + layer___19868: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteMap_mergeAtKey__P4212(s) { +let r0 = s.r0, 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___19917 = undefined; + s.bucket___19922 = undefined; + s.sprite___19929 = undefined; + s.unnamed80___U3 = undefined; + s.unnamed81___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__C2225_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_key__P4210_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 608; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.k___19917 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___19917); + s.bucket___19922 = (r0); + r0 = pxsim_numops_toBoolDecr(s.bucket___19922); + if (!r0) { step = 7; continue; } + s.sprite___19929 = (undefined); + s.unnamed80___U3 = (s.bucket___19922); + s.unnamed81___U4 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed81___U4; + r0 = pxsim_Array__length(s.unnamed80___U3); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed80___U3, s.unnamed81___U4); + s.sprite___19929 = (r0); + r0 = s.sprite___19929.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___19929, 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___19929); + case 4: + case 5: + r0 = (s.unnamed81___U4 + 1); + s.unnamed81___U4 = (r0); + { step = 1; continue; } + case 6: + s.unnamed80___U3 = (undefined); + case 7: + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_mergeAtKey__P4212.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__P4212_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_mergeAtKey__P4212, depth: s.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___19917: undefined, + bucket___19922: undefined, + sprite___19929: undefined, + unnamed80___U3: undefined, + unnamed81___U4: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, + arg4: undefined, +} } + + + + + +function sprites_SpriteMap_key__P4210(s) { +let r0 = s.r0, 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___19950 = undefined; + s.yi___19962 = 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__C2225_VT)) failedCast(r0); + s.tmp_0 = Math_clamp__P127_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 = 596; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.xi___19950 = (r0); + s.tmp_0 = Math_clamp__P127_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 = 597; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + s.yi___19962 = (r0); + s.tmp_0 = r0 = s.xi___19950; + r0 = s.arg0.fields["columnCount"]; + s.tmp_2 = r0; + r0 = (s.yi___19962 * s.tmp_2); + s.tmp_1 = r0; + r0 = (s.tmp_0 + s.tmp_1); + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_key__P4210.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__P4210_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_key__P4210, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + xi___19950: undefined, + yi___19962: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_bottom__P2192(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_1 = Sprite_top__P2190_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 430; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Sprite_height__P2185_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 431; 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__P2192.info = {"start":13153,"length":59,"line":468,"column":4,"endLine":470,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this"]} +Sprite_bottom__P2192.isGetter = true; + +function Sprite_bottom__P2192_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_bottom__P2192, depth: s.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__P2188(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_1 = Sprite_left__P2186_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 422; s.pc = 1; return s.tmp_1; + case 1: + r0 = s.retval; + s.tmp_0 = r0; + s.tmp_3 = Sprite_width__P2184_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 423; 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__P2188.info = {"start":12319,"length":57,"line":438,"column":4,"endLine":440,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this"]} +Sprite_right__P2188.isGetter = true; + +function Sprite_right__P2188_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_right__P2188, depth: s.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_overlapsWith__P2207(s) { +let r0 = s.r0, 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___19682 = undefined; + s.B___19683 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_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 = 23; 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 = 23; 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 = 23; continue; } + case 5: + case 6: + s.tmp_8 = game_Hitbox_overlapsWith__P2012_mk(s); + r0 = s.arg1.fields["_hitbox"]; + s.tmp_8.arg0 = r0; + r0 = s.arg0.fields["_hitbox"]; + s.tmp_8.arg1 = r0; + s.callLocIdx = 507; s.pc = 24; return s.tmp_8; + case 24: + r0 = s.retval; + 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); + if (!r0) { step = 7; continue; } + r0 = false; + { step = 23; continue; } + case 7: + case 8: + s.tmp_12 = Sprite_isScaled__P4209_mk(s); + s.tmp_12.arg0 = s.arg0; + s.callLocIdx = 508; s.pc = 25; return s.tmp_12; + case 25: + r0 = s.retval; + s.tmp_11 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_11); + 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 = 9; continue; } + r0 = s.tmp_9; + { step = 10; continue; } + case 9: + s.tmp_15 = Sprite_isScaled__P4209_mk(s); + s.tmp_15.arg0 = s.arg1; + s.callLocIdx = 509; s.pc = 26; return s.tmp_15; + case 26: + r0 = s.retval; + s.tmp_14 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_14); + s.tmp_13 = r0; + r0 = pxsim_Boolean__bang(s.tmp_13); + case 10: + // jmp value (already in r0) + s.tmp_16 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_16); + if (!r0) { step = 11; continue; } + r0 = s.arg1.fields["_image"]; + s.tmp_17 = r0; + r0 = s.arg0.fields["_image"]; + s.tmp_18 = r0; + s.tmp_21 = Sprite_left__P2186_mk(s); + s.tmp_21.arg0 = s.arg0; + s.callLocIdx = 510; s.pc = 27; return s.tmp_21; + case 27: + r0 = s.retval; + s.tmp_20 = r0; + s.tmp_23 = Sprite_left__P2186_mk(s); + s.tmp_23.arg0 = s.arg1; + s.callLocIdx = 511; s.pc = 28; return s.tmp_23; + case 28: + r0 = s.retval; + s.tmp_22 = r0; + r0 = (s.tmp_20 - s.tmp_22); + s.tmp_19 = r0; + s.tmp_26 = Sprite_top__P2190_mk(s); + s.tmp_26.arg0 = s.arg0; + s.callLocIdx = 512; s.pc = 29; return s.tmp_26; + case 29: + r0 = s.retval; + s.tmp_25 = r0; + s.tmp_28 = Sprite_top__P2190_mk(s); + s.tmp_28.arg0 = s.arg1; + s.callLocIdx = 513; s.pc = 30; return s.tmp_28; + case 30: + r0 = s.retval; + s.tmp_27 = r0; + r0 = (s.tmp_25 - s.tmp_27); + s.tmp_24 = r0; + r0 = pxsim_ImageMethods.overlapsWith(s.tmp_17, s.tmp_18, s.tmp_19, s.tmp_24); + { step = 23; continue; } + { step = 22; continue; } + case 11: + s.tmp_31 = Sprite_sx__P2157_mk(s); + s.tmp_31.arg0 = s.arg0; + s.callLocIdx = 514; s.pc = 31; return s.tmp_31; + case 31: + r0 = s.retval; + s.tmp_30 = r0; + r0 = (s.tmp_30 == 0); + s.tmp_29 = r0; + r0 = pxsim_numops_toBool(s.tmp_29); + if (!r0) { step = 12; continue; } + r0 = s.tmp_29; + { step = 13; continue; } + case 12: + s.tmp_33 = Sprite_sy__P2159_mk(s); + s.tmp_33.arg0 = s.arg0; + s.callLocIdx = 515; s.pc = 32; return s.tmp_33; + case 32: + r0 = s.retval; + s.tmp_32 = r0; + r0 = (s.tmp_32 == 0); + case 13: + // jmp value (already in r0) + s.tmp_34 = r0; + r0 = pxsim_numops_toBool(s.tmp_34); + if (!r0) { step = 14; continue; } + r0 = s.tmp_34; + { step = 15; continue; } + case 14: + s.tmp_36 = Sprite_sx__P2157_mk(s); + s.tmp_36.arg0 = s.arg1; + s.callLocIdx = 516; s.pc = 33; return s.tmp_36; + case 33: + r0 = s.retval; + s.tmp_35 = r0; + r0 = (s.tmp_35 == 0); + case 15: + // jmp value (already in r0) + s.tmp_37 = r0; + r0 = pxsim_numops_toBool(s.tmp_37); + if (!r0) { step = 16; continue; } + r0 = s.tmp_37; + { step = 17; continue; } + case 16: + s.tmp_39 = Sprite_sy__P2159_mk(s); + s.tmp_39.arg0 = s.arg1; + s.callLocIdx = 517; s.pc = 34; return s.tmp_39; + case 34: + r0 = s.retval; + s.tmp_38 = r0; + r0 = (s.tmp_38 == 0); + case 17: + // jmp value (already in r0) + s.tmp_40 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_40); + if (!r0) { step = 18; continue; } + r0 = false; + { step = 23; continue; } + case 18: + case 19: + s.tmp_44 = Sprite_sx__P2157_mk(s); + s.tmp_44.arg0 = s.arg0; + s.callLocIdx = 518; s.pc = 35; return s.tmp_44; + case 35: + r0 = s.retval; + s.tmp_43 = r0; + s.tmp_46 = Sprite_sy__P2159_mk(s); + s.tmp_46.arg0 = s.arg0; + s.callLocIdx = 519; s.pc = 36; return s.tmp_46; + case 36: + r0 = s.retval; + s.tmp_45 = r0; + r0 = (s.tmp_43 * s.tmp_45); + s.tmp_42 = r0; + s.tmp_49 = Sprite_sx__P2157_mk(s); + s.tmp_49.arg0 = s.arg1; + s.callLocIdx = 520; s.pc = 37; return s.tmp_49; + case 37: + r0 = s.retval; + s.tmp_48 = r0; + s.tmp_51 = Sprite_sy__P2159_mk(s); + s.tmp_51.arg0 = s.arg1; + s.callLocIdx = 521; s.pc = 38; return s.tmp_51; + case 38: + r0 = s.retval; + s.tmp_50 = r0; + r0 = (s.tmp_48 * s.tmp_50); + s.tmp_47 = r0; + r0 = (s.tmp_42 < s.tmp_47); + s.tmp_41 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_41); + if (!r0) { step = 20; continue; } + s.A___19682 = (s.arg0); + s.B___19683 = (s.arg1); + { step = 21; continue; } + case 20: + s.A___19682 = (s.arg1); + s.B___19683 = (s.arg0); + case 21: + s.tmp_0 = helpers_imageBlit__P1752_mk(s); + r0 = s.A___19682.fields["_image"]; + s.tmp_0.arg0 = r0; + s.tmp_3 = Sprite_left__P2186_mk(s); + s.tmp_3.arg0 = s.B___19683; + s.callLocIdx = 523; s.pc = 40; return s.tmp_3; + case 40: + r0 = s.retval; + s.tmp_2 = r0; + s.tmp_5 = Sprite_left__P2186_mk(s); + s.tmp_5.arg0 = s.A___19682; + s.callLocIdx = 524; s.pc = 41; return s.tmp_5; + case 41: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_2 - s.tmp_4); + s.tmp_1 = r0; + s.tmp_7 = Sprite_sx__P2157_mk(s); + s.tmp_7.arg0 = s.A___19682; + s.callLocIdx = 525; s.pc = 42; return s.tmp_7; + case 42: + r0 = s.retval; + s.tmp_6 = r0; + r0 = (s.tmp_1 / s.tmp_6); + s.tmp_0.arg1 = r0; + s.tmp_10 = Sprite_top__P2190_mk(s); + s.tmp_10.arg0 = s.B___19683; + s.callLocIdx = 526; s.pc = 43; return s.tmp_10; + case 43: + r0 = s.retval; + s.tmp_9 = r0; + s.tmp_12 = Sprite_top__P2190_mk(s); + s.tmp_12.arg0 = s.A___19682; + s.callLocIdx = 527; s.pc = 44; return s.tmp_12; + case 44: + r0 = s.retval; + s.tmp_11 = r0; + r0 = (s.tmp_9 - s.tmp_11); + s.tmp_8 = r0; + s.tmp_14 = Sprite_sy__P2159_mk(s); + s.tmp_14.arg0 = s.A___19682; + s.callLocIdx = 528; s.pc = 45; return s.tmp_14; + case 45: + r0 = s.retval; + s.tmp_13 = r0; + r0 = (s.tmp_8 / s.tmp_13); + s.tmp_0.arg2 = r0; + s.tmp_16 = Sprite_width__P2184_mk(s); + s.tmp_16.arg0 = s.B___19683; + s.callLocIdx = 529; s.pc = 46; return s.tmp_16; + case 46: + r0 = s.retval; + s.tmp_15 = r0; + s.tmp_18 = Sprite_sx__P2157_mk(s); + s.tmp_18.arg0 = s.A___19682; + s.callLocIdx = 530; s.pc = 47; return s.tmp_18; + case 47: + r0 = s.retval; + s.tmp_17 = r0; + r0 = (s.tmp_15 / s.tmp_17); + s.tmp_0.arg3 = r0; + s.tmp_20 = Sprite_height__P2185_mk(s); + s.tmp_20.arg0 = s.B___19683; + s.callLocIdx = 531; s.pc = 48; return s.tmp_20; + case 48: + r0 = s.retval; + s.tmp_19 = r0; + s.tmp_22 = Sprite_sy__P2159_mk(s); + s.tmp_22.arg0 = s.A___19682; + s.callLocIdx = 532; s.pc = 49; return s.tmp_22; + case 49: + r0 = s.retval; + s.tmp_21 = r0; + r0 = (s.tmp_19 / s.tmp_21); + s.tmp_0.arg4 = r0; + r0 = s.B___19683.fields["_image"]; + s.tmp_0.arg5 = r0; + s.tmp_0.arg6 = 0; + s.tmp_0.arg7 = 0; + r0 = s.B___19683.fields["_image"]; + s.tmp_23 = r0; + r0 = pxsim_ImageMethods.width(s.tmp_23); + s.tmp_0.arg8 = r0; + r0 = s.B___19683.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 = 536; s.pc = 39; return s.tmp_0; + case 39: + r0 = s.retval; + { step = 23; continue; } + case 22: + r0 = undefined; + case 23: + return leave(s, r0) + default: oops() +} } } +Sprite_overlapsWith__P2207.info = {"start":24447,"length":1575,"line":797,"column":4,"endLine":844,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"overlapsWith","argumentNames":["this","other"]} + +function Sprite_overlapsWith__P2207_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_overlapsWith__P2207, depth: s.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, + A___19682: undefined, + B___19683: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_isScaled__P4209(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P4209.info = {"start":11267,"length":100,"line":402,"column":4,"endLine":404,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isScaled","argumentNames":["this"]} + +function Sprite_isScaled__P4209_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_isScaled__P4209, depth: s.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__P2012(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + s.tmp_1 = game_Hitbox_contains__P2011_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = game_Hitbox_left__P2006_mk(s); + s.tmp_2.arg0 = s.arg1; + s.callLocIdx = 284; s.pc = 19; return s.tmp_2; + case 19: + r0 = s.retval; + s.tmp_1.arg1 = r0; + s.tmp_3 = game_Hitbox_top__P2007_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 285; s.pc = 20; return s.tmp_3; + case 20: + r0 = s.retval; + s.tmp_1.arg2 = r0; + s.callLocIdx = 286; s.pc = 18; return s.tmp_1; + case 18: + 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__P2011_mk(s); + s.tmp_5.arg0 = s.arg0; + s.tmp_6 = game_Hitbox_left__P2006_mk(s); + s.tmp_6.arg0 = s.arg1; + s.callLocIdx = 287; s.pc = 22; return s.tmp_6; + case 22: + r0 = s.retval; + s.tmp_5.arg1 = r0; + s.tmp_7 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_7.arg0 = s.arg1; + s.callLocIdx = 288; s.pc = 23; return s.tmp_7; + case 23: + r0 = s.retval; + s.tmp_5.arg2 = r0; + s.callLocIdx = 289; s.pc = 21; return s.tmp_5; + case 21: + 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__P2011_mk(s); + s.tmp_9.arg0 = s.arg0; + s.tmp_10 = game_Hitbox_right__P2008_mk(s); + s.tmp_10.arg0 = s.arg1; + s.callLocIdx = 290; s.pc = 25; return s.tmp_10; + case 25: + r0 = s.retval; + s.tmp_9.arg1 = r0; + s.tmp_11 = game_Hitbox_top__P2007_mk(s); + s.tmp_11.arg0 = s.arg1; + s.callLocIdx = 291; s.pc = 26; return s.tmp_11; + case 26: + r0 = s.retval; + s.tmp_9.arg2 = r0; + s.callLocIdx = 292; s.pc = 24; return s.tmp_9; + case 24: + 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__P2011_mk(s); + s.tmp_13.arg0 = s.arg0; + s.tmp_14 = game_Hitbox_right__P2008_mk(s); + s.tmp_14.arg0 = s.arg1; + s.callLocIdx = 293; s.pc = 28; return s.tmp_14; + case 28: + r0 = s.retval; + s.tmp_13.arg1 = r0; + s.tmp_15 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_15.arg0 = s.arg1; + s.callLocIdx = 294; s.pc = 29; return s.tmp_15; + case 29: + r0 = s.retval; + s.tmp_13.arg2 = r0; + s.callLocIdx = 295; s.pc = 27; return s.tmp_13; + case 27: + 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__P2011_mk(s); + s.tmp_17.arg0 = s.arg1; + s.tmp_18 = game_Hitbox_left__P2006_mk(s); + s.tmp_18.arg0 = s.arg0; + s.callLocIdx = 296; s.pc = 31; return s.tmp_18; + case 31: + r0 = s.retval; + s.tmp_17.arg1 = r0; + s.tmp_19 = game_Hitbox_top__P2007_mk(s); + s.tmp_19.arg0 = s.arg0; + s.callLocIdx = 297; s.pc = 32; return s.tmp_19; + case 32: + r0 = s.retval; + s.tmp_17.arg2 = r0; + s.callLocIdx = 298; s.pc = 30; return s.tmp_17; + case 30: + 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__P2011_mk(s); + s.tmp_21.arg0 = s.arg1; + s.tmp_22 = game_Hitbox_left__P2006_mk(s); + s.tmp_22.arg0 = s.arg0; + s.callLocIdx = 299; s.pc = 34; return s.tmp_22; + case 34: + r0 = s.retval; + s.tmp_21.arg1 = r0; + s.tmp_23 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_23.arg0 = s.arg0; + s.callLocIdx = 300; s.pc = 35; return s.tmp_23; + case 35: + r0 = s.retval; + s.tmp_21.arg2 = r0; + s.callLocIdx = 301; s.pc = 33; return s.tmp_21; + case 33: + 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__P2011_mk(s); + s.tmp_25.arg0 = s.arg1; + s.tmp_26 = game_Hitbox_right__P2008_mk(s); + s.tmp_26.arg0 = s.arg0; + s.callLocIdx = 302; s.pc = 37; return s.tmp_26; + case 37: + r0 = s.retval; + s.tmp_25.arg1 = r0; + s.tmp_27 = game_Hitbox_top__P2007_mk(s); + s.tmp_27.arg0 = s.arg0; + s.callLocIdx = 303; s.pc = 38; return s.tmp_27; + case 38: + r0 = s.retval; + s.tmp_25.arg2 = r0; + s.callLocIdx = 304; s.pc = 36; return s.tmp_25; + case 36: + 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__P2011_mk(s); + s.tmp_29.arg0 = s.arg1; + s.tmp_30 = game_Hitbox_right__P2008_mk(s); + s.tmp_30.arg0 = s.arg0; + s.callLocIdx = 305; s.pc = 40; return s.tmp_30; + case 40: + r0 = s.retval; + s.tmp_29.arg1 = r0; + s.tmp_31 = game_Hitbox_bottom__P2009_mk(s); + s.tmp_31.arg0 = s.arg0; + s.callLocIdx = 306; s.pc = 41; return s.tmp_31; + case 41: + r0 = s.retval; + s.tmp_29.arg2 = r0; + s.callLocIdx = 307; s.pc = 39; return s.tmp_29; + case 39: + 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__P2012.info = {"start":1205,"length":622,"line":48,"column":8,"endLine":58,"endColumn":9,"fileName":"pxt_modules/game/hitbox.ts","functionName":"overlapsWith","argumentNames":["this","other"]} + +function game_Hitbox_overlapsWith__P2012_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_overlapsWith__P2012, depth: s.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__P2011(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1998_VT)) failedCast(r0); + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = game_Hitbox_left__P2006_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 280; 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__P2008_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 281; 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__P2007_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 282; 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__P2009_mk(s); + s.tmp_14.arg0 = s.arg0; + s.callLocIdx = 283; 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__P2011.info = {"start":1051,"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__P2011_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Hitbox_contains__P2011, depth: s.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__P1752(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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___4103; + 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___4103 = (s.tmp_1); + s.tmp_0 = r0 = globals._blitArgs___4103; + 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___4103; + 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___4103; + 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___4103; + 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___4103; + 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___4103; + 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___4103; + 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___4103; + 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___4103, 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___4103, 9, s.tmp_0); + r0 = pxsim_ImageMethods._blit(s.arg0, s.arg5, globals._blitArgs___4103); + return leave(s, r0) + default: oops() +} } } +helpers_imageBlit__P1752.info = {"start":3839,"length":642,"line":136,"column":4,"endLine":149,"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__P1752_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_imageBlit__P1752, 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__P4247(s) { +let r0 = s.r0, 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___20162 = undefined; + s.ovy___20167 = undefined; + s.fx___20194 = undefined; + s.c___20201 = undefined; + s.fy___20244 = undefined; + s.c___20251 = undefined; + s.dx___20290 = undefined; + s.dy___20303 = undefined; + s.xStep___20316 = undefined; + s.yStep___20318 = 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__C2306_VT)) failedCast(r0); + s.tmp_0 = ArcadePhysicsEngine_constrain__P4252_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = s.arg1.fields["_vx"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 671; s.pc = 25; return s.tmp_0; + case 25: + r0 = s.retval; + s.ovx___20162 = (r0); + s.tmp_0 = ArcadePhysicsEngine_constrain__P4252_mk(s); + s.tmp_0.arg0 = s.arg0; + r0 = s.arg1.fields["_vy"]; + s.tmp_0.arg1 = r0; + s.callLocIdx = 672; s.pc = 26; return s.tmp_0; + case 26: + r0 = s.retval; + s.ovy___20167 = (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___20194 = (r0); + r0 = s.arg1.fields["_vx"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.fx___20194); + s.c___20201 = (r0); + r0 = (s.c___20201 < 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__P166_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vx"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.fx___20194); + s.tmp_3.arg1 = r0; + s.callLocIdx = 680; 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___20201 > 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__P167_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vx"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.fx___20194); + s.tmp_3.arg1 = r0; + s.callLocIdx = 682; 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___20244 = (r0); + r0 = s.arg1.fields["_vy"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 - s.fy___20244); + s.c___20251 = (r0); + r0 = (s.c___20251 < 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__P166_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.fy___20244); + s.tmp_3.arg1 = r0; + s.callLocIdx = 690; 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___20251 > 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__P167_mk(s); + s.tmp_3.arg0 = 0; + r0 = s.arg1.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 - s.fy___20244); + s.tmp_3.arg1 = r0; + s.callLocIdx = 692; 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__P4252_mk(s); + s.tmp_2.arg0 = s.arg0; + r0 = s.arg1.fields["_vx"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 693; 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__P4252_mk(s); + s.tmp_2.arg0 = s.arg0; + r0 = s.arg1.fields["_vy"]; + s.tmp_2.arg1 = r0; + s.callLocIdx = 694; 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___20162); + 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___20290 = (r0); + r0 = s.arg1.fields["_vy"]; + s.tmp_4 = r0; + r0 = (s.tmp_4 + s.ovy___20167); + 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___20303 = (r0); + s.xStep___20316 = (s.dx___20290); + s.yStep___20318 = (s.dy___20303); + case 17: + s.tmp_2 = Fx_abs__P165_mk(s); + s.tmp_2.arg0 = s.xStep___20316; + s.callLocIdx = 701; 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__P165_mk(s); + s.tmp_5.arg0 = s.yStep___20318; + s.callLocIdx = 702; 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__P165_mk(s); + s.tmp_10.arg0 = s.xStep___20316; + s.callLocIdx = 703; 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___20316, 2); + s.xStep___20316 = (r0); + case 20: + case 21: + s.tmp_2 = Fx_abs__P165_mk(s); + s.tmp_2.arg0 = s.yStep___20318; + s.callLocIdx = 705; 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___20318, 2); + s.yStep___20318 = (r0); + case 22: + case 23: + { step = 17; continue; } + case 24: + r0 = pxsim_pxtcore_mkClassInstance(MovingSprite__C2304_VT); + s.tmp_0 = r0; + s.tmp_1 = MovingSprite_constructor__P2305_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___20290; + s.tmp_1.arg5 = s.dy___20303; + s.tmp_1.arg6 = s.xStep___20316; + s.tmp_1.arg7 = s.yStep___20318; + s.callLocIdx = 707; s.pc = 37; return s.tmp_1; + case 37: + r0 = s.retval; + r0 = s.tmp_0; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_createMovingSprite__P4247.info = {"start":6637,"length":2805,"line":210,"column":4,"endLine":300,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"createMovingSprite","argumentNames":["this","sprite","dtMs","dt2"]} + +function ArcadePhysicsEngine_createMovingSprite__P4247_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P4247, depth: s.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___20162: undefined, + ovy___20167: undefined, + fx___20194: undefined, + c___20201: undefined, + fy___20244: undefined, + c___20251: undefined, + dx___20290: undefined, + dy___20303: undefined, + xStep___20316: undefined, + yStep___20318: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function ArcadePhysicsEngine_constrain__P4252(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_VT)) failedCast(r0); + s.tmp_0 = Fx_max__P167_mk(s); + s.tmp_1 = Fx_min__P166_mk(s); + r0 = s.arg0.fields["maxVelocity"]; + s.tmp_1.arg0 = r0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 854; 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 = 855; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_constrain__P4252.info = {"start":26054,"length":193,"line":730,"column":4,"endLine":738,"endColumn":5,"fileName":"pxt_modules/game/physics.ts","functionName":"constrain","argumentNames":["this","v"]} + +function ArcadePhysicsEngine_constrain__P4252_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_constrain__P4252, 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__P164(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P164.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__P164_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_compare__P164, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteMap_insertAABB__P2232(s) { +let r0 = s.r0, 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___19982 = undefined; + s.top___19985 = undefined; + s.xn___19988 = undefined; + s.yn___19999 = undefined; + s.x___20010 = undefined; + s.y___20015 = 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__C2225_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P2186_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 599; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.left___19982 = (r0); + s.tmp_0 = Sprite_top__P2190_mk(s); + s.tmp_0.arg0 = s.arg1; + s.callLocIdx = 600; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.top___19985 = (r0); + s.tmp_3 = Sprite_width__P2184_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 601; 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___19988 = (r0); + s.tmp_3 = Sprite_height__P2185_mk(s); + s.tmp_3.arg0 = s.arg1; + s.callLocIdx = 602; 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___19999 = (r0); + s.x___20010 = (0); + case 1: + r0 = (s.x___20010 <= s.xn___19988); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.y___20015 = (0); + case 2: + r0 = (s.y___20015 <= s.yn___19999); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 3; continue; } + s.tmp_1 = sprites_SpriteMap_insertAtKey__P4211_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_2 = r0 = s.left___19982; + s.tmp_4 = Math_min__P131_mk(s); + s.tmp_5 = Sprite_width__P2184_mk(s); + s.tmp_5.arg0 = s.arg1; + s.callLocIdx = 603; 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___20010 * s.tmp_6); + s.tmp_4.arg1 = r0; + s.callLocIdx = 604; 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___19985; + s.tmp_9 = Math_min__P131_mk(s); + s.tmp_10 = Sprite_height__P2185_mk(s); + s.tmp_10.arg0 = s.arg1; + s.callLocIdx = 605; 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___20015 * s.tmp_11); + s.tmp_9.arg1 = r0; + s.callLocIdx = 606; 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 = 607; s.pc = 9; return s.tmp_1; + case 9: + r0 = s.retval; + r0 = (s.y___20015 + 1); + s.y___20015 = (r0); + { step = 2; continue; } + case 3: + r0 = (s.x___20010 + 1); + s.x___20010 = (r0); + { step = 1; continue; } + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_insertAABB__P2232.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__P2232_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_insertAABB__P2232, depth: s.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___19982: undefined, + top___19985: undefined, + xn___19988: undefined, + yn___19999: undefined, + x___20010: undefined, + y___20015: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteMap_insertAtKey__P4211(s) { +let r0 = s.r0, 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___20050 = undefined; + s.bucket___20055 = 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__C2225_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_key__P4210_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.tmp_0.arg2 = s.arg2; + s.callLocIdx = 598; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + s.k___20050 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___20050); + s.bucket___20055 = (r0); + r0 = pxsim_numops_toBoolDecr(s.bucket___20055); + 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___20050; + r0 = pxsim_Array__mk(); + s.tmp_4 = r0; + r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4); + s.bucket___20055 = (s.tmp_4); + case 1: + case 2: + r0 = pxsim_Array_.indexOf(s.bucket___20055, 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___20055, s.arg3); + case 3: + case 4: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_insertAtKey__P4211.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__P4211_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_insertAtKey__P4211, depth: s.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___20050: undefined, + bucket___20055: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function sprites_SpriteMap_clear__P2231(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2225_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__P2231.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__P2231_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_clear__P2231, 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__P2230(s) { +let r0 = s.r0, 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___20085 = undefined; + s.maxHeight___20086 = undefined; + s.sprite___20088 = undefined; + s.unnamed78___U3 = undefined; + s.unnamed79___U4 = undefined; + s.tMap___20104 = undefined; + s.areaWidth___20108 = undefined; + s.areaHeight___20115 = 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__C2225_VT)) failedCast(r0); + s.maxWidth___20085 = (0); + s.maxHeight___20086 = (0); + s.sprite___20088 = (undefined); + s.unnamed78___U3 = (s.arg1); + s.unnamed79___U4 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed79___U4; + r0 = pxsim_Array__length(s.unnamed78___U3); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 6; continue; } + r0 = pxsim_Array__getAt(s.unnamed78___U3, s.unnamed79___U4); + s.sprite___20088 = (r0); + s.tmp_4 = Sprite_width__P2184_mk(s); + s.tmp_4.arg0 = s.sprite___20088; + s.callLocIdx = 587; s.pc = 11; return s.tmp_4; + case 11: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_3 > s.maxWidth___20085); + s.tmp_2 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_2); + if (!r0) { step = 2; continue; } + s.tmp_5 = Sprite_width__P2184_mk(s); + s.tmp_5.arg0 = s.sprite___20088; + s.callLocIdx = 588; s.pc = 12; return s.tmp_5; + case 12: + r0 = s.retval; + s.maxWidth___20085 = (r0); + case 2: + case 3: + s.tmp_2 = Sprite_height__P2185_mk(s); + s.tmp_2.arg0 = s.sprite___20088; + s.callLocIdx = 589; s.pc = 13; return s.tmp_2; + case 13: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 > s.maxHeight___20086); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 4; continue; } + s.tmp_3 = Sprite_height__P2185_mk(s); + s.tmp_3.arg0 = s.sprite___20088; + s.callLocIdx = 590; s.pc = 14; return s.tmp_3; + case 14: + r0 = s.retval; + s.maxHeight___20086 = (r0); + case 4: + case 5: + r0 = (s.unnamed79___U4 + 1); + s.unnamed79___U4 = (r0); + { step = 1; continue; } + case 6: + s.unnamed78___U3 = (undefined); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 591; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tMap___20104 = (r0); + r0 = pxsim_numops_toBoolDecr(s.tMap___20104); + if (!r0) { step = 7; continue; } + s.tmp_0 = tiles_TileMap_areaWidth__P2474_mk(s); + s.tmp_0.arg0 = s.tMap___20104; + s.callLocIdx = 592; s.pc = 16; return s.tmp_0; + case 16: + r0 = s.retval; + { step = 8; continue; } + case 7: + r0 = pxsim_ImageMethods.width(globals.screen___1829); + case 8: + // jmp value (already in r0) + s.tmp_1 = r0; + s.areaWidth___20108 = (s.tmp_1); + r0 = pxsim_numops_toBoolDecr(s.tMap___20104); + if (!r0) { step = 9; continue; } + s.tmp_0 = tiles_TileMap_areaHeight__P2475_mk(s); + s.tmp_0.arg0 = s.tMap___20104; + s.callLocIdx = 593; s.pc = 17; return s.tmp_0; + case 17: + r0 = s.retval; + { step = 10; continue; } + case 9: + r0 = pxsim_ImageMethods.height(globals.screen___1829); + case 10: + // jmp value (already in r0) + s.tmp_1 = r0; + s.areaHeight___20115 = (s.tmp_1); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Math_clamp__P127_mk(s); + s.tmp_2.arg0 = 8; + r0 = (s.areaWidth___20108 >> 2); + s.tmp_2.arg1 = r0; + r0 = (s.maxWidth___20085 * 2); + s.tmp_2.arg2 = r0; + s.callLocIdx = 594; 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__P127_mk(s); + s.tmp_2.arg0 = 8; + r0 = (s.areaHeight___20115 >> 2); + s.tmp_2.arg1 = r0; + r0 = (s.maxHeight___20086 * 2); + s.tmp_2.arg2 = r0; + s.callLocIdx = 595; 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___20115, 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___20108, 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__P2230.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__P2230_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_resizeBuckets__P2230, depth: s.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___20085: undefined, + maxHeight___20086: undefined, + sprite___20088: undefined, + unnamed78___U3: undefined, + unnamed79___U4: undefined, + tMap___20104: undefined, + areaWidth___20108: undefined, + areaHeight___20115: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_clearObstacles__P2212(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2212.info = {"start":28560,"length":54,"line":918,"column":4,"endLine":920,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"clearObstacles","argumentNames":["this"]} + +function Sprite_clearObstacles__P2212_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_clearObstacles__P2212, 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__P163(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__P163.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__P163_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Fx_idiv__P163, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function helpers_arrayMap__P106(s) { +let r0 = s.r0, 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___20380 = undefined; + s.len___20382 = undefined; + s.i___20385 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = pxsim_Array__mk(); + s.res___20380 = (r0); + r0 = pxsim_Array__length(s.arg0); + s.len___20382 = (r0); + s.i___20385 = (0); + case 1: + r0 = (s.i___20385 < s.len___20382); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 2; continue; } + s.tmp_1 = r0 = s.res___20380; + s.tmp_3 = lambda_3_mk(s); + s.tmp_3.argL = s.arg1; + r0 = pxsim_Array__getAt(s.arg0, s.i___20385); + s.tmp_3.arg0 = r0; + s.tmp_3.arg1 = s.i___20385; + setupLambda(s.tmp_3, s.tmp_3.argL); + s.callLocIdx = 4; 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___20385 + 1); + s.i___20385 = (r0); + { step = 1; continue; } + case 2: + r0 = s.res___20380; + return leave(s, r0) + default: oops() +} } } +helpers_arrayMap__P106.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__P106_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: helpers_arrayMap__P106, depth: s.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___20380: undefined, + len___20382: undefined, + i___20385: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function ArcadePhysicsEngine_draw__P2317(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_VT)) failedCast(r0); + s.tmp_0 = sprites_SpriteMap_draw__P2229_mk(s); + r0 = s.arg0.fields["map"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 637; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +ArcadePhysicsEngine_draw__P2317.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__P2317_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_draw__P2317, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_SpriteMap_draw__P2229(s) { +let r0 = s.r0, 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___20406 = undefined; + s.y___20412 = undefined; + s.left___20418 = undefined; + s.top___20423 = undefined; + s.k___20428 = undefined; + s.b___20433 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, sprites_SpriteMap__C2225_VT)) failedCast(r0); + s.x___20406 = (0); + case 1: + r0 = s.arg0.fields["columnCount"]; + s.tmp_1 = r0; + r0 = (s.x___20406 < s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 8; continue; } + s.y___20412 = (0); + case 2: + r0 = s.arg0.fields["rowCount"]; + s.tmp_1 = r0; + r0 = (s.y___20412 < 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___20406 * s.tmp_2); + s.left___20418 = (r0); + r0 = s.arg0.fields["cellHeight"]; + s.tmp_0 = r0; + r0 = (s.y___20412 * s.tmp_0); + s.top___20423 = (r0); + s.tmp_0 = sprites_SpriteMap_key__P4210_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.left___20418; + s.tmp_0.arg2 = s.top___20423; + s.callLocIdx = 585; s.pc = 9; return s.tmp_0; + case 9: + r0 = s.retval; + s.k___20428 = (r0); + r0 = s.arg0.fields["buckets"]; + s.tmp_0 = r0; + r0 = pxsim_Array__getAt(s.tmp_0, s.k___20428); + s.b___20433 = (r0); + s.tmp_0 = r0 = s.b___20433; + 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___20433); + 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__P1758_mk(s); + s.tmp_2.arg0 = globals.screen___1829; + s.tmp_2.arg1 = s.left___20418; + s.tmp_2.arg2 = s.top___20423; + 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 = 586; s.pc = 10; return s.tmp_2; + case 10: + r0 = s.retval; + case 5: + case 6: + r0 = (s.y___20412 + 1); + s.y___20412 = (r0); + { step = 2; continue; } + case 7: + r0 = (s.x___20406 + 1); + s.x___20406 = (r0); + { step = 1; continue; } + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_SpriteMap_draw__P2229.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__P2229_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteMap_draw__P2229, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + x___20406: undefined, + y___20412: undefined, + left___20418: undefined, + top___20423: undefined, + k___20428: undefined, + b___20433: undefined, + arg0: undefined, +} } + + + + + +function ArcadePhysicsEngine_removeSprite__P2316(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2306_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__P2316.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__P2316_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_removeSprite__P2316, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function ArcadePhysicsEngine_addSprite__P2315(s) { +let r0 = s.r0, 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___20470 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, ArcadePhysicsEngine__C2306_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__P2685_mk(s); + s.callLocIdx = 635; s.pc = 5; return s.tmp_0; + case 5: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tm___20470 = (r0); + s.tmp_0 = r0 = s.tm___20470; + 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__P2489_mk(s); + s.tmp_1.arg0 = s.tm___20470; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 636; 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__P2315.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__P2315_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: ArcadePhysicsEngine_addSprite__P2315, depth: s.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___20470: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function tiles_TileMap_data__P2471(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2466_VT)) failedCast(r0); + r0 = s.arg0.fields["_map"]; + return leaveAccessor(s, r0) + default: oops() +} } } +tiles_TileMap_data__P2471.info = {"start":9388,"length":65,"line":321,"column":8,"endLine":323,"endColumn":9,"fileName":"pxt_modules/game/tilemap.ts","functionName":"data","argumentNames":["this"]} +tiles_TileMap_data__P2471.isGetter = true; + +function tiles_TileMap_data__P2471_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_TileMap_data__P2471, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function scene_BackgroundLayer_constructor__P2417(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2410_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = Math_max__P130_mk(s); + s.tmp_2.arg0 = 1; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 946; 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__P2417.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__P2417_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_BackgroundLayer_constructor__P2417, 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_ShapeFactory_createParticle__P2898(s) { +let r0 = s.r0, 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___20537 = 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__C2894_VT)) failedCast(r0); + s.tmp_0 = particles_AreaFactory_createParticle__P2884_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1574; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.p___20537 = (r0); + s.tmp_0 = r0 = s.p___20537; + s.tmp_2 = Math_FastRandom_randomRange__P2744_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_2.arg0 = r0; + s.tmp_2.arg1 = 1; + s.tmp_2.arg2 = 14; + s.callLocIdx = 1575; 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___20537; + return leave(s, r0) + default: oops() +} } } +particles_ShapeFactory_createParticle__P2898.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__P2898_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_createParticle__P2898, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + tmp_2: undefined, + p___20537: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_AreaFactory_createParticle__P2884(s) { +let r0 = s.r0, 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___20549 = 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__C2878_VT)) failedCast(r0); + s.tmp_0 = particles_SprayFactory_createParticle__P2874_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1556; s.pc = 3; return s.tmp_0; + case 3: + r0 = s.retval; + s.p___20549 = (r0); + s.tmp_0 = r0 = s.p___20549; + s.tmp_2 = Math_FastRandom_randomRange__P2744_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 = 1557; 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___20549; + s.tmp_4 = Math_FastRandom_randomRange__P2744_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 = 1558; 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___20549.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 = 1561; 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 = 1562; 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___20549; + s.tmp_9 = Math_FastRandom_randomRange__P2744_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 = 1560; 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___20549.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___20549; + return leave(s, r0) + default: oops() +} } } +particles_AreaFactory_createParticle__P2884.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__P2884_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_AreaFactory_createParticle__P2884, depth: s.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___20549: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_SprayFactory_createParticle__P2874(s) { +let r0 = s.r0, 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___20597 = undefined; + s.angle___20601 = 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__C2872_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleFactory_createParticle__P2870_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = s.arg1; + s.callLocIdx = 1545; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.p___20597 = (r0); + r0 = s.arg0.fields["minAngle"]; + s.tmp_1 = r0; + s.tmp_3 = Math_FastRandom_randomRange__P2744_mk(s); + s.tmp_3.arg0 = globals.galois___4729; + s.tmp_3.arg1 = 0; + r0 = s.arg0.fields["spread"]; + s.tmp_3.arg2 = r0; + s.callLocIdx = 1546; 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___20601 = (r0); + s.tmp_0 = r0 = s.p___20597; + r0 = pxsim_Array__getAt(globals.cachedSin___4724, s.angle___20601); + 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___20597; + r0 = pxsim_Array__getAt(globals.cachedCos___4725, s.angle___20601); + 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___20597; + return leave(s, r0) + default: oops() +} } } +particles_SprayFactory_createParticle__P2874.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__P2874_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_createParticle__P2874, depth: s.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___20597: undefined, + angle___20601: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function effects_ScreenEffect_startScreenEffect__P2949(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_ScreenEffect__C2947_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 = 13; continue; } + case 1: + case 2: + r0 = s.arg0.fields["source"]; + 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: + s.tmp_4 = particles_ParticleSource_enabled__P2844_mk(s); + r0 = s.arg0.fields["source"]; + s.tmp_4.arg0 = r0; + s.callLocIdx = 1587; s.pc = 14; return s.tmp_4; + case 14: + r0 = s.retval; + case 4: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 7; continue; } + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 5; continue; } + r0 = s.arg0.fields["source"]; + s.tmp_6 = r0; + r0 = (s.tmp_6).fields["lifespan"] = (s.arg1); + case 5: + case 6: + { step = 13; continue; } + case 7: + case 8: + s.tmp_0 = effects_ScreenEffect_endScreenEffect__P2950_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1588; s.pc = 15; return s.tmp_0; + case 15: + r0 = s.retval; + r0 = pxsim_pxtcore_mkClassInstance(effects_SceneAnchor__C4757_VT); + s.tmp_0 = r0; + s.tmp_1 = effects_SceneAnchor_constructor__P4762_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 1589; s.pc = 16; return s.tmp_1; + case 16: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.arg2); + if (!r0) { step = 9; continue; } + r0 = s.arg2; + { step = 10; continue; } + case 9: + r0 = s.arg0.fields["sceneDefaultRate"]; + case 10: + // jmp value (already in r0) + s.tmp_2 = r0; + s.tmp_3 = r0 = s.arg0; + s.tmp_5 = if_sourceFactory_3_mk(s); + s.tmp_5.arg0 = s.arg0; + s.tmp_5.arg1 = s.tmp_0; + s.tmp_5.arg2 = s.tmp_2; + if (!s.tmp_5.arg0.vtable.iface) { + setupLambda(s.tmp_5, pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "sourceFactory"), 3); + s.callLocIdx = 1590; s.pc = 17; return s.tmp_5; + } else { + s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["sourceFactory"]; + if (s.tmp_5.fn == null) { setupLambda(s.tmp_5, s.tmp_5.arg0.fields["sourceFactory"], 3); s.callLocIdx = 1590; s.pc = 17; return s.tmp_5; } + else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 1590; s.pc = 17; return s.tmp_5;; } + else { s.callLocIdx = 1590; s.pc = 17; return s.tmp_5; } + } + case 17: + r0 = s.retval; + s.tmp_4 = r0; + r0 = (s.tmp_3).fields["source"] = (s.tmp_4); + r0 = s.arg0.fields["source"]; + s.tmp_0 = r0; + r0 = (s.tmp_0).fields["priority"] = (10); + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 11; continue; } + r0 = s.arg0.fields["source"]; + s.tmp_0 = r0; + r0 = (s.tmp_0).fields["lifespan"] = (s.arg1); + case 11: + case 12: + case 13: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ScreenEffect_startScreenEffect__P2949.info = {"start":3680,"length":601,"line":97,"column":8,"endLine":112,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"startScreenEffect","argumentNames":["this","duration","particlesPerSecond"]} + +function effects_ScreenEffect_startScreenEffect__P2949_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ScreenEffect_startScreenEffect__P2949, depth: s.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 effects_SceneAnchor_constructor__P4762(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, effects_SceneAnchor__C4757_VT)) failedCast(r0); + s.tmp_0 = r0 = s.arg0; + s.tmp_2 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1583; s.pc = 1; return s.tmp_2; + case 1: + r0 = s.retval; + r0 = r0.fields["camera"]; + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["camera"] = (s.tmp_1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_SceneAnchor_constructor__P4762.info = {"start":2296,"length":79,"line":55,"column":8,"endLine":57,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["this"]} + +function effects_SceneAnchor_constructor__P4762_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_SceneAnchor_constructor__P4762, 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 effects_ScreenEffect_endScreenEffect__P2950(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, effects_ScreenEffect__C2947_VT)) failedCast(r0); + r0 = s.arg0.fields["source"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 1; continue; } + s.tmp_1 = particles_ParticleSource_destroy__P2846_mk(s); + r0 = s.arg0.fields["source"]; + s.tmp_1.arg0 = r0; + s.callLocIdx = 1591; s.pc = 3; return s.tmp_1; + case 3: + r0 = s.retval; + r0 = (s.arg0).fields["source"] = (undefined); + case 1: + case 2: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ScreenEffect_endScreenEffect__P2950.info = {"start":4677,"length":160,"line":122,"column":8,"endLine":127,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"endScreenEffect","argumentNames":["this"]} + +function effects_ScreenEffect_endScreenEffect__P2950_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ScreenEffect_endScreenEffect__P2950, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + tmp_1: undefined, + arg0: undefined, +} } + + + + + +function effects_ImageEffect_startScreenEffect__P2974(s) { +let r0 = s.r0, 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.wasRunning___20689 = 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, effects_ImageEffect__C2970_VT)) failedCast(r0); + s.tmp_4 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1604; s.pc = 8; return s.tmp_4; + case 8: + r0 = s.retval; + r0 = r0.fields["background"]; + s.tmp_3 = r0; + r0 = s.tmp_3.fields["_image"]; + 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 = pxsim_numops_toBoolDecr(s.tmp_6); + s.tmp_5 = r0; + r0 = pxsim_Boolean__bang(s.tmp_5); + 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["times"]; + s.tmp_9 = r0; + r0 = (s.tmp_9 != undefined); + s.wasRunning___20689 = (r0); + r0 = pxsim_numops_toBoolDecr(s.arg1); + if (!r0) { step = 3; continue; } + r0 = s.arg1; + { step = 4; continue; } + case 3: + r0 = 15; + case 4: + // jmp value (already in r0) + s.tmp_0 = r0; + r0 = (s.arg0).fields["times"] = (s.tmp_0); + r0 = pxsim_numops_toBoolDecr(s.wasRunning___20689); + 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 = pxsim_pxtcore_mkAction(2, effects_ImageEffect_startScreenEffect_inline__P20702); + s.tmp_2 = r0; + r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.arg0); + r0 = pxsim_pxtrt_stclo(s.tmp_2, 1, s.arg2); + r0 = pxsim.control.runInParallel(s.tmp_2); + case 5: + case 6: + case 7: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ImageEffect_startScreenEffect__P2974.info = {"start":1457,"length":637,"line":41,"column":8,"endLine":56,"endColumn":9,"fileName":"pxt_modules/game/effects.ts","functionName":"startScreenEffect","argumentNames":["this","times","delay"]} + +function effects_ImageEffect_startScreenEffect__P2974_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_startScreenEffect__P2974, depth: s.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, + wasRunning___20689: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function effects_ImageEffect_startScreenEffect_inline__P20702(s) { +let r0 = s.r0, 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 = s.caps[0].fields["times"]; + 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 = effects_ImageEffect_change__P2973_mk(s); + s.tmp_2.arg0 = s.caps[0]; + s.tmp_3 = scene_backgroundImage__P2613_mk(s); + s.callLocIdx = 1606; s.pc = 6; return s.tmp_3; + case 6: + r0 = s.retval; + s.tmp_2.arg1 = r0; + s.callLocIdx = 1607; s.pc = 5; return s.tmp_2; + case 5: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.caps[1]); + if (!r0) { step = 2; continue; } + r0 = s.caps[1]; + { step = 3; continue; } + case 2: + r0 = s.caps[0].fields["preferredDelay"]; + case 3: + // jmp value (already in r0) + s.tmp_0 = r0; + s.tmp_1 = pause__P413_mk(s); + s.tmp_1.arg0 = s.tmp_0; + s.callLocIdx = 1608; s.pc = 7; return s.tmp_1; + case 7: + r0 = s.retval; + s.tmp_0 = r0 = s.caps[0]; + r0 = s.tmp_0.fields["times"]; + s.tmp_2 = r0; + r0 = (s.tmp_2 - 1); + s.tmp_1 = r0; + r0 = (s.tmp_0).fields["times"] = (s.tmp_1); + { step = 1; continue; } + case 4: + r0 = (s.caps[0]).fields["times"] = (undefined); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +effects_ImageEffect_startScreenEffect_inline__P20702.info = {"start":1764,"length":304,"line":47,"column":38,"endLine":54,"endColumn":17,"fileName":"pxt_modules/game/effects.ts","functionName":"inline","argumentNames":[]} + +function effects_ImageEffect_startScreenEffect_inline__P20702_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_ImageEffect_startScreenEffect_inline__P20702, depth: s.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_backgroundImage__P2613(s) { +let r0 = s.r0, 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___20721 = undefined; + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 1135; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + s.scene___20721 = (r0); + s.tmp_0 = scene_Background_image__P2406_mk(s); + r0 = s.scene___20721.fields["background"]; + s.tmp_0.arg0 = r0; + s.callLocIdx = 1136; s.pc = 2; return s.tmp_0; + case 2: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +scene_backgroundImage__P2613.info = {"start":2297,"length":130,"line":90,"column":4,"endLine":93,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"backgroundImage","argumentNames":[]} + +function scene_backgroundImage__P2613_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_backgroundImage__P2613, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + scene___20721: undefined, +} } + + + + + +function scene_Background_hasBackgroundImage__P2408(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2400_VT)) failedCast(r0); + r0 = s.arg0.fields["_image"]; + 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 leave(s, r0) + default: oops() +} } } +scene_Background_hasBackgroundImage__P2408.info = {"start":1081,"length":75,"line":44,"column":8,"endLine":46,"endColumn":9,"fileName":"pxt_modules/game/background.ts","functionName":"hasBackgroundImage","argumentNames":["this"]} + +function scene_Background_hasBackgroundImage__P2408_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Background_hasBackgroundImage__P2408, depth: s.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_ParticleSource_factory__P2850(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_VT)) failedCast(r0); + r0 = s.arg0.fields["_factory"]; + return leaveAccessor(s, r0) + default: oops() +} } } +particles_ParticleSource_factory__P2850.info = {"start":7951,"length":76,"line":264,"column":8,"endLine":266,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"factory","argumentNames":["this"]} +particles_ParticleSource_factory__P2850.isGetter = true; + +function particles_ParticleSource_factory__P2850_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_factory__P2850, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function particles_ParticleSource___draw__P2838(s) { +let r0 = s.r0, 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___20737 = undefined; + s.left___20740 = undefined; + s.top___20750 = 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__C2832_VT)) failedCast(r0); + r0 = s.arg0.fields["head"]; + s.current___20737 = (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___20740 = (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___20750 = (s.tmp_4); + case 5: + r0 = pxsim_numops_toBoolDecr(s.current___20737); + if (!r0) { step = 8; continue; } + r0 = s.current___20737.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__P4715_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.current___20737; + s.tmp_2.arg2 = s.left___20740; + s.tmp_2.arg3 = s.top___20750; + s.callLocIdx = 1480; s.pc = 9; return s.tmp_2; + case 9: + r0 = s.retval; + case 6: + case 7: + r0 = s.current___20737.fields["next"]; + s.current___20737 = (r0); + { step = 5; continue; } + case 8: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_ParticleSource___draw__P2838.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__P2838_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource___draw__P2838, depth: s.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___20737: undefined, + left___20740: undefined, + top___20750: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function particles_ParticleSource_drawParticle__P4715(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2832_VT)) failedCast(r0); + s.tmp_0 = particles_ParticleFactory__C2868_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__C2868_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__P4715.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__P4715_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleSource_drawParticle__P4715, 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__P2871(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2868_VT)) failedCast(r0); + s.tmp_0 = r0 = globals.screen___1829; + 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__P2871.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__P2871_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ParticleFactory_drawParticle__P2871, depth: s.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 game_Dialog_drawTextCore__P2657(s) { +let r0 = s.r0, 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.lines___20808 = undefined; + s.availableWidth___20814 = undefined; + s.availableHeight___20817 = undefined; + s.charactersPerRow___20820 = undefined; + s.rowsOfCharacters___20828 = undefined; + s.textLeft___20839 = undefined; + s.textTop___20861 = undefined; + s.row___20876 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, game_Dialog__C2647_VT)) failedCast(r0); + r0 = s.arg0.fields["chunks"]; + 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.arg0.fields["chunks"]; + s.tmp_4 = r0; + r0 = pxsim_Array__length(s.tmp_4); + s.tmp_3 = r0; + r0 = (s.tmp_3 === 0); + case 2: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 3; continue; } + { step = 9; continue; } + case 3: + case 4: + r0 = s.arg0.fields["chunks"]; + s.tmp_6 = r0; + r0 = s.arg0.fields["chunkIndex"]; + s.tmp_7 = r0; + r0 = pxsim_Array__getAt(s.tmp_6, s.tmp_7); + s.lines___20808 = (r0); + s.tmp_0 = game_BaseDialog_textAreaWidth__P4353_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1194; s.pc = 10; return s.tmp_0; + case 10: + r0 = s.retval; + s.availableWidth___20814 = (r0); + s.tmp_0 = game_BaseDialog_textAreaHeight__P4354_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 1195; s.pc = 11; return s.tmp_0; + case 11: + r0 = s.retval; + s.availableHeight___20817 = (r0); + s.tmp_1 = r0 = s.availableWidth___20814; + s.tmp_3 = if_charWidth_1_mk(s); + r0 = s.arg0.fields["font"]; + s.tmp_3.arg0 = r0; + if (!s.tmp_3.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_3.arg0, "charWidth"); + } else { + s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["charWidth"]; + if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["charWidth"]; } + else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); } + else { s.callLocIdx = 1196; s.pc = 12; return s.tmp_3; } + } + case 12: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_1 / s.tmp_2); + s.tmp_0 = r0; + r0 = pxsim.Math_.floor(s.tmp_0); + s.charactersPerRow___20820 = (r0); + s.tmp_1 = r0 = s.availableHeight___20817; + s.tmp_3 = game_BaseDialog_rowHeight__P4352_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 1197; 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 = pxsim.Math_.floor(s.tmp_0); + s.rowsOfCharacters___20828 = (r0); + r0 = s.arg0.fields["unit"]; + s.tmp_1 = r0; + r0 = (s.tmp_1 > 12); + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 5; continue; } + s.tmp_2 = game_BaseDialog_drawBorder__P4347_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 1198; s.pc = 14; return s.tmp_2; + case 14: + r0 = s.retval; + case 5: + case 6: + r0 = s.arg0.fields["innerLeft"]; + s.tmp_2 = r0; + r0 = (1 + s.tmp_2); + s.tmp_1 = r0; + s.tmp_4 = Math_min__P131_mk(s); + r0 = s.arg0.fields["unit"]; + s.tmp_4.arg0 = r0; + s.tmp_4.arg1 = 12; + s.callLocIdx = 1199; s.pc = 15; return s.tmp_4; + case 15: + r0 = s.retval; + s.tmp_3 = r0; + r0 = (s.tmp_1 + s.tmp_3); + s.tmp_0 = r0; + s.tmp_7 = r0 = s.availableWidth___20814; + s.tmp_9 = r0 = s.charactersPerRow___20820; + s.tmp_11 = if_charWidth_1_mk(s); + r0 = s.arg0.fields["font"]; + s.tmp_11.arg0 = r0; + if (!s.tmp_11.arg0.vtable.iface) { + s.retval = pxsim_pxtrt.mapGetByString(s.tmp_11.arg0, "charWidth"); + } else { + s.tmp_11.fn = s.tmp_11.arg0.vtable.iface["charWidth"]; + if (s.tmp_11.fn == null) { s.retval = s.tmp_11.arg0.fields["charWidth"]; } + else if (!s.tmp_11.fn.isGetter) { s.retval = bind(s.tmp_11); } + else { s.callLocIdx = 1200; s.pc = 16; return s.tmp_11; } + } + case 16: + r0 = s.retval; + s.tmp_10 = r0; + r0 = (s.tmp_9 * s.tmp_10); + s.tmp_8 = r0; + r0 = (s.tmp_7 - s.tmp_8); + s.tmp_6 = r0; + r0 = (s.tmp_6 >> 1); + s.tmp_5 = r0; + r0 = (s.tmp_0 + s.tmp_5); + s.textLeft___20839 = (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 = (1 + s.tmp_1); + s.tmp_0 = r0; + r0 = pxsim_Array__length(s.lines___20808); + s.tmp_6 = r0; + s.tmp_8 = game_BaseDialog_rowHeight__P4352_mk(s); + s.tmp_8.arg0 = s.arg0; + s.callLocIdx = 1201; s.pc = 17; return s.tmp_8; + case 17: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_6 * s.tmp_7); + s.tmp_5 = r0; + r0 = (s.tmp_5 >> 1); + s.tmp_4 = r0; + r0 = (s.tmp_0 - s.tmp_4); + s.textTop___20861 = (r0); + s.row___20876 = (0); + case 7: + s.tmp_1 = r0 = s.row___20876; + r0 = pxsim_Array__length(s.lines___20808); + 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 = 8; continue; } + s.tmp_3 = helpers_imagePrint__P1787_mk(s); + r0 = s.arg0.fields["image"]; + s.tmp_3.arg0 = r0; + r0 = pxsim_Array__getAt(s.lines___20808, s.row___20876); + s.tmp_3.arg1 = r0; + s.tmp_3.arg2 = s.textLeft___20839; + s.tmp_4 = r0 = s.textTop___20861; + s.tmp_6 = r0 = s.row___20876; + s.tmp_8 = game_BaseDialog_rowHeight__P4352_mk(s); + s.tmp_8.arg0 = s.arg0; + s.callLocIdx = 1202; s.pc = 19; return s.tmp_8; + case 19: + r0 = s.retval; + s.tmp_7 = r0; + r0 = (s.tmp_6 * s.tmp_7); + s.tmp_5 = r0; + r0 = (s.tmp_4 + s.tmp_5); + s.tmp_3.arg3 = r0; + r0 = s.arg0.fields["textColor"]; + s.tmp_3.arg4 = r0; + r0 = s.arg0.fields["font"]; + s.tmp_3.arg5 = r0; + s.tmp_3.arg6 = undefined; + s.callLocIdx = 1203; s.pc = 18; return s.tmp_3; + case 18: + r0 = s.retval; + r0 = (s.row___20876 + 1); + s.row___20876 = (r0); + { step = 7; continue; } + case 8: + case 9: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_Dialog_drawTextCore__P2657.info = {"start":7266,"length":1045,"line":234,"column":8,"endLine":256,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"drawTextCore","argumentNames":["this"]} + +function game_Dialog_drawTextCore__P2657_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_Dialog_drawTextCore__P2657, depth: s.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, + lines___20808: undefined, + availableWidth___20814: undefined, + availableHeight___20817: undefined, + charactersPerRow___20820: undefined, + rowsOfCharacters___20828: undefined, + textLeft___20839: undefined, + textTop___20861: undefined, + row___20876: undefined, + arg0: undefined, +} } + + + + + +function game_BaseDialog_setText__P2644(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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_BaseDialog__C2630_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +game_BaseDialog_setText__P2644.info = {"start":1701,"length":77,"line":67,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/game/textDialogs.ts","functionName":"setText","argumentNames":["this","rawString"]} + +function game_BaseDialog_setText__P2644_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: game_BaseDialog_setText__P2644, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_SpriteSet_toString__P2253(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2242_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__P2253.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__P2253_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_toString__P2253, depth: s.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__P2245(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2242_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__P2245.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__P2245.isGetter = true; + +function sprites_SpriteSet_length__P2245_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_SpriteSet_length__P2245, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function scene_Scene_data__P2595(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2571_VT)) failedCast(r0); + r0 = s.arg0.fields["_data"]; + return leaveAccessor(s, r0) + default: oops() +} } } +scene_Scene_data__P2595.info = {"start":6765,"length":53,"line":184,"column":8,"endLine":186,"endColumn":9,"fileName":"pxt_modules/game/scene.ts","functionName":"data","argumentNames":["this"]} +scene_Scene_data__P2595.isGetter = true; + +function scene_Scene_data__P2595_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Scene_data__P2595, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function Sprite_toString__P2221(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2141_mk(s); + s.tmp_14.arg0 = s.arg0; + s.callLocIdx = 566; 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__P2143_mk(s); + s.tmp_17.arg0 = s.arg0; + s.callLocIdx = 567; 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__P2145_mk(s); + s.tmp_20.arg0 = s.arg0; + s.callLocIdx = 568; 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__P2147_mk(s); + s.tmp_23.arg0 = s.arg0; + s.callLocIdx = 569; 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__P2221.info = {"start":37683,"length":93,"line":1169,"column":4,"endLine":1171,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"toString","argumentNames":["this"]} + +function Sprite_toString__P2221_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_toString__P2221, depth: s.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__P2203(s) { +let r0 = s.r0, 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.bounce___20975 = undefined; + s.tm___20980 = 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, Sprite__C2128_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__P2216_mk(s); + s.tmp_0.arg0 = s.arg0; + s.callLocIdx = 479; s.pc = 33; return s.tmp_0; + case 33: + 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__P2201_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + s.callLocIdx = 480; s.pc = 34; return s.tmp_2; + case 34: + 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__P2215_mk(s); + s.tmp_4.arg0 = s.arg0; + s.tmp_4.arg1 = undefined; + s.tmp_4.arg2 = undefined; + s.callLocIdx = 481; s.pc = 35; return s.tmp_4; + case 35: + r0 = s.retval; + case 7: + case 8: + r0 = s.arg0.fields["flags"]; + s.tmp_0 = r0; + r0 = (s.tmp_0 & 32); + s.bounce___20975 = (r0); + s.tmp_0 = game_currentScene__P2685_mk(s); + s.callLocIdx = 482; s.pc = 36; return s.tmp_0; + case 36: + r0 = s.retval; + r0 = r0.fields["tileMap"]; + s.tm___20980 = (r0); + r0 = s.arg0.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 = 9; continue; } + r0 = s.tmp_0; + { step = 12; continue; } + case 9: + s.tmp_2 = r0 = s.bounce___20975; + r0 = pxsim_numops_toBool(s.tmp_2); + if (r0) { step = 10; continue; } + r0 = s.tmp_2; + { step = 11; continue; } + case 10: + r0 = pxsim_numops_toBoolDecr(s.tm___20980); + s.tmp_3 = r0; + r0 = pxsim_Boolean__bang(s.tmp_3); + case 11: + // jmp value (already in r0) + s.tmp_4 = r0; + r0 = s.tmp_4; + case 12: + // jmp value (already in r0) + s.tmp_5 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_5); + if (!r0) { step = 29; continue; } + s.tmp_8 = Sprite_left__P2186_mk(s); + s.tmp_8.arg0 = s.arg0; + s.callLocIdx = 483; s.pc = 37; return s.tmp_8; + case 37: + r0 = s.retval; + s.tmp_7 = r0; + r0 = s.arg1.fields["_offsetX"]; + s.tmp_9 = r0; + r0 = (s.tmp_7 < s.tmp_9); + s.tmp_6 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_6); + if (!r0) { step = 15; continue; } + s.tmp_10 = Sprite_left__P2187_mk(s); + s.tmp_10.arg0 = s.arg0; + r0 = s.arg1.fields["_offsetX"]; + s.tmp_10.arg1 = r0; + s.callLocIdx = 486; s.pc = 38; return s.tmp_10; + case 38: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.bounce___20975); + if (!r0) { step = 13; continue; } + s.tmp_0 = Sprite_vx__P2146_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_vx__P2145_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 487; s.pc = 40; return s.tmp_2; + case 40: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 488; s.pc = 39; return s.tmp_0; + case 39: + r0 = s.retval; + case 13: + case 14: + { step = 20; continue; } + case 15: + s.tmp_2 = Sprite_right__P2188_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 489; s.pc = 41; return s.tmp_2; + case 41: + r0 = s.retval; + s.tmp_1 = r0; + r0 = s.arg1.fields["_offsetX"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 18; continue; } + s.tmp_6 = Sprite_right__P2189_mk(s); + s.tmp_6.arg0 = s.arg0; + r0 = s.arg1.fields["_offsetX"]; + s.tmp_7 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_8 = r0; + r0 = (s.tmp_7 + s.tmp_8); + s.tmp_6.arg1 = r0; + s.callLocIdx = 492; s.pc = 42; return s.tmp_6; + case 42: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.bounce___20975); + if (!r0) { step = 16; continue; } + s.tmp_0 = Sprite_vx__P2146_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_vx__P2145_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 493; s.pc = 44; return s.tmp_2; + case 44: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 494; s.pc = 43; return s.tmp_0; + case 43: + r0 = s.retval; + case 16: + case 17: + case 18: + case 19: + case 20: + s.tmp_2 = Sprite_top__P2190_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 495; s.pc = 45; return s.tmp_2; + case 45: + r0 = s.retval; + s.tmp_1 = r0; + r0 = s.arg1.fields["_offsetY"]; + 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 = 23; continue; } + s.tmp_4 = Sprite_top__P2191_mk(s); + s.tmp_4.arg0 = s.arg0; + r0 = s.arg1.fields["_offsetY"]; + s.tmp_4.arg1 = r0; + s.callLocIdx = 498; s.pc = 46; return s.tmp_4; + case 46: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.bounce___20975); + if (!r0) { step = 21; continue; } + s.tmp_0 = Sprite_vy__P2148_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_vy__P2147_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 499; s.pc = 48; return s.tmp_2; + case 48: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 500; s.pc = 47; return s.tmp_0; + case 47: + r0 = s.retval; + case 21: + case 22: + { step = 28; continue; } + case 23: + s.tmp_2 = Sprite_bottom__P2192_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 501; s.pc = 49; return s.tmp_2; + case 49: + r0 = s.retval; + s.tmp_1 = r0; + r0 = s.arg1.fields["_offsetY"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + 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 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 26; continue; } + s.tmp_6 = Sprite_bottom__P2193_mk(s); + s.tmp_6.arg0 = s.arg0; + r0 = s.arg1.fields["_offsetY"]; + s.tmp_7 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_8 = r0; + r0 = (s.tmp_7 + s.tmp_8); + s.tmp_6.arg1 = r0; + s.callLocIdx = 504; s.pc = 50; return s.tmp_6; + case 50: + r0 = s.retval; + r0 = pxsim_numops_toBoolDecr(s.bounce___20975); + if (!r0) { step = 24; continue; } + s.tmp_0 = Sprite_vy__P2148_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_2 = Sprite_vy__P2147_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 505; s.pc = 52; return s.tmp_2; + case 52: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (0 - s.tmp_1); + s.tmp_0.arg1 = r0; + s.callLocIdx = 506; s.pc = 51; return s.tmp_0; + case 51: + r0 = s.retval; + case 24: + case 25: + case 26: + case 27: + case 28: + case 29: + case 30: + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_0); + if (!r0) { step = 31; continue; } + s.tmp_1 = sprites_BaseSpriteSayRenderer__C2048_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__C2048_VT)) failedCast(s.tmp_1.arg0); + s.tmp_1.fn = s.tmp_1.arg0.vtable.methods.update; + s.pc = 53; return s.tmp_1; + case 53: + r0 = s.retval; + case 31: + case 32: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite___update__P2203.info = {"start":21606,"length":1363,"line":714,"column":4,"endLine":750,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__update","argumentNames":["this","camera","dt"]} + +function Sprite___update__P2203_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite___update__P2203, depth: s.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, + bounce___20975: undefined, + tm___20980: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function Sprite_isOutOfScreen__P2201(s) { +let r0 = s.r0, 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___21075 = undefined; + s.oy___21083 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_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___21075 = (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___21083 = (s.tmp_2); + s.tmp_3 = Sprite_right__P2188_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 444; s.pc = 11; return s.tmp_3; + case 11: + r0 = s.retval; + s.tmp_2 = r0; + r0 = (s.tmp_2 - s.ox___21075); + 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__P2192_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 445; s.pc = 12; return s.tmp_6; + case 12: + r0 = s.retval; + s.tmp_5 = r0; + r0 = (s.tmp_5 - s.oy___21083); + 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__P2186_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 446; s.pc = 13; return s.tmp_10; + case 13: + r0 = s.retval; + s.tmp_9 = r0; + r0 = (s.tmp_9 - s.ox___21075); + s.tmp_8 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + 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__P2190_mk(s); + s.tmp_15.arg0 = s.arg0; + s.callLocIdx = 447; s.pc = 14; return s.tmp_15; + case 14: + r0 = s.retval; + s.tmp_14 = r0; + r0 = (s.tmp_14 - s.oy___21083); + s.tmp_13 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + 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__P2201.info = {"start":18931,"length":358,"line":640,"column":4,"endLine":644,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"isOutOfScreen","argumentNames":["this","camera"]} + +function Sprite_isOutOfScreen__P2201_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_isOutOfScreen__P2201, depth: s.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___21075: undefined, + oy___21083: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_bottom__P2193(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_0 = Sprite_top__P2191_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Sprite_height__P2185_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 432; 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 = 433; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_bottom__P2193.info = {"start":13305,"length":73,"line":473,"column":4,"endLine":475,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"bottom","argumentNames":["this","value"]} + +function Sprite_bottom__P2193_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_bottom__P2193, depth: s.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__P2189(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + s.tmp_0 = Sprite_left__P2187_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_1 = r0 = s.arg1; + s.tmp_3 = Sprite_width__P2184_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 424; 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 = 425; s.pc = 1; return s.tmp_0; + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_right__P2189.info = {"start":12468,"length":71,"line":443,"column":4,"endLine":445,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"right","argumentNames":["this","value"]} + +function Sprite_right__P2189_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_right__P2189, depth: s.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_BaseSpriteSayRenderer_update__P2051(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2048_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSpriteSayRenderer_update__P2051.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__P2051_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_update__P2051, 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__P2164(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_VT)) failedCast(r0); + r0 = (s.arg0).fields["_data"] = (s.arg1); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite_data__P2164.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__P2164_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_data__P2164, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function Sprite_data__P2163(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2163.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__P2163.isGetter = true; + +function Sprite_data__P2163_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite_data__P2163, depth: s.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__P1896(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1888_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite___update__P1896.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__P1896_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___update__P1896, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, +} } + + + + + +function sprites_BaseSprite___draw__P1894(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1888_VT)) failedCast(r0); + s.tmp_1 = sprites_BaseSprite__C1888_v0_1_mk(s); + s.tmp_1.arg0 = s.arg0; + if (!checkSubtype(s.tmp_1.arg0, sprites_BaseSprite__C1888_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__C1888_v2_2_mk(s); + s.tmp_2.arg0 = s.arg0; + s.tmp_2.arg1 = s.arg1; + if (!checkSubtype(s.tmp_2.arg0, sprites_BaseSprite__C1888_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__P1894.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__P1894_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___draw__P1894, 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__P1895(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1888_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite___drawCore__P1895.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__P1895_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___drawCore__P1895, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSprite___visible__P1891(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1888_VT)) failedCast(r0); + r0 = true; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSprite___visible__P1891.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__P1891_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSprite___visible__P1891, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function music_Melody_toString__P1621(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1612_VT)) failedCast(r0); + r0 = s.arg0.fields["_text"]; + return leave(s, r0) + default: oops() +} } } +music_Melody_toString__P1621.info = {"start":10021,"length":53,"line":310,"column":8,"endLine":312,"endColumn":9,"fileName":"pxt_modules/mixer/melody.ts","functionName":"toString","argumentNames":["this"]} + +function music_Melody_toString__P1621_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: music_Melody_toString__P1621, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function controller_AnyButton_isPressed__P4190(s) { +let r0 = s.r0, 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___21143 = undefined; + s.b___21147 = undefined; + s.unnamed70___U2 = undefined; + s.unnamed71___U3 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, controller_AnyButton__C4182_VT)) failedCast(r0); + s.tmp_0 = controller__player1__P1922_mk(s); + s.callLocIdx = 245; s.pc = 6; return s.tmp_0; + case 6: + r0 = s.retval; + s.ctrl___21143 = (r0); + s.b___21147 = (undefined); + r0 = s.ctrl___21143.fields["buttons"]; + s.unnamed70___U2 = (r0); + s.unnamed71___U3 = (0); + case 1: + s.tmp_0 = r0 = s.unnamed71___U3; + r0 = pxsim_Array__length(s.unnamed70___U2); + s.tmp_1 = r0; + r0 = (s.tmp_0 < s.tmp_1); + if (!r0) { step = 4; continue; } + r0 = pxsim_Array__getAt(s.unnamed70___U2, s.unnamed71___U3); + s.b___21147 = (r0); + s.tmp_3 = controller_Button__C1979_v0_1_mk(s); + s.tmp_3.arg0 = s.b___21147; + if (!checkSubtype(s.tmp_3.arg0, controller_Button__C1979_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.unnamed71___U3 + 1); + s.unnamed71___U3 = (r0); + { step = 1; continue; } + case 4: + s.unnamed70___U2 = (undefined); + r0 = false; + case 5: + return leave(s, r0) + default: oops() +} } } +controller_AnyButton_isPressed__P4190.info = {"start":13715,"length":202,"line":416,"column":8,"endLine":423,"endColumn":9,"fileName":"pxt_modules/game/controller.ts","functionName":"isPressed","argumentNames":["this"]} + +function controller_AnyButton_isPressed__P4190_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_AnyButton_isPressed__P4190, depth: s.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___21143: undefined, + b___21147: undefined, + unnamed70___U2: undefined, + unnamed71___U3: undefined, + arg0: undefined, +} } + + + + + +function controller_Button_toString__P1984(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C1979_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__P1984.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__P1984_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: controller_Button_toString__P1984, depth: s.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__P2049(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2048_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__P2049.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__P2049_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_constructor__P2049, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function effects_SceneAnchor_height__P4761(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, effects_SceneAnchor__C4757_VT)) failedCast(r0); + r0 = pxsim_ImageMethods.height(globals.screen___1829); + return leaveAccessor(s, r0) + default: oops() +} } } +effects_SceneAnchor_height__P4761.info = {"start":2634,"length":58,"line":71,"column":8,"endLine":73,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"height","argumentNames":["this"]} +effects_SceneAnchor_height__P4761.isGetter = true; + +function effects_SceneAnchor_height__P4761_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_SceneAnchor_height__P4761, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function effects_SceneAnchor_width__P4760(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, effects_SceneAnchor__C4757_VT)) failedCast(r0); + r0 = pxsim_ImageMethods.width(globals.screen___1829); + return leaveAccessor(s, r0) + default: oops() +} } } +effects_SceneAnchor_width__P4760.info = {"start":2568,"length":56,"line":67,"column":8,"endLine":69,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"width","argumentNames":["this"]} +effects_SceneAnchor_width__P4760.isGetter = true; + +function effects_SceneAnchor_width__P4760_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_SceneAnchor_width__P4760, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function effects_SceneAnchor_y__P4759(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, effects_SceneAnchor__C4757_VT)) failedCast(r0); + r0 = s.arg0.fields["camera"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["_offsetY"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.height(globals.screen___1829); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + return leaveAccessor(s, r0) + default: oops() +} } } +effects_SceneAnchor_y__P4759.info = {"start":2476,"length":82,"line":63,"column":8,"endLine":65,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"y","argumentNames":["this"]} +effects_SceneAnchor_y__P4759.isGetter = true; + +function effects_SceneAnchor_y__P4759_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_SceneAnchor_y__P4759, depth: s.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 effects_SceneAnchor_x__P4758(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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, effects_SceneAnchor__C4757_VT)) failedCast(r0); + r0 = s.arg0.fields["camera"]; + s.tmp_1 = r0; + r0 = s.tmp_1.fields["_offsetX"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.width(globals.screen___1829); + s.tmp_3 = r0; + r0 = (s.tmp_3 >> 1); + s.tmp_2 = r0; + r0 = (s.tmp_0 + s.tmp_2); + return leaveAccessor(s, r0) + default: oops() +} } } +effects_SceneAnchor_x__P4758.info = {"start":2385,"length":81,"line":59,"column":8,"endLine":61,"endColumn":9,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"x","argumentNames":["this"]} +effects_SceneAnchor_x__P4758.isGetter = true; + +function effects_SceneAnchor_x__P4758_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: effects_SceneAnchor_x__P4758, depth: s.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_width__P2287(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2277_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__P2287.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__P2287.isGetter = true; + +function sprites_StaticObstacle_width__P2287_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_width__P2287, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_StaticObstacle_height__P2286(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2277_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__P2286.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__P2286.isGetter = true; + +function sprites_StaticObstacle_height__P2286_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_height__P2286, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function sprites_StaticObstacle_y__P2285(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2277_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__P2285.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__P2285.isGetter = true; + +function sprites_StaticObstacle_y__P2285_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_y__P2285, depth: s.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__P2284(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2277_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__P2284.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__P2284.isGetter = true; + +function sprites_StaticObstacle_x__P2284_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_StaticObstacle_x__P2284, depth: s.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__P2432(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2424_VT)) failedCast(r0); + r0 = s.arg0.fields["_row"]; + s.tmp_0 = r0; + s.tmp_3 = tiles_Location_tileMap__P2426_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 956; 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__P2432.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__P2432.isGetter = true; + +function tiles_Location_top__P2432_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_top__P2432, depth: s.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__P2431(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2424_VT)) failedCast(r0); + r0 = s.arg0.fields["_col"]; + s.tmp_0 = r0; + s.tmp_3 = tiles_Location_tileMap__P2426_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 954; 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__P2431.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__P2431.isGetter = true; + +function tiles_Location_left__P2431_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: tiles_Location_left__P2431, depth: s.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 scene_Renderable___drawCore__P2533(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2530_VT)) failedCast(r0); + s.tmp_0 = if_handler_3_mk(s); + s.tmp_0.arg0 = s.arg0; + s.tmp_0.arg1 = globals.screen___1829; + 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 = 1099; 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 = 1099; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1099; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 1099; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +scene_Renderable___drawCore__P2533.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__P2533_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Renderable___drawCore__P2533, 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__P2532(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2530_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 = 1098; 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 = 1098; s.pc = 1; return s.tmp_0; } + else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1098; s.pc = 1; return s.tmp_0;; } + else { s.callLocIdx = 1098; s.pc = 1; return s.tmp_0; } + } + case 1: + r0 = s.retval; + return leave(s, r0) + default: oops() +} } } +scene_Renderable___visible__P2532.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__P2532_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: scene_Renderable___visible__P2532, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + tmp_0: undefined, + arg0: undefined, +} } + + + + + +function particles_ShapeFactory_drawParticle__P2897(s) { +let r0 = s.r0, 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___21237 = 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__C2894_VT)) failedCast(r0); + s.tmp_1 = Math_FastRandom_pickRandom__P2745_mk(s); + r0 = s.arg0.fields["galois"]; + s.tmp_1.arg0 = r0; + r0 = s.arg0.fields["sources"]; + s.tmp_1.arg1 = r0; + s.callLocIdx = 1569; 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___21237 = (r0); + r0 = s.arg1.fields["color"]; + s.tmp_0 = r0; + r0 = pxsim_ImageMethods.replace(s.pImage___21237, 15, s.tmp_0); + s.tmp_0 = r0 = globals.screen___1829; + s.tmp_1 = r0 = s.pImage___21237; + 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__P2897.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__P2897_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_ShapeFactory_drawParticle__P2897, depth: s.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___21237: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function Math_FastRandom_pickRandom__P2745(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2740_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__P2744_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 = 1298; 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__P2745.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__P2745_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Math_FastRandom_pickRandom__P2745, depth: s.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__P2885(s) { +let r0 = s.r0, 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___21283 = 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__C2878_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___21283 = (s.tmp_5); + s.tmp_0 = r0 = globals.screen___1829; + 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___21283); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +particles_AreaFactory_drawParticle__P2885.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__P2885_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_AreaFactory_drawParticle__P2885, depth: s.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___21283: undefined, + arg0: undefined, + arg1: undefined, + arg2: undefined, + arg3: undefined, +} } + + + + + +function particles_SprayFactory_drawParticle__P2875(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2872_VT)) failedCast(r0); + s.tmp_0 = r0 = globals.screen___1829; + 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__P2875.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__P2875_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: particles_SprayFactory_drawParticle__P2875, depth: s.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 Sprite___drawCore__P2202(s) { +let r0 = s.r0, 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___21345 = undefined; + s.oy___21353 = undefined; + s.l___21361 = undefined; + s.t___21367 = undefined; + s.font___21402 = undefined; + s.tx___21406 = undefined; + s.ty___21408 = undefined; + if (s.lambdaArgs) { + s.arg0 = (s.lambdaArgs[0]); + s.arg1 = (s.lambdaArgs[1]); + s.lambdaArgs = null; + } + r0 = s.arg0; + if (!checkSubtype(r0, Sprite__C2128_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__C2048_v0_4_mk(s); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_6.arg0 = r0; + s.tmp_6.arg1 = globals.screen___1829; + s.tmp_6.arg2 = s.arg1; + s.tmp_6.arg3 = s.arg0; + if (!checkSubtype(s.tmp_6.arg0, sprites_BaseSpriteSayRenderer__C2048_VT)) failedCast(s.tmp_6.arg0); + s.tmp_6.fn = s.tmp_6.arg0.vtable.methods.draw; + s.pc = 28; return s.tmp_6; + case 28: + r0 = s.retval; + { step = 2; continue; } + case 1: + s.tmp_0 = sprites_BaseSpriteSayRenderer__C2048_v2_1_mk(s); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0.arg0 = r0; + if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C2048_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.destroy; + s.pc = 29; return s.tmp_0; + case 29: + 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__C2048_v0_4_mk(s); + r0 = s.arg0.fields["sayRenderer"]; + s.tmp_0.arg0 = r0; + s.tmp_0.arg1 = globals.screen___1829; + s.tmp_0.arg2 = s.arg1; + s.tmp_0.arg3 = s.arg0; + if (!checkSubtype(s.tmp_0.arg0, sprites_BaseSpriteSayRenderer__C2048_VT)) failedCast(s.tmp_0.arg0); + s.tmp_0.fn = s.tmp_0.arg0.vtable.methods.draw; + s.pc = 30; return s.tmp_0; + case 30: + r0 = s.retval; + case 4: + case 5: + case 6: + s.tmp_1 = Sprite_isOutOfScreen__P2201_mk(s); + s.tmp_1.arg0 = s.arg0; + s.tmp_1.arg1 = s.arg1; + s.callLocIdx = 448; 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 = 7; continue; } + { step = 27; continue; } + case 7: + case 8: + 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 = 9; continue; } + r0 = 0; + { step = 10; continue; } + case 9: + r0 = s.arg1.fields["drawOffsetX"]; + case 10: + // jmp value (already in r0) + s.tmp_4 = r0; + s.ox___21345 = (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 = 11; continue; } + r0 = 0; + { step = 12; continue; } + case 11: + r0 = s.arg1.fields["drawOffsetY"]; + case 12: + // jmp value (already in r0) + s.tmp_2 = r0; + s.oy___21353 = (s.tmp_2); + s.tmp_2 = Sprite_left__P2186_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 449; s.pc = 32; return s.tmp_2; + case 32: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.ox___21345); + s.tmp_0 = r0; + r0 = pxsim.Math_.floor(s.tmp_0); + s.l___21361 = (r0); + s.tmp_2 = Sprite_top__P2190_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 450; s.pc = 33; return s.tmp_2; + case 33: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_1 - s.oy___21353); + s.tmp_0 = r0; + r0 = pxsim.Math_.floor(s.tmp_0); + s.t___21367 = (r0); + s.tmp_3 = Sprite_isScaled__P4209_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 451; s.pc = 34; return s.tmp_3; + case 34: + 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 = 13; continue; } + r0 = s.arg0.fields["_image"]; + s.tmp_4 = r0; + r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___1829, s.tmp_4, s.l___21361, s.t___21367); + { step = 14; continue; } + case 13: + s.tmp_0 = helpers_imageBlit__P1752_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_0.arg1 = s.l___21361; + s.tmp_0.arg2 = s.t___21367; + s.tmp_1 = Sprite_width__P2184_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 452; s.pc = 36; return s.tmp_1; + case 36: + r0 = s.retval; + s.tmp_0.arg3 = r0; + s.tmp_2 = Sprite_height__P2185_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 453; s.pc = 37; return s.tmp_2; + case 37: + 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 = 454; s.pc = 35; return s.tmp_0; + case 35: + r0 = s.retval; + case 14: + 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 = 23; continue; } + s.font___21402 = (globals.font5___1777); + s.tx___21406 = (s.l___21361); + s.tmp_1 = r0 = s.t___21367; + s.tmp_3 = Sprite_height__P2185_mk(s); + s.tmp_3.arg0 = s.arg0; + s.callLocIdx = 455; s.pc = 38; return s.tmp_3; + case 38: + 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___21408 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + r0 = pxsim_String_.mkEmpty(); + s.tmp_3 = r0; + s.tmp_7 = Sprite_x__P2141_mk(s); + s.tmp_7.arg0 = s.arg0; + s.callLocIdx = 456; s.pc = 40; return s.tmp_7; + case 40: + 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, 41); + pxsim_String__stringConv(s.tmp_5); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_5) + ""; } + case 41: + 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__P2143_mk(s); + s.tmp_11.arg0 = s.arg0; + s.callLocIdx = 457; s.pc = 42; return s.tmp_11; + case 42: + 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, 43); + pxsim_String__stringConv(s.tmp_9); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_9) + ""; } + case 43: + 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___21406; + s.tmp_0.arg3 = s.ty___21408; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = s.font___21402; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 458; s.pc = 39; return s.tmp_0; + case 39: + r0 = s.retval; + s.tmp_0 = r0 = s.tx___21406; + s.tmp_2 = if_charWidth_1_mk(s); + s.tmp_2.arg0 = s.font___21402; + 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 = 459; s.pc = 44; return s.tmp_2; } + } + case 44: + r0 = s.retval; + s.tmp_1 = r0; + r0 = (s.tmp_0 - s.tmp_1); + s.tx___21406 = (r0); + s.tmp_1 = Sprite_vx__P2145_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 460; s.pc = 45; return s.tmp_1; + case 45: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 15; continue; } + r0 = s.tmp_0; + { step = 16; continue; } + case 15: + s.tmp_2 = Sprite_vy__P2147_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 461; s.pc = 46; return s.tmp_2; + case 46: + r0 = s.retval; + case 16: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 17; continue; } + s.tmp_4 = r0 = s.ty___21408; + s.tmp_7 = if_charHeight_1_mk(s); + s.tmp_7.arg0 = s.font___21402; + 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 = 462; s.pc = 47; return s.tmp_7; } + } + case 47: + 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___21408 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_6 = Sprite_vx__P2145_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 463; s.pc = 49; return s.tmp_6; + case 49: + 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, 50); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 50: + 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__P2147_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 464; s.pc = 51; return s.tmp_10; + case 51: + 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, 52); + pxsim_String__stringConv(s.tmp_8); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_8) + ""; } + case 52: + 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___21406; + s.tmp_0.arg3 = s.ty___21408; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = s.font___21402; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 465; s.pc = 48; return s.tmp_0; + case 48: + r0 = s.retval; + case 17: + case 18: + s.tmp_1 = Sprite_ax__P2149_mk(s); + s.tmp_1.arg0 = s.arg0; + s.callLocIdx = 466; s.pc = 53; return s.tmp_1; + case 53: + r0 = s.retval; + s.tmp_0 = r0; + r0 = pxsim_numops_toBool(s.tmp_0); + if (!r0) { step = 19; continue; } + r0 = s.tmp_0; + { step = 20; continue; } + case 19: + s.tmp_2 = Sprite_ay__P2151_mk(s); + s.tmp_2.arg0 = s.arg0; + s.callLocIdx = 467; s.pc = 54; return s.tmp_2; + case 54: + r0 = s.retval; + case 20: + // jmp value (already in r0) + s.tmp_3 = r0; + r0 = pxsim_numops_toBoolDecr(s.tmp_3); + if (!r0) { step = 21; continue; } + s.tmp_4 = r0 = s.ty___21408; + s.tmp_7 = if_charHeight_1_mk(s); + s.tmp_7.arg0 = s.font___21402; + 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 = 468; s.pc = 55; return s.tmp_7; } + } + case 55: + 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___21408 = (r0); + s.tmp_0 = helpers_imagePrint__P1787_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_6 = Sprite_ax__P2149_mk(s); + s.tmp_6.arg0 = s.arg0; + s.callLocIdx = 469; s.pc = 57; return s.tmp_6; + case 57: + 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, 58); + pxsim_String__stringConv(s.tmp_4); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_4) + ""; } + case 58: + 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__P2151_mk(s); + s.tmp_10.arg0 = s.arg0; + s.callLocIdx = 470; s.pc = 59; return s.tmp_10; + case 59: + 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, 60); + pxsim_String__stringConv(s.tmp_8); + checkResumeConsumed(); + return; + } else { s.retval = (s.tmp_8) + ""; } + case 60: + 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___21406; + s.tmp_0.arg3 = s.ty___21408; + s.tmp_0.arg4 = 1; + s.tmp_0.arg5 = s.font___21402; + s.tmp_0.arg6 = undefined; + s.callLocIdx = 471; s.pc = 56; return s.tmp_0; + case 56: + r0 = s.retval; + case 21: + case 22: + case 23: + case 24: + r0 = pxsim_numops_toBoolDecr(globals.debug___2681); + if (!r0) { step = 25; continue; } + s.tmp_0 = helpers_imageDrawRect__P1758_mk(s); + s.tmp_0.arg0 = globals.screen___1829; + s.tmp_3 = game_Hitbox_left__P2006_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_3.arg0 = r0; + s.callLocIdx = 472; s.pc = 62; return s.tmp_3; + case 62: + 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.ox___21345); + s.tmp_0.arg1 = r0; + s.tmp_7 = game_Hitbox_top__P2007_mk(s); + r0 = s.arg0.fields["_hitbox"]; + s.tmp_7.arg0 = r0; + s.callLocIdx = 474; s.pc = 63; return s.tmp_7; + case 63: + 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.oy___21353); + 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 = 478; s.pc = 61; return s.tmp_0; + case 61: + r0 = s.retval; + case 25: + case 26: + case 27: + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +Sprite___drawCore__P2202.info = {"start":19295,"length":2305,"line":646,"column":4,"endLine":712,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__drawCore","argumentNames":["this","camera"]} + +function Sprite___drawCore__P2202_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite___drawCore__P2202, depth: s.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, + ox___21345: undefined, + oy___21353: undefined, + l___21361: undefined, + t___21367: undefined, + font___21402: undefined, + tx___21406: undefined, + ty___21408: undefined, + arg0: undefined, + arg1: undefined, +} } + + + + + +function sprites_BaseSpriteSayRenderer_destroy__P2052(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2048_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSpriteSayRenderer_destroy__P2052.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__P2052_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_destroy__P2052, depth: s.depth + 1, + pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null, + arg0: undefined, +} } + + + + + +function sprites_BaseSpriteSayRenderer_draw__P2050(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2048_VT)) failedCast(r0); + r0 = undefined; + return leave(s, r0) + default: oops() +} } } +sprites_BaseSpriteSayRenderer_draw__P2050.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__P2050_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: sprites_BaseSpriteSayRenderer_draw__P2050, 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__P2183(s) { +let r0 = s.r0, step = s.pc; +s.pc = -1; + + +while (true) { +if (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__C2128_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__P2183.info = {"start":11007,"length":72,"line":392,"column":4,"endLine":394,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"__visible","argumentNames":["this"]} + +function Sprite___visible__P2183_mk(s) { + checkStack(s.depth); + return { + parent: s, fn: Sprite___visible__P2183, 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 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 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 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 PhysicsEngine__C2290_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_onPlayFinished_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_5_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, + arg4: undefined, +} } + + +function if_kind_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_factory_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__C2290_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_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_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 game_Dialog__C2647_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 game_BaseDialog__C2630_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 controller_Button__C1979_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 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 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__C2868_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__C2832_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 PhysicsEngine__C2290_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 PhysicsEngine__C2290_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_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 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 game_BaseDialog__C2630_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 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_callback_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_startScreenEffect_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 game_GameOverDialog__C2669_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 game_GameOverDialog__C2669_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_countdownEndHandler_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_lifeZeroHandler_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_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_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 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__C2290_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_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 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 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 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__C2868_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_BaseSpriteSayRenderer__C2048_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__C1888_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__C1888_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 sprites_BaseSpriteSayRenderer__C2048_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__C2048_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_Button__C1979_VT = mkVTable({ + name: "Button", + numFields: 7, + classNo: 16, + lastSubtypeNo: 17, + maxBgInstances: null, + methods: { + "isPressed": controller_Button_isPressed__P1990, + }, + 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__P4184, + "toString": controller_Button_toString__P1984, + "raiseButtonUp": controller_Button_raiseButtonUp__P4185, + "raiseButtonDown": controller_Button_raiseButtonDown__P4186, + "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P4187, + "onEvent": controller_Button_onEvent__P1986, + "isPressed": controller_Button_isPressed__P1990, + "pressureLevel": controller_Button_pressureLevel__P1991, + "setPressed": controller_Button_setPressed__P1992, + "__update": controller_Button___update__P1993, + "runButtonEvents": controller_Button_runButtonEvents__P4188, + "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P4189, + }, + toStringMethod: controller_Button_toString__P1984, +}); +const controller_AnyButton__C4182_VT = mkVTable({ + name: "AnyButton", + numFields: 7, + classNo: 17, + lastSubtypeNo: 17, + maxBgInstances: null, + methods: { + "isPressed": controller_AnyButton_isPressed__P4190, + }, + 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__P4190, + "handlerState": controller_Button_handlerState__P4184, + "toString": controller_Button_toString__P1984, + "raiseButtonUp": controller_Button_raiseButtonUp__P4185, + "raiseButtonDown": controller_Button_raiseButtonDown__P4186, + "raiseButtonRepeat": controller_Button_raiseButtonRepeat__P4187, + "onEvent": controller_Button_onEvent__P1986, + "pressureLevel": controller_Button_pressureLevel__P1991, + "setPressed": controller_Button_setPressed__P1992, + "__update": controller_Button___update__P1993, + "runButtonEvents": controller_Button_runButtonEvents__P4188, + "getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P4189, + }, +}); +const Math_FastRandom__C2740_VT = mkVTable({ + name: "FastRandom", + numFields: 2, + classNo: 18, + lastSubtypeNo: 18, + maxBgInstances: null, + methods: { + }, + iface: { + "lfsr": null, + "set/lfsr": null, + "seed": null, + "set/seed": null, + "next": Math_FastRandom_next__P2743, + "randomRange": Math_FastRandom_randomRange__P2744, + "pickRandom": Math_FastRandom_pickRandom__P2745, + }, +}); +const music_Melody__C1612_VT = mkVTable({ + name: "Melody", + numFields: 2, + classNo: 19, + lastSubtypeNo: 19, + maxBgInstances: null, + methods: { + }, + iface: { + "_text": null, + "set/_text": null, + "_player": null, + "set/_player": null, + "stop": music_Melody_stop__P1617, + "registerMelody": music_Melody_registerMelody__P4062, + "unregisterMelody": music_Melody_unregisterMelody__P4063, + "playCore": music_Melody_playCore__P4064, + "play": music_Melody_play__P1619, + "playUntilDone": music_Melody_playUntilDone__P1620, + "toString": music_Melody_toString__P1621, + }, + toStringMethod: music_Melody_toString__P1621, +}); +const sprites_BaseSprite__C1888_VT = mkVTable({ + name: "BaseSprite", + numFields: 2, + classNo: 20, + lastSubtypeNo: 23, + maxBgInstances: null, + methods: { + "__visible": sprites_BaseSprite___visible__P1891, + "__draw": sprites_BaseSprite___draw__P1894, + "__drawCore": sprites_BaseSprite___drawCore__P1895, + "__update": sprites_BaseSprite___update__P1896, + }, + iface: { + "_z": null, + "set/_z": null, + "id": null, + "set/id": null, + "__visible": sprites_BaseSprite___visible__P1891, + "z": sprites_BaseSprite_z__P1892, + "set/z": sprites_BaseSprite_z__P1893, + "__draw": sprites_BaseSprite___draw__P1894, + "__drawCore": sprites_BaseSprite___drawCore__P1895, + "__update": sprites_BaseSprite___update__P1896, + }, +}); +const Sprite__C2128_VT = mkVTable({ + name: "Sprite", + numFields: 30, + classNo: 21, + lastSubtypeNo: 21, + maxBgInstances: null, + methods: { + "__visible": Sprite___visible__P2183, + "__draw": sprites_BaseSprite___draw__P1894, + "__drawCore": Sprite___drawCore__P2202, + "__update": Sprite___update__P2203, + }, + 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__P2141, + "set/x": Sprite_x__P2142, + "y": Sprite_y__P2143, + "set/y": Sprite_y__P2144, + "vx": Sprite_vx__P2145, + "set/vx": Sprite_vx__P2146, + "vy": Sprite_vy__P2147, + "set/vy": Sprite_vy__P2148, + "ax": Sprite_ax__P2149, + "set/ax": Sprite_ax__P2150, + "ay": Sprite_ay__P2151, + "set/ay": Sprite_ay__P2152, + "fx": Sprite_fx__P2153, + "set/fx": Sprite_fx__P2154, + "fy": Sprite_fy__P2155, + "set/fy": Sprite_fy__P2156, + "sx": Sprite_sx__P2157, + "sy": Sprite_sy__P2159, + "data": Sprite_data__P2163, + "set/data": Sprite_data__P2164, + "image": Sprite_image__P2177, + "setImage": Sprite_setImage__P2178, + "calcDimensionalHash": Sprite_calcDimensionalHash__P2179, + "resetHitbox": Sprite_resetHitbox__P2180, + "setHitbox": Sprite_setHitbox__P2181, + "isStatic": Sprite_isStatic__P2182, + "__visible": Sprite___visible__P2183, + "recalcSize": Sprite_recalcSize__P4208, + "isScaled": Sprite_isScaled__P4209, + "width": Sprite_width__P2184, + "height": Sprite_height__P2185, + "left": Sprite_left__P2186, + "set/left": Sprite_left__P2187, + "right": Sprite_right__P2188, + "set/right": Sprite_right__P2189, + "top": Sprite_top__P2190, + "set/top": Sprite_top__P2191, + "bottom": Sprite_bottom__P2192, + "set/bottom": Sprite_bottom__P2193, + "kind": Sprite_kind__P2194, + "setKind": Sprite_setKind__P2195, + "setPosition": Sprite_setPosition__P2196, + "isOutOfScreen": Sprite_isOutOfScreen__P2201, + "__drawCore": Sprite___drawCore__P2202, + "__update": Sprite___update__P2203, + "setFlag": Sprite_setFlag__P2206, + "overlapsWith": Sprite_overlapsWith__P2207, + "clearObstacles": Sprite_clearObstacles__P2212, + "registerObstacle": Sprite_registerObstacle__P2213, + "destroy": Sprite_destroy__P2215, + "_destroyCore": Sprite__destroyCore__P2216, + "toString": Sprite_toString__P2221, + "z": sprites_BaseSprite_z__P1892, + "set/z": sprites_BaseSprite_z__P1893, + "__draw": sprites_BaseSprite___draw__P1894, + }, + toStringMethod: Sprite_toString__P2221, +}); +const scene_GameForeverHandler__C2550_VT = mkVTable({ + name: "GameForeverHandler", + numFields: 2, + classNo: 24, + lastSubtypeNo: 24, + maxBgInstances: null, + methods: { + }, + iface: { + "lock": null, + "set/lock": null, + "handler": null, + "set/handler": null, + }, +}); +const control_EventContext__C395_VT = mkVTable({ + name: "EventContext", + numFields: 9, + classNo: 25, + lastSubtypeNo: 25, + 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, + "deltaTimeMillis": null, + "set/deltaTimeMillis": null, + "prevTimeMillis": null, + "set/prevTimeMillis": null, + "idleCallbacks": null, + "set/idleCallbacks": null, + "runningCallbacks": null, + "set/runningCallbacks": null, + "deltaTime": control_EventContext_deltaTime__P400, + "runCallbacks": control_EventContext_runCallbacks__P4020, + "registerFrameCallbacks": control_EventContext_registerFrameCallbacks__P4021, + "register": control_EventContext_register__P401, + "unregister": control_EventContext_unregister__P402, + "registerFrameHandler": control_EventContext_registerFrameHandler__P403, + "registerHandler": control_EventContext_registerHandler__P405, + }, +}); +const scene_Scene__C2571_VT = mkVTable({ + name: "Scene", + numFields: 24, + classNo: 26, + lastSubtypeNo: 26, + 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, + "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__P2594, + "data": scene_Scene_data__P2595, + "millis": scene_Scene_millis__P2596, + "addSprite": scene_Scene_addSprite__P2597, + "destroy": scene_Scene_destroy__P2598, + "render": scene_Scene_render__P2599, + }, +}); +const control_FrameCallback__C392_VT = mkVTable({ + name: "FrameCallback", + numFields: 2, + classNo: 27, + lastSubtypeNo: 27, + maxBgInstances: null, + methods: { + }, + iface: { + "order": null, + "set/order": null, + "handler": null, + "set/handler": null, + }, +}); +const control_PollEvent__C3994_VT = mkVTable({ + name: "PollEvent", + numFields: 6, + classNo: 28, + lastSubtypeNo: 28, + 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 control_EventHandler__C4015_VT = mkVTable({ + name: "EventHandler", + numFields: 4, + classNo: 29, + lastSubtypeNo: 29, + 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__P4016, + "unregister": control_EventHandler_unregister__P4017, + }, +}); +const scene_Camera__C2512_VT = mkVTable({ + name: "Camera", + numFields: 8, + classNo: 30, + lastSubtypeNo: 30, + 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, + "shakeStartTime": null, + "set/shakeStartTime": null, + "shakeDuration": null, + "set/shakeDuration": null, + "shakeAmplitude": null, + "set/shakeAmplitude": null, + "offsetX": scene_Camera_offsetX__P2517, + "set/offsetX": scene_Camera_offsetX__P2518, + "offsetY": scene_Camera_offsetY__P2519, + "set/offsetY": scene_Camera_offsetY__P2520, + "x": scene_Camera_x__P2521, + "y": scene_Camera_y__P2522, + "left": scene_Camera_left__P2523, + "right": scene_Camera_right__P2524, + "top": scene_Camera_top__P2525, + "bottom": scene_Camera_bottom__P2526, + "update": scene_Camera_update__P2528, + }, +}); +const PhysicsEngine__C2290_VT = mkVTable({ + name: "PhysicsEngine", + numFields: 0, + classNo: 31, + lastSubtypeNo: 32, + maxBgInstances: null, + methods: { + "addSprite": PhysicsEngine_addSprite__P2292, + "removeSprite": PhysicsEngine_removeSprite__P2293, + "moveSprite": PhysicsEngine_moveSprite__P2294, + "draw": PhysicsEngine_draw__P2295, + "move": PhysicsEngine_move__P2296, + }, + iface: { + "addSprite": PhysicsEngine_addSprite__P2292, + "removeSprite": PhysicsEngine_removeSprite__P2293, + "moveSprite": PhysicsEngine_moveSprite__P2294, + "draw": PhysicsEngine_draw__P2295, + "move": PhysicsEngine_move__P2296, + }, +}); +const music_MelodyPlayer__C1622_VT = mkVTable({ + name: "MelodyPlayer", + numFields: 2, + classNo: 33, + lastSubtypeNo: 33, + maxBgInstances: null, + methods: { + }, + iface: { + "melody": null, + "set/melody": null, + "onPlayFinished": null, + "set/onPlayFinished": null, + "stop": music_MelodyPlayer_stop__P1626, + "queuePlayInstructions": music_MelodyPlayer_queuePlayInstructions__P4067, + "play": music_MelodyPlayer_play__P1627, + }, +}); +const controller_Controller__C1928_VT = mkVTable({ + name: "Controller", + numFields: 5, + classNo: 34, + lastSubtypeNo: 34, + 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__P1933, + "set/_controlledSprites": controller_Controller__controlledSprites__P1934, + "id": controller_Controller_id__P1935, + "left": controller_Controller_left__P1937, + "right": controller_Controller_right__P1938, + "up": controller_Controller_up__P1939, + "down": controller_Controller_down__P1940, + "moveSprite": controller_Controller_moveSprite__P1944, + "button": controller_Controller_button__P4181, + "connected": controller_Controller_connected__P1947, + "set/connected": controller_Controller_connected__P1948, + "__preUpdate": controller_Controller___preUpdate__P1952, + "__update": controller_Controller___update__P1953, + }, +}); +const controller_ControlledSprite__C1924_VT = mkVTable({ + name: "ControlledSprite", + numFields: 4, + classNo: 35, + lastSubtypeNo: 35, + maxBgInstances: null, + methods: { + }, + iface: { + "_inputLastFrame": null, + "set/_inputLastFrame": null, + "s": null, + "set/s": null, + "vx": null, + "set/vx": null, + "vy": null, + "set/vy": null, + }, +}); +const sprites_SpriteSet__C2242_VT = mkVTable({ + name: "SpriteSet", + numFields: 1, + classNo: 36, + lastSubtypeNo: 36, + maxBgInstances: null, + methods: { + }, + iface: { + "_sprites": null, + "set/_sprites": null, + "length": sprites_SpriteSet_length__P2245, + "add": sprites_SpriteSet_add__P2247, + "remove": sprites_SpriteSet_remove__P2249, + "contains": sprites_SpriteSet_contains__P2250, + "toString": sprites_SpriteSet_toString__P2253, + }, + toStringMethod: sprites_SpriteSet_toString__P2253, +}); +const scene_Background__C2400_VT = mkVTable({ + name: "Background", + numFields: 4, + classNo: 37, + lastSubtypeNo: 37, + maxBgInstances: null, + methods: { + }, + iface: { + "color": null, + "set/color": null, + "_image": null, + "set/_image": null, + "camera": null, + "set/camera": null, + "_layers": null, + "set/_layers": null, + "image": scene_Background_image__P2406, + "set/image": scene_Background_image__P2407, + "hasBackgroundImage": scene_Background_hasBackgroundImage__P2408, + "draw": scene_Background_draw__P2409, + }, +}); +const game_BaseDialog__C2630_VT = mkVTable({ + name: "BaseDialog", + numFields: 11, + classNo: 38, + lastSubtypeNo: 40, + maxBgInstances: null, + methods: { + "update": game_BaseDialog_update__P2643, + "setText": game_BaseDialog_setText__P2644, + "drawTextCore": game_BaseDialog_drawTextCore__P2645, + }, + iface: { + "image": null, + "set/image": null, + "frame": null, + "set/frame": null, + "cursor": null, + "set/cursor": null, + "columns": null, + "set/columns": null, + "rows": null, + "set/rows": null, + "unit": null, + "set/unit": null, + "innerLeft": null, + "set/innerLeft": null, + "innerTop": null, + "set/innerTop": null, + "cursorCount": null, + "set/cursorCount": null, + "font": null, + "set/font": null, + "textColor": null, + "set/textColor": null, + "update": game_BaseDialog_update__P2643, + "setText": game_BaseDialog_setText__P2644, + "drawTextCore": game_BaseDialog_drawTextCore__P2645, + "drawCursorRow": game_BaseDialog_drawCursorRow__P2646, + "drawBorder": game_BaseDialog_drawBorder__P4347, + "fastFill": game_BaseDialog_fastFill__P4348, + "clearInterior": game_BaseDialog_clearInterior__P4349, + "drawPartial": game_BaseDialog_drawPartial__P4350, + "cursorRowHeight": game_BaseDialog_cursorRowHeight__P4351, + "rowHeight": game_BaseDialog_rowHeight__P4352, + "textAreaWidth": game_BaseDialog_textAreaWidth__P4353, + "textAreaHeight": game_BaseDialog_textAreaHeight__P4354, + "setFont": game_BaseDialog_setFont__P4355, + }, +}); +const game_Dialog__C2647_VT = mkVTable({ + name: "Dialog", + numFields: 13, + classNo: 39, + lastSubtypeNo: 39, + maxBgInstances: null, + methods: { + "update": game_BaseDialog_update__P2643, + "setText": game_Dialog_setText__P2656, + "drawTextCore": game_Dialog_drawTextCore__P2657, + }, + iface: { + "image": null, + "set/image": null, + "frame": null, + "set/frame": null, + "cursor": null, + "set/cursor": null, + "columns": null, + "set/columns": null, + "rows": null, + "set/rows": null, + "unit": null, + "set/unit": null, + "innerLeft": null, + "set/innerLeft": null, + "innerTop": null, + "set/innerTop": null, + "cursorCount": null, + "set/cursorCount": null, + "font": null, + "set/font": null, + "textColor": null, + "set/textColor": null, + "chunks": null, + "set/chunks": null, + "chunkIndex": null, + "set/chunkIndex": null, + "hasNext": game_Dialog_hasNext__P2651, + "hasPrev": game_Dialog_hasPrev__P2652, + "nextPage": game_Dialog_nextPage__P2653, + "prevPage": game_Dialog_prevPage__P2654, + "chunkText": game_Dialog_chunkText__P2655, + "setText": game_Dialog_setText__P2656, + "drawTextCore": game_Dialog_drawTextCore__P2657, + "update": game_BaseDialog_update__P2643, + "drawCursorRow": game_BaseDialog_drawCursorRow__P2646, + "drawBorder": game_BaseDialog_drawBorder__P4347, + "fastFill": game_BaseDialog_fastFill__P4348, + "clearInterior": game_BaseDialog_clearInterior__P4349, + "drawPartial": game_BaseDialog_drawPartial__P4350, + "cursorRowHeight": game_BaseDialog_cursorRowHeight__P4351, + "rowHeight": game_BaseDialog_rowHeight__P4352, + "textAreaWidth": game_BaseDialog_textAreaWidth__P4353, + "textAreaHeight": game_BaseDialog_textAreaHeight__P4354, + "setFont": game_BaseDialog_setFont__P4355, + }, +}); +const particles_ParticleSource__C2832_VT = mkVTable({ + name: "ParticleSource", + numFields: 13, + classNo: 22, + lastSubtypeNo: 22, + maxBgInstances: null, + methods: { + "__visible": sprites_BaseSprite___visible__P1891, + "__draw": particles_ParticleSource___draw__P2838, + "__drawCore": sprites_BaseSprite___drawCore__P1895, + "__update": sprites_BaseSprite___update__P1896, + "updateParticle": particles_ParticleSource_updateParticle__P4714, + }, + 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__P2838, + "_update": particles_ParticleSource__update__P2839, + "_prune": particles_ParticleSource__prune__P2840, + "setAcceleration": particles_ParticleSource_setAcceleration__P2841, + "setRelativeToCamera": particles_ParticleSource_setRelativeToCamera__P2843, + "enabled": particles_ParticleSource_enabled__P2844, + "set/enabled": particles_ParticleSource_enabled__P2845, + "destroy": particles_ParticleSource_destroy__P2846, + "clear": particles_ParticleSource_clear__P2847, + "setAnchor": particles_ParticleSource_setAnchor__P2848, + "setRate": particles_ParticleSource_setRate__P2849, + "factory": particles_ParticleSource_factory__P2850, + "setFactory": particles_ParticleSource_setFactory__P2851, + "updateParticle": particles_ParticleSource_updateParticle__P4714, + "drawParticle": particles_ParticleSource_drawParticle__P4715, + "__visible": sprites_BaseSprite___visible__P1891, + "z": sprites_BaseSprite_z__P1892, + "set/z": sprites_BaseSprite_z__P1893, + "__drawCore": sprites_BaseSprite___drawCore__P1895, + "__update": sprites_BaseSprite___update__P1896, + }, +}); +const effects_ImageEffect__C2970_VT = mkVTable({ + name: "ImageEffect", + numFields: 4, + classNo: 41, + lastSubtypeNo: 41, + 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__P2972, + "change": effects_ImageEffect_change__P2973, + "startScreenEffect": effects_ImageEffect_startScreenEffect__P2974, + }, +}); +const effects_ParticleEffect__C2943_VT = mkVTable({ + name: "ParticleEffect", + numFields: 3, + classNo: 42, + lastSubtypeNo: 43, + maxBgInstances: null, + methods: { + }, + iface: { + "sourceFactory": null, + "set/sourceFactory": null, + "defaultRate": null, + "set/defaultRate": null, + "defaultLifespan": null, + "set/defaultLifespan": null, + "start": effects_ParticleEffect_start__P2945, + "destroy": effects_ParticleEffect_destroy__P2946, + }, +}); +const effects_ScreenEffect__C2947_VT = mkVTable({ + name: "ScreenEffect", + numFields: 5, + classNo: 43, + lastSubtypeNo: 43, + 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, + "startScreenEffect": effects_ScreenEffect_startScreenEffect__P2949, + "endScreenEffect": effects_ScreenEffect_endScreenEffect__P2950, + "start": effects_ParticleEffect_start__P2945, + "destroy": effects_ParticleEffect_destroy__P2946, + }, +}); +const particles_ParticleFactory__C2868_VT = mkVTable({ + name: "ParticleFactory", + numFields: 0, + classNo: 44, + lastSubtypeNo: 48, + maxBgInstances: null, + methods: { + "createParticle": particles_ParticleFactory_createParticle__P2870, + "drawParticle": particles_ParticleFactory_drawParticle__P2871, + }, + iface: { + "createParticle": particles_ParticleFactory_createParticle__P2870, + "drawParticle": particles_ParticleFactory_drawParticle__P2871, + }, +}); +const particles_SprayFactory__C2872_VT = mkVTable({ + name: "SprayFactory", + numFields: 3, + classNo: 45, + lastSubtypeNo: 48, + maxBgInstances: null, + methods: { + "createParticle": particles_SprayFactory_createParticle__P2874, + "drawParticle": particles_SprayFactory_drawParticle__P2875, + }, + iface: { + "speed": null, + "set/speed": null, + "minAngle": null, + "set/minAngle": null, + "spread": null, + "set/spread": null, + "createParticle": particles_SprayFactory_createParticle__P2874, + "drawParticle": particles_SprayFactory_drawParticle__P2875, + "setSpeed": particles_SprayFactory_setSpeed__P2876, + "setDirection": particles_SprayFactory_setDirection__P2877, + }, +}); +const particles_AreaFactory__C2878_VT = mkVTable({ + name: "AreaFactory", + numFields: 8, + classNo: 46, + lastSubtypeNo: 48, + maxBgInstances: null, + methods: { + "createParticle": particles_AreaFactory_createParticle__P2884, + "drawParticle": particles_AreaFactory_drawParticle__P2885, + }, + 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__P2884, + "drawParticle": particles_AreaFactory_drawParticle__P2885, + "setSpeed": particles_SprayFactory_setSpeed__P2876, + "setDirection": particles_SprayFactory_setDirection__P2877, + }, +}); +const particles_ShapeFactory__C2894_VT = mkVTable({ + name: "ShapeFactory", + numFields: 11, + classNo: 47, + lastSubtypeNo: 48, + maxBgInstances: null, + methods: { + "createParticle": particles_ShapeFactory_createParticle__P2898, + "drawParticle": particles_ShapeFactory_drawParticle__P2897, + }, + 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__P2896, + "drawParticle": particles_ShapeFactory_drawParticle__P2897, + "createParticle": particles_ShapeFactory_createParticle__P2898, + "setSpeed": particles_SprayFactory_setSpeed__P2876, + "setDirection": particles_SprayFactory_setDirection__P2877, + }, +}); +const particles_ConfettiFactory__C2899_VT = mkVTable({ + name: "ConfettiFactory", + numFields: 11, + classNo: 48, + lastSubtypeNo: 48, + maxBgInstances: null, + methods: { + "createParticle": particles_ShapeFactory_createParticle__P2898, + "drawParticle": particles_ShapeFactory_drawParticle__P2897, + }, + 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__P2896, + "drawParticle": particles_ShapeFactory_drawParticle__P2897, + "createParticle": particles_ShapeFactory_createParticle__P2898, + "setSpeed": particles_SprayFactory_setSpeed__P2876, + "setDirection": particles_SprayFactory_setDirection__P2877, + }, +}); +const particles_Particle__C2813_VT = mkVTable({ + name: "Particle", + numFields: 8, + classNo: 49, + lastSubtypeNo: 49, + 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 scene_BackgroundLayer__C2410_VT = mkVTable({ + name: "BackgroundLayer", + numFields: 6, + classNo: 50, + lastSubtypeNo: 50, + 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__P2418, + }, +}); +const tiles_TileMap__C2466_VT = mkVTable({ + name: "TileMap", + numFields: 5, + classNo: 51, + lastSubtypeNo: 51, + 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__P2469, + "set/scale": tiles_TileMap_scale__P2470, + "data": tiles_TileMap_data__P2471, + "offsetX": tiles_TileMap_offsetX__P2472, + "offsetY": tiles_TileMap_offsetY__P2473, + "areaWidth": tiles_TileMap_areaWidth__P2474, + "areaHeight": tiles_TileMap_areaHeight__P2475, + "layer": tiles_TileMap_layer__P2476, + "enabled": tiles_TileMap_enabled__P2478, + "setData": tiles_TileMap_setData__P2479, + "getTile": tiles_TileMap_getTile__P2480, + "getTileIndex": tiles_TileMap_getTileIndex__P2481, + "setTileAt": tiles_TileMap_setTileAt__P2482, + "getImageType": tiles_TileMap_getImageType__P2483, + "setWallAt": tiles_TileMap_setWallAt__P2484, + "getTilesByType": tiles_TileMap_getTilesByType__P2485, + "sampleTilesByType": tiles_TileMap_sampleTilesByType__P2486, + "isInvalidIndex": tiles_TileMap_isInvalidIndex__P4318, + "draw": tiles_TileMap_draw__P4319, + "isObstacle": tiles_TileMap_isObstacle__P2487, + "getObstacle": tiles_TileMap_getObstacle__P2488, + "isOnWall": tiles_TileMap_isOnWall__P2489, + "getTileImage": tiles_TileMap_getTileImage__P2490, + }, +}); +const tiles_TileMapData__C2448_VT = mkVTable({ + name: "TileMapData", + numFields: 7, + classNo: 52, + lastSubtypeNo: 52, + 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__P2450, + "height": tiles_TileMapData_height__P2451, + "scale": tiles_TileMapData_scale__P2452, + "set/scale": tiles_TileMapData_scale__P2453, + "getTile": tiles_TileMapData_getTile__P2454, + "setTile": tiles_TileMapData_setTile__P2455, + "getTileset": tiles_TileMapData_getTileset__P2456, + "getTileImage": tiles_TileMapData_getTileImage__P2457, + "setWall": tiles_TileMapData_setWall__P2458, + "isWall": tiles_TileMapData_isWall__P2459, + "isOutsideMap": tiles_TileMapData_isOutsideMap__P2460, + }, +}); +const ArcadePhysicsEngine__C2306_VT = mkVTable({ + name: "ArcadePhysicsEngine", + numFields: 6, + classNo: 32, + lastSubtypeNo: 32, + maxBgInstances: null, + methods: { + "addSprite": ArcadePhysicsEngine_addSprite__P2315, + "removeSprite": ArcadePhysicsEngine_removeSprite__P2316, + "moveSprite": ArcadePhysicsEngine_moveSprite__P2320, + "draw": ArcadePhysicsEngine_draw__P2317, + "move": ArcadePhysicsEngine_move__P2318, + }, + 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__P2308, + "set/maxSpeed": ArcadePhysicsEngine_maxSpeed__P2309, + "minStep": ArcadePhysicsEngine_minStep__P2310, + "set/minStep": ArcadePhysicsEngine_minStep__P2311, + "maxStep": ArcadePhysicsEngine_maxStep__P2312, + "set/maxStep": ArcadePhysicsEngine_maxStep__P2313, + "addSprite": ArcadePhysicsEngine_addSprite__P2315, + "removeSprite": ArcadePhysicsEngine_removeSprite__P2316, + "draw": ArcadePhysicsEngine_draw__P2317, + "move": ArcadePhysicsEngine_move__P2318, + "createMovingSprite": ArcadePhysicsEngine_createMovingSprite__P4247, + "spriteCollisions": ArcadePhysicsEngine_spriteCollisions__P4248, + "tilemapCollisions": ArcadePhysicsEngine_tilemapCollisions__P4249, + "tilemapOverlaps": ArcadePhysicsEngine_tilemapOverlaps__P4250, + "moveSprite": ArcadePhysicsEngine_moveSprite__P2320, + "canResolveClipping": ArcadePhysicsEngine_canResolveClipping__P4251, + "constrain": ArcadePhysicsEngine_constrain__P4252, + }, +}); +const sprites_SpriteMap__C2225_VT = mkVTable({ + name: "SpriteMap", + numFields: 5, + classNo: 53, + lastSubtypeNo: 53, + 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__P2227, + "overlaps": sprites_SpriteMap_overlaps__P2228, + "draw": sprites_SpriteMap_draw__P2229, + "resizeBuckets": sprites_SpriteMap_resizeBuckets__P2230, + "clear": sprites_SpriteMap_clear__P2231, + "key": sprites_SpriteMap_key__P4210, + "insertAtKey": sprites_SpriteMap_insertAtKey__P4211, + "insertAABB": sprites_SpriteMap_insertAABB__P2232, + "mergeAtKey": sprites_SpriteMap_mergeAtKey__P4212, + "toString": sprites_SpriteMap_toString__P2233, + }, + toStringMethod: sprites_SpriteMap_toString__P2233, +}); +const scene_Renderable__C2530_VT = mkVTable({ + name: "Renderable", + numFields: 4, + classNo: 23, + lastSubtypeNo: 23, + maxBgInstances: null, + methods: { + "__visible": scene_Renderable___visible__P2532, + "__draw": sprites_BaseSprite___draw__P1894, + "__drawCore": scene_Renderable___drawCore__P2533, + "__update": sprites_BaseSprite___update__P1896, + }, + 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__P2532, + "__drawCore": scene_Renderable___drawCore__P2533, + "z": sprites_BaseSprite_z__P1892, + "set/z": sprites_BaseSprite_z__P1893, + "__draw": sprites_BaseSprite___draw__P1894, + "__update": sprites_BaseSprite___update__P1896, + }, +}); +const tiles_Location__C2424_VT = mkVTable({ + name: "Location", + numFields: 2, + classNo: 54, + lastSubtypeNo: 54, + maxBgInstances: null, + methods: { + }, + iface: { + "_row": null, + "set/_row": null, + "_col": null, + "set/_col": null, + "tileMap": tiles_Location_tileMap__P2426, + "column": tiles_Location_column__P2427, + "row": tiles_Location_row__P2428, + "x": tiles_Location_x__P2429, + "y": tiles_Location_y__P2430, + "left": tiles_Location_left__P2431, + "top": tiles_Location_top__P2432, + "tileSet": tiles_Location_tileSet__P2435, + "place": tiles_Location_place__P2440, + }, +}); +const scene_TileWallHandler__C2546_VT = mkVTable({ + name: "TileWallHandler", + numFields: 2, + classNo: 55, + lastSubtypeNo: 55, + maxBgInstances: null, + methods: { + }, + iface: { + "spriteKind": null, + "set/spriteKind": null, + "handler": null, + "set/handler": null, + }, +}); +const info_PlayerInfo__C2361_VT = mkVTable({ + name: "PlayerInfo", + numFields: 12, + classNo: 56, + lastSubtypeNo: 56, + maxBgInstances: null, + methods: { + }, + iface: { + "_player": null, + "set/_player": null, + "bg": null, + "set/bg": null, + "border": null, + "set/border": null, + "fc": null, + "set/fc": null, + "showScore": null, + "set/showScore": null, + "showLife": null, + "set/showLife": null, + "visibility": null, + "set/visibility": null, + "showPlayer": null, + "set/showPlayer": null, + "x": null, + "set/x": null, + "y": null, + "set/y": null, + "left": null, + "set/left": null, + "up": null, + "set/up": null, + "init": info_PlayerInfo_init__P4308, + "getState": info_PlayerInfo_getState__P2374, + "id": info_PlayerInfo_id__P2375, + "score": info_PlayerInfo_score__P2376, + "hasScore": info_PlayerInfo_hasScore__P2379, + "hasLife": info_PlayerInfo_hasLife__P2383, + "raiseLifeZero": info_PlayerInfo_raiseLifeZero__P2385, + "drawPlayer": info_PlayerInfo_drawPlayer__P2386, + "drawScore": info_PlayerInfo_drawScore__P2387, + "drawLives": info_PlayerInfo_drawLives__P2388, + }, +}); +const game_GameOverDialog__C2669_VT = mkVTable({ + name: "GameOverDialog", + numFields: 16, + classNo: 40, + lastSubtypeNo: 40, + maxBgInstances: null, + methods: { + "update": game_GameOverDialog_update__P2672, + "setText": game_BaseDialog_setText__P2644, + "drawTextCore": game_GameOverDialog_drawTextCore__P2673, + }, + iface: { + "image": null, + "set/image": null, + "frame": null, + "set/frame": null, + "cursor": null, + "set/cursor": null, + "columns": null, + "set/columns": null, + "rows": null, + "set/rows": null, + "unit": null, + "set/unit": null, + "innerLeft": null, + "set/innerLeft": null, + "innerTop": null, + "set/innerTop": null, + "cursorCount": null, + "set/cursorCount": null, + "font": null, + "set/font": null, + "textColor": null, + "set/textColor": null, + "cursorOn": null, + "set/cursorOn": null, + "isNewHighScore": null, + "set/isNewHighScore": null, + "win": null, + "set/win": null, + "score": null, + "set/score": null, + "highScore": null, + "set/highScore": null, + "displayCursor": game_GameOverDialog_displayCursor__P2671, + "update": game_GameOverDialog_update__P2672, + "drawTextCore": game_GameOverDialog_drawTextCore__P2673, + "setText": game_BaseDialog_setText__P2644, + "drawCursorRow": game_BaseDialog_drawCursorRow__P2646, + "drawBorder": game_BaseDialog_drawBorder__P4347, + "fastFill": game_BaseDialog_fastFill__P4348, + "clearInterior": game_BaseDialog_clearInterior__P4349, + "drawPartial": game_BaseDialog_drawPartial__P4350, + "cursorRowHeight": game_BaseDialog_cursorRowHeight__P4351, + "rowHeight": game_BaseDialog_rowHeight__P4352, + "textAreaWidth": game_BaseDialog_textAreaWidth__P4353, + "textAreaHeight": game_BaseDialog_textAreaHeight__P4354, + "setFont": game_BaseDialog_setFont__P4355, + }, +}); +const info_PlayerState__C2332_VT = mkVTable({ + name: "PlayerState", + numFields: 3, + classNo: 57, + lastSubtypeNo: 57, + maxBgInstances: null, + methods: { + }, + iface: { + "score": null, + "set/score": null, + "life": null, + "set/life": null, + "lifeZeroHandler": null, + "set/lifeZeroHandler": null, + }, +}); +const info_InfoState__C4253_VT = mkVTable({ + name: "InfoState", + numFields: 10, + classNo: 58, + lastSubtypeNo: 58, + maxBgInstances: null, + methods: { + }, + iface: { + "playerStates": null, + "set/playerStates": null, + "visibilityFlag": null, + "set/visibilityFlag": null, + "gameEnd": null, + "set/gameEnd": null, + "heartImage": null, + "set/heartImage": null, + "multiplierImage": null, + "set/multiplierImage": null, + "bgColor": null, + "set/bgColor": null, + "borderColor": null, + "set/borderColor": null, + "fontColor": null, + "set/fontColor": null, + "countdownExpired": null, + "set/countdownExpired": null, + "countdownEndHandler": null, + "set/countdownEndHandler": null, + }, +}); +const game_Hitbox__C1998_VT = mkVTable({ + name: "Hitbox", + numFields: 6, + classNo: 59, + lastSubtypeNo: 59, + 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__P2006, + "top": game_Hitbox_top__P2007, + "right": game_Hitbox_right__P2008, + "bottom": game_Hitbox_bottom__P2009, + "isValid": game_Hitbox_isValid__P2010, + "contains": game_Hitbox_contains__P2011, + "overlapsWith": game_Hitbox_overlapsWith__P2012, + }, +}); +const scene_TileOverlapHandler__C2548_VT = mkVTable({ + name: "TileOverlapHandler", + numFields: 3, + classNo: 60, + lastSubtypeNo: 60, + maxBgInstances: null, + methods: { + }, + iface: { + "spriteKind": null, + "set/spriteKind": null, + "tileKind": null, + "set/tileKind": null, + "handler": null, + "set/handler": null, + }, +}); +const controller_ButtonHandler__C1973_VT = mkVTable({ + name: "ButtonHandler", + numFields: 2, + classNo: 61, + lastSubtypeNo: 61, + maxBgInstances: null, + methods: { + }, + iface: { + "event": null, + "set/event": null, + "callback": null, + "set/callback": null, + }, +}); +const controller_ButtonEventHandlerState__C1975_VT = mkVTable({ + name: "ButtonEventHandlerState", + numFields: 3, + classNo: 62, + lastSubtypeNo: 62, + maxBgInstances: null, + methods: { + }, + iface: { + "id": null, + "set/id": null, + "user": null, + "set/user": null, + "system": null, + "set/system": null, + }, +}); +const scene_systemMenu_PauseMenu__C2776_VT = mkVTable({ + name: "PauseMenu", + numFields: 7, + classNo: 63, + lastSubtypeNo: 63, + 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__P2778, + "onUpdate": scene_systemMenu_PauseMenu_onUpdate__P2779, + "setSelection": scene_systemMenu_PauseMenu_setSelection__P2780, + "drawText": scene_systemMenu_PauseMenu_drawText__P2781, + "dispose": scene_systemMenu_PauseMenu_dispose__P2782, + "updateScrollTarget": scene_systemMenu_PauseMenu_updateScrollTarget__P4629, + }, +}); +const scene_systemMenu_MenuOption__C2768_VT = mkVTable({ + name: "MenuOption", + numFields: 8, + classNo: 64, + lastSubtypeNo: 64, + 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__P2770, + "position": scene_systemMenu_MenuOption_position__P2771, + "setOffset": scene_systemMenu_MenuOption_setOffset__P2772, + "setTheme": scene_systemMenu_MenuOption_setTheme__P2773, + "setState": scene_systemMenu_MenuOption_setState__P2774, + "dispose": scene_systemMenu_MenuOption_dispose__P2775, + "updateCard": scene_systemMenu_MenuOption_updateCard__P4628, + }, +}); +const MovingSprite__C2304_VT = mkVTable({ + name: "MovingSprite", + numFields: 7, + classNo: 65, + lastSubtypeNo: 65, + 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 sprites_StaticObstacle__C2277_VT = mkVTable({ + name: "StaticObstacle", + numFields: 5, + classNo: 66, + lastSubtypeNo: 66, + 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__P2284, + "y": sprites_StaticObstacle_y__P2285, + "height": sprites_StaticObstacle_height__P2286, + "width": sprites_StaticObstacle_width__P2287, + }, +}); +const effects_SceneAnchor__C4757_VT = mkVTable({ + name: "SceneAnchor", + numFields: 1, + classNo: 67, + lastSubtypeNo: 67, + maxBgInstances: null, + methods: { + }, + iface: { + "camera": null, + "set/camera": null, + "x": effects_SceneAnchor_x__P4758, + "y": effects_SceneAnchor_y__P4759, + "width": effects_SceneAnchor_width__P4760, + "height": effects_SceneAnchor_height__P4761, + }, +}); +const sprites_BaseSpriteSayRenderer__C2048_VT = mkVTable({ + name: "BaseSpriteSayRenderer", + numFields: 3, + classNo: 68, + lastSubtypeNo: 68, + maxBgInstances: null, + methods: { + "draw": sprites_BaseSpriteSayRenderer_draw__P2050, + "update": sprites_BaseSpriteSayRenderer_update__P2051, + "destroy": sprites_BaseSpriteSayRenderer_destroy__P2052, + }, + iface: { + "text": null, + "set/text": null, + "fgColor": null, + "set/fgColor": null, + "bgColor": null, + "set/bgColor": null, + "draw": sprites_BaseSpriteSayRenderer_draw__P2050, + "update": sprites_BaseSpriteSayRenderer_update__P2051, + "destroy": sprites_BaseSpriteSayRenderer_destroy__P2052, + }, +}); + +const breakpoints = setupDebugger(1, ["transparency16___3934","py___3926","projectile___3925","mySprite___3932","px___3924","canTP___3923","_type___3930","typeSprite___3931","level___3927","levels___3929","levelStartMessage___3928"]) + +return _main___P22000 +}) 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..bd52db8 --- /dev/null +++ b/assets/version.txt @@ -0,0 +1 @@ +0.0.0 \ No newline at end of file diff --git a/images.g.jres b/images.g.jres new file mode 100644 index 0000000..cf79135 --- /dev/null +++ b/images.g.jres @@ -0,0 +1,27 @@ +{ + "image1": { + "data": "hwQQABAAAAAAAN0iIgIAAAAtIiIiIgIA0CIiIiIiIgAgIiIiIiIiAC0iIiIiIiICIiIiIiIiIgIiIiIiIiIiAiIiIiIiIiLSIiIiIiIiItIiIiIiIiIi0iIiIiIiIiICICIiIiIiIg0gIiIiIiIiAAAiIiIiItIAAAAiIiLS3QAAAAAAAAAAAA==", + "mimeType": "image/x-mkcd-f4", + "displayName": "red" + }, + "image2": { + "data": "hwQQABAAAAAAAN2IiAgAAACNiIiIiAgA0IiIiIiIiACAiIiIiIiIAI2IiIiIiIgIiIiIiIiIiAiIiIiIiIiICIiIiIiIiIjYiIiIiIiIiNiIiIiIiIiI2IiIiIiIiIgIgIiIiIiIiA2AiIiIiIiIAACIiIiIiNgAAACIiIjY3QAAAAAAAAAAAA==", + "mimeType": "image/x-mkcd-f4", + "displayName": "blue" + }, + "image3": { + "data": "hwSgAH0AAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uvu7u7u7u7k5ORERERERERERERERERERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7k5EREREREREREREREREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u5EREREREREREREREREREREREREREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7k7u7u7k5OTkTkRERERERERERERERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7k7u7uRE5EREREREREREREREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u5O5EREREREREREREREREREREREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uTu7u5O5ERERERERERERERERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u5O7kREREREREREREREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u6+7u7u7u7u7k5OTkREREREREREREREREREREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uvu7u7u7k7uTuRORERERERERERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7r7u7u7u7u7u7u5OTkREREREREREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u6+7u7u6+7u7uTu7u7u7kREREREREREREREREREREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uu7vu7u7u7u7u7u7u7u7uTkRERERERERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7r6+7u7u7u7u7u7u7u7u5ORORE5EREREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uRETuREREREREREREREREREREREREBADu7u7u7u7u7u7u7u7u6+7u7u7u7u7u7u6+7ru77u677u7u7u7u7u5O7k7u7kRERERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uvru77u7u7uvu7u7u7u7u7k7kTkREREREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u7u7u6+u+7u7u7u7u7u7u7u7u7u7u5O5ERE7kROREREREREREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u5O7kTu7u7kRERERERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7uvu7u7u7u7u7u7u7u7u7r677u677r7r7u7u7k7u7k5EREREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uu+7u7u67u+7u7u7u6+7u7u7uRO7u5EREREREREREREREREREREREBADu7u7u7u7u7u7u7u7u7u7uvu7u7u6+u7vr7u6+u7vr7u7u7u7u7u7u7u5OTu7kRERERERERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7r7u7uu7u767vu7u7u7u7uvu7u7k7k5EREREREREREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7r7r676+7u7u7uu7u7u+u7u+7u7r7r7r5O7u5EROREREREREREREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u6+u7u76+7u7r67u7vru7vu7u7u7u677u7u5O7k7k7uTkRERERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7r7ru+vuu+6+u7u7u7u76+7u7u7uu+vu7kTu7u7u7k5EREREREREREREREQOAO7u7u7u7u7u7u7u7r7r7uvu7u7u6+7u7rvrvru7u7u7u7vu7u7u7u7u7u7k7uTu7u7kREREREREREREREREDgDu7u7u7u7u7u7u7u6+6+7u7u7uu+vu7u676767u7u7u7u76+7u7u7u7u7u7u5E7k5ERERERERERERERERERA4Avu7u7u7u7u7u7u7u7uvu7u6+vru77u7uu7u+u7u7u7u7u7vu7u7u7u7r7u7u7u7u7uTuREREREREREREROQMAO7u7u7u7u7u7u6+7u7r7u7u7r7r7u7uu7677ru7u7u7u7vr7u7u7u7uvk7u7u7u7k5ERE5ERERERERERET0DADu7u7u7u7u7u7u7u7r7u7u7u676+7u7ru76+u7u7u7u7u76+7u7u7u7u7u7u7u7u7kRE7kRERERERERERE9AwA7u7u7u7u7u7u7u7u6+7uvu7u7u7uu77u7ru+vu67u7u7u7vu7u7u7u7u7u7u7u7u5O5OTkRERERERERERP4PAO7u7u7u7u7u7u7u7u7u7u7u7u6+67u77r67vuu+67u7u7u77u7u7u7u7u7u7u7u7u5O7u5OREREREREROTPDwDu7u7u7u7u7u7u7u7u7u7u7u7r7uu76+6+u7u77u67u7u7u+vu7u7u7u7u7u7u7u7u7u5O7kRERERERETkzw8A7u7u7u7u7u7u7u6+vr7u7r7u7u7u7uu+7u6+u77uvru7u7u77u7u7uvu7u7u7u7u7u5O7u7kRERERERE5M8PAO7u7u7u7u7u7u6+7uvu7u7u7u7u7u7r7u7u7ru7u+67u+vu7rvu7u7u7u7u7u7u7u7u7uROTkRERERERO7/DwDu7u7u7u7u7u7u7r7r7u67u+vuvr7u7u6+7u67u+vru7vr7uvuu+7uvu7u7u6+7u7u7u7u7u5ETkRERET+/A8A7u7u7u7u7r7r7u7u6+vuu+vu7r7u7r7ru7u7u+7r7u67u+7uu77u7r7u7u7u7u7u7u7u7u7kRERERERE/v8PAO7u7u7u7u6+67u76+7rvu7uvuvMz/zPzMzM7L7u7ru7vrvuu7vu7u6+u+7u6+7u7u7u7u7u7k5ERERE5P//DwDu7u7u7u7u7u677u7u7u67u87Mu8vMzMzMzOzu7u7u7r67u7vr7u7r7ru76+7u7u7u7u7u7u7u5E5EROT//w8A7u7u7u7u7u6+7u6+u+vuzs67u927u7vMzMz8/////+/u7u7u7u7u7u7uvuvu7u7u7u7u7u7u7kTuRETu//8PAO7u7u7u7u7uvu7u7u677szM3d27zMzMzMzMzMzMzMz8/////////+/u7u7r7u6+7u7u7u7u7u7u7u5E////DwDu7u7u7u7u7uvu7v/Pvv/b3d27y8zMzMzMzMzMzMzMzMzMzOzu7u7O////////v+vu7u7u7u7uTuTu7v///w8A7u7u7u7u7u7uzsy7vc/d3d27u8zMzMzMzMzMzMzMzMzMzP+7u+vu7u7u7u67u8vs7u7u7u7u7u7u5P78//8PAO7u7u7u7u7u7ry73d273d29u8zMzMzMzMzMzMzMzMzMzMy7u7u7u7u7u+7uu7vr7u7u7u7u7uTu7uT+/P//DwDu7u7u7u7r7szc3d3d3d3dvcvMzMzMzMzMzMzMzMzu7u7u3bu7u7u7u7vu7r67u+vu7u7u7u7u7u7k/v///w8A7u7u7u7u687M293d3d3dvbvMzMzMzMzM7O7u7u7u293d3d27u7u7u7u77u7u7r7r7u7u7u7u7u5E7s////8PAO7u7u7u7v7P293d3d3d3b3MzMzMzPz//7/d3d3d3d3d3d3b3bu7u7u7u7u7u7vr7v7/7+7u7u7u7u7/////DwDu7u7u7s68u9vd3d3d3b3LzMzMzP+83d3d3d3d3d3d3b27u9vd3bu7u7u7u7u7u7vu7u7/7u7u7u7u/////w8A7s7u7u7M273b3d3d3d27zMzMzOy7293d3d3d3d3d3b27u7vb3d29u7u7u7u7u7u76+7uzO7u7u7u7vzPzOwOAMzMzO7OzN3d3d3d3d3dy8zMzMy+293d3d3d3d3d3d277u6+293d3b27u7u7u7u7u7vr7u787u7u7v7MzMy8CwDOzMzuzLzd3d3dvbu7u8zMzMzu293d3d3d3d3d3d29u+7u7tvd3d3du7u7u7u727u7u+vu7v7v7u7+zMy+uwsAzMzMzMzb293d3b3LzMzMzPzv293d3d3d3d3d3d297u7u7u6+3d3d3bu7u73d3d3dvbu76+7u/u/+z8zsu7sLAMzMzMzM273d3bu7y8zMzMzv293d3d3d3d3d3d3dve7u7u7uvt3d3d27293d3d3d3d29u+vu7u7u/8zMvru7CwDMzMzMzNu93b27u8zMzMzsvt3d3d3d3d3d3d3d3evu7u7u7r7b3d3dvdvd3d3d3d3d3bu77u7u7v7s7ru7uwsAzMzMzL/dvd29u8vMzMzMvtvd3d3d3d3d3d3d3d3u7u7u7u7u293d3dvd3d3d3d3d3d3du+vu7u7u7u7u7u4OAMzMzMzc3b27u8vMzMy87Nvd3d3d3d3d3d3d3d3d7u7u7u7u7tvd3b273d3d3d3d3d3d3bu77u7u7u7u7u7uDgDMzMz83d29u7vLzMzMzL/d3d3d3d3d3d3d3d3d6+7u7u7u7u7b3d3d3d3d3d3d3d3d3d29u7vr7u7u7+7u7g4AzMzM/N3dvbu7y8zMzMu/3d3d3d3d3d3d3d3d3evu7u7O7O7u293d3d3d3d3d3d3d3d3dvbu7u+7u7v7u7u4OAMzMzPzd3bu7u8zMzMzLv93d3d3d3d3d3d3d3d3r7u7uzuzu7rvd3d3d3d3d3d3d3d3d3b27u7vu7u7u7u7uDgDMzMv83d27u7vMzMzMy7/d3d3d3d3d3d3d3d3d6+7u7s7s7u67293d3d3d3d3d3d3d3d27u7u77u7u7u7u7g4AzMy7zN29u8vMzMzMzMu/3d3d3d3d3d3d3d3d3evu7u787O7uu7vd3d3d3d3d3d3d3d3du7u7u+7u7u7+7u4OAMzMy9y9u8zMzMzMzMzMv93d3d3d3d3d3d3d3d3r7u7u/P/u7r67293d3d3d3d3d3d3du7u7u+7u7u7u7v7vDgDMzMzcu8vMzMzMzMzMzL/d3d3d3d3d3d3d3d3d6+7u7vz/7u67u93d3d3d3d3d3d3du7u7u7vu7u7u7u7u7w4AzMzM3L3MzMzMzMzMzMy/3d3d3d3d3d3d3d3d3evu7u78/+7uvrvd3d3d3d3d3d3d3bu7u7u7u+7u7u7u7u4OAMzMzNy9zMzMzMzMzMzMv93d3d3d3d3d3d3d3d3r7u7u/P/u7r673d3d3d3d3d3d3b277r67u7u76+7u7u7uDgDMzMzbvczMzMzMzMzMzL/d3d3d3d3d3d3d3d296+7u7vz/7u6+u93d3d3d3d3d3d29u+6+u929u7vrvu7u7g8AzMy83bvMzMzMzMzMzMy/3d3d3d3d3d3d3d3dvevu7u7O/+7uvrvd3d3dvbvb3d3d3bvuvt3d3bu7u7vu7u4OAMzMvL3MzMzMzMzMzMy87Nvd3d3d3d3d3d3d3b277u7u7v7u7ru7u9vdu7vrvtvd3d277r7d3d3d3b277u7uDgDMzLy7zMzMzMzMzMzMvPzb3d3d3d3d3d3d3d27u+7u7u7O7u6+u7u7u+6+3e67u7u7u+6+3d3d3d3du+vu7g4AzMy8u8zMzMzMzMzMzLz8293d3d3d3d3d3d3du7vu7u7u7u7u7r67u+vu293uvu7uvuvuvt3d3d3d3b3r7u4OAMzMvL3MzMzMzMzMzMy8/Nvd3d3d3d3d3d3d3bu77u7u7u7u7u7uu7vr7t3d7u7u7r7r7r7d3d3d3d3du+7uDgDMzLzdy8zMzMzMzMzMvPzb3d3d3d3d3d3d3d29u+vu7u7u7u6+u+vu7u7d3e7u7u7u7u6+3d3d3d3dvbu76w4AzMy83bvMzMzMzMzMzMzL7N3d3d3d3d3d3d3dvbu77u7u7u7u7u7u3d3d3d297u7u7u7uvtvdvdvd3d29u+sOAMzMvL29y8zMzMzMzMzMy+zd3d3d3d3d3d3d3d27u+vu7u7d3d3d3d3d3d3dve7u7u7u7r7bvbu73d3dvbvrDgDMzLy9vbvMzMzMzMzMzMvs3d3d3d3d3d3d3d3dvbu7u7u73d3d3d3d3d3d3b3u7u7u7u6+u7u7u93d3b276w4AzMzMu7u7y8zMzMzMzMzM7N3d3d3d3d3d3d3d3d29u93d3d3d3d3d3d3d3d297u7u7uvuvru7u7vd3d3d3esOAMz83bu7u8vMzMzMzMzMzOzb3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3dve7u7u7r7r67u7u73d3d3d3rDgDM/N27u7vLzMzMzMzMzMzs293d3d3d3d3d3d3dvd3d3d3d3d3d3d3d3d3d3d3r7u7u7u6+u7u7u93d3d276w4AzPzdy8y7y8zMzMzMzMzM7Nvd3d3d3d3d3d3d3b3b3d3d3d3d3d3d3d3d3d3d6+7u7u7uvru7u7vd3d3du+sOAMz8u8vMvMvMzMzMzMzMzOy73d3d3d3d3d3d3d29u7u73d3d3d3d3d3d3d3d3evu7u7u7r67u7u73d3d3bvuDgDM/LzLvMzMzMzMzMzMzMzsu93d3d3d3d3d3d3dvbu7u+7u7u7e3e3d3e7d3b3u7u7u7u6+2727u93d3b3r7g4AzMzMu8vMzMzMzMzMzMz8vtvd3d3d3d3d3d3dvbu7u+vu7u7u7u7u7u7uvt297u7u7u7uu9u9u7vd3d297u4OAMzMvN3LzMzMzMzMzMzM/L7b3d3d3d3d3d3d3b27u+7u7u7u7ru7u+7u7u676+7u7u7r7rvb3b3b3d3du+7uDgDMzLzdvcvMzMzMzMzMzPy+293d3d3d3d3d3d29u+7u7u7u7u67u7u7u+7u7u7u7u7u6+673d3d3d3du7vu7g4AzMy83b27zMzMzMzMzMz8vtvd3d3d3d3d3d3dvbvu7u7u7u7uu7u7u7vu7u7u7rvu7uvuvt3d3d3dvbvr7u4OAMzMzNzbvcvMzMzMzMzM/L7b3d3d3d3d3d3d3b277u7u7u7u7ru7u7u76+7u7u67677r7r7d3d3d3b276+7uDgDMzMzcvbu7zMzMzMzMzPy+3d3d3d3d3d3d3d296+7u7u7u7u67u7vb3bvu7r67u7u76+6+3d3d3d29u+vu7g4AzMzMzN3dvbvLzMzMzMz8vt3d3d3d3d3d3d3dvevu7u7u/u6+u7vb3d29u7u72929u+vu3t3d3d3du7vu7u4OAMzMzPzd3bu7zMzMzMzM/Nvd3d3d3d3d3d3d3b3r7u7u7s7uvru73d3dvbu7u93dvbvr7r7d3d29u7vr7u7uDgDMzMzM2927u8zMzMzMzOzb3d3d3d3d3d3d3d296+7u7s7u7u673d3d3d3du7vd3b276+6+u93du7vu7u7u7g4AzMzMzN/d3bvLzMzMzMy/293d3d3d3d3d3d3dvevu7u787O7uu93d3d3d3d272927u+vuvrvbvbu77u7u7u4OAMzMzMzf3d3du8vMzMzMv93d3d3d3d3d3d3d3b3r7u7u/P/u7rvd3d3d3d3d3d3dvbvr7r67u7vr7u7u7u7uDgDMzMzMzNvd3b3LzMzMzL/d3d3d3d3d3d3d3d296+7u7vz/7u673d3d3d3d3d3d3b27u+7uvuvr7u7u7u7u7g4AzMzMzMzb3b27u8zMzMy/3d3d3d3d3d3d3d3d3evu7u78/+7uu93d3d3d3d3d3d3du7vr7rvu7u7u7u7u7u4OAMzMzMzM2929u7vLzMzLv93d3d3d3d3d3d3d3d3r7u7u/Mzuu9vd3d3d3d3d3d3d3b27u7u77u7u7u7u7u7+DgDMzMzMzMzd3cu7u8zMy7/d3d3d3d3d3d3d3d3d6+7u68zuvrvd3d3d3d3d3d3d3d3du7u7u+7u7u7u7u7u/g4AzMzMzMzM3d29zMzMzMu/3d3d3d3d3d3d3d3d3evu7uvu7ru73d3d3d3d3d3d3d3d3d27u7vr7u7u7u7u7u8OAMzMzMzMzN3d3czMzMzLv93d3d3d3d3d3d3d3d3r7u7rzuy7u93d3d3d3d3d3d3d3d3dvbu76+7u7u7u7u/uDgDMzMzMzMzbvd3LzMzMzL/d3d3d3d3d3d3d3d3dve7u687vvrvd3d3d3d3d3d3d3d3d3d276+7u7u7u7u7u7g4AzMzMzMzM37vbu8zMzMy/3d3d3d3d3d3d3d3d3d3u7uvO7O673d3d3d3d3d3d3d3d3d29u+vu7u7u7u7u7u4OAMzMzMzMzNy7u73LzMzMv93d3d3d3d3d3d3d3d3d7u7r7u7uu93d3d3d3d3d3d3d3d3du7vr7u7u7u7+7u7uDgDMzMzMzMz83bu7u8zMzPzb3d3d3d3d3d3d3d3d3b3u6+7u7rvd3d3d3d3d3d3d3d3dvbu77u7u7u7u7u7u7g4AzMzMzMzM/N3Lu7vLzMz8293d3d3d3d3d3d3d3d297u7u7u7b3d3d3d3d3d3d3d3d3b276+7u7u7u7+7u7u4OAMzMzMzMzMy7u7zLvMzMzL7d3d3d3d3d3d3d3d3dvevu7u7u293d3d3d3d3d3d3d3b27u+vu7u7u7u7u7u7uDgDMzMzMzMzMvLvMzLzMzMzsu93d3d3d3d3d3d3d3d3r6+vuvtvd3d3d3d3d3d3d3d29u7u77u7u7u7u7u7u7g4AzMzMzMzMzMzczLzMzMzMzL/b3d3d3d3d3d3d3d3du7u7u7vb3d3d3d3d3d3d3d3du7u7u+vu7u7u7u7u7u4OAMzMzMzMzMzM3MvMzMzMzMz879vd3d3d3d3d3d3dvbu7u7vb3d3d3d3d3d3d3d3dvbu7u7vr7v/u7u7u7u7uDgDMzMzMzMzMzMy9zMzMy8zMzMzu3d3d3d3du92727u7u7u7293d3d3d3d3d3d27u7u7u7u77v7uvru7u+vu7g4AzMzMzMzMzMzMu8zMvMvMzMzMzLvb3d3dvbu7u7u7u7u7u9vd3d3d3d3d3d27u7u7u7u7687//+zu7ru7u+4OAMzMzMzMzMzMzM/MzLzLzMzMzMz/vru7u7u7u7u7u7u7u7vd3d3d3d3du7u7u7u7u7u7687MzMzM7Oy7u7u7CwDMzMzMzMzMzMz/vMzMy7u7y8zMzPz/77u7u7u7u9vd29293d3d3d3dvbu7u7u7u7u7u+7+7+7u7u7MvLu7uwsAzMzMzMzMzMzMzPzPzLy7u7vMzMzMzMz/////vtvd3d3d3bu7u7u7u7u7u7u7u7u7u7v+7+7u7u7u7s+7u7sLAMzMzMzMzMzMzMzM/M+7zMy7y8zMzMzMzMzMzOzu7u7d3d29u7u7u7u7u7u7u7u768zM7O7u7u7u7u7/zOzrDgDMzMzMzMzMzMzMzMzMzLu7u7vMzMzMzMzMzMzMzMzMu7u7u7u7u7u7u7u7u7u7u87M7O7u7u7u7u7uz8/Mzg8AzMzMzMzMzMzMzMzMzMzMu7u7y8zMzMzMzMzMzMzMzP///7+7u7u7u7u7u7u7u+vM7u7u7u7u7u7u7s/M//8PAMzMzMzMzMzMzMzMzMzM/9u7u7vMzMvMzMzMzMzMzMzMzMzM77u7u7u76+7u7u7uzO7u7u7u7u7u7u7MzPz/DwDMzMzMzMzMzMzMzMzMzMz837u7u7u7u7u7zMzMzMzMzMzMzMzv7u7u7u7u7u7u7szu7u7u7u7u7u7u/v///w8AzMzMzMzMzMzMzMzMzMzMzMzd3bvbu7u7u8zMzMzMzMzMzMzv7u7u7u7u7u7u7szs7u7u7u7u7u7u7v78//8PAMzMzMzMzMzMzMzMzMzMzMzMu7vd3b27vbu7u7u7y8zL/8/s7u7u7u7u7u7u7u7M7u7u7u7u7u7u7u7uzMz/DwDMzMzMzMzMzMzMzMzMzMzMzMzMu7u7vMvMzMzMzMzMzMz87u7u7u7u7u7uzMzM7u7u7u7u7u7u7u7u7s7M/A8AzMzMzMzMzMzMzMzMzMzMzMzMzPz//////////////8/M/O7u7u7uzv//z+vu7u7u7u7u7u7u7u7u7u7uzPwPAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMz//////8/MzMzM7u7u7u7u7u7u7u7u7u7u7szMDwDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzO7u7u7u7u7u6+7u7u7u7u7+zwwAzMzMzMzMyszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMu8zMy8zMzMzMzMzs7u7u7u7u7rvu7u7u7u7u7s8MAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMvMzMzMzMzM7u7u7u7u7u7u7u7u7u7u7u7PDADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMvMzO7u7u7u7O7u7u7u7u7u7u7uzw8AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzu7u7u7u7u7u7u7u7u7u7u7v4PAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzLzMzMzMzMzMzMzMy7zMzM7O7u7u7u7u7u7u7u7u7u7u7+DADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzu7u7u7u7u7u7u7u7u7u7u/gwAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u7u7u7u7u7u7u7u7u7u7s4MAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7u7u7u7u7u7u7u7u7u7u7uDADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzu7u7u7u7u7u7u7u7u7u7u7gwAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzu7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzu7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzs7u7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7u7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7uzu7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7O7s7u7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzuzO7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7s7u7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzs7u7u7O7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzs7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOzMzO7u7u7u7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7s7M7O7u7u7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7OzOzuzu7u7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7szM7u7u7u7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7O7MzO7u7u7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzuzszu7u7u7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzs7u7M7u7u7u7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7O7uzO7u7u7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzu7s7s7u7u7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7O7O7O7u7u7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u7uzuzu7u7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7u7u7M7u7u7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzu7u7uzO7u7u7u7u7u7u7u7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u7u7s7s7u7u7u7u7u7u7u7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7O7u7u7O7O7u7u7u7u7u7u7u7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7u7u7u7uzu7u7u7u7u7u7u7u7u7u7u7u7u7g4A", + "mimeType": "image/x-mkcd-f4", + "displayName": "myImage" + }, + "image4": { + "data": "hwSgAH0AAADu7u7u7u7u7u7u7u7u7u7u7u7u7p6ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u6enpmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUlEREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7unp6ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6emZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u6enpmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmUlEREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7unp6ZmZmZqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmplJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6emZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u6enpmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmamUlEREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7unp6ZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmplJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6emZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u6enpmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmamUlEREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7unp6ZmZmZmpmZmZmZmZmpqqqqqqqqqqqqqqqqqqqqmplJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6emZmZmZqZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u6enpmZmZmamZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmUlEREREREREREREBADu7u7u7u7u7u7u7u7u6+7u7u7unp6ZmZmZmpmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZlJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6emZmZmZqZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u6enpmZmZmamZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmUlEREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u7unp6ZmZmZmpmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZlJRERERERERERERAQA7u7u7u7u7u7u7u7u7uvu7u7u7p6emZmZmZqZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7u7u6enpmZmZmamZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmUlEREREREREREREBADu7u7u7u7u7u7u7u7u7u7uvu7unp6ZmZmZmpmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZlJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6emZmZmZqZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREREQEAO7u7u7u7u7u7u7u7u7u7u7r7r6bm5mZmZmamZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmUlEREREREREREREBADu7u7u7u7u7u7u7u7u7u7u7u6+m5uZmZmZmpmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZlJRERERERERERERAQA7u7u7u7u7u7u7u7u7u7u7u7u7p6bmZmZmZqZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREREQOAO7u7u7u7u7u7u7u7r7r7uvu7u6em5mZmZmamZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmUlEREREREREREREDgDu7u7u7u7u7u7u7u6+6+7u7u7um5uZmZmZmpmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZlJRERERERERERERA4Avu7u7u7u7u7u7u7u7uvu7u6+vpubmZmZmZqZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZSUREREREREREROQMAO7u7u7u7u7u7u6+7u7r7u7u7r6bnpmZmZmamZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmUlERERERERERET0DADu7u7u7u7u7u7u7u7r7u7u7u67m56ZmZmZqqqqqqqqqqqqmZmZmZmZmZmZmZmZmZmZmZnpRERERERERERE9AwA7u7u7u7u7u7u7u7u6+7uvu7u7p6emZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZSURERERERERERP4PAO7u7u7u7u7u7u7u7u7u7u7u7u6em5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmelOREREREREROTPDwDu7u7u7u7u7u7u7u7u7u7u7u7rnpuZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlJ7kRERERERETkzw8A7u7u7u7u7u7u7u6+vr7u7r7u7p6emZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ6e7kRERERERE5M8PAO7u7u7u7u7u7u6+7uvu7u7u7u6enpmZmZmZmaqqqqqqqqqqqqqqqqqqqqqqqqqqqpmZmelOTkRERERERO7/DwDu7u7u7u7u7u7u7r7r7u67u+vunp6ZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZmZnp7u5ETkRERET+/A8A7u7u7u7u7r7r7u7u6+vuu+vu7p6emZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZmZ6e7kRERERERE/v8PAO7u7u7u7u6+67u76+7rvu7uvuucn5mZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmZmenu7k5ERERE5P//DwDu7u7u7u7u7u677u7u7u67u87Mm5uZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZmZnp7u7u5E5EROT//w8A7u7u7u7u7u6+7u6+u+vuzs67u52bmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZmZ6e7u7kTuRETu//8PAO7u7u7u7u7uvu7u7u677szM3d2bnJmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmZmenu7u7u7u5E////DwDu7u7u7u7u7uvu7v/Pvv/b3d27m5yZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZmZnp7u7uTuTu7v///w8A7u7u7u7u7u7uzsy7vc/d3d27u5ycmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZmZ6e7u7u7u5P78//8PAO7u7u7u7u7u7ry73d273d29u8ycnJmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmZmenu7uTu7uT+/P//DwDu7u7u7u7r7szc3d3d3d3dvcvMnJyZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZmZnp7u7u7u7k/v///w8A7u7u7u7u687M293d3d3dvbvMzJycmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZmZ6e7u7u5E7s////8PAO7u7u7u7v7P293d3d3d3b3MzMycnJmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmZmenu7u7u7u7/////DwDu7u7u7s68u9vd3d3d3b3LzMzMnJ+ZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZmZn57u7u7u7u/////w8A7s7u7u7M273b3d3d3d27zMzMzJybmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZmZye7u7u7u7vzPzOwOAMzMzO7OzN3d3d3d3d3dy8zMzMyem5mZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmZmen87u7u7v7MzMy8CwDOzMzuzLzd3d3dvbu7u8zMzMzum52ZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZmZnp7v7v7u7+zMy+uwsAzMzMzMzb293d3b3LzMzMzPzv252dmZmZmZmZqqqqqqqqqqqqqqqqqqqqqqqqqqqqmZmZ6e7u/u/+z8zsu7sLAMzMzMzM273d3bu7y8zMzMzv292dnZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmenu7u7u/8zMvru7CwDMzMzMzNu93b27u8zMzMzsvt3dnZ2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm57u7u7v7s7ru7uwsAzMzMzL/dvd29u8vMzMzMvtvd3Z2dmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZuevu7u7u7u7u7u4OAMzMzMzc3b27u8vMzMy87Nvd3d2dnZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmbm77u7u7u7u7u7uDgDMzMz83d29u7vLzMzMzL/d3d3dnZ2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm5u7vr7u7u7+7u7g4AzMzM/N3dvbu7y8zMzMu/3d3d3Z2dmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZubu7u+7u7v7u7u4OAMzMzPzd3bu7u8zMzMzLv93d3d2dnZmZmZmZmZmpqqqqqqqqqqqqqqqqqqqqqqqqqpqZmbm7u7vu7u7u7u7uDgDMzMv83d27u7vMzMzMy7/d3d3dnZ2ZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZmamZm5u7u77u7u7u7u7g4AzMy7zN29u8vMzMzMzMu/3d3d3Z2dmZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmZmpmZubu7u+7u7u7+7u4OAMzMy9y9u8zMzMzMzMzMv93d3d2dnZmZmZmZmZmpqpmpqqqqqqqqqqqqqqqqqqqqqpqZmbm7u+7u7u7u7v7vDgDMzMzcu8vMzMzMzMzMzL/d3d3dnZ2ZmZmZmZmZmamZqZmZmZmZmZmZmZmZmZmZmZmZmZm5u7vu7u7u7u7u7w4AzMzM3L3MzMzMzMzMzMy/3d3d3Z2dmZmZmZmZmZmpmamZmZmZmZmZmZmZmZmZmZmZmZmZubu7u+7u7u7u7u4OAMzMzNy9zMzMzMzMzMzMv93d3d2dnZmZmZmZmZmZqZmpmZmZmZmZmZmZmZmZmZmZmZmZmbm7u7u76+7u7u7uDgDMzMzbvczMzMzMzMzMzL/d3d3dnZ2ZmZmZmZmZmamZqZmZmZmZmZmZmZmZmZmZmZmZmZm5u929u7vrvu7u7g8AzMy83bvMzMzMzMzMzMy/3d3d3Z2dmZmZmZmZmZmpmamZmZmZmZmZmZmZmZmZmZmZmZmZud3d3bu7u7vu7u4OAMzMvL3MzMzMzMzMzMy87Nvd3d2dnZmZmZmZmZmZqZmpmZmZmZmZmZmZmZmZmZmZmZmZmbnd3d3d3b277u7uDgDMzLy7zMzMzMzMzMzMvPzb3d3dnZ2ZmZmZmZmZmamZqZmZmZmZmZmZmZmZmZmZmZmZmZm53d3d3d3du+vu7g4AzMy8u8zMzMzMzMzMzLz8293d3Z2dmZmZmZmZmZmpmamZmZmZmZmZmZmZmZmZmZmZmZmZud3d3d3d3b3r7u4OAMzMvL3MzMzMzMzMzMy8/Nvd3d2dnZmZmZmZmZmZqZmpmZmZmZmZmZmZmZmZmZmZmZmZmbnd3d3d3d3du+7uDgDMzLzdy8zMzMzMzMzMvPzb3d3dnZ2ZmZmZmZmZmamZqZmZmZmZmZmZmZmZmZmZmZmZmZm53d3d3d3dvbu76w4AzMy83bvMzMzMzMzMzMzL7N3d3Z2dmZmZmZmZmZmpmamZmZmZmZmZmZmZmZmZmZmZmZmZudvdvdvd3d29u+sOAMzMvL29y8zMzMzMzMzMy+zd3d2dnZmZmZmZmZmZqZmpmZmZmZmZmZmZmZmZmZmZmZmZmbnbvbu73d3dvbvrDgDMzLy9vbvMzMzMzMzMzMvs3d3dnZ2ZmZmZmZmZmamZqZmZmZmZmZmZmZmZmZmZmZmZmZm5u7u7u93d3b276w4AzMzMu7u7y8zMzMzMzMzM7N3d3Z2dmZmZmZmZmZmpmamZmZmZmZmZmZmZmZmZmZmZmZmZubu7u7vd3d3d3esOAMz83bu7u8vMzMzMzMzMzOzb3d2dnZmZmZmZmZmZqZmpmZmZmZmZmZmZmZmZmZmZmZmZmbm7u7u73d3d3d3rDgDM/N27u7vLzMzMzMzMzMzs293dnZ2ZmZmZmZmZmamZqZmZmZmZmZmZmZmZmZmZmZmZmZm5u7u7u93d3d276w4AzPzdy8y7y8zMzMzMzMzM7Nvd3Z2dmZmZmZmZmZmpmamZmZmZmZmZmZmZmZmZmZmZmZmZubu7u7vd3d3du+sOAMz8u8vMvMvMzMzMzMzMzOy73d2dnZmZmZmZmZmZqZmpmZmZmZmZmZmZmZmZmZmZmZmZmbm7u7u73d3d3bvuDgDM/LzLvMzMzMzMzMzMzMzsu93dnZ2ZmZmZmZmZmamZqZmZmZmZmZmZmZmZmZmZmZmZmZm52727u93d3b3r7g4AzMzMu8vMzMzMzMzMzMz8vtvd3Z2dmZmZmZmZmZmpqqqZmZmZmZmZmZmZmZmZmZmZmZmZudu9u7vd3d297u4OAMzMvN3LzMzMzMzMzMzM/L7b3d2dnZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmbnb3b3b3d3du+7uDgDMzLzdvcvMzMzMzMzMzPy+293dnZ2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm53d3d3d3du7vu7g4AzMy83b27zMzMzMzMzMz8vtvd3Z2dmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZud3d3d3dvbvr7u4OAMzMzNzbvcvMzMzMzMzM/L7b3d2dnZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmbnd3d3d3b276+7uDgDMzMzcvbu7zMzMzMzMzPy+3d3dnZ2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm53d3d3d29u+vu7g4AzMzMzN3dvbvLzMzMzMz8vt3d3Z2dmZmZmZmZmZmZmZmZmaqamZmZmZmZmZmZmZmZmZmZ2d3d3d3du7vu7u4OAMzMzPzd3bu7zMzMzMzM/Nvd3d2dnZmZmZmZmZmZmZmZmZmampmZmZmZmZmZmZmZmZmZmbnd3d29u7vr7u7uDgDMzMzM2927u8zMzMzMzOzb3d3dnZ2ZmZmZmZmZmZmZmZmZmpqZmZmZmZmZmZmZmZmZmZm5u93du7vu7u7u7g4AzMzMzN/d3bvLzMzMzMy/293d3Z2dmZmZmZmZqaqqqqqqqpqqqqqqqqqqqqqqqqqqqpmZubvbvbu77u7u7u4OAMzMzMzf3d3du8vMzMzMv93d3d2dnZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmZmamZmbm7u7vr7u7u7u7uDgDMzMzMzNvd3b3LzMzMzL/d3d3dnZ2ZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmZmpmZnpvuvr7u7u7u7u7g4AzMzMzMzb3b27u8zMzMy/3d3d3Z2dmZmZmZmZqaqqqqqqqpqqqqqqqqqqqqqqqqqqqpmZ6bvu7u7u7u7u7u4OAMzMzMzM2929u7vLzMzLv93d3d2dnZmZmZmZmZmZmZmZmZmampmZmZmZmZmZmZmZmZmZmbm77u7u7u7u7u7+DgDMzMzMzMzd3cu7u8zMy7/d3d3dnZ2ZmZmZmZmZmZmZmZmZmpqZmZmZmZmZmZmZmZmZmZm5u+7u7u7u7u7u/g4AzMzMzMzM3d29zMzMzMu/3d3d3Z2dmZmZmZmZmZmZmZmZmaqamZmZmZmZmZmZmZmZmZmZubvr7u7u7u7u7u8OAMzMzMzMzN3d3czMzMzLv93d3d2dnZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmbm76+7u7u7u7u/uDgDMzMzMzMzbvd3LzMzMzL/d3d3dnZ2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm56+7u7u7u7u7u7g4AzMzMzMzM37vbu8zMzMy/3d3d3Z2dmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZuevu7u7u7u7u7u4OAMzMzMzMzNy7u73LzMzMv93d3d2dnZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmbnr7u7u7u7+7u7uDgDMzMzMzMz83bu7u8zMzPzb3d3dnZ2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm57u7u7u7u7u7u7g4AzMzMzMzM/N3Lu7vLzMz8293d3Z2dmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ6e7u7u7u7+7u7u4OAMzMzMzMzMy7u7zLvMzMzL7d3d2dnZmZmZmZmZmZqaqqqqqqqqqqqqqqqqqqqqqqqpqZmenu7u7u7u7u7u7uDgDMzMzMzMzMvLvMzLzMzMzsu93dnZ2ZmZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZm57u7u7u7u7u7u7g4AzMzMzMzMzMzczLzMzMzMzL/b3Z2dmZmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZuevu7u7u7u7u7u4OAMzMzMzMzMzM3MvMzMzMzMz879udnZmZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmbnr7v/u7u7u7u7uDgDMzMzMzMzMzMy9zMzMy8zMzMzunZ2ZmZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZm57v7uvru7u+vu7g4AzMzMzMzMzMzMu8zMvMvMzMzMzJubmZmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZ6c7//+zu7ru7u+4OAMzMzMzMzMzMzM/MzLzLzMzMzMyfnpmZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmcnMzMzM7Oy7u7u7CwDMzMzMzMzMzMz/vMzMy7u7y8zMnJyZmZmZmZmZmamZmZmZmZmZmamqqqqqqqqqqqqamZn57+7u7u7MvLu7uwsAzMzMzMzMzMzMzPzPzLy7u7vMzJycmZmZmZmZmZmpmZmZmZmZmZmpmZmZmZmZmZmZmZmZ6e7u7u7u7s+7u7sLAMzMzMzMzMzMzMzM/M+7zMy7y8ycnJmZmZmZmZmZqZmZmZmZmZmZqZmZmZmZmZmZmZmZmenu7u7u7u7/zOzrDgDMzMzMzMzMzMzMzMzMzLu7u7vMnJyZmZmZmZmZmamZmZmZmZmZmamZmZmZmZmZmZmZmZnp7u7u7u7uz8/Mzg8AzMzMzMzMzMzMzMzMzMzMu7u7y5ycmZmZmZmZmZmpmZmZmZmZmZmpmZmZmZmZmZmZmZmZ6e7u7u7u7s/M//8PAMzMzMzMzMzMzMzMzMzM/9u7u7ucnJmZmZmZmZmZqZmZmZmZmZmZqZmZmZmZmZmZmZmZmenu7u7u7u7MzPz/DwDMzMzMzMzMzMzMzMzMzMz837u7m5uZmZmZmZmZmamZmZmZmZmZmamZmZmZmZmZmZmZmZnp7u7u7u7u/v///w8AzMzMzMzMzMzMzMzMzMzMzMzd3ZubmZmZmZmZmZmpmZmZmZmZmZmpmZmZmZmZmZmZmZmZ6e7u7u7u7v78//8PAMzMzMzMzMzMzMzMzMzMzMzMu7udnZmZmZmZmZmZqZmZmZmZmZmZqZmZmZmZmZmZmZmZmenu7u7u7u7uzMz/DwDMzMzMzMzMzMzMzMzMzMzMzMzMm5uZmZmZmZmZmamZmZmZmZmZmamZmZmZmZmZmZmZmZnp7u7u7u7u7s7M/A8AzMzMzMzMzMzMzMzMzMzMzMzMzJyfmZmZmZmZmZmpmZmZmZmZmZmpmZmZmZmZmZmZmZmZ6e7u7u7u7u7uzPwPAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZqZmZmZmZmZmZqaqqqqqqqqqqqpqZmenu7u7u7u7u7szMDwDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZnp6+7u7u7u7u7+zwwAzMzMzMzMyszMzMzMzMzMzMzMzJycmZmZmZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmpmZ6bvu7u7u7u7u7s8MAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZqZmenu7u7u7u7u7u7PDADMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmamZmZmZmZmZmZmZmZmZmZmZmZmamZnp7u7u7u7u7u7uzw8AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmpqqqqqqqqqqqqqqqqqqqqqqqqmpmZ6e7u7u7u7u7u7v4PAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmenu7u7u7u7u7u7+DADMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnp7u7u7u7u7u7u/gwAzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ6e7u7u7u7u7u7s4MAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmenu7u7u7u7u7u7uDADMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnp7u7u7u7u7u7u7gwAzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmpmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpmZnp7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZqZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqZmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqmamZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqZmpmZnp7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmamZqZmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpmamZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqZmpmZnp7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZOTMzMzOZqZmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmTmTOZM5k6mZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzOZqZmpmZnp7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTmTmamZqZmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpmamZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTmTqZmpmZnp7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM6OZqZmT6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmakzmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqTkzk5np7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMzOTqZmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpmamZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqZmpmZnp7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmamZqZmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpmamZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJyZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZqZmpmZnp7u7u7u7u7u7u7g4AzMzMzMzMzMzMzMzMzMzMzMzMzJycmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmamqqpmZ6e7u7u7u7u7u7u4OAMzMzMzMzMzMzMzMzMzMzMzMzMycnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmenu7u7u7u7u7u7uDgDMzMzMzMzMzMzMzMzMzMzMzMzMnJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZnp7u7u7u7u7u7u7g4A", + "mimeType": "image/x-mkcd-f4", + "displayName": "myImage0" + }, + "*": { + "mimeType": "image/x-mkcd-f4", + "dataEncoding": "base64", + "namespace": "myImages" + } +} \ No newline at end of file diff --git a/images.g.ts b/images.g.ts new file mode 100644 index 0000000..45279d7 --- /dev/null +++ b/images.g.ts @@ -0,0 +1,312 @@ +// Auto-generated code. Do not edit. +namespace myImages { + + helpers._registerFactory("image", function(name: string) { + switch(helpers.stringTrim(name)) { + case "image1": + case "red":return img` +. . . . d 2 2 2 2 2 2 . . . . . +. . d 2 2 2 2 2 2 2 2 2 2 . . . +. d 2 2 2 2 2 2 2 2 2 2 2 2 . . +. 2 2 2 2 2 2 2 2 2 2 2 2 2 . . +d 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . +d 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 . +. 2 2 2 2 2 2 2 2 2 2 2 2 2 d . +. 2 2 2 2 2 2 2 2 2 2 2 2 2 d . +. . 2 2 2 2 2 2 2 2 2 2 2 d d . +. . . . 2 2 2 2 2 2 2 d . . . . +. . . . . . . d d d . . . . . . +`; + case "image2": + case "blue":return img` +. . . . d 8 8 8 8 8 8 . . . . . +. . d 8 8 8 8 8 8 8 8 8 8 . . . +. d 8 8 8 8 8 8 8 8 8 8 8 8 . . +. 8 8 8 8 8 8 8 8 8 8 8 8 8 . . +d 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . +d 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . +8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . +8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . +8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . +8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . +8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . +. 8 8 8 8 8 8 8 8 8 8 8 8 8 d . +. 8 8 8 8 8 8 8 8 8 8 8 8 8 d . +. . 8 8 8 8 8 8 8 8 8 8 8 d d . +. . . . 8 8 8 8 8 8 8 d . . . . +. . . . . . . d d d . . . . . . +`; + case "image3": + case "myImage":return img` +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeececccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccfffffcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccbbbccccccccccccccdddbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccbcccccbbbbbbbbbcdddbbcbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccbddbbdddddbbbbbbbdddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccffffcddddddbbbbddbbbbbcccbdddddcfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccfcddddddbdddbccccbbddbbbcccbbddbdddbffccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccbddddddbbbbbbcccccbbbbbbccbccbbdbdddddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccbbbdddddddbbccccccccccbbbbbbccccbbdbdddddbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccbdddddddddbbccccccccccccbbbbbbccccbbbddddddddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbecbddbddddddbbbccccccccccccccbbbbbcccccbbdbbddddddddbfcccccccccccccccccccccccaccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefbddddbbbbbbbbbcccccccccccccccccccccccccbbbbdddddddddddffcccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefbdddddddbbbbbbccccccccccccccccccccccccccbbbbddddddddbbddbccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeeeeeeccbbddddddbbbbbcccccccccccccccccccccccccccbbbbddbbdddbbbddbbcccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeebeeccbbbddddddbbbbbcccccccccccccccccccccccccccbccbbdbbbdddbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeeccdddddddbbbbbbbcccccccccccccccccccccccccccccccbbbbcbdddbbcbbddcccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeeeccbddddddbbbbbbcccccccccccccccccccccccccccccccccbbbbbccbbdbbcccbdbffcccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeecbddddddddbbbccccccccccccccccccccccccccccccccccccccbbbcccbbbbbcccbbcfcccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeecbddddddddbbbcccccccccccccccccccccccccccccccccccccccbbccccbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeebeebeeeecbddddddbbbbcccccccccccccccccccccccccccccccccccccccccbcccccbbccbccccbfccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeefbdddddddbbbcccccccccccccccccccccccccccccccccccccccccccccccccbccccccccfccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebebeeebefbdddddddbccccccccccccccccccccccccccccccccccccccccccccccccccccbbcccccccfcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeebbbeebefddddddddbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeebbeeeeeebeeeeebecbdddddddbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeebeeebeeeeeebbbbeeeeeeebbebbefbddddddbccccccbbbbcccccccccccccccccccccccccccccccccbbbbcccccccccbbbbcbcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeebbcbddddddbccccbcccccccccccbbbbbcccccccccccccccccccccccccccccccccccccccbbcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefddddddbbccccccfffffffffffcccccbbbcccccccccccccccfffffffffffcccccccccbbcbcfccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeefdddddbbccccccebbbbbbbbbbbeffffcccccccccffffffffebbbbbbbbbbbffcccccccbbcbcfccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeebbebecbdddddbccccccebdddddddddddbbbbbccccccccceeeeeeebbbddddddddddbbeccccccbbcbbbccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeebbebccddddbbccccccebdddddddddddddddddeeeeeeeeebbbbbbbdddddddddddddddbecccccbbcbbdfcccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeebbebecddddbccccccfebdddddddddddddddddddddbbbbbbbbbbddddddddddddddddddbfccccbbbbbbfcccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeebebeebccddbbbcccccfebdddddddddddddddddddddddddbbdddddddddddddddddddddddbbfccccbbbbbdcccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeebddbbbccccccfbddddddddddddddddddddddddddddddddddddddddddddddddddddbfcccccbbbbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeebcbddbbccccccceddddddddddddddddddddddddddddddddddddddddddddddddddddddeccccccbbbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeebeeeebcbdbbcccccccebddddddddddddddddddddddddddddddddddddddddddddddddddddddbeccccccbbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebbeeebbbeeeeeeeecbdbbccccccceddddddddddddddddddddddddddddddddddddddddddddddddddddddddecccccccbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebbeebbbbeeeeeeecbdbbcccccccebdddddddddddddddddddddddddddddddddddddddddddddddddddddddddbfccccccbbdbccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebbbebbeeebeeebbcbdbcccccccebddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbfccccccbbdbfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebbbbbbeeebbeeeefbbcccccccfbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbeccccccbbdbfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeebeeebeeeeeeebeccbcccccccfbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbfcccccbddbfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeebbeeeeebbbeeeeccbccccccccbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbfccccbbbdbfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeebeebbeeeeebbbeeeefcbccccccfbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbfcccccbbbbfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeebeebbeeeeeebbbbeefcbccccccfddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbfcccccbbbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeebeeebeeeeeeeeebbeeeebccbccccccfddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbecccccbbbbfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeebeebbbeeeeeebbeeeeeebcccccccccfddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbfccccbbdbfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeebeebbeeeeeeebbeeebeeecccccccccfddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbfccccbbbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeebeeebbbbebeeeeeebcccccccccfddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbfccccbbbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeebbeeeeeeeebbbbbbebbeebbccccccccebdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbfccccbbbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeebeeebeeeeeeeeebbbbbbbbeeebccccccccedddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbfccccccbcfcccccccccccccccccccccccccccccccccccccc +beeeeeeeeeebbbeebeeeeeeeeeeebbebbbeeebccccccccedddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbbfccccccbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeebeebbeeeeeebeeeeeebeebeeebcccccccceddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbfccccccbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeebbebbeeeeeebbbbbbeebbbbeebeefccccceddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbbfccccccbcfcccccccccccccccccccccccccccccccccccccc +eee4eeeeeeeeeeebeeeeeebbbbbbbbbebbbbbbeefccccceddddddddddddddddddddddbbbddddddddddddddddddddddddddddddddddddbbbbeccccccbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeebeeeeebbbbbbbbbbbebbbbbbefcccccedddddddddddddddddddbbbbbbbbddddddddbbbbbbbbbbbbddddddddddddddbbbbbecccccbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeebbbbbbbbbbbeeeebbeeefccccceddddddddddbbbbbbbbbbbbbbbbbbdddddddbbbbbbbbbbbbbbbbbdddddddddbbbbbecccccbcfccccccbccccccccccccccccccccccccccccccc +eeeeeeeebebeeeeeeeebbbbbbbbbbbbebebbbeeefccccceddddddddddeeeeeeeeeeebbbbbbbbddbbbbbbbbbeeeeeeeeeeeebdddddddddbbbdecccccbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeebebeeeeeeebbbbbbbbbbbbbbeebbbeefcccccedddddddbeeeeeeeeeeeeeeeeebbbbdddbbbbbeeeeeeeeeeeeeeeeeeddddddbbbbdecccccbcfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeebbbbbbbbbbbbbeeebeeeefcccccedddddbbeeeeeeeeeeeeeeeeeeebbbbdddbbbbeeeeeeeeeeeeeeeeeebbbddbbbbddecccccccfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeebeeeeebbbbbbbbbbbbbeebebefccccebdddddeeeeeeeeeeeeeeeeeeeeeebbbdddbbbeeeeeeeeeeeeeeeeeeeeebbbbbbbddecccccccfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeebeeeeeeeeebbbbbbbbbbeeebefccccedddddbeeeeeeeeeeeeeeeeeeeeeeebbdddbbbeeeeeeeeeeeeeeeeeeeeeeebbbbbddecccccccfcccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeebeeeeebbbbbbbbbbbbbbbebefcccceddddbbeeeeeeeeeeeeeeeeeeeeeeebddddbbbeeeeeeeeeeeeebbbbbbbeebbbbbbbddbfcccbcfcccccccccccccccccccccccccccccccccccccc +eeee4e4eeeeeeeeeeeeeeebbbbbbbbbbbbbbbebeefcccedddbbbeeeeeeeeeeeeeeeeeeeeeeebddddbbeeeeeeeeeeeeeeeeeeeeeeeebbbbbdddbfcccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeebeeebbbbbbbbbbbbbbbeeefcccedddbeeeeeeeeeeecccccceeeeeeeebdddddeeeeeeeeeecccccceeeeeeeebbbbbbdddbfcccfcccccccccccccccccccccccccccccccccccccccc +4ee4eeeeeeeeeeeeeeebeeebbbbbbbbbbbbbbbbbefccceddbbeeeeeeeecccffffffceeeeeeebdddddeeeeeeeeecfffffceccceeeeebbbbbdddbfcccfcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeee4eeeeeeeeeeeeebbbbbbbbbbbbbbbefccceddbbeeeeeeeeccccffffffeeeeeeebdddddeeeeeeeeeecfffceecfceeeeebbbbbdddbfcccfcccbbccccccccccccccccccccccccccccccccccc +4ee4eeeeeeeeeeeeeeeeeeeeeebbbbbbbbbeebbbefccceddbbeeeeeeeeeeeefffffffceeeeebdddddeeeeeeefceefffceeeeeeeeeebbbbbbddbfccccffccbbbccccccccccccccccccccccccccccccccc +4e4e4e4eeeeeeeeeeeeeeeeeeeebbbbbbbbeeeebefcfbddbbbeeeeeeeeeeeeeeeeeeeeeeeedddddddeeeeeeeeeeeeeeeebbeeeeeeebbbbddbdbfcccceefccccccccccccccccccccccccccccccccccccc +4444eeeeeeeeeeeeeeebeeeeeeeebeebbbbeeeebefcfbdddbbbeeeeeeeeeeeeeeeeeeeeeeedddddddeeeeeeeeeeeeeeebbbbeeeeebbdddddbbbbccceeefccccccccccccccccccccccccccccccccccccc +444444eeeeeeeeeeeeebbeeeeeeeeeeeebbebebbefcbbbbdbbbbeeeeeeeeeeeeeeeeeeeeeedddddddeeeeeeeeeeeeeebbbbbbbbbbbbdddddbbbbfcfeeefcccccccccccccccccccccccccccccccccccce +44444ee4e4eeeeeeeeeeeeeeeeeeeeeeeebeeebbefebbbbdddddbbbeeeeeeeeeeeeeeeeeeedddddddeeeeeeebbeeeeebbbbbbbbdddddddddbbbbeceeeefcccccccccccccccccccccccccccccccccccee +44444e4eeeeeeeeeeeeeeeeeeeeeeeeeeeebebbbefebbbbbddddddbbbbbbbbebeeeebeeeeedddddddeebbbbbbbbbbbbbddddddddddddddddbbbbbfeeeefcbbccccccccccccccccccceeccccccceeeeee +444eee4e4eeeeeeeee4eeeebeeeeeeeeeeebebbeefebbbbbdddddddddddbbbbbbbbbbbeebeddddddddebbbbbbbbbbbbdddddddddddddddddbbbbbeeeeefcccccccccccccccccccceceececeecceeeeee +44444444eeeeeeeeeeeeeeebeeeeeeeeeeeebeeeefebbbbbddddddddddddbbbbbbbbbbeebeddddddddebbbbbbbddddddddddddddddddddddbbbbbeeeeefcccccccccccccccccccccceeeeeeeeceeeeee +4444444444eeeeeeeeeeeeeeeeeeeeeeeeeebbeeefeebbbbdddddddddddddbbbbbbbbbbebeddddddddebbbbbbbddddddddddddddddddddddbbbbbeeeeefcccccccccccccccccccccccceeeeeeeeeeeee +44444444e4eeeeeeee4eeeeeeeeeeeeeeeeeeeeeefeebbbbbdddddddddddddbdddddbbbbbeddddddddebbbbbbdddddddddddddddddddddddbbbbbeeeeefcccccccccccccccccccccccccceeeeeeeeeee +444444444e4eeeeeee4eeeeeeeeeeeeeeeeeeeeeefeebbbbbbddddddddddddddddddbbbbeedddddddeebbbbbddddddddddddddddddddddddbbbbbeeeeefccccccccccccccccccceccccccceeeeeeeeee +444444444ee4e4eeeeeeeeeebbeeeeeeeeeeeeebefeebbbbbbddddddddddddddddddbbbbedddddddddeebbbbddddddddddddddddddddddddbbbbbeeeeefccccccccccccccccccceeeccccccceeeeeeee +444444444444eee4eeeeeebbbbeeeeeeeeeeeeeeeecebbbbbbbdddddbddddddddddddbbbedddddddddeebbbdddddddddddddddddddddddddbbbbbeeeecccccccccccccccccccceeeeeecccccccceeeee +444444444444e4eeeeeeeeeeebeeeeeeeebeeeeeeefebbbbbbbbbbdbbddddddddddddbbbedddddddddeebbbdddddddddddddddddddddddddbbbbbeeeefccccccbcccccccccccceeeeeeeeeeeccccceee +4444444444444eee44e4eee4eeeeeeeeeeeebbbeeefebbbbbbbbbbbdbddddddddddddbeeedddddddddeebbbddddddddddddddddddddddddbbbbbbeeeefccccccbcccccccccecceeeeeeeeeeeeeecccce +4444444444444e4e44ee4eeeeeeebeeeeeeeeebbeefebbbbbbbbbbbdddddddddddddbeeeeddddddddeeeeebbddddddddddddddddddddddbbbbbbbeeeefccccbccccccccceeeeeeeeeeeeeeeeeeeeeccc +4444444444444444eeee4eeeeeeeebeeeeeeeebbeefebbbbbbbbbdddddddddddddddbeeeeddddddddeeeeeebbbddddddddddddddddddddbbbbbbeeeeefccccccccccccccceeeeeeeeeceeeeeeeeeeeee +444444444444444ee44eeeeeeeeeeeeeeeeeeeebeefeeeebbbbbbdddddddddddddddbebdddddddddddeeeeeebbddddddddddddddddddddbbbbbbeeeeefcccccccccccccceccceeeeeeeeeeeeeeeeeeee +444444444444444e44eee4eeeeeee4eeeeeeeeebbefeeeebbbbbbddddddddddddddbbbddddddddddddbeeeeebbddddddddddddddddddddbbbbbbeeeeecccccccccccccceeeecceeeeeeeeeeeeeeeeeee +4444444444444eee444eeee4444eeeeeeeeeeeebbbfeeeebbbbbdddddddddddddddbbddddddddddddddbeeeebbbdddddddddddddddddddbbbbbbeeeecbcccccccccccceeeeeeeceeeeeeeeeeeeeeeeee +44444444444444ee4444e444e4eeeeeeeeeeeeeeeefeeeebbbbbbddddddddddddddbeddddddddddddddbeeeebbbdddddddddddddddddddbbbbbbeeeececcccccccccceeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444e444e44eeeeeeeeeeeeeebeeefbbeebbbbbdddddddddddddddbeeeeeddddddddddbeeeebbbbdddddddddddddddddbbbbbbbeeeeceeeceeeccccceeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444e44eee4eeeeeeeeeeeeeeeeeefbbbebbbbbddddddddddddddddbeeeebbbbbdddbbeeeebbbbbdddddddddddddddddbbbbbbbeeeeceeeeeeeeecceeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444e44eeeeeeeeeeeeeefbbbebbbbbddddddddddddddddbbeeeeeeeebbbeeeeeebbddbddddddddddddddddbbbbbbbbeeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444eeeeee4eeeeeeeebeeeeefbbbebbbbbdddddddddddddddddbbeeeeeeeeeeeeeeeebddddddddddddddddddddbbbbbbbbeeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444e444444eeeeeeeeeeeeeeeeeefbbbebbbbbdddddddddddddddddbeeeeeeeeeeeeeeebbbddddddddddddddddddddbbbbbbbbeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444eeeeeeeeeeeeeeeeebbcebbebbbddddddddddddddddddbeeeeeeeeeeeeeeebbbddddddddddddddddddddbbbbbbbeeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444eeeeeeeeeeeeeeeeeebcebbebbbbdddddddddddddddddbeeeeeeeeeeeeeeeebbdddbddddddddddddddddbbbbbbecccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444ee4eeeeeeeeeeeeeeeeeeeebbbbdddddddddddddddddbeeeeeeeeeeeeeeeeebbbbbbbdddddddddddddbbbbbbecccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444eee4ee44eeeeeeeeeeeeeeeeebbbdddddddddddddddddbeeeeeeeeeeeeeeeeebbbbbbbbdddddddddddbbbbbbbcceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444eee4e4eeeeeeeeeeeeeeeeefeebbbddddddddddddbbddbbbeeeeeeeeeeeeeebbbbbbbbbbddddddddbbbbbbbbbcceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444ee44444eeeeeeeeeeeeeeeefeebbbddddddddddbbbbbbbbbeeeebbeeeeebbbbbbbbbbbbbbdddddddbbbbbbbbbcceeeeeeeeeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444e4e44e4eeeeeeeeeeeeeefeeebbbdddddddddbbbbbbbeeeeeeeeeeeeeeeeeeeeeeebbbbdddddbbbbbbbbbbbceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444e4eeeeeeeeeeeeeeeeefeeebbbbdddddddbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbdddbbbbbbbbbbeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444e444ee4eeeeeeeeeeeeeeeeebbbdddddddbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbdbbbbbbbbbbeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444e4eeee4eeeeeeeeeeeefceebbbbbdddbbbbbeeeeeeeeeeeeeeeeebbbeeeeeeeeeebbbbbbbbbbbbbbbeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444e4e4eeeeeeeeeeeeeefceeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbeebbbbbbbbeebbbbecfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444eeeeeeeeeeeeeeeeeeceeeebbbbbbbbbbbbddddddbbbbbbbbbbbddddddbbbebbbbbbbbeeeebbeecfeeeeeeeeeeebbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444ee4eeeeeeeeeeeeeefeeeeebbbbbbbbbbbddddddddbbbbbbdddddddddbbbbbbbbbeeeeeeeeeecceeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444ee4eeeeeeeeeeeeeeeeeeebbbbbbbbbdddddddddbbbbbbddddddddddbbbeeebbeeeeeeeeeefceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444444e4eeeeeeeeeeeeeeefeeeeebbbbbbbbbddddddddbbbbbbbbbdddddddddbeeeeeeeeeeeeeeeffceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444eeeeee4eeeeeefeeeeebbbbbeebbddddddddbbbbbbbbbdddddddddbbeeeeeeeeeeeeefefceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444eeeeeeeeeeeeefeeeeebbbbeebbbddddddbbbbbbbbbbbdddddddbbeeeeeeeeeeeeeefefceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444e4444eeeeeeeeeeefeeeeeeeeeeeebbbdddddbbbbbbbbbbbddddddbbbeeeeeeeeeeeeeeeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444e4e4eeeeeeeeeeeeeeeeeeeeeebbbddddddbbbbbbbbbddddddbbbeeeeeeeeeeeeeeeebeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444eee4eee4eeeeeefeeeeeeeeeeebbbdddddddddddddddddddddbbbeeeeeeeeeeeeeeeebeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444444444444eeeeee4eeeeefffeeeeeeeeeeebbdddddddddddddddddddddbbbeeeeeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444444ee444eeeeeefcceeeeeeeeeeebbddddddddddddddddddddbbeeeeeeeeeeeeefeeeebecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444444eeeeeeeeeffcceeeeeeeeeeeeebbddddddddddddddddbbbbbeeeeeeeeeeeeeeeeeebeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444444eeeefffccccceeefeeeeeeeeebbbddddddddddddddbbbbbbeeeeeeeeeeeeeeeeeebbbcffffceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444444efffcfffcccceeeefeeeeeeebbbbbdbdddddddddddbbbbbeeeeeeeeeeeefeeeeeebbbbcfcccffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444444444444effccfffffcccebeeeeeeeeeeeeeebbbbddddddddddbbbbbeeeeeeeeeeeeeeeeeeeebbbbbcfccfcceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444eeeffffffffcccebbeeeeeefeeeeeeeeebbbbbdddddbbbbeeeeeeeeeeeeeeeeeeeeeeeebbbbccccffcceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444eeefffffffffffccebbbeeeeeeeeeeeeeeeeebbbbddbbbbeeeeeeeeeeeeeeeefeeeeeeeeeebbbbccfcffcccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444eeeefffffffffffffccbbbbeeeeeeefeeeeeeeeebbbbddbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbecffffccccfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444effffcffffffffffffccbbbbeeeeeeeffeeeeeeeebbbbbbbbeeeeeeeeeeeeeeeeefeeeeeeeeeeeebbbbefffffcccffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444efffcccffffffffffffffebbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeebbbecfffffffcccccfffceeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444eeecccffffffffffffffffffebbbbbeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbefffffffffcccffccccceeeeeeeeeeeeeeeeeeeeeeeeeee +`; + case "image4": + case "myImage0":return img` +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeececccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccfffffcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccbbbccccccccccccccdddbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccbcccccbbbbbbbbbcdddbbcbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccbddbbdddddbbbbbbbdddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccffffcddddddbbbbddbbbbbcccbdddddcfcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeccccfcddddddbdddbccccbbddbbbcccbbddbdddbffccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccccbddddddbbbbbbcccccbbbbbbccbccbbdbdddddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccbbbdddddddbbccccccccccbbbbbbccccbbdbdddddbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecccbdddddddddbbccccccccccccbbbbbbccccbbbddddddddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbecbddbddddddbbbccccccccccccccbbbbbcccccbbdbbddddddddbfcccccccccccccccccccccccaccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefbddddbbbbbbbbbcccccccccccccccccccccccccbbbbdddddddddddffcccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefbdddddddbbbbbbccccccccccccccccccccccccccbbbbddddddddbbddbccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeeeeeeccbbddddddbbbbbcccccccccccccccccccccccccccbbbbddbbdddbbbddbbcccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeebeeccbbbddddddbbbbbcccccccccccccccccccccccccccbccbbdbbbdddbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeeccdddddddbbbbbbbcccccccccccccccccccccccccccccccbbbbcbdddbbcbbddcccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeeeccbddddddbbbbbbcccccccccccccccccccccccccccccccccbbbbbccbbdbbcccbdbffcccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeecbddddddddbbbccccccccccccccccccccccccccccccccccccccbbbcccbbbbbcccbbcfcccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeecbddddddddbbbcccccccccccccccccccccccccccccccccccccccbbccccbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeebeebeeeecbddddddbbbbcccccccccccccccccccccccccccccccccccccccccbcccccbbccbccccbfccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeefbdddddddbbbcccccccccccccccccccccccccccccccccccccccccccccccccbccccccccfccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebebeeebefbdddddddbccccccccccccccccccccccccccccccccccccccccccccccccccccbbcccccccfcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbeeebbbeebefddddddddbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccfcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeebbeeeeeebeeeeebecbdddddddbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeebeeebeeeeeebbbbeeeeeeebbebbefbddddddbccccccbbbbcccccccccccccccccccccccccccccccccbbbbcccccccccbbbbcbcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeebbcbddddddbccccbcccccccccccbbbbbcccccccccccccccccccccccccccccccccccccccbbcccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefddddddbbccccccfffffffffffcccccbbbcccccccccccccccfffffffffffcccccccccbbcbcfccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeefdddddbbccccccebbbbbbbbbbbeffffcccccccccffffffffebbbbbbbbbbbffcccccccbbcbcfccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeebbebecbdddddbccccccebdddddddddddbbbbbccccccccceeeeeeebbbddddddddddbbeccccccbbcbbbccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeebbebccddddbbccccccebdddddddddddddddddeeeeeeeeebbbbbbbdddddddddddddddbecccccbbcbbdfcccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeebbebecddddbccccccfebdddddddddddddddddddddbbbbbbbbbbddddddddddddddddddbfccccbbbbbbfcccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeebeeeeeeeeeeeebebeebccddbbbcccccfebdddddddddddddddddddddddddbbdddddddddddddddddddddddbbfccccbbbbbdcccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeeebddbbbccccccfbddddddddddddddddddddddddddddddddddddddddddddddddddddbfcccccbbbbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeebeeeeeeeeebcbddbbccccccceddddddddddddddddddddddddddddddddddddddddddddddddddddddeccccccbbbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeebeeeebcbdbbcccccccebddddddddddddddddddddddddddddddddddddddddddddddddddddddbeccccccbbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebbeeebbbeeeeeeeecbdbbccccccceddddddddddddddddddddddddddddddddddddddddddddddddddddddddecccccccbbdbcccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeeeeeebbeebbbbeeeeeeecbdbbcccccccebdddddddddddddddddddddddddddddddddddddddddddddddddddddddddbfccccccbbdbccccccccccccccccccccccccccccccccccccccc +e999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +e9eeeeeeeeeeeeeeeeeeeeebbbbbbeeebbeeeefbbcccccccfbbddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbeccccccbbdbfccccccccccccccccccccccccccccccccccccc9 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +999999aaaaaaaaaaaaaaaaaaaaaaaaa9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999aaaa9999999999999999999999 +999999a99999999999999999999999a9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999aaaaaaaaaaaaaaaaaa999999999999999999999999999999999999999999999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a99999999999999999999999999999999999999aaaa999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a99999999999999999999999999999999999999a99a999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999aaaa9999999999999999999999999999a99a999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999999999999999999999999999999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a99aaaaaaaaaaaaaaaaaaaaa99999999a99a999999999aaaaaaaaaaaaaaaaaaaaaaaa999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a9999999999999999999999a99999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a9999999999999999999999a99999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a9999999999999999999999a99999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a99aaaaaaaaaaaaaaaaaaaaa99999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999999999999999999999a9999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999aaaaaaaaaaaaaaaaaaa9999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999aaaa99aaaa999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999a99999999a999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999aaaa99aaaa999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a9999999999999999999999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999aaaaaaaaaaaa9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999999999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999339999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999333999999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999399399999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999393399999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999333993999999999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999339993399399999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999399999399399999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99a9999399999339399999999 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a99aaaaa33aaaaa3a3aaaaaa99 +999999a99999a9999999999999999999999a9999999999999999a999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a9999999939999999399999a99 +999999a99999a9999999999999999999999aaaaaaaaaaaaaaaaaa999999a99a9999999999999999999999999999a99a999999999a999999a9999999999a9999a999999a9999999999999993999999a99 +999999a99999a9999999999999999999999999999999999999999999999aaaa9999999999999999999999999999a99a999999999aaaaaaaa9999999999aaaaaa999999a9999999999999993999999a99 +999999a99999a999999999999999999999999999999999999999999999999999999999999999999999999999999aaaa999999999999999999999999999999999999999aaaaaaaaaaaaaaaa3aaaaaaa99 +999999aaaaaaa999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999933999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999939999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999399999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +444444444444444444444444444444e4e4eeeeeeeeeeeeeefceeeebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdbbbbeebbbbbbbbeebbbbecfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444eeeeeeeeeeeeeeeeeeceeeebbbbbbbbbbbbddddddbbbbbbbbbbbddddddbbbebbbbbbbbeeeebbeecfeeeeeeeeeeebbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444ee4eeeeeeeeeeeeeefeeeeebbbbbbbbbbbddddddddbbbbbbdddddddddbbbbbbbbbeeeeeeeeeecceeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444ee4eeeeeeeeeeeeeeeeeeebbbbbbbbbdddddddddbbbbbbddddddddddbbbeeebbeeeeeeeeeefceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444444e4eeeeeeeeeeeeeeefeeeeebbbbbbbbbddddddddbbbbbbbbbdddddddddbeeeeeeeeeeeeeeeffceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444eeeeee4eeeeeefeeeeebbbbbeebbddddddddbbbbbbbbbdddddddddbbeeeeeeeeeeeeefefceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444eeeeeeeeeeeeefeeeeebbbbeebbbddddddbbbbbbbbbbbdddddddbbeeeeeeeeeeeeeefefceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444e4444eeeeeeeeeeefeeeeeeeeeeeebbbdddddbbbbbbbbbbbddddddbbbeeeeeeeeeeeeeeeecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444e4e4eeeeeeeeeeeeeeeeeeeeeebbbddddddbbbbbbbbbddddddbbbeeeeeeeeeeeeeeeebeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444eee4eee4eeeeeefeeeeeeeeeeebbbdddddddddddddddddddddbbbeeeeeeeeeeeeeeeebeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444444444444eeeeee4eeeeefffeeeeeeeeeeebbdddddddddddddddddddddbbbeeeeeeeeeeeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444444ee444eeeeeefcceeeeeeeeeeebbddddddddddddddddddddbbeeeeeeeeeeeeefeeeebecceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444444eeeeeeeeeffcceeeeeeeeeeeeebbddddddddddddddddbbbbbeeeeeeeeeeeeeeeeeebeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444444eeeefffccccceeefeeeeeeeeebbbddddddddddddddbbbbbbeeeeeeeeeeeeeeeeeebbbcffffceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +444444444444444444444444444444444444444444efffcfffcccceeeefeeeeeeebbbbbdbdddddddddddbbbbbeeeeeeeeeeeefeeeeeebbbbcfcccffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444444444444effccfffffcccebeeeeeeeeeeeeeebbbbddddddddddbbbbbeeeeeeeeeeeeeeeeeeeebbbbbcfccfcceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444444eeeffffffffcccebbeeeeeefeeeeeeeeebbbbbdddddbbbbeeeeeeeeeeeeeeeeeeeeeeeebbbbccccffcceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444444eeefffffffffffccebbbeeeeeeeeeeeeeeeeebbbbddbbbbeeeeeeeeeeeeeeeefeeeeeeeeeebbbbccfcffcccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +44444444444444444444444444444444eeeefffffffffffffccbbbbeeeeeeefeeeeeeeeebbbbddbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbecffffccccfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444444effffcffffffffffffccbbbbeeeeeeeffeeeeeeeebbbbbbbbeeeeeeeeeeeeeeeeefeeeeeeeeeeeebbbbefffffcccffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444444efffcccffffffffffffffebbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeebbbecfffffffcccccfffceeeeeeeeeeeeeeeeeeeeeeeeeeeee +4444444444444444444444444eeecccffffffffffffffffffebbbbbeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbefffffffffcccffccccceeeeeeeeeeeeeeeeeeeeeeeeeee +`; + } + return null; + }) + + helpers._registerFactory("animation", function(name: string) { + switch(helpers.stringTrim(name)) { + + } + return null; + }) + +} +// Auto-generated code. Do not edit. 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/main.blocks b/main.blocks new file mode 100644 index 0000000..d7f4283 --- /dev/null +++ b/main.blocks @@ -0,0 +1,207 @@ +PlayerProjectileFoodEnemymySpriteitemmySprite2projectilepxpycanTPvaluelisttypemySprite3typeSpritelevelsleveltext listlevelStartMessageassets.image`myImage`{"commentRefs":[],"fieldData":{"img":"myImages.image3"}}500assets.image`myImage0`{"commentRefs":[],"fieldData":{"img":"myImages.image4"}}100mySprite0img` +. . . . . . . . . . . . . . . . +. . . . . f f f f f f . . . . . +. . . f f e e e e f 2 f . . . . +. . f f e e e e f 2 2 2 f . . . +. . f e e e f f e e e e f . . . +. . f f f f e e 2 2 2 2 e f . . +. . f e 2 2 2 f f f f e 2 f . . +. f f f f f f f e e e f f f . . +. f f e 4 4 e b f 4 4 e e f . . +. f e e 4 d 4 1 f d d e f . . . +. . f e e e e e d d d f . . . . +. . . . f 4 d d e 4 e f . . . . +. . . . f e d d e 2 2 f . . . . +. . . f f f e e f 5 5 f f . . . +. . . f f f f f f f f f f . . . +. . . . f f . . . f f f . . . . +`{"commentRefs":[],"fieldData":{"img":".WX)h{],0Z_I)E8dv9V|"}}PlayermySpritemySprite1000Sprite.ay@setmySprite500typeSprite0assets.image`red`{"commentRefs":[],"fieldData":{"img":"myImages.image1"}}Playertype0levels0tilemap`level6`{"commentRefs":[],"fieldData":{"tilemap":"level6"}}0tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}0tilemap`level3`{"commentRefs":[],"fieldData":{"tilemap":"level3"}}0tilemap`level4`{"commentRefs":[],"fieldData":{"tilemap":"level4"}}0tilemap`level5`{"commentRefs":[],"fieldData":{"tilemap":"level5"}}0tilemap`level7`{"commentRefs":[],"fieldData":{"tilemap":"level7"}}levelStartMessageThis is portal.py, you need to find the edgeless yum cube to find pass this test.You now have a portal device, use b to place portalsYou are much faster at this than the otherssome portals require great timingsome portals require you to look up when you place themlevel5202"E B C5 A B G A F "220startLevelimg` +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999999d99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +999999999999999999999999999dd999999d9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +999999999999999999999999999ddd99999d999999999999d999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +99999999999999999999999999ddddd9999dd9999999999ddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999ddddddd999dd9999999999ddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999d9dddd999ddd999999999ddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +99999999999999999999999999ddddd999dddd99999999dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999ddddddd999dd9999999999dddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +99999999999999999999999999dddd9dd99ddd9999999dddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999dddddd999ddd999999999dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +999999999999999999999999dd9ddddd99dddd9999999ddddd9dd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +99999999999999999999999999dddddddddddd999999ddddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999999999999999ddddddddddddddddddd99dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 +9999999999999d9999999999ddddddddddddddddddddd99dddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d999999999999999999 +999999999999ddd99999999999ddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999d9999dd999999999999999999 +999999999999dd9999999999dddddddddddddddddddddddddd9999999999999999999999999999999999d99999999999999999999999999999999999999999999999999dd999dd999999999999999999 +99999999999ddd999999999dddddddddddddddddddddddddddd999999999999999999999999999999999dd9999999999999999999999999999999999999999999999999dd99ddd999999999999999999 +9999999999ddddd999999ddddddddddddddddddddddddddddddd99999999999999999999999999999999dd99999999999999999999999999999999999999999999d999dddd9ddddd9999999999999999 +99999999999ddd99999dddddddddddddddddddddddddddddddddd999999999999999999999999999999dddd999999999999999999999999999999999999999999ddd99dddd99dd999999999999999999 +999999999999ddd999dddddddddddddddddddddddddddddddddddd99999999999999999999999999999dddd9999d9999999999999999999999999999999999999ddd999dd99dddddd999999999999999 +9999999999dddd99ddddddddddddddddddddddddddddddddddddddd999999999999999999999dd999999dd99999d999999999999999999999999999999999999dddd9ddddddddd999999999d99999999 +99999999999ddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999ddd9999dddddd999dd9999999999999999999999999999999999999ddd9dddd999dd99999999d99999999 +999999999999ddddddddddddddddddddddddddddddddddddddddddddd99999999999999999dddd99999dddd9999dd999999999999999999999999999999999999ddd99ddddd99d99999999dddd999999 +999999999999dddddddddddddddddddddddddddddddddddddddddddddd999999999999999999ddd9999ddddd99ddd9999999999999d99999999999999999999ddddddddddddd9d999999999d99999999 +99999999999ddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999dddddd9dddddddd9dddd99999999999dd999999999999999999999ddddddddddddddddd9999dddd9999999 +9999999999ddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999dddddd9dddddddddd9dd999999999999ddd9999999999999d99999ddddd99ddddddddddddd999ddd9999999 +99999999dddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999dddddd99dddd9999ddd9999999999ddddd999999999999d9999dddddddddddddddddddddd99ddddd99999 +9999999dddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999dddddd99dddddd99ddd9999999999ddddddd99999999999dd99999dddddddddddddddddddddddddd999999 +999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999ddddddddddddddddddddddd9999999d9dddd999999999999dd9999dddddddddddddddddddddddddd9999999 +99999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999ddddddddddddddddddddddd99999ddddd99999999999ddd9999dddddddddddddddddddddddddd9999999 +999ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999dddddddddddddddddddddddddd99ddddddd99999999999d9999dddddddddddddddddddddddddddd999999 +99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999dddddddddddddddddddddddddddddd9dddd9d9999999999dddd99dddddddddddddddddddddddddddddd9999 +9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999ddddddddddddddddddddddddddddddddddddd999999999999dd99ddddddddddddddddddddddddddddddddd99 +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999ddddddddddddddddddddddddddddddddddddddd999999999ddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999dddddddddddddddddddddddddddddddddddddddd +ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999ddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999ddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999dddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd +`{"commentRefs":[],"fieldData":{"img":"z+dNX#6bTD59ZK#).]79"}}tilemap`level1`{"commentRefs":[],"fieldData":{"tilemap":"level1"}}levels0levelmySprite7540DialogLayout.BottomlevelStartMessage0levelcontroller.menuControllerButtonEvent.PressedTRUEtypetypeSpriteassets.image`red`{"commentRefs":[],"fieldData":{"img":"myImages.image1"}}type0typeSpriteassets.image`blue`{"commentRefs":[],"fieldData":{"img":"myImages.image2"}}type1typeSprite0MINUS0ADD0CameraProperty.X0DIVIDE0280ADD0MINUS0CameraProperty.Y0DIVIDE028controller.upControllerButtonEvent.Releasedpy0controller.upControllerButtonEvent.Pressedpy1CameraProperty.Ycontroller.AControllerButtonEvent.PressedTRUEEQ0Sprite.vymySprite0music.footstepSprite.vy@setmySprite-150controller.downControllerButtonEvent.Pressedpy-1controller.downControllerButtonEvent.Releasedpy0controller.BControllerButtonEvent.Pressedmusic.pewPewprojectile0img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . 2 2 . . . . . . . +. . . . . . 3 1 1 3 . . . . . . +. . . . . 2 1 1 1 1 2 . . . . . +. . . . . 2 1 1 1 1 2 . . . . . +. . . . . . 3 1 1 3 . . . . . . +. . . . . . . 2 2 . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +`{"commentRefs":[],"fieldData":{"img":"6+cEbMqc|jC[i~?u*iCW"}}mySprite50MULTIPLY0px20050MULTIPLY0py-200TRUELT0Sprite.vxmySprite0mySpriteimg` +. . . . . . . . . . . . . . . . +. . . . f f f f f f . . . . . . +. . . f 2 f e e e e f f . . . . +. . f 2 2 2 f e e e e f f . . . +. . f e e e e f f e e e f . . . +. f e 2 2 2 2 e e f f f f . . . +. f 2 e f f f f 2 2 2 e f . . . +. f f f e e e f f f f f f f . . +. f e e 4 4 f b e 4 4 e f f . . +. . f e d d f 1 4 d 4 e e f . . +. . . f d d d e e e e e f . . . +. . . f e 4 e d d 4 f . . . . . +. . . f 2 2 e d d e f . . . . . +. . f f 5 5 f e e f f f . . . . +. . f f f f f f f f f f . . . . +. . . f f f . . . f f . . . . . +`{"commentRefs":[],"fieldData":{"img":"w84kZc+S04_~uwfJu`*="}}px-1TRUEGT0Sprite.vxmySprite0mySpriteimg` +. . . . . . . . . . . . . . . . +. . . . . f f f f f f . . . . . +. . . f f e e e e f 2 f . . . . +. . f f e e e e f 2 2 2 f . . . +. . f e e e f f e e e e f . . . +. . f f f f e e 2 2 2 2 e f . . +. . f e 2 2 2 f f f f e 2 f . . +. f f f f f f f e e e f f f . . +. f f e 4 4 e b f 4 4 e e f . . +. f e e 4 d 4 1 f d d e f . . . +. . f e e e e e d d d f . . . . +. . . . f 4 d d e 4 e f . . . . +. . . . f e d d e 2 2 f . . . . +. . . f f f e e f 5 5 f f . . . +. . . f f f f f f f f f f . . . +. . . . f f . . . f f f . . . . +`{"commentRefs":[],"fieldData":{"img":"L?aVvP}QM5k^Y!EEDAY{"}}px1locationspritePlayersprites.dungeon.doorClosedNorthlocationTRUEcanTPmusic.knockmySpritesprites.dungeon.doorOpenNorthcanTP0mySprite20img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +`{"commentRefs":[],"fieldData":{"img":"4W~a-}!2eu7LNjU4nTwc"}}PlayermySprite00Sprite.x@setmySprite01000canTP1spriteProjectilelocationvaluelistsprites.dungeon.doorClosedNorthsprites.castle.tilePath500valuetrue00valuesprites.dungeon.doorClosedNorth00locationfalse00locationspritePlayersprites.dungeon.doorOpenNorthlocationTRUEcanTPmusic.knockmySpritesprites.dungeon.doorClosedNorthcanTP0locationlocationspritePlayersprites.dungeon.collectibleRedCrystallocationlevel1TRUEEQ0level0levelstruemusic.baDingspritePlayersprites.swamp.swampTile7locationfalsespritePlayersprites.swamp.swampTile9locationfalse \ No newline at end of file diff --git a/main.ts b/main.ts new file mode 100644 index 0000000..4517933 --- /dev/null +++ b/main.ts @@ -0,0 +1,324 @@ +controller.up.onEvent(ControllerButtonEvent.Pressed, function () { + py = 1 +}) +controller.B.onEvent(ControllerButtonEvent.Pressed, function () { + music.pewPew.play() + projectile = sprites.createProjectileFromSprite(img` + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . 2 2 . . . . . . . + . . . . . . 3 1 1 3 . . . . . . + . . . . . 2 1 1 1 1 2 . . . . . + . . . . . 2 1 1 1 1 2 . . . . . + . . . . . . 3 1 1 3 . . . . . . + . . . . . . . 2 2 . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + . . . . . . . . . . . . . . . . + `, mySprite, px * 200, py * -200) +}) +controller.A.onEvent(ControllerButtonEvent.Pressed, function () { + if (mySprite.vy == 0) { + music.footstep.play() + mySprite.vy = -150 + } +}) +controller.down.onEvent(ControllerButtonEvent.Released, function () { + py = 0 +}) +scene.onOverlapTile(SpriteKind.Player, sprites.dungeon.doorClosedNorth, function (sprite, location) { + if (canTP) { + music.knock.play() + tiles.placeOnRandomTile(mySprite, sprites.dungeon.doorOpenNorth) + canTP = 0 + } +}) +controller.up.onEvent(ControllerButtonEvent.Released, function () { + py = 0 +}) +controller.down.onEvent(ControllerButtonEvent.Pressed, function () { + py = -1 +}) +controller.menu.onEvent(ControllerButtonEvent.Pressed, function () { + if (_type) { + typeSprite.setImage(assets.image`red`) + _type = 0 + } else { + typeSprite.setImage(assets.image`blue`) + _type = 1 + } +}) +scene.onOverlapTile(SpriteKind.Player, sprites.swamp.swampTile7, function (sprite, location) { + game.over(false) +}) +scene.onHitWall(SpriteKind.Projectile, function (sprite, location) { + for (let value of tiles.getTilesByType(sprites.dungeon.doorClosedNorth)) { + tiles.setTileAt(value, sprites.castle.tilePath5) + tiles.setWallAt(value, true) + } + tiles.setTileAt(location, sprites.dungeon.doorClosedNorth) + tiles.setWallAt(location, false) +}) +scene.onOverlapTile(SpriteKind.Player, sprites.swamp.swampTile9, function (sprite, location) { + game.over(false) +}) +scene.onOverlapTile(SpriteKind.Player, sprites.dungeon.collectibleRedCrystal, function (sprite, location) { + level += 1 + if (level == levels.length) { + game.over(true) + } else { + music.baDing.play() + startLevel() + } +}) +function startLevel () { + scene.setBackgroundImage(img` + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999999d99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 999999999999999999999999999dd999999d9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 999999999999999999999999999ddd99999d999999999999d999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999ddddd9999dd9999999999ddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999ddddddd999dd9999999999ddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999d9dddd999ddd999999999ddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999ddddd999dddd99999999dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999ddddddd999dd9999999999dddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999dddd9dd99ddd9999999dddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999dddddd999ddd999999999dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 999999999999999999999999dd9ddddd99dddd9999999ddddd9dd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 99999999999999999999999999dddddddddddd999999ddddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999999999999999ddddddddddddddddddd99dddddd999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 + 9999999999999d9999999999ddddddddddddddddddddd99dddddd9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999d999999999999999999 + 999999999999ddd99999999999ddddddddddddddddddddddd99999999999999999999999999999999999999999999999999999999999999999999999999999999999999d9999dd999999999999999999 + 999999999999dd9999999999dddddddddddddddddddddddddd9999999999999999999999999999999999d99999999999999999999999999999999999999999999999999dd999dd999999999999999999 + 99999999999ddd999999999dddddddddddddddddddddddddddd999999999999999999999999999999999dd9999999999999999999999999999999999999999999999999dd99ddd999999999999999999 + 9999999999ddddd999999ddddddddddddddddddddddddddddddd99999999999999999999999999999999dd99999999999999999999999999999999999999999999d999dddd9ddddd9999999999999999 + 99999999999ddd99999dddddddddddddddddddddddddddddddddd999999999999999999999999999999dddd999999999999999999999999999999999999999999ddd99dddd99dd999999999999999999 + 999999999999ddd999dddddddddddddddddddddddddddddddddddd99999999999999999999999999999dddd9999d9999999999999999999999999999999999999ddd999dd99dddddd999999999999999 + 9999999999dddd99ddddddddddddddddddddddddddddddddddddddd999999999999999999999dd999999dd99999d999999999999999999999999999999999999dddd9ddddddddd999999999d99999999 + 99999999999ddddddddddddddddddddddddddddddddddddddddddddd9999999999999999999ddd9999dddddd999dd9999999999999999999999999999999999999ddd9dddd999dd99999999d99999999 + 999999999999ddddddddddddddddddddddddddddddddddddddddddddd99999999999999999dddd99999dddd9999dd999999999999999999999999999999999999ddd99ddddd99d99999999dddd999999 + 999999999999dddddddddddddddddddddddddddddddddddddddddddddd999999999999999999ddd9999ddddd99ddd9999999999999d99999999999999999999ddddddddddddd9d999999999d99999999 + 99999999999ddddddddddddddddddddddddddddddddddddddddddddddd9999999999999999dddddd9dddddddd9dddd99999999999dd999999999999999999999ddddddddddddddddd9999dddd9999999 + 9999999999ddddddddddddddddddddddddddddddddddddddddddddddddd99999999999999dddddd9dddddddddd9dd999999999999ddd9999999999999d99999ddddd99ddddddddddddd999ddd9999999 + 99999999dddddddddddddddddddddddddddddddddddddddddddddddddddd999999999999999dddddd99dddd9999ddd9999999999ddddd999999999999d9999dddddddddddddddddddddd99ddddd99999 + 9999999dddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999dddddd99dddddd99ddd9999999999ddddddd99999999999dd99999dddddddddddddddddddddddddd999999 + 999999dddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999ddddddddddddddddddddddd9999999d9dddd999999999999dd9999dddddddddddddddddddddddddd9999999 + 99999dddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999999ddddddddddddddddddddddd99999ddddd99999999999ddd9999dddddddddddddddddddddddddd9999999 + 999ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999999dddddddddddddddddddddddddd99ddddddd99999999999d9999dddddddddddddddddddddddddddd999999 + 99ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999999dddddddddddddddddddddddddddddd9dddd9d9999999999dddd99dddddddddddddddddddddddddddddd9999 + 9dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd99999ddddddddddddddddddddddddddddddddddddd999999999999dd99ddddddddddddddddddddddddddddddddd99 + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd999ddddddddddddddddddddddddddddddddddddddd999999999ddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999dddddddddddddddddddddddddddddddddddddddd + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999999ddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999999ddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd9999dddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd + `) + tiles.setCurrentTilemap(levels[level]) + mySprite.setPosition(75, 40) + game.showLongText(levelStartMessage[level], DialogLayout.Bottom) +} +scene.onOverlapTile(SpriteKind.Player, sprites.dungeon.doorOpenNorth, function (sprite, location) { + if (canTP) { + music.knock.play() + tiles.placeOnRandomTile(mySprite, sprites.dungeon.doorClosedNorth) + canTP = 0 + } +}) +let canTP = 0 +let px = 0 +let projectile: Sprite = null +let py = 0 +let level = 0 +let levelStartMessage: string[] = [] +let levels: tiles.TileMapData[] = [] +let _type = 0 +let typeSprite: Sprite = null +let mySprite: Sprite = null +scene.setBackgroundImage(assets.image`myImage`) +pause(500) +scene.setBackgroundImage(assets.image`myImage0`) +pause(100) +mySprite = sprites.create(img` + . . . . . . . . . . . . . . . . + . . . . . f f f f f f . . . . . + . . . f f e e e e f 2 f . . . . + . . f f e e e e f 2 2 2 f . . . + . . f e e e f f e e e e f . . . + . . f f f f e e 2 2 2 2 e f . . + . . f e 2 2 2 f f f f e 2 f . . + . f f f f f f f e e e f f f . . + . f f e 4 4 e b f 4 4 e e f . . + . f e e 4 d 4 1 f d d e f . . . + . . f e e e e e d d d f . . . . + . . . . f 4 d d e 4 e f . . . . + . . . . f e d d e 2 2 f . . . . + . . . f f f e e f 5 5 f f . . . + . . . f f f f f f f f f f . . . + . . . . f f . . . f f f . . . . + `, SpriteKind.Player) +scene.cameraFollowSprite(mySprite) +controller.moveSprite(mySprite, 100, 0) +mySprite.ay = 500 +typeSprite = sprites.create(assets.image`red`, SpriteKind.Player) +_type = 0 +levels = [ +tilemap`level6`, +tilemap`level1`, +tilemap`level3`, +tilemap`level4`, +tilemap`level5`, +tilemap`level7` +] +levelStartMessage = [ +"This is portal.py, you need to find the edgeless yum cube to find pass this test.", +"You now have a portal device, use b to place portals", +"You are much faster at this than the others", +"some portals require great timing", +"some portals require you to look up when you place them", +"" +] +level = 5 +music.setVolume(20) +for (let index = 0; index < 2; index++) { + music.playMelody("E B C5 A B G A F ", 220) +} +startLevel() +game.onUpdate(function () { + typeSprite.setPosition(scene.cameraProperty(CameraProperty.X) + scene.screenWidth() / 2 - 8, scene.cameraProperty(CameraProperty.Y) - scene.screenHeight() / 2 + 8) +}) +game.onUpdateInterval(1000, function () { + canTP = 1 +}) +forever(function () { + +}) +forever(function () { + if (mySprite.vx < 0) { + mySprite.setImage(img` + . . . . . . . . . . . . . . . . + . . . . f f f f f f . . . . . . + . . . f 2 f e e e e f f . . . . + . . f 2 2 2 f e e e e f f . . . + . . f e e e e f f e e e f . . . + . f e 2 2 2 2 e e f f f f . . . + . f 2 e f f f f 2 2 2 e f . . . + . f f f e e e f f f f f f f . . + . f e e 4 4 f b e 4 4 e f f . . + . . f e d d f 1 4 d 4 e e f . . + . . . f d d d e e e e e f . . . + . . . f e 4 e d d 4 f . . . . . + . . . f 2 2 e d d e f . . . . . + . . f f 5 5 f e e f f f . . . . + . . f f f f f f f f f f . . . . + . . . f f f . . . f f . . . . . + `) + px = -1 + } + if (mySprite.vx > 0) { + mySprite.setImage(img` + . . . . . . . . . . . . . . . . + . . . . . f f f f f f . . . . . + . . . f f e e e e f 2 f . . . . + . . f f e e e e f 2 2 2 f . . . + . . f e e e f f e e e e f . . . + . . f f f f e e 2 2 2 2 e f . . + . . f e 2 2 2 f f f f e 2 f . . + . f f f f f f f e e e f f f . . + . f f e 4 4 e b f 4 4 e e f . . + . f e e 4 d 4 1 f d d e f . . . + . . f e e e e e d d d f . . . . + . . . . f 4 d d e 4 e f . . . . + . . . . f e d d e 2 2 f . . . . + . . . f f f e e f 5 5 f f . . . + . . . f f f f f f f f f f . . . + . . . . f f . . . f f f . . . . + `) + px = 1 + } +}) diff --git a/pxt.json b/pxt.json new file mode 100644 index 0000000..c64c92c --- /dev/null +++ b/pxt.json @@ -0,0 +1,32 @@ +{ + "name": "portalpy", + "description": "", + "dependencies": { + "device": "*" + }, + "files": [ + "main.blocks", + "main.ts", + "README.md", + "assets.json", + "tilemap.g.jres", + "tilemap.g.ts", + "images.g.jres", + "images.g.ts" + ], + "testFiles": [ + "test.ts" + ], + "targetVersions": { + "branch": "v1.8.22", + "tag": "v1.8.22", + "commits": "https://github.com/microsoft/pxt-arcade/commits/6017af228c87817006b555668c65933bf3cbff4c", + "target": "1.8.22", + "pxt": "7.4.26", + "targetId": "arcade" + }, + "supportedTargets": [ + "arcade" + ], + "preferredEditor": "blocksprj" +} diff --git a/test.ts b/test.ts new file mode 100644 index 0000000..7bf240c --- /dev/null +++ b/test.ts @@ -0,0 +1 @@ +// tests go here; this will not be compiled when this package is used as an extension. diff --git a/tilemap.g.jres b/tilemap.g.jres new file mode 100644 index 0000000..863d2b9 --- /dev/null +++ b/tilemap.g.jres @@ -0,0 +1,106 @@ +{ + "transparency16": { + "data": "hwQQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mimeType": "image/x-mkcd-f4", + "tilemapTile": true + }, + "level2": { + "id": "level2", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==", + "tileset": [ + "myTiles.transparency16" + ], + "displayName": "level2" + }, + "level1": { + "id": "level1", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDQwNDA0MDQwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDUwMDAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDQwNDA0MDQwMzA0MDAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMjA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIyMjIyMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMjIyMjIyMDIwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDIwMDIwMjIyMjIyMjIyMjIyMjIyMg==", + "tileset": [ + "myTiles.transparency16", + "sprites.castle.tilePath1", + "sprites.castle.tilePath4", + "sprites.castle.tilePath5", + "sprites.castle.tilePath2", + "sprites.dungeon.doorOpenNorth", + "sprites.castle.tilePath6", + "sprites.castle.tilePath3", + "sprites.dungeon.collectibleRedCrystal" + ], + "displayName": "level1" + }, + "level3": { + "id": "level3", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDMwMDAwMDQwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMjIyMjIyMjIyMjIyMjIyMg==", + "tileset": [ + "myTiles.transparency16", + "sprites.castle.tilePath2", + "sprites.castle.tilePath4", + "sprites.dungeon.doorOpenNorth", + "sprites.dungeon.collectibleRedCrystal" + ], + "displayName": "level3" + }, + "level4": { + "id": "level4", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwMTAyMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDA1MDEwMjAyMDIwMDAwMDIwMDAwMDAwMDAwMDAwNTAxMDIwMjAyMDIwMjAwMDAwMjAwMDAwMDAwMDUwMTAyMDIwMjAyMDIwMjAyMDEwMTAyMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIwMDAwMDAwMDAwMDIyMDIyMDAwMDAwMDAwMjIyMjAyMjAwMDAwMDAyMjIyMjIwMjIwMDAwMDIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMg==", + "tileset": [ + "myTiles.transparency16", + "sprites.castle.tilePath2", + "sprites.castle.tilePath5", + "sprites.dungeon.collectibleRedCrystal", + "sprites.dungeon.doorOpenNorth", + "sprites.castle.tilePath1" + ], + "displayName": "level4" + }, + "level5": { + "id": "level5", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAxMDEwMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMjIyMjIyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjIyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==", + "tileset": [ + "myTiles.transparency16", + "sprites.castle.tilePath2", + "sprites.swamp.swampTile7", + "sprites.swamp.swampTile9", + "sprites.dungeon.collectibleRedCrystal", + "sprites.dungeon.doorOpenNorth" + ], + "displayName": "level5" + }, + "level6": { + "id": "level6", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDAwMDAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMg==", + "tileset": [ + "myTiles.transparency16", + "sprites.castle.tilePath2", + "sprites.castle.tilePath5", + "sprites.dungeon.collectibleRedCrystal" + ], + "displayName": "level6" + }, + "level7": { + "id": "level7", + "mimeType": "application/mkcd-tilemap", + "data": "MTAxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxMDEwMzAzMDMwMzAzMDMwMzAzMDMwMjAyMDIwMjAyMDIwMjAyMDIwMjAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMDAwMDAwMDAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAxMDAwMDAwMDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDAwMDAwMDUwMDAyMDIwMjA0MDIwMjAyMDIwMjAyMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwNDAyMDIwMjAyMDIwMjAyMDIwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMjIyMjAyMDAwMDAwMDAwMDAwMDAwMDAwMjIyMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMjIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMA==", + "tileset": [ + "myTiles.transparency16", + "sprites.castle.tilePath2", + "sprites.swamp.swampTile9", + "sprites.swamp.swampTile7", + "sprites.swamp.swampTile13", + "sprites.dungeon.collectibleRedCrystal", + "sprites.dungeon.doorOpenNorth" + ], + "displayName": "level7" + }, + "*": { + "mimeType": "image/x-mkcd-f4", + "dataEncoding": "base64", + "namespace": "myTiles" + } +} \ No newline at end of file diff --git a/tilemap.g.ts b/tilemap.g.ts new file mode 100644 index 0000000..c17de80 --- /dev/null +++ b/tilemap.g.ts @@ -0,0 +1,153 @@ +// Auto-generated code. Do not edit. +namespace myTiles { + //% fixedInstance jres blockIdentity=images._tile + export const transparency16 = image.ofBuffer(hex``); + + helpers._registerFactory("tilemap", function(name: string) { + switch(helpers.stringTrim(name)) { + case "level2": + case "level2":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`, img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +`, [myTiles.transparency16], TileScale.Sixteen); + case "level1": + case "level1":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004040404040700000000000000000000000000000006000000000000000000000800050000060000000000000000000004040404040304000000000000000001000000000000000000000000000000020000000000000000000004000000000204040404040404040404040404040403`, img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +2 2 2 2 2 2 . . . . . . . . . . +. . . . . 2 . . . . . . . . . . +. . . . . 2 . . . . . . . . . . +2 2 2 2 2 2 2 . . . . . . . . 2 +. . . . . . . . . . . . . . . 2 +. . . . . . . . . . 2 . . . . 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +`, [myTiles.transparency16,sprites.castle.tilePath1,sprites.castle.tilePath4,sprites.castle.tilePath5,sprites.castle.tilePath2,sprites.dungeon.doorOpenNorth,sprites.castle.tilePath6,sprites.castle.tilePath3,sprites.dungeon.collectibleRedCrystal], TileScale.Sixteen); + case "level3": + case "level3":return tiles.createTilemap(hex`1000100000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200000000000000000000000000000002000000000000000000000000000000020000000000000000000000000000000200030000040001010101010101010101010101010101`, img` +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +. . . . . . . . . 2 . . . . . . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +`, [myTiles.transparency16,sprites.castle.tilePath2,sprites.castle.tilePath4,sprites.dungeon.doorOpenNorth,sprites.dungeon.collectibleRedCrystal], TileScale.Sixteen); + case "level4": + case "level4":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000040000000000000000000000000100000100000000000000000000050102000002000000000000000005010202020000020000000000000501020202020200000200000000050102020202020202010102010101010202020202020202`, img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +2 . . 2 . . . . . . . . . . 2 2 +2 . . 2 . . . . . . . . 2 2 2 2 +2 . . 2 . . . . . . 2 2 2 2 2 2 +2 . . 2 . . . . 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +`, [myTiles.transparency16,sprites.castle.tilePath2,sprites.castle.tilePath5,sprites.dungeon.collectibleRedCrystal,sprites.dungeon.doorOpenNorth,sprites.castle.tilePath1], TileScale.Sixteen); + case "level5": + case "level5":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010101010101010101010000000000000000000000000000000000000000000000000000000000000000000000000000040005000000000000000000000000000101010101000000000000000000000000000000000000000000000000000000020202020202020202020202020202020303030303030303030303030303030303030303030303030303030303030303`, img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . 2 . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +2 2 2 2 2 2 2 2 2 2 . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +2 2 2 2 2 . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +`, [myTiles.transparency16,sprites.castle.tilePath2,sprites.swamp.swampTile7,sprites.swamp.swampTile9,sprites.dungeon.collectibleRedCrystal,sprites.dungeon.doorOpenNorth], TileScale.Sixteen); + case "level6": + case "level6":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000010101010101010101010101010101010202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202`, img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 +`, [myTiles.transparency16,sprites.castle.tilePath2,sprites.castle.tilePath5,sprites.dungeon.collectibleRedCrystal], TileScale.Sixteen); + case "level7": + case "level7":return tiles.createTilemap(hex`1000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000010101010101010303030303030303030202020202020202020201010101010102020202020202020202000000000000020202020202020202020001000000000202020202020202020200000000050002020204020202020202010101010101020202020202020202020202020202020202020202020202020202020202020202020202020402020202020202020202`, img` +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +2 2 2 2 2 2 2 . . . . . . . . . +. . . . . . . . . . 2 2 2 2 2 2 +. . . . . . . . . . . . . . . . +. . . . . . . . . . . 2 . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . 2 2 2 2 2 2 +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +. . . . . . . . . . . . . . . . +`, [myTiles.transparency16,sprites.castle.tilePath2,sprites.swamp.swampTile9,sprites.swamp.swampTile7,sprites.swamp.swampTile13,sprites.dungeon.collectibleRedCrystal,sprites.dungeon.doorOpenNorth], TileScale.Sixteen); + } + return null; + }) + + helpers._registerFactory("tile", function(name: string) { + switch(helpers.stringTrim(name)) { + case "transparency16":return transparency16; + } + return null; + }) + +} +// Auto-generated code. Do not edit. diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..46f831b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "target": "ES5", + "noImplicitAny": true, + "outDir": "built", + "rootDir": "." + }, + "exclude": ["pxt_modules/**/*test.ts"] +}