一個 MakeCode 專案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

53324 lines
1.5 MiB

// 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=1566004 new=5.15% cached=89.49% other=5.35%
(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("503");
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",
"changeLifeBy",
"changeScoreBy",
"charHeight",
"charWidth",
"clear",
"clearInterior",
"clearObstacles",
"collisionHandlers",
"color",
"colors",
"column",
"columnCount",
"columns",
"condition",
"connected",
"constrain",
"contains",
"controlledSprites",
"count",
"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",
"fastFill",
"fastRandom",
"fc",
"fgColor",
"flags",
"followingSprites",
"font",
"fontColor",
"frame",
"frameCallbacks",
"frameWorker",
"framesInSample",
"fx",
"fy",
"galois",
"gameEnd",
"gameForeverHandlers",
"generator",
"getObstacle",
"getOrCreateHandlerForEvent",
"getState",
"getText",
"getTile",
"getTileImage",
"getTileIndex",
"handler",
"handlerState",
"handlers",
"hasBackgroundImage",
"hasLife",
"hasScore",
"hash",
"head",
"headerFont",
"headerText",
"heartImage",
"height",
"highScore",
"icon",
"iconImage",
"id",
"idleCallbacks",
"image",
"images",
"img",
"infoFont",
"infoTop",
"init",
"innerLeft",
"innerTop",
"insertAABB",
"insertAtKey",
"isNewHighScore",
"isObstacle",
"isOnWall",
"isOutOfScreen",
"isOutsideMap",
"isPressed",
"isScaled",
"isStatic",
"isValid",
"isWall",
"key",
"kind",
"layer",
"layers",
"left",
"length",
"lfsr",
"life",
"lifeZeroHandler",
"lifespan",
"map",
"maxLifespan",
"maxNegativeVelocity",
"maxRadius",
"maxRate",
"maxSingleStep",
"maxSpeed",
"maxStep",
"maxVelocity",
"melody",
"mergeAtKey",
"millis",
"minAngle",
"minLifespan",
"minRadius",
"minRate",
"minSingleStep",
"minStep",
"move",
"moveSprite",
"multiplier",
"multiplierImage",
"neighbors",
"next",
"offsetX",
"offsetY",
"onEvent",
"onPlayFinished",
"onUpdate",
"once",
"options",
"order",
"otherKind",
"overlapHandlers",
"overlapMap",
"overlaps",
"overlapsWith",
"ox",
"oy",
"pFlags",
"padding",
"parent",
"particleSources",
"percentChance",
"period",
"physicsEngine",
"pickRandom",
"play",
"playCore",
"playerIndex",
"playerStates",
"position",
"possibleColors",
"preferredDelay",
"pressureLevel",
"prevTimeMillis",
"previousScene",
"priority",
"queuePlayInstructions",
"raiseButtonDown",
"raiseButtonRepeat",
"raiseButtonUp",
"raiseLifeZero",
"randomBool",
"randomRange",
"recalcSize",
"register",
"registerFrameCallbacks",
"registerFrameHandler",
"registerHandler",
"registerMelody",
"registerObstacle",
"remove",
"removeSprite",
"render",
"renderable",
"repeatDelay",
"repeatInterval",
"repeatX",
"repeatY",
"resetHitbox",
"resizeBuckets",
"right",
"row",
"rowCount",
"rows",
"runButtonEvents",
"runCallbacks",
"runningCallbacks",
"s",
"sayEndTime",
"sayRenderer",
"scale",
"scene",
"sceneDefaultRate",
"score",
"scrollOffset",
"scrollRow",
"scrollTarget",
"seed",
"selectedCard",
"selection",
"setAcceleration",
"setAnchor",
"setDirection",
"setFactory",
"setFlag",
"setHitbox",
"setImage",
"setKind",
"setLife",
"setOffset",
"setPosition",
"setPressed",
"setRate",
"setRelativeToCamera",
"setScore",
"setSelection",
"setSpeed",
"setState",
"setStayInScreen",
"setTheme",
"shake",
"shakeAmplitude",
"shakeDuration",
"shakeStartTime",
"shouldBeVisible",
"show",
"showLife",
"showPlayer",
"showScore",
"source",
"sourceFactory",
"sources",
"speed",
"spread",
"sprite",
"spriteCollisions",
"spriteNextId",
"sprites",
"spritesByKind",
"src",
"start",
"startScreenEffect",
"state",
"stop",
"sx",
"sy",
"system",
"text",
"textAreaHeight",
"textAreaWidth",
"textColor",
"theme",
"tileIndex",
"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___P20994(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
globals._intervals___3977 = (undefined);
globals._pollEventQueue___3986 = (undefined);
globals.minPriority___375 = (1);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P3989);
globals.listeners___3990 = (s.tmp_0);
globals.freqs___4039 = (_hex4038);
globals.globalVolume___4043 = (null);
globals.playToneID___4050 = (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 = 0; s.pc = 1; return s.tmp_1;
case 1:
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 = 1; s.pc = 2; return s.tmp_1;
case 2:
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 = 2; s.pc = 3; return s.tmp_1;
case 3:
r0 = s.retval;
globals.pewPew___1636 = (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", _hex9522);
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", _hex9910);
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", _hex14897);
globals.font5___1777 = (s.tmp_0);
globals.__updated___4099 = (false);
r0 = pxsim.control.runInParallel(control___screen_inline__P4102);
r0 = pxsim_pxtcore.setPalette(_hex4113);
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__P4120;
s.callLocIdx = 5; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
globals.control_EventContext_onStats___398 = (_screen_internal_inline__P4125);
globals.RUN_KEY___4130 = ("#run");
globals.SCOPE_KEY___4131 = ("#scope");
s.tmp_0 = settings_initScopes__P4142_mk(s);
s.callLocIdx = 6; s.pc = 5; return s.tmp_0;
case 5:
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 = 7; s.pc = 6; return s.tmp_1;
case 6:
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 = 8; s.pc = 7; return s.tmp_1;
case 7:
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 = 9; s.pc = 8; return s.tmp_1;
case 8:
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 = 10; s.pc = 9; return s.tmp_1;
case 9:
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 = 11; s.pc = 10; return s.tmp_1;
case 10:
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 = 12; s.pc = 11; return s.tmp_1;
case 11:
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 = 13; s.pc = 12; return s.tmp_1;
case 12:
r0 = s.retval;
globals.menu___1913 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_AnyButton__C4171_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 = 14; s.pc = 13; return s.tmp_1;
case 13:
r0 = s.retval;
globals.anyButton___1960 = (s.tmp_0);
globals._userEventsEnabled___4185 = (true);
globals.defaultRepeatDelay___4187 = (500);
globals.defaultRepeatInterval___4189 = (30);
s.tmp_0 = SpriteKind_create__P2258_mk(s);
s.callLocIdx = 15; s.pc = 14; return s.tmp_0;
case 14:
r0 = s.retval;
globals.Player___2259 = (r0);
s.tmp_0 = SpriteKind_create__P2258_mk(s);
s.callLocIdx = 16; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
globals.Food___2261 = (r0);
s.tmp_0 = SpriteKind_create__P2258_mk(s);
s.callLocIdx = 17; s.pc = 16; return s.tmp_0;
case 16:
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___4245 = (undefined);
s.tmp_0 = game_addScenePushHandler__P2699_mk(s);
s.tmp_0.arg0 = info_inline__P4249;
s.callLocIdx = 19; s.pc = 17; return s.tmp_0;
case 17:
r0 = s.retval;
s.tmp_0 = game_addScenePopHandler__P2701_mk(s);
s.tmp_0.arg0 = info_inline__P4264;
s.callLocIdx = 23; s.pc = 18; return s.tmp_0;
case 18:
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 = 24; s.pc = 19; return s.tmp_1;
case 19:
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___4360 = (undefined);
globals.winSound___4362 = (undefined);
globals.__isOver___4370 = (false);
s.tmp_0 = scene_systemMenu_initVolume__P4629_mk(s);
s.callLocIdx = 25; s.pc = 20; return s.tmp_0;
case 20:
r0 = s.retval;
s.tmp_0 = scene_systemMenu_initScreen__P4630_mk(s);
s.callLocIdx = 26; s.pc = 21; return s.tmp_0;
case 21:
r0 = s.retval;
r0 = pxsim_Array__push(globals.scene_Scene_initializers___2592, scene_systemMenu_register__P2787);
r0 = pxsim.image.ofBuffer(_hex4637);
globals.CARD_NORMAL___2792 = (r0);
r0 = pxsim.image.ofBuffer(_hex4639);
globals.CARD_SELECTED___2793 = (r0);
r0 = pxsim.image.ofBuffer(_hex4641);
globals.CARD_ACTIVE___2794 = (r0);
r0 = pxsim.image.ofBuffer(_hex4643);
globals.VOLUME_UP_ICON___2795 = (r0);
r0 = pxsim.image.ofBuffer(_hex4645);
globals.BRIGHTNESS_DOWN_ICON___2796 = (r0);
r0 = pxsim.image.ofBuffer(_hex4647);
globals.CLOSE_MENU_ICON___2797 = (r0);
r0 = pxsim.image.ofBuffer(_hex4649);
globals.VOLUME_DOWN_ICON___2798 = (r0);
r0 = pxsim.image.ofBuffer(_hex4651);
globals.SLEEP_ICON___2799 = (r0);
r0 = pxsim.image.ofBuffer(_hex4653);
globals.CONSOLE_ICON___2800 = (r0);
r0 = pxsim.image.ofBuffer(_hex4655);
globals.BRIGHTNESS_UP_ICON___2801 = (r0);
r0 = pxsim.image.ofBuffer(_hex4657);
globals.STATS_ICON___2802 = (r0);
globals.consoleColor___4660 = (1);
globals.tabSize___4663 = (8);
globals.consoleFont___4669 = (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___4669;
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 = 27; s.pc = 22; return s.tmp_5; }
}
case 22:
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___4674 = (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___4669;
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 = 28; s.pc = 23; return s.tmp_4; }
}
case 23:
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___4684 = (r0);
s.tmp_0 = console_addListener__P383_mk(s);
s.tmp_0.arg0 = game_consoleOverlay_listener__P4696;
s.callLocIdx = 29; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = MAX_SOURCES_inline__P8576;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 31; s.pc = 25; return s.tmp_0;
case 25:
r0 = s.retval;
globals.MAX_SOURCES___4698 = (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 = 32; s.pc = 26; return s.tmp_1;
case 26:
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 = 33; s.pc = 27; return s.tmp_1;
case 27:
r0 = s.retval;
globals.galois___4718 = (s.tmp_0);
globals.angleSlice___4726 = (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__P10897;
s.callLocIdx = 39; s.pc = 28; return s.tmp_1;
case 28:
r0 = s.retval;
globals.confetti___2955 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(effects_ParticleEffect__C2943_VT);
s.tmp_0 = r0;
s.tmp_1 = effects_ParticleEffect_constructor__P2944_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 50;
s.tmp_1.arg2 = 5000;
s.tmp_1.arg3 = fire_inline__P13345;
s.callLocIdx = 43; s.pc = 29; return s.tmp_1;
case 29:
r0 = s.retval;
globals.fire___2959 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(effects_ParticleEffect__C2943_VT);
s.tmp_0 = r0;
s.tmp_1 = effects_ParticleEffect_constructor__P2944_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 60;
s.tmp_1.arg2 = 1250;
s.tmp_1.arg3 = disintegrate_inline__P13408;
s.callLocIdx = 47; s.pc = 30; return s.tmp_1;
case 30:
r0 = s.retval;
globals.disintegrate___2964 = (s.tmp_0);
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 = 2;
s.tmp_1.arg2 = 5;
s.tmp_1.arg3 = 5000;
s.tmp_1.arg4 = starField_inline__P8106;
s.callLocIdx = 50; s.pc = 31; return s.tmp_1;
case 31:
r0 = s.retval;
globals.starField___2967 = (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__P13655;
s.callLocIdx = 56; s.pc = 32; return s.tmp_1;
case 32:
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__P10789;
s.callLocIdx = 59; s.pc = 33; return s.tmp_1;
case 33:
r0 = s.retval;
globals.melt___2976 = (s.tmp_0);
s.tmp_0 = game_setWaitAnyButton__P2686_mk(s);
s.tmp_0.arg0 = controller_pauseUntilAnyButtonIsPressed__P1995;
s.callLocIdx = 60; s.pc = 34; return s.tmp_0;
case 34:
r0 = s.retval;
s.tmp_0 = game_eventContext__P2688_mk(s);
s.callLocIdx = 61; s.pc = 35; return s.tmp_0;
case 35:
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__P6385;
s.callLocIdx = 64; s.pc = 36; return s.tmp_0;
case 36:
r0 = s.retval;
s.tmp_0 = sprites_onOverlap__P2237_mk(s);
s.tmp_0.arg0 = globals.Enemy___2262;
s.tmp_0.arg1 = 1;
s.tmp_0.arg2 = inline__P6400;
s.callLocIdx = 68; s.pc = 37; return s.tmp_0;
case 37:
r0 = s.retval;
s.tmp_0 = sprites_onOverlap__P2237_mk(s);
s.tmp_0.arg0 = globals.Player___2259;
s.tmp_0.arg1 = globals.Enemy___2262;
s.tmp_0.arg2 = inline__P6414;
s.callLocIdx = 72; s.pc = 38; return s.tmp_0;
case 38:
r0 = s.retval;
globals.projectile2___3922 = (null);
globals.projectile___3923 = (null);
globals.mySprite___3924 = (null);
s.tmp_0 = info_setScore__P2341_mk(s);
s.tmp_0.arg0 = 0;
s.callLocIdx = 73; s.pc = 39; return s.tmp_0;
case 39:
r0 = s.retval;
s.tmp_0 = info_setLife__P2345_mk(s);
s.tmp_0.arg0 = 3;
s.callLocIdx = 74; s.pc = 40; return s.tmp_0;
case 40:
r0 = s.retval;
s.tmp_0 = effects_ScreenEffect_startScreenEffect__P2949_mk(s);
s.tmp_0.arg0 = globals.starField___2967;
s.tmp_0.arg1 = undefined;
s.tmp_0.arg2 = undefined;
s.callLocIdx = 75; s.pc = 41; return s.tmp_0;
case 41:
r0 = s.retval;
s.tmp_0 = sprites_create__P2064_mk(s);
r0 = pxsim.image.ofBuffer(_hex6434);
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = globals.Player___2259;
s.callLocIdx = 76; s.pc = 42; return s.tmp_0;
case 42:
r0 = s.retval;
globals.mySprite___3924 = (r0);
s.tmp_0 = Sprite_setPosition__P2196_mk(s);
s.tmp_0.arg0 = globals.mySprite___3924;
s.tmp_0.arg1 = 76;
s.tmp_0.arg2 = 108;
s.callLocIdx = 77; s.pc = 43; return s.tmp_0;
case 43:
r0 = s.retval;
s.tmp_0 = controller_moveSprite__P1957_mk(s);
s.tmp_0.arg0 = globals.mySprite___3924;
s.tmp_0.arg1 = 100;
s.tmp_0.arg2 = 100;
s.callLocIdx = 78; s.pc = 44; return s.tmp_0;
case 44:
r0 = s.retval;
s.tmp_0 = Sprite_setStayInScreen__P2204_mk(s);
s.tmp_0.arg0 = globals.mySprite___3924;
s.tmp_0.arg1 = true;
s.callLocIdx = 79; s.pc = 45; return s.tmp_0;
case 45:
r0 = s.retval;
s.tmp_0 = game_onUpdateInterval__P2705_mk(s);
s.tmp_0.arg0 = 1000;
s.tmp_0.arg1 = inline__P6443;
s.callLocIdx = 84; s.pc = 46; return s.tmp_0;
case 46:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
_main___P20994.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"main.ts","functionName":"<main>","argumentNames":[]}
_main___P20994.continuations = [ ]
function _main___P20994_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _main___P20994, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
} }
const _hex4038 = pxsim.BufferMethods.createBufferFromHex("1f00210023002500270029002c002e003100340037003a003e004100450049004e00520057005c00620068006e0075007b0083008b0093009c00a500af00b900c400d000dc00e900f70006011501260137014a015d01720188019f01b801d201ee010b022a024b026e029302ba02e40210033f037003a403dc03170455049704dd0427057505c80520067d06e0064907b8072d08a9082d09b9094d0aea0a900b400cfa0cc00d910e6f0f5a1053115b1272139a14d41520178018f519801b231dde1e")
const _hex9522 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800")
const _hex9910 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000")
const _hex14897 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000")
const _hex4113 = pxsim.BufferMethods.createBufferFromHex("000000ffffffff2121ff93c4ff8135fff609249ca378dc52003fad87f2ff8e2ec4a4839f5c406ce5cdc491463d000000")
const _hex4637 = pxsim.BufferMethods.createBufferFromHex("8704240024000000001111111111111111111111111111111100000010313333333333333333333333333333130100001113111111111111111111111111111131110000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000311111111111111111111111111111111113000031111111111111111111111111111111111300003111111111111111111111111111111111130000111311111111111111111111111111113111000010313333333333333333333333333333130100000011111111111111111111111111111111000000")
const _hex4639 = pxsim.BufferMethods.createBufferFromHex("8704240024000000002222222222222222222222222222222200000020323333333333333333333333333333230200002223222222222222222222222222222232220000322211111111111111111111111111112223000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003212111111111111111111111111111121230000321211111111111111111111111111112123000032121111111111111111111111111111212300003222111111111111111111111111111122230000222322222222222222222222222222223222000020323333333333333333333333333333230200000022222222222222222222222222222222000000")
const _hex4641 = pxsim.BufferMethods.createBufferFromHex("8704240024000000004444444444444444444444444444444400000040343333333333333333333333333333430400004443444444444444444444444444444434440000344411111111111111111111111111114443000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003414111111111111111111111111111141430000341411111111111111111111111111114143000034141111111111111111111111111111414300003444111111111111111111111111111144430000444344444444444444444444444444443444000040343333333333333333333333333333430400000044444444444444444444444444444444000000")
const _hex4643 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d00000000000000000000000070666607000000000000000000000000006776000000000000000000000000660700007066000000000000000000006766777766760000000000000000000060666666660600000000000000000066006766667600660000000000000000667600000000676600000000000000006766767777676676000000000000000060666666666666060000000000000000006766666666760000000000000000000000676666760000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex4645 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0bb000000000000000000000000b000404500b0000000000000000000005b0b000400540b0000000000000000b0550400000054b5000000000000000000440040bb0040040000000000000000000040d4ddbb0000000000000000000000004055ddbd000000000000000000004b005455d5dd0b400b000000000000005b045411d5dd0b540b000000000000004b005411d5dd0b400b0000000000000000004055ddbd00000000000000000000000040d4ddbb0000000000000000000000440040bb0040040000000000000000b0550400000054b50000000000000000005b04000400540b000000000000000000b000404500b0000000000000000000000000b0bb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex4647 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000002002000000000000202200000000000022020000000000000022020000000020220000000000000000202200000000220200000000000000000022020000202200000000000000000000202200002202000000000000000000000022022022000000000000000000000000202222020000000000000000000000000022220000000000000000000000000000222200000000000000000000000000202222020000000000000000000000002202202200000000000000000000002022000022020000000000000000000022020000202200000000000000000020220000000022020000000000000000220200000000202200000000000000202200000000000022020000000000002002000000000000200200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex4649 = pxsim.BufferMethods.createBufferFromHex("8704200020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0fcff0f000000000000000000000000bcddddfb000000000000000000000000dcbbbbfd000000000000000000000000ccbbbbfc0000000000000000000000c0bcd1bdfb0f00000000000000000000c01b11ddbb0f00000000000000000000c0bcbbbbcb0f00000000000000000000bc11d1ddddcb000000000000000000c01d11ddddddd10c0000000000000000bcd1cbbcfbcf1dcb00000000000000001ccdccddbdffdfc100000000000000001cccccdbcbffcfc10000000000000000dbcbccccfcffbfcd0000000000000000bbbdccccffcfdbbb0000000000000000b0dbbdbbbbdbbd0b000000000000000000b0cbccccbc0b000000000000000000000000000000000000000000000000000000d007700d0000000000000000000000007066660700000000000000000000000000677600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex4651 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0cbcc0c0000000000000000000000b0db55d5cd0c00000000000000000000db555555ddcd000000000000000000b055555555d59d0b0000000000000000db55555555d59db900000000000000005b55555555d5ddb900000000000000b05db5cccc5bdddd990b000000000000b055ccccccccdddd9d0b000000000000b0b5ccccccccdbdd9d0b000000000000b0c5ccccccccdcdd9d0b000000000000b0c5ccdccbccdcdd9d0c000000000000b0cdcc5b55ccdcdd9d0c00000000000000ccdc55b5ccdcddc90000000000000000cccc5b55ccdbddc90000000000000000c0ccdccbccdd9d0c000000000000000000ccccccdbddcd00000000000000000000c0dcddddcd0c0000000000000000000000c0cccc0c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex4653 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc00000000000000b0bbbbbbbbcb00c0cd000000000000001bddddddddbd0c1ccd000000000000b011cbccccccbc0c1ccd000000000000b01d6c666666bc0cbccd000000000000b01d6c616661bc0c1ccd000000000000b01d6c161666bccc1bcd000000000000b01d6c666166bcccbbcd000000000000b01d6c666666bccc1bcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666661bcccbbcd000000000000b01d6c666661bccc1bcd000000000000b01d6c666666bc0c1ccd000000000000b01dcbccccccbc0cbccd000000000000c0b1bbbbbbbbbb0cdccb000000000000c0bbbbbbbbbbcb00dc0c00000000000000cccccccccc0c00cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex4655 = pxsim.BufferMethods.createBufferFromHex("87042000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004004000000000000000000000000000054450000000000000000000000440b00bbbb00b0440000000000000040550b00000000b0550400000000000040b5000044bb00005b04000000000000b00b0044ddddbb00b00b0000000000000000405d55d5dd0b00000000000000000000d4555555ddbd0000000000000000000054555555d5bd0000000000000000b44055555555d5dd0b4b000000000040b54055555555d5dd0b5b040000000040b54055555555d5dd0b5b040000000000b44055115555d5dd0b4b000000000000000054115555d5bd00000000000000000000d4555555ddbd00000000000000000000405d55d5dd0b0000000000000000b00b0044ddddbb00b00b00000000000040b5000044bb00005b0400000000000040550b00000000b0550400000000000000440b00bbbb00b0440000000000000000000000544500000000000000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex4657 = pxsim.BufferMethods.createBufferFromHex("870420002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bbbb00000000000000000000000000b055bb00bbbbbb000000000000000000b0b5bdbcbbbbddcb0000000000000000b0dbcb5b5555bbdd0c00000000000000b0cbdcbdbb5b55dbcd0000000000000000c0dddb11d15bb5bd0c00000000000000bbbd111111b155bb0c00000000000000db1b111111115bb5cb00000000000000db1bb11d1199b9d5cb00000000000000db1b11bb9199b955cb000000000000005b1b11b19b99995bcb000000000000005b1d1111bb99995ccb00000000000000b0b511bbbb99995ccb00000000000000b0d51d919999d95b0b00000000000000005bdb919999c9d50b0000000000000000b0d51b99d9bcb5000000000000000000005bd5bbbc550b00000000000000000000b05b5555bd000000000000000000000000b0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
const _hex6434 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000088000000000000808800000000000088880000000000008f880000000000808f8800000000008c6f8800000000887c6c66cccccf8f787c7c66ddbd7f7f5576767700000000665676770000000000667f770000000000605f750000000000007657000000000000667700000000000060660000000000000066")
function control___screen_inline__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:
case 1:
r0 = pxsim_numops_toBoolDecr(true);
if (!r0) { step = 4; continue; }
globals.__updated___4099 = (false);
s.tmp_0 = pause__P413_mk(s);
s.tmp_0.arg0 = 200;
s.callLocIdx = 3; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(globals.__updated___4099);
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 = 4; s.pc = 6; return s.tmp_2;
case 6:
r0 = s.retval;
globals.__updated___4099 = (true);
case 2:
case 3:
{ step = 1; continue; }
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
control___screen_inline__P4102.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__P4102_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control___screen_inline__P4102, 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__P4120(s) {
let r0 = s.r0, 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__P4120.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__P4120_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _screen_internal_inline__P4120, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
} }
function _screen_internal_inline__P4125(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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__P4125.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__P4125_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _screen_internal_inline__P4125, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function info_inline__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:
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim_numops_toBoolDecr(globals.infoState___4245);
if (!r0) { step = 3; continue; }
r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___4247);
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___4247 = (r0);
case 1:
case 2:
r0 = pxsim_pxtrt.mkMap();
s.tmp_0 = r0;
r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___4245);
r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0);
r0 = pxsim_Array__push(globals.infoStateStack___4247, s.tmp_0);
globals.infoState___4245 = (undefined);
case 3:
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_inline__P4249.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__P4249_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_inline__P4249, 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__P4264(s) {
let r0 = s.r0, step = 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___4265 = undefined;
s.nextState___4274 = undefined;
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 20; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.scene___4265 = (r0);
globals.infoState___4245 = (undefined);
s.tmp_0 = r0 = globals.infoStateStack___4247;
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___4247);
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___4247);
s.nextState___4274 = (r0);
s.tmp_2 = if_scene_1_mk(s);
s.tmp_2.arg0 = s.nextState___4274;
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 = 21; s.pc = 8; return s.tmp_2; }
}
case 8:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_1 == s.scene___4265);
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___4274;
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 = 22; s.pc = 9; return s.tmp_3; }
}
case 9:
r0 = s.retval;
globals.infoState___4245 = (r0);
{ step = 4; continue; }
case 3:
r0 = pxsim_Array__push(globals.infoStateStack___4247, s.nextState___4274);
case 4:
case 5:
case 6:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_inline__P4264.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__P4264_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_inline__P4264, depth: s.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___4265: undefined,
nextState___4274: undefined,
} }
function inline__P6385(s) {
let r0 = s.r0, step = 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 = sprites_createProjectileFromSprite__P2069_mk(s);
r0 = pxsim.image.ofBuffer(_hex6390);
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = globals.mySprite___3924;
s.tmp_0.arg2 = 0;
s.tmp_0.arg3 = -60;
s.callLocIdx = 62; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
globals.projectile___3923 = (r0);
s.tmp_0 = music_Melody_play__P1619_mk(s);
s.tmp_0.arg0 = globals.pewPew___1636;
s.tmp_0.arg1 = 255;
s.callLocIdx = 63; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
inline__P6385.info = {"start":52,"length":781,"line":0,"column":52,"endLine":20,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}
function inline__P6385_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: inline__P6385, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
const _hex6390 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070777700000000007077770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
function inline__P6400(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = Sprite_destroy__P2215_mk(s);
s.tmp_0.arg0 = s.arg1;
s.tmp_0.arg1 = undefined;
s.tmp_0.arg2 = undefined;
s.callLocIdx = 65; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.tmp_0 = Sprite_destroy__P2215_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = globals.disintegrate___2964;
s.tmp_0.arg2 = 500;
s.callLocIdx = 66; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
s.tmp_0 = info_changeScoreBy__P2342_mk(s);
s.tmp_0.arg0 = 1;
s.callLocIdx = 67; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
inline__P6400.info = {"start":894,"length":132,"line":21,"column":59,"endLine":25,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","otherSprite"]}
function inline__P6400_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: inline__P6400, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
arg1: undefined,
} }
function inline__P6414(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = Sprite_destroy__P2215_mk(s);
s.tmp_0.arg0 = s.arg1;
s.tmp_0.arg1 = globals.fire___2959;
s.tmp_0.arg2 = 500;
s.callLocIdx = 69; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.tmp_0 = scene_cameraShake__P2616_mk(s);
s.tmp_0.arg0 = 4;
s.tmp_0.arg1 = 500;
s.callLocIdx = 70; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
s.tmp_0 = info_changeLifeBy__P2346_mk(s);
s.tmp_0.arg0 = -1;
s.callLocIdx = 71; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
inline__P6414.info = {"start":1083,"length":133,"line":26,"column":55,"endLine":30,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":["sprite","otherSprite"]}
function inline__P6414_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: inline__P6414, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
arg1: undefined,
} }
function inline__P6443(s) {
let r0 = s.r0, step = 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 = sprites_createProjectileFromSide__P2068_mk(s);
r0 = pxsim.image.ofBuffer(_hex6447);
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = 0;
r0 = pxsim.Math_.randomRange(30, 60);
s.tmp_0.arg2 = r0;
s.callLocIdx = 80; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
globals.projectile2___3922 = (r0);
s.tmp_0 = Sprite_setKind__P2195_mk(s);
s.tmp_0.arg0 = globals.projectile2___3922;
s.tmp_0.arg1 = globals.Enemy___2262;
s.callLocIdx = 81; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
s.tmp_0 = Sprite_x__P2142_mk(s);
s.tmp_0.arg0 = globals.projectile2___3922;
r0 = pxsim_ImageMethods.width(globals.screen___1829);
s.tmp_1 = r0;
r0 = pxsim.Math_.randomRange(0, s.tmp_1);
s.tmp_0.arg1 = r0;
s.callLocIdx = 83; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
inline__P6443.info = {"start":2148,"length":852,"line":58,"column":28,"endLine":79,"endColumn":1,"fileName":"main.ts","functionName":"inline","argumentNames":[]}
function inline__P6443_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: inline__P6443, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
const _hex6447 = pxsim.BufferMethods.createBufferFromHex("87041000100000000000c8acca0000000000ccfaa80a000000c0ccca8fcc000000ccbcabaccacc0000ccffabaabacb0c00f8ffb8caacbbcc80f8ffbaccffbacac0ff8fabccffbfcbc0ccaccccafa6fcbccaaccccacaa66ccfcafcaccaabba6cc88ffaaccfcb8ca0cc0ffacccffcfcb00c0cca8fcffcfc60000ccccfc8f6ccc0000c0ccccacca0000")
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 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 = 339; 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 = 340; 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 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___6477 = 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 = 404; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = r0.fields["physicsEngine"];
s.physics___6477 = (r0);
s.tmp_0 = PhysicsEngine__C2290_v2_4_mk(s);
s.tmp_0.arg0 = s.physics___6477;
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___6477: undefined,
arg0: undefined,
arg1: 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 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_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 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 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 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 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_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___6537 = undefined;
s.overlapMap___6566 = 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 = 419; s.pc = 16; return s.tmp_3;
case 16:
r0 = s.retval;
r0 = r0.fields["spritesByKind"];
s.spritesByKind___6537 = (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___6537, 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___6537, s.tmp_5);
s.tmp_4.arg0 = r0;
s.tmp_4.arg1 = s.arg0;
s.callLocIdx = 420; 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___6537, 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 = 421; s.pc = 18; return s.tmp_5;
case 18:
r0 = s.retval;
r0 = pxsim_pxtrt.mapSetGeneric(s.spritesByKind___6537, s.arg1, s.tmp_4);
case 9:
case 10:
s.tmp_0 = sprites_SpriteSet_add__P2247_mk(s);
r0 = pxsim_pxtrt.mapGetGeneric(s.spritesByKind___6537, s.arg1);
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = s.arg0;
s.callLocIdx = 422; 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 = 423; s.pc = 20; return s.tmp_0;
case 20:
r0 = s.retval;
r0 = r0.fields["overlapMap"];
s.overlapMap___6566 = (r0);
r0 = pxsim_pxtrt.mapGetGeneric(s.overlapMap___6566, 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___6566;
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___6566, 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___6537: undefined,
overlapMap___6566: 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___6614 = 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___6614 = (r0);
r0 = (s.i___6614 > -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___6614;
s.tmp_1.arg2 = 1;
s.callLocIdx = 601; 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___6614: undefined,
arg0: undefined,
arg1: 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___6634 = 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___6634 = (0);
case 3:
r0 = (s.i___6634 < 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___6634 + 1);
s.i___6634 = (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___6634: undefined,
arg0: undefined,
arg1: undefined,
arg2: 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 sprites_createProjectileFromSide__P2068(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = sprites_createProjectile__P2070_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.arg1;
s.tmp_0.arg2 = s.arg2;
s.tmp_0.arg3 = 1;
s.tmp_0.arg4 = undefined;
s.callLocIdx = 319; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
return leave(s, r0)
default: oops()
} } }
sprites_createProjectileFromSide__P2068.info = {"start":3377,"length":153,"line":101,"column":4,"endLine":103,"endColumn":5,"fileName":"pxt_modules/game/sprites.ts","functionName":"createProjectileFromSide","argumentNames":["img","vx","vy"]}
function sprites_createProjectileFromSide__P2068_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: sprites_createProjectileFromSide__P2068, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
arg1: undefined,
arg2: 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___6660 = undefined;
s.sc___6667 = undefined;
s.xOff___6683 = undefined;
s.yOff___6697 = undefined;
s.cam___6711 = undefined;
s.initialX___6715 = undefined;
s.initialY___6718 = 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 = 321; s.pc = 17; return s.tmp_2;
case 17:
r0 = s.retval;
s.s___6660 = (r0);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 322; s.pc = 18; return s.tmp_0;
case 18:
r0 = s.retval;
s.sc___6667 = (r0);
s.tmp_0 = Sprite_vx__P2146_mk(s);
s.tmp_0.arg0 = s.s___6660;
s.tmp_0.arg1 = s.arg1;
s.callLocIdx = 323; 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___6660;
s.tmp_0.arg1 = s.arg2;
s.callLocIdx = 324; 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___6660;
s.tmp_1 = Sprite_x__P2141_mk(s);
s.tmp_1.arg0 = s.arg4;
s.callLocIdx = 325; 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 = 326; s.pc = 23; return s.tmp_2;
case 23:
r0 = s.retval;
s.tmp_0.arg2 = r0;
s.callLocIdx = 327; s.pc = 21; return s.tmp_0;
case 21:
r0 = s.retval;
{ step = 16; continue; }
case 3:
r0 = s.sc___6667.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___6660;
s.callLocIdx = 328; 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___6660;
s.callLocIdx = 329; 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___6683 = (s.tmp_7);
r0 = s.sc___6667.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___6660;
s.callLocIdx = 330; 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___6660;
s.callLocIdx = 331; 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___6697 = (s.tmp_7);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 332; s.pc = 28; return s.tmp_0;
case 28:
r0 = s.retval;
r0 = r0.fields["camera"];
s.cam___6711 = (r0);
r0 = s.cam___6711.fields["_offsetX"];
s.initialX___6715 = (r0);
r0 = s.cam___6711.fields["_offsetY"];
s.initialY___6718 = (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___6715;
r0 = pxsim_ImageMethods.width(globals.screen___1829);
s.tmp_3 = r0;
r0 = (s.tmp_3 + s.xOff___6683);
s.tmp_2 = r0;
r0 = (s.tmp_1 + s.tmp_2);
s.initialX___6715 = (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___6715;
r0 = (0 - s.xOff___6683);
s.tmp_2 = r0;
r0 = (s.tmp_1 + s.tmp_2);
s.initialX___6715 = (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___6718;
r0 = pxsim_ImageMethods.height(globals.screen___1829);
s.tmp_3 = r0;
r0 = (s.tmp_3 + s.yOff___6697);
s.tmp_2 = r0;
r0 = (s.tmp_1 + s.tmp_2);
s.initialY___6718 = (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___6718;
r0 = (0 - s.yOff___6697);
s.tmp_2 = r0;
r0 = (s.tmp_1 + s.tmp_2);
s.initialY___6718 = (r0);
case 13:
case 14:
case 15:
s.tmp_0 = Sprite_setPosition__P2196_mk(s);
s.tmp_0.arg0 = s.s___6660;
s.tmp_0.arg1 = s.initialX___6715;
s.tmp_0.arg2 = s.initialY___6718;
s.callLocIdx = 335; s.pc = 29; return s.tmp_0;
case 29:
r0 = s.retval;
case 16:
s.tmp_0 = r0 = s.s___6660;
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___6660;
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___6660: undefined,
sc___6667: undefined,
xOff___6683: undefined,
yOff___6697: undefined,
cam___6711: undefined,
initialX___6715: undefined,
initialY___6718: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
arg4: 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__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 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_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 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 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 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 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___6813 = 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___6813 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.timer___6813, 0);
r0 = pxsim_pxtcore_mkAction(3, game_onUpdateInterval_inline__P6817);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.timer___6813);
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 = 1171; 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 = 1175; 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___6813: undefined,
arg0: undefined,
arg1: undefined,
} }
function game_onUpdateInterval_inline__P6817(s) {
let r0 = s.r0, step = 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___6818 = undefined;
s.tmp_1 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1172; s.pc = 3; return s.tmp_1;
case 3:
r0 = s.retval;
s.tmp_0 = r0;
r0 = s.tmp_0.fields["_millis"];
s.time___6818 = (r0);
r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);
s.tmp_1 = r0;
r0 = (s.tmp_1 <= s.time___6818);
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___6818 + 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 = 1174; 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__P6817.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__P6817_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_onUpdateInterval_inline__P6817, depth: s.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___6818: 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___6845 = undefined;
s.i___6854 = 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__P4010_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 53; 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___6845 = (r0);
r0 = (s.fn___6845).fields["order"] = (s.arg1);
r0 = (s.fn___6845).fields["handler"] = (s.arg2);
s.i___6854 = (0);
case 3:
s.tmp_1 = r0 = s.i___6854;
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___6854);
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___6854, s.fn___6845);
r0 = s.fn___6845;
{ step = 7; continue; }
case 4:
case 5:
r0 = (s.i___6854 + 1);
s.i___6854 = (r0);
{ step = 3; continue; }
case 6:
r0 = s.arg0.fields["frameCallbacks"];
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.fn___6845);
r0 = s.fn___6845;
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___6845: undefined,
i___6854: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function control_EventContext_registerFrameCallbacks__P4010(s) {
let r0 = s.r0, step = 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___6888 = 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___6888 = (r0);
r0 = pxsim_pxtcore_mkAction(2, control_EventContext_registerFrameCallbacks_inline__P6894);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.worker___6888);
r0 = pxsim.control.runInParallel(s.tmp_0);
case 3:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
control_EventContext_registerFrameCallbacks__P4010.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__P4010_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventContext_registerFrameCallbacks__P4010, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
worker___6888: undefined,
arg0: undefined,
} }
function control_EventContext_registerFrameCallbacks_inline__P6894(s) {
let r0 = s.r0, step = 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___6924 = 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__P6900);
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 = 47; 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__P4009_mk(s);
s.tmp_2.arg0 = s.caps[0];
s.callLocIdx = 48; s.pc = 6; return s.tmp_2;
case 6:
r0 = s.retval;
s.delay___6924 = (r0);
s.tmp_0 = pause__P413_mk(s);
s.tmp_0.arg0 = s.delay___6924;
s.callLocIdx = 49; 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__P6894.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__P6894_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P6894, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
delay___6924: undefined,
} }
function control_EventContext_registerFrameCallbacks_inline__P6900(s) {
let r0 = s.r0, 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__P6900.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__P6900_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventContext_registerFrameCallbacks_inline__P6900, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function control_EventContext_runCallbacks__P4009(s) {
let r0 = s.r0, step = 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___6933 = undefined;
s.f___6946 = undefined;
s.unnamed54___U2 = undefined;
s.unnamed55___U3 = undefined;
s.runtime___6951 = undefined;
s.fps___6971 = undefined;
s.delay___7033 = 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___6933 = (r0);
s.tmp_0 = r0 = s.arg0;
r0 = s.arg0.fields["prevTimeMillis"];
s.tmp_2 = r0;
r0 = (s.loopStart___6933 - s.tmp_2);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["deltaTimeMillis"] = (s.tmp_1);
r0 = (s.arg0).fields["prevTimeMillis"] = (s.loopStart___6933);
s.f___6946 = (undefined);
r0 = s.arg0.fields["frameCallbacks"];
s.unnamed54___U2 = (r0);
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.f___6946 = (r0);
s.tmp_2 = if_handler_1_mk(s);
s.tmp_2.arg0 = s.f___6946;
if (!s.tmp_2.arg0.vtable.iface) {
setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "handler"), 1);
s.callLocIdx = 44; 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 = 44; s.pc = 13; return s.tmp_2; }
else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 44; s.pc = 13; return s.tmp_2;; }
else { s.callLocIdx = 44; s.pc = 13; return s.tmp_2; }
}
case 13:
r0 = s.retval;
r0 = (s.unnamed55___U3 + 1);
s.unnamed55___U3 = (r0);
{ step = 1; continue; }
case 2:
s.unnamed54___U2 = (undefined);
r0 = pxsim.control.millis();
s.tmp_0 = r0;
r0 = (s.tmp_0 - s.loopStart___6933);
s.runtime___6951 = (r0);
s.tmp_0 = r0 = s.arg0;
r0 = s.tmp_0.fields["timeInSample"];
s.tmp_2 = r0;
r0 = (s.tmp_2 + s.runtime___6951);
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___6971 = (r0);
r0 = pxsim.Math_.round(s.fps___6971);
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___6971 < 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___6971 * 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 = 45; 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___6971 * 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___6951);
s.tmp_0.arg1 = r0;
s.callLocIdx = 46; s.pc = 21; return s.tmp_0;
case 21:
r0 = s.retval;
s.delay___7033 = (r0);
r0 = s.delay___7033;
return leave(s, r0)
default: oops()
} } }
control_EventContext_runCallbacks__P4009.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__P4009_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventContext_runCallbacks__P4009, depth: s.depth + 1,
pc: 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___6933: undefined,
f___6946: undefined,
unnamed54___U2: undefined,
unnamed55___U3: undefined,
runtime___6951: undefined,
fps___6971: undefined,
delay___7033: 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__P3975(s) {
let r0 = s.r0, 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__P3975.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__P3975_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control__ramSize__P3975, 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 = 31; 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 = 32; 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___7072 = 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__C3983_VT);
s.tmp_0 = r0;
s.tmp_1 = control_PollEvent_constructor__P3984_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 = 29; s.pc = 5; return s.tmp_1;
case 5:
r0 = s.retval;
s.ev___7072 = (s.tmp_0);
r0 = pxsim_numops_toBoolDecr(globals._pollEventQueue___3986);
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___7072);
globals._pollEventQueue___3986 = (s.tmp_2);
r0 = pxsim.control.runInParallel(control_pollEvents__P3987);
{ step = 2; continue; }
case 1:
r0 = pxsim_Array__push(globals._pollEventQueue___3986, s.ev___7072);
case 2:
r0 = pxsim_numops_toBoolDecr(s.arg2);
if (!r0) { step = 3; continue; }
s.tmp_0 = control_onEvent__P391_mk(s);
r0 = s.ev___7072.fields["eid"];
s.tmp_0.arg0 = r0;
r0 = s.ev___7072.fields["vid"];
s.tmp_0.arg1 = r0;
s.tmp_0.arg2 = s.arg2;
s.tmp_0.arg3 = 16;
s.callLocIdx = 30; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
{ step = 4; continue; }
case 3:
r0 = s.ev___7072.fields["eid"];
s.tmp_0 = r0;
r0 = s.ev___7072.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___7072: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function control_pollEvents__P3987(s) {
let r0 = s.r0, step = 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___7199 = undefined;
s.i___7202 = undefined;
s.ev___7208 = undefined;
case 1:
r0 = pxsim_Array__length(globals._pollEventQueue___3986);
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___7199 = (r0);
s.i___7202 = (0);
case 2:
s.tmp_1 = r0 = s.i___7202;
r0 = pxsim_Array__length(globals._pollEventQueue___3986);
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___3986, s.i___7202);
s.ev___7208 = (r0);
s.tmp_1 = if_condition_1_mk(s);
s.tmp_1.arg0 = s.ev___7208;
if (!s.tmp_1.arg0.vtable.iface) {
setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "condition"), 1);
s.callLocIdx = 26; 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 = 26; s.pc = 13; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 26; s.pc = 13; return s.tmp_1;; }
else { s.callLocIdx = 26; 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___7208.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___7208.fields["start"];
s.tmp_5 = r0;
r0 = (s.now___7199 - s.tmp_5);
s.tmp_4 = r0;
r0 = s.ev___7208.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___7208.fields["eid"];
s.tmp_9 = r0;
r0 = s.ev___7208.fields["vid"];
s.tmp_10 = r0;
r0 = pxsim.control.raiseEvent(s.tmp_9, s.tmp_10);
r0 = s.ev___7208.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___3986;
s.tmp_1.arg1 = s.i___7202;
s.tmp_1.arg2 = 1;
s.callLocIdx = 27; s.pc = 14; return s.tmp_1;
case 14:
r0 = s.retval;
r0 = (s.i___7202 - 1);
s.i___7202 = (r0);
case 7:
case 8:
case 9:
case 10:
r0 = (s.i___7202 + 1);
s.i___7202 = (r0);
{ step = 2; continue; }
case 11:
s.tmp_0 = pause__P413_mk(s);
s.tmp_0.arg0 = 50;
s.callLocIdx = 28; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
{ step = 1; continue; }
case 12:
globals._pollEventQueue___3986 = (undefined);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
control_pollEvents__P3987.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__P3987_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_pollEvents__P3987, depth: s.depth + 1,
pc: 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___7199: undefined,
i___7202: undefined,
ev___7208: undefined,
} }
function control_PollEvent_constructor__P3984(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C3983_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__P3984.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__P3984_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_PollEvent_constructor__P3984, 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___7115 = 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 = 41; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.ctx___7115 = (r0);
r0 = pxsim_numops_toBoolDecr(s.ctx___7115);
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___7115;
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 = 42; 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___7115: 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___4012);
if (!r0) { step = 1; continue; }
s.tmp_0 = r0 = globals.eventContexts___4012;
r0 = pxsim_Array__length(globals.eventContexts___4012);
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___7138 = undefined;
s.unnamed60___U1 = undefined;
s.unnamed61___U2 = undefined;
s.hn___7161 = 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___7138 = (undefined);
r0 = s.arg0.fields["handlers"];
s.unnamed60___U1 = (r0);
s.unnamed61___U2 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed61___U2;
r0 = pxsim_Array__length(s.unnamed60___U1);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 6; continue; }
r0 = pxsim_Array__getAt(s.unnamed60___U1, s.unnamed61___U2);
s.h___7138 = (r0);
r0 = s.h___7138.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___7138.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___7138).fields["flags"] = (s.arg4);
r0 = (s.h___7138).fields["handler"] = (s.arg3);
{ step = 7; continue; }
case 4:
case 5:
r0 = (s.unnamed61___U2 + 1);
s.unnamed61___U2 = (r0);
{ step = 1; continue; }
case 6:
s.unnamed60___U1 = (undefined);
r0 = pxsim_pxtcore_mkClassInstance(control_EventHandler__C4004_VT);
s.tmp_0 = r0;
s.tmp_1 = control_EventHandler_constructor__P4007_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 = 54; s.pc = 8; return s.tmp_1;
case 8:
r0 = s.retval;
s.hn___7161 = (s.tmp_0);
r0 = s.arg0.fields["handlers"];
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.hn___7161);
s.tmp_0 = control_EventHandler_register__P4005_mk(s);
s.tmp_0.arg0 = s.hn___7161;
s.callLocIdx = 55; 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___7138: undefined,
unnamed60___U1: undefined,
unnamed61___U2: undefined,
hn___7161: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
arg4: undefined,
} }
function control_EventHandler_constructor__P4007(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4004_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__P4007.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__P4007_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventHandler_constructor__P4007, 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__P4005(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4004_VT)) failedCast(r0);
r0 = pxsim_pxtcore_mkAction(1, control_EventHandler_register_inline__P7182);
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__P4005.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__P4005_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventHandler_register__P4005, depth: s.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__P7182(s) {
let r0 = s.r0, 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 = 43; 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 = 43; s.pc = 3; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 43; s.pc = 3; return s.tmp_1;; }
else { s.callLocIdx = 43; 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__P7182.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__P7182_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventHandler_register_inline__P7182, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function Sprite_setStayInScreen__P2204(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_setFlag__P2206_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = 8;
s.tmp_0.arg2 = s.arg1;
s.callLocIdx = 492; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
Sprite_setStayInScreen__P2204.info = {"start":23289,"length":87,"line":760,"column":4,"endLine":762,"endColumn":5,"fileName":"pxt_modules/game/sprite.ts","functionName":"setStayInScreen","argumentNames":["this","on"]}
function Sprite_setStayInScreen__P2204_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Sprite_setStayInScreen__P2204, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: 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 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 = 227; 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 = 228; 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___7428 = 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 = 188; 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 = 189; s.pc = 17; return s.tmp_6;
case 17:
r0 = s.retval;
case 3:
case 4:
r0 = pxsim_pxtcore_mkAction(1, cp_inline__P7431);
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 = 190; 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 = 191; s.pc = 18; return s.tmp_1;
case 18:
r0 = s.retval;
s.cp___7428 = (r0);
r0 = pxsim_numops_toBoolDecr(s.cp___7428);
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 = 192; s.pc = 20; return s.tmp_3;
case 20:
r0 = s.retval;
s.cp___7428 = (s.tmp_2);
s.tmp_1 = controller_Controller__controlledSprites__P1933_mk(s);
s.tmp_1.arg0 = s.arg0;
s.callLocIdx = 193; 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___7428);
case 5:
case 6:
r0 = s.cp___7428.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___7428.fields["s"];
s.tmp_2.arg0 = r0;
s.tmp_2.arg1 = 0;
s.callLocIdx = 194; s.pc = 22; return s.tmp_2;
case 22:
r0 = s.retval;
case 9:
case 10:
r0 = s.cp___7428.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___7428.fields["s"];
s.tmp_2.arg0 = r0;
s.tmp_2.arg1 = 0;
s.callLocIdx = 195; s.pc = 23; return s.tmp_2;
case 23:
r0 = s.retval;
case 13:
case 14:
r0 = (s.cp___7428).fields["vx"] = (s.arg2);
r0 = (s.cp___7428).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___7428: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function cp_inline__P7431(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P7431.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__P7431_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: cp_inline__P7431, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
arg0: undefined,
} }
function controller_Controller__controlledSprites__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 = 183; 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 = 182; 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___7479 = undefined;
s.i___7482 = undefined;
s.v___7487 = 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___7479 = (r0);
s.i___7482 = (0);
case 1:
r0 = (s.i___7482 < s.len___7479);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 4; continue; }
r0 = pxsim_Array__getAt(s.arg0, s.i___7482);
s.v___7487 = (r0);
s.tmp_1 = lambda_3_mk(s);
s.tmp_1.argL = s.arg1;
s.tmp_1.arg0 = s.v___7487;
s.tmp_1.arg1 = s.i___7482;
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___7487;
{ step = 5; continue; }
case 2:
case 3:
r0 = (s.i___7482 + 1);
s.i___7482 = (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___7479: undefined,
i___7482: undefined,
v___7487: 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___4168);
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___4168, 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 = 174; s.pc = 5; return s.tmp_7;
case 5:
r0 = s.retval;
case 3:
case 4:
r0 = pxsim_Array__getAt(globals._players___4168, 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___7365 = undefined;
s.i___7373 = undefined;
s.i___7391 = 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___7365 = (r0);
s.i___7373 = (0);
case 2:
r0 = (s.i___7373 < 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___7365 + s.i___7373);
s.tmp_2.arg1 = r0;
s.tmp_2.arg2 = -1;
s.callLocIdx = 180; 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___7373 + 1);
s.i___7373 = (r0);
{ step = 2; continue; }
case 3:
case 4:
s.i___7391 = (0);
case 5:
s.tmp_1 = r0 = s.i___7391;
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___7391);
s.tmp_4 = r0;
r0 = (s.tmp_4).fields["_owner"] = (s.arg0);
r0 = (s.i___7391 + 1);
s.i___7391 = (r0);
{ step = 5; continue; }
case 6:
s.tmp_0 = controller_addController__P4169_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 181; 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___7365: undefined,
i___7373: undefined,
i___7391: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function controller_addController__P4169(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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___4168);
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___4168 = (r0);
case 1:
case 2:
s.tmp_0 = r0 = globals._players___4168;
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__P4169.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__P4169_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_addController__P4169, 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___7516 = 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 = 424; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = r0.fields["physicsEngine"];
s.physics___7516 = (r0);
s.tmp_0 = PhysicsEngine__C2290_v2_4_mk(s);
s.tmp_0.arg0 = s.physics___7516;
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 = 425; 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 = 427; 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___7516: undefined,
arg0: undefined,
arg1: undefined,
arg2: 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___7532 = undefined;
s.sprite___7535 = 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 = 313; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.scene___7532 = (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 = 314; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.sprite___7535 = (s.tmp_0);
s.tmp_0 = Sprite_setKind__P2195_mk(s);
s.tmp_0.arg0 = s.sprite___7535;
s.tmp_0.arg1 = s.arg1;
s.callLocIdx = 315; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.tmp_0 = PhysicsEngine__C2290_v0_2_mk(s);
r0 = s.scene___7532.fields["physicsEngine"];
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = s.sprite___7535;
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__P7550);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);
r0 = pxsim_pxtcore_mkAction(1, sprites_create_inline__P7557);
s.tmp_1 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.sprite___7535);
s.tmp_2 = helpers_arrayForEach__P109_mk(s);
s.tmp_3 = helpers_arrayFilter__P110_mk(s);
r0 = s.scene___7532.fields["createdHandlers"];
s.tmp_3.arg0 = r0;
s.tmp_3.arg1 = s.tmp_0;
s.callLocIdx = 316; 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 = 318; s.pc = 5; return s.tmp_2;
case 5:
r0 = s.retval;
r0 = s.sprite___7535;
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___7532: undefined,
sprite___7535: undefined,
arg0: undefined,
arg1: undefined,
} }
function forEach_inline__P7550(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P7550.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__P7550_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: forEach_inline__P7550, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function sprites_create_inline__P7557(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 317; 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 = 317; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 317; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 317; s.pc = 1; return s.tmp_0; }
}
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
sprites_create_inline__P7557.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__P7557_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: sprites_create_inline__P7557, 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_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 = 362; 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 = 365; 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 = 366; 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 = 367; 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 = 368; 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 = 369; 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 = 370; 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 = 371; 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 = 372; 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_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__P4197_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 373; 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__P4197(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 396; 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 = 398; 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 = 400; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
Sprite_recalcSize__P4197.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__P4197_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Sprite_recalcSize__P4197, depth: s.depth + 1,
pc: 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 = 377; 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___7708 = undefined;
s.oMinX___7722 = undefined;
s.oMinY___7726 = undefined;
s.oMaxX___7730 = undefined;
s.oMaxY___7737 = undefined;
s.nMinX___7744 = undefined;
s.nMinY___7747 = undefined;
s.nMaxX___7750 = undefined;
s.nMaxY___7756 = undefined;
s.xDiff___7762 = undefined;
s.yDiff___7773 = 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 = 378; s.pc = 10; return s.tmp_0;
case 10:
r0 = s.retval;
s.newHitBox___7708 = (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 = 379; 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___7708);
{ step = 9; continue; }
case 3:
case 4:
r0 = s.arg0.fields["_hitbox"];
r0 = r0.fields["ox"];
s.oMinX___7722 = (r0);
r0 = s.arg0.fields["_hitbox"];
r0 = r0.fields["oy"];
s.oMinY___7726 = (r0);
r0 = s.arg0.fields["_hitbox"];
r0 = r0.fields["width"];
s.tmp_0 = r0;
r0 = (s.oMinX___7722 + s.tmp_0);
s.oMaxX___7730 = (r0);
r0 = s.arg0.fields["_hitbox"];
r0 = r0.fields["height"];
s.tmp_0 = r0;
r0 = (s.oMinY___7726 + s.tmp_0);
s.oMaxY___7737 = (r0);
r0 = s.newHitBox___7708.fields["ox"];
s.nMinX___7744 = (r0);
r0 = s.newHitBox___7708.fields["oy"];
s.nMinY___7747 = (r0);
r0 = s.newHitBox___7708.fields["width"];
s.tmp_0 = r0;
r0 = (s.nMinX___7744 + s.tmp_0);
s.nMaxX___7750 = (r0);
r0 = s.newHitBox___7708.fields["height"];
s.tmp_0 = r0;
r0 = (s.nMinY___7747 + s.tmp_0);
s.nMaxY___7756 = (r0);
s.tmp_1 = Fx_abs__P165_mk(s);
r0 = (s.oMinX___7722 - s.nMinX___7744);
s.tmp_1.arg0 = r0;
s.callLocIdx = 385; 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___7730 - s.nMaxX___7750);
s.tmp_3.arg0 = r0;
s.callLocIdx = 387; 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___7762 = (r0);
s.tmp_1 = Fx_abs__P165_mk(s);
r0 = (s.oMinY___7726 - s.nMinY___7747);
s.tmp_1.arg0 = r0;
s.callLocIdx = 390; 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___7737 - s.nMaxY___7756);
s.tmp_3.arg0 = r0;
s.callLocIdx = 392; 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___7773 = (r0);
r0 = (s.arg0).fields["_hitbox"] = (s.newHitBox___7708);
r0 = (s.xDiff___7762 <= 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___7722);
r0 = s.arg0.fields["_hitbox"];
s.tmp_0 = r0;
r0 = (s.oMaxX___7730 - s.oMinX___7722);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["width"] = (s.tmp_1);
case 5:
case 6:
r0 = (s.yDiff___7773 <= 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___7726);
r0 = s.arg0.fields["_hitbox"];
s.tmp_0 = r0;
r0 = (s.oMaxY___7737 - s.oMinY___7726);
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___7708: undefined,
oMinX___7722: undefined,
oMinY___7726: undefined,
oMaxX___7730: undefined,
oMaxY___7737: undefined,
nMinX___7744: undefined,
nMinY___7747: undefined,
nMaxX___7750: undefined,
nMaxY___7756: undefined,
xDiff___7762: undefined,
yDiff___7773: 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___7856 = undefined;
s.minX___7859 = undefined;
s.minY___7863 = undefined;
s.maxX___7867 = undefined;
s.maxY___7869 = undefined;
s.c___7871 = undefined;
s.fxc___7872 = undefined;
s.r___7879 = undefined;
s.fxr___7880 = undefined;
s.width___7944 = undefined;
s.height___7952 = 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 = 292; 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___7856 = (r0);
r0 = pxsim_ImageMethods.width(s.i___7856);
s.tmp_0 = r0;
r0 = (s.tmp_0 * 256);
s.tmp_1 = r0;
r0 = (s.tmp_1 | 0);
s.minX___7859 = (r0);
r0 = pxsim_ImageMethods.height(s.i___7856);
s.tmp_0 = r0;
r0 = (s.tmp_0 * 256);
s.tmp_1 = r0;
r0 = (s.tmp_1 | 0);
s.minY___7863 = (r0);
s.maxX___7867 = (0);
s.maxY___7869 = (0);
s.c___7871 = (0);
s.fxc___7872 = (0);
case 5:
s.tmp_1 = r0 = s.c___7871;
r0 = pxsim_ImageMethods.width(s.i___7856);
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___7879 = (0);
s.fxr___7880 = (0);
case 6:
s.tmp_1 = r0 = s.r___7879;
r0 = pxsim_ImageMethods.height(s.i___7856);
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___7856, s.c___7871, s.r___7879);
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___7859;
s.tmp_4.arg1 = s.fxc___7872;
s.callLocIdx = 296; s.pc = 13; return s.tmp_4;
case 13:
r0 = s.retval;
s.minX___7859 = (r0);
s.tmp_0 = Fx_min__P166_mk(s);
s.tmp_0.arg0 = s.minY___7863;
s.tmp_0.arg1 = s.fxr___7880;
s.callLocIdx = 297; s.pc = 14; return s.tmp_0;
case 14:
r0 = s.retval;
s.minY___7863 = (r0);
s.tmp_0 = Fx_max__P167_mk(s);
s.tmp_0.arg0 = s.maxX___7867;
s.tmp_0.arg1 = s.fxc___7872;
s.callLocIdx = 298; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
s.maxX___7867 = (r0);
s.tmp_0 = Fx_max__P167_mk(s);
s.tmp_0.arg0 = s.maxY___7869;
s.tmp_0.arg1 = s.fxr___7880;
s.callLocIdx = 299; s.pc = 16; return s.tmp_0;
case 16:
r0 = s.retval;
s.maxY___7869 = (r0);
case 7:
case 8:
r0 = (s.r___7879 + 1);
s.r___7879 = (r0);
r0 = (s.fxr___7880 + 256);
s.tmp_0 = r0;
s.fxr___7880 = (r0);
r0 = s.tmp_0;
{ step = 6; continue; }
case 9:
r0 = (s.c___7871 + 1);
s.c___7871 = (r0);
r0 = (s.fxc___7872 + 256);
s.tmp_0 = r0;
s.fxc___7872 = (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___7859, s.tmp_0);
s.tmp_1 = r0;
r0 = (s.tmp_1 >> 8);
s.minX___7859 = (r0);
r0 = s.arg0.fields["_sy"];
s.tmp_0 = r0;
r0 = pxsim.Math_.imul(s.minY___7863, s.tmp_0);
s.tmp_1 = r0;
r0 = (s.tmp_1 >> 8);
s.minY___7863 = (r0);
r0 = s.arg0.fields["_sx"];
s.tmp_0 = r0;
r0 = pxsim.Math_.imul(s.maxX___7867, s.tmp_0);
s.tmp_1 = r0;
r0 = (s.tmp_1 >> 8);
s.maxX___7867 = (r0);
r0 = s.arg0.fields["_sy"];
s.tmp_0 = r0;
r0 = pxsim.Math_.imul(s.maxY___7869, s.tmp_0);
s.tmp_1 = r0;
r0 = (s.tmp_1 >> 8);
s.maxY___7869 = (r0);
r0 = (s.maxX___7867 - s.minX___7859);
s.tmp_0 = r0;
r0 = s.arg0.fields["_sx"];
s.tmp_1 = r0;
r0 = (s.tmp_0 + s.tmp_1);
s.width___7944 = (r0);
r0 = (s.maxY___7869 - s.minY___7863);
s.tmp_0 = r0;
r0 = s.arg0.fields["_sy"];
s.tmp_1 = r0;
r0 = (s.tmp_0 + s.tmp_1);
s.height___7952 = (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___7944;
s.tmp_1.arg3 = s.height___7952;
r0 = (s.minX___7859 & -256);
s.tmp_1.arg4 = r0;
r0 = (s.minY___7863 & -256);
s.tmp_1.arg5 = r0;
s.callLocIdx = 312; 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___7856: undefined,
minX___7859: undefined,
minY___7863: undefined,
maxX___7867: undefined,
maxY___7869: undefined,
c___7871: undefined,
fxc___7872: undefined,
r___7879: undefined,
fxr___7880: undefined,
width___7944: undefined,
height___7952: 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 = 252; 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 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 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 = 263; 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 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 = 358; 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 = 355; 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_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 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 = 163; 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 = 164; 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 = 165; 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 = 1077; 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 = 166; 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 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___7566 = undefined;
s.len___7568 = undefined;
s.i___7571 = undefined;
s.v___7576 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__mk();
s.res___7566 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___7568 = (r0);
s.i___7571 = (0);
case 1:
r0 = (s.i___7571 < s.len___7568);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 4; continue; }
r0 = pxsim_Array__getAt(s.arg0, s.i___7571);
s.v___7576 = (r0);
s.tmp_1 = lambda_3_mk(s);
s.tmp_1.argL = s.arg1;
s.tmp_1.arg0 = s.v___7576;
s.tmp_1.arg1 = s.i___7571;
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___7566, s.v___7576);
case 2:
case 3:
r0 = (s.i___7571 + 1);
s.i___7571 = (r0);
{ step = 1; continue; }
case 4:
r0 = s.res___7566;
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___7566: undefined,
len___7568: undefined,
i___7571: undefined,
v___7576: undefined,
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___7592 = undefined;
s.i___7595 = 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___7592 = (r0);
s.i___7595 = (0);
case 1:
r0 = (s.i___7595 < s.len___7592);
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___7595);
s.tmp_1.arg0 = r0;
s.tmp_1.arg1 = s.i___7595;
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___7595 + 1);
s.i___7595 = (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___7592: undefined,
i___7595: undefined,
arg0: undefined,
arg1: undefined,
} }
function starField_inline__P8106(s) {
let r0 = s.r0, step = 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___8109 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_pxtcore_mkClassInstance(particles_StarFactory__C2925_VT);
s.tmp_0 = r0;
r0 = pxsim_Array__mk();
s.tmp_1 = r0;
r0 = pxsim_Array__push(s.tmp_1, 1);
r0 = pxsim_Array__push(s.tmp_1, 3);
r0 = pxsim_Array__push(s.tmp_1, 5);
r0 = pxsim_Array__push(s.tmp_1, 9);
r0 = pxsim_Array__push(s.tmp_1, 12);
s.tmp_2 = particles_StarFactory_constructor__P2929_mk(s);
s.tmp_2.arg0 = s.tmp_0;
s.tmp_2.arg1 = s.tmp_1;
s.tmp_2.arg2 = 15;
s.tmp_2.arg3 = 25;
s.callLocIdx = 48; s.pc = 1; return s.tmp_2;
case 1:
r0 = s.retval;
s.factory___8109 = (s.tmp_0);
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___8109;
s.callLocIdx = 49; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
r0 = s.tmp_0;
return leave(s, r0)
default: oops()
} } }
starField_inline__P8106.info = {"start":13154,"length":239,"line":325,"column":58,"endLine":328,"endColumn":5,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["anchor","particlesPerSecond"]}
function starField_inline__P8106_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: starField_inline__P8106, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
factory___8109: 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___8125 = undefined;
s.removedSource___8134 = 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 = 1347; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.tmp_0 = particles_init__P4706_mk(s);
s.callLocIdx = 1348; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.tmp_0 = particles_particleSources__P4712_mk(s);
s.callLocIdx = 1349; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.sources___8125 = (r0);
r0 = pxsim_Array__length(s.sources___8125);
s.tmp_1 = r0;
r0 = (s.tmp_1 >= globals.MAX_SOURCES___4698);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
s.tmp_2 = particles_sortSources__P4709_mk(s);
s.tmp_2.arg0 = s.sources___8125;
s.callLocIdx = 1350; s.pc = 8; return s.tmp_2;
case 8:
r0 = s.retval;
r0 = pxsim_Array_.removeAt(s.sources___8125, 0);
s.removedSource___8134 = (r0);
s.tmp_0 = particles_ParticleSource_clear__P2847_mk(s);
s.tmp_0.arg0 = s.removedSource___8134;
s.callLocIdx = 1352; 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___8134;
s.callLocIdx = 1353; 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 = 1354; 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 = 1355; 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 = 1356; 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 = 1357; s.pc = 14; return s.tmp_2;
case 14:
r0 = s.retval;
r0 = pxsim_Array__push(s.sources___8125, s.arg0);
s.tmp_0 = particles_ParticleSource_enabled__P2845_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = true;
s.callLocIdx = 1358; 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___8125: undefined,
removedSource___8134: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function particles_particleSources__P4712(s) {
let r0 = s.r0, step = 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___8590 = undefined;
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1414; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = r0.fields["particleSources"];
s.sources___8590 = (r0);
r0 = s.sources___8590;
return leave(s, r0)
default: oops()
} } }
particles_particleSources__P4712.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__P4712_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_particleSources__P4712, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
sources___8590: undefined,
} }
function particles_sortSources__P4709(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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__P8445;
s.callLocIdx = 1396; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_sortSources__P4709.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__P4709_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_sortSources__P4709, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function particles_sortSources_inline__P8445(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P8445.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__P8445_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_sortSources_inline__P8445, depth: s.depth + 1,
pc: 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__P8468);
case 3:
case 4:
s.tmp_0 = helpers_sortHelper__P3933_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__P8468(s) {
let r0 = s.r0, step = 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___8471 = undefined;
s.bIsUndef___8475 = undefined;
s.aIsNull___8486 = undefined;
s.bIsNull___8490 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = (s.arg0 === undefined);
s.aIsUndef___8471 = (r0);
r0 = (s.arg1 === undefined);
s.bIsUndef___8475 = (r0);
s.tmp_0 = r0 = s.aIsUndef___8471;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 1; continue; }
r0 = s.tmp_0;
{ step = 2; continue; }
case 1:
r0 = s.bIsUndef___8475;
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___8471);
if (!r0) { step = 4; continue; }
r0 = 1;
{ step = 17; continue; }
{ step = 7; continue; }
case 4:
r0 = pxsim_numops_toBoolDecr(s.bIsUndef___8475);
if (!r0) { step = 5; continue; }
r0 = -1;
{ step = 17; continue; }
case 5:
case 6:
case 7:
case 8:
r0 = (s.arg0 === null);
s.aIsNull___8486 = (r0);
r0 = (s.arg1 === null);
s.bIsNull___8490 = (r0);
s.tmp_0 = r0 = s.aIsNull___8486;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 9; continue; }
r0 = s.tmp_0;
{ step = 10; continue; }
case 9:
r0 = s.bIsNull___8490;
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___8486);
if (!r0) { step = 12; continue; }
r0 = 1;
{ step = 17; continue; }
{ step = 15; continue; }
case 12:
r0 = pxsim_numops_toBoolDecr(s.bIsNull___8490);
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__P8468.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__P8468_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_arraySort_inline__P8468, depth: s.depth + 1,
pc: 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___8471: undefined,
bIsUndef___8475: undefined,
aIsNull___8486: undefined,
bIsNull___8490: undefined,
arg0: undefined,
arg1: undefined,
} }
function helpers_sortHelper__P3933(s) {
let r0 = s.r0, step = 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___8525 = undefined;
s.i___8528 = undefined;
s.j___8534 = 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___8525 = (r0);
s.i___8528 = (0);
case 5:
s.tmp_1 = r0 = s.i___8528;
r0 = (s.len___8525 - 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___8528 + 1);
s.j___8534 = (r0);
case 6:
r0 = (s.j___8534 < s.len___8525);
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___8528);
s.tmp_3.arg0 = r0;
r0 = pxsim_Array__getAt(s.arg0, s.j___8534);
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__P3932_mk(s);
s.tmp_4.arg0 = s.arg0;
s.tmp_4.arg1 = s.i___8528;
s.tmp_4.arg2 = s.j___8534;
s.callLocIdx = 2; s.pc = 13; return s.tmp_4;
case 13:
r0 = s.retval;
case 7:
case 8:
r0 = (s.j___8534 + 1);
s.j___8534 = (r0);
{ step = 6; continue; }
case 9:
r0 = (s.i___8528 + 1);
s.i___8528 = (r0);
{ step = 5; continue; }
case 10:
r0 = s.arg0;
case 11:
return leave(s, r0)
default: oops()
} } }
helpers_sortHelper__P3933.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__P3933_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_sortHelper__P3933, depth: s.depth + 1,
pc: 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___8525: undefined,
i___8528: undefined,
j___8534: undefined,
arg0: undefined,
arg1: undefined,
} }
function helpers_swap__P3932(s) {
let r0 = s.r0, step = 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___8563 = 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___8563 = (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___8563);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
helpers_swap__P3932.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__P3932_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_swap__P3932, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
temp___8563: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function particles_init__P4706(s) {
let r0 = s.r0, step = 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___8595 = undefined;
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1386; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.scene___8595 = (r0);
r0 = s.scene___8595.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___8595;
r0 = pxsim_Array__mk();
s.tmp_2 = r0;
r0 = (s.tmp_1).fields["particleSources"] = (s.tmp_2);
r0 = pxsim.control.millis();
globals.lastUpdate___4701 = (r0);
s.tmp_0 = game_onUpdate__P2704_mk(s);
s.tmp_0.arg0 = particles_updateParticles__P4707;
s.callLocIdx = 1387; 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__P4708;
s.callLocIdx = 1388; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
case 3:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_init__P4706.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__P4706_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_init__P4706, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
scene___8595: undefined,
} }
function particles_pruneParticles__P4708(s) {
let r0 = s.r0, step = 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___8610 = undefined;
s.tmp_0 = particles_particleSources__P4712_mk(s);
s.callLocIdx = 1392; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.sources___8610 = (r0);
r0 = pxsim_numops_toBoolDecr(s.sources___8610);
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___8610;
s.tmp_1.arg1 = 0;
r0 = pxsim_Array__length(s.sources___8610);
s.tmp_1.arg2 = r0;
s.callLocIdx = 1393; s.pc = 5; return s.tmp_1;
case 5:
r0 = s.retval;
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = particles_pruneParticles_inline__P8619;
s.callLocIdx = 1395; 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__P4708.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__P4708_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_pruneParticles__P4708, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
sources___8610: undefined,
} }
function particles_pruneParticles_inline__P8619(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1394; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_pruneParticles_inline__P8619.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__P8619_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_pruneParticles_inline__P8619, 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___8392 = undefined;
s.sources___8400 = undefined;
s.current___8414 = 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 = 1367; s.pc = 21; return s.tmp_5;
case 21:
r0 = s.retval;
s.scene___8392 = (r0);
r0 = pxsim_numops_toBoolDecr(s.scene___8392);
if (!r0) { step = 7; continue; }
r0 = s.scene___8392.fields["allSprites"];
s.tmp_0 = r0;
r0 = pxsim_Array_.removeElement(s.tmp_0, s.arg0);
case 7:
case 8:
s.tmp_0 = particles_particleSources__P4712_mk(s);
s.callLocIdx = 1368; s.pc = 22; return s.tmp_0;
case 22:
r0 = s.retval;
s.sources___8400 = (r0);
s.tmp_0 = r0 = s.sources___8400;
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___8400);
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___8400, 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___8414 = (r0);
case 15:
s.tmp_0 = r0 = s.current___8414;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 16; continue; }
r0 = s.tmp_0;
{ step = 17; continue; }
case 16:
r0 = s.current___8414.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___8414.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___8414.fields["next"];
r0 = r0.fields["next"];
s.tmp_4 = r0;
r0 = (s.current___8414).fields["next"] = (s.tmp_4);
{ step = 19; continue; }
case 18:
r0 = s.current___8414.fields["next"];
s.current___8414 = (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___8392: undefined,
sources___8400: undefined,
current___8414: 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___8626 = undefined;
s.len___8628 = undefined;
s.i___8662 = 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___8626 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___8628 = (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___8628 + 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___8628);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 5; continue; }
r0 = s.res___8626;
{ 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___8628);
{ 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___8628 + s.arg2);
s.arg2 = (r0);
case 8:
case 9:
case 10:
r0 = (s.arg2 > s.len___8628);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
s.arg2 = (s.len___8628);
case 11:
case 12:
s.i___8662 = (s.arg1);
case 13:
r0 = (s.i___8662 < s.arg2);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
s.tmp_1 = r0 = s.res___8626;
r0 = pxsim_Array__getAt(s.arg0, s.i___8662);
s.tmp_2 = r0;
r0 = pxsim_Array__push(s.tmp_1, s.tmp_2);
r0 = (s.i___8662 + 1);
s.i___8662 = (r0);
{ step = 13; continue; }
case 14:
r0 = s.res___8626;
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___8626: undefined,
len___8628: undefined,
i___8662: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function particles_updateParticles__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:
s.sources___8677 = undefined;
s.time___8684 = undefined;
s.dt___8687 = undefined;
s.i___8693 = undefined;
s.tmp_0 = particles_particleSources__P4712_mk(s);
s.callLocIdx = 1389; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.sources___8677 = (r0);
r0 = pxsim_numops_toBoolDecr(s.sources___8677);
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__P4709_mk(s);
s.tmp_2.arg0 = s.sources___8677;
s.callLocIdx = 1390; s.pc = 7; return s.tmp_2;
case 7:
r0 = s.retval;
r0 = pxsim.control.millis();
s.time___8684 = (r0);
r0 = (s.time___8684 - globals.lastUpdate___4701);
s.dt___8687 = (r0);
globals.lastUpdate___4701 = (s.time___8684);
s.i___8693 = (0);
case 3:
s.tmp_1 = r0 = s.i___8693;
r0 = pxsim_Array__length(s.sources___8677);
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___8677, s.i___8693);
s.tmp_3.arg0 = r0;
s.tmp_3.arg1 = s.dt___8687;
s.callLocIdx = 1391; s.pc = 8; return s.tmp_3;
case 8:
r0 = s.retval;
r0 = (s.i___8693 + 1);
s.i___8693 = (r0);
{ step = 3; continue; }
case 4:
case 5:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_updateParticles__P4707.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__P4707_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_updateParticles__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,
sources___8677: undefined,
time___8684: undefined,
dt___8687: undefined,
i___8693: 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___8756 = undefined;
s.current___8775 = undefined;
s.fixedDt___8783 = 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 = 1362; 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 = 1363; 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 = 1364; 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 = 1365; 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___8756 = (r0);
r0 = pxsim_numops_toBoolDecr(s.p___8756);
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___8756).fields["next"] = (s.tmp_2);
r0 = (s.arg0).fields["head"] = (s.p___8756);
{ 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___8775 = (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___8783 = (r0);
r0 = pxsim_numops_toBoolDecr(s.fixedDt___8783);
if (!r0) { step = 23; continue; }
case 19:
r0 = s.current___8775.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___8775;
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___8775;
s.tmp_0.arg2 = s.fixedDt___8783;
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___8775.fields["next"];
s.tmp_0 = r0;
s.current___8775 = (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___8775;
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___8775.fields["next"];
s.tmp_0 = r0;
s.current___8775 = (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___8756: undefined,
current___8775: undefined,
fixedDt___8783: undefined,
arg0: undefined,
arg1: undefined,
} }
function particles_ParticleSource_updateParticle__P4703(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4703.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__P4703_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_ParticleSource_updateParticle__P4703, depth: s.depth + 1,
pc: 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 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___8866 = 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___8866 = (r0);
s.tmp_0 = r0 = s.p___8866;
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 = 1421; 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___8866;
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 = 1423; 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___8866).fields["vx"] = (0);
r0 = (s.p___8866).fields["vy"] = (0);
r0 = (s.p___8866).fields["lifespan"] = (500);
r0 = s.p___8866;
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___8866: undefined,
arg0: undefined,
arg1: 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 = 1169; 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 = 1170; 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 MAX_SOURCES_inline__P8576(s) {
let r0 = s.r0, step = 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___8577 = undefined;
s.tmp_0 = control_ramSize__P346_mk(s);
s.callLocIdx = 30; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.sz___8577 = (r0);
r0 = (s.sz___8577 <= 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___8577 <= 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__P8576.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__P8576_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: MAX_SOURCES_inline__P8576, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
sz___8577: 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__P4727_mk(s);
s.callLocIdx = 1428; 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 = 1429; 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 = 1430; 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__P4727(s) {
let r0 = s.r0, 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___4713);
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 = 1416; s.pc = 3; return s.tmp_2;
case 3:
r0 = s.retval;
globals.cachedSin___4713 = (r0);
s.tmp_0 = particles_cacheCos__P2867_mk(s);
s.tmp_0.arg0 = 100;
s.callLocIdx = 1417; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
globals.cachedCos___4714 = (r0);
case 1:
case 2:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_initTrig__P4727.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__P4727_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_initTrig__P4727, 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___8270 = undefined;
s.anglePerSlice___8272 = undefined;
s.i___8278 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__mk();
s.cos___8270 = (r0);
r0 = (6.283185307179586 / s.arg0);
s.anglePerSlice___8272 = (r0);
s.i___8278 = (0);
case 1:
r0 = (s.i___8278 < s.arg0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 2; continue; }
s.tmp_1 = r0 = s.cos___8270;
r0 = (s.i___8278 * s.anglePerSlice___8272);
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___8278 + 1);
s.i___8278 = (r0);
{ step = 1; continue; }
case 2:
r0 = s.cos___8270;
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___8270: undefined,
anglePerSlice___8272: undefined,
i___8278: 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___8296 = undefined;
s.anglePerSlice___8298 = undefined;
s.i___8304 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__mk();
s.sin___8296 = (r0);
r0 = (6.283185307179586 / s.arg0);
s.anglePerSlice___8298 = (r0);
s.i___8304 = (0);
case 1:
r0 = (s.i___8304 < s.arg0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 2; continue; }
s.tmp_1 = r0 = s.sin___8296;
r0 = (s.i___8304 * s.anglePerSlice___8298);
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___8304 + 1);
s.i___8304 = (r0);
{ step = 1; continue; }
case 2:
r0 = s.sin___8296;
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___8296: undefined,
anglePerSlice___8298: undefined,
i___8304: 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__P4732_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 = 1438; s.pc = 1; return s.tmp_4;
case 1:
r0 = s.retval;
s.tmp_3 = r0;
r0 = (s.tmp_3 / globals.angleSlice___4726);
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__P4732_mk(s);
s.tmp_4.arg0 = s.arg2;
s.callLocIdx = 1439; s.pc = 2; return s.tmp_4;
case 2:
r0 = s.retval;
s.tmp_3 = r0;
r0 = (s.tmp_3 / globals.angleSlice___4726);
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__P4732(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 1420; 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__P4732.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__P4732_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_toRadians__P4732, depth: s.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_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_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 = 1372; 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 = 1373; 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_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 = 1371; 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 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_StarFactory_constructor__P2929(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_StarFactory__C2925_VT)) failedCast(r0);
r0 = undefined;
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 = 1510; s.pc = 5; return s.tmp_1;
case 5:
r0 = s.retval;
r0 = (s.arg0).fields["galois"] = (s.tmp_0);
r0 = (s.arg0).fields["minRate"] = (s.arg2);
r0 = (s.arg0).fields["maxRate"] = (s.arg3);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim.image.ofBuffer(_hex8916);
s.tmp_1 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);
r0 = pxsim.image.ofBuffer(_hex8918);
s.tmp_2 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);
r0 = pxsim.image.ofBuffer(_hex8920);
s.tmp_3 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);
r0 = (s.arg0).fields["images"] = (s.tmp_0);
s.tmp_0 = r0 = s.arg1;
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);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 3; continue; }
r0 = (s.arg0).fields["possibleColors"] = (s.arg1);
{ step = 4; continue; }
case 3:
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, 1);
r0 = (s.arg0).fields["possibleColors"] = (s.tmp_0);
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_StarFactory_constructor__P2929.info = {"start":16569,"length":731,"line":529,"column":8,"endLine":553,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","possibleColors","minRate","maxRate"]}
function particles_StarFactory_constructor__P2929_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_StarFactory_constructor__P2929, depth: s.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,
} }
const _hex8916 = pxsim.BufferMethods.createBufferFromHex("870401000100000001000000")
const _hex8918 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100001000000001010000")
const _hex8920 = pxsim.BufferMethods.createBufferFromHex("8704030003000000100000001101000010000000")
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 = 1545; 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 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 = 1546; 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 = 1547; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
r0 = pxsim_pxtcore_mkClassInstance(effects_SceneAnchor__C4746_VT);
s.tmp_0 = r0;
s.tmp_1 = effects_SceneAnchor_constructor__P4751_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.callLocIdx = 1548; 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 = 1549; 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 = 1549; s.pc = 17; return s.tmp_5; }
else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 1549; s.pc = 17; return s.tmp_5;; }
else { s.callLocIdx = 1549; 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__P4751(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4746_VT)) failedCast(r0);
s.tmp_0 = r0 = s.arg0;
s.tmp_2 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1542; 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__P4751.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__P4751_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: effects_SceneAnchor_constructor__P4751, 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 = 1550; 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 info_setLife__P2345(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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_setLife__P2381_mk(s);
s.tmp_0.arg0 = globals.player1___2392;
s.tmp_0.arg1 = s.arg0;
s.callLocIdx = 876; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_setLife__P2345.info = {"start":8409,"length":78,"line":293,"column":4,"endLine":295,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"setLife","argumentNames":["value"]}
function info_setLife__P2345_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_setLife__P2345, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
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___4246);
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___4246 = (r0);
case 15:
case 16:
s.tmp_0 = r0 = globals.players___4246;
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_setLife__P2381(s) {
let r0 = s.r0, step = 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___9112 = 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 = 904; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.state___9112 = (r0);
r0 = globals.infoState___4245.fields["visibilityFlag"];
s.tmp_3 = r0;
r0 = (s.tmp_3 & 128);
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 = info_updateFlag__P4295_mk(s);
s.tmp_4.arg0 = 4;
s.tmp_4.arg1 = true;
s.callLocIdx = 905; s.pc = 4; return s.tmp_4;
case 4:
r0 = s.retval;
case 1:
case 2:
s.tmp_0 = info_PlayerInfo_life__P2380_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 906; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.tmp_0 = r0 = s.state___9112;
r0 = (s.arg1 | 0);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["life"] = (s.tmp_1);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_PlayerInfo_setLife__P2381.info = {"start":19744,"length":319,"line":651,"column":8,"endLine":659,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"setLife","argumentNames":["this","value"]}
function info_PlayerInfo_setLife__P2381_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_PlayerInfo_setLife__P2381, depth: s.depth + 1,
pc: 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___9112: undefined,
arg0: undefined,
arg1: undefined,
} }
function info_updateFlag__P4295(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = info_initHUD__P4291_mk(s);
s.callLocIdx = 878; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(s.arg1);
if (!r0) { step = 1; continue; }
s.tmp_0 = r0 = globals.infoState___4245;
r0 = s.tmp_0.fields["visibilityFlag"];
s.tmp_2 = r0;
r0 = (s.tmp_2 | s.arg0);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["visibilityFlag"] = (s.tmp_1);
{ step = 2; continue; }
case 1:
s.tmp_0 = r0 = globals.infoState___4245;
r0 = globals.infoState___4245.fields["visibilityFlag"];
s.tmp_4 = r0;
r0 = (~ s.tmp_4);
s.tmp_3 = r0;
r0 = (s.tmp_3 | s.arg0);
s.tmp_2 = r0;
r0 = (~ s.tmp_2);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["visibilityFlag"] = (s.tmp_1);
case 2:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_updateFlag__P4295.info = {"start":11646,"length":204,"line":397,"column":4,"endLine":401,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"updateFlag","argumentNames":["flag","on"]}
function info_updateFlag__P4295_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_updateFlag__P4295, depth: s.depth + 1,
pc: 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 info_initHUD__P4291(s) {
let r0 = s.r0, 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___4245);
if (!r0) { step = 1; continue; }
{ step = 3; continue; }
case 1:
case 2:
r0 = pxsim_pxtcore_mkClassInstance(info_InfoState__C4242_VT);
s.tmp_0 = r0;
s.tmp_1 = info_InfoState_constructor__P4243_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.callLocIdx = 848; s.pc = 4; return s.tmp_1;
case 4:
r0 = s.retval;
globals.infoState___4245 = (s.tmp_0);
s.tmp_0 = scene_createRenderable__P2535_mk(s);
s.tmp_0.arg0 = 100;
s.tmp_0.arg1 = info_initHUD_inline__P9179;
s.tmp_0.arg2 = undefined;
s.callLocIdx = 864; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
case 3:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_initHUD__P4291.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__P4291_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_initHUD__P4291, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function info_initHUD_inline__P9179(s) {
let r0 = s.r0, step = 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___9188 = undefined;
s.p___9209 = undefined;
s.scene___9243 = undefined;
s.elapsed___9246 = undefined;
s.t___9254 = undefined;
r0 = pxsim_numops_toBoolDecr(globals.infoState___4245);
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___4245.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___4246;
s.tmp_2.arg1 = ps_inline__P9190;
s.callLocIdx = 849; s.pc = 24; return s.tmp_2;
case 24:
r0 = s.retval;
s.ps___9188 = (r0);
s.tmp_0 = helpers_arrayForEach__P109_mk(s);
s.tmp_0.arg0 = s.ps___9188;
s.tmp_0.arg1 = info_initHUD_inline__P9199;
s.callLocIdx = 851; 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___9188;
s.tmp_0.arg1 = info_initHUD_inline__P9205;
s.callLocIdx = 853; s.pc = 26; return s.tmp_0;
case 26:
r0 = s.retval;
{ step = 12; continue; }
case 3:
s.p___9209 = (globals.player1___2392);
s.tmp_1 = info_PlayerInfo_hasScore__P2379_mk(s);
s.tmp_1.arg0 = s.p___9209;
s.callLocIdx = 854; 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___4245.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___9209;
s.callLocIdx = 855; 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___9209;
s.callLocIdx = 856; 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___4245.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___9209;
s.callLocIdx = 857; 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___9209;
s.tmp_0.arg1 = true;
s.callLocIdx = 858; s.pc = 31; return s.tmp_0;
case 31:
r0 = s.retval;
case 12:
r0 = globals.infoState___4245.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___4245.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 = 859; s.pc = 32; return s.tmp_4;
case 32:
r0 = s.retval;
s.scene___9243 = (r0);
r0 = globals.infoState___4245.fields["gameEnd"];
s.tmp_0 = r0;
r0 = s.scene___9243.fields["_millis"];
s.tmp_1 = r0;
r0 = (s.tmp_0 - s.tmp_1);
s.elapsed___9246 = (r0);
s.tmp_0 = info_drawTimer__P4296_mk(s);
s.tmp_0.arg0 = s.elapsed___9246;
s.callLocIdx = 861; s.pc = 33; return s.tmp_0;
case 33:
r0 = s.retval;
r0 = (s.elapsed___9246 / 1000);
s.t___9254 = (r0);
r0 = (s.t___9254 <= 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 19; continue; }
s.t___9254 = (0);
r0 = globals.infoState___4245.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___4245).fields["countdownExpired"] = (true);
r0 = (globals.infoState___4245).fields["gameEnd"] = (undefined);
r0 = globals.infoState___4245.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___4245;
if (!s.tmp_1.arg0.vtable.iface) {
setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "countdownEndHandler"), 1);
s.callLocIdx = 862; 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 = 862; s.pc = 34; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 862; s.pc = 34; return s.tmp_1;; }
else { s.callLocIdx = 862; 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 = 863; 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__P9179.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__P9179_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_initHUD_inline__P9179, depth: s.depth + 1,
pc: 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___9188: undefined,
p___9209: undefined,
scene___9243: undefined,
elapsed___9246: undefined,
t___9254: undefined,
} }
function ps_inline__P9190(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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__P9190.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__P9190_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ps_inline__P9190, 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__P9199(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 850; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_initHUD_inline__P9199.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__P9199_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_initHUD_inline__P9199, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function info_initHUD_inline__P9205(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 852; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_initHUD_inline__P9205.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__P9205_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_initHUD_inline__P9205, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function info_drawTimer__P4296(s) {
let r0 = s.r0, step = 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___12401 = undefined;
s.smallFont___12403 = undefined;
s.seconds___12405 = undefined;
s.width___12409 = undefined;
s.left___12414 = undefined;
s.color1___12424 = undefined;
s.color2___12428 = undefined;
s.temp___12441 = undefined;
s.remainder___12477 = undefined;
s.decimalLeft___12496 = undefined;
s.minutes___12514 = undefined;
s.remainder___12518 = 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___12401 = (globals.font8___1772);
s.smallFont___12403 = (globals.font5___1777);
r0 = pxsim.Math_.idiv(s.arg0, 1000);
s.seconds___12405 = (r0);
s.tmp_2 = if_charWidth_1_mk(s);
s.tmp_2.arg0 = s.font___12401;
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 = 879; 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___12409 = (r0);
r0 = pxsim_ImageMethods.width(globals.screen___1829);
s.tmp_2 = r0;
r0 = (s.tmp_2 >> 1);
s.tmp_1 = r0;
r0 = (s.width___12409 >> 1);
s.tmp_3 = r0;
r0 = (s.tmp_1 - s.tmp_3);
s.tmp_0 = r0;
r0 = (s.tmp_0 + 1);
s.left___12414 = (r0);
r0 = globals.infoState___4245.fields["fontColor"];
s.color1___12424 = (r0);
r0 = globals.infoState___4245.fields["bgColor"];
s.color2___12428 = (r0);
r0 = (s.seconds___12405 < 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___12405 & 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___12441 = (s.color1___12424);
s.color1___12424 = (s.color2___12428);
s.color2___12428 = (s.temp___12441);
case 7:
case 8:
s.tmp_0 = helpers_imageFillRect__P1755_mk(s);
s.tmp_0.arg0 = globals.screen___1829;
r0 = (s.left___12414 - 3);
s.tmp_0.arg1 = r0;
s.tmp_0.arg2 = 0;
r0 = (s.width___12409 + 6);
s.tmp_0.arg3 = r0;
s.tmp_2 = if_charHeight_1_mk(s);
s.tmp_2.arg0 = s.font___12401;
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 = 880; 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___4245.fields["borderColor"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 881; 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___12414 - 2);
s.tmp_0.arg1 = r0;
s.tmp_0.arg2 = 0;
r0 = (s.width___12409 + 4);
s.tmp_0.arg3 = r0;
s.tmp_2 = if_charHeight_1_mk(s);
s.tmp_2.arg0 = s.font___12401;
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 = 882; 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___12428;
s.callLocIdx = 883; s.pc = 14; return s.tmp_0;
case 14:
r0 = s.retval;
r0 = (s.seconds___12405 < 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___12477 = (r0);
s.tmp_0 = helpers_imagePrint__P1787_mk(s);
s.tmp_0.arg0 = globals.screen___1829;
s.tmp_3 = info_formatDecimal__P4298_mk(s);
s.tmp_3.arg0 = s.seconds___12405;
s.callLocIdx = 884; 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___12414;
s.tmp_0.arg3 = 1;
s.tmp_0.arg4 = s.color1___12424;
s.tmp_0.arg5 = s.font___12401;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 885; s.pc = 16; return s.tmp_0;
case 16:
r0 = s.retval;
s.tmp_0 = r0 = s.left___12414;
s.tmp_3 = if_charWidth_1_mk(s);
s.tmp_3.arg0 = s.font___12401;
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 = 886; 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___12496 = (r0);
s.tmp_0 = helpers_imagePrint__P1787_mk(s);
s.tmp_0.arg0 = globals.screen___1829;
s.tmp_1 = info_formatDecimal__P4298_mk(s);
s.tmp_1.arg0 = s.remainder___12477;
s.callLocIdx = 887; s.pc = 21; return s.tmp_1;
case 21:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.tmp_0.arg2 = s.decimalLeft___12496;
s.tmp_0.arg3 = 3;
s.tmp_0.arg4 = s.color1___12424;
s.tmp_0.arg5 = s.smallFont___12403;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 888; s.pc = 20; return s.tmp_0;
case 20:
r0 = s.retval;
{ step = 10; continue; }
case 9:
r0 = pxsim.Math_.idiv(s.seconds___12405, 60);
s.minutes___12514 = (r0);
r0 = (s.seconds___12405 % 60);
s.remainder___12518 = (r0);
s.tmp_0 = helpers_imagePrint__P1787_mk(s);
s.tmp_0.arg0 = globals.screen___1829;
s.tmp_5 = info_formatDecimal__P4298_mk(s);
s.tmp_5.arg0 = s.minutes___12514;
s.callLocIdx = 889; 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__P4298_mk(s);
s.tmp_8.arg0 = s.remainder___12518;
s.callLocIdx = 890; 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___12414;
s.tmp_0.arg3 = 1;
s.tmp_0.arg4 = s.color1___12424;
s.tmp_0.arg5 = s.font___12401;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 891; s.pc = 22; return s.tmp_0;
case 22:
r0 = s.retval;
case 10:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_drawTimer__P4296.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__P4296_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_drawTimer__P4296, depth: s.depth + 1,
pc: 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___12401: undefined,
smallFont___12403: undefined,
seconds___12405: undefined,
width___12409: undefined,
left___12414: undefined,
color1___12424: undefined,
color2___12428: undefined,
temp___12441: undefined,
remainder___12477: undefined,
decimalLeft___12496: undefined,
minutes___12514: undefined,
remainder___12518: undefined,
arg0: undefined,
} }
function info_formatDecimal__P4298(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4298.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__P4298_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_formatDecimal__P4298, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
arg0: 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___9575 = undefined;
s.cp___9577 = undefined;
s.mult___9578 = undefined;
s.dataW___9583 = undefined;
s.dataH___9589 = undefined;
s.byteHeight___9595 = undefined;
s.charSize___9601 = undefined;
s.dataSize___9605 = undefined;
s.fontdata___9609 = undefined;
s.lastchar___9612 = undefined;
s.imgBuf___9619 = undefined;
s.xOffset___9643 = undefined;
s.yOffset___9644 = undefined;
s.ch___9659 = undefined;
s.l___9678 = undefined;
s.r___9679 = undefined;
s.off___9681 = undefined;
s.guess___9682 = undefined;
s.m___9701 = undefined;
s.v___9710 = undefined;
s.i___9766 = undefined;
s.j___9771 = undefined;
s.mask___9772 = undefined;
s.c___9773 = undefined;
s.n___9790 = 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 = 133; 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___9575 = (s.arg2);
s.cp___9577 = (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 = 134; 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 = 135; 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___9578 = (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 = 136; 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___9578);
s.dataW___9583 = (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 = 137; 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___9578);
s.dataH___9589 = (r0);
r0 = (s.dataH___9589 + 7);
s.tmp_0 = r0;
r0 = (s.tmp_0 >> 3);
s.byteHeight___9595 = (r0);
r0 = (s.byteHeight___9595 * s.dataW___9583);
s.charSize___9601 = (r0);
r0 = (2 + s.charSize___9601);
s.dataSize___9605 = (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 = 138; s.pc = 44; return s.tmp_0; }
}
case 44:
r0 = s.retval;
s.fontdata___9609 = (r0);
r0 = pxsim.BufferMethods.length(s.fontdata___9609);
s.tmp_1 = r0;
r0 = pxsim.Math_.idiv(s.tmp_1, s.dataSize___9605);
s.tmp_0 = r0;
r0 = (s.tmp_0 - 1);
s.lastchar___9612 = (r0);
r0 = (s.mult___9578 == 1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 7; continue; }
r0 = (8 + s.charSize___9601);
s.tmp_1 = r0;
r0 = pxsim.control.createBuffer(s.tmp_1);
s.imgBuf___9619 = (r0);
r0 = pxsim.BufferMethods.setByte(s.imgBuf___9619, 0, 135);
r0 = pxsim.BufferMethods.setByte(s.imgBuf___9619, 1, 1);
r0 = pxsim.BufferMethods.setByte(s.imgBuf___9619, 2, s.dataW___9583);
r0 = pxsim.BufferMethods.setByte(s.imgBuf___9619, 4, s.dataH___9589);
case 7:
case 8:
case 9:
s.tmp_1 = r0 = s.cp___9577;
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___9643 = (0);
s.yOffset___9644 = (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___9577;
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___9577);
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 = 139; s.pc = 45; return s.tmp_4; }
}
case 45:
r0 = s.retval;
s.xOffset___9643 = (r0);
s.tmp_0 = if_yOffset_1_mk(s);
r0 = pxsim_Array__getAt(s.arg6, s.cp___9577);
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 = 140; s.pc = 46; return s.tmp_0; }
}
case 46:
r0 = s.retval;
s.yOffset___9644 = (r0);
case 12:
case 13:
s.tmp_0 = r0 = s.cp___9577;
r0 = (s.tmp_0 + 1);
s.cp___9577 = (r0);
r0 = pxsim_String_.charCodeAt(s.arg1, s.tmp_0);
s.ch___9659 = (r0);
r0 = (s.ch___9659 == 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 = 141; 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___9575);
case 14:
case 15:
r0 = (s.ch___9659 < 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___9678 = (0);
s.r___9679 = (s.lastchar___9612);
s.off___9681 = (0);
r0 = (s.ch___9659 - 32);
s.tmp_0 = r0;
r0 = (s.tmp_0 * s.dataSize___9605);
s.guess___9682 = (r0);
r0 = pxsim.BufferMethods.getNumber(s.fontdata___9609, 4, s.guess___9682);
s.tmp_1 = r0;
r0 = (s.tmp_1 == s.ch___9659);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 18; continue; }
s.off___9681 = (s.guess___9682);
{ step = 25; continue; }
case 18:
case 19:
r0 = (s.l___9678 <= s.r___9679);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 24; continue; }
s.tmp_1 = r0 = s.l___9678;
r0 = (s.r___9679 - s.l___9678);
s.tmp_3 = r0;
r0 = (s.tmp_3 >> 1);
s.tmp_2 = r0;
r0 = (s.tmp_1 + s.tmp_2);
s.m___9701 = (r0);
s.tmp_0 = r0 = s.fontdata___9609;
r0 = (s.m___9701 * s.dataSize___9605);
s.tmp_1 = r0;
r0 = pxsim.BufferMethods.getNumber(s.tmp_0, 4, s.tmp_1);
s.v___9710 = (r0);
r0 = (s.v___9710 == s.ch___9659);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 20; continue; }
r0 = (s.m___9701 * s.dataSize___9605);
s.off___9681 = (r0);
{ step = 24; continue; }
case 20:
case 21:
r0 = (s.v___9710 < s.ch___9659);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 22; continue; }
r0 = (s.m___9701 + 1);
s.l___9678 = (r0);
{ step = 23; continue; }
case 22:
r0 = (s.m___9701 - 1);
s.r___9679 = (r0);
case 23:
{ step = 19; continue; }
case 24:
case 25:
r0 = (s.mult___9578 == 1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 26; continue; }
s.tmp_1 = r0 = s.imgBuf___9619;
s.tmp_3 = r0 = s.fontdata___9609;
r0 = (s.off___9681 + 2);
s.tmp_4 = r0;
r0 = pxsim.BufferMethods.slice(s.tmp_3, s.tmp_4, s.charSize___9601);
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___9619;
r0 = (s.arg2 + s.xOffset___9643);
s.tmp_0.arg2 = r0;
r0 = (s.arg3 + s.yOffset___9644);
s.tmp_0.arg3 = r0;
s.tmp_0.arg4 = s.arg4;
s.callLocIdx = 142; 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 = 143; 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___9681 + 2);
s.off___9681 = (r0);
s.i___9766 = (0);
case 27:
r0 = (s.i___9766 < s.dataW___9583);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 36; continue; }
s.j___9771 = (0);
s.mask___9772 = (1);
s.tmp_0 = r0 = s.off___9681;
r0 = (s.tmp_0 + 1);
s.off___9681 = (r0);
r0 = pxsim.BufferMethods.getByte(s.fontdata___9609, s.tmp_0);
s.c___9773 = (r0);
case 28:
r0 = (s.j___9771 < s.dataH___9589);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 35; continue; }
r0 = (s.mask___9772 == 256);
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 29; continue; }
s.tmp_2 = r0 = s.off___9681;
r0 = (s.tmp_2 + 1);
s.off___9681 = (r0);
r0 = pxsim.BufferMethods.getByte(s.fontdata___9609, s.tmp_2);
s.c___9773 = (r0);
s.mask___9772 = (1);
case 29:
case 30:
s.n___9790 = (0);
case 31:
r0 = (s.c___9773 & s.mask___9772);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 32; continue; }
r0 = (s.n___9790 + 1);
s.n___9790 = (r0);
r0 = (s.mask___9772 << 1);
s.mask___9772 = (r0);
{ step = 31; continue; }
case 32:
r0 = pxsim_numops_toBoolDecr(s.n___9790);
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___9643 * s.mult___9578);
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___9771 + s.yOffset___9644);
s.tmp_5 = r0;
r0 = (s.tmp_5 * s.mult___9578);
s.tmp_4 = r0;
r0 = (s.tmp_3 + s.tmp_4);
s.tmp_0.arg2 = r0;
s.tmp_0.arg3 = s.mult___9578;
r0 = (s.mult___9578 * s.n___9790);
s.tmp_0.arg4 = r0;
s.tmp_0.arg5 = s.arg4;
s.callLocIdx = 144; s.pc = 50; return s.tmp_0;
case 50:
r0 = s.retval;
r0 = (s.j___9771 + s.n___9790);
s.j___9771 = (r0);
{ step = 34; continue; }
case 33:
r0 = (s.mask___9772 << 1);
s.mask___9772 = (r0);
r0 = (s.j___9771 + 1);
s.j___9771 = (r0);
case 34:
{ step = 28; continue; }
case 35:
r0 = (s.arg2 + s.mult___9578);
s.arg2 = (r0);
r0 = (s.i___9766 + 1);
s.i___9766 = (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___9575: undefined,
cp___9577: undefined,
mult___9578: undefined,
dataW___9583: undefined,
dataH___9589: undefined,
byteHeight___9595: undefined,
charSize___9601: undefined,
dataSize___9605: undefined,
fontdata___9609: undefined,
lastchar___9612: undefined,
imgBuf___9619: undefined,
xOffset___9643: undefined,
yOffset___9644: undefined,
ch___9659: undefined,
l___9678: undefined,
r___9679: undefined,
off___9681: undefined,
guess___9682: undefined,
m___9701: undefined,
v___9710: undefined,
i___9766: undefined,
j___9771: undefined,
mask___9772: undefined,
c___9773: undefined,
n___9790: 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___9893 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
s.i___9893 = (0);
case 1:
s.tmp_1 = r0 = s.i___9893;
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___9893);
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___9893 + 1);
s.i___9893 = (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___9893: undefined,
arg0: 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__P4091_mk(s);
s.tmp_3.arg0 = s.arg2;
s.tmp_3.arg1 = s.arg3;
s.callLocIdx = 114; 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 helpers_pack__P4091(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 112; 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 = 113; 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__P4091.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__P4091_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_pack__P4091, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
arg0: undefined,
arg1: undefined,
} }
function Math_clamp__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 = 16; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 17; 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 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 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__P4091_mk(s);
s.tmp_2.arg0 = s.arg1;
s.tmp_2.arg1 = s.arg2;
s.callLocIdx = 115; s.pc = 1; return s.tmp_2;
case 1:
r0 = s.retval;
s.tmp_1 = r0;
s.tmp_4 = helpers_pack__P4091_mk(s);
s.tmp_4.arg0 = s.arg3;
s.tmp_4.arg1 = s.arg4;
s.callLocIdx = 116; 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 info_InfoState_constructor__P4243(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4242_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__P4293_mk(s);
s.callLocIdx = 842; 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(_hex13192);
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__P4243.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__P4243_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_InfoState_constructor__P4243, 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 _hex13192 = pxsim.BufferMethods.createBufferFromHex("87040500050000000100010010100000000100001010000001000100")
function info_defaultHeartImage__P4293(s) {
let r0 = s.r0, 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(_hex13220);
{ step = 2; continue; }
case 1:
r0 = pxsim.image.ofBuffer(_hex13222);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = s.tmp_1;
return leave(s, r0)
default: oops()
} } }
info_defaultHeartImage__P4293.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__P4293_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_defaultHeartImage__P4293, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
const _hex13220 = pxsim.BufferMethods.createBufferFromHex("87040800070000001011000001000100010010001000000101001000010001001011000000000000")
const _hex13222 = pxsim.BufferMethods.createBufferFromHex("8704080007000000c0cc00002c220c002222c2002222220c20222202222422004222020020220000")
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___9291 = undefined;
s.highScore___9295 = undefined;
s.overDialog___9324 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
s.tmp_0 = game_init__P4371_mk(s);
s.tmp_0.arg0 = undefined;
s.callLocIdx = 1149; s.pc = 18; return s.tmp_0;
case 18:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(globals.__isOver___4370);
if (!r0) { step = 1; continue; }
{ step = 17; continue; }
case 1:
case 2:
globals.__isOver___4370 = (true);
r0 = pxsim_numops_toBoolDecr(globals.__gameOverHandler___4368);
if (!r0) { step = 3; continue; }
s.tmp_0 = lambda_2_mk(s);
s.tmp_0.argL = globals.__gameOverHandler___4368;
s.tmp_0.arg0 = s.arg0;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 1150; 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 = 1151; s.pc = 20; return s.tmp_0;
case 20:
r0 = s.retval;
s.scoreInfo___9291 = (r0);
s.tmp_0 = info_highScore__P2340_mk(s);
s.callLocIdx = 1152; s.pc = 21; return s.tmp_0;
case 21:
r0 = s.retval;
s.highScore___9295 = (r0);
r0 = s.scoreInfo___9291.fields["score"];
s.tmp_1 = r0;
r0 = (s.tmp_1 > s.highScore___9295);
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 = 1153; s.pc = 22; return s.tmp_2;
case 22:
r0 = s.retval;
case 8:
case 9:
case 10:
s.tmp_0 = r0 = globals._sceneStack___4364;
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___4364);
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___4363;
s.callLocIdx = 1154; s.pc = 23; return s.tmp_2;
case 23:
r0 = s.retval;
s.tmp_0 = game_popScene__P2690_mk(s);
s.callLocIdx = 1155; 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 = 1156; 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 = 1157; 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___4362;
s.tmp_0.arg1 = 255;
s.callLocIdx = 1158; 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___4360;
s.tmp_0.arg1 = 255;
s.callLocIdx = 1159; 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 = 1160; 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 = 1160; s.pc = 29; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1160; s.pc = 29; return s.tmp_0;; }
else { s.callLocIdx = 1160; 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 = 1161; 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___9291.fields["score"];
s.tmp_1.arg2 = r0;
s.tmp_1.arg3 = s.highScore___9295;
s.callLocIdx = 1162; s.pc = 31; return s.tmp_1;
case 31:
r0 = s.retval;
s.overDialog___9324 = (s.tmp_0);
r0 = pxsim_pxtcore_mkAction(1, game_over_inline__P9334);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overDialog___9324);
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 = 1163; 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 = 1164; 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___9324;
s.callLocIdx = 1165; s.pc = 34; return s.tmp_0;
case 34:
r0 = s.retval;
s.tmp_0 = game_waitAnyButton__P2687_mk(s);
s.callLocIdx = 1166; 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___9291: undefined,
highScore___9295: undefined,
overDialog___9324: undefined,
arg0: undefined,
arg1: undefined,
} }
function game_over_inline__P9334(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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__P9334.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__P9334_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_over_inline__P9334, depth: s.depth + 1,
pc: 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_init__P4371(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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___4363);
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 = 1134; s.pc = 14; return s.tmp_5;
case 14:
r0 = s.retval;
s.tmp_4.arg1 = r0;
s.tmp_4.arg2 = globals._scene___4363;
s.callLocIdx = 1135; s.pc = 13; return s.tmp_4;
case 13:
r0 = s.retval;
globals._scene___4363 = (s.tmp_3);
case 3:
case 4:
s.tmp_0 = scene_Scene_init__P2594_mk(s);
s.tmp_0.arg0 = globals._scene___4363;
s.callLocIdx = 1136; 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___4362);
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___4362 = (globals.powerUp___1632);
case 9:
case 10:
r0 = pxsim_numops_toBoolDecr(globals.loseSound___4360);
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___4360 = (globals.wawawawaa___1629);
case 11:
case 12:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_init__P4371.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__P4371_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_init__P4371, depth: s.depth + 1,
pc: 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__P10789(s) {
let r0 = s.r0, step = 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___10792 = undefined;
s.j___10800 = undefined;
s.x___10805 = undefined;
s.y___10811 = undefined;
s.c___10817 = 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___10792 = (r0);
s.j___10800 = (0);
case 1:
r0 = (s.j___10800 < s.rounds___10792);
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 = 57; s.pc = 3; return s.tmp_1;
case 3:
r0 = s.retval;
s.x___10805 = (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 = 58; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.y___10811 = (r0);
r0 = pxsim_ImageMethods.getPixel(s.arg0, s.x___10805, s.y___10811);
s.c___10817 = (r0);
s.tmp_0 = r0 = s.arg0;
s.tmp_1 = r0 = s.x___10805;
r0 = (s.y___10811 + 1);
s.tmp_2 = r0;
r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___10817);
s.tmp_0 = r0 = s.arg0;
s.tmp_1 = r0 = s.x___10805;
r0 = (s.y___10811 + 2);
s.tmp_2 = r0;
r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_2, s.c___10817);
r0 = (s.j___10800 + 1);
s.j___10800 = (r0);
{ step = 1; continue; }
case 2:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
melt_inline__P10789.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__P10789_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: melt_inline__P10789, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
rounds___10792: undefined,
j___10800: undefined,
x___10805: undefined,
y___10811: undefined,
c___10817: 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 = 1176; 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 = 1568; 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__P10897(s) {
let r0 = s.r0, step = 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___10900 = 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 = 34; 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 = 35; 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 = 36; s.pc = 5; return s.tmp_5;
case 5:
r0 = s.retval;
s.factory___10900 = (s.tmp_0);
s.tmp_0 = particles_SprayFactory_setSpeed__P2876_mk(s);
s.tmp_0.arg0 = s.factory___10900;
s.tmp_0.arg1 = 30;
s.callLocIdx = 37; 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___10900;
s.callLocIdx = 38; s.pc = 7; return s.tmp_1;
case 7:
r0 = s.retval;
r0 = s.tmp_0;
return leave(s, r0)
default: oops()
} } }
confetti_inline__P10897.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__P10897_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: confetti_inline__P10897, depth: s.depth + 1,
pc: 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___10900: 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___10917 = undefined;
s.i___10933 = 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(_hex10920);
s.tmp_1 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);
r0 = pxsim.image.ofBuffer(_hex10922);
s.tmp_2 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_2);
r0 = pxsim.image.ofBuffer(_hex10924);
s.tmp_3 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_3);
r0 = pxsim.image.ofBuffer(_hex10926);
s.tmp_4 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_4);
r0 = pxsim.image.ofBuffer(_hex10928);
s.tmp_5 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_5);
s.confetti___10917 = (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___10917, 0);
s.tmp_0.arg3 = r0;
s.callLocIdx = 1462; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.i___10933 = (1);
case 1:
s.tmp_1 = r0 = s.i___10933;
r0 = pxsim_Array__length(s.confetti___10917);
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___10917, s.i___10933);
s.tmp_3.arg1 = r0;
s.callLocIdx = 1463; s.pc = 4; return s.tmp_3;
case 4:
r0 = s.retval;
r0 = (s.i___10933 + 1);
s.i___10933 = (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___10917: undefined,
i___10933: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
const _hex10920 = pxsim.BufferMethods.createBufferFromHex("87040100010000000f000000")
const _hex10922 = pxsim.BufferMethods.createBufferFromHex("8704010002000000ff000000")
const _hex10924 = pxsim.BufferMethods.createBufferFromHex("87040200010000000f0000000f000000")
const _hex10926 = pxsim.BufferMethods.createBufferFromHex("8704020002000000ff0000000f000000")
const _hex10928 = 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 = 1452; 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 = 1440; 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 = 1441; 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 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 = 1057; 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__P11023);
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 = 1060; 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 = 1061; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11046);
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 = 1063; s.pc = 7; return s.tmp_1;
case 7:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11059);
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 = 1067; s.pc = 8; return s.tmp_1;
case 8:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11080);
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 = 1069; s.pc = 9; return s.tmp_1;
case 9:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11088);
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 = 1073; 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 = 1074; s.pc = 11; return s.tmp_0;
case 11:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_Scene_init_inline__P11117);
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 = 1076; 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__P11023(s) {
let r0 = s.r0, step = 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 = 1059; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_Scene_init_inline__P11023.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__P11023_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Scene_init_inline__P11023, depth: s.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__P11046(s) {
let r0 = s.r0, step = 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__P11046.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__P11046_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Scene_init_inline__P11046, 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__P11059(s) {
let r0 = s.r0, step = 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___11060 = undefined;
s.s___11068 = undefined;
s.unnamed86___U2 = undefined;
s.unnamed87___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___11060 = (r0);
s.tmp_0 = scene_Camera_update__P2528_mk(s);
r0 = s.caps[0].fields["camera"];
s.tmp_0.arg0 = r0;
s.callLocIdx = 1065; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.s___11068 = (undefined);
r0 = s.caps[0].fields["allSprites"];
s.unnamed86___U2 = (r0);
s.unnamed87___U3 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed87___U3;
r0 = pxsim_Array__length(s.unnamed86___U2);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 2; continue; }
r0 = pxsim_Array__getAt(s.unnamed86___U2, s.unnamed87___U3);
s.s___11068 = (r0);
s.tmp_2 = if___update_3_mk(s);
s.tmp_2.arg0 = s.s___11068;
r0 = s.caps[0].fields["camera"];
s.tmp_2.arg1 = r0;
s.tmp_2.arg2 = s.dt___11060;
if (!s.tmp_2.arg0.vtable.iface) {
setupLambda(s.tmp_2, pxsim_pxtrt.mapGetByString(s.tmp_2.arg0, "__update"), 3);
s.callLocIdx = 1066; 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 = 1066; s.pc = 4; return s.tmp_2; }
else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 1066; s.pc = 4; return s.tmp_2;; }
else { s.callLocIdx = 1066; s.pc = 4; return s.tmp_2; }
}
case 4:
r0 = s.retval;
r0 = (s.unnamed87___U3 + 1);
s.unnamed87___U3 = (r0);
{ step = 1; continue; }
case 2:
s.unnamed86___U2 = (undefined);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_Scene_init_inline__P11059.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__P11059_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Scene_init_inline__P11059, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
dt___11060: undefined,
s___11068: undefined,
unnamed86___U2: undefined,
unnamed87___U3: undefined,
} }
function scene_Scene_init_inline__P11080(s) {
let r0 = s.r0, step = 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 = 1068; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_Scene_init_inline__P11080.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__P11080_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Scene_init_inline__P11080, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function scene_Scene_init_inline__P11088(s) {
let r0 = s.r0, step = 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 = 1070; 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 = 1071; s.pc = 12; return s.tmp_0;
case 12:
r0 = s.retval;
s.tmp_0 = power_checkDeepSleep__P1731_mk(s);
s.callLocIdx = 1072; s.pc = 13; return s.tmp_0;
case 13:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_Scene_init_inline__P11088.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__P11088_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Scene_init_inline__P11088, depth: s.depth + 1,
pc: 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__P11117(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1075; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_Scene_init_inline__P11117.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__P11117_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Scene_init_inline__P11117, 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___11166 = undefined;
s.top___11171 = undefined;
s.i___11177 = undefined;
s.t___11190 = undefined;
s.tOff___11197 = undefined;
s.tab___11199 = undefined;
s.unnamed90___U6 = undefined;
s.unnamed91___U7 = undefined;
s.padding___11201 = undefined;
r0 = pxsim_numops_toBoolDecr(globals.consoleStrings___4661);
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___4615);
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___4669;
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 = 1340; s.pc = 14; return s.tmp_7; }
}
case 14:
r0 = s.retval;
s.tmp_6 = r0;
r0 = (s.tmp_6 + 2);
s.height___11166 = (r0);
r0 = pxsim_numops_toBoolDecr(globals.stats___2682);
if (!r0) { step = 5; continue; }
r0 = s.height___11166;
{ 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___11171 = (r0);
s.i___11177 = (0);
case 7:
s.tmp_1 = r0 = s.i___11177;
r0 = pxsim_Array__length(globals.consoleStrings___4661);
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___4661, s.i___11177);
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___4661, s.i___11177);
s.tmp_6.arg0 = r0;
s.tmp_6.arg1 = "\t";
s.tmp_6.arg2 = undefined;
s.callLocIdx = 1341; s.pc = 15; return s.tmp_6;
case 15:
r0 = s.retval;
s.t___11190 = (r0);
s.tOff___11197 = (0);
s.tab___11199 = (undefined);
s.unnamed90___U6 = (s.t___11190);
s.unnamed91___U7 = (0);
case 8:
s.tmp_0 = r0 = s.unnamed91___U7;
r0 = pxsim_Array__length(s.unnamed90___U6);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 9; continue; }
r0 = pxsim_Array__getAt(s.unnamed90___U6, s.unnamed91___U7);
s.tab___11199 = (r0);
s.tmp_2 = r0 = globals.tabSize___4663;
s.tmp_5 = r0 = s.tOff___11197;
r0 = pxsim_String_.length(s.tab___11199);
s.tmp_6 = r0;
r0 = (s.tmp_5 + s.tmp_6);
s.tmp_4 = r0;
r0 = (s.tmp_4 % globals.tabSize___4663);
s.tmp_3 = r0;
r0 = (s.tmp_2 - s.tmp_3);
s.padding___11201 = (r0);
s.tmp_0 = helpers_imagePrint__P1787_mk(s);
s.tmp_0.arg0 = globals.screen___1829;
s.tmp_0.arg1 = s.tab___11199;
s.tmp_2 = r0 = s.tOff___11197;
s.tmp_4 = if_charWidth_1_mk(s);
s.tmp_4.arg0 = globals.consoleFont___4669;
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 = 1342; 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___11171;
r0 = (s.i___11177 * s.height___11166);
s.tmp_6 = r0;
r0 = (s.tmp_5 + s.tmp_6);
s.tmp_0.arg3 = r0;
s.tmp_0.arg4 = globals.consoleColor___4660;
s.tmp_0.arg5 = globals.consoleFont___4669;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 1343; s.pc = 16; return s.tmp_0;
case 16:
r0 = s.retval;
s.tmp_0 = r0 = s.tOff___11197;
r0 = pxsim_String_.length(s.tab___11199);
s.tmp_2 = r0;
r0 = (s.tmp_2 + s.padding___11201);
s.tmp_1 = r0;
r0 = (s.tmp_0 + s.tmp_1);
s.tOff___11197 = (r0);
r0 = (s.unnamed91___U7 + 1);
s.unnamed91___U7 = (r0);
{ step = 8; continue; }
case 9:
s.unnamed90___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___4661, s.i___11177);
s.tmp_0.arg1 = r0;
s.tmp_0.arg2 = 4;
s.tmp_1 = r0 = s.top___11171;
r0 = (s.i___11177 * s.height___11166);
s.tmp_2 = r0;
r0 = (s.tmp_1 + s.tmp_2);
s.tmp_0.arg3 = r0;
s.tmp_0.arg4 = globals.consoleColor___4660;
s.tmp_0.arg5 = globals.consoleFont___4669;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 1344; s.pc = 18; return s.tmp_0;
case 18:
r0 = s.retval;
case 11:
r0 = (s.i___11177 + 1);
s.i___11177 = (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___11166: undefined,
top___11171: undefined,
i___11177: undefined,
t___11190: undefined,
tOff___11197: undefined,
tab___11199: undefined,
unnamed90___U6: undefined,
unnamed91___U7: undefined,
padding___11201: 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___4615);
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_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___11255 = undefined;
s.lim___11257 = undefined;
s.s___11273 = undefined;
s.p___11276 = undefined;
s.R___11277 = undefined;
s.z___11291 = undefined;
s.T___11304 = undefined;
s.q___11305 = undefined;
s.e___11311 = 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___11255 = (r0);
s.lim___11257 = (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___11257 = (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___11257 = (0);
{ step = 3; continue; }
case 2:
r0 = (s.arg2 | 0);
s.lim___11257 = (r0);
case 3:
case 4:
r0 = pxsim_String_.length(s.arg0);
s.s___11273 = (r0);
s.p___11276 = (0);
s.R___11277 = (s.arg1);
r0 = (s.lim___11257 == 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 5; continue; }
r0 = s.A___11255;
{ 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___11255, 0, s.arg0);
r0 = s.A___11255;
{ step = 21; continue; }
case 7:
case 8:
r0 = (s.s___11273 == 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
s.tmp_1 = helpers_splitMatch__P3935_mk(s);
s.tmp_1.arg0 = s.arg0;
s.tmp_1.arg1 = 0;
s.tmp_1.arg2 = s.R___11277;
s.callLocIdx = 12; s.pc = 22; return s.tmp_1;
case 22:
r0 = s.retval;
s.z___11291 = (r0);
r0 = (s.z___11291 > -1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 9; continue; }
r0 = s.A___11255;
{ step = 21; continue; }
case 9:
case 10:
r0 = pxsim_Array_.setAt(s.A___11255, 0, s.arg0);
r0 = s.A___11255;
{ step = 21; continue; }
case 11:
case 12:
s.q___11305 = (s.p___11276);
case 13:
r0 = (s.q___11305 != s.s___11273);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 20; continue; }
s.tmp_1 = helpers_splitMatch__P3935_mk(s);
s.tmp_1.arg0 = s.arg0;
s.tmp_1.arg1 = s.q___11305;
s.tmp_1.arg2 = s.R___11277;
s.callLocIdx = 13; s.pc = 23; return s.tmp_1;
case 23:
r0 = s.retval;
s.e___11311 = (r0);
r0 = (s.e___11311 < 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
r0 = (s.q___11305 + 1);
s.q___11305 = (r0);
{ step = 19; continue; }
case 14:
r0 = (s.e___11311 == s.p___11276);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 15; continue; }
r0 = (s.q___11305 + 1);
s.q___11305 = (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___11276;
s.tmp_0.arg2 = s.q___11305;
s.callLocIdx = 14; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.T___11304 = (r0);
r0 = pxsim_Array__push(s.A___11255, s.T___11304);
r0 = pxsim_Array__length(s.A___11255);
s.tmp_1 = r0;
r0 = (s.tmp_1 == s.lim___11257);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 16; continue; }
r0 = s.A___11255;
{ step = 21; continue; }
case 16:
case 17:
s.p___11276 = (s.e___11311);
s.q___11305 = (s.p___11276);
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___11276;
s.tmp_0.arg2 = s.q___11305;
s.callLocIdx = 15; s.pc = 25; return s.tmp_0;
case 25:
r0 = s.retval;
s.T___11304 = (r0);
r0 = pxsim_Array__push(s.A___11255, s.T___11304);
r0 = s.A___11255;
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___11255: undefined,
lim___11257: undefined,
s___11273: undefined,
p___11276: undefined,
R___11277: undefined,
z___11291: undefined,
T___11304: undefined,
q___11305: undefined,
e___11311: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function helpers_splitMatch__P3935(s) {
let r0 = s.r0, step = 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___11391 = undefined;
s.s___11394 = undefined;
s.i___11404 = 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___11391 = (r0);
r0 = pxsim_String_.length(s.arg0);
s.s___11394 = (r0);
r0 = (s.arg1 + s.r___11391);
s.tmp_1 = r0;
r0 = (s.tmp_1 > s.s___11394);
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___11404 = (0);
case 3:
r0 = (s.i___11404 < s.r___11391);
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___11404);
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___11404);
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___11404 + 1);
s.i___11404 = (r0);
{ step = 3; continue; }
case 6:
r0 = (s.arg1 + s.r___11391);
case 7:
return leave(s, r0)
default: oops()
} } }
helpers_splitMatch__P3935.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__P3935_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: helpers_splitMatch__P3935, depth: s.depth + 1,
pc: 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___11391: undefined,
s___11394: undefined,
i___11404: 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___11356 = 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___11356 = (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___11356 + 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___11356);
{ 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___11356 + 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___11356: undefined,
arg0: undefined,
arg1: undefined,
arg2: 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___11488 = undefined;
s.unnamed88___U1 = undefined;
s.unnamed89___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 = 1078; 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 = 1079; 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__P11465;
s.callLocIdx = 1084; 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___11488 = (undefined);
r0 = s.arg0.fields["allSprites"];
s.unnamed88___U1 = (r0);
s.unnamed89___U2 = (0);
case 9:
s.tmp_0 = r0 = s.unnamed89___U2;
r0 = pxsim_Array__length(s.unnamed88___U1);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 10; continue; }
r0 = pxsim_Array__getAt(s.unnamed88___U1, s.unnamed89___U2);
s.s___11488 = (r0);
s.tmp_2 = if___draw_2_mk(s);
s.tmp_2.arg0 = s.s___11488;
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 = 1085; 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 = 1085; s.pc = 15; return s.tmp_2; }
else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 1085; s.pc = 15; return s.tmp_2;; }
else { s.callLocIdx = 1085; s.pc = 15; return s.tmp_2; }
}
case 15:
r0 = s.retval;
r0 = (s.unnamed89___U2 + 1);
s.unnamed89___U2 = (r0);
{ step = 9; continue; }
case 10:
s.unnamed88___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___11488: undefined,
unnamed88___U1: undefined,
unnamed89___U2: undefined,
arg0: undefined,
} }
function scene_Scene_render_inline__P11465(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 1080; 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 = 1081; 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 = 1082; 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 = 1083; 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__P11465.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__P11465_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Scene_render_inline__P11465, depth: s.depth + 1,
pc: 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__P11520);
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 = 947; 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__P11520(s) {
let r0 = s.r0, step = 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___11522 = undefined;
s.oy___11533 = 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___11522 = (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___11533 = (r0);
s.tmp_0 = scene_BackgroundLayer_draw__P2418_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.ox___11522;
s.tmp_0.arg2 = s.oy___11533;
s.callLocIdx = 946; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_Background_draw_inline__P11520.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__P11520_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Background_draw_inline__P11520, depth: s.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___11522: undefined,
oy___11533: 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___11551 = undefined;
s.h___11554 = undefined;
s.pw___11557 = undefined;
s.ph___11561 = undefined;
s.rx___11570 = undefined;
s.ry___11573 = undefined;
s.y___11642 = undefined;
s.py___11643 = undefined;
s.dh___11652 = undefined;
s.x___11660 = undefined;
s.rxl___11661 = undefined;
s.px___11667 = undefined;
s.dw___11671 = 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___11551 = (r0);
r0 = pxsim_ImageMethods.height(globals.screen___1829);
s.h___11554 = (r0);
r0 = s.arg0.fields["img"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.width(s.tmp_0);
s.pw___11557 = (r0);
r0 = s.arg0.fields["img"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.height(s.tmp_0);
s.ph___11561 = (r0);
r0 = pxsim_numops_toBoolDecr(s.pw___11557);
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___11561);
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___11570 = (r0);
r0 = (0 - s.arg2);
s.ry___11573 = (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___11570;
r0 = (s.w___11551 + s.pw___11557);
s.tmp_2 = r0;
r0 = (s.tmp_1 - s.tmp_2);
s.rx___11570 = (r0);
{ step = 7; continue; }
case 6:
s.tmp_0 = r0 = s.rx___11570;
r0 = (s.w___11551 + s.pw___11557);
s.tmp_2 = r0;
r0 = (s.tmp_2 >> 1);
s.tmp_1 = r0;
r0 = (s.tmp_0 - s.tmp_1);
s.rx___11570 = (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___11573;
r0 = (s.h___11554 + s.ph___11561);
s.tmp_2 = r0;
r0 = (s.tmp_1 - s.tmp_2);
s.ry___11573 = (r0);
{ step = 10; continue; }
case 9:
s.tmp_0 = r0 = s.ry___11573;
r0 = (s.h___11554 + s.ph___11561);
s.tmp_2 = r0;
r0 = (s.tmp_2 >> 1);
s.tmp_1 = r0;
r0 = (s.tmp_0 - s.tmp_1);
s.ry___11573 = (r0);
case 10:
r0 = (s.rx___11570 % s.w___11551);
s.rx___11570 = (r0);
r0 = (s.rx___11570 < 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
r0 = (s.rx___11570 + s.w___11551);
s.rx___11570 = (r0);
case 11:
case 12:
r0 = (s.ry___11573 % s.h___11554);
s.ry___11573 = (r0);
r0 = (s.ry___11573 < 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 13; continue; }
r0 = (s.ry___11573 + s.h___11554);
s.ry___11573 = (r0);
case 13:
case 14:
r0 = pxsim.Math_.floor(s.rx___11570);
s.rx___11570 = (r0);
r0 = pxsim.Math_.floor(s.ry___11573);
s.ry___11573 = (r0);
s.y___11642 = (0);
s.py___11643 = (0);
case 15:
r0 = (s.y___11642 < s.h___11554);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 22; continue; }
r0 = (s.y___11642 % s.ph___11561);
s.py___11643 = (r0);
s.tmp_0 = Math_min__P131_mk(s);
r0 = (s.ph___11561 - s.py___11643);
s.tmp_0.arg0 = r0;
r0 = (s.h___11554 - s.ry___11573);
s.tmp_0.arg1 = r0;
s.callLocIdx = 949; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.dh___11652 = (r0);
s.x___11660 = (0);
s.rxl___11661 = (s.rx___11570);
case 16:
r0 = (s.x___11660 < s.w___11551);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 19; continue; }
r0 = (s.x___11660 % s.pw___11557);
s.px___11667 = (r0);
s.tmp_0 = Math_min__P131_mk(s);
r0 = (s.pw___11557 - s.px___11667);
s.tmp_0.arg0 = r0;
r0 = (s.w___11551 - s.rxl___11661);
s.tmp_0.arg1 = r0;
s.callLocIdx = 950; s.pc = 25; return s.tmp_0;
case 25:
r0 = s.retval;
s.dw___11671 = (r0);
r0 = s.arg0.fields["img"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.drawImage(globals.screen___1829, s.tmp_0, s.rxl___11661, s.ry___11573);
r0 = (s.rxl___11661 + s.dw___11671);
s.tmp_0 = r0;
r0 = (s.tmp_0 % s.w___11551);
s.rxl___11661 = (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___11671;
{ step = 18; continue; }
case 17:
r0 = s.w___11551;
case 18:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = (s.x___11660 + s.tmp_1);
s.x___11660 = (r0);
{ step = 16; continue; }
case 19:
r0 = (s.ry___11573 + s.dh___11652);
s.tmp_0 = r0;
r0 = (s.tmp_0 % s.h___11554);
s.ry___11573 = (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___11652;
{ step = 21; continue; }
case 20:
r0 = s.h___11554;
case 21:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = (s.y___11642 + s.tmp_1);
s.y___11642 = (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___11551: undefined,
h___11554: undefined,
pw___11557: undefined,
ph___11561: undefined,
rx___11570: undefined,
ry___11573: undefined,
y___11642: undefined,
py___11643: undefined,
dh___11652: undefined,
x___11660: undefined,
rxl___11661: undefined,
px___11667: undefined,
dw___11671: 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___11752 = undefined;
s.percentComplete___11766 = undefined;
s.damp___11773 = undefined;
s.f___11782 = undefined;
s.x___11788 = undefined;
s.y___11795 = 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 = 1039; 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 = 1040; 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 = 1041; 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 = 1042; 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 = 1044; 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 = 1046; 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___11752 = (r0);
r0 = s.arg0.fields["shakeDuration"];
s.tmp_1 = r0;
r0 = (s.elapsed___11752 >= 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___11752 / s.tmp_0);
s.percentComplete___11766 = (r0);
s.damp___11773 = (1);
r0 = (s.percentComplete___11766 >= 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___11766);
s.tmp_1.arg1 = r0;
s.callLocIdx = 1049; s.pc = 15; return s.tmp_1;
case 15:
r0 = s.retval;
s.damp___11773 = (r0);
case 4:
case 5:
r0 = s.arg0.fields["shakeAmplitude"];
s.tmp_0 = r0;
r0 = (s.tmp_0 * s.damp___11773);
s.f___11782 = (r0);
r0 = pxsim.Math_.random();
s.tmp_1 = r0;
r0 = (s.tmp_1 * s.f___11782);
s.tmp_0 = r0;
r0 = (s.tmp_0 >> 0);
s.x___11788 = (r0);
r0 = pxsim.Math_.random();
s.tmp_1 = r0;
r0 = (s.tmp_1 * s.f___11782);
s.tmp_0 = r0;
r0 = (s.tmp_0 >> 0);
s.y___11795 = (r0);
s.tmp_0 = r0 = s.arg0;
r0 = s.tmp_0.fields["drawOffsetX"];
s.tmp_2 = r0;
r0 = (s.tmp_2 + s.x___11788);
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___11795);
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___11752: undefined,
percentComplete___11766: undefined,
damp___11773: undefined,
f___11782: undefined,
x___11788: undefined,
y___11795: 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___11814 = 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 = 1036; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.scene___11814 = (r0);
r0 = s.scene___11814.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___11814.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___11814.fields["tileMap"];
s.tmp_9.arg0 = r0;
s.tmp_9.arg1 = s.arg1;
s.callLocIdx = 1038; 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___11814: 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 = 975; 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 = 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_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_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___11866 = 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 = 1033; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.scene___11866 = (r0);
r0 = s.scene___11866.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___11866.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___11866.fields["tileMap"];
s.tmp_9.arg0 = r0;
s.tmp_9.arg1 = s.arg1;
s.callLocIdx = 1035; 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___11866: 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 = 972; 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 = 973; 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 = 974; 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 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___12111 = 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___12111 = (r0);
r0 = pxsim_pxtcore_mkAction(1, controller___update_inline__P12118);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.dtms___12111);
s.tmp_1 = helpers_arrayForEach__P109_mk(s);
s.tmp_2 = controller_players__P1923_mk(s);
s.callLocIdx = 224; 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 = 226; 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___12111: undefined,
arg0: undefined,
} }
function controller___update_inline__P12118(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 225; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller___update_inline__P12118.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__P12118_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller___update_inline__P12118, 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__P12131);
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 = 223; 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__P12131(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 222; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller_Controller___update_inline__P12131.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__P12131_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Controller___update_inline__P12131, 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___12147 = undefined;
s.interval___12156 = undefined;
s.count___12169 = 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___4187;
{ step = 4; continue; }
case 3:
r0 = s.arg0.fields["repeatDelay"];
case 4:
// jmp value (already in r0)
s.tmp_2 = r0;
s.delay___12147 = (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___4189;
{ step = 6; continue; }
case 5:
r0 = s.arg0.fields["repeatInterval"];
case 6:
// jmp value (already in r0)
s.tmp_2 = r0;
s.interval___12156 = (s.tmp_2);
r0 = s.arg0.fields["_pressedElasped"];
s.tmp_1 = r0;
r0 = (s.tmp_1 < s.delay___12147);
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___12147);
s.tmp_4 = r0;
r0 = (s.tmp_4 - s.interval___12156);
s.tmp_3 = r0;
r0 = (s.tmp_3 / s.interval___12156);
s.tmp_2 = r0;
r0 = pxsim.Math_.floor(s.tmp_2);
s.count___12169 = (r0);
r0 = s.arg0.fields["_repeatCount"];
s.tmp_1 = r0;
r0 = (s.count___12169 != 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__P4176_mk(s);
s.tmp_2.arg0 = s.arg0;
s.callLocIdx = 240; s.pc = 12; return s.tmp_2;
case 12:
r0 = s.retval;
r0 = (s.arg0).fields["_repeatCount"] = (s.count___12169);
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___12147: undefined,
interval___12156: undefined,
count___12169: undefined,
arg0: undefined,
arg1: undefined,
} }
function controller_Button_raiseButtonRepeat__P4176(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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___4185);
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__P4176.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__P4176_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_raiseButtonRepeat__P4176, 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 = 175; 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___4168;
s.tmp_0.arg1 = controller_players_inline__P12101;
s.callLocIdx = 176; 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__P12101(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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__P12101.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__P12101_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_players_inline__P12101, 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 = 177; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = controller__moveSprites_inline__P11912;
s.callLocIdx = 179; 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__P11912(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 178; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller__moveSprites_inline__P11912.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__P11912_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller__moveSprites_inline__P11912, 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___11919 = undefined;
s.svx___11920 = undefined;
s.svy___11921 = undefined;
s.svxInCricle___11956 = undefined;
s.svyInCircle___11958 = undefined;
s.sq___11960 = undefined;
s.scale___11975 = 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 = 197; 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___11919 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.deadSprites___11919, false);
r0 = pxsim_pxtrt.mklocRef();
s.svx___11920 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.svx___11920, 0);
r0 = pxsim_pxtrt.mklocRef();
s.svy___11921 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.svy___11921, 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___11920;
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 = 198; s.pc = 20; return s.tmp_6;
case 20:
r0 = s.retval;
s.tmp_5.arg0 = r0;
s.callLocIdx = 199; 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 = 200; s.pc = 22; return s.tmp_9;
case 22:
r0 = s.retval;
s.tmp_8.arg0 = r0;
s.callLocIdx = 201; 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___11921;
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 = 202; s.pc = 24; return s.tmp_5;
case 24:
r0 = s.retval;
s.tmp_4.arg0 = r0;
s.callLocIdx = 203; 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 = 204; s.pc = 26; return s.tmp_8;
case 26:
r0 = s.retval;
s.tmp_7.arg0 = r0;
s.callLocIdx = 205; 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 = 206; 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 = 207; 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___11920;
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 = 208; 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 = 209; 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___11921;
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___11956 = (r0);
s.tmp_0 = r0 = s.svxInCricle___11956;
r0 = pxsim_pxtrt_ldlocRef(s.svx___11920);
s.tmp_1 = r0;
r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);
r0 = pxsim_pxtrt.mklocRef();
s.svyInCircle___11958 = (r0);
s.tmp_0 = r0 = s.svyInCircle___11958;
r0 = pxsim_pxtrt_ldlocRef(s.svy___11921);
s.tmp_1 = r0;
r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);
r0 = pxsim_pxtrt_ldlocRef(s.svx___11920);
s.tmp_1 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.svx___11920);
s.tmp_2 = r0;
r0 = (s.tmp_1 * s.tmp_2);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.svy___11921);
s.tmp_4 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.svy___11921);
s.tmp_5 = r0;
r0 = (s.tmp_4 * s.tmp_5);
s.tmp_3 = r0;
r0 = (s.tmp_0 + s.tmp_3);
s.sq___11960 = (r0);
r0 = (s.sq___11960 > 65536);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 13; continue; }
r0 = (65536 / s.sq___11960);
s.tmp_1 = r0;
r0 = pxsim.Math_.sqrt(s.tmp_1);
s.scale___11975 = (r0);
s.tmp_0 = r0 = s.svxInCricle___11956;
s.tmp_3 = r0 = s.scale___11975;
r0 = pxsim_pxtrt_ldlocRef(s.svx___11920);
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___11958;
s.tmp_3 = r0 = s.scale___11975;
r0 = pxsim_pxtrt_ldlocRef(s.svy___11921);
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__P11993);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.deadSprites___11919);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.svx___11920);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.svy___11921);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.svxInCricle___11956);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.svyInCircle___11958);
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 = 210; 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 = 218; s.pc = 35; return s.tmp_1;
case 35:
r0 = s.retval;
r0 = pxsim_pxtrt_ldlocRef(s.deadSprites___11919);
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 = 219; 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__P12050;
s.callLocIdx = 220; s.pc = 38; return s.tmp_2;
case 38:
r0 = s.retval;
s.tmp_1.arg1 = r0;
s.callLocIdx = 221; 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___11919: undefined,
svx___11920: undefined,
svy___11921: undefined,
svxInCricle___11956: undefined,
svyInCircle___11958: undefined,
sq___11960: undefined,
scale___11975: undefined,
arg0: undefined,
} }
function controller_Controller___preUpdate_inline__P11993(s) {
let r0 = s.r0, step = 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___11996 = undefined;
s.vx___11997 = undefined;
s.vy___11998 = 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 = 211; s.pc = 22; return s.tmp_0; }
}
case 22:
r0 = s.retval;
s.s___11996 = (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 = 212; s.pc = 23; return s.tmp_2; }
}
case 23:
r0 = s.retval;
s.vx___11997 = (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 = 213; s.pc = 24; return s.tmp_3; }
}
case 24:
r0 = s.retval;
s.vy___11998 = (r0);
r0 = s.s___11996.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___11997);
if (!r0) { step = 3; continue; }
r0 = (s.s___11996).fields["_vx"] = (0);
case 3:
case 4:
r0 = pxsim_numops_toBoolDecr(s.vy___11998);
if (!r0) { step = 5; continue; }
r0 = (s.s___11996).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___11997;
r0 = pxsim_numops_toBool(s.tmp_2);
if (r0) { step = 11; continue; }
r0 = s.tmp_2;
{ step = 12; continue; }
case 11:
r0 = s.vy___11998;
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___11996;
r0 = pxsim_pxtrt_ldlocRef(s.caps[3]);
s.tmp_6 = r0;
r0 = pxsim.Math_.imul(s.tmp_6, s.vx___11997);
s.tmp_5 = r0;
r0 = (s.tmp_4).fields["_vx"] = (s.tmp_5);
s.tmp_0 = r0 = s.s___11996;
r0 = pxsim_pxtrt_ldlocRef(s.caps[4]);
s.tmp_2 = r0;
r0 = pxsim.Math_.imul(s.tmp_2, s.vy___11998);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["_vy"] = (s.tmp_1);
{ step = 18; continue; }
case 13:
r0 = pxsim_numops_toBoolDecr(s.vx___11997);
if (!r0) { step = 14; continue; }
s.tmp_0 = r0 = s.s___11996;
r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);
s.tmp_2 = r0;
r0 = pxsim.Math_.imul(s.tmp_2, s.vx___11997);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["_vx"] = (s.tmp_1);
{ step = 17; continue; }
case 14:
r0 = pxsim_numops_toBoolDecr(s.vy___11998);
if (!r0) { step = 15; continue; }
s.tmp_0 = r0 = s.s___11996;
r0 = pxsim_pxtrt_ldlocRef(s.caps[2]);
s.tmp_2 = r0;
r0 = pxsim.Math_.imul(s.tmp_2, s.vy___11998);
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__P11993.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__P11993_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Controller___preUpdate_inline__P11993, depth: s.depth + 1,
pc: 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___11996: undefined,
vx___11997: undefined,
vy___11998: undefined,
arg0: undefined,
} }
function controller_Controller___preUpdate_inline__P12050(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P12050.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__P12050_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Controller___preUpdate_inline__P12050, 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_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 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__P4170(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4170.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__P4170_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Controller_button__P4170, 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___11121 = undefined;
s.to___11124 = undefined;
s.tmp_0 = power_init__P4081_mk(s);
s.callLocIdx = 111; s.pc = 11; return s.tmp_0;
case 11:
r0 = s.retval;
s.tmp_0 = r0 = globals._poked___4079;
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___11121 = (s.tmp_1);
s.tmp_0 = r0 = globals._timeout___4080;
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___11124 = (s.tmp_1);
r0 = (s.to___11124 > 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___11121);
s.tmp_1 = r0;
r0 = (s.tmp_1 > s.to___11124);
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___11121: undefined,
to___11124: undefined,
} }
function power_init__P4081(s) {
let r0 = s.r0, 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___4080 !== 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___4080 = (r0);
r0 = (globals._timeout___4080 > 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___4080 < 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___4080 = (300000);
case 5:
case 6:
case 7:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
power_init__P4081.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__P4081_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: power_init__P4081, 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__P4081_mk(s);
s.callLocIdx = 110; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = pxsim.control.millis();
globals._poked___4079 = (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 = 1054; 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 = 1055; 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 = 1056; 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 = 610; 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 = 611; 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 = 612; 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 = 613; 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 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 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___12210 = undefined;
s.n___12216 = undefined;
r0 = pxsim_numops_toBoolDecr(globals.eventContexts___4012);
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___4012 = (r0);
case 1:
case 2:
s.tmp_0 = control_eventContext__P408_mk(s);
s.callLocIdx = 56; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.ctx___12210 = (r0);
r0 = pxsim_numops_toBoolDecr(s.ctx___12210);
if (!r0) { step = 3; continue; }
s.tmp_0 = control_EventContext_unregister__P402_mk(s);
s.tmp_0.arg0 = s.ctx___12210;
s.callLocIdx = 57; 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 = 58; s.pc = 7; return s.tmp_1;
case 7:
r0 = s.retval;
s.n___12216 = (s.tmp_0);
r0 = pxsim_Array__push(globals.eventContexts___4012, s.n___12216);
r0 = s.n___12216;
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___12210: undefined,
n___12216: 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___10394 = undefined;
s.unnamed58___U1 = undefined;
s.unnamed59___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___10394 = (undefined);
r0 = s.arg0.fields["handlers"];
s.unnamed58___U1 = (r0);
s.unnamed59___U2 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed59___U2;
r0 = pxsim_Array__length(s.unnamed58___U1);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 2; continue; }
r0 = pxsim_Array__getAt(s.unnamed58___U1, s.unnamed59___U2);
s.h___10394 = (r0);
s.tmp_2 = control_EventHandler_unregister__P4006_mk(s);
s.tmp_2.arg0 = s.h___10394;
s.callLocIdx = 52; s.pc = 3; return s.tmp_2;
case 3:
r0 = s.retval;
r0 = (s.unnamed59___U2 + 1);
s.unnamed59___U2 = (r0);
{ step = 1; continue; }
case 2:
s.unnamed58___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___10394: undefined,
unnamed58___U1: undefined,
unnamed59___U2: undefined,
arg0: undefined,
} }
function control_EventHandler_unregister__P4006(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4004_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__P4008, s.tmp_2);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
control_EventHandler_unregister__P4006.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__P4006_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_EventHandler_unregister__P4006, 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__P4008(s) {
let r0 = s.r0, 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__P4008.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__P4008_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control_doNothing__P4008, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
} }
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 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___10327 = undefined;
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1143; s.pc = 11; return s.tmp_0;
case 11:
r0 = s.retval;
s.oldScene___10327 = (r0);
s.tmp_0 = r0 = globals._sceneStack___4364;
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___4364);
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___4364);
globals._scene___4363 = (r0);
s.tmp_0 = control_popEventContext__P410_mk(s);
s.callLocIdx = 1144; s.pc = 12; return s.tmp_0;
case 12:
r0 = s.retval;
{ step = 6; continue; }
case 3:
r0 = pxsim_numops_toBoolDecr(globals._scene___4363);
if (!r0) { step = 4; continue; }
s.tmp_0 = control_popEventContext__P410_mk(s);
s.callLocIdx = 1145; s.pc = 13; return s.tmp_0;
case 13:
r0 = s.retval;
globals._scene___4363 = (undefined);
case 4:
case 5:
case 6:
r0 = pxsim_numops_toBoolDecr(globals._scene___4363);
if (!r0) { step = 7; continue; }
s.tmp_0 = particles_enableAll__P2864_mk(s);
s.callLocIdx = 1146; s.pc = 14; return s.tmp_0;
case 14:
r0 = s.retval;
case 7:
case 8:
r0 = pxsim_numops_toBoolDecr(globals._scenePopHandlers___4366);
if (!r0) { step = 9; continue; }
r0 = pxsim_pxtcore_mkAction(1, game_popScene_inline__P10348);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___10327);
s.tmp_1 = helpers_arrayForEach__P109_mk(s);
s.tmp_1.arg0 = globals._scenePopHandlers___4366;
s.tmp_1.arg1 = s.tmp_0;
s.callLocIdx = 1148; 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___10327: undefined,
} }
function game_popScene_inline__P10348(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1147; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_popScene_inline__P10348.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__P10348_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_popScene_inline__P10348, 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___10352 = undefined;
s.tmp_0 = particles_particleSources__P4712_mk(s);
s.callLocIdx = 1410; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.sources___10352 = (r0);
r0 = pxsim_numops_toBoolDecr(s.sources___10352);
if (!r0) { step = 1; continue; }
s.tmp_0 = helpers_arrayForEach__P109_mk(s);
s.tmp_0.arg0 = s.sources___10352;
s.tmp_0.arg1 = particles_enableAll_inline__P10358;
s.callLocIdx = 1412; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.tmp_0 = particles_pruneParticles__P4708_mk(s);
s.callLocIdx = 1413; 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___10352: undefined,
} }
function particles_enableAll_inline__P10358(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1411; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = true;
return leave(s, r0)
default: oops()
} } }
particles_enableAll_inline__P10358.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__P10358_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_enableAll_inline__P10358, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: 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___10365 = undefined;
s.context___10373 = undefined;
r0 = pxsim_numops_toBoolDecr(globals.eventContexts___4012);
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___4012);
s.ctx___10365 = (r0);
r0 = pxsim_numops_toBoolDecr(s.ctx___10365);
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___10365;
s.callLocIdx = 59; s.pc = 8; return s.tmp_2;
case 8:
r0 = s.retval;
s.tmp_0 = r0 = globals.eventContexts___4012;
r0 = pxsim_Array__length(globals.eventContexts___4012);
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___10373 = (r0);
r0 = pxsim_numops_toBoolDecr(s.context___10373);
if (!r0) { step = 5; continue; }
s.tmp_0 = control_EventContext_register__P401_mk(s);
s.tmp_0.arg0 = s.context___10373;
s.callLocIdx = 60; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
{ step = 6; continue; }
case 5:
globals.eventContexts___4012 = (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___10365: undefined,
context___10373: undefined,
} }
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___10386 = undefined;
s.unnamed56___U1 = undefined;
s.unnamed57___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___10386 = (undefined);
r0 = s.arg0.fields["handlers"];
s.unnamed56___U1 = (r0);
s.unnamed57___U2 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed57___U2;
r0 = pxsim_Array__length(s.unnamed56___U1);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 2; continue; }
r0 = pxsim_Array__getAt(s.unnamed56___U1, s.unnamed57___U2);
s.h___10386 = (r0);
s.tmp_2 = control_EventHandler_register__P4005_mk(s);
s.tmp_2.arg0 = s.h___10386;
s.callLocIdx = 50; s.pc = 3; return s.tmp_2;
case 3:
r0 = s.retval;
r0 = (s.unnamed57___U2 + 1);
s.unnamed57___U2 = (r0);
{ step = 1; continue; }
case 2:
s.unnamed56___U1 = (undefined);
s.tmp_0 = control_EventContext_registerFrameCallbacks__P4010_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 51; 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___10386: undefined,
unnamed56___U1: undefined,
unnamed57___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___10284 = undefined;
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1137; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.oldScene___10284 = (r0);
s.tmp_0 = particles_clearAll__P2862_mk(s);
s.callLocIdx = 1138; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.tmp_0 = particles_disableAll__P2863_mk(s);
s.callLocIdx = 1139; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(globals._sceneStack___4364);
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___4364 = (r0);
case 1:
case 2:
r0 = pxsim_Array__push(globals._sceneStack___4364, globals._scene___4363);
s.tmp_0 = game_init__P4371_mk(s);
s.tmp_0.arg0 = true;
s.callLocIdx = 1140; s.pc = 8; return s.tmp_0;
case 8:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(globals._scenePushHandlers___4365);
if (!r0) { step = 3; continue; }
r0 = pxsim_pxtcore_mkAction(1, game_pushScene_inline__P10301);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.oldScene___10284);
s.tmp_1 = helpers_arrayForEach__P109_mk(s);
s.tmp_1.arg0 = globals._scenePushHandlers___4365;
s.tmp_1.arg1 = s.tmp_0;
s.callLocIdx = 1142; 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___10284: undefined,
} }
function game_pushScene_inline__P10301(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1141; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_pushScene_inline__P10301.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__P10301_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_pushScene_inline__P10301, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: 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___10305 = undefined;
s.tmp_0 = particles_particleSources__P4712_mk(s);
s.callLocIdx = 1406; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.sources___10305 = (r0);
r0 = pxsim_numops_toBoolDecr(s.sources___10305);
if (!r0) { step = 1; continue; }
s.tmp_0 = helpers_arrayForEach__P109_mk(s);
s.tmp_0.arg0 = s.sources___10305;
s.tmp_0.arg1 = particles_disableAll_inline__P10311;
s.callLocIdx = 1408; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.tmp_0 = particles_pruneParticles__P4708_mk(s);
s.callLocIdx = 1409; 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___10305: undefined,
} }
function particles_disableAll_inline__P10311(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1407; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = false;
return leave(s, r0)
default: oops()
} } }
particles_disableAll_inline__P10311.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__P10311_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_disableAll_inline__P10311, 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___10316 = undefined;
s.tmp_0 = particles_particleSources__P4712_mk(s);
s.callLocIdx = 1402; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.sources___10316 = (r0);
r0 = pxsim_numops_toBoolDecr(s.sources___10316);
if (!r0) { step = 1; continue; }
s.tmp_0 = helpers_arrayForEach__P109_mk(s);
s.tmp_0.arg0 = s.sources___10316;
s.tmp_0.arg1 = particles_clearAll_inline__P10322;
s.callLocIdx = 1404; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.tmp_0 = particles_pruneParticles__P4708_mk(s);
s.callLocIdx = 1405; 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___10316: undefined,
} }
function particles_clearAll_inline__P10322(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1403; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_clearAll_inline__P10322.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__P10322_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_clearAll_inline__P10322, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: 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___4367);
if (!r0) { step = 1; continue; }
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = globals.__waitAnyButton___4367;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 1131; 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 = 1132; 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__P4338_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 1124; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.tmp_0 = game_GameOverDialog__C2669_v1_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 = 1125; 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_BaseDialog_clearInterior__P4338(s) {
let r0 = s.r0, step = 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___9922 = undefined;
s.s___9929 = 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__P4337_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 = 1118; s.pc = 8; return s.tmp_2;
case 8:
r0 = s.retval;
{ step = 7; continue; }
case 1:
case 2:
s.d___9922 = (1);
case 3:
s.tmp_1 = r0 = s.d___9922;
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___9929 = (1);
case 4:
s.tmp_1 = r0 = s.s___9929;
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__P4339_mk(s);
s.tmp_4.arg0 = s.arg0;
s.tmp_4.arg1 = 4;
s.tmp_4.arg2 = s.d___9922;
s.tmp_4.arg3 = s.s___9929;
s.callLocIdx = 1119; s.pc = 9; return s.tmp_4;
case 9:
r0 = s.retval;
r0 = (s.s___9929 + 1);
s.s___9929 = (r0);
{ step = 4; continue; }
case 5:
r0 = (s.d___9922 + 1);
s.d___9922 = (r0);
{ step = 3; continue; }
case 6:
case 7:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_BaseDialog_clearInterior__P4338.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__P4338_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_BaseDialog_clearInterior__P4338, depth: s.depth + 1,
pc: 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___9922: undefined,
s___9929: undefined,
arg0: undefined,
} }
function game_BaseDialog_drawPartial__P4339(s) {
let r0 = s.r0, step = 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___9947 = undefined;
s.y0___9955 = undefined;
s.xf___9963 = undefined;
s.yf___9970 = undefined;
s.e___9977 = undefined;
s.t___9983 = 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___9947 = (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___9955 = (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___9963 = (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___9970 = (r0);
s.e___9977 = (0);
case 1:
r0 = s.arg0.fields["unit"];
s.tmp_1 = r0;
r0 = (s.e___9977 < s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 4; continue; }
s.t___9983 = (0);
case 2:
r0 = s.arg0.fields["unit"];
s.tmp_1 = r0;
r0 = (s.t___9983 < 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___9947 + s.e___9977);
s.tmp_3 = r0;
r0 = (s.y0___9955 + s.t___9983);
s.tmp_4 = r0;
r0 = s.arg0.fields["frame"];
s.tmp_6 = r0;
r0 = (s.xf___9963 + s.e___9977);
s.tmp_7 = r0;
r0 = (s.yf___9970 + s.t___9983);
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___9983 + 1);
s.t___9983 = (r0);
{ step = 2; continue; }
case 3:
r0 = (s.e___9977 + 1);
s.e___9977 = (r0);
{ step = 1; continue; }
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_BaseDialog_drawPartial__P4339.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__P4339_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_BaseDialog_drawPartial__P4339, depth: s.depth + 1,
pc: 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___9947: undefined,
y0___9955: undefined,
xf___9963: undefined,
yf___9970: undefined,
e___9977: undefined,
t___9983: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function game_BaseDialog_fastFill__P4337(s) {
let r0 = s.r0, step = 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___10019 = 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___10019 = (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___10019;
s.callLocIdx = 1117; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_BaseDialog_fastFill__P4337.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__P4337_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_BaseDialog_fastFill__P4337, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
color___10019: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
arg4: undefined,
arg5: 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___9483 = 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 = 1126; 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___9483 = (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___9483;
s.tmp_0.arg4 = globals.font8___1772;
s.callLocIdx = 1127; 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___9483;
s.tmp_1.arg4 = globals.font5___1777;
s.callLocIdx = 1128; 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___9483;
s.tmp_0.arg4 = globals.font8___1772;
s.callLocIdx = 1129; 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___9483: 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___9533 = undefined;
s.x___9539 = 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 = 130; 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 = 131; 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___9533 = (r0);
r0 = pxsim_ImageMethods.width(s.arg0);
s.tmp_1 = r0;
r0 = (s.tmp_1 - s.w___9533);
s.tmp_0 = r0;
r0 = (s.tmp_0 / 2);
s.x___9539 = (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___9539;
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 = 132; 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___9533: undefined,
x___9539: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
arg4: 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___9371 = 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___9371 = (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___9371 = (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__P4342_mk(s);
s.tmp_8.arg0 = s.arg0;
s.callLocIdx = 1098; 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___9371);
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__P4343_mk(s);
s.tmp_19.arg0 = s.arg0;
s.callLocIdx = 1099; 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___9371: undefined,
arg0: undefined,
} }
function game_BaseDialog_textAreaHeight__P4343(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 1121; 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__P4343.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__P4343_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_BaseDialog_textAreaHeight__P4343, depth: s.depth + 1,
pc: 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__P4342(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 1120; 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__P4342.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__P4342_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_BaseDialog_textAreaWidth__P4342, depth: s.depth + 1,
pc: 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_cursorRowHeight__P4340(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4340.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__P4340_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_BaseDialog_cursorRowHeight__P4340, 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_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__P4350_mk(s);
s.callLocIdx = 1122; 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 = 1123; 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__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:
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(_hex10062);
{ step = 2; continue; }
case 1:
r0 = pxsim.image.ofBuffer(_hex10064);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = s.tmp_1;
return leave(s, r0)
default: oops()
} } }
game_defaultSplashFrame__P4350.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__P4350_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_defaultSplashFrame__P4350, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
const _hex10062 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100000101000001010000")
const _hex10064 = pxsim.BufferMethods.createBufferFromHex("8704030003000000f1010000f1010000f1010000")
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___4331;
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__P4349_mk(s);
s.callLocIdx = 1092; s.pc = 13; return s.tmp_3;
case 13:
r0 = s.retval;
s.tmp_2 = r0;
globals.dialogFrame___4331 = (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___4332;
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__P4351_mk(s);
s.callLocIdx = 1093; s.pc = 14; return s.tmp_3;
case 14:
r0 = s.retval;
s.tmp_2 = r0;
globals.dialogCursor___4332 = (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___4333 == undefined);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
globals.dialogTextColor___4333 = (15);
r0 = 15;
{ step = 12; continue; }
case 11:
r0 = globals.dialogTextColor___4333;
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__P4336_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 1094; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_clearInterior__P4338_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 1095; 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__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:
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(_hex10248);
{ step = 2; continue; }
case 1:
r0 = pxsim.image.ofBuffer(_hex10250);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = s.tmp_1;
return leave(s, r0)
default: oops()
} } }
game_defaultCursorImage__P4351.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__P4351_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_defaultCursorImage__P4351, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
const _hex10248 = pxsim.BufferMethods.createBufferFromHex("87040a000800000011111101010000010111010111100001011101010100000101000001100010000001010000100000")
const _hex10250 = pxsim.BufferMethods.createBufferFromHex("87040b000b00000000606686080000006076776686000000607777676608000076171111670800007671177766080000767117776608000076711777660800007617111167080000607777676608000060767766860000000060668608000000")
function game_defaultFrame__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:
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(_hex10254);
{ step = 2; continue; }
case 1:
r0 = pxsim.image.ofBuffer(_hex10256);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = s.tmp_1;
return leave(s, r0)
default: oops()
} } }
game_defaultFrame__P4349.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__P4349_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_defaultFrame__P4349, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
const _hex10254 = pxsim.BufferMethods.createBufferFromHex("8704030003000000110100000101000011010000")
const _hex10256 = pxsim.BufferMethods.createBufferFromHex("87040c000c0000000000000000000000b0bbbbbbbb0b0000b0bbbbbbbbcb0000b0db1111bdcb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b01b1111b1cb0000b0db1111bdcb0000b0bbbbbbbbcb0000b0bbbbbbbbcb000000cccccccccc0000")
function game_BaseDialog_drawBorder__P4336(s) {
let r0 = s.r0, step = 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___10179 = undefined;
s.c___10195 = undefined;
s.r___10229 = 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__P4337_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 = 1101; s.pc = 12; return s.tmp_2;
case 12:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_fastFill__P4337_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 = 1102; s.pc = 13; return s.tmp_0;
case 13:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_fastFill__P4337_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 = 1103; s.pc = 14; return s.tmp_0;
case 14:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_fastFill__P4337_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 = 1104; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_fastFill__P4337_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 = 1105; 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___10179 = (r0);
s.tmp_0 = game_BaseDialog_fastFill__P4337_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = 6;
s.tmp_0.arg2 = 0;
s.tmp_0.arg3 = s.y___10179;
s.tmp_0.arg4 = 1;
s.tmp_0.arg5 = 1;
s.callLocIdx = 1106; s.pc = 17; return s.tmp_0;
case 17:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_fastFill__P4337_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = 7;
s.tmp_0.arg2 = 1;
s.tmp_0.arg3 = s.y___10179;
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 = 1107; s.pc = 18; return s.tmp_0;
case 18:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_fastFill__P4337_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___10179;
s.tmp_0.arg4 = 1;
s.tmp_0.arg5 = 1;
s.callLocIdx = 1108; s.pc = 19; return s.tmp_0;
case 19:
r0 = s.retval;
{ step = 11; continue; }
case 1:
case 2:
s.c___10195 = (0);
case 3:
r0 = s.arg0.fields["columns"];
s.tmp_1 = r0;
r0 = (s.c___10195 < s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 8; continue; }
r0 = (s.c___10195 == 0);
s.tmp_2 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_2);
if (!r0) { step = 4; continue; }
s.tmp_3 = game_BaseDialog_drawPartial__P4339_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 = 1109; s.pc = 20; return s.tmp_3;
case 20:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_drawPartial__P4339_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 = 1110; s.pc = 21; return s.tmp_0;
case 21:
r0 = s.retval;
{ step = 7; continue; }
case 4:
s.tmp_1 = r0 = s.c___10195;
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__P4339_mk(s);
s.tmp_4.arg0 = s.arg0;
s.tmp_4.arg1 = 2;
s.tmp_4.arg2 = s.c___10195;
s.tmp_4.arg3 = 0;
s.callLocIdx = 1111; s.pc = 22; return s.tmp_4;
case 22:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_drawPartial__P4339_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = 8;
s.tmp_0.arg2 = s.c___10195;
r0 = s.arg0.fields["rows"];
s.tmp_1 = r0;
r0 = (s.tmp_1 - 1);
s.tmp_0.arg3 = r0;
s.callLocIdx = 1112; s.pc = 23; return s.tmp_0;
case 23:
r0 = s.retval;
{ step = 6; continue; }
case 5:
s.tmp_0 = game_BaseDialog_drawPartial__P4339_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = 1;
s.tmp_0.arg2 = s.c___10195;
s.tmp_0.arg3 = 0;
s.callLocIdx = 1113; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_drawPartial__P4339_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = 7;
s.tmp_0.arg2 = s.c___10195;
r0 = s.arg0.fields["rows"];
s.tmp_1 = r0;
r0 = (s.tmp_1 - 1);
s.tmp_0.arg3 = r0;
s.callLocIdx = 1114; s.pc = 25; return s.tmp_0;
case 25:
r0 = s.retval;
case 6:
case 7:
r0 = (s.c___10195 + 1);
s.c___10195 = (r0);
{ step = 3; continue; }
case 8:
s.r___10229 = (1);
case 9:
s.tmp_1 = r0 = s.r___10229;
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__P4339_mk(s);
s.tmp_4.arg0 = s.arg0;
s.tmp_4.arg1 = 3;
s.tmp_4.arg2 = 0;
s.tmp_4.arg3 = s.r___10229;
s.callLocIdx = 1115; s.pc = 26; return s.tmp_4;
case 26:
r0 = s.retval;
s.tmp_0 = game_BaseDialog_drawPartial__P4339_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___10229;
s.callLocIdx = 1116; s.pc = 27; return s.tmp_0;
case 27:
r0 = s.retval;
r0 = (s.r___10229 + 1);
s.r___10229 = (r0);
{ step = 9; continue; }
case 10:
case 11:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_BaseDialog_drawBorder__P4336.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__P4336_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_BaseDialog_drawBorder__P4336, depth: s.depth + 1,
pc: 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___10179: undefined,
c___10195: undefined,
r___10229: undefined,
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___10258 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1086; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.scene___10258 = (r0);
s.tmp_0 = scene_Background_image__P2407_mk(s);
r0 = s.scene___10258.fields["background"];
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = s.arg0;
s.callLocIdx = 1087; 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___10258: 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 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_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 = 873; 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___10644 = undefined;
s.nums___10651 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim.settings._get(s.arg0);
s.buf___10644 = (r0);
r0 = pxsim_numops_toBoolDecr(s.buf___10644);
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___10644;
s.tmp_2.arg1 = 0;
s.callLocIdx = 162; s.pc = 8; return s.tmp_2;
case 8:
r0 = s.retval;
s.nums___10651 = (r0);
s.tmp_0 = r0 = s.nums___10651;
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___10651);
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___10651, 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___10644: undefined,
nums___10651: 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___10664 = undefined;
s.fmt___10671 = undefined;
s.v___10680 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__mk();
s.res___10664 = (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__P3948_mk(s);
r0 = pxsim.BufferMethods.getByte(s.arg0, s.tmp_3);
s.tmp_4.arg0 = r0;
s.callLocIdx = 21; s.pc = 12; return s.tmp_4;
case 12:
r0 = s.retval;
s.fmt___10671 = (r0);
r0 = (s.fmt___10671 === 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___10680 = (r0);
r0 = (-31 <= s.v___10680);
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___10680 <= 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___10664, s.v___10680);
{ step = 5; continue; }
case 4:
r0 = null;
{ step = 11; continue; }
case 5:
{ step = 7; continue; }
case 6:
s.tmp_0 = r0 = s.res___10664;
r0 = pxsim.BufferMethods.getNumber(s.arg0, s.fmt___10671, 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___10671;
s.callLocIdx = 22; 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___10664;
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___10664: undefined,
fmt___10671: undefined,
v___10680: undefined,
arg0: undefined,
arg1: undefined,
} }
function msgpack_tagFormat__P3948(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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__P3948.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__P3948_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: msgpack_tagFormat__P3948, 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 = 18; 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___10466 = undefined;
s.curr___10483 = undefined;
r0 = pxsim_numops_toBoolDecr(globals.players___4246);
if (!r0) { step = 5; continue; }
r0 = pxsim_pxtrt.mklocRef();
s.hs___10466 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.hs___10466, 0);
r0 = pxsim_pxtcore_mkAction(1, info_saveHighScore_inline__P10476);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hs___10466);
s.tmp_1 = helpers_arrayForEach__P109_mk(s);
s.tmp_2 = helpers_arrayFilter__P110_mk(s);
s.tmp_2.arg0 = globals.players___4246;
s.tmp_2.arg1 = forEach_inline__P10470;
s.callLocIdx = 867; 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 = 870; 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 = 871; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
s.curr___10483 = (r0);
r0 = (s.curr___10483 == 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___10466);
s.tmp_1 = r0;
r0 = (s.tmp_1 > s.curr___10483);
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___10466);
s.tmp_3.arg1 = r0;
s.callLocIdx = 872; 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___10466: undefined,
curr___10483: undefined,
} }
function forEach_inline__P10470(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 866; 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__P10470.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__P10470_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: forEach_inline__P10470, 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__P10476(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 868; s.pc = 2; return s.tmp_3;
case 2:
r0 = s.retval;
s.tmp_2.arg1 = r0;
s.callLocIdx = 869; 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__P10476.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__P10476_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_saveHighScore_inline__P10476, depth: s.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 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___10738 = 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 = 896; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.state___10738 = (r0);
r0 = s.state___10738.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___10738).fields["score"] = (0);
case 5:
case 6:
r0 = s.state___10738.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___10738: 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 = 158; s.pc = 2; return s.tmp_2;
case 2:
r0 = s.retval;
s.tmp_1.arg1 = r0;
s.callLocIdx = 159; 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___10504 = undefined;
s.n___10506 = undefined;
s.unnamed50___U2 = undefined;
s.unnamed51___U3 = undefined;
s.buf___10516 = undefined;
s.n___10522 = undefined;
s.unnamed52___U6 = undefined;
s.unnamed53___U7 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
s.off___10504 = (0);
s.n___10506 = (undefined);
s.unnamed50___U2 = (s.arg0);
s.unnamed51___U3 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed51___U3;
r0 = pxsim_Array__length(s.unnamed50___U2);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 2; continue; }
r0 = pxsim_Array__getAt(s.unnamed50___U2, s.unnamed51___U3);
s.n___10506 = (r0);
s.tmp_2 = r0 = s.off___10504;
s.tmp_4 = msgpack_packNumberCore__P3949_mk(s);
s.tmp_4.arg0 = null;
s.tmp_4.arg1 = s.off___10504;
s.tmp_4.arg2 = s.n___10506;
s.callLocIdx = 23; 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___10504 = (r0);
r0 = (s.unnamed51___U3 + 1);
s.unnamed51___U3 = (r0);
{ step = 1; continue; }
case 2:
s.unnamed50___U2 = (undefined);
r0 = pxsim.control.createBuffer(s.off___10504);
s.buf___10516 = (r0);
s.off___10504 = (0);
s.n___10522 = (undefined);
s.unnamed52___U6 = (s.arg0);
s.unnamed53___U7 = (0);
case 3:
s.tmp_0 = r0 = s.unnamed53___U7;
r0 = pxsim_Array__length(s.unnamed52___U6);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 4; continue; }
r0 = pxsim_Array__getAt(s.unnamed52___U6, s.unnamed53___U7);
s.n___10522 = (r0);
s.tmp_2 = r0 = s.off___10504;
s.tmp_4 = msgpack_packNumberCore__P3949_mk(s);
s.tmp_4.arg0 = s.buf___10516;
s.tmp_4.arg1 = s.off___10504;
s.tmp_4.arg2 = s.n___10522;
s.callLocIdx = 24; 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___10504 = (r0);
r0 = (s.unnamed53___U7 + 1);
s.unnamed53___U7 = (r0);
{ step = 3; continue; }
case 4:
s.unnamed52___U6 = (undefined);
r0 = s.buf___10516;
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___10504: undefined,
n___10506: undefined,
unnamed50___U2: undefined,
unnamed51___U3: undefined,
buf___10516: undefined,
n___10522: undefined,
unnamed52___U6: undefined,
unnamed53___U7: undefined,
arg0: undefined,
} }
function msgpack_packNumberCore__P3949(s) {
let r0 = s.r0, step = 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___10536 = undefined;
s.fmt___10579 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.arg2 = (s.lambdaArgs[2]);
s.lambdaArgs = null;
}
s.tag___10536 = (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___10536 = (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___10536 = (205);
{ step = 10; continue; }
case 9:
s.tag___10536 = (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___10536 = (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___10536 = (209);
{ step = 15; continue; }
case 14:
s.tag___10536 = (210);
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
s.tmp_0 = msgpack_tagFormat__P3948_mk(s);
s.tmp_0.arg0 = s.tag___10536;
s.callLocIdx = 19; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.fmt___10579 = (r0);
r0 = pxsim_numops_toBoolDecr(s.arg0);
if (!r0) { step = 21; continue; }
r0 = pxsim.BufferMethods.setByte(s.arg0, s.arg1, s.tag___10536);
s.tmp_0 = r0 = s.arg0;
s.tmp_1 = r0 = s.fmt___10579;
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___10579;
s.callLocIdx = 20; 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__P3949.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__P3949_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: msgpack_packNumberCore__P3949, depth: s.depth + 1,
pc: 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___10536: undefined,
fmt___10579: undefined,
arg0: undefined,
arg1: undefined,
arg2: 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___13163 = 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__P13169;
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 = 1053; s.pc = 3; return s.tmp_3;
case 3:
r0 = s.retval;
s.renderable___13163 = (s.tmp_0);
r0 = s.renderable___13163;
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___13163: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function renderable_inline__P13169(s) {
let r0 = s.r0, 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__P13169.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__P13169_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: renderable_inline__P13169, 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 = 1050; 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 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___12555 = undefined;
s.font___12561 = undefined;
s.i___12605 = undefined;
s.num___12627 = undefined;
s.textWidth___12634 = undefined;
s.mult___12687 = 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 = 937; s.pc = 8; return s.tmp_0;
case 8:
r0 = s.retval;
s.state___12555 = (r0);
r0 = s.state___12555.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___12561 = (globals.font8___1772);
r0 = s.state___12555.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___12555.fields["life"];
s.tmp_4 = r0;
r0 = globals.infoState___4245.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___4245.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___4245.fields["borderColor"];
s.tmp_2.arg5 = r0;
s.callLocIdx = 938; 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___12555.fields["life"];
s.tmp_2 = r0;
r0 = globals.infoState___4245.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___4245.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___4245.fields["bgColor"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 939; s.pc = 10; return s.tmp_0;
case 10:
r0 = s.retval;
s.i___12605 = (0);
case 3:
r0 = s.state___12555.fields["life"];
s.tmp_1 = r0;
r0 = (s.i___12605 < 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___4245.fields["heartImage"];
s.tmp_3 = r0;
s.tmp_6 = r0 = s.i___12605;
r0 = globals.infoState___4245.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___12605 + 1);
s.i___12605 = (r0);
{ step = 3; continue; }
case 4:
{ step = 6; continue; }
case 5:
r0 = s.state___12555.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___12627 = (r0);
r0 = pxsim_String_.length(s.num___12627);
s.tmp_1 = r0;
s.tmp_3 = if_charWidth_1_mk(s);
s.tmp_3.arg0 = s.font___12561;
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 = 940; 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___12634 = (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___4245.fields["heartImage"];
s.tmp_4 = r0;
r0 = pxsim_ImageMethods.width(s.tmp_4);
s.tmp_3 = r0;
r0 = globals.infoState___4245.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___12634);
s.tmp_1 = r0;
r0 = (s.tmp_1 + 5);
s.tmp_0.arg3 = r0;
r0 = globals.infoState___4245.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___4245.fields["borderColor"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 941; 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___4245.fields["heartImage"];
s.tmp_4 = r0;
r0 = pxsim_ImageMethods.width(s.tmp_4);
s.tmp_3 = r0;
r0 = globals.infoState___4245.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___12634);
s.tmp_1 = r0;
r0 = (s.tmp_1 + 4);
s.tmp_0.arg3 = r0;
r0 = globals.infoState___4245.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___4245.fields["bgColor"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 942; s.pc = 14; return s.tmp_0;
case 14:
r0 = s.retval;
r0 = globals.infoState___4245.fields["heartImage"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.drawTransparentImage(globals.screen___1829, s.tmp_0, 1, 1);
r0 = globals.infoState___4245.fields["multiplierImage"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.clone(s.tmp_0);
s.mult___12687 = (r0);
r0 = globals.infoState___4245.fields["fontColor"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.replace(s.mult___12687, 1, s.tmp_0);
s.tmp_0 = r0 = globals.screen___1829;
s.tmp_1 = r0 = s.mult___12687;
r0 = globals.infoState___4245.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___12561;
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 = 943; s.pc = 15; return s.tmp_8; }
}
case 15:
r0 = s.retval;
s.tmp_7 = r0;
r0 = globals.infoState___4245.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___12627;
r0 = globals.infoState___4245.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___4245.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___4245.fields["fontColor"];
s.tmp_0.arg4 = r0;
s.tmp_0.arg5 = s.font___12561;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 944; 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___12555: undefined,
font___12561: undefined,
i___12605: undefined,
num___12627: undefined,
textWidth___12634: undefined,
mult___12687: 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___12743 = undefined;
s.font___12747 = undefined;
s.offsetY___12748 = undefined;
s.num___12757 = undefined;
s.width___12761 = 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 = 930; s.pc = 3; return s.tmp_1;
case 3:
r0 = s.retval;
s.tmp_0 = r0;
r0 = (s.tmp_0 | 0);
s.s___12743 = (r0);
r0 = (s.s___12743 >= 1000000);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
s.offsetY___12748 = (2);
s.font___12747 = (globals.font5___1777);
{ step = 2; continue; }
case 1:
s.offsetY___12748 = (1);
s.font___12747 = (globals.font8___1772);
case 2:
r0 = pxsim_numops.toString(s.s___12743);
s.num___12757 = (r0);
r0 = pxsim_String_.length(s.num___12757);
s.tmp_0 = r0;
s.tmp_2 = if_charWidth_1_mk(s);
s.tmp_2.arg0 = s.font___12747;
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 = 931; 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___12761 = (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___12761);
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 = 932; 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___4245.fields["borderColor"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 933; 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___12761);
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 = 934; 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___4245.fields["bgColor"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 935; 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___12757;
r0 = pxsim_ImageMethods.width(globals.screen___1829);
s.tmp_1 = r0;
r0 = (s.tmp_1 - s.width___12761);
s.tmp_0.arg2 = r0;
s.tmp_0.arg3 = s.offsetY___12748;
r0 = globals.infoState___4245.fields["fontColor"];
s.tmp_0.arg4 = r0;
s.tmp_0.arg5 = s.font___12747;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 936; 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___12743: undefined,
font___12747: undefined,
offsetY___12748: undefined,
num___12757: undefined,
width___12761: 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___12841 = undefined;
s.font___12844 = undefined;
s.score___12846 = undefined;
s.life___12847 = undefined;
s.height___12848 = undefined;
s.scoreWidth___12849 = undefined;
s.lifeWidth___12850 = undefined;
s.offsetY___12853 = undefined;
s.showScore___12854 = undefined;
s.showLife___12862 = undefined;
s.width___12930 = undefined;
s.x___12940 = undefined;
s.y___12947 = undefined;
s.bump___12980 = undefined;
s.xLoc___13005 = undefined;
s.mult___13016 = undefined;
s.pNum___13078 = undefined;
s.iconWidth___13085 = undefined;
s.iconHeight___13093 = undefined;
s.iconX___13101 = undefined;
s.iconY___13113 = 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 = 913; s.pc = 43; return s.tmp_0;
case 43:
r0 = s.retval;
s.state___12841 = (r0);
s.font___12844 = (globals.font5___1777);
s.height___12848 = (4);
s.scoreWidth___12849 = (0);
s.lifeWidth___12850 = (0);
s.offsetY___12853 = (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___12841.fields["score"];
s.tmp_1 = r0;
r0 = (s.tmp_1 !== undefined);
case 2:
// jmp value (already in r0)
s.tmp_2 = r0;
s.showScore___12854 = (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___12841.fields["life"];
s.tmp_1 = r0;
r0 = (s.tmp_1 !== undefined);
case 4:
// jmp value (already in r0)
s.tmp_2 = r0;
s.showLife___12862 = (s.tmp_2);
r0 = pxsim_numops_toBoolDecr(s.showScore___12854);
if (!r0) { step = 5; continue; }
r0 = pxsim_String_.mkEmpty();
s.tmp_0 = r0;
r0 = s.state___12841.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___12846 = (r0);
r0 = pxsim_String_.length(s.score___12846);
s.tmp_1 = r0;
s.tmp_3 = if_charWidth_1_mk(s);
s.tmp_3.arg0 = s.font___12844;
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 = 914; 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___12849 = (r0);
s.tmp_0 = r0 = s.height___12848;
s.tmp_2 = if_charHeight_1_mk(s);
s.tmp_2.arg0 = s.font___12844;
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 = 915; 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___12848 = (r0);
s.tmp_0 = r0 = s.offsetY___12853;
s.tmp_3 = if_charHeight_1_mk(s);
s.tmp_3.arg0 = s.font___12844;
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 = 916; 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___12853 = (r0);
case 5:
case 6:
r0 = pxsim_numops_toBoolDecr(s.showLife___12862);
if (!r0) { step = 9; continue; }
r0 = s.state___12841.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___12847 = (r0);
r0 = globals.infoState___4245.fields["heartImage"];
s.tmp_3 = r0;
r0 = pxsim_ImageMethods.width(s.tmp_3);
s.tmp_2 = r0;
r0 = globals.infoState___4245.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___12847);
s.tmp_7 = r0;
s.tmp_9 = if_charWidth_1_mk(s);
s.tmp_9.arg0 = s.font___12844;
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 = 917; 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___12850 = (r0);
s.tmp_0 = r0 = s.height___12848;
r0 = globals.infoState___4245.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___12848 = (r0);
case 9:
case 10:
s.tmp_0 = Math_max__P130_mk(s);
s.tmp_0.arg0 = s.scoreWidth___12849;
s.tmp_0.arg1 = s.lifeWidth___12850;
s.callLocIdx = 918; s.pc = 50; return s.tmp_0;
case 50:
r0 = s.retval;
s.width___12930 = (r0);
s.tmp_0 = r0 = s.showScore___12854;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 11; continue; }
r0 = s.tmp_0;
{ step = 12; continue; }
case 11:
r0 = s.showLife___12862;
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___12848 + 1);
s.height___12848 = (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___12930;
{ 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___12940 = (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___12848;
{ 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___12947 = (r0);
s.tmp_0 = r0 = s.showScore___12854;
r0 = pxsim_numops_toBool(s.tmp_0);
if (!r0) { step = 19; continue; }
r0 = s.tmp_0;
{ step = 20; continue; }
case 19:
r0 = s.showLife___12862;
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___12940;
s.tmp_2.arg2 = s.y___12947;
s.tmp_2.arg3 = s.width___12930;
s.tmp_2.arg4 = s.height___12848;
r0 = s.arg0.fields["border"];
s.tmp_2.arg5 = r0;
s.callLocIdx = 919; 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___12940 + 1);
s.tmp_0.arg1 = r0;
r0 = (s.y___12947 + 1);
s.tmp_0.arg2 = r0;
r0 = (s.width___12930 - 2);
s.tmp_0.arg3 = r0;
r0 = (s.height___12848 - 2);
s.tmp_0.arg4 = r0;
r0 = s.arg0.fields["bg"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 920; s.pc = 52; return s.tmp_0;
case 52:
r0 = s.retval;
case 21:
case 22:
r0 = pxsim_numops_toBoolDecr(s.showScore___12854);
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___12930 - s.scoreWidth___12849);
{ step = 24; continue; }
case 23:
r0 = 0;
case 24:
// jmp value (already in r0)
s.tmp_1 = r0;
s.bump___12980 = (s.tmp_1);
s.tmp_0 = helpers_imagePrint__P1787_mk(s);
s.tmp_0.arg0 = globals.screen___1829;
s.tmp_0.arg1 = s.score___12846;
r0 = (s.x___12940 + 1);
s.tmp_2 = r0;
r0 = (s.tmp_2 + s.bump___12980);
s.tmp_1 = r0;
r0 = (s.tmp_1 + 1);
s.tmp_0.arg2 = r0;
r0 = (s.y___12947 + 2);
s.tmp_0.arg3 = r0;
r0 = s.arg0.fields["fc"];
s.tmp_0.arg4 = r0;
s.tmp_0.arg5 = s.font___12844;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 921; s.pc = 53; return s.tmp_0;
case 53:
r0 = s.retval;
case 25:
case 26:
r0 = pxsim_numops_toBoolDecr(s.showLife___12862);
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___12930 - s.lifeWidth___12850);
{ step = 28; continue; }
case 27:
r0 = 0;
case 28:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = (s.x___12940 + 1);
s.tmp_2 = r0;
r0 = (s.tmp_2 + s.tmp_1);
s.xLoc___13005 = (r0);
r0 = globals.infoState___4245.fields["multiplierImage"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.clone(s.tmp_0);
s.mult___13016 = (r0);
r0 = s.arg0.fields["fc"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.replace(s.mult___13016, 1, s.tmp_0);
s.tmp_0 = r0 = globals.screen___1829;
r0 = globals.infoState___4245.fields["heartImage"];
s.tmp_1 = r0;
s.tmp_2 = r0 = s.xLoc___13005;
r0 = (s.y___12947 + s.offsetY___12853);
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___13016;
s.tmp_3 = r0 = s.xLoc___13005;
r0 = globals.infoState___4245.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___12947 + s.offsetY___12853);
s.tmp_9 = r0;
s.tmp_11 = if_charHeight_1_mk(s);
s.tmp_11.arg0 = s.font___12844;
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 = 922; 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___4245.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___12847;
s.tmp_3 = r0 = s.xLoc___13005;
r0 = globals.infoState___4245.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___4245.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___12947 + s.offsetY___12853);
s.tmp_0.arg3 = r0;
r0 = s.arg0.fields["fc"];
s.tmp_0.arg4 = r0;
s.tmp_0.arg5 = s.font___12844;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 923; 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___13078 = (r0);
r0 = pxsim_String_.length(s.pNum___13078);
s.tmp_1 = r0;
s.tmp_3 = if_charWidth_1_mk(s);
s.tmp_3.arg0 = s.font___12844;
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 = 924; 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___13085 = (r0);
s.tmp_0 = Math_max__P130_mk(s);
s.tmp_0.arg0 = s.height___12848;
s.tmp_2 = if_charHeight_1_mk(s);
s.tmp_2.arg0 = s.font___12844;
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 = 925; 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 = 926; s.pc = 58; return s.tmp_0;
case 58:
r0 = s.retval;
s.iconHeight___13093 = (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___12940 - s.iconWidth___13085);
s.tmp_1 = r0;
r0 = (s.tmp_1 + 1);
{ step = 32; continue; }
case 31:
r0 = (s.x___12940 + s.width___12930);
s.tmp_2 = r0;
r0 = (s.tmp_2 - 1);
case 32:
// jmp value (already in r0)
s.tmp_3 = r0;
s.iconX___13101 = (s.tmp_3);
s.iconY___13113 = (s.y___12947);
r0 = pxsim_numops_toBoolDecr(s.showScore___12854);
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___12862);
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___13101 + s.tmp_5);
s.iconX___13101 = (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___13113 - 3);
s.iconY___13113 = (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___13101;
s.tmp_0.arg2 = s.iconY___13113;
s.tmp_0.arg3 = s.iconWidth___13085;
s.tmp_0.arg4 = s.iconHeight___13093;
r0 = s.arg0.fields["border"];
s.tmp_0.arg5 = r0;
s.callLocIdx = 927; 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___13078;
r0 = (s.iconX___13101 + 1);
s.tmp_0.arg2 = r0;
s.tmp_2 = r0 = s.iconY___13113;
r0 = (s.iconHeight___13093 >> 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___12844;
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 = 928; 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___12844;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 929; 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___12841: undefined,
font___12844: undefined,
score___12846: undefined,
life___12847: undefined,
height___12848: undefined,
scoreWidth___12849: undefined,
lifeWidth___12850: undefined,
offsetY___12853: undefined,
showScore___12854: undefined,
showLife___12862: undefined,
width___12930: undefined,
x___12940: undefined,
y___12947: undefined,
bump___12980: undefined,
xLoc___13005: undefined,
mult___13016: undefined,
pNum___13078: undefined,
iconWidth___13085: undefined,
iconHeight___13093: undefined,
iconX___13101: undefined,
iconY___13113: 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___12819 = 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 = 910; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
s.state___12819 = (r0);
r0 = s.state___12819.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___12819.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___12819).fields["life"] = (null);
r0 = s.state___12819.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___12819;
if (!s.tmp_1.arg0.vtable.iface) {
setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "lifeZeroHandler"), 1);
s.callLocIdx = 911; 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 = 911; s.pc = 10; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 911; s.pc = 10; return s.tmp_1;; }
else { s.callLocIdx = 911; 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 = 912; 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___12819: 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___12730 = 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 = 909; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.state___12730 = (r0);
r0 = s.state___12730.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___12730.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___12730: 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___12810 = 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 = 902; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.state___12810 = (r0);
r0 = s.state___12810.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___12810: undefined,
arg0: undefined,
} }
function info_PlayerInfo_life__P2380(s) {
let r0 = s.r0, step = 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___9130 = 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 = 903; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
s.state___9130 = (r0);
r0 = s.arg0.fields["showLife"];
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["showLife"] = (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:
r0 = s.state___9130.fields["life"];
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 = (s.state___9130).fields["life"] = (3);
case 5:
case 6:
r0 = s.state___9130.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 = s.tmp_1;
return leave(s, r0)
default: oops()
} } }
info_PlayerInfo_life__P2380.info = {"start":19192,"length":334,"line":633,"column":8,"endLine":642,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"life","argumentNames":["this"]}
function info_PlayerInfo_life__P2380_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_PlayerInfo_life__P2380, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
state___9130: undefined,
arg0: 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__P4297_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 895; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = globals.infoState___4245.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__P4297(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4291_mk(s);
s.callLocIdx = 892; 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__P4292_mk(s);
s.callLocIdx = 893; s.pc = 6; return s.tmp_2;
case 6:
r0 = s.retval;
case 1:
case 2:
r0 = globals.infoState___4245.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___4245.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__P4297.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__P4297_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_PlayerInfo_init__P4297, depth: s.depth + 1,
pc: 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__P4292(s) {
let r0 = s.r0, 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___4245.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___4245;
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___4245.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___4245;
s.tmp_6 = info_defaultMultiplayerHeartImage__P4294_mk(s);
s.callLocIdx = 865; 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___4245;
r0 = pxsim.image.ofBuffer(_hex13273);
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__P4292.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__P4292_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_initMultiHUD__P4292, depth: s.depth + 1,
pc: 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 _hex13273 = pxsim.BufferMethods.createBufferFromHex("8704030003000000010100001000000001010000")
function info_defaultMultiplayerHeartImage__P4294(s) {
let r0 = s.r0, 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(_hex13277);
{ step = 2; continue; }
case 1:
r0 = pxsim.image.ofBuffer(_hex13279);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = s.tmp_1;
return leave(s, r0)
default: oops()
} } }
info_defaultMultiplayerHeartImage__P4294.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__P4294_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_defaultMultiplayerHeartImage__P4294, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
const _hex13277 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100000110000010000100011000001001000000000000")
const _hex13279 = pxsim.BufferMethods.createBufferFromHex("870407000500000000000000100100002112000010240100411200001001000000000000")
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_setScore__P2341(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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_setScore__P2377_mk(s);
s.tmp_0.arg0 = globals.player1___2392;
s.tmp_0.arg1 = s.arg0;
s.callLocIdx = 874; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_setScore__P2341.info = {"start":7438,"length":80,"line":253,"column":4,"endLine":255,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"setScore","argumentNames":["value"]}
function info_setScore__P2341_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_setScore__P2341, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function info_PlayerInfo_setScore__P2377(s) {
let r0 = s.r0, step = 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___13286 = 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 = 897; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.state___13286 = (r0);
r0 = globals.infoState___4245.fields["visibilityFlag"];
s.tmp_3 = r0;
r0 = (s.tmp_3 & 64);
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 = info_updateFlag__P4295_mk(s);
s.tmp_4.arg0 = 2;
s.tmp_4.arg1 = true;
s.callLocIdx = 898; s.pc = 4; return s.tmp_4;
case 4:
r0 = s.retval;
case 1:
case 2:
s.tmp_0 = info_PlayerInfo_score__P2376_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 899; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.tmp_0 = r0 = s.state___13286;
r0 = (s.arg1 | 0);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["score"] = (s.tmp_1);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_PlayerInfo_setScore__P2377.info = {"start":18219,"length":318,"line":600,"column":8,"endLine":608,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"setScore","argumentNames":["this","value"]}
function info_PlayerInfo_setScore__P2377_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_PlayerInfo_setScore__P2377, depth: s.depth + 1,
pc: 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___13286: undefined,
arg0: undefined,
arg1: undefined,
} }
function info_changeLifeBy__P2346(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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_changeLifeBy__P2382_mk(s);
s.tmp_0.arg0 = globals.player1___2392;
s.tmp_0.arg1 = s.arg0;
s.callLocIdx = 877; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_changeLifeBy__P2346.info = {"start":8735,"length":88,"line":305,"column":4,"endLine":307,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"changeLifeBy","argumentNames":["value"]}
function info_changeLifeBy__P2346_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_changeLifeBy__P2346, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function info_PlayerInfo_changeLifeBy__P2382(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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);
s.tmp_0 = info_PlayerInfo_setLife__P2381_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_2 = info_PlayerInfo_life__P2380_mk(s);
s.tmp_2.arg0 = s.arg0;
s.callLocIdx = 907; s.pc = 2; return s.tmp_2;
case 2:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_1 + s.arg1);
s.tmp_0.arg1 = r0;
s.callLocIdx = 908; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_PlayerInfo_changeLifeBy__P2382.info = {"start":20326,"length":92,"line":669,"column":8,"endLine":671,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"changeLifeBy","argumentNames":["this","value"]}
function info_PlayerInfo_changeLifeBy__P2382_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_PlayerInfo_changeLifeBy__P2382, 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 scene_cameraShake__P2616(s) {
let r0 = s.r0, step = 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___13315 = 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 = 1090; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.scene___13315 = (r0);
s.tmp_0 = scene_Camera_shake__P2527_mk(s);
r0 = s.scene___13315.fields["camera"];
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = s.arg0;
s.tmp_0.arg2 = s.arg1;
s.callLocIdx = 1091; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_cameraShake__P2616.info = {"start":3616,"length":174,"line":131,"column":4,"endLine":134,"endColumn":5,"fileName":"pxt_modules/game/scenes.ts","functionName":"cameraShake","argumentNames":["amplitude","duration"]}
function scene_cameraShake__P2616_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_cameraShake__P2616, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
scene___13315: undefined,
arg0: undefined,
arg1: undefined,
} }
function scene_Camera_shake__P2527(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_Camera__C2512_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.arg2 <= 0);
case 2:
// jmp value (already in r0)
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 3; continue; }
r0 = (s.arg0).fields["shakeStartTime"] = (undefined);
{ step = 4; continue; }
case 3:
s.tmp_0 = r0 = s.arg0;
r0 = pxsim.control.millis();
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["shakeStartTime"] = (s.tmp_1);
r0 = (s.arg0).fields["shakeAmplitude"] = (s.arg1);
r0 = (s.arg0).fields["shakeDuration"] = (s.arg2);
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_Camera_shake__P2527.info = {"start":1792,"length":495,"line":65,"column":8,"endLine":75,"endColumn":9,"fileName":"pxt_modules/game/camera.ts","functionName":"shake","argumentNames":["this","amplitude","duration"]}
function scene_Camera_shake__P2527_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_Camera_shake__P2527, 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 fire_inline__P13345(s) {
let r0 = s.r0, step = 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___13348 = undefined;
s.src___13351 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_pxtcore_mkClassInstance(particles_FireFactory__C2901_VT);
s.tmp_0 = r0;
s.tmp_1 = particles_FireFactory_constructor__P2902_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 5;
s.callLocIdx = 40; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
s.factory___13348 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(particles_FireSource__C2854_VT);
s.tmp_0 = r0;
s.tmp_1 = particles_FireSource_constructor__P2855_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___13348;
s.callLocIdx = 41; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.src___13351 = (s.tmp_0);
s.tmp_0 = particles_ParticleSource_setAcceleration__P2841_mk(s);
s.tmp_0.arg0 = s.src___13351;
s.tmp_0.arg1 = 0;
s.tmp_0.arg2 = -20;
s.callLocIdx = 42; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = s.src___13351;
return leave(s, r0)
default: oops()
} } }
fire_inline__P13345.info = {"start":9582,"length":273,"line":248,"column":53,"endLine":253,"endColumn":5,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["anchor","particlesPerSecond"]}
function fire_inline__P13345_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: fire_inline__P13345, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
factory___13348: undefined,
src___13351: undefined,
arg0: undefined,
arg1: undefined,
} }
function particles_FireSource_constructor__P2855(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_FireSource__C2854_VT)) failedCast(r0);
s.tmp_0 = particles_ParticleSource_constructor__P2837_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.callLocIdx = 1397; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
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 = 1398; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
r0 = (s.arg0).fields["galois"] = (s.tmp_0);
s.tmp_0 = sprites_BaseSprite_z__P1893_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = 20;
s.callLocIdx = 1399; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_FireSource_constructor__P2855.info = {"start":10378,"length":232,"line":342,"column":8,"endLine":346,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"inline","argumentNames":["this","anchor","particlesPerSecond","factory"]}
function particles_FireSource_constructor__P2855_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_FireSource_constructor__P2855, 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 particles_FireFactory_constructor__P2902(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_FireFactory__C2901_VT)) failedCast(r0);
r0 = undefined;
s.tmp_0 = particles_initTrig__P4727_mk(s);
s.callLocIdx = 1465; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
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 = 1466; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
r0 = (s.arg0).fields["galois"] = (s.tmp_0);
s.tmp_0 = r0 = s.arg0;
r0 = (s.arg1 >> 1);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["minRadius"] = (s.tmp_1);
r0 = (s.arg0).fields["maxRadius"] = (s.arg1);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_FireFactory_constructor__P2902.info = {"start":8654,"length":212,"line":282,"column":8,"endLine":288,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","radius"]}
function particles_FireFactory_constructor__P2902_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_FireFactory_constructor__P2902, 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 info_changeScoreBy__P2342(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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_changeScoreBy__P2378_mk(s);
s.tmp_0.arg0 = globals.player1___2392;
s.tmp_0.arg1 = s.arg0;
s.callLocIdx = 875; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_changeScoreBy__P2342.info = {"start":7770,"length":90,"line":265,"column":4,"endLine":267,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"changeScoreBy","argumentNames":["value"]}
function info_changeScoreBy__P2342_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_changeScoreBy__P2342, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function info_PlayerInfo_changeScoreBy__P2378(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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);
s.tmp_0 = info_PlayerInfo_setScore__P2377_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_2 = info_PlayerInfo_score__P2376_mk(s);
s.tmp_2.arg0 = s.arg0;
s.callLocIdx = 900; s.pc = 2; return s.tmp_2;
case 2:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_1 + s.arg1);
s.tmp_0.arg1 = r0;
s.callLocIdx = 901; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_PlayerInfo_changeScoreBy__P2378.info = {"start":18803,"length":95,"line":618,"column":8,"endLine":620,"endColumn":9,"fileName":"pxt_modules/game/info.ts","functionName":"changeScoreBy","argumentNames":["this","value"]}
function info_PlayerInfo_changeScoreBy__P2378_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_PlayerInfo_changeScoreBy__P2378, 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 disintegrate_inline__P13408(s) {
let r0 = s.r0, step = 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___13411 = undefined;
s.src___13419 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_pxtcore_mkClassInstance(particles_AshFactory__C2912_VT);
s.tmp_0 = r0;
s.tmp_1 = particles_AshFactory_constructor__P2913_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = s.arg0;
s.tmp_1.arg2 = true;
s.tmp_1.arg3 = 30;
s.callLocIdx = 44; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
s.factory___13411 = (s.tmp_0);
r0 = (s.factory___13411).fields["minLifespan"] = (200);
r0 = (s.factory___13411).fields["maxLifespan"] = (500);
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___13411;
s.callLocIdx = 45; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.src___13419 = (s.tmp_0);
s.tmp_0 = particles_ParticleSource_setAcceleration__P2841_mk(s);
s.tmp_0.arg0 = s.src___13419;
s.tmp_0.arg1 = 0;
s.tmp_0.arg2 = 750;
s.callLocIdx = 46; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = s.src___13419;
return leave(s, r0)
default: oops()
} } }
disintegrate_inline__P13408.info = {"start":11189,"length":361,"line":282,"column":61,"endLine":289,"endColumn":5,"fileName":"pxt_modules/game/particleeffects.ts","functionName":"inline","argumentNames":["anchor","particlesPerSecond"]}
function disintegrate_inline__P13408_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: disintegrate_inline__P13408, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
factory___13411: undefined,
src___13419: undefined,
arg0: undefined,
arg1: undefined,
} }
function particles_AshFactory_constructor__P2913(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.counts___13451 = undefined;
s.i___13453 = undefined;
s.result___13462 = undefined;
s.x___13467 = undefined;
s.y___13473 = undefined;
s.c___13479 = 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_AshFactory__C2912_VT)) failedCast(r0);
s.tmp_1 = if_width_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, "width");
} else {
s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["width"];
if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["width"]; }
else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); }
else { s.callLocIdx = 1484; s.pc = 20; return s.tmp_1; }
}
case 20:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
s.tmp_2 = if_width_1_mk(s);
s.tmp_2.arg0 = s.arg1;
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 = 1485; s.pc = 21; return s.tmp_2; }
}
case 21:
r0 = s.retval;
{ step = 2; continue; }
case 1:
r0 = 8;
case 2:
// jmp value (already in r0)
s.tmp_3 = r0;
s.tmp_5 = if_height_1_mk(s);
s.tmp_5.arg0 = s.arg1;
if (!s.tmp_5.arg0.vtable.iface) {
s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "height");
} else {
s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["height"];
if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["height"]; }
else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); }
else { s.callLocIdx = 1486; s.pc = 22; return s.tmp_5; }
}
case 22:
r0 = s.retval;
s.tmp_4 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_4);
if (!r0) { step = 3; continue; }
s.tmp_7 = if_height_1_mk(s);
s.tmp_7.arg0 = s.arg1;
if (!s.tmp_7.arg0.vtable.iface) {
s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "height");
} else {
s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["height"];
if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["height"]; }
else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); }
else { s.callLocIdx = 1487; s.pc = 23; return s.tmp_7; }
}
case 23:
r0 = s.retval;
s.tmp_6 = r0;
r0 = (s.tmp_6 >> 1);
{ step = 4; continue; }
case 3:
r0 = 8;
case 4:
// jmp value (already in r0)
s.tmp_8 = r0;
s.tmp_9 = particles_AreaFactory_constructor__P2883_mk(s);
s.tmp_9.arg0 = s.arg0;
s.tmp_9.arg1 = s.tmp_3;
s.tmp_9.arg2 = s.tmp_8;
s.tmp_9.arg3 = 300;
s.tmp_9.arg4 = 700;
s.callLocIdx = 1488; s.pc = 24; return s.tmp_9;
case 24:
r0 = s.retval;
s.tmp_3 = if_image_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, "image");
} else {
s.tmp_3.fn = s.tmp_3.arg0.vtable.iface["image"];
if (s.tmp_3.fn == null) { s.retval = s.tmp_3.arg0.fields["image"]; }
else if (!s.tmp_3.fn.isGetter) { s.retval = bind(s.tmp_3); }
else { s.callLocIdx = 1489; s.pc = 25; return s.tmp_3; }
}
case 25:
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_pxtcore_mkClassInstance(particles_ColorCount__C4740_VT);
s.tmp_4 = r0;
s.tmp_5 = particles_ColorCount_constructor__P4741_mk(s);
s.tmp_5.arg0 = s.tmp_4;
s.tmp_5.arg1 = 1;
s.tmp_5.arg2 = 20;
s.callLocIdx = 1490; s.pc = 26; return s.tmp_5;
case 26:
r0 = s.retval;
r0 = pxsim_Array__mk();
s.tmp_6 = r0;
r0 = pxsim_Array__push(s.tmp_6, s.tmp_4);
r0 = (s.arg0).fields["colors"] = (s.tmp_6);
r0 = undefined;
{ step = 19; continue; }
case 5:
case 6:
r0 = pxsim_Array__mk();
s.counts___13451 = (r0);
s.i___13453 = (0);
case 7:
r0 = (s.i___13453 <= 15);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 8; continue; }
r0 = pxsim_Array_.setAt(s.counts___13451, s.i___13453, 0);
r0 = (s.i___13453 + 1);
s.i___13453 = (r0);
{ step = 7; continue; }
case 8:
s.tmp_1 = if_image_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, "image");
} else {
s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["image"];
if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["image"]; }
else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); }
else { s.callLocIdx = 1491; s.pc = 27; return s.tmp_1; }
}
case 27:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.clone(s.tmp_0);
s.result___13462 = (r0);
s.x___13467 = (0);
case 9:
s.tmp_1 = r0 = s.x___13467;
r0 = pxsim_ImageMethods.width(s.result___13462);
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.y___13473 = (0);
case 10:
s.tmp_1 = r0 = s.y___13473;
r0 = pxsim_ImageMethods.height(s.result___13462);
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 = pxsim_ImageMethods.getPixel(s.result___13462, s.x___13467, s.y___13473);
s.c___13479 = (r0);
s.tmp_0 = r0 = s.c___13479;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 11; continue; }
r0 = s.tmp_0;
{ step = 12; continue; }
case 11:
s.tmp_1 = Math_FastRandom_percentChance__P2747_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_1.arg0 = r0;
s.tmp_1.arg1 = s.arg3;
s.callLocIdx = 1492; s.pc = 28; return s.tmp_1;
case 28:
r0 = s.retval;
case 12:
// jmp value (already in r0)
s.tmp_2 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_2);
if (!r0) { step = 13; continue; }
s.tmp_3 = r0 = s.counts___13451;
s.tmp_4 = r0 = s.c___13479;
r0 = pxsim_Array__getAt(s.tmp_3, s.c___13479);
s.tmp_6 = r0;
r0 = (s.tmp_6 + 1);
s.tmp_5 = r0;
r0 = pxsim_Array_.setAt(s.tmp_3, s.tmp_4, s.tmp_5);
r0 = pxsim_ImageMethods.setPixel(s.result___13462, s.x___13467, s.y___13473, 0);
case 13:
case 14:
r0 = (s.y___13473 + 1);
s.y___13473 = (r0);
{ step = 10; continue; }
case 15:
r0 = (s.x___13467 + 1);
s.x___13467 = (r0);
{ step = 9; continue; }
case 16:
r0 = pxsim_numops_toBoolDecr(s.arg2);
if (!r0) { step = 17; continue; }
s.tmp_0 = Sprite_setImage__P2178_mk(s);
s.tmp_0.arg0 = s.arg1;
s.tmp_0.arg1 = s.result___13462;
s.callLocIdx = 1493; s.pc = 29; return s.tmp_0;
case 29:
r0 = s.retval;
case 17:
case 18:
s.tmp_0 = r0 = s.arg0;
s.tmp_2 = helpers_arrayFilter__P110_mk(s);
s.tmp_3 = helpers_arrayMap__P106_mk(s);
s.tmp_3.arg0 = s.counts___13451;
s.tmp_3.arg1 = filter_inline__P13513;
s.callLocIdx = 1495; s.pc = 31; return s.tmp_3;
case 31:
r0 = s.retval;
s.tmp_2.arg0 = r0;
s.tmp_2.arg1 = particles_AshFactory_inline__P13520;
s.callLocIdx = 1496; s.pc = 30; return s.tmp_2;
case 30:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["colors"] = (s.tmp_1);
r0 = undefined;
case 19:
return leave(s, r0)
default: oops()
} } }
particles_AshFactory_constructor__P2913.info = {"start":11775,"length":1466,"line":385,"column":8,"endLine":423,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","anchor","updateImage","percentKept"]}
function particles_AshFactory_constructor__P2913_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_AshFactory_constructor__P2913, depth: s.depth + 1,
pc: 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,
counts___13451: undefined,
i___13453: undefined,
result___13462: undefined,
x___13467: undefined,
y___13473: undefined,
c___13479: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function filter_inline__P13513(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_pxtcore_mkClassInstance(particles_ColorCount__C4740_VT);
s.tmp_0 = r0;
s.tmp_1 = particles_ColorCount_constructor__P4741_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = s.arg1;
s.tmp_1.arg2 = s.arg0;
s.callLocIdx = 1494; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
r0 = s.tmp_0;
return leave(s, r0)
default: oops()
} } }
filter_inline__P13513.info = {"start":13124,"length":62,"line":421,"column":21,"endLine":421,"endColumn":83,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["value","index"]}
function filter_inline__P13513_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: filter_inline__P13513, 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 particles_AshFactory_inline__P13520(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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["count"];
s.tmp_0 = r0;
r0 = (s.tmp_0 != 0);
return leave(s, r0)
default: oops()
} } }
particles_AshFactory_inline__P13520.info = {"start":13212,"length":17,"line":422,"column":24,"endLine":422,"endColumn":41,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["v"]}
function particles_AshFactory_inline__P13520_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_AshFactory_inline__P13520, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function particles_ColorCount_constructor__P4741(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_ColorCount__C4740_VT)) failedCast(r0);
r0 = (s.arg0).fields["color"] = (s.arg1);
r0 = (s.arg0).fields["count"] = (s.arg2);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_ColorCount_constructor__P4741.info = {"start":11603,"length":59,"line":379,"column":8,"endLine":379,"endColumn":67,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"inline","argumentNames":["this","color","count"]}
function particles_ColorCount_constructor__P4741_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_ColorCount_constructor__P4741, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function Math_FastRandom_percentChance__P2747(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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);
s.tmp_1 = Math_FastRandom_randomRange__P2744_mk(s);
s.tmp_1.arg0 = s.arg0;
s.tmp_1.arg1 = 0;
s.tmp_1.arg2 = 100;
s.callLocIdx = 1179; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
s.tmp_0 = r0;
r0 = (s.tmp_0 < s.arg1);
return leave(s, r0)
default: oops()
} } }
Math_FastRandom_percentChance__P2747.info = {"start":2925,"length":106,"line":88,"column":8,"endLine":90,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"percentChance","argumentNames":["this","percent"]}
function Math_FastRandom_percentChance__P2747_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Math_FastRandom_percentChance__P2747, 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 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___13528 = undefined;
s.len___13530 = undefined;
s.i___13533 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__mk();
s.res___13528 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___13530 = (r0);
s.i___13533 = (0);
case 1:
r0 = (s.i___13533 < s.len___13530);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 2; continue; }
s.tmp_1 = r0 = s.res___13528;
s.tmp_3 = lambda_3_mk(s);
s.tmp_3.argL = s.arg1;
r0 = pxsim_Array__getAt(s.arg0, s.i___13533);
s.tmp_3.arg0 = r0;
s.tmp_3.arg1 = s.i___13533;
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___13533 + 1);
s.i___13533 = (r0);
{ step = 1; continue; }
case 2:
r0 = s.res___13528;
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___13528: undefined,
len___13530: undefined,
i___13533: undefined,
arg0: undefined,
arg1: 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 = 540; 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 = 541; 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 = 1539; 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 = 1540; 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 = 1541; 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__P13655(s) {
let r0 = s.r0, step = 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___13658 = undefined;
s.x___13669 = undefined;
s.y___13675 = undefined;
s.w___13681 = undefined;
s.h___13685 = 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___13658 = (r0);
case 1:
r0 = (s.i___13658 > 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 = 51; s.pc = 3; return s.tmp_1;
case 3:
r0 = s.retval;
s.x___13669 = (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 = 52; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.y___13675 = (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 = 53; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.w___13681 = (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 = 54; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.h___13685 = (r0);
s.tmp_0 = helpers_imageDrawRect__P1758_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.x___13669;
s.tmp_0.arg2 = s.y___13675;
s.tmp_0.arg3 = s.w___13681;
s.tmp_0.arg4 = s.h___13685;
s.tmp_0.arg5 = 0;
s.callLocIdx = 55; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
r0 = (s.i___13658 - 1);
s.i___13658 = (r0);
{ step = 1; continue; }
case 2:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
dissolve_inline__P13655.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__P13655_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: dissolve_inline__P13655, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
i___13658: undefined,
x___13669: undefined,
y___13675: undefined,
w___13681: undefined,
h___13685: 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 = 119; 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 = 120; 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 = 121; 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 = 122; 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 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__P4091_mk(s);
s.tmp_2.arg0 = s.arg1;
s.tmp_2.arg1 = s.arg2;
s.callLocIdx = 117; s.pc = 1; return s.tmp_2;
case 1:
r0 = s.retval;
s.tmp_1 = r0;
s.tmp_4 = helpers_pack__P4091_mk(s);
s.tmp_4.arg0 = s.arg3;
s.tmp_4.arg1 = s.arg4;
s.callLocIdx = 118; 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 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___13781 = 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___13781 = (r0);
s.tmp_0 = effects_ImageEffect_change__P2973_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.clonedImage___13781;
s.callLocIdx = 1571; 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___13781;
s.callLocIdx = 1572; 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___13781: 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 = 1573; 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 = 1573; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1573; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 1573; 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___13805 = 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 = 1537; 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 = 1537; s.pc = 10; return s.tmp_4; }
else if (s.tmp_4.fn.isGetter) { s.tmp_4.stage2Call = true; s.callLocIdx = 1537; s.pc = 10; return s.tmp_4;; }
else { s.callLocIdx = 1537; s.pc = 10; return s.tmp_4; }
}
case 10:
r0 = s.retval;
s.src___13805 = (r0);
s.tmp_0 = particles_ParticleSource_setRelativeToCamera__P2843_mk(s);
s.tmp_0.arg0 = s.src___13805;
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 = 1538; 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___13805).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___13805: 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__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___13581 = 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 = 542; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.scene___13581 = (r0);
r0 = s.scene___13581.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___13581.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___13581.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 = 546; 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___13581.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 = 547; 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 = 547; s.pc = 10; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 547; s.pc = 10; return s.tmp_1;; }
else { s.callLocIdx = 547; s.pc = 10; return s.tmp_1; }
}
case 10:
r0 = s.retval;
case 5:
case 6:
r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P13610);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_pxtcore_mkAction(1, Sprite__destroyCore_inline__P13616);
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___13581.fields["destroyedHandlers"];
s.tmp_3.arg0 = r0;
s.tmp_3.arg1 = s.tmp_0;
s.callLocIdx = 549; 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 = 551; 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___13581: undefined,
arg0: undefined,
} }
function forEach_inline__P13610(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P13610.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__P13610_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: forEach_inline__P13610, 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__P13616(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 550; 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 = 550; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 550; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 550; s.pc = 1; return s.tmp_0; }
}
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
Sprite__destroyCore_inline__P13616.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__P13616_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Sprite__destroyCore_inline__P13616, 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 sprites_onOverlap__P2237(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.sc___13857 = undefined;
s.overlapHandlers___13860 = undefined;
s.overlapMap___13863 = undefined;
s.associate___13866 = 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 = (s.arg1 == undefined);
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 = pxsim_numops_toBoolDecr(s.arg2);
s.tmp_2 = r0;
r0 = pxsim_Boolean__bang(s.tmp_2);
case 4:
// jmp value (already in r0)
s.tmp_3 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_3);
if (!r0) { step = 5; continue; }
{ step = 7; continue; }
case 5:
case 6:
s.tmp_4 = game_currentScene__P2685_mk(s);
s.callLocIdx = 596; s.pc = 8; return s.tmp_4;
case 8:
r0 = s.retval;
s.sc___13857 = (r0);
r0 = s.sc___13857.fields["overlapHandlers"];
s.overlapHandlers___13860 = (r0);
r0 = s.sc___13857.fields["overlapMap"];
s.overlapMap___13863 = (r0);
r0 = pxsim_pxtcore_mkAction(1, associate__P13866);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.overlapMap___13863);
s.associate___13866 = (s.tmp_0);
s.tmp_1 = lambda_3_mk(s);
s.tmp_1.argL = s.associate___13866;
s.tmp_1.arg0 = s.arg0;
s.tmp_1.arg1 = s.arg1;
setupLambda(s.tmp_1, s.tmp_1.argL);
s.callLocIdx = 597; s.pc = 9; return s.tmp_1;
case 9:
r0 = s.retval;
s.tmp_0 = lambda_3_mk(s);
s.tmp_0.argL = s.associate___13866;
s.tmp_0.arg0 = s.arg1;
s.tmp_0.arg1 = s.arg0;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 598; s.pc = 10; return s.tmp_0;
case 10:
r0 = s.retval;
r0 = pxsim_pxtcore_mkClassInstance(scene_OverlapHandler__C2544_VT);
s.tmp_0 = r0;
s.tmp_1 = scene_OverlapHandler_constructor__P2545_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 = 599; s.pc = 11; return s.tmp_1;
case 11:
r0 = s.retval;
r0 = pxsim_Array__push(s.overlapHandlers___13860, s.tmp_0);
case 7:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
sprites_onOverlap__P2237.info = {"start":1603,"length":755,"line":50,"column":4,"endLine":74,"endColumn":5,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"onOverlap","argumentNames":["kind","otherKind","handler"]}
function sprites_onOverlap__P2237_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: sprites_onOverlap__P2237, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
sc___13857: undefined,
overlapHandlers___13860: undefined,
overlapMap___13863: undefined,
associate___13866: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function associate__P13866(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_pxtrt.mapGetGeneric(s.caps[0], s.arg0);
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.caps[0];
s.tmp_4 = r0 = s.arg0;
r0 = pxsim_Array__mk();
s.tmp_5 = r0;
r0 = pxsim_pxtrt.mapSetGeneric(s.tmp_3, s.tmp_4, s.tmp_5);
case 1:
case 2:
r0 = pxsim_pxtrt.mapGetGeneric(s.caps[0], s.arg0);
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.arg1);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
associate__P13866.info = {"start":1940,"length":172,"line":56,"column":8,"endLine":62,"endColumn":9,"fileName":"pxt_modules/game/spriteevents.ts","functionName":"associate","argumentNames":["a","b"]}
function associate__P13866_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: associate__P13866, depth: s.depth + 1,
pc: 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 scene_OverlapHandler_constructor__P2545(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_OverlapHandler__C2544_VT)) failedCast(r0);
r0 = (s.arg0).fields["kind"] = (s.arg1);
r0 = (s.arg0).fields["otherKind"] = (s.arg2);
r0 = (s.arg0).fields["handler"] = (s.arg3);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_OverlapHandler_constructor__P2545.info = {"start":655,"length":171,"line":22,"column":8,"endLine":26,"endColumn":13,"fileName":"pxt_modules/game/scene.ts","functionName":"inline","argumentNames":["this","kind","otherKind","handler"]}
function scene_OverlapHandler_constructor__P2545_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_OverlapHandler_constructor__P2545, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: 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__P4053_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.arg1;
s.tmp_0.arg2 = false;
s.callLocIdx = 81; 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__P4053(s) {
let r0 = s.r0, step = 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___13909 = 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 = 76; 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 = 77; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
r0 = (s.arg0).fields["_player"] = (s.tmp_0);
s.p___13909 = (s.tmp_0);
s.tmp_0 = music_Melody_registerMelody__P4051_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 78; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(4, music_Melody_playCore_inline__P13919);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.p___13909);
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__P4053.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__P4053_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_Melody_playCore__P4053, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
p___13909: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function music_Melody_playCore_inline__P13919(s) {
let r0 = s.r0, 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 = 79; 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__P4052_mk(s);
s.tmp_4.arg0 = s.caps[0];
s.callLocIdx = 80; 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__P13919.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__P13919_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_Melody_playCore_inline__P13919, depth: s.depth + 1,
pc: 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 music_Melody_unregisterMelody__P4052(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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___4054);
if (!r0) { step = 1; continue; }
r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___4054, s.arg0);
case 1:
case 2:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
music_Melody_unregisterMelody__P4052.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__P4052_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_Melody_unregisterMelody__P4052, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function music_Melody_registerMelody__P4051(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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___4054);
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___4054 = (r0);
case 1:
case 2:
r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___4054);
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___4054;
r0 = pxsim_Array__length(globals.music_Melody_playingMelodies___4054);
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 = 75; s.pc = 5; return s.tmp_2;
case 5:
r0 = s.retval;
case 3:
case 4:
r0 = pxsim_Array_.removeElement(globals.music_Melody_playingMelodies___4054, s.arg0);
r0 = pxsim_Array__push(globals.music_Melody_playingMelodies___4054, s.arg0);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
music_Melody_registerMelody__P4051.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__P4051_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_Melody_registerMelody__P4051, depth: s.depth + 1,
pc: 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___13952 = undefined;
s.pos___13956 = undefined;
s.duration___13957 = undefined;
s.octave___13958 = undefined;
s.tempo___13959 = undefined;
s.hz___13960 = undefined;
s.endHz___13961 = undefined;
s.ms___13964 = undefined;
s.timePos___13965 = undefined;
s.startTime___13966 = undefined;
s.now___13969 = undefined;
s.envA___13970 = undefined;
s.envD___13971 = undefined;
s.envS___13972 = undefined;
s.envR___13973 = undefined;
s.soundWave___13974 = undefined;
s.sndInstr___13975 = undefined;
s.sndInstrPtr___13981 = undefined;
s.addForm___13982 = undefined;
s.scanNextWord___14042 = undefined;
s.token___14099 = undefined;
s.tokenKind___14100 = undefined;
s.consumeToken___14103 = undefined;
s.currNote___14179 = undefined;
s.prevNote___14181 = undefined;
s.timeLeft___14184 = undefined;
s.note___14198 = undefined;
s.i___14202 = undefined;
s.noteChar___14208 = undefined;
s.keyNumber___14282 = undefined;
s.currMs___14299 = undefined;
s.beat___14303 = undefined;
s.timeLeft___14360 = 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 = 82; 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 = 83; 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___13952 = (r0);
r0 = pxsim_pxtrt.mklocRef();
s.pos___13956 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.pos___13956, 0);
r0 = pxsim_pxtrt.mklocRef();
s.duration___13957 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.duration___13957, 4);
r0 = pxsim_pxtrt.mklocRef();
s.octave___13958 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.octave___13958, 4);
r0 = pxsim_pxtrt.mklocRef();
s.tempo___13959 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.tempo___13959, 120);
r0 = pxsim_pxtrt.mklocRef();
s.hz___13960 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.hz___13960, 0);
r0 = pxsim_pxtrt.mklocRef();
s.endHz___13961 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.endHz___13961, -1);
r0 = pxsim_pxtrt.mklocRef();
s.ms___13964 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.ms___13964, 0);
s.timePos___13965 = (0);
r0 = pxsim.control.millis();
s.startTime___13966 = (r0);
s.now___13969 = (0);
r0 = pxsim_pxtrt.mklocRef();
s.envA___13970 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.envA___13970, 0);
r0 = pxsim_pxtrt.mklocRef();
s.envD___13971 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.envD___13971, 0);
r0 = pxsim_pxtrt.mklocRef();
s.envS___13972 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.envS___13972, 255);
r0 = pxsim_pxtrt.mklocRef();
s.envR___13973 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.envR___13973, 0);
r0 = pxsim_pxtrt.mklocRef();
s.soundWave___13974 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.soundWave___13974, 1);
r0 = pxsim.control.createBuffer(60);
s.sndInstr___13975 = (r0);
r0 = pxsim_pxtrt.mklocRef();
s.sndInstrPtr___13981 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___13981, 0);
r0 = pxsim_pxtcore_mkAction(10, addForm_inline__P13983);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.hz___13960);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.endHz___13961);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.ms___13964);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___13957);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.tempo___13959);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.envR___13973);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.sndInstrPtr___13981);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.sndInstr___13975);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.soundWave___13974);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.arg1);
s.addForm___13982 = (s.tmp_0);
r0 = pxsim_pxtcore_mkAction(3, scanNextWord_inline__P14043);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.pos___13956);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.notes___13952);
s.scanNextWord___14042 = (s.tmp_0);
r0 = pxsim_pxtrt.mklocRef();
s.token___14099 = (r0);
s.tmp_0 = r0 = s.token___14099;
r0 = pxsim_String_.mkEmpty();
s.tmp_1 = r0;
r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);
r0 = pxsim_pxtrt.mklocRef();
s.tokenKind___14100 = (r0);
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 0);
r0 = pxsim_pxtcore_mkAction(13, consumeToken_inline__P14104);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.token___14099);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tokenKind___14100);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.octave___13958);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 3, s.duration___13957);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 4, s.ms___13964);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 5, s.tempo___13959);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 6, s.hz___13960);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 7, s.soundWave___13974);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 8, s.envA___13970);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 9, s.envD___13971);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 10, s.envS___13972);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 11, s.envR___13973);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 12, s.endHz___13961);
s.consumeToken___14103 = (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___14042;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 91; s.pc = 62; return s.tmp_0;
case 62:
r0 = s.retval;
s.currNote___14179 = (r0);
s.prevNote___14181 = (false);
r0 = pxsim_numops_toBoolDecr(s.currNote___14179);
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___13965 - s.now___13969);
s.timeLeft___14184 = (r0);
r0 = (s.timeLeft___14184 > 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___14184;
s.callLocIdx = 92; 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 = 93; 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 = 93; s.pc = 64; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 93; s.pc = 64; return s.tmp_1;; }
else { s.callLocIdx = 93; 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___13960, -1);
s.note___14198 = (0);
s.tmp_0 = r0 = s.token___14099;
r0 = pxsim_String_.mkEmpty();
s.tmp_1 = r0;
r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 0);
s.i___14202 = (0);
case 10:
s.tmp_1 = r0 = s.i___14202;
r0 = pxsim_String_.length(s.currNote___14179);
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___14179, s.i___14202);
s.noteChar___14208 = (r0);
s.tmp_0 = r0 = s.noteChar___14208;
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___14198 = (1);
s.prevNote___14181 = (true);
{ step = 40; continue; }
case 13:
case 14:
s.note___14198 = (3);
s.prevNote___14181 = (true);
{ step = 40; continue; }
case 15:
case 16:
s.note___14198 = (5);
s.prevNote___14181 = (true);
{ step = 40; continue; }
case 17:
case 18:
s.note___14198 = (6);
s.prevNote___14181 = (true);
{ step = 40; continue; }
case 19:
case 20:
s.note___14198 = (8);
s.prevNote___14181 = (true);
{ step = 40; continue; }
case 21:
case 22:
s.note___14198 = (10);
s.prevNote___14181 = (true);
{ step = 40; continue; }
case 23:
s.note___14198 = (12);
s.prevNote___14181 = (true);
{ step = 40; continue; }
case 24:
case 25:
r0 = pxsim_pxtrt_stlocRef(s.hz___13960, 0);
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 26:
r0 = (s.note___14198 + 1);
s.note___14198 = (r0);
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 27:
r0 = pxsim_numops_toBoolDecr(s.prevNote___14181);
if (!r0) { step = 28; continue; }
r0 = (s.note___14198 - 1);
s.note___14198 = (r0);
{ step = 29; continue; }
case 28:
s.note___14198 = (12);
s.prevNote___14181 = (true);
case 29:
{ step = 40; continue; }
case 30:
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = s.consumeToken___14103;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 94; s.pc = 65; return s.tmp_0;
case 65:
r0 = s.retval;
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 31:
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 4);
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 32:
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = s.consumeToken___14103;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 95; s.pc = 66; return s.tmp_0;
case 66:
r0 = s.retval;
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 8);
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 33:
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = s.consumeToken___14103;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 96; s.pc = 67; return s.tmp_0;
case 67:
r0 = s.retval;
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 7);
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 34:
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = s.consumeToken___14103;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 97; s.pc = 68; return s.tmp_0;
case 68:
r0 = s.retval;
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 2);
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 35:
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = s.consumeToken___14103;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 98; s.pc = 69; return s.tmp_0;
case 69:
r0 = s.retval;
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 3);
s.prevNote___14181 = (false);
{ step = 40; continue; }
case 36:
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = s.consumeToken___14103;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 99; s.pc = 70; return s.tmp_0;
case 70:
r0 = s.retval;
r0 = pxsim_pxtrt_stlocRef(s.tokenKind___14100, 5);
{ step = 40; continue; }
case 37:
r0 = pxsim_pxtrt_ldlocRef(s.tokenKind___14100);
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___14100, 1);
case 38:
case 39:
s.tmp_0 = r0 = s.token___14099;
r0 = pxsim_pxtrt_ldlocRef(s.token___14099);
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___14208) && (s.noteChar___14208).vtable) {
setupResume(s, 72);
pxsim_String__stringConv(s.noteChar___14208);
checkResumeConsumed();
return;
} else { s.retval = (s.noteChar___14208) + ""; }
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___14181 = (false);
case 40:
r0 = (s.i___14202 + 1);
s.i___14202 = (r0);
{ step = 10; continue; }
case 41:
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = s.consumeToken___14103;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 100; s.pc = 73; return s.tmp_0;
case 73:
r0 = s.retval;
s.tmp_0 = r0 = s.note___14198;
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___13960);
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___14198;
r0 = pxsim_pxtrt_ldlocRef(s.octave___13958);
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___14282 = (r0);
s.tmp_1 = r0 = globals.freqs___4039;
r0 = (s.keyNumber___14282 * 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___13960, s.tmp_3);
case 46:
case 47:
r0 = pxsim_pxtrt_ldlocRef(s.ms___13964);
s.currMs___14299 = (r0);
r0 = (s.currMs___14299 <= 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 48; continue; }
r0 = pxsim_pxtrt_ldlocRef(s.tempo___13959);
s.tmp_1 = r0;
r0 = pxsim.Math_.idiv(15000, s.tmp_1);
s.beat___14303 = (r0);
r0 = pxsim_pxtrt_ldlocRef(s.duration___13957);
s.tmp_0 = r0;
r0 = (s.tmp_0 * s.beat___14303);
s.currMs___14299 = (r0);
case 48:
case 49:
r0 = pxsim_pxtrt_ldlocRef(s.hz___13960);
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___13960);
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___13965 + s.currMs___14299);
s.timePos___13965 = (r0);
{ step = 54; continue; }
case 51:
r0 = pxsim_pxtrt_ldlocRef(s.endHz___13961);
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___13961;
r0 = pxsim_pxtrt_ldlocRef(s.hz___13960);
s.tmp_3 = r0;
r0 = pxsim_pxtrt_stlocRef(s.tmp_2, s.tmp_3);
case 52:
case 53:
r0 = pxsim_pxtrt_stlocRef(s.sndInstrPtr___13981, 0);
s.tmp_0 = lambda_5_mk(s);
s.tmp_0.argL = s.addForm___13982;
r0 = pxsim_pxtrt_ldlocRef(s.envA___13970);
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 = 101; 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___13982;
r0 = pxsim_pxtrt_ldlocRef(s.envD___13971);
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = 255;
r0 = pxsim_pxtrt_ldlocRef(s.envS___13972);
s.tmp_0.arg2 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.envA___13970);
s.tmp_0.arg3 = r0;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 102; 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___13982;
s.tmp_1 = r0 = s.currMs___14299;
r0 = pxsim_pxtrt_ldlocRef(s.envA___13970);
s.tmp_3 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.envD___13971);
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___13972);
s.tmp_0.arg1 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.envS___13972);
s.tmp_0.arg2 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.envD___13971);
s.tmp_5 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.envA___13970);
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 = 103; 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___13982;
r0 = pxsim_pxtrt_ldlocRef(s.envR___13973);
s.tmp_0.arg0 = r0;
r0 = pxsim_pxtrt_ldlocRef(s.envS___13972);
s.tmp_0.arg1 = r0;
s.tmp_0.arg2 = 0;
s.tmp_0.arg3 = s.currMs___14299;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 104; s.pc = 77; return s.tmp_0;
case 77:
r0 = s.retval;
s.tmp_0 = music_MelodyPlayer_queuePlayInstructions__P4056_mk(s);
s.tmp_0.arg0 = s.arg0;
r0 = (s.timePos___13965 - s.now___13969);
s.tmp_0.arg1 = r0;
s.tmp_1 = r0 = s.sndInstr___13975;
r0 = pxsim_pxtrt_ldlocRef(s.sndInstrPtr___13981);
s.tmp_2 = r0;
r0 = pxsim.BufferMethods.slice(s.tmp_1, 0, s.tmp_2);
s.tmp_0.arg2 = r0;
s.callLocIdx = 105; s.pc = 78; return s.tmp_0;
case 78:
r0 = s.retval;
r0 = pxsim_pxtrt_stlocRef(s.endHz___13961, -1);
r0 = (s.timePos___13965 + s.currMs___14299);
s.timePos___13965 = (r0);
case 54:
case 55:
r0 = (s.timePos___13965 - s.now___13969);
s.timeLeft___14360 = (r0);
r0 = (s.timeLeft___14360 > 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___14360 - 100);
s.tmp_1.arg0 = r0;
s.callLocIdx = 106; 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___13966);
s.now___13969 = (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___13952: undefined,
pos___13956: undefined,
duration___13957: undefined,
octave___13958: undefined,
tempo___13959: undefined,
hz___13960: undefined,
endHz___13961: undefined,
ms___13964: undefined,
timePos___13965: undefined,
startTime___13966: undefined,
now___13969: undefined,
envA___13970: undefined,
envD___13971: undefined,
envS___13972: undefined,
envR___13973: undefined,
soundWave___13974: undefined,
sndInstr___13975: undefined,
sndInstrPtr___13981: undefined,
addForm___13982: undefined,
scanNextWord___14042: undefined,
token___14099: undefined,
tokenKind___14100: undefined,
consumeToken___14103: undefined,
currNote___14179: undefined,
prevNote___14181: undefined,
timeLeft___14184: undefined,
note___14198: undefined,
i___14202: undefined,
noteChar___14208: undefined,
keyNumber___14282: undefined,
currMs___14299: undefined,
beat___14303: undefined,
timeLeft___14360: undefined,
arg0: undefined,
arg1: undefined,
} }
function addForm_inline__P13983(s) {
let r0 = s.r0, step = 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___13988 = undefined;
s.freqEnd___13990 = undefined;
s.envelopeWidth___13992 = undefined;
s.slope___14010 = 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___13988 = (r0);
r0 = pxsim_pxtrt_ldlocRef(s.caps[1]);
s.freqEnd___13990 = (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___13992 = (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___13992 != 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___13990 - s.freqStart___13988);
s.tmp_4 = r0;
r0 = (s.tmp_4 / s.envelopeWidth___13992);
s.slope___14010 = (r0);
r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);
s.tmp_0 = r0;
r0 = (s.slope___14010 * s.arg3);
s.tmp_1 = r0;
r0 = (s.tmp_0 + s.tmp_1);
s.freqStart___13988 = (r0);
r0 = pxsim_pxtrt_ldlocRef(s.caps[0]);
s.tmp_0 = r0;
s.tmp_2 = r0 = s.slope___14010;
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___13990 = (r0);
case 5:
case 6:
s.tmp_0 = r0 = s.caps[6];
s.tmp_2 = music_addNote__P4055_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___13988;
r0 = pxsim_pxtrt_ldlocRef(s.caps[9]);
s.tmp_2.arg7 = r0;
s.tmp_2.arg8 = s.freqEnd___13990;
s.callLocIdx = 84; 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__P13983.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__P13983_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: addForm_inline__P13983, depth: s.depth + 1,
pc: 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___13988: undefined,
freqEnd___13990: undefined,
envelopeWidth___13992: undefined,
slope___14010: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function scanNextWord_inline__P14043(s) {
let r0 = s.r0, step = 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___14052 = undefined;
s.note___14069 = undefined;
s.c___14075 = 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___14052 = (r0);
r0 = (s.c___14052 != " ");
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___14052 != "\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___14052 != "\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___14052 != "\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___14069 = (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___14075 = (r0);
r0 = (s.c___14075 == " ");
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___14075 == "\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___14075 == "\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___14075 == "\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___14069) && (s.note___14069).vtable) {
setupResume(s, 24);
pxsim_String__stringConv(s.note___14069);
checkResumeConsumed();
return;
} else { s.retval = (s.note___14069) + ""; }
case 24:
r0 = s.retval;
s.tmp_4 = r0;
if ((s.c___14075) && (s.c___14075).vtable) {
setupResume(s, 25);
pxsim_String__stringConv(s.c___14075);
checkResumeConsumed();
return;
} else { s.retval = (s.c___14075) + ""; }
case 25:
r0 = s.retval;
s.tmp_5 = r0;
r0 = pxsim_String__concat(s.tmp_4, s.tmp_5);
s.note___14069 = (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___14069;
case 23:
return leave(s, r0)
default: oops()
} } }
scanNextWord_inline__P14043.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__P14043_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scanNextWord_inline__P14043, depth: s.depth + 1,
pc: 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___14052: undefined,
note___14069: undefined,
c___14075: undefined,
} }
function consumeToken_inline__P14104(s) {
let r0 = s.r0, step = 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___14110 = 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 = 85; s.pc = 17; return s.tmp_3;
case 17:
r0 = s.retval;
s.d___14110 = (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___14110);
{ 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___14110;
s.callLocIdx = 86; s.pc = 19; return s.tmp_3;
case 19:
r0 = s.retval;
s.tmp_2.arg1 = r0;
s.callLocIdx = 87; 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___14110;
s.callLocIdx = 88; 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___14110);
r0 = pxsim_pxtrt_stlocRef(s.caps[1], 6);
{ step = 14; continue; }
case 7:
r0 = pxsim_pxtrt_stlocRef(s.caps[4], s.d___14110);
{ 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___14110;
s.callLocIdx = 89; 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___14110);
r0 = pxsim_pxtrt_stlocRef(s.caps[1], 9);
{ step = 14; continue; }
case 10:
r0 = pxsim_pxtrt_stlocRef(s.caps[9], s.d___14110);
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___14110;
s.callLocIdx = 90; 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___14110);
{ step = 14; continue; }
case 13:
r0 = pxsim_pxtrt_stlocRef(s.caps[12], s.d___14110);
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__P14104.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__P14104_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: consumeToken_inline__P14104, depth: s.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___14110: undefined,
} }
function music_MelodyPlayer_queuePlayInstructions__P4056(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4056.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__P4056_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_MelodyPlayer_queuePlayInstructions__P4056, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function music_addNote__P4055(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4055.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__P4055_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_addNote__P4055, depth: s.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__P4047_mk(s);
s.callLocIdx = 64; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = globals.globalVolume___4043;
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__P4047(s) {
let r0 = s.r0, 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___4043 === null);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
globals.globalVolume___4043 = (0);
s.tmp_0 = music_setVolume__P1606_mk(s);
r0 = pxsim_pxtcore.getConfig(59, 128);
s.tmp_0.arg0 = r0;
s.callLocIdx = 61; 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__P4047.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__P4047_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_initVolume__P4047, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: 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 = 62; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
globals.globalVolume___4043 = (r0);
r0 = (globals.globalVolume___4043 > 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__P4046(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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__P4046.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__P4046_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_enableAmp__P4046, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: 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___14397 = undefined;
s.sign___14427 = undefined;
s.output___14472 = undefined;
s.hasDigit___14473 = undefined;
s.i___14474 = undefined;
s.code___14481 = undefined;
s.val___14488 = 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___14397 = (0);
case 9:
s.tmp_1 = r0 = s.start___14397;
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___14397);
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___14397 + 1);
s.start___14397 = (r0);
{ step = 9; continue; }
case 12:
s.tmp_1 = r0 = s.start___14397;
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___14427 = (1);
r0 = pxsim_String_.charAt(s.arg0, s.start___14397);
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___14427 = (-1);
case 16:
r0 = (s.start___14397 + 1);
s.start___14397 = (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___14397);
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___14397 + 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___14397 + 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___14397 + 2);
s.start___14397 = (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___14472 = (0);
s.hasDigit___14473 = (false);
s.i___14474 = (s.start___14397);
case 30:
s.tmp_1 = r0 = s.i___14474;
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___14474);
s.tmp_3 = r0;
r0 = (s.tmp_3 | 32);
s.code___14481 = (r0);
s.val___14488 = (undefined);
r0 = (s.code___14481 >= 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___14481 < 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___14481 - 48);
s.val___14488 = (r0);
{ step = 38; continue; }
case 33:
r0 = (s.code___14481 >= 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___14481 < 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___14481);
s.tmp_2 = r0;
r0 = (s.tmp_2 - 97);
s.val___14488 = (r0);
case 36:
case 37:
case 38:
r0 = (s.val___14488 == 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___14488 >= 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___14473);
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___14473 = (true);
r0 = (s.output___14472 * s.arg1);
s.tmp_0 = r0;
r0 = (s.tmp_0 + s.val___14488);
s.output___14472 = (r0);
r0 = (s.i___14474 + 1);
s.i___14474 = (r0);
{ step = 30; continue; }
case 45:
r0 = (s.sign___14427 * s.output___14472);
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___14397: undefined,
sign___14427: undefined,
output___14472: undefined,
hasDigit___14473: undefined,
i___14474: undefined,
code___14481: undefined,
val___14488: 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 = 73; 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__P4052_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 74; 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 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 = 320; 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 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___14699 = 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__P4178_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.arg1;
s.callLocIdx = 235; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.eventHandler___14699 = (r0);
r0 = (s.eventHandler___14699).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___14699: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function controller_Button_getOrCreateHandlerForEvent__P4178(s) {
let r0 = s.r0, step = 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___14720 = undefined;
s.eventHandler___14729 = undefined;
s.unnamed68___U2 = undefined;
s.unnamed69___U3 = undefined;
s.newHandler___14745 = 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__P4173_mk(s);
s.tmp_3.arg0 = s.arg0;
s.callLocIdx = 245; 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 = 247; s.pc = 11; return s.tmp_5;
case 11:
r0 = s.retval;
s.tmp_7 = game_currentScene__P2685_mk(s);
s.callLocIdx = 246; 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__P4173_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 248; s.pc = 13; return s.tmp_0;
case 13:
r0 = s.retval;
s.handlerState___14720 = (r0);
r0 = s.handlerState___14720.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___14720;
r0 = pxsim_Array__mk();
s.tmp_4 = r0;
r0 = (s.tmp_3).fields["user"] = (s.tmp_4);
case 3:
case 4:
s.eventHandler___14729 = (undefined);
r0 = s.handlerState___14720.fields["user"];
s.unnamed68___U2 = (r0);
s.unnamed69___U3 = (0);
case 5:
s.tmp_0 = r0 = s.unnamed69___U3;
r0 = pxsim_Array__length(s.unnamed68___U2);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 8; continue; }
r0 = pxsim_Array__getAt(s.unnamed68___U2, s.unnamed69___U3);
s.eventHandler___14729 = (r0);
r0 = s.eventHandler___14729.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___14729;
{ step = 9; continue; }
case 6:
case 7:
r0 = (s.unnamed69___U3 + 1);
s.unnamed69___U3 = (r0);
{ step = 5; continue; }
case 8:
s.unnamed68___U2 = (undefined);
r0 = pxsim_pxtcore_mkAction(2, controller_Button_getOrCreateHandlerForEvent_inline__P14742);
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 = 250; 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 = 251; s.pc = 15; return s.tmp_1;
case 15:
r0 = s.retval;
s.newHandler___14745 = (s.tmp_0);
r0 = s.handlerState___14720.fields["user"];
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.newHandler___14745);
r0 = s.newHandler___14745;
case 9:
return leave(s, r0)
default: oops()
} } }
controller_Button_getOrCreateHandlerForEvent__P4178.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__P4178_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_getOrCreateHandlerForEvent__P4178, depth: s.depth + 1,
pc: 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___14720: undefined,
eventHandler___14729: undefined,
unnamed68___U2: undefined,
unnamed69___U3: undefined,
newHandler___14745: undefined,
arg0: undefined,
arg1: undefined,
} }
function controller_Button_getOrCreateHandlerForEvent_inline__P14742(s) {
let r0 = s.r0, step = 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__P4177_mk(s);
s.tmp_0.arg0 = s.caps[0];
s.tmp_0.arg1 = s.caps[1];
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_getOrCreateHandlerForEvent_inline__P14742.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__P14742_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_getOrCreateHandlerForEvent_inline__P14742, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function controller_Button_runButtonEvents__P4177(s) {
let r0 = s.r0, step = 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___14759 = undefined;
s.userHandler___14763 = undefined;
s.eventHandler___14774 = undefined;
s.unnamed66___U3 = undefined;
s.unnamed67___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__P4173_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 241; s.pc = 14; return s.tmp_0;
case 14:
r0 = s.retval;
s.handlerState___14759 = (r0);
r0 = pxsim_numops_toBoolDecr(s.handlerState___14759);
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__P4178_mk(s);
s.tmp_2.arg0 = s.arg0;
s.tmp_2.arg1 = s.arg1;
s.callLocIdx = 242; s.pc = 15; return s.tmp_2;
case 15:
r0 = s.retval;
s.userHandler___14763 = (r0);
r0 = s.userHandler___14763.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___14763;
if (!s.tmp_1.arg0.vtable.iface) {
setupLambda(s.tmp_1, pxsim_pxtrt.mapGetByString(s.tmp_1.arg0, "callback"), 1);
s.callLocIdx = 243; 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 = 243; s.pc = 16; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 243; s.pc = 16; return s.tmp_1;; }
else { s.callLocIdx = 243; s.pc = 16; return s.tmp_1; }
}
case 16:
r0 = s.retval;
case 3:
case 4:
r0 = s.handlerState___14759.fields["system"];
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 11; continue; }
s.eventHandler___14774 = (undefined);
r0 = s.handlerState___14759.fields["system"];
s.unnamed66___U3 = (r0);
s.unnamed67___U4 = (0);
case 5:
s.tmp_0 = r0 = s.unnamed67___U4;
r0 = pxsim_Array__length(s.unnamed66___U3);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 10; continue; }
r0 = pxsim_Array__getAt(s.unnamed66___U3, s.unnamed67___U4);
s.eventHandler___14774 = (r0);
r0 = s.eventHandler___14774.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___14774.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___14774;
if (!s.tmp_5.arg0.vtable.iface) {
setupLambda(s.tmp_5, pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "callback"), 1);
s.callLocIdx = 244; 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 = 244; s.pc = 17; return s.tmp_5; }
else if (s.tmp_5.fn.isGetter) { s.tmp_5.stage2Call = true; s.callLocIdx = 244; s.pc = 17; return s.tmp_5;; }
else { s.callLocIdx = 244; s.pc = 17; return s.tmp_5; }
}
case 17:
r0 = s.retval;
case 8:
case 9:
r0 = (s.unnamed67___U4 + 1);
s.unnamed67___U4 = (r0);
{ step = 5; continue; }
case 10:
s.unnamed66___U3 = (undefined);
case 11:
case 12:
case 13:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller_Button_runButtonEvents__P4177.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__P4177_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_runButtonEvents__P4177, depth: s.depth + 1,
pc: 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___14759: undefined,
userHandler___14763: undefined,
eventHandler___14774: undefined,
unnamed66___U3: undefined,
unnamed67___U4: undefined,
arg0: undefined,
arg1: undefined,
} }
function controller_Button_handlerState__P4173(s) {
let r0 = s.r0, step = 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___14790 = 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, controller_Button__C1979_VT)) failedCast(r0);
s.state___14790 = (undefined);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 231; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
r0 = r0.fields["buttonEventHandlers"];
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 = 4; continue; }
r0 = pxsim_Array__getAt(s.unnamed64___U1, s.unnamed65___U2);
s.state___14790 = (r0);
r0 = s.state___14790.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___14790;
{ step = 5; continue; }
case 2:
case 3:
r0 = (s.unnamed65___U2 + 1);
s.unnamed65___U2 = (r0);
{ step = 1; continue; }
case 4:
s.unnamed64___U1 = (undefined);
r0 = undefined;
case 5:
return leaveAccessor(s, r0)
default: oops()
} } }
controller_Button_handlerState__P4173.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__P4173.isGetter = true;
function controller_Button_handlerState__P4173_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_handlerState__P4173, depth: s.depth + 1,
pc: 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___14790: undefined,
unnamed64___U1: undefined,
unnamed65___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 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__P4371_mk(s);
s.tmp_0.arg0 = undefined;
s.callLocIdx = 1133; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = globals._scene___4363.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___4367 = (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__P4696(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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___4661);
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 = 1334; s.pc = 10; return s.tmp_6;
case 10:
r0 = s.retval;
s.tmp_5.arg0 = r0;
s.tmp_5.arg1 = forEach_inline__P14837;
s.callLocIdx = 1335; 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__P14842;
s.callLocIdx = 1337; s.pc = 8; return s.tmp_4;
case 8:
r0 = s.retval;
r0 = pxsim_Array__length(globals.consoleStrings___4661);
s.tmp_1 = r0;
r0 = (s.tmp_1 > globals.consoleLines___4674);
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___4661;
s.tmp_2.arg1 = 0;
r0 = pxsim_Array__length(globals.consoleStrings___4661);
s.tmp_3 = r0;
r0 = (s.tmp_3 - globals.consoleLines___4674);
s.tmp_2.arg2 = r0;
s.callLocIdx = 1338; 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__P4696.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__P4696_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_consoleOverlay_listener__P4696, depth: s.depth + 1,
pc: 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__P14837(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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__P14837.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__P14837_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: forEach_inline__P14837, 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__P14842(s) {
let r0 = s.r0, step = 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___14844 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
s.j___14844 = (0);
case 1:
s.tmp_1 = r0 = s.j___14844;
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___4661;
s.tmp_5 = helpers_stringSlice__P119_mk(s);
s.tmp_5.arg0 = s.arg0;
s.tmp_5.arg1 = s.j___14844;
r0 = (s.j___14844 + globals.consoleColumns___4684);
s.tmp_5.arg2 = r0;
s.callLocIdx = 1336; 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___14844 + globals.consoleColumns___4684);
s.j___14844 = (r0);
{ step = 1; continue; }
case 2:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
game_consoleOverlay_listener_inline__P14842.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__P14842_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: game_consoleOverlay_listener_inline__P14842, depth: s.depth + 1,
pc: 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___14844: 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___3990, 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___3990, 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__P3989(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P3989.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__P3989_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: listeners_inline__P3989, 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___4615);
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 = 1321; 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___4615);
if (!r0) { step = 1; continue; }
{ step = 3; continue; }
case 1:
case 2:
s.tmp_0 = game_pushScene__P2689_mk(s);
s.callLocIdx = 1322; 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 = 1323; s.pc = 5; return s.tmp_1;
case 5:
r0 = s.retval;
globals.instance___4615 = (s.tmp_0);
s.tmp_0 = scene_systemMenu_PauseMenu_show__P2778_mk(s);
s.tmp_0.arg0 = globals.instance___4615;
s.callLocIdx = 1324; 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___15530 = undefined;
r0 = pxsim_Array__mk();
s.options___15530 = (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__P15538;
s.tmp_1.arg3 = scene_systemMenu_volumeDown__P4621;
s.callLocIdx = 1304; s.pc = 5; return s.tmp_1;
case 5:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, 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__P15552;
s.tmp_1.arg3 = scene_systemMenu_volumeUp__P4620;
s.callLocIdx = 1306; s.pc = 6; return s.tmp_1;
case 6:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, 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__P15567;
s.tmp_2.arg3 = scene_systemMenu_brightnessDown__P4623;
s.callLocIdx = 1309; s.pc = 7; return s.tmp_2;
case 7:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, 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__P15582;
s.tmp_1.arg3 = scene_systemMenu_brightnessUp__P4622;
s.callLocIdx = 1311; s.pc = 8; return s.tmp_1;
case 8:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, 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__P15597;
s.tmp_1.arg3 = scene_systemMenu_toggleStats__P4625;
s.callLocIdx = 1312; s.pc = 9; return s.tmp_1;
case 9:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, 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__P15606;
s.tmp_1.arg3 = scene_systemMenu_toggleConsole__P4626;
s.callLocIdx = 1314; s.pc = 10; return s.tmp_1;
case 10:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, 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__P15615;
s.tmp_1.arg3 = scene_systemMenu_sleep__P4627;
s.callLocIdx = 1315; s.pc = 11; return s.tmp_1;
case 11:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, s.tmp_0);
r0 = pxsim_numops_toBoolDecr(globals.customMenuOptions___4616);
if (!r0) { step = 3; continue; }
s.tmp_0 = helpers_arrayConcat__P113_mk(s);
s.tmp_0.arg0 = s.options___15530;
s.tmp_0.arg1 = globals.customMenuOptions___4616;
s.callLocIdx = 1316; s.pc = 12; return s.tmp_0;
case 12:
r0 = s.retval;
s.options___15530 = (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__P15628;
s.tmp_1.arg3 = scene_systemMenu_closeMenu__P2783;
s.callLocIdx = 1317; s.pc = 13; return s.tmp_1;
case 13:
r0 = s.retval;
r0 = pxsim_Array__push(s.options___15530, s.tmp_0);
r0 = s.options___15530;
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___15530: undefined,
} }
function scene_systemMenu_buildOptionList_inline__P15538(s) {
let r0 = s.r0, step = 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 = 1303; 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__P15538.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__P15538_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15538, depth: s.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__P15552(s) {
let r0 = s.r0, step = 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 = 1305; 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__P15552.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__P15552_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15552, depth: s.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__P15567(s) {
let r0 = s.r0, 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__P15567.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__P15567_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15567, 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__P15582(s) {
let r0 = s.r0, 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__P15582.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__P15582_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15582, 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__P15597(s) {
let r0 = s.r0, 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__P15597.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__P15597_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15597, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function scene_systemMenu_buildOptionList_inline__P15606(s) {
let r0 = s.r0, 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___4661);
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__P15606.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__P15606_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15606, depth: s.depth + 1,
pc: 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__P15615(s) {
let r0 = s.r0, 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__P15615.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__P15615_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15615, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
} }
function scene_systemMenu_buildOptionList_inline__P15628(s) {
let r0 = s.r0, 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__P15628.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__P15628_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_buildOptionList_inline__P15628, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
} }
function scene_systemMenu_setScreenBrightnessSupported__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:
r0 = 0;
return leave(s, r0)
default: oops()
} } }
scene_systemMenu_setScreenBrightnessSupported__P4628.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__P4628_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_setScreenBrightnessSupported__P4628, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
} }
function scene_systemMenu_sleep__P4627(s) {
let r0 = s.r0, 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__P4627.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__P4627_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_sleep__P4627, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
} }
function scene_systemMenu_toggleConsole__P4626(s) {
let r0 = s.r0, 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___4661);
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 = 1297; 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 = 1298; 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 = 1299; 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__P4626.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__P4626_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_toggleConsole__P4626, depth: s.depth + 1,
pc: 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___4661);
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___4661 = (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___4660 = (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 = 35; 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___15667 = undefined;
s.i___15676 = 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 = 33; s.pc = 6; return s.tmp_1;
case 6:
r0 = s.retval;
s.text___15667 = (r0);
if ((s.text___15667) && (s.text___15667).vtable) {
setupResume(s, 7);
pxsim_String__stringConv(s.text___15667);
checkResumeConsumed();
return;
} else { s.retval = (s.text___15667) + ""; }
case 7:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_String__concat(s.tmp_0, "\n");
s.text___15667 = (r0);
s.i___15676 = (0);
case 3:
s.tmp_1 = r0 = s.i___15676;
r0 = pxsim_Array__length(globals.listeners___3990);
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___3990, s.i___15676);
s.tmp_3.argL = r0;
s.tmp_3.arg0 = s.arg0;
s.tmp_3.arg1 = s.text___15667;
setupLambda(s.tmp_3, s.tmp_3.argL);
s.callLocIdx = 34; s.pc = 8; return s.tmp_3;
case 8:
r0 = s.retval;
r0 = (s.i___15676 + 1);
s.i___15676 = (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___15667: undefined,
i___15676: undefined,
arg0: undefined,
arg1: 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___15707 = undefined;
s.asString___15725 = undefined;
s.keys___15737 = undefined;
s.snipped___15741 = 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___15707 = (s.arg0);
r0 = pxsim_Array__length(s.asArr___15707);
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___15707;
s.tmp_2.arg1 = ",";
s.callLocIdx = 36; 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___15707;
s.tmp_8.arg1 = 0;
s.tmp_8.arg2 = s.arg1;
s.callLocIdx = 37; s.pc = 21; return s.tmp_8;
case 21:
r0 = s.retval;
s.tmp_7.arg0 = r0;
s.tmp_7.arg1 = ",";
s.callLocIdx = 38; 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___15725 = (r0);
r0 = (s.asString___15725 != "[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___15725 != "[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___15725;
{ step = 17; continue; }
case 8:
case 9:
r0 = pxsim_pxtrt.keysOf(s.arg0);
s.keys___15737 = (r0);
r0 = pxsim_Array__length(s.keys___15737);
s.tmp_0 = r0;
r0 = (s.tmp_0 > s.arg1);
s.snipped___15741 = (r0);
r0 = pxsim_numops_toBoolDecr(s.snipped___15741);
if (!r0) { step = 10; continue; }
s.tmp_0 = helpers_arraySlice__P115_mk(s);
s.tmp_0.arg0 = s.keys___15737;
s.tmp_0.arg1 = 0;
s.tmp_0.arg2 = s.arg1;
s.callLocIdx = 39; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.keys___15737 = (r0);
case 10:
case 11:
r0 = pxsim_pxtcore_mkAction(1, console_inspect_inline__P15758);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_numops_toBoolDecr(s.snipped___15741);
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___15737;
s.tmp_7.arg1 = s.tmp_0;
r0 = pxsim_String_.mkEmpty();
s.tmp_7.arg2 = r0;
s.callLocIdx = 40; 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___15707: undefined,
asString___15725: undefined,
keys___15737: undefined,
snipped___15741: undefined,
arg0: undefined,
arg1: undefined,
} }
function console_inspect_inline__P15758(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P15758.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__P15758_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: console_inspect_inline__P15758, depth: s.depth + 1,
pc: 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___15785 = undefined;
s.i___15788 = 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___15785 = (r0);
s.i___15788 = (0);
case 1:
r0 = (s.i___15788 < s.len___15785);
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___15788);
s.tmp_1.arg1 = r0;
s.tmp_1.arg2 = s.i___15788;
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___15788 + 1);
s.i___15788 = (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___15785: undefined,
i___15788: 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___15813 = undefined;
s.len___15814 = undefined;
s.i___15817 = 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___15813 = (r0);
r0 = pxsim_Array__length(s.arg0);
s.len___15814 = (r0);
s.i___15817 = (0);
case 5:
r0 = (s.i___15817 < s.len___15814);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
r0 = (s.i___15817 > 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___15813) && (s.r___15813).vtable) {
setupResume(s, 15);
pxsim_String__stringConv(s.r___15813);
checkResumeConsumed();
return;
} else { s.retval = (s.r___15813) + ""; }
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___15813 = (r0);
case 8:
case 9:
r0 = pxsim_Array__getAt(s.arg0, s.i___15817);
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___15817);
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___15817);
case 13:
// jmp value (already in r0)
s.tmp_4 = r0;
if ((s.r___15813) && (s.r___15813).vtable) {
setupResume(s, 17);
pxsim_String__stringConv(s.r___15813);
checkResumeConsumed();
return;
} else { s.retval = (s.r___15813) + ""; }
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___15813 = (r0);
r0 = (s.i___15817 + 1);
s.i___15817 = (r0);
{ step = 5; continue; }
case 14:
r0 = s.r___15813;
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___15813: undefined,
len___15814: undefined,
i___15817: undefined,
arg0: undefined,
arg1: undefined,
} }
function scene_systemMenu_toggleStats__P4625(s) {
let r0 = s.r0, 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 = 1295; 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__P4625.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__P4625_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_toggleStats__P4625, depth: s.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__P4623(s) {
let r0 = s.r0, step = 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__P4624_mk(s);
r0 = globals.brightness___1750;
s.tmp_1 = r0;
r0 = (s.tmp_1 - 5);
s.tmp_0.arg0 = r0;
s.callLocIdx = 1291; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_systemMenu_brightnessDown__P4623.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__P4623_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_brightnessDown__P4623, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function scene_systemMenu_setScreenBrightness__P4624(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1292; 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 = 1294; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_systemMenu_setScreenBrightness__P4624.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__P4624_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_setScreenBrightness__P4624, 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 = 123; 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__P4622(s) {
let r0 = s.r0, step = 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__P4624_mk(s);
r0 = globals.brightness___1750;
s.tmp_1 = r0;
r0 = (s.tmp_1 + 5);
s.tmp_0.arg0 = r0;
s.callLocIdx = 1289; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_systemMenu_brightnessUp__P4622.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__P4622_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_brightnessUp__P4622, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
} }
function scene_systemMenu_volumeDown__P4621(s) {
let r0 = s.r0, step = 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___16013 = undefined;
s.remainder___16016 = undefined;
s.newVolume___16019 = undefined;
s.tmp_0 = music_volume__P1607_mk(s);
s.callLocIdx = 1286; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.v___16013 = (r0);
r0 = (s.v___16013 % 32);
s.remainder___16016 = (r0);
r0 = pxsim_numops_toBoolDecr(s.remainder___16016);
if (!r0) { step = 1; continue; }
r0 = s.remainder___16016;
{ step = 2; continue; }
case 1:
r0 = 32;
case 2:
// jmp value (already in r0)
s.tmp_0 = r0;
r0 = (s.v___16013 - s.tmp_0);
s.newVolume___16019 = (r0);
s.tmp_0 = scene_systemMenu_setVolume__P4619_mk(s);
s.tmp_0.arg0 = s.newVolume___16019;
s.callLocIdx = 1287; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_systemMenu_volumeDown__P4621.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__P4621_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_volumeDown__P4621, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
v___16013: undefined,
remainder___16016: undefined,
newVolume___16019: undefined,
} }
function scene_systemMenu_setVolume__P4619(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1281; 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 = 1282; 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 = 1283; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_systemMenu_setVolume__P4619.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__P4619_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_setVolume__P4619, 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___15945 = 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__P4048_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 = 67; 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 = 68; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
{ step = 4; continue; }
case 3:
r0 = (globals.playToneID___4050 + 1);
s.tmp_0 = r0;
globals.playToneID___4050 = (r0);
s.id___15945 = (s.tmp_0);
r0 = pxsim_pxtcore_mkAction(3, music_playTone_inline__P15951);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.id___15945);
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___15945: undefined,
arg0: undefined,
arg1: undefined,
} }
function music_playTone_inline__P15951(s) {
let r0 = s.r0, step = 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___15952 = undefined;
s.now___15962 = undefined;
s.d___15965 = undefined;
s.t___15969 = undefined;
r0 = pxsim.control.millis();
s.pos___15952 = (r0);
case 1:
r0 = (s.caps[0] == globals.playToneID___4050);
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___15962 = (r0);
r0 = (s.pos___15952 - s.now___15962);
s.d___15965 = (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 = 69; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.t___15969 = (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___15969);
s.tmp_1 = r0;
r0 = pxsim_pxtrt_stlocRef(s.tmp_0, s.tmp_1);
r0 = (s.pos___15952 + s.t___15969);
s.pos___15952 = (r0);
s.tmp_0 = music_playNoteCore__P4048_mk(s);
r0 = (s.d___15965 - 1);
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = s.caps[2];
s.tmp_0.arg2 = s.t___15969;
s.callLocIdx = 70; 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___15965 + s.t___15969);
s.tmp_2.arg0 = r0;
s.callLocIdx = 71; 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___15965 + s.t___15969);
s.tmp_1 = r0;
r0 = (s.tmp_1 - 100);
s.tmp_0.arg0 = r0;
s.callLocIdx = 72; 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__P15951.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__P15951_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_playTone_inline__P15951, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
pos___15952: undefined,
now___15962: undefined,
d___15965: undefined,
t___15969: undefined,
} }
function music_playNoteCore__P4048(s) {
let r0 = s.r0, step = 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___15999 = 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___15999 = (r0);
s.tmp_0 = music_addNote__P4055_mk(s);
s.tmp_0.arg0 = s.buf___15999;
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 = 65; 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 = 66; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = pxsim.music.queuePlayInstructions(s.arg0, s.buf___15999);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
music_playNoteCore__P4048.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__P4048_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: music_playNoteCore__P4048, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
buf___15999: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function scene_systemMenu_volumeUp__P4620(s) {
let r0 = s.r0, step = 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___15913 = undefined;
s.remainder___15916 = undefined;
s.newVolume___15919 = undefined;
s.tmp_0 = music_volume__P1607_mk(s);
s.callLocIdx = 1284; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.v___15913 = (r0);
r0 = (s.v___15913 % 32);
s.remainder___15916 = (r0);
r0 = (s.v___15913 + 32);
s.tmp_0 = r0;
r0 = (s.tmp_0 - s.remainder___15916);
s.newVolume___15919 = (r0);
s.tmp_0 = scene_systemMenu_setVolume__P4619_mk(s);
s.tmp_0.arg0 = s.newVolume___15919;
s.callLocIdx = 1285; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
scene_systemMenu_volumeUp__P4620.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__P4620_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_volumeUp__P4620, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
v___15913: undefined,
remainder___15916: undefined,
newVolume___15919: 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___4661);
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___4615);
if (!r0) { step = 1; continue; }
s.tmp_0 = scene_systemMenu_PauseMenu_dispose__P2782_mk(s);
s.tmp_0.arg0 = globals.instance___4615;
s.callLocIdx = 1300; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
globals.instance___4615 = (undefined);
s.tmp_0 = controller__setUserEventsEnabled__P1996_mk(s);
s.tmp_0.arg0 = true;
s.callLocIdx = 1301; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.tmp_0 = game_popScene__P2690_mk(s);
s.callLocIdx = 1302; 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__P15390;
s.callLocIdx = 1277; 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__P15390(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 1276; 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__P15390.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__P15390_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_dispose_inline__P15390, 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 = 1196; 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 = 1197; 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 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___4185 = (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 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___15633 = undefined;
s.value___15636 = undefined;
s.unnamed46___U2 = undefined;
s.unnamed47___U3 = undefined;
s.value___15643 = undefined;
s.unnamed48___U5 = undefined;
s.unnamed49___U6 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = pxsim_Array__mk();
s.out___15633 = (r0);
s.value___15636 = (undefined);
s.unnamed46___U2 = (s.arg0);
s.unnamed47___U3 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed47___U3;
r0 = pxsim_Array__length(s.unnamed46___U2);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 2; continue; }
r0 = pxsim_Array__getAt(s.unnamed46___U2, s.unnamed47___U3);
s.value___15636 = (r0);
r0 = pxsim_Array__push(s.out___15633, s.value___15636);
r0 = (s.unnamed47___U3 + 1);
s.unnamed47___U3 = (r0);
{ step = 1; continue; }
case 2:
s.unnamed46___U2 = (undefined);
s.value___15643 = (undefined);
s.unnamed48___U5 = (s.arg1);
s.unnamed49___U6 = (0);
case 3:
s.tmp_0 = r0 = s.unnamed49___U6;
r0 = pxsim_Array__length(s.unnamed48___U5);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 4; continue; }
r0 = pxsim_Array__getAt(s.unnamed48___U5, s.unnamed49___U6);
s.value___15643 = (r0);
r0 = pxsim_Array__push(s.out___15633, s.value___15643);
r0 = (s.unnamed49___U6 + 1);
s.unnamed49___U6 = (r0);
{ step = 3; continue; }
case 4:
s.unnamed48___U5 = (undefined);
r0 = s.out___15633;
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___15633: undefined,
value___15636: undefined,
unnamed46___U2: undefined,
unnamed47___U3: undefined,
value___15643: undefined,
unnamed48___U5: undefined,
unnamed49___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___14921 = undefined;
s.i___14922 = 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 = 1209; 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 = 1209; s.pc = 3; return s.tmp_2; }
else if (s.tmp_2.fn.isGetter) { s.tmp_2.stage2Call = true; s.callLocIdx = 1209; s.pc = 3; return s.tmp_2;; }
else { s.callLocIdx = 1209; 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___14922 = (0);
case 1:
s.tmp_1 = r0 = s.i___14922;
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___14922);
s.current___14921 = (r0);
s.tmp_0 = scene_systemMenu_MenuOption_show__P2770_mk(s);
s.tmp_0.arg0 = s.current___14921;
s.callLocIdx = 1210; 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___14921;
r0 = s.arg0.fields["theme"];
s.tmp_0.arg1 = r0;
s.callLocIdx = 1211; 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___14921;
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 = 1212; s.pc = 7; return s.tmp_2; }
}
case 7:
r0 = s.retval;
s.tmp_1 = r0;
s.tmp_5 = r0 = s.i___14922;
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 = 1213; 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 = 1214; 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 = 1215; 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 = 1216; s.pc = 11; return s.tmp_14; }
}
case 11:
r0 = s.retval;
s.tmp_13 = r0;
s.tmp_17 = r0 = s.i___14922;
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 = 1217; 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 = 1218; 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 = 1219; 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 = 1220; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
r0 = (s.i___14922 + 1);
s.i___14922 = (r0);
{ step = 1; continue; }
case 2:
s.tmp_0 = controller__setUserEventsEnabled__P1996_mk(s);
s.tmp_0.arg0 = false;
s.callLocIdx = 1221; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P14985);
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 = 1223; s.pc = 16; return s.tmp_1;
case 16:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P15005);
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 = 1225; 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__P15034;
s.callLocIdx = 1227; 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__P15039;
s.callLocIdx = 1229; s.pc = 19; return s.tmp_0;
case 19:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P15044);
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 = 1233; s.pc = 20; return s.tmp_1;
case 20:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P15056);
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 = 1236; s.pc = 21; return s.tmp_1;
case 21:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P15065);
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 = 1240; s.pc = 22; return s.tmp_1;
case 22:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P15081);
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 = 1243; s.pc = 23; return s.tmp_1;
case 23:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, scene_systemMenu_PauseMenu_show_inline__P15093);
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 = 1246; 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 = 1247; 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___14921: undefined,
i___14922: undefined,
arg0: undefined,
} }
function scene_systemMenu_PauseMenu_show_inline__P14985(s) {
let r0 = s.r0, 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 = 1222; 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__P14985.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__P14985_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P14985, depth: s.depth + 1,
pc: 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__P15005(s) {
let r0 = s.r0, 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 = 1224; 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__P15005.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__P15005_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15005, depth: s.depth + 1,
pc: 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__P15034(s) {
let r0 = s.r0, step = 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 = 1226; 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__P15034.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__P15034_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15034, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function scene_systemMenu_PauseMenu_show_inline__P15039(s) {
let r0 = s.r0, step = 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 = 1228; 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__P15039.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__P15039_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15039, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function scene_systemMenu_PauseMenu_show_inline__P15044(s) {
let r0 = s.r0, step = 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 = 1230; 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 = 1231; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1232; 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__P15044.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__P15044_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15044, depth: s.depth + 1,
pc: 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__P15056(s) {
let r0 = s.r0, step = 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 = 1234; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1235; 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__P15056.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__P15056_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15056, 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__P15065(s) {
let r0 = s.r0, step = 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 = 1237; 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 = 1238; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1239; 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__P15065.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__P15065_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15065, depth: s.depth + 1,
pc: 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__P15081(s) {
let r0 = s.r0, step = 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 = 1241; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1242; 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__P15081.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__P15081_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15081, depth: s.depth + 1,
pc: 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__P15093(s) {
let r0 = s.r0, step = 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 = 1244; 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 = 1245; 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__P15093.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__P15093_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_show_inline__P15093, 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 = 1258; 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 = 1259; 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 = 1260; 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 = 1261; s.pc = 8; return s.tmp_2; }
}
case 8:
r0 = s.retval;
s.tmp_0.arg4 = r0;
s.callLocIdx = 1262; 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 = 1263; 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 = 1264; 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 = 1265; 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 = 1266; 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 = 1267; 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 = 1268; 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 = 1269; 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 = 1270; 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 = 1271; 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 = 1272; 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 = 1272; s.pc = 19; return s.tmp_1; }
else if (s.tmp_1.fn.isGetter) { s.tmp_1.stage2Call = true; s.callLocIdx = 1272; s.pc = 19; return s.tmp_1;; }
else { s.callLocIdx = 1272; 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 = 1273; 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 = 1274; s.pc = 21; return s.tmp_6; }
}
case 21:
r0 = s.retval;
s.tmp_0.arg4 = r0;
s.callLocIdx = 1275; 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 = 1255; 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 = 1256; s.pc = 12; return s.tmp_6;
case 12:
r0 = s.retval;
case 7:
case 8:
s.tmp_0 = scene_systemMenu_PauseMenu_updateScrollTarget__P4618_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 1257; 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__P4618(s) {
let r0 = s.r0, step = 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___15336 = 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 = 1278; 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___15336 = (r0);
r0 = s.arg0.fields["scrollRow"];
s.tmp_1 = r0;
r0 = (s.row___15336 === 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___15336 - 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___15336 > 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 = 1279; 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 = 1280; 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__P4618.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__P4618_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_PauseMenu_updateScrollTarget__P4618, depth: s.depth + 1,
pc: 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___15336: 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___15171 = undefined;
s.i___15175 = undefined;
s.dt___15204 = 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___15171 = (r0);
s.i___15175 = (0);
case 1:
s.tmp_1 = r0 = s.i___15175;
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___15175);
s.tmp_4.arg0 = r0;
s.tmp_8 = r0 = s.t___15171;
s.tmp_11 = r0 = s.i___15175;
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 = 1248; 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 = 1249; s.pc = 10; return s.tmp_4;
case 10:
r0 = s.retval;
r0 = (s.i___15175 + 1);
s.i___15175 = (r0);
{ step = 1; continue; }
case 2:
s.tmp_1 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1250; 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___15204 = (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___15204 * 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___15204 * 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 = 1252; 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 = 1253; 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 = 1254; 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___15171: undefined,
i___15175: undefined,
dt___15204: 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 = 1191; 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 = 1192; s.pc = 3; return s.tmp_1;
case 3:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1193; 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_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___15278 = 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 = 412; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = r0.fields["physicsEngine"];
s.physics___15278 = (r0);
s.tmp_0 = PhysicsEngine__C2290_v2_4_mk(s);
s.tmp_0.arg0 = s.physics___15278;
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___15278: undefined,
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_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 = 344; 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 = 345; 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__P4617_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 1195; 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__P4617(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 1198; s.pc = 9; return s.tmp_5; }
}
case 9:
r0 = s.retval;
s.tmp_4.arg1 = r0;
s.callLocIdx = 1199; 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 = 1200; s.pc = 11; return s.tmp_1; }
}
case 11:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1201; 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 = 1202; s.pc = 13; return s.tmp_1; }
}
case 13:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1203; 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 = 1204; s.pc = 15; return s.tmp_1;
case 15:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1205; 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 = 1206; s.pc = 17; return s.tmp_1;
case 17:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1207; 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__P4617.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__P4617_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_MenuOption_updateCard__P4617, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
arg0: undefined,
} }
function scene_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__P4617_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 1194; 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 = 1185; 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 = 1186; 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 = 1187; s.pc = 4; return s.tmp_1;
case 4:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1188; 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 = 1189; s.pc = 6; return s.tmp_1;
case 6:
r0 = s.retval;
s.tmp_0.arg1 = r0;
s.callLocIdx = 1190; 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 = 1180; 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 = 1181; 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 = 1182; 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 = 1183; 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 = 1184; 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__P4371_mk(s);
s.tmp_0.arg0 = undefined;
s.callLocIdx = 1167; 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 = 1168; 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 = 1208; 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___16048 = 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___16048 = (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 = 1318; 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___16048);
r0 = pxsim_ImageMethods.width(globals.screen___1829);
s.tmp_3 = r0;
r0 = (s.cardsPerRow___16048 * s.arg0);
s.tmp_5 = r0;
r0 = (s.cardsPerRow___16048 - 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 = 1319; 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 = 1320; 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___16048: 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 = 124; 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 = 125; 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 = 126; 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 = 127; 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 = 128; 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 = 129; 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__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:
s.brightness___16128 = undefined;
s.tmp_0 = settings_readNumber__P1863_mk(s);
s.tmp_0.arg0 = "#brightness";
s.callLocIdx = 1327; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.brightness___16128 = (r0);
r0 = (s.brightness___16128 !== 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___16128;
s.callLocIdx = 1328; 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__P4630.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__P4630_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_initScreen__P4630, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
brightness___16128: undefined,
} }
function scene_systemMenu_initVolume__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.vol___16138 = undefined;
s.tmp_0 = settings_readNumber__P1863_mk(s);
s.tmp_0.arg0 = "#volume";
s.callLocIdx = 1325; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.vol___16138 = (r0);
r0 = (s.vol___16138 !== 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___16138;
s.callLocIdx = 1326; 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__P4629.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__P4629_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: scene_systemMenu_initVolume__P4629, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
vol___16138: 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__P4371_mk(s);
s.tmp_0.arg0 = undefined;
s.callLocIdx = 1130; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = globals._scene___4363;
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___4366);
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___4366 = (r0);
case 1:
case 2:
r0 = pxsim_Array_.indexOf(globals._scenePopHandlers___4366, 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___4366, 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___4365);
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___4365 = (r0);
case 1:
case 2:
r0 = pxsim_Array_.indexOf(globals._scenePushHandlers___4365, 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___4365, 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___4202 === undefined);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
globals.nextKind___4202 = (1000);
case 1:
case 2:
s.tmp_0 = r0 = globals.nextKind___4202;
r0 = (s.tmp_0 + 1);
globals.nextKind___4202 = (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__P16214);
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__P16221);
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__P16214(s) {
let r0 = s.r0, step = 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 = 232; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller_Button_inline__P16214.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__P16214_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_inline__P16214, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function controller_Button_inline__P16221(s) {
let r0 = s.r0, step = 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 = 233; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller_Button_inline__P16221.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__P16221_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_inline__P16221, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
} }
function controller_setupButton__P4191(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4191.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__P4191_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_setupButton__P4191, 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 = 236; 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 = 237; 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__P4175_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 238; 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__P4174_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 239; 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__P4175(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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___4185);
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__P4175.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__P4175_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_raiseButtonDown__P4175, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function controller_Button_raiseButtonUp__P4174(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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___4185);
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__P4174.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__P4174_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_Button_raiseButtonUp__P4174, 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__P4142(s) {
let r0 = s.r0, step = 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___16299 = undefined;
s.tmp_1 = settings_runNumber__P1853_mk(s);
s.callLocIdx = 153; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
s.tmp_0 = r0;
r0 = (s.tmp_0 + 1);
s.rn___16299 = (r0);
s.tmp_0 = settings_writeNumber__P1858_mk(s);
s.tmp_0.arg0 = globals.RUN_KEY___4130;
s.tmp_0.arg1 = s.rn___16299;
s.callLocIdx = 154; 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___16299);
s.tmp_0 = settings_setScope__P4141_mk(s);
r0 = pxsim_pxtcore.programName();
s.tmp_0.arg0 = r0;
s.callLocIdx = 155; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
settings_initScopes__P4142.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__P4142_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: settings_initScopes__P4142, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
rn___16299: undefined,
} }
function settings_setScope__P4141(s) {
let r0 = s.r0, step = 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___16328 = 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___4131;
s.callLocIdx = 151; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.currScope___16328 = (r0);
r0 = (s.currScope___16328 != 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___4131;
s.tmp_0.arg1 = s.arg0;
s.callLocIdx = 152; 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__P4141.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__P4141_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: settings_setScope__P4141, depth: s.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___16328: 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___16349 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = pxsim.settings._get(s.arg0);
s.buf___16349 = (r0);
r0 = pxsim_numops_toBoolDecr(s.buf___16349);
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___16349);
{ 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___16349: 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 = 157; 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___4130;
s.callLocIdx = 150; 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___4099 = (true);
globals.__update___4097 = (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 = 146; 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___4097);
if (!r0) { step = 1; continue; }
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = globals.__update___4097;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 145; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
case 1:
case 2:
globals.__updated___4099 = (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 particles_AshFactory_createParticle__P2914(s) {
let r0 = s.r0, step = 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___16382 = undefined;
s.choice___16391 = undefined;
s.p___16396 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, particles_AshFactory__C2912_VT)) failedCast(r0);
r0 = s.arg0.fields["colors"];
s.tmp_2 = r0;
r0 = pxsim_Array__length(s.tmp_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 = undefined;
{ step = 7; continue; }
case 1:
case 2:
s.tmp_3 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_3.arg0 = r0;
s.tmp_3.arg1 = 0;
r0 = s.arg0.fields["colors"];
s.tmp_5 = r0;
r0 = pxsim_Array__length(s.tmp_5);
s.tmp_4 = r0;
r0 = (s.tmp_4 - 1);
s.tmp_3.arg2 = r0;
s.callLocIdx = 1497; s.pc = 8; return s.tmp_3;
case 8:
r0 = s.retval;
s.index___16382 = (r0);
r0 = s.arg0.fields["colors"];
s.tmp_0 = r0;
r0 = pxsim_Array__getAt(s.tmp_0, s.index___16382);
s.choice___16391 = (r0);
s.tmp_0 = particles_AreaFactory_createParticle__P2884_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.arg1;
s.callLocIdx = 1498; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
s.p___16396 = (r0);
s.tmp_0 = r0 = s.choice___16391;
r0 = s.tmp_0.fields["count"];
s.tmp_2 = r0;
r0 = (s.tmp_2 - 1);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["count"] = (s.tmp_1);
r0 = s.choice___16391.fields["count"];
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 = s.arg0.fields["colors"];
s.tmp_2 = r0;
r0 = pxsim_Array_.removeAt(s.tmp_2, s.index___16382);
case 3:
case 4:
r0 = s.choice___16391.fields["color"];
s.tmp_0 = r0;
r0 = (s.p___16396).fields["color"] = (s.tmp_0);
s.tmp_0 = r0 = s.p___16396;
s.tmp_3 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_3.arg0 = r0;
r0 = s.arg0.fields["yRange"];
s.tmp_4 = r0;
r0 = (s.tmp_4 >> 1);
s.tmp_3.arg1 = r0;
r0 = s.arg0.fields["yRange"];
s.tmp_3.arg2 = r0;
s.callLocIdx = 1499; s.pc = 10; return s.tmp_3;
case 10:
r0 = s.retval;
s.tmp_2 = r0;
r0 = s.p___16396.fields["_y"];
s.tmp_5 = r0;
r0 = (s.tmp_2 << 8);
s.tmp_6 = r0;
r0 = (s.tmp_6 + s.tmp_5);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);
s.tmp_1 = if_vx_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, "vx");
} else {
s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["vx"];
if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["vx"]; }
else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); }
else { s.callLocIdx = 1501; s.pc = 11; return s.tmp_1; }
}
case 11:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 5; continue; }
s.tmp_5 = if_vx_1_mk(s);
s.tmp_5.arg0 = s.arg1;
if (!s.tmp_5.arg0.vtable.iface) {
s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "vx");
} else {
s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["vx"];
if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["vx"]; }
else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); }
else { s.callLocIdx = 1502; s.pc = 12; return s.tmp_5; }
}
case 12:
r0 = s.retval;
s.tmp_4 = r0;
r0 = (s.tmp_4 >> 2);
s.tmp_3 = r0;
r0 = (s.tmp_3 * 256);
s.tmp_6 = r0;
r0 = (s.tmp_6 | 0);
s.tmp_2 = r0;
r0 = (0 - s.tmp_2);
{ step = 6; continue; }
case 5:
r0 = 0;
case 6:
// jmp value (already in r0)
s.tmp_7 = r0;
r0 = (s.p___16396).fields["vx"] = (s.tmp_7);
s.tmp_0 = r0 = s.p___16396;
s.tmp_3 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_3.arg0 = r0;
s.tmp_3.arg1 = -150;
s.tmp_3.arg2 = -50;
s.callLocIdx = 1505; s.pc = 13; return s.tmp_3;
case 13:
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["vy"] = (s.tmp_1);
r0 = s.p___16396;
case 7:
return leave(s, r0)
default: oops()
} } }
particles_AshFactory_createParticle__P2914.info = {"start":13251,"length":665,"line":425,"column":8,"endLine":442,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}
function particles_AshFactory_createParticle__P2914_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_AshFactory_createParticle__P2914, depth: s.depth + 1,
pc: 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,
index___16382: undefined,
choice___16391: undefined,
p___16396: undefined,
arg0: undefined,
arg1: 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 particles_FireSource_updateParticle__P2856(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_FireSource__C2854_VT)) failedCast(r0);
s.tmp_0 = particles_ParticleSource_updateParticle__P4703_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.arg1;
s.tmp_0.arg2 = s.arg2;
s.callLocIdx = 1400; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
r0 = s.arg1.fields["next"];
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 = Math_FastRandom_percentChance__P2747_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_1.arg0 = r0;
s.tmp_1.arg1 = 30;
s.callLocIdx = 1401; 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; }
r0 = s.arg1.fields["next"];
r0 = r0.fields["vx"];
s.tmp_3 = r0;
r0 = (s.arg1).fields["vx"] = (s.tmp_3);
r0 = s.arg1.fields["next"];
r0 = r0.fields["vy"];
s.tmp_0 = r0;
r0 = (s.arg1).fields["vy"] = (s.tmp_0);
case 3:
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_FireSource_updateParticle__P2856.info = {"start":10620,"length":240,"line":348,"column":8,"endLine":354,"endColumn":9,"fileName":"pxt_modules/game/particles.ts","functionName":"updateParticle","argumentNames":["this","p","fixedDt"]}
function particles_FireSource_updateParticle__P2856_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_FireSource_updateParticle__P2856, depth: s.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 particles_FireFactory_createParticle__P2903(s) {
let r0 = s.r0, step = 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___16481 = undefined;
s.i___16493 = undefined;
s.r___16500 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, particles_FireFactory__C2901_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 = 1467; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.p___16481 = (r0);
s.tmp_1 = Math_FastRandom_randomBool__P2746_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_1.arg0 = r0;
s.callLocIdx = 1468; 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; }
r0 = 2;
{ step = 4; continue; }
case 1:
s.tmp_3 = Math_FastRandom_randomBool__P2746_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_3.arg0 = r0;
s.callLocIdx = 1469; 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 = 4;
{ step = 3; continue; }
case 2:
r0 = 5;
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;
r0 = (s.p___16481).fields["color"] = (s.tmp_5);
s.tmp_0 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = 0;
r0 = pxsim_Array__length(globals.cachedCos___4714);
s.tmp_0.arg2 = r0;
s.callLocIdx = 1470; s.pc = 8; return s.tmp_0;
case 8:
r0 = s.retval;
s.i___16493 = (r0);
s.tmp_0 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_0.arg0 = r0;
r0 = s.arg0.fields["minRadius"];
s.tmp_0.arg1 = r0;
r0 = s.arg0.fields["maxRadius"];
s.tmp_0.arg2 = r0;
s.callLocIdx = 1471; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
s.r___16500 = (r0);
s.tmp_0 = r0 = s.p___16481;
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 = 1472; s.pc = 10; return s.tmp_3; }
}
case 10:
r0 = s.retval;
s.tmp_2 = r0;
r0 = (s.r___16500 * 256);
s.tmp_6 = r0;
r0 = (s.tmp_6 | 0);
s.tmp_5 = r0;
r0 = pxsim_Array__getAt(globals.cachedCos___4714, s.i___16493);
s.tmp_7 = r0;
r0 = pxsim.Math_.imul(s.tmp_5, s.tmp_7);
s.tmp_8 = r0;
r0 = (s.tmp_8 >> 8);
s.tmp_4 = r0;
r0 = (s.tmp_2 << 8);
s.tmp_9 = r0;
r0 = (s.tmp_9 + s.tmp_4);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);
s.tmp_0 = r0 = s.p___16481;
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 = 1476; s.pc = 11; return s.tmp_3; }
}
case 11:
r0 = s.retval;
s.tmp_2 = r0;
r0 = (s.r___16500 * 256);
s.tmp_6 = r0;
r0 = (s.tmp_6 | 0);
s.tmp_5 = r0;
r0 = pxsim_Array__getAt(globals.cachedSin___4713, s.i___16493);
s.tmp_7 = r0;
r0 = pxsim.Math_.imul(s.tmp_5, s.tmp_7);
s.tmp_8 = r0;
r0 = (s.tmp_8 >> 8);
s.tmp_4 = r0;
r0 = (s.tmp_2 << 8);
s.tmp_9 = r0;
r0 = (s.tmp_9 + s.tmp_4);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);
s.tmp_0 = r0 = s.p___16481;
r0 = pxsim.Math_.randomRange(0, 10);
s.tmp_2 = r0;
r0 = (s.tmp_2 * 256);
s.tmp_3 = r0;
r0 = (s.tmp_3 | 0);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["vy"] = (s.tmp_1);
s.tmp_0 = r0 = s.p___16481;
r0 = pxsim.Math_.randomRange(-5, 5);
s.tmp_2 = r0;
r0 = (s.tmp_2 * 256);
s.tmp_3 = r0;
r0 = (s.tmp_3 | 0);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["vx"] = (s.tmp_1);
r0 = (s.p___16481).fields["lifespan"] = (1500);
r0 = s.p___16481;
return leave(s, r0)
default: oops()
} } }
particles_FireFactory_createParticle__P2903.info = {"start":8876,"length":662,"line":290,"column":8,"endLine":306,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}
function particles_FireFactory_createParticle__P2903_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_FireFactory_createParticle__P2903, depth: s.depth + 1,
pc: 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,
p___16481: undefined,
i___16493: undefined,
r___16500: undefined,
arg0: undefined,
arg1: undefined,
} }
function Math_FastRandom_randomBool__P2746(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_3 = Math_FastRandom_next__P2743_mk(s);
s.tmp_3.arg0 = s.arg0;
s.callLocIdx = 1178; s.pc = 1; return s.tmp_3;
case 1:
r0 = s.retval;
s.tmp_2 = r0;
r0 = (s.tmp_2 & 1);
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()
} } }
Math_FastRandom_randomBool__P2746.info = {"start":2627,"length":72,"line":80,"column":8,"endLine":82,"endColumn":9,"fileName":"pxt_modules/game/mathUtil.ts","functionName":"randomBool","argumentNames":["this"]}
function Math_FastRandom_randomBool__P2746_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Math_FastRandom_randomBool__P2746, depth: s.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_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__P16564;
s.callLocIdx = 595; 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__P16564(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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__P16564.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__P16564_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: length_inline__P16564, 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___16596 = undefined;
s.maxDist___16604 = undefined;
s.ms___16624 = 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 = 805; s.pc = 13; return s.tmp_0;
case 13:
r0 = s.retval;
r0 = r0.fields["tileMap"];
s.tm___16596 = (r0);
s.tmp_0 = r0 = s.tm___16596;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 1; continue; }
r0 = s.tmp_0;
{ step = 2; continue; }
case 1:
r0 = s.tm___16596.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___16604 = (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 = 809; s.pc = 14; return s.tmp_2;
case 14:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_1 <= s.maxDist___16604);
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 = 811; s.pc = 15; return s.tmp_5;
case 15:
r0 = s.retval;
s.tmp_4 = r0;
r0 = (s.tmp_4 <= s.maxDist___16604);
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 = 812; s.pc = 16; return s.tmp_9;
case 16:
r0 = s.retval;
s.ms___16624 = (s.tmp_8);
s.tmp_0 = ArcadePhysicsEngine_tilemapCollisions__P4238_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.ms___16624;
s.tmp_0.arg2 = s.tm___16596;
s.callLocIdx = 813; 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___16596;
s.tmp_1.arg1 = s.arg1;
s.callLocIdx = 814; 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__P4240_mk(s);
s.tmp_4.arg0 = s.arg0;
s.tmp_4.arg1 = s.arg1;
s.tmp_4.arg2 = s.tm___16596;
s.callLocIdx = 815; 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___16596: undefined,
maxDist___16604: undefined,
ms___16624: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function ArcadePhysicsEngine_canResolveClipping__P4240(s) {
let r0 = s.r0, step = 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___16669 = undefined;
s.sz___16672 = undefined;
s.maxMove___16677 = undefined;
s.origY___16679 = undefined;
s.origX___16682 = undefined;
s.l___16685 = undefined;
s.r___16690 = undefined;
s.t___16695 = undefined;
s.b___16700 = undefined;
s.offset___16705 = undefined;
s.offset___16730 = undefined;
s.offset___16761 = undefined;
s.offset___16786 = 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 = 817; s.pc = 20; return s.tmp_4;
case 20:
r0 = s.retval;
case 1:
case 2:
r0 = s.arg1.fields["_hitbox"];
s.hbox___16669 = (r0);
r0 = s.arg2.fields["_scale"];
s.tmp_0 = r0;
r0 = (1 << s.tmp_0);
s.sz___16672 = (r0);
s.tmp_0 = ArcadePhysicsEngine_maxStep__P2312_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 819; s.pc = 21; return s.tmp_0;
case 21:
r0 = s.retval;
s.maxMove___16677 = (r0);
r0 = s.arg1.fields["_y"];
s.origY___16679 = (r0);
r0 = s.arg1.fields["_x"];
s.origX___16682 = (r0);
s.tmp_1 = game_Hitbox_left__P2006_mk(s);
s.tmp_1.arg0 = s.hbox___16669;
s.callLocIdx = 820; 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___16685 = (r0);
s.tmp_1 = game_Hitbox_right__P2008_mk(s);
s.tmp_1.arg0 = s.hbox___16669;
s.callLocIdx = 822; 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___16690 = (r0);
s.tmp_1 = game_Hitbox_top__P2007_mk(s);
s.tmp_1.arg0 = s.hbox___16669;
s.callLocIdx = 824; 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___16695 = (r0);
s.tmp_1 = game_Hitbox_bottom__P2009_mk(s);
s.tmp_1.arg0 = s.hbox___16669;
s.callLocIdx = 826; 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___16700 = (r0);
r0 = (s.b___16700 + 1);
s.tmp_0 = r0;
r0 = (s.tmp_0 % s.sz___16672);
s.offset___16705 = (r0);
r0 = (s.offset___16705 <= s.maxMove___16677);
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___16705 * 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 = 830; 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___16679);
case 4:
case 5:
case 6:
r0 = (s.t___16695 / s.sz___16672);
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___16672);
s.tmp_0 = r0;
r0 = (s.tmp_0 - s.t___16695);
s.offset___16730 = (r0);
r0 = (s.offset___16730 <= s.maxMove___16677);
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___16730 * 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 = 833; 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___16679);
case 8:
case 9:
case 10:
r0 = (s.r___16690 + 1);
s.tmp_0 = r0;
r0 = (s.tmp_0 % s.sz___16672);
s.offset___16761 = (r0);
r0 = (s.offset___16761 <= s.maxMove___16677);
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___16761 * 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 = 836; 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___16682);
case 12:
case 13:
case 14:
r0 = (s.l___16685 / s.sz___16672);
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___16672);
s.tmp_0 = r0;
r0 = (s.tmp_0 - s.l___16685);
s.offset___16786 = (r0);
r0 = (s.offset___16786 <= s.maxMove___16677);
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___16786 * 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 = 839; 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___16682);
case 16:
case 17:
case 18:
r0 = false;
case 19:
return leave(s, r0)
default: oops()
} } }
ArcadePhysicsEngine_canResolveClipping__P4240.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__P4240_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_canResolveClipping__P4240, depth: s.depth + 1,
pc: 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___16669: undefined,
sz___16672: undefined,
maxMove___16677: undefined,
origY___16679: undefined,
origX___16682: undefined,
l___16685: undefined,
r___16690: undefined,
t___16695: undefined,
b___16700: undefined,
offset___16705: undefined,
offset___16730: undefined,
offset___16761: undefined,
offset___16786: 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 = 260; 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 = 257; 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__P4238(s) {
let r0 = s.r0, step = 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___16956 = undefined;
s.hbox___16981 = undefined;
s.tileScale___16984 = undefined;
s.tileSize___16987 = undefined;
s.xDiff___16991 = undefined;
s.yDiff___16998 = undefined;
s.right___17014 = undefined;
s.x0___17018 = undefined;
s.collidedTiles___17033 = undefined;
s.y___17035 = undefined;
s.y0___17049 = undefined;
s.obstacle___17065 = undefined;
s.collisionDirection___17092 = undefined;
s.tile___17118 = undefined;
s.unnamed80___U14 = undefined;
s.unnamed81___U15 = undefined;
s.down___17202 = undefined;
s.y0___17206 = undefined;
s.collidedTiles___17221 = undefined;
s.x___17223 = undefined;
s.x0___17233 = undefined;
s.obstacle___17247 = undefined;
s.collisionDirection___17274 = undefined;
s.tile___17300 = undefined;
s.unnamed82___U24 = undefined;
s.unnamed83___U25 = undefined;
s.overlappedTiles___17387 = undefined;
s.x___17389 = undefined;
s.x0___17399 = undefined;
s.y___17409 = undefined;
s.y0___17419 = 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___16956 = (r0);
r0 = s.s___16956.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___16956;
s.callLocIdx = 700; 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___16956;
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___16956.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___16956;
s.callLocIdx = 702; s.pc = 94; return s.tmp_4;
case 94:
r0 = s.retval;
case 5:
case 6:
r0 = s.s___16956.fields["_hitbox"];
s.hbox___16981 = (r0);
r0 = s.arg2.fields["_scale"];
s.tileScale___16984 = (r0);
r0 = (1 << s.tileScale___16984);
s.tileSize___16987 = (r0);
r0 = s.s___16956.fields["_x"];
s.tmp_0 = r0;
r0 = s.s___16956.fields["_lastX"];
s.tmp_1 = r0;
r0 = (s.tmp_0 - s.tmp_1);
s.xDiff___16991 = (r0);
r0 = s.s___16956.fields["_y"];
s.tmp_0 = r0;
r0 = s.s___16956.fields["_lastY"];
s.tmp_1 = r0;
r0 = (s.tmp_0 - s.tmp_1);
s.yDiff___16998 = (r0);
r0 = s.s___16956.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___16991 !== 0);
s.tmp_4 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_4);
if (!r0) { step = 41; continue; }
r0 = (s.xDiff___16991 > 0);
s.right___17014 = (r0);
r0 = pxsim_numops_toBoolDecr(s.right___17014);
if (!r0) { step = 7; continue; }
s.tmp_1 = game_Hitbox_right__P2008_mk(s);
s.tmp_1.arg0 = s.hbox___16981;
s.callLocIdx = 706; 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___16981;
s.callLocIdx = 708; 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___16984 + 8);
s.tmp_6 = r0;
r0 = (s.tmp_5 >> s.tmp_6);
s.x0___17018 = (r0);
r0 = pxsim_Array__mk();
s.collidedTiles___17033 = (r0);
s.tmp_1 = game_Hitbox_top__P2007_mk(s);
s.tmp_1.arg0 = s.hbox___16981;
s.callLocIdx = 712; s.pc = 97; return s.tmp_1;
case 97:
r0 = s.retval;
s.tmp_0 = r0;
r0 = (s.tmp_0 - s.yDiff___16998);
s.y___17035 = (r0);
case 9:
s.tmp_1 = r0 = s.y___17035;
s.tmp_3 = r0 = s.tileSize___16987;
s.tmp_6 = game_Hitbox_bottom__P2009_mk(s);
s.tmp_6.arg0 = s.hbox___16981;
s.callLocIdx = 714; s.pc = 98; return s.tmp_6;
case 98:
r0 = s.retval;
s.tmp_5 = r0;
r0 = (s.tmp_5 - s.yDiff___16998);
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___17035;
s.tmp_12 = game_Hitbox_bottom__P2009_mk(s);
s.tmp_12.arg0 = s.hbox___16981;
s.callLocIdx = 717; s.pc = 100; return s.tmp_12;
case 100:
r0 = s.retval;
s.tmp_11 = r0;
r0 = (s.tmp_11 - s.yDiff___16998);
s.tmp_10.arg1 = r0;
s.callLocIdx = 719; 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___16984 + 8);
s.tmp_13 = r0;
r0 = (s.tmp_8 >> s.tmp_13);
s.y0___17049 = (r0);
s.tmp_1 = tiles_TileMap_isObstacle__P2487_mk(s);
s.tmp_1.arg0 = s.arg2;
s.tmp_1.arg1 = s.x0___17018;
s.tmp_1.arg2 = s.y0___17049;
s.callLocIdx = 722; 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___17018;
s.tmp_2.arg2 = s.y0___17049;
s.callLocIdx = 723; s.pc = 102; return s.tmp_2;
case 102:
r0 = s.retval;
s.obstacle___17065 = (r0);
r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P17073);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___17065);
s.tmp_4 = helpers_arraySome__P107_mk(s);
s.tmp_4.arg0 = s.collidedTiles___17033;
s.tmp_4.arg1 = s.tmp_0;
s.callLocIdx = 724; 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___17033, s.obstacle___17065);
case 10:
case 11:
case 12:
case 13:
r0 = (s.tileSize___16987 << 8);
s.tmp_0 = r0;
r0 = (s.tmp_0 + s.y___17035);
s.y___17035 = (r0);
{ step = 9; continue; }
case 14:
r0 = pxsim_Array__length(s.collidedTiles___17033);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 39; continue; }
r0 = pxsim_numops_toBoolDecr(s.right___17014);
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___17092 = (s.tmp_1);
r0 = pxsim_numops_toBoolDecr(s.right___17014);
if (!r0) { step = 17; continue; }
r0 = (s.x0___17018 << s.tileScale___16984);
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___16981.fields["width"];
s.tmp_3 = r0;
r0 = (s.tmp_0 - s.tmp_3);
{ step = 18; continue; }
case 17:
r0 = (s.x0___17018 + 1);
s.tmp_5 = r0;
r0 = (s.tmp_5 << s.tileScale___16984);
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___16956;
r0 = s.hbox___16981.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___17118 = (undefined);
s.unnamed80___U14 = (s.collidedTiles___17033);
s.unnamed81___U15 = (0);
case 19:
s.tmp_0 = r0 = s.unnamed81___U15;
r0 = pxsim_Array__length(s.unnamed80___U14);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 22; continue; }
r0 = pxsim_Array__getAt(s.unnamed80___U14, s.unnamed81___U15);
s.tile___17118 = (r0);
r0 = s.s___16956.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___16956;
s.tmp_6.arg1 = s.collisionDirection___17092;
s.tmp_6.arg2 = s.tile___17118;
s.tmp_6.arg3 = s.arg2;
s.callLocIdx = 730; s.pc = 104; return s.tmp_6;
case 104:
r0 = s.retval;
case 20:
case 21:
r0 = (s.unnamed81___U15 + 1);
s.unnamed81___U15 = (r0);
{ step = 19; continue; }
case 22:
s.unnamed80___U14 = (undefined);
r0 = s.s___16956.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___16956;
s.tmp_2.arg1 = undefined;
s.tmp_2.arg2 = undefined;
s.callLocIdx = 731; s.pc = 105; return s.tmp_2;
case 105:
r0 = s.retval;
{ step = 38; continue; }
case 23:
r0 = s.s___16956.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___16956.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___17014);
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___16956;
s.callLocIdx = 732; 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___17014;
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___16956;
s.callLocIdx = 733; 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___16956;
r0 = s.s___16956.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___16956).fields["_vx"] = (0);
case 33:
{ step = 37; continue; }
case 34:
s.tmp_2 = Math_sign__P129_mk(s);
r0 = s.s___16956.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 = 738; 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 = 740; 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___16998 !== 0);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 77; continue; }
r0 = (s.yDiff___16998 > 0);
s.down___17202 = (r0);
r0 = pxsim_numops_toBoolDecr(s.down___17202);
if (!r0) { step = 43; continue; }
s.tmp_1 = game_Hitbox_bottom__P2009_mk(s);
s.tmp_1.arg0 = s.hbox___16981;
s.callLocIdx = 741; 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___16981;
s.callLocIdx = 743; 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___16984 + 8);
s.tmp_6 = r0;
r0 = (s.tmp_5 >> s.tmp_6);
s.y0___17206 = (r0);
r0 = pxsim_Array__mk();
s.collidedTiles___17221 = (r0);
s.tmp_0 = game_Hitbox_left__P2006_mk(s);
s.tmp_0.arg0 = s.hbox___16981;
s.callLocIdx = 747; s.pc = 112; return s.tmp_0;
case 112:
r0 = s.retval;
s.x___17223 = (r0);
case 45:
s.tmp_1 = r0 = s.x___17223;
s.tmp_3 = r0 = s.tileSize___16987;
s.tmp_5 = game_Hitbox_right__P2008_mk(s);
s.tmp_5.arg0 = s.hbox___16981;
s.callLocIdx = 748; 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___17223;
s.tmp_10 = game_Hitbox_right__P2008_mk(s);
s.tmp_10.arg0 = s.hbox___16981;
s.callLocIdx = 750; s.pc = 115; return s.tmp_10;
case 115:
r0 = s.retval;
s.tmp_9.arg1 = r0;
s.callLocIdx = 751; 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___16984 + 8);
s.tmp_11 = r0;
r0 = (s.tmp_7 >> s.tmp_11);
s.x0___17233 = (r0);
s.tmp_1 = tiles_TileMap_isObstacle__P2487_mk(s);
s.tmp_1.arg0 = s.arg2;
s.tmp_1.arg1 = s.x0___17233;
s.tmp_1.arg2 = s.y0___17206;
s.callLocIdx = 754; 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___17233;
s.tmp_2.arg2 = s.y0___17206;
s.callLocIdx = 755; s.pc = 117; return s.tmp_2;
case 117:
r0 = s.retval;
s.obstacle___17247 = (r0);
r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapCollisions_inline__P17255);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.obstacle___17247);
s.tmp_4 = helpers_arraySome__P107_mk(s);
s.tmp_4.arg0 = s.collidedTiles___17221;
s.tmp_4.arg1 = s.tmp_0;
s.callLocIdx = 756; 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___17221, s.obstacle___17247);
case 46:
case 47:
case 48:
case 49:
r0 = (s.tileSize___16987 << 8);
s.tmp_0 = r0;
r0 = (s.tmp_0 + s.x___17223);
s.x___17223 = (r0);
{ step = 45; continue; }
case 50:
r0 = pxsim_Array__length(s.collidedTiles___17221);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 75; continue; }
r0 = pxsim_numops_toBoolDecr(s.down___17202);
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___17274 = (s.tmp_1);
r0 = pxsim_numops_toBoolDecr(s.down___17202);
if (!r0) { step = 53; continue; }
r0 = (s.y0___17206 << s.tileScale___16984);
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___16981.fields["height"];
s.tmp_3 = r0;
r0 = (s.tmp_0 - s.tmp_3);
{ step = 54; continue; }
case 53:
r0 = (s.y0___17206 + 1);
s.tmp_5 = r0;
r0 = (s.tmp_5 << s.tileScale___16984);
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___16956;
r0 = s.hbox___16981.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___17300 = (undefined);
s.unnamed82___U24 = (s.collidedTiles___17221);
s.unnamed83___U25 = (0);
case 55:
s.tmp_0 = r0 = s.unnamed83___U25;
r0 = pxsim_Array__length(s.unnamed82___U24);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 58; continue; }
r0 = pxsim_Array__getAt(s.unnamed82___U24, s.unnamed83___U25);
s.tile___17300 = (r0);
r0 = s.s___16956.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___16956;
s.tmp_6.arg1 = s.collisionDirection___17274;
s.tmp_6.arg2 = s.tile___17300;
s.tmp_6.arg3 = s.arg2;
s.callLocIdx = 762; s.pc = 119; return s.tmp_6;
case 119:
r0 = s.retval;
case 56:
case 57:
r0 = (s.unnamed83___U25 + 1);
s.unnamed83___U25 = (r0);
{ step = 55; continue; }
case 58:
s.unnamed82___U24 = (undefined);
r0 = s.s___16956.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___16956;
s.tmp_2.arg1 = undefined;
s.tmp_2.arg2 = undefined;
s.callLocIdx = 763; s.pc = 120; return s.tmp_2;
case 120:
r0 = s.retval;
{ step = 74; continue; }
case 59:
r0 = s.s___16956.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___16956.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___17202);
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___16956;
s.callLocIdx = 764; 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___17202;
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___16956;
s.callLocIdx = 765; 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___16956;
r0 = s.s___16956.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___16956).fields["_vy"] = (0);
case 69:
{ step = 73; continue; }
case 70:
s.tmp_2 = Math_sign__P129_mk(s);
r0 = s.s___16956.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 = 770; 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 = 772; 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___16956.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___17387 = (r0);
s.tmp_0 = game_Hitbox_left__P2006_mk(s);
s.tmp_0.arg0 = s.hbox___16981;
s.callLocIdx = 773; s.pc = 125; return s.tmp_0;
case 125:
r0 = s.retval;
s.x___17389 = (r0);
case 81:
s.tmp_1 = r0 = s.x___17389;
s.tmp_3 = r0 = s.tileSize___16987;
s.tmp_5 = game_Hitbox_right__P2008_mk(s);
s.tmp_5.arg0 = s.hbox___16981;
s.callLocIdx = 774; 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___17389;
s.tmp_10 = game_Hitbox_right__P2008_mk(s);
s.tmp_10.arg0 = s.hbox___16981;
s.callLocIdx = 776; s.pc = 128; return s.tmp_10;
case 128:
r0 = s.retval;
s.tmp_9.arg1 = r0;
s.callLocIdx = 777; 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___16984 + 8);
s.tmp_11 = r0;
r0 = (s.tmp_7 >> s.tmp_11);
s.x0___17399 = (r0);
s.tmp_0 = game_Hitbox_top__P2007_mk(s);
s.tmp_0.arg0 = s.hbox___16981;
s.callLocIdx = 780; s.pc = 129; return s.tmp_0;
case 129:
r0 = s.retval;
s.y___17409 = (r0);
case 82:
s.tmp_1 = r0 = s.y___17409;
s.tmp_3 = r0 = s.tileSize___16987;
s.tmp_5 = game_Hitbox_bottom__P2009_mk(s);
s.tmp_5.arg0 = s.hbox___16981;
s.callLocIdx = 781; 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___17409;
s.tmp_10 = game_Hitbox_bottom__P2009_mk(s);
s.tmp_10.arg0 = s.hbox___16981;
s.callLocIdx = 783; s.pc = 132; return s.tmp_10;
case 132:
r0 = s.retval;
s.tmp_9.arg1 = r0;
s.callLocIdx = 784; 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___16984 + 8);
s.tmp_11 = r0;
r0 = (s.tmp_7 >> s.tmp_11);
s.y0___17419 = (r0);
s.tmp_3 = tiles_TileMap_isObstacle__P2487_mk(s);
s.tmp_3.arg0 = s.arg2;
s.tmp_3.arg1 = s.x0___17399;
s.tmp_3.arg2 = s.y0___17419;
s.callLocIdx = 787; 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___16956.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___17387;
s.tmp_12 = tiles_TileMap_getTile__P2480_mk(s);
s.tmp_12.arg0 = s.arg2;
s.tmp_12.arg1 = s.x0___17399;
s.tmp_12.arg2 = s.y0___17419;
s.callLocIdx = 788; 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___16987 << 8);
s.tmp_0 = r0;
r0 = (s.tmp_0 + s.y___17409);
s.y___17409 = (r0);
{ step = 82; continue; }
case 87:
r0 = (s.tileSize___16987 << 8);
s.tmp_0 = r0;
r0 = (s.tmp_0 + s.x___17389);
s.x___17389 = (r0);
{ step = 81; continue; }
case 88:
r0 = pxsim_Array__length(s.overlappedTiles___17387);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 89; continue; }
s.tmp_1 = ArcadePhysicsEngine_tilemapOverlaps__P4239_mk(s);
s.tmp_1.arg0 = s.arg0;
s.tmp_1.arg1 = s.s___16956;
s.tmp_1.arg2 = s.overlappedTiles___17387;
s.callLocIdx = 791; 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__P4238.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__P4238_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_tilemapCollisions__P4238, depth: s.depth + 1,
pc: 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___16956: undefined,
hbox___16981: undefined,
tileScale___16984: undefined,
tileSize___16987: undefined,
xDiff___16991: undefined,
yDiff___16998: undefined,
right___17014: undefined,
x0___17018: undefined,
collidedTiles___17033: undefined,
y___17035: undefined,
y0___17049: undefined,
obstacle___17065: undefined,
collisionDirection___17092: undefined,
tile___17118: undefined,
unnamed80___U14: undefined,
unnamed81___U15: undefined,
down___17202: undefined,
y0___17206: undefined,
collidedTiles___17221: undefined,
x___17223: undefined,
x0___17233: undefined,
obstacle___17247: undefined,
collisionDirection___17274: undefined,
tile___17300: undefined,
unnamed82___U24: undefined,
unnamed83___U25: undefined,
overlappedTiles___17387: undefined,
x___17389: undefined,
x0___17399: undefined,
y___17409: undefined,
y0___17419: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function ArcadePhysicsEngine_tilemapCollisions_inline__P17073(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P17073.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__P17073_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P17073, 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__P17255(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P17255.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__P17255_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_tilemapCollisions_inline__P17255, 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__P4239(s) {
let r0 = s.r0, step = 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___17466 = undefined;
s.tile___17469 = undefined;
s.unnamed84___U2 = undefined;
s.unnamed85___U3 = undefined;
s.tileOverlapHandlers___17490 = 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___17466 = (r0);
s.tile___17469 = (undefined);
s.unnamed84___U2 = (s.arg2);
s.unnamed85___U3 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed85___U3;
r0 = pxsim_Array__length(s.unnamed84___U2);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 7; continue; }
r0 = pxsim_Array__getAt(s.unnamed84___U2, s.unnamed85___U3);
s.tile___17469 = (r0);
r0 = pxsim_pxtcore_mkAction(1, ArcadePhysicsEngine_tilemapOverlaps_inline__P17473);
s.tmp_2 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_2, 0, s.tile___17469);
s.tmp_4 = helpers_arraySome__P107_mk(s);
s.tmp_4.arg0 = s.alreadyHandled___17466;
s.tmp_4.arg1 = s.tmp_2;
s.callLocIdx = 796; 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___17466, s.tile___17469);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 797; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
r0 = r0.fields["tileOverlapHandlers"];
s.tileOverlapHandlers___17490 = (r0);
r0 = pxsim_numops_toBoolDecr(s.tileOverlapHandlers___17490);
if (!r0) { step = 4; continue; }
r0 = pxsim_pxtcore_mkAction(2, forEach_inline__P17498);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg1);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.tile___17469);
r0 = pxsim_pxtcore_mkAction(2, ArcadePhysicsEngine_tilemapOverlaps_inline__P17514);
s.tmp_1 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_1, 0, s.arg1);
r0 = pxsim_pxtrt_stclo(s.tmp_1, 1, s.tile___17469);
s.tmp_2 = helpers_arrayForEach__P109_mk(s);
s.tmp_3 = helpers_arrayFilter__P110_mk(s);
s.tmp_3.arg0 = s.tileOverlapHandlers___17490;
s.tmp_3.arg1 = s.tmp_0;
s.callLocIdx = 800; 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 = 802; s.pc = 10; return s.tmp_2;
case 10:
r0 = s.retval;
case 4:
case 5:
case 6:
r0 = (s.unnamed85___U3 + 1);
s.unnamed85___U3 = (r0);
{ step = 1; continue; }
case 7:
s.unnamed84___U2 = (undefined);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
ArcadePhysicsEngine_tilemapOverlaps__P4239.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__P4239_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps__P4239, depth: s.depth + 1,
pc: 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___17466: undefined,
tile___17469: undefined,
unnamed84___U2: undefined,
unnamed85___U3: undefined,
tileOverlapHandlers___17490: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function ArcadePhysicsEngine_tilemapOverlaps_inline__P17473(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P17473.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__P17473_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P17473, depth: s.depth + 1,
pc: 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__P17498(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 799; 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__P17498.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__P17498_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: forEach_inline__P17498, depth: s.depth + 1,
pc: 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__P17514(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 801; 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 = 801; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 801; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 801; s.pc = 1; return s.tmp_0; }
}
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
ArcadePhysicsEngine_tilemapOverlaps_inline__P17514.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__P17514_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_tilemapOverlaps_inline__P17514, 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___17522 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1030; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.scene___17522 = (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___17522.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(_hex17532);
{ step = 5; continue; }
case 3:
case 4:
s.tmp_5 = tiles_TileMap_getTileImage__P2490_mk(s);
r0 = s.scene___17522.fields["tileMap"];
s.tmp_5.arg0 = r0;
s.tmp_6 = tiles_Location_tileSet__P2435_mk(s);
s.tmp_6.arg0 = s.arg0;
s.callLocIdx = 1031; s.pc = 8; return s.tmp_6;
case 8:
r0 = s.retval;
s.tmp_5.arg1 = r0;
s.callLocIdx = 1032; 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___17522: undefined,
arg0: undefined,
} }
const _hex17532 = 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 = 1029; 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_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___17587 = undefined;
s.cachedImage___17591 = undefined;
s.originalImage___17598 = 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___17587 = (r0);
r0 = s.arg0.fields["cachedTileView"];
s.tmp_0 = r0;
r0 = pxsim_Array__getAt(s.tmp_0, s.arg1);
s.cachedImage___17591 = (r0);
r0 = pxsim_numops_toBoolDecr(s.cachedImage___17591);
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___17598 = (r0);
r0 = pxsim_numops_toBoolDecr(s.originalImage___17598);
if (!r0) { step = 5; continue; }
r0 = pxsim_ImageMethods.width(s.originalImage___17598);
s.tmp_1 = r0;
r0 = (s.tmp_1 <= s.size___17587);
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___17598);
s.tmp_2 = r0;
r0 = (s.tmp_2 <= s.size___17587);
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___17591 = (s.originalImage___17598);
{ step = 4; continue; }
case 3:
r0 = pxsim.image.create(s.size___17587, s.size___17587);
s.cachedImage___17591 = (r0);
r0 = pxsim_ImageMethods.drawImage(s.cachedImage___17591, s.originalImage___17598, 0, 0);
case 4:
r0 = s.arg0.fields["cachedTileView"];
s.tmp_0 = r0;
r0 = pxsim_Array_.setAt(s.tmp_0, s.arg1, s.cachedImage___17591);
case 5:
case 6:
case 7:
case 8:
r0 = s.cachedImage___17591;
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___17587: undefined,
cachedImage___17591: undefined,
originalImage___17598: undefined,
arg0: undefined,
arg1: 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_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 = 960; 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 = 961; 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 = 984; 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_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 = 963; 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 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 = 951; 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_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___17761 = undefined;
s.tile___17773 = 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 = 1008; 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 = 1009; 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___17761 = (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___17761;
s.callLocIdx = 1010; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.tile___17773 = (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___17773;
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___17761;
s.callLocIdx = 1014; 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___17761: undefined,
tile___17773: 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 = 1006; 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 = 982; 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 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 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___17674 = undefined;
s.wallCollisionHandlers___17681 = undefined;
s.wallHandlersToRun___17706 = undefined;
s.asTileLocation___17719 = 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 = 523; 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 = 524; 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___17674 = (r0);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 525; s.pc = 11; return s.tmp_0;
case 11:
r0 = s.retval;
r0 = r0.fields["wallCollisionHandlers"];
s.wallCollisionHandlers___17681 = (r0);
r0 = pxsim_numops_toBoolDecr(s.collisionHandlers___17674);
if (!r0) { step = 1; continue; }
r0 = pxsim_pxtcore_mkAction(1, forEach_inline__P17689);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_pxtcore_mkAction(1, Sprite_registerObstacle_inline__P17695);
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___17674;
s.tmp_3.arg1 = s.tmp_0;
s.callLocIdx = 527; 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 = 529; s.pc = 12; return s.tmp_2;
case 12:
r0 = s.retval;
case 1:
case 2:
r0 = pxsim_numops_toBoolDecr(s.wallCollisionHandlers___17681);
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 = 530; 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__P17708);
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___17681;
s.tmp_1.arg1 = s.tmp_0;
s.callLocIdx = 532; s.pc = 15; return s.tmp_1;
case 15:
r0 = s.retval;
s.wallHandlersToRun___17706 = (r0);
r0 = pxsim_Array__length(s.wallHandlersToRun___17706);
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 = 533; 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 = 535; 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 = 537; s.pc = 16; return s.tmp_1;
case 16:
r0 = s.retval;
s.asTileLocation___17719 = (r0);
r0 = pxsim_pxtcore_mkAction(2, Sprite_registerObstacle_inline__P17735);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.asTileLocation___17719);
s.tmp_1 = helpers_arrayForEach__P109_mk(s);
s.tmp_1.arg0 = s.wallHandlersToRun___17706;
s.tmp_1.arg1 = s.tmp_0;
s.callLocIdx = 539; 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___17674: undefined,
wallCollisionHandlers___17681: undefined,
wallHandlersToRun___17706: undefined,
asTileLocation___17719: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function forEach_inline__P17689(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P17689.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__P17689_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: forEach_inline__P17689, 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__P17695(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 528; 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 = 528; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 528; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 528; s.pc = 1; return s.tmp_0; }
}
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
Sprite_registerObstacle_inline__P17695.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__P17695_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Sprite_registerObstacle_inline__P17695, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function wallHandlersToRun_inline__P17708(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P17708.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__P17708_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: wallHandlersToRun_inline__P17708, 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__P17735(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 538; 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 = 538; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 538; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 538; s.pc = 1; return s.tmp_0; }
}
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
Sprite_registerObstacle_inline__P17735.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__P17735_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Sprite_registerObstacle_inline__P17735, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: 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___17743 = undefined;
s.i___17746 = 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___17743 = (r0);
s.i___17746 = (0);
case 1:
r0 = (s.i___17746 < s.len___17743);
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___17746);
s.tmp_2.arg0 = r0;
s.tmp_2.arg1 = s.i___17746;
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___17746 + 1);
s.i___17746 = (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___17743: undefined,
i___17746: 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___16854 = undefined;
s.left___16857 = undefined;
s.right___16863 = undefined;
s.top___16869 = undefined;
s.bottom___16875 = undefined;
s.col___16881 = undefined;
s.row___16887 = 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___16854 = (r0);
s.tmp_1 = game_Hitbox_left__P2006_mk(s);
s.tmp_1.arg0 = s.hbox___16854;
s.callLocIdx = 1015; 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___16857 = (r0);
s.tmp_1 = game_Hitbox_right__P2008_mk(s);
s.tmp_1.arg0 = s.hbox___16854;
s.callLocIdx = 1018; 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___16863 = (r0);
s.tmp_1 = game_Hitbox_top__P2007_mk(s);
s.tmp_1.arg0 = s.hbox___16854;
s.callLocIdx = 1021; 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___16869 = (r0);
s.tmp_1 = game_Hitbox_bottom__P2009_mk(s);
s.tmp_1.arg0 = s.hbox___16854;
s.callLocIdx = 1024; 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___16875 = (r0);
s.col___16881 = (s.left___16857);
case 1:
r0 = (s.col___16881 <= s.right___16863);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 6; continue; }
s.row___16887 = (s.top___16869);
case 2:
r0 = (s.row___16887 <= s.bottom___16875);
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___16881;
s.tmp_2.arg2 = s.row___16887;
s.callLocIdx = 1027; 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___16887 + 1);
s.row___16887 = (r0);
{ step = 2; continue; }
case 5:
r0 = (s.col___16881 + 1);
s.col___16881 = (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___16854: undefined,
left___16857: undefined,
right___16863: undefined,
top___16869: undefined,
bottom___16875: undefined,
col___16881: undefined,
row___16887: 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___17818 = undefined;
s.dt2___17824 = undefined;
s.scene___17828 = undefined;
s.tileMap___17831 = undefined;
s.movingSprites___17834 = undefined;
s.MAX_STEP_COUNT___17865 = undefined;
s.overlapHandlers___17877 = undefined;
s.selected___17884 = undefined;
s.buffers___17885 = undefined;
s.count___17889 = undefined;
s.currMovers___17899 = undefined;
s.remainingMovers___17906 = undefined;
s.ms___17911 = undefined;
s.unnamed74___U13 = undefined;
s.unnamed75___U14 = undefined;
s.s___17913 = undefined;
s.stepX___18006 = undefined;
s.stepY___18020 = 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 = 624; s.pc = 47; return s.tmp_0;
case 47:
r0 = s.retval;
s.dtMs___17818 = (r0);
r0 = pxsim.Math_.idiv(s.dtMs___17818, 2);
s.dt2___17824 = (r0);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 625; s.pc = 48; return s.tmp_0;
case 48:
r0 = s.retval;
s.scene___17828 = (r0);
r0 = s.scene___17828.fields["tileMap"];
s.tileMap___17831 = (r0);
r0 = pxsim_pxtcore_mkAction(3, movingSprites_inline__P17836);
s.tmp_0 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_0, 0, s.arg0);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 1, s.dtMs___17818);
r0 = pxsim_pxtrt_stclo(s.tmp_0, 2, s.dt2___17824);
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 = 627; s.pc = 49; return s.tmp_1;
case 49:
r0 = s.retval;
s.movingSprites___17834 = (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__P17848;
s.callLocIdx = 631; 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 = 632; 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 = 633; 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___17818);
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___17865 = (r0);
s.tmp_0 = helpers_arraySlice__P115_mk(s);
r0 = s.scene___17828.fields["overlapHandlers"];
s.tmp_0.arg0 = r0;
s.tmp_0.arg1 = undefined;
s.tmp_0.arg2 = undefined;
s.callLocIdx = 638; s.pc = 53; return s.tmp_0;
case 53:
r0 = s.retval;
s.overlapHandlers___17877 = (r0);
s.selected___17884 = (0);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.movingSprites___17834);
r0 = pxsim_Array__mk();
s.tmp_1 = r0;
r0 = pxsim_Array__push(s.tmp_0, s.tmp_1);
s.buffers___17885 = (s.tmp_0);
s.count___17889 = (0);
case 1:
r0 = (s.count___17889 < s.MAX_STEP_COUNT___17865);
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___17885, s.selected___17884);
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___17885, s.selected___17884);
s.currMovers___17899 = (r0);
r0 = (s.selected___17884 ^ 1);
s.selected___17884 = (r0);
r0 = pxsim_Array__getAt(s.buffers___17885, s.selected___17884);
s.remainingMovers___17906 = (r0);
s.ms___17911 = (undefined);
s.unnamed74___U13 = (s.currMovers___17899);
s.unnamed75___U14 = (0);
case 4:
s.tmp_0 = r0 = s.unnamed75___U14;
r0 = pxsim_Array__length(s.unnamed74___U13);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 43; continue; }
r0 = pxsim_Array__getAt(s.unnamed74___U13, s.unnamed75___U14);
s.ms___17911 = (r0);
r0 = s.ms___17911.fields["sprite"];
s.s___17913 = (r0);
r0 = s.ms___17911.fields["cachedVx"];
s.tmp_1 = r0;
r0 = s.s___17913.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___17913.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___17911).fields["dx"] = (0);
{ step = 14; continue; }
case 5:
r0 = s.s___17913.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___17911.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___17913.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___17911.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___17911;
r0 = s.ms___17911.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___17911;
r0 = s.ms___17911.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___17913.fields["_vx"];
s.tmp_0 = r0;
r0 = (s.ms___17911).fields["cachedVx"] = (s.tmp_0);
case 15:
case 16:
r0 = s.ms___17911.fields["cachedVy"];
s.tmp_1 = r0;
r0 = s.s___17913.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___17913.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___17911).fields["dy"] = (0);
{ step = 26; continue; }
case 17:
r0 = s.s___17913.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___17911.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___17913.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___17911.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___17911;
r0 = s.ms___17911.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___17911;
r0 = s.ms___17911.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___17913.fields["_vy"];
s.tmp_0 = r0;
r0 = (s.ms___17911).fields["cachedVy"] = (s.tmp_0);
case 27:
case 28:
s.tmp_2 = Fx_abs__P165_mk(s);
r0 = s.ms___17911.fields["xStep"];
s.tmp_2.arg0 = r0;
s.callLocIdx = 643; 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___17911.fields["dx"];
s.tmp_4.arg0 = r0;
s.callLocIdx = 644; 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___17911.fields["dx"];
{ step = 30; continue; }
case 29:
r0 = s.ms___17911.fields["xStep"];
case 30:
// jmp value (already in r0)
s.tmp_5 = r0;
s.stepX___18006 = (s.tmp_5);
s.tmp_2 = Fx_abs__P165_mk(s);
r0 = s.ms___17911.fields["yStep"];
s.tmp_2.arg0 = r0;
s.callLocIdx = 645; 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___17911.fields["dy"];
s.tmp_4.arg0 = r0;
s.callLocIdx = 646; 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___17911.fields["dy"];
{ step = 32; continue; }
case 31:
r0 = s.ms___17911.fields["yStep"];
case 32:
// jmp value (already in r0)
s.tmp_5 = r0;
s.stepY___18020 = (s.tmp_5);
s.tmp_0 = r0 = s.ms___17911;
r0 = s.ms___17911.fields["dx"];
s.tmp_2 = r0;
r0 = (s.tmp_2 - s.stepX___18006);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["dx"] = (s.tmp_1);
s.tmp_0 = r0 = s.ms___17911;
r0 = s.ms___17911.fields["dy"];
s.tmp_2 = r0;
r0 = (s.tmp_2 - s.stepY___18020);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["dy"] = (s.tmp_1);
r0 = s.s___17913.fields["_x"];
s.tmp_0 = r0;
r0 = (s.s___17913).fields["_lastX"] = (s.tmp_0);
r0 = s.s___17913.fields["_y"];
s.tmp_0 = r0;
r0 = (s.s___17913).fields["_lastY"] = (s.tmp_0);
s.tmp_0 = r0 = s.s___17913;
r0 = s.s___17913.fields["_x"];
s.tmp_2 = r0;
r0 = (s.tmp_2 + s.stepX___18006);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["_x"] = (s.tmp_1);
s.tmp_0 = r0 = s.s___17913;
r0 = s.s___17913.fields["_y"];
s.tmp_2 = r0;
r0 = (s.tmp_2 + s.stepY___18020);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["_y"] = (s.tmp_1);
r0 = s.s___17913.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___17913;
s.callLocIdx = 651; s.pc = 58; return s.tmp_4;
case 58:
r0 = s.retval;
case 33:
case 34:
s.tmp_0 = r0 = s.tileMap___17831;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 35; continue; }
r0 = s.tmp_0;
{ step = 36; continue; }
case 35:
r0 = s.tileMap___17831.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__P4238_mk(s);
s.tmp_6.arg0 = s.arg0;
s.tmp_6.arg1 = s.ms___17911;
s.tmp_6.arg2 = s.tileMap___17831;
s.callLocIdx = 653; 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___17911.fields["dx"];
s.tmp_2.arg0 = r0;
s.callLocIdx = 654; 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___17911.fields["dy"];
s.tmp_4.arg0 = r0;
s.callLocIdx = 655; 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___17906, s.ms___17911);
case 41:
case 42:
r0 = (s.unnamed75___U14 + 1);
s.unnamed75___U14 = (r0);
{ step = 4; continue; }
case 43:
s.unnamed74___U13 = (undefined);
s.tmp_0 = ArcadePhysicsEngine_spriteCollisions__P4237_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.currMovers___17899;
s.tmp_0.arg2 = s.overlapHandlers___17877;
s.callLocIdx = 656; s.pc = 62; return s.tmp_0;
case 62:
r0 = s.retval;
case 44:
r0 = pxsim_Array__length(s.currMovers___17899);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 45; continue; }
r0 = pxsim_Array_.pop(s.currMovers___17899);
{ step = 44; continue; }
case 45:
r0 = (s.count___17889 + 1);
s.count___17889 = (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___17818: undefined,
dt2___17824: undefined,
scene___17828: undefined,
tileMap___17831: undefined,
movingSprites___17834: undefined,
MAX_STEP_COUNT___17865: undefined,
overlapHandlers___17877: undefined,
selected___17884: undefined,
buffers___17885: undefined,
count___17889: undefined,
currMovers___17899: undefined,
remainingMovers___17906: undefined,
ms___17911: undefined,
unnamed74___U13: undefined,
unnamed75___U14: undefined,
s___17913: undefined,
stepX___18006: undefined,
stepY___18020: undefined,
arg0: undefined,
arg1: undefined,
} }
function movingSprites_inline__P17836(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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__P4236_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 = 626; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
return leave(s, r0)
default: oops()
} } }
movingSprites_inline__P17836.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__P17836_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: movingSprites_inline__P17836, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
arg0: undefined,
} }
function ArcadePhysicsEngine_move_inline__P17848(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 628; 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 = 629; 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 = 630; 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__P17848.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__P17848_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_move_inline__P17848, depth: s.depth + 1,
pc: 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__P4237(s) {
let r0 = s.r0, step = 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___18121 = undefined;
s.unnamed76___U1 = undefined;
s.unnamed77___U2 = undefined;
s.sprite___18123 = undefined;
s.overSprites___18130 = undefined;
s.overlapper___18138 = undefined;
s.unnamed78___U6 = undefined;
s.unnamed79___U7 = undefined;
s.thisKind___18144 = undefined;
s.otherKind___18148 = undefined;
s.higher___18161 = undefined;
s.lower___18170 = 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___18121 = (undefined);
s.unnamed76___U1 = (s.arg1);
s.unnamed77___U2 = (0);
case 3:
s.tmp_0 = r0 = s.unnamed77___U2;
r0 = pxsim_Array__length(s.unnamed76___U1);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 20; continue; }
r0 = pxsim_Array__getAt(s.unnamed76___U1, s.unnamed77___U2);
s.ms___18121 = (r0);
r0 = s.ms___18121.fields["sprite"];
s.sprite___18123 = (r0);
r0 = s.sprite___18123.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___18121.fields["sprite"];
s.tmp_2.arg1 = r0;
s.callLocIdx = 694; s.pc = 22; return s.tmp_2;
case 22:
r0 = s.retval;
s.overSprites___18130 = (r0);
s.overlapper___18138 = (undefined);
s.unnamed78___U6 = (s.overSprites___18130);
s.unnamed79___U7 = (0);
case 6:
s.tmp_0 = r0 = s.unnamed79___U7;
r0 = pxsim_Array__length(s.unnamed78___U6);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 18; continue; }
r0 = pxsim_Array__getAt(s.unnamed78___U6, s.unnamed79___U7);
s.overlapper___18138 = (r0);
r0 = s.overlapper___18138.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___18123.fields["_kind"];
s.thisKind___18144 = (r0);
r0 = s.overlapper___18138.fields["_kind"];
s.otherKind___18148 = (r0);
r0 = s.sprite___18123.fields["_kindsOverlappedWith"];
s.tmp_2 = r0;
r0 = pxsim_Array_.indexOf(s.tmp_2, s.otherKind___18148, 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___18123.fields["id"];
s.tmp_4 = r0;
r0 = s.overlapper___18138.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___18123;
{ step = 12; continue; }
case 11:
r0 = s.overlapper___18138;
case 12:
// jmp value (already in r0)
s.tmp_6 = r0;
s.higher___18161 = (s.tmp_6);
r0 = (s.higher___18161 === s.sprite___18123);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 13; continue; }
r0 = s.overlapper___18138;
{ step = 14; continue; }
case 13:
r0 = s.sprite___18123;
case 14:
// jmp value (already in r0)
s.tmp_1 = r0;
s.lower___18170 = (s.tmp_1);
r0 = s.higher___18161.fields["_overlappers"];
s.tmp_2 = r0;
r0 = s.lower___18170.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__P18190);
s.tmp_4 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_4, 0, s.thisKind___18144);
r0 = pxsim_pxtrt_stclo(s.tmp_4, 1, s.otherKind___18148);
r0 = pxsim_pxtcore_mkAction(5, ArcadePhysicsEngine_spriteCollisions_inline__P18212);
s.tmp_5 = r0;
r0 = pxsim_pxtrt_stclo(s.tmp_5, 0, s.higher___18161);
r0 = pxsim_pxtrt_stclo(s.tmp_5, 1, s.lower___18170);
r0 = pxsim_pxtrt_stclo(s.tmp_5, 2, s.sprite___18123);
r0 = pxsim_pxtrt_stclo(s.tmp_5, 3, s.overlapper___18138);
r0 = pxsim_pxtrt_stclo(s.tmp_5, 4, s.thisKind___18144);
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 = 697; 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 = 699; s.pc = 23; return s.tmp_6;
case 23:
r0 = s.retval;
case 15:
case 16:
case 17:
r0 = (s.unnamed79___U7 + 1);
s.unnamed79___U7 = (r0);
{ step = 6; continue; }
case 18:
s.unnamed78___U6 = (undefined);
case 19:
r0 = (s.unnamed77___U2 + 1);
s.unnamed77___U2 = (r0);
{ step = 3; continue; }
case 20:
s.unnamed76___U1 = (undefined);
case 21:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
ArcadePhysicsEngine_spriteCollisions__P4237.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__P4237_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_spriteCollisions__P4237, depth: s.depth + 1,
pc: 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___18121: undefined,
unnamed76___U1: undefined,
unnamed77___U2: undefined,
sprite___18123: undefined,
overSprites___18130: undefined,
overlapper___18138: undefined,
unnamed78___U6: undefined,
unnamed79___U7: undefined,
thisKind___18144: undefined,
otherKind___18148: undefined,
higher___18161: undefined,
lower___18170: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function forEach_inline__P18190(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P18190.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__P18190_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: forEach_inline__P18190, depth: s.depth + 1,
pc: 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__P18212(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, 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__P18222);
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__P18212.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__P18212_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P18212, 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__P18222(s) {
let r0 = s.r0, 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 = 698; 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 = 698; s.pc = 7; return s.tmp_12; }
else if (s.tmp_12.fn.isGetter) { s.tmp_12.stage2Call = true; s.callLocIdx = 698; s.pc = 7; return s.tmp_12;; }
else { s.callLocIdx = 698; 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__P18222.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__P18222_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_spriteCollisions_inline__P18222, depth: s.depth + 1,
pc: 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___18255 = undefined;
s.o___18259 = 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 = 568; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.n___18255 = (r0);
r0 = pxsim_pxtcore_mkAction(1, o_inline__P18261);
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___18255;
s.tmp_1.arg1 = s.tmp_0;
s.callLocIdx = 570; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
s.o___18259 = (r0);
r0 = s.o___18259;
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___18255: undefined,
o___18259: undefined,
arg0: undefined,
arg1: undefined,
} }
function o_inline__P18261(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && 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 = 569; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
return leave(s, r0)
default: oops()
} } }
o_inline__P18261.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__P18261_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: o_inline__P18261, 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___18509 = undefined;
s.layer___18511 = 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___18509 = (r0);
r0 = s.arg1.fields["layer"];
s.layer___18511 = (r0);
s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4201_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_1 = Sprite_left__P2186_mk(s);
s.tmp_1.arg0 = s.arg1;
s.callLocIdx = 556; 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 = 557; s.pc = 3; return s.tmp_2;
case 3:
r0 = s.retval;
s.tmp_0.arg2 = r0;
s.tmp_0.arg3 = s.layer___18511;
s.tmp_0.arg4 = s.n___18509;
s.callLocIdx = 558; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4201_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_1 = Sprite_left__P2186_mk(s);
s.tmp_1.arg0 = s.arg1;
s.callLocIdx = 559; 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 = 560; s.pc = 6; return s.tmp_2;
case 6:
r0 = s.retval;
s.tmp_0.arg2 = r0;
s.tmp_0.arg3 = s.layer___18511;
s.tmp_0.arg4 = s.n___18509;
s.callLocIdx = 561; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4201_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_1 = Sprite_right__P2188_mk(s);
s.tmp_1.arg0 = s.arg1;
s.callLocIdx = 562; 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 = 563; s.pc = 9; return s.tmp_2;
case 9:
r0 = s.retval;
s.tmp_0.arg2 = r0;
s.tmp_0.arg3 = s.layer___18511;
s.tmp_0.arg4 = s.n___18509;
s.callLocIdx = 564; s.pc = 7; return s.tmp_0;
case 7:
r0 = s.retval;
s.tmp_0 = sprites_SpriteMap_mergeAtKey__P4201_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_1 = Sprite_right__P2188_mk(s);
s.tmp_1.arg0 = s.arg1;
s.callLocIdx = 565; 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 = 566; s.pc = 12; return s.tmp_2;
case 12:
r0 = s.retval;
s.tmp_0.arg2 = r0;
s.tmp_0.arg3 = s.layer___18511;
s.tmp_0.arg4 = s.n___18509;
s.callLocIdx = 567; s.pc = 10; return s.tmp_0;
case 10:
r0 = s.retval;
r0 = pxsim_Array_.removeElement(s.n___18509, s.arg1);
r0 = s.n___18509;
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___18509: undefined,
layer___18511: undefined,
arg0: undefined,
arg1: undefined,
} }
function sprites_SpriteMap_mergeAtKey__P4201(s) {
let r0 = s.r0, step = 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___18560 = undefined;
s.bucket___18565 = undefined;
s.sprite___18572 = undefined;
s.unnamed72___U3 = undefined;
s.unnamed73___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__P4199_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.arg1;
s.tmp_0.arg2 = s.arg2;
s.callLocIdx = 594; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
s.k___18560 = (r0);
r0 = s.arg0.fields["buckets"];
s.tmp_0 = r0;
r0 = pxsim_Array__getAt(s.tmp_0, s.k___18560);
s.bucket___18565 = (r0);
r0 = pxsim_numops_toBoolDecr(s.bucket___18565);
if (!r0) { step = 7; continue; }
s.sprite___18572 = (undefined);
s.unnamed72___U3 = (s.bucket___18565);
s.unnamed73___U4 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed73___U4;
r0 = pxsim_Array__length(s.unnamed72___U3);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 6; continue; }
r0 = pxsim_Array__getAt(s.unnamed72___U3, s.unnamed73___U4);
s.sprite___18572 = (r0);
r0 = s.sprite___18572.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___18572, 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___18572);
case 4:
case 5:
r0 = (s.unnamed73___U4 + 1);
s.unnamed73___U4 = (r0);
{ step = 1; continue; }
case 6:
s.unnamed72___U3 = (undefined);
case 7:
case 8:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
sprites_SpriteMap_mergeAtKey__P4201.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__P4201_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: sprites_SpriteMap_mergeAtKey__P4201, depth: s.depth + 1,
pc: 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___18560: undefined,
bucket___18565: undefined,
sprite___18572: undefined,
unnamed72___U3: undefined,
unnamed73___U4: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
arg4: undefined,
} }
function sprites_SpriteMap_key__P4199(s) {
let r0 = s.r0, step = 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___18593 = undefined;
s.yi___18605 = 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 = 582; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.xi___18593 = (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 = 583; s.pc = 2; return s.tmp_0;
case 2:
r0 = s.retval;
s.yi___18605 = (r0);
s.tmp_0 = r0 = s.xi___18593;
r0 = s.arg0.fields["columnCount"];
s.tmp_2 = r0;
r0 = (s.yi___18605 * s.tmp_2);
s.tmp_1 = r0;
r0 = (s.tmp_0 + s.tmp_1);
return leave(s, r0)
default: oops()
} } }
sprites_SpriteMap_key__P4199.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__P4199_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: sprites_SpriteMap_key__P4199, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
xi___18593: undefined,
yi___18605: 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 = 415; 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 = 416; 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 = 407; 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 = 408; 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___18325 = undefined;
s.B___18326 = 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 = 493; 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__P4198_mk(s);
s.tmp_12.arg0 = s.arg0;
s.callLocIdx = 494; 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__P4198_mk(s);
s.tmp_15.arg0 = s.arg1;
s.callLocIdx = 495; 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 = 496; 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 = 497; 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 = 498; 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 = 499; 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 = 500; 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 = 501; 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 = 502; 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 = 503; 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 = 504; 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 = 505; 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 = 506; 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 = 507; 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___18325 = (s.arg0);
s.B___18326 = (s.arg1);
{ step = 21; continue; }
case 20:
s.A___18325 = (s.arg1);
s.B___18326 = (s.arg0);
case 21:
s.tmp_0 = helpers_imageBlit__P1752_mk(s);
r0 = s.A___18325.fields["_image"];
s.tmp_0.arg0 = r0;
s.tmp_3 = Sprite_left__P2186_mk(s);
s.tmp_3.arg0 = s.B___18326;
s.callLocIdx = 509; 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___18325;
s.callLocIdx = 510; 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___18325;
s.callLocIdx = 511; 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___18326;
s.callLocIdx = 512; 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___18325;
s.callLocIdx = 513; 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___18325;
s.callLocIdx = 514; 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___18326;
s.callLocIdx = 515; 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___18325;
s.callLocIdx = 516; 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___18326;
s.callLocIdx = 517; 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___18325;
s.callLocIdx = 518; 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___18326.fields["_image"];
s.tmp_0.arg5 = r0;
s.tmp_0.arg6 = 0;
s.tmp_0.arg7 = 0;
r0 = s.B___18326.fields["_image"];
s.tmp_23 = r0;
r0 = pxsim_ImageMethods.width(s.tmp_23);
s.tmp_0.arg8 = r0;
r0 = s.B___18326.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 = 522; 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___18325: undefined,
B___18326: undefined,
arg0: undefined,
arg1: undefined,
} }
function Sprite_isScaled__P4198(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4198.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__P4198_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: Sprite_isScaled__P4198, depth: s.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 = 268; 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 = 269; s.pc = 20; return s.tmp_3;
case 20:
r0 = s.retval;
s.tmp_1.arg2 = r0;
s.callLocIdx = 270; 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 = 271; 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 = 272; s.pc = 23; return s.tmp_7;
case 23:
r0 = s.retval;
s.tmp_5.arg2 = r0;
s.callLocIdx = 273; 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 = 274; 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 = 275; s.pc = 26; return s.tmp_11;
case 26:
r0 = s.retval;
s.tmp_9.arg2 = r0;
s.callLocIdx = 276; 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 = 277; 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 = 278; s.pc = 29; return s.tmp_15;
case 29:
r0 = s.retval;
s.tmp_13.arg2 = r0;
s.callLocIdx = 279; 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 = 280; 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 = 281; s.pc = 32; return s.tmp_19;
case 32:
r0 = s.retval;
s.tmp_17.arg2 = r0;
s.callLocIdx = 282; 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 = 283; 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 = 284; s.pc = 35; return s.tmp_23;
case 35:
r0 = s.retval;
s.tmp_21.arg2 = r0;
s.callLocIdx = 285; 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 = 286; 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 = 287; s.pc = 38; return s.tmp_27;
case 38:
r0 = s.retval;
s.tmp_25.arg2 = r0;
s.callLocIdx = 288; 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 = 289; 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 = 290; s.pc = 41; return s.tmp_31;
case 41:
r0 = s.retval;
s.tmp_29.arg2 = r0;
s.callLocIdx = 291; 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 = 264; 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 = 265; 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 = 266; 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 = 267; 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___4092;
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___4092 = (s.tmp_1);
s.tmp_0 = r0 = globals._blitArgs___4092;
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___4092;
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___4092;
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___4092;
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___4092;
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___4092;
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___4092;
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___4092;
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___4092, 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___4092, 9, s.tmp_0);
r0 = pxsim_ImageMethods._blit(s.arg0, s.arg5, globals._blitArgs___4092);
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__P4236(s) {
let r0 = s.r0, step = 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___18805 = undefined;
s.ovy___18810 = undefined;
s.fx___18837 = undefined;
s.c___18844 = undefined;
s.fy___18887 = undefined;
s.c___18894 = undefined;
s.dx___18933 = undefined;
s.dy___18946 = undefined;
s.xStep___18959 = undefined;
s.yStep___18961 = 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__P4241_mk(s);
s.tmp_0.arg0 = s.arg0;
r0 = s.arg1.fields["_vx"];
s.tmp_0.arg1 = r0;
s.callLocIdx = 657; s.pc = 25; return s.tmp_0;
case 25:
r0 = s.retval;
s.ovx___18805 = (r0);
s.tmp_0 = ArcadePhysicsEngine_constrain__P4241_mk(s);
s.tmp_0.arg0 = s.arg0;
r0 = s.arg1.fields["_vy"];
s.tmp_0.arg1 = r0;
s.callLocIdx = 658; s.pc = 26; return s.tmp_0;
case 26:
r0 = s.retval;
s.ovy___18810 = (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___18837 = (r0);
r0 = s.arg1.fields["_vx"];
s.tmp_0 = r0;
r0 = (s.tmp_0 - s.fx___18837);
s.c___18844 = (r0);
r0 = (s.c___18844 < 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___18837);
s.tmp_3.arg1 = r0;
s.callLocIdx = 666; 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___18844 > 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___18837);
s.tmp_3.arg1 = r0;
s.callLocIdx = 668; 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___18887 = (r0);
r0 = s.arg1.fields["_vy"];
s.tmp_0 = r0;
r0 = (s.tmp_0 - s.fy___18887);
s.c___18894 = (r0);
r0 = (s.c___18894 < 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___18887);
s.tmp_3.arg1 = r0;
s.callLocIdx = 676; 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___18894 > 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___18887);
s.tmp_3.arg1 = r0;
s.callLocIdx = 678; 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__P4241_mk(s);
s.tmp_2.arg0 = s.arg0;
r0 = s.arg1.fields["_vx"];
s.tmp_2.arg1 = r0;
s.callLocIdx = 679; 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__P4241_mk(s);
s.tmp_2.arg0 = s.arg0;
r0 = s.arg1.fields["_vy"];
s.tmp_2.arg1 = r0;
s.callLocIdx = 680; 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___18805);
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___18933 = (r0);
r0 = s.arg1.fields["_vy"];
s.tmp_4 = r0;
r0 = (s.tmp_4 + s.ovy___18810);
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___18946 = (r0);
s.xStep___18959 = (s.dx___18933);
s.yStep___18961 = (s.dy___18946);
case 17:
s.tmp_2 = Fx_abs__P165_mk(s);
s.tmp_2.arg0 = s.xStep___18959;
s.callLocIdx = 687; 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___18961;
s.callLocIdx = 688; 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___18959;
s.callLocIdx = 689; 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___18959, 2);
s.xStep___18959 = (r0);
case 20:
case 21:
s.tmp_2 = Fx_abs__P165_mk(s);
s.tmp_2.arg0 = s.yStep___18961;
s.callLocIdx = 691; 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___18961, 2);
s.yStep___18961 = (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___18933;
s.tmp_1.arg5 = s.dy___18946;
s.tmp_1.arg6 = s.xStep___18959;
s.tmp_1.arg7 = s.yStep___18961;
s.callLocIdx = 693; s.pc = 37; return s.tmp_1;
case 37:
r0 = s.retval;
r0 = s.tmp_0;
return leave(s, r0)
default: oops()
} } }
ArcadePhysicsEngine_createMovingSprite__P4236.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__P4236_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_createMovingSprite__P4236, depth: s.depth + 1,
pc: 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___18805: undefined,
ovy___18810: undefined,
fx___18837: undefined,
c___18844: undefined,
fy___18887: undefined,
c___18894: undefined,
dx___18933: undefined,
dy___18946: undefined,
xStep___18959: undefined,
yStep___18961: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: undefined,
} }
function ArcadePhysicsEngine_constrain__P4241(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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 = 840; 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 = 841; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
return leave(s, r0)
default: oops()
} } }
ArcadePhysicsEngine_constrain__P4241.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__P4241_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: ArcadePhysicsEngine_constrain__P4241, 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___18625 = undefined;
s.top___18628 = undefined;
s.xn___18631 = undefined;
s.yn___18642 = undefined;
s.x___18653 = undefined;
s.y___18658 = 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 = 585; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.left___18625 = (r0);
s.tmp_0 = Sprite_top__P2190_mk(s);
s.tmp_0.arg0 = s.arg1;
s.callLocIdx = 586; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.top___18628 = (r0);
s.tmp_3 = Sprite_width__P2184_mk(s);
s.tmp_3.arg0 = s.arg1;
s.callLocIdx = 587; 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___18631 = (r0);
s.tmp_3 = Sprite_height__P2185_mk(s);
s.tmp_3.arg0 = s.arg1;
s.callLocIdx = 588; 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___18642 = (r0);
s.x___18653 = (0);
case 1:
r0 = (s.x___18653 <= s.xn___18631);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 4; continue; }
s.y___18658 = (0);
case 2:
r0 = (s.y___18658 <= s.yn___18642);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 3; continue; }
s.tmp_1 = sprites_SpriteMap_insertAtKey__P4200_mk(s);
s.tmp_1.arg0 = s.arg0;
s.tmp_2 = r0 = s.left___18625;
s.tmp_4 = Math_min__P131_mk(s);
s.tmp_5 = Sprite_width__P2184_mk(s);
s.tmp_5.arg0 = s.arg1;
s.callLocIdx = 589; 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___18653 * s.tmp_6);
s.tmp_4.arg1 = r0;
s.callLocIdx = 590; 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___18628;
s.tmp_9 = Math_min__P131_mk(s);
s.tmp_10 = Sprite_height__P2185_mk(s);
s.tmp_10.arg0 = s.arg1;
s.callLocIdx = 591; 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___18658 * s.tmp_11);
s.tmp_9.arg1 = r0;
s.callLocIdx = 592; 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 = 593; s.pc = 9; return s.tmp_1;
case 9:
r0 = s.retval;
r0 = (s.y___18658 + 1);
s.y___18658 = (r0);
{ step = 2; continue; }
case 3:
r0 = (s.x___18653 + 1);
s.x___18653 = (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___18625: undefined,
top___18628: undefined,
xn___18631: undefined,
yn___18642: undefined,
x___18653: undefined,
y___18658: undefined,
arg0: undefined,
arg1: undefined,
} }
function sprites_SpriteMap_insertAtKey__P4200(s) {
let r0 = s.r0, step = 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___18693 = undefined;
s.bucket___18698 = 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__P4199_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.arg1;
s.tmp_0.arg2 = s.arg2;
s.callLocIdx = 584; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
s.k___18693 = (r0);
r0 = s.arg0.fields["buckets"];
s.tmp_0 = r0;
r0 = pxsim_Array__getAt(s.tmp_0, s.k___18693);
s.bucket___18698 = (r0);
r0 = pxsim_numops_toBoolDecr(s.bucket___18698);
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___18693;
r0 = pxsim_Array__mk();
s.tmp_4 = r0;
r0 = pxsim_Array_.setAt(s.tmp_2, s.tmp_3, s.tmp_4);
s.bucket___18698 = (s.tmp_4);
case 1:
case 2:
r0 = pxsim_Array_.indexOf(s.bucket___18698, 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___18698, s.arg3);
case 3:
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
sprites_SpriteMap_insertAtKey__P4200.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__P4200_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: sprites_SpriteMap_insertAtKey__P4200, depth: s.depth + 1,
pc: 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___18693: undefined,
bucket___18698: 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___18728 = undefined;
s.maxHeight___18729 = undefined;
s.sprite___18731 = undefined;
s.unnamed70___U3 = undefined;
s.unnamed71___U4 = undefined;
s.tMap___18747 = undefined;
s.areaWidth___18751 = undefined;
s.areaHeight___18758 = 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___18728 = (0);
s.maxHeight___18729 = (0);
s.sprite___18731 = (undefined);
s.unnamed70___U3 = (s.arg1);
s.unnamed71___U4 = (0);
case 1:
s.tmp_0 = r0 = s.unnamed71___U4;
r0 = pxsim_Array__length(s.unnamed70___U3);
s.tmp_1 = r0;
r0 = (s.tmp_0 < s.tmp_1);
if (!r0) { step = 6; continue; }
r0 = pxsim_Array__getAt(s.unnamed70___U3, s.unnamed71___U4);
s.sprite___18731 = (r0);
s.tmp_4 = Sprite_width__P2184_mk(s);
s.tmp_4.arg0 = s.sprite___18731;
s.callLocIdx = 573; s.pc = 11; return s.tmp_4;
case 11:
r0 = s.retval;
s.tmp_3 = r0;
r0 = (s.tmp_3 > s.maxWidth___18728);
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___18731;
s.callLocIdx = 574; s.pc = 12; return s.tmp_5;
case 12:
r0 = s.retval;
s.maxWidth___18728 = (r0);
case 2:
case 3:
s.tmp_2 = Sprite_height__P2185_mk(s);
s.tmp_2.arg0 = s.sprite___18731;
s.callLocIdx = 575; s.pc = 13; return s.tmp_2;
case 13:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_1 > s.maxHeight___18729);
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___18731;
s.callLocIdx = 576; s.pc = 14; return s.tmp_3;
case 14:
r0 = s.retval;
s.maxHeight___18729 = (r0);
case 4:
case 5:
r0 = (s.unnamed71___U4 + 1);
s.unnamed71___U4 = (r0);
{ step = 1; continue; }
case 6:
s.unnamed70___U3 = (undefined);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 577; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
r0 = r0.fields["tileMap"];
s.tMap___18747 = (r0);
r0 = pxsim_numops_toBoolDecr(s.tMap___18747);
if (!r0) { step = 7; continue; }
s.tmp_0 = tiles_TileMap_areaWidth__P2474_mk(s);
s.tmp_0.arg0 = s.tMap___18747;
s.callLocIdx = 578; 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___18751 = (s.tmp_1);
r0 = pxsim_numops_toBoolDecr(s.tMap___18747);
if (!r0) { step = 9; continue; }
s.tmp_0 = tiles_TileMap_areaHeight__P2475_mk(s);
s.tmp_0.arg0 = s.tMap___18747;
s.callLocIdx = 579; 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___18758 = (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___18751 >> 2);
s.tmp_2.arg1 = r0;
r0 = (s.maxWidth___18728 * 2);
s.tmp_2.arg2 = r0;
s.callLocIdx = 580; 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___18758 >> 2);
s.tmp_2.arg1 = r0;
r0 = (s.maxHeight___18729 * 2);
s.tmp_2.arg2 = r0;
s.callLocIdx = 581; 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___18758, 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___18751, 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___18728: undefined,
maxHeight___18729: undefined,
sprite___18731: undefined,
unnamed70___U3: undefined,
unnamed71___U4: undefined,
tMap___18747: undefined,
areaWidth___18751: undefined,
areaHeight___18758: 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 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 = 623; 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___19026 = undefined;
s.y___19032 = undefined;
s.left___19038 = undefined;
s.top___19043 = undefined;
s.k___19048 = undefined;
s.b___19053 = 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___19026 = (0);
case 1:
r0 = s.arg0.fields["columnCount"];
s.tmp_1 = r0;
r0 = (s.x___19026 < s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 8; continue; }
s.y___19032 = (0);
case 2:
r0 = s.arg0.fields["rowCount"];
s.tmp_1 = r0;
r0 = (s.y___19032 < 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___19026 * s.tmp_2);
s.left___19038 = (r0);
r0 = s.arg0.fields["cellHeight"];
s.tmp_0 = r0;
r0 = (s.y___19032 * s.tmp_0);
s.top___19043 = (r0);
s.tmp_0 = sprites_SpriteMap_key__P4199_mk(s);
s.tmp_0.arg0 = s.arg0;
s.tmp_0.arg1 = s.left___19038;
s.tmp_0.arg2 = s.top___19043;
s.callLocIdx = 571; s.pc = 9; return s.tmp_0;
case 9:
r0 = s.retval;
s.k___19048 = (r0);
r0 = s.arg0.fields["buckets"];
s.tmp_0 = r0;
r0 = pxsim_Array__getAt(s.tmp_0, s.k___19048);
s.b___19053 = (r0);
s.tmp_0 = r0 = s.b___19053;
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___19053);
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___19038;
s.tmp_2.arg2 = s.top___19043;
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 = 572; s.pc = 10; return s.tmp_2;
case 10:
r0 = s.retval;
case 5:
case 6:
r0 = (s.y___19032 + 1);
s.y___19032 = (r0);
{ step = 2; continue; }
case 7:
r0 = (s.x___19026 + 1);
s.x___19026 = (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___19026: undefined,
y___19032: undefined,
left___19038: undefined,
top___19043: undefined,
k___19048: undefined,
b___19053: 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___19090 = 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 = 621; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
r0 = r0.fields["tileMap"];
s.tm___19090 = (r0);
s.tmp_0 = r0 = s.tm___19090;
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___19090;
s.tmp_1.arg1 = s.arg1;
s.callLocIdx = 622; 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___19090: undefined,
arg0: undefined,
arg1: 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 = 962; 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 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 = 968; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = pxsim_pxtcore_mkAction(1, tiles_TileMap_inline__P19151);
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 = 970; 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__P19151(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4308_mk(s);
s.tmp_0.arg0 = s.caps[0];
s.tmp_0.arg1 = s.arg0;
s.tmp_0.arg2 = s.arg1;
s.callLocIdx = 969; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
tiles_TileMap_inline__P19151.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__P19151_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: tiles_TileMap_inline__P19151, 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__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:
s.bitmask___19162 = undefined;
s.offsetX___19168 = undefined;
s.offsetY___19173 = undefined;
s.x0___19178 = undefined;
s.xn___19185 = undefined;
s.y0___19202 = undefined;
s.yn___19209 = undefined;
s.x___19226 = undefined;
s.y___19232 = undefined;
s.index___19238 = undefined;
s.tile___19245 = undefined;
s.x___19281 = undefined;
s.xLine___19287 = undefined;
s.y___19313 = undefined;
s.yLine___19319 = 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___19162 = (r0);
r0 = s.arg2.fields["drawOffsetX"];
s.tmp_0 = r0;
r0 = (s.tmp_0 & s.bitmask___19162);
s.offsetX___19168 = (r0);
r0 = s.arg2.fields["drawOffsetY"];
s.tmp_0 = r0;
r0 = (s.tmp_0 & s.bitmask___19162);
s.offsetY___19173 = (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 = 988; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.x0___19178 = (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 = 991; s.pc = 25; return s.tmp_0;
case 25:
r0 = s.retval;
s.xn___19185 = (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 = 993; s.pc = 26; return s.tmp_0;
case 26:
r0 = s.retval;
s.y0___19202 = (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 = 996; s.pc = 27; return s.tmp_0;
case 27:
r0 = s.retval;
s.yn___19209 = (r0);
s.x___19226 = (s.x0___19178);
case 3:
r0 = (s.x___19226 <= s.xn___19185);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 8; continue; }
s.y___19232 = (s.y0___19202);
case 4:
r0 = (s.y___19232 <= s.yn___19209);
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___19226;
s.tmp_1.arg2 = s.y___19232;
s.callLocIdx = 997; s.pc = 28; return s.tmp_1;
case 28:
r0 = s.retval;
s.index___19238 = (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___19238;
s.callLocIdx = 998; s.pc = 29; return s.tmp_0;
case 29:
r0 = s.retval;
s.tile___19245 = (r0);
r0 = pxsim_numops_toBoolDecr(s.tile___19245);
if (!r0) { step = 5; continue; }
s.tmp_0 = r0 = s.arg1;
s.tmp_1 = r0 = s.tile___19245;
r0 = (s.x___19226 - s.x0___19178);
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___19168);
s.tmp_2 = r0;
r0 = (s.y___19232 - s.y0___19202);
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___19173);
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___19232 + 1);
s.y___19232 = (r0);
{ step = 4; continue; }
case 7:
r0 = (s.x___19226 + 1);
s.x___19226 = (r0);
{ step = 3; continue; }
case 8:
r0 = pxsim_numops_toBoolDecr(globals.debug___2681);
if (!r0) { step = 21; continue; }
s.x___19281 = (s.x0___19178);
case 9:
r0 = (s.x___19281 <= s.xn___19185);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 14; continue; }
r0 = (s.x___19281 - s.x0___19178);
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___19168);
s.xLine___19287 = (r0);
r0 = (s.xLine___19287 >= 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___19287;
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___19287;
s.tmp_4.arg2 = 0;
s.tmp_4.arg3 = s.xLine___19287;
r0 = pxsim_ImageMethods.height(s.arg1);
s.tmp_4.arg4 = r0;
s.tmp_4.arg5 = 1;
s.callLocIdx = 1002; s.pc = 30; return s.tmp_4;
case 30:
r0 = s.retval;
case 12:
case 13:
r0 = (s.x___19281 + 1);
s.x___19281 = (r0);
{ step = 9; continue; }
case 14:
s.y___19313 = (s.y0___19202);
case 15:
r0 = (s.y___19313 <= s.yn___19209);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 20; continue; }
r0 = (s.y___19313 - s.y0___19202);
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___19173);
s.yLine___19319 = (r0);
r0 = (s.yLine___19319 >= 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___19319;
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___19319;
r0 = pxsim_ImageMethods.width(s.arg1);
s.tmp_4.arg3 = r0;
s.tmp_4.arg4 = s.yLine___19319;
s.tmp_4.arg5 = 1;
s.callLocIdx = 1004; s.pc = 31; return s.tmp_4;
case 31:
r0 = s.retval;
case 18:
case 19:
r0 = (s.y___19313 + 1);
s.y___19313 = (r0);
{ step = 15; continue; }
case 20:
case 21:
case 22:
case 23:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
tiles_TileMap_draw__P4308.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__P4308_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: tiles_TileMap_draw__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,
bitmask___19162: undefined,
offsetX___19168: undefined,
offsetY___19173: undefined,
x0___19178: undefined,
xn___19185: undefined,
y0___19202: undefined,
yn___19209: undefined,
x___19226: undefined,
y___19232: undefined,
index___19238: undefined,
tile___19245: undefined,
x___19281: undefined,
xLine___19287: undefined,
y___19313: undefined,
yLine___19319: undefined,
arg0: undefined,
arg1: undefined,
arg2: 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 = 971; 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_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 = 948; 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___19409 = 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 = 1460; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.p___19409 = (r0);
s.tmp_0 = r0 = s.p___19409;
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 = 1461; 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___19409;
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___19409: 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___19421 = 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 = 1442; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
s.p___19421 = (r0);
s.tmp_0 = r0 = s.p___19421;
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 = 1443; 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___19421;
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 = 1444; 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___19421.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 = 1447; 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 = 1448; 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___19421;
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 = 1446; 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___19421.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___19421;
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___19421: undefined,
arg0: undefined,
arg1: 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___19476 = 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 = 1574; 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___19476 = (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___19476);
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__P19489);
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___19476: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
} }
function effects_ImageEffect_startScreenEffect_inline__P19489(s) {
let r0 = s.r0, 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 = 1576; s.pc = 6; return s.tmp_3;
case 6:
r0 = s.retval;
s.tmp_2.arg1 = r0;
s.callLocIdx = 1577; 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 = 1578; 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__P19489.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__P19489_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: effects_ImageEffect_startScreenEffect_inline__P19489, depth: s.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___19508 = undefined;
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 1088; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.scene___19508 = (r0);
s.tmp_0 = scene_Background_image__P2406_mk(s);
r0 = s.scene___19508.fields["background"];
s.tmp_0.arg0 = r0;
s.callLocIdx = 1089; 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___19508: 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 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 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__P4338_mk(s);
s.tmp_0.arg0 = s.arg0;
s.callLocIdx = 1096; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.tmp_0 = game_BaseDialog__C2630_v1_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 = 1097; 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 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 effects_SceneAnchor_height__P4750(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4746_VT)) failedCast(r0);
r0 = pxsim_ImageMethods.height(globals.screen___1829);
return leaveAccessor(s, r0)
default: oops()
} } }
effects_SceneAnchor_height__P4750.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__P4750.isGetter = true;
function effects_SceneAnchor_height__P4750_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: effects_SceneAnchor_height__P4750, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function effects_SceneAnchor_width__P4749(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4746_VT)) failedCast(r0);
r0 = pxsim_ImageMethods.width(globals.screen___1829);
return leaveAccessor(s, r0)
default: oops()
} } }
effects_SceneAnchor_width__P4749.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__P4749.isGetter = true;
function effects_SceneAnchor_width__P4749_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: effects_SceneAnchor_width__P4749, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function effects_SceneAnchor_y__P4748(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4746_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__P4748.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__P4748.isGetter = true;
function effects_SceneAnchor_y__P4748_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: effects_SceneAnchor_y__P4748, depth: s.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__P4747(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__C4746_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__P4747.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__P4747.isGetter = true;
function effects_SceneAnchor_x__P4747_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: effects_SceneAnchor_x__P4747, depth: s.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_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___19553 = undefined;
s.angle___19557 = 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 = 1431; s.pc = 1; return s.tmp_0;
case 1:
r0 = s.retval;
s.p___19553 = (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___4718;
s.tmp_3.arg1 = 0;
r0 = s.arg0.fields["spread"];
s.tmp_3.arg2 = r0;
s.callLocIdx = 1432; 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___19557 = (r0);
s.tmp_0 = r0 = s.p___19553;
r0 = pxsim_Array__getAt(globals.cachedSin___4713, s.angle___19557);
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___19553;
r0 = pxsim_Array__getAt(globals.cachedCos___4714, s.angle___19557);
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___19553;
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___19553: undefined,
angle___19557: undefined,
arg0: undefined,
arg1: 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___19586 = undefined;
s.left___19589 = undefined;
s.top___19599 = 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___19586 = (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___19589 = (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___19599 = (s.tmp_4);
case 5:
r0 = pxsim_numops_toBoolDecr(s.current___19586);
if (!r0) { step = 8; continue; }
r0 = s.current___19586.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__P4704_mk(s);
s.tmp_2.arg0 = s.arg0;
s.tmp_2.arg1 = s.current___19586;
s.tmp_2.arg2 = s.left___19589;
s.tmp_2.arg3 = s.top___19599;
s.callLocIdx = 1361; s.pc = 9; return s.tmp_2;
case 9:
r0 = s.retval;
case 6:
case 7:
r0 = s.current___19586.fields["next"];
s.current___19586 = (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___19586: undefined,
left___19589: undefined,
top___19599: undefined,
arg0: undefined,
arg1: undefined,
} }
function particles_ParticleSource_drawParticle__P4704(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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__P4704.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__P4704_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_ParticleSource_drawParticle__P4704, 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 particles_StarFactory_createParticle__P2930(s) {
let r0 = s.r0, step = 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___19650 = undefined;
s.xRange___19654 = undefined;
s.length___19711 = undefined;
s.i___19724 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.arg1 = (s.lambdaArgs[1]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, particles_StarFactory__C2925_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 = 1511; s.pc = 11; return s.tmp_0;
case 11:
r0 = s.retval;
s.p___19650 = (r0);
s.tmp_1 = if_width_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, "width");
} else {
s.tmp_1.fn = s.tmp_1.arg0.vtable.iface["width"];
if (s.tmp_1.fn == null) { s.retval = s.tmp_1.arg0.fields["width"]; }
else if (!s.tmp_1.fn.isGetter) { s.retval = bind(s.tmp_1); }
else { s.callLocIdx = 1512; s.pc = 12; return s.tmp_1; }
}
case 12:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
s.tmp_3 = if_width_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, "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 = 1513; s.pc = 13; return s.tmp_3; }
}
case 13:
r0 = s.retval;
s.tmp_2 = r0;
r0 = (s.tmp_2 >> 1);
{ step = 2; continue; }
case 1:
r0 = 8;
case 2:
// jmp value (already in r0)
s.tmp_4 = r0;
s.xRange___19654 = (s.tmp_4);
s.tmp_0 = r0 = s.p___19650;
s.tmp_3 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_3.arg0 = r0;
s.tmp_5 = if_x_1_mk(s);
s.tmp_5.arg0 = s.arg1;
if (!s.tmp_5.arg0.vtable.iface) {
s.retval = pxsim_pxtrt.mapGetByString(s.tmp_5.arg0, "x");
} else {
s.tmp_5.fn = s.tmp_5.arg0.vtable.iface["x"];
if (s.tmp_5.fn == null) { s.retval = s.tmp_5.arg0.fields["x"]; }
else if (!s.tmp_5.fn.isGetter) { s.retval = bind(s.tmp_5); }
else { s.callLocIdx = 1514; s.pc = 15; return s.tmp_5; }
}
case 15:
r0 = s.retval;
s.tmp_4 = r0;
r0 = (s.tmp_4 - s.xRange___19654);
s.tmp_3.arg1 = r0;
s.tmp_7 = if_x_1_mk(s);
s.tmp_7.arg0 = s.arg1;
if (!s.tmp_7.arg0.vtable.iface) {
s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "x");
} else {
s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["x"];
if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["x"]; }
else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); }
else { s.callLocIdx = 1515; s.pc = 16; return s.tmp_7; }
}
case 16:
r0 = s.retval;
s.tmp_6 = r0;
r0 = (s.tmp_6 + s.xRange___19654);
s.tmp_3.arg2 = r0;
s.callLocIdx = 1516; s.pc = 14; return s.tmp_3;
case 14:
r0 = s.retval;
s.tmp_2 = r0;
r0 = (s.tmp_2 * 256);
s.tmp_8 = r0;
r0 = (s.tmp_8 | 0);
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 = 1518; s.pc = 17; return s.tmp_1; }
}
case 17:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 3; continue; }
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 = 1519; s.pc = 18; return s.tmp_3; }
}
case 18:
r0 = s.retval;
s.tmp_2 = r0;
s.tmp_6 = if_height_1_mk(s);
s.tmp_6.arg0 = s.arg1;
if (!s.tmp_6.arg0.vtable.iface) {
s.retval = pxsim_pxtrt.mapGetByString(s.tmp_6.arg0, "height");
} else {
s.tmp_6.fn = s.tmp_6.arg0.vtable.iface["height"];
if (s.tmp_6.fn == null) { s.retval = s.tmp_6.arg0.fields["height"]; }
else if (!s.tmp_6.fn.isGetter) { s.retval = bind(s.tmp_6); }
else { s.callLocIdx = 1520; s.pc = 19; return s.tmp_6; }
}
case 19:
r0 = s.retval;
s.tmp_5 = r0;
r0 = (s.tmp_5 >> 1);
s.tmp_4 = r0;
r0 = (s.tmp_2 - s.tmp_4);
{ step = 4; continue; }
case 3:
s.tmp_7 = if_y_1_mk(s);
s.tmp_7.arg0 = s.arg1;
if (!s.tmp_7.arg0.vtable.iface) {
s.retval = pxsim_pxtrt.mapGetByString(s.tmp_7.arg0, "y");
} else {
s.tmp_7.fn = s.tmp_7.arg0.vtable.iface["y"];
if (s.tmp_7.fn == null) { s.retval = s.tmp_7.arg0.fields["y"]; }
else if (!s.tmp_7.fn.isGetter) { s.retval = bind(s.tmp_7); }
else { s.callLocIdx = 1521; s.pc = 20; return s.tmp_7; }
}
case 20:
r0 = s.retval;
case 4:
// jmp value (already in r0)
s.tmp_8 = r0;
s.tmp_9 = r0 = s.p___19650;
r0 = (s.tmp_8 * 256);
s.tmp_11 = r0;
r0 = (s.tmp_11 | 0);
s.tmp_10 = r0;
r0 = (s.tmp_9).fields["_y"] = (s.tmp_10);
s.tmp_0 = r0 = s.p___19650;
s.tmp_3 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_3.arg0 = r0;
r0 = s.arg0.fields["minRate"];
s.tmp_3.arg1 = r0;
r0 = s.arg0.fields["maxRate"];
s.tmp_3.arg2 = r0;
s.callLocIdx = 1523; s.pc = 21; return s.tmp_3;
case 21:
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["vy"] = (s.tmp_1);
s.tmp_0 = r0 = s.p___19650;
r0 = pxsim_ImageMethods.height(globals.screen___1829);
s.tmp_6 = r0;
r0 = (s.tmp_6 + 20);
s.tmp_5 = r0;
r0 = (s.tmp_5 * 256);
s.tmp_7 = r0;
r0 = (s.tmp_7 | 0);
s.tmp_4 = r0;
r0 = s.p___19650.fields["vy"];
s.tmp_8 = r0;
r0 = (s.tmp_4 << 8);
s.tmp_9 = r0;
r0 = pxsim.Math_.idiv(s.tmp_9, s.tmp_8);
s.tmp_3 = r0;
r0 = (1000 * 256);
s.tmp_11 = r0;
r0 = (s.tmp_11 | 0);
s.tmp_10 = r0;
r0 = pxsim.Math_.imul(s.tmp_3, s.tmp_10);
s.tmp_12 = r0;
r0 = (s.tmp_12 >> 8);
s.tmp_2 = r0;
r0 = (s.tmp_2 + 128);
s.tmp_13 = r0;
r0 = (s.tmp_13 >> 8);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["lifespan"] = (s.tmp_1);
r0 = s.arg0.fields["possibleColors"];
s.tmp_1 = r0;
r0 = pxsim_Array__length(s.tmp_1);
s.tmp_0 = r0;
r0 = (s.tmp_0 - 1);
s.length___19711 = (r0);
s.tmp_0 = r0 = s.p___19650;
r0 = s.arg0.fields["possibleColors"];
s.tmp_2 = r0;
r0 = s.arg0.fields["possibleColors"];
s.tmp_5 = r0;
r0 = pxsim_Array__length(s.tmp_5);
s.tmp_4 = r0;
r0 = (s.tmp_4 - 1);
s.tmp_3 = r0;
r0 = pxsim_Array__getAt(s.tmp_2, s.tmp_3);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["color"] = (s.tmp_1);
s.i___19724 = (0);
case 5:
r0 = (s.i___19724 < s.length___19711);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 8; continue; }
s.tmp_2 = Math_FastRandom_percentChance__P2747_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_2.arg0 = r0;
r0 = (s.i___19724 * 10);
s.tmp_3 = r0;
r0 = (80 - s.tmp_3);
s.tmp_2.arg1 = r0;
s.callLocIdx = 1530; s.pc = 22; return s.tmp_2;
case 22:
r0 = s.retval;
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 6; continue; }
s.tmp_4 = r0 = s.p___19650;
r0 = s.arg0.fields["possibleColors"];
s.tmp_6 = r0;
r0 = pxsim_Array__getAt(s.tmp_6, s.i___19724);
s.tmp_5 = r0;
r0 = (s.tmp_4).fields["color"] = (s.tmp_5);
{ step = 8; continue; }
case 6:
case 7:
r0 = (s.i___19724 + 1);
s.i___19724 = (r0);
{ step = 5; continue; }
case 8:
s.tmp_1 = Math_FastRandom_percentChance__P2747_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_1.arg0 = r0;
s.tmp_1.arg1 = 15;
s.callLocIdx = 1531; s.pc = 23; return s.tmp_1;
case 23:
r0 = s.retval;
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 9; continue; }
s.tmp_2 = Math_FastRandom_randomRange__P2744_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_2.arg0 = r0;
s.tmp_2.arg1 = 1;
r0 = s.arg0.fields["images"];
s.tmp_4 = r0;
r0 = pxsim_Array__length(s.tmp_4);
s.tmp_3 = r0;
r0 = (s.tmp_3 - 1);
s.tmp_2.arg2 = r0;
s.callLocIdx = 1532; s.pc = 24; return s.tmp_2;
case 24:
r0 = s.retval;
{ step = 10; continue; }
case 9:
r0 = 0;
case 10:
// jmp value (already in r0)
s.tmp_5 = r0;
r0 = (s.p___19650).fields["data"] = (s.tmp_5);
r0 = s.p___19650;
return leave(s, r0)
default: oops()
} } }
particles_StarFactory_createParticle__P2930.info = {"start":17310,"length":1193,"line":555,"column":8,"endLine":579,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"createParticle","argumentNames":["this","anchor"]}
function particles_StarFactory_createParticle__P2930_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_StarFactory_createParticle__P2930, depth: s.depth + 1,
pc: 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,
p___19650: undefined,
xRange___19654: undefined,
length___19711: undefined,
i___19724: undefined,
arg0: undefined,
arg1: 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 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 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 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 = 552; 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 = 553; 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 = 554; 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 = 555; 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___19847 = undefined;
s.tm___19852 = 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 = 464; 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 = 465; 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 = 466; 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___19847 = (r0);
s.tmp_0 = game_currentScene__P2685_mk(s);
s.callLocIdx = 467; s.pc = 36; return s.tmp_0;
case 36:
r0 = s.retval;
r0 = r0.fields["tileMap"];
s.tm___19852 = (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___19847;
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___19852);
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 = 468; 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 = 471; s.pc = 38; return s.tmp_10;
case 38:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(s.bounce___19847);
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 = 472; 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 = 473; 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 = 474; 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 = 477; s.pc = 42; return s.tmp_6;
case 42:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(s.bounce___19847);
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 = 478; 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 = 479; 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 = 480; 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 = 483; s.pc = 46; return s.tmp_4;
case 46:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(s.bounce___19847);
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 = 484; 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 = 485; 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 = 486; 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 = 489; s.pc = 50; return s.tmp_6;
case 50:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(s.bounce___19847);
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 = 490; 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 = 491; 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___19847: undefined,
tm___19852: 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___19947 = undefined;
s.oy___19955 = 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___19947 = (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___19955 = (s.tmp_2);
s.tmp_3 = Sprite_right__P2188_mk(s);
s.tmp_3.arg0 = s.arg0;
s.callLocIdx = 429; s.pc = 11; return s.tmp_3;
case 11:
r0 = s.retval;
s.tmp_2 = r0;
r0 = (s.tmp_2 - s.ox___19947);
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 = 430; s.pc = 12; return s.tmp_6;
case 12:
r0 = s.retval;
s.tmp_5 = r0;
r0 = (s.tmp_5 - s.oy___19955);
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 = 431; s.pc = 13; return s.tmp_10;
case 13:
r0 = s.retval;
s.tmp_9 = r0;
r0 = (s.tmp_9 - s.ox___19947);
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 = 432; s.pc = 14; return s.tmp_15;
case 14:
r0 = s.retval;
s.tmp_14 = r0;
r0 = (s.tmp_14 - s.oy___19955);
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___19947: undefined,
oy___19955: 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 = 417; 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 = 418; 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 = 409; 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 = 410; 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__P4179(s) {
let r0 = s.r0, step = 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___20015 = undefined;
s.b___20019 = undefined;
s.unnamed62___U2 = undefined;
s.unnamed63___U3 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
r0 = s.arg0;
if (!checkSubtype(r0, controller_AnyButton__C4171_VT)) failedCast(r0);
s.tmp_0 = controller__player1__P1922_mk(s);
s.callLocIdx = 229; s.pc = 6; return s.tmp_0;
case 6:
r0 = s.retval;
s.ctrl___20015 = (r0);
s.b___20019 = (undefined);
r0 = s.ctrl___20015.fields["buttons"];
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 = 4; continue; }
r0 = pxsim_Array__getAt(s.unnamed62___U2, s.unnamed63___U3);
s.b___20019 = (r0);
s.tmp_3 = controller_Button__C1979_v0_1_mk(s);
s.tmp_3.arg0 = s.b___20019;
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.unnamed63___U3 + 1);
s.unnamed63___U3 = (r0);
{ step = 1; continue; }
case 4:
s.unnamed62___U2 = (undefined);
r0 = false;
case 5:
return leave(s, r0)
default: oops()
} } }
controller_AnyButton_isPressed__P4179.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__P4179_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_AnyButton_isPressed__P4179, depth: s.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___20015: undefined,
b___20019: undefined,
unnamed62___U2: undefined,
unnamed63___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 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 = 958; 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 = 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_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 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___20075 = 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 = 954; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
s.tmp_0 = r0;
r0 = s.tmp_0.fields["_scale"];
s.scale___20075 = (r0);
r0 = s.arg0.fields["_row"];
s.tmp_1 = r0;
r0 = (s.tmp_1 << s.scale___20075);
s.tmp_0 = r0;
r0 = (s.scale___20075 - 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___20075: 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___20091 = 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___20091 = (r0);
r0 = s.arg0.fields["_col"];
s.tmp_1 = r0;
r0 = (s.tmp_1 << s.scale___20091);
s.tmp_0 = r0;
r0 = (s.scale___20091 - 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___20091: undefined,
arg0: undefined,
} }
function particles_AshFactory_drawParticle__P2915(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_AshFactory__C2912_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 = s.arg1.fields["color"];
s.tmp_5 = r0;
r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.tmp_5);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_AshFactory_drawParticle__P2915.info = {"start":13926,"length":117,"line":444,"column":8,"endLine":446,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]}
function particles_AshFactory_drawParticle__P2915_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_AshFactory_drawParticle__P2915, depth: s.depth + 1,
pc: 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 particles_FireFactory_drawParticle__P2904(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, 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_FireFactory__C2901_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 = s.arg1.fields["color"];
s.tmp_5 = r0;
r0 = pxsim_ImageMethods.setPixel(s.tmp_0, s.tmp_1, s.tmp_3, s.tmp_5);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_FireFactory_drawParticle__P2904.info = {"start":9548,"length":179,"line":308,"column":8,"endLine":314,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]}
function particles_FireFactory_drawParticle__P2904_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_FireFactory_drawParticle__P2904, depth: s.depth + 1,
pc: 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 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 = 1052; 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 = 1052; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1052; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 1052; 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 = 1051; 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 = 1051; s.pc = 1; return s.tmp_0; }
else if (s.tmp_0.fn.isGetter) { s.tmp_0.stage2Call = true; s.callLocIdx = 1051; s.pc = 1; return s.tmp_0;; }
else { s.callLocIdx = 1051; 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___20143 = 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 = 1455; 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___20143 = (r0);
r0 = s.arg1.fields["color"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.replace(s.pImage___20143, 15, s.tmp_0);
s.tmp_0 = r0 = globals.screen___1829;
s.tmp_1 = r0 = s.pImage___20143;
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___20143: 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 = 1177; 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___20189 = 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___20189 = (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___20189);
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___20189: 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 particles_StarFactory_drawParticle__P2931(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.selected___20252 = 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_StarFactory__C2925_VT)) failedCast(r0);
r0 = pxsim_numops_toBool(32768);
if (r0) { step = 1; continue; }
r0 = 32768;
{ step = 2; continue; }
case 1:
r0 = s.arg1.fields["data"];
case 2:
// jmp value (already in r0)
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 5; continue; }
s.tmp_2 = Math_FastRandom_percentChance__P2747_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_2.arg0 = r0;
s.tmp_2.arg1 = 10;
s.callLocIdx = 1533; s.pc = 11; return s.tmp_2;
case 11:
r0 = s.retval;
s.tmp_1 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_1);
if (!r0) { step = 3; continue; }
r0 = (s.arg1).fields["color"] = (1);
s.tmp_0 = r0 = s.arg1;
r0 = s.tmp_0.fields["data"];
s.tmp_2 = r0;
r0 = (s.tmp_2 & 32767);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["data"] = (s.tmp_1);
case 3:
case 4:
{ step = 10; continue; }
case 5:
r0 = s.arg1.fields["color"];
s.tmp_1 = r0;
r0 = (s.tmp_1 === 1);
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_2 = Math_FastRandom_percentChance__P2747_mk(s);
r0 = s.arg0.fields["galois"];
s.tmp_2.arg0 = r0;
s.tmp_2.arg1 = 1;
s.callLocIdx = 1534; s.pc = 12; return s.tmp_2;
case 12:
r0 = s.retval;
case 7:
// jmp value (already in r0)
s.tmp_3 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_3);
if (!r0) { step = 8; continue; }
r0 = (s.arg1).fields["color"] = (5);
s.tmp_0 = r0 = s.arg1;
r0 = s.tmp_0.fields["data"];
s.tmp_2 = r0;
r0 = (s.tmp_2 | 32768);
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["data"] = (s.tmp_1);
case 8:
case 9:
case 10:
r0 = s.arg0.fields["images"];
s.tmp_1 = r0;
r0 = s.arg1.fields["data"];
s.tmp_3 = r0;
r0 = (32767 & s.tmp_3);
s.tmp_2 = r0;
r0 = pxsim_Array__getAt(s.tmp_1, s.tmp_2);
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.clone(s.tmp_0);
s.selected___20252 = (r0);
r0 = s.arg1.fields["color"];
s.tmp_0 = r0;
r0 = pxsim_ImageMethods.replace(s.selected___20252, 1, s.tmp_0);
s.tmp_0 = r0 = globals.screen___1829;
s.tmp_1 = r0 = s.selected___20252;
r0 = (s.arg2 + 128);
s.tmp_3 = r0;
r0 = (s.tmp_3 >> 8);
s.tmp_2 = r0;
r0 = (s.arg3 + 128);
s.tmp_5 = r0;
r0 = (s.tmp_5 >> 8);
s.tmp_4 = r0;
r0 = pxsim_ImageMethods.drawTransparentImage(s.tmp_0, s.tmp_1, s.tmp_2, s.tmp_4);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
particles_StarFactory_drawParticle__P2931.info = {"start":18513,"length":705,"line":581,"column":8,"endLine":598,"endColumn":9,"fileName":"pxt_modules/game/particlefactories.ts","functionName":"drawParticle","argumentNames":["this","p","x","y"]}
function particles_StarFactory_drawParticle__P2931_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: particles_StarFactory_drawParticle__P2931, depth: s.depth + 1,
pc: 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,
selected___20252: undefined,
arg0: undefined,
arg1: undefined,
arg2: undefined,
arg3: 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_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 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___20315 = undefined;
s.oy___20323 = undefined;
s.l___20331 = undefined;
s.t___20337 = undefined;
s.font___20372 = undefined;
s.tx___20376 = undefined;
s.ty___20378 = 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 = 433; 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___20315 = (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___20323 = (s.tmp_2);
s.tmp_2 = Sprite_left__P2186_mk(s);
s.tmp_2.arg0 = s.arg0;
s.callLocIdx = 434; s.pc = 32; return s.tmp_2;
case 32:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_1 - s.ox___20315);
s.tmp_0 = r0;
r0 = pxsim.Math_.floor(s.tmp_0);
s.l___20331 = (r0);
s.tmp_2 = Sprite_top__P2190_mk(s);
s.tmp_2.arg0 = s.arg0;
s.callLocIdx = 435; s.pc = 33; return s.tmp_2;
case 33:
r0 = s.retval;
s.tmp_1 = r0;
r0 = (s.tmp_1 - s.oy___20323);
s.tmp_0 = r0;
r0 = pxsim.Math_.floor(s.tmp_0);
s.t___20337 = (r0);
s.tmp_3 = Sprite_isScaled__P4198_mk(s);
s.tmp_3.arg0 = s.arg0;
s.callLocIdx = 436; 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___20331, s.t___20337);
{ 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___20331;
s.tmp_0.arg2 = s.t___20337;
s.tmp_1 = Sprite_width__P2184_mk(s);
s.tmp_1.arg0 = s.arg0;
s.callLocIdx = 437; 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 = 438; 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 = 439; 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___20372 = (globals.font5___1777);
s.tx___20376 = (s.l___20331);
s.tmp_1 = r0 = s.t___20337;
s.tmp_3 = Sprite_height__P2185_mk(s);
s.tmp_3.arg0 = s.arg0;
s.callLocIdx = 440; 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___20378 = (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 = 441; 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 = 442; 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___20376;
s.tmp_0.arg3 = s.ty___20378;
s.tmp_0.arg4 = 1;
s.tmp_0.arg5 = s.font___20372;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 443; s.pc = 39; return s.tmp_0;
case 39:
r0 = s.retval;
s.tmp_0 = r0 = s.tx___20376;
s.tmp_2 = if_charWidth_1_mk(s);
s.tmp_2.arg0 = s.font___20372;
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 = 444; 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___20376 = (r0);
s.tmp_1 = Sprite_vx__P2145_mk(s);
s.tmp_1.arg0 = s.arg0;
s.callLocIdx = 445; 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 = 446; 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___20378;
s.tmp_7 = if_charHeight_1_mk(s);
s.tmp_7.arg0 = s.font___20372;
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 = 447; 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___20378 = (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 = 448; 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 = 449; 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___20376;
s.tmp_0.arg3 = s.ty___20378;
s.tmp_0.arg4 = 1;
s.tmp_0.arg5 = s.font___20372;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 450; 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 = 451; 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 = 452; 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___20378;
s.tmp_7 = if_charHeight_1_mk(s);
s.tmp_7.arg0 = s.font___20372;
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 = 453; 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___20378 = (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 = 454; 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 = 455; 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___20376;
s.tmp_0.arg3 = s.ty___20378;
s.tmp_0.arg4 = 1;
s.tmp_0.arg5 = s.font___20372;
s.tmp_0.arg6 = undefined;
s.callLocIdx = 456; 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 = 457; 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___20315);
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 = 459; 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___20323);
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 = 463; 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___20315: undefined,
oy___20323: undefined,
l___20331: undefined,
t___20337: undefined,
font___20372: undefined,
tx___20376: undefined,
ty___20378: 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 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 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_handler_1_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: null, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
arg0: undefined,
} }
function if_condition_1_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: null, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
arg0: undefined,
} }
function lambda_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_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 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 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 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_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_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_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 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_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 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___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 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 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_GameOverDialog__C2669_v1_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_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,
} }
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 if_image_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 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_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_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 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_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 game_BaseDialog__C2630_v1_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,
} }
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__P4173,
"toString": controller_Button_toString__P1984,
"raiseButtonUp": controller_Button_raiseButtonUp__P4174,
"raiseButtonDown": controller_Button_raiseButtonDown__P4175,
"raiseButtonRepeat": controller_Button_raiseButtonRepeat__P4176,
"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__P4177,
"getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P4178,
},
toStringMethod: controller_Button_toString__P1984,
});
const controller_AnyButton__C4171_VT = mkVTable({
name: "AnyButton",
numFields: 7,
classNo: 17,
lastSubtypeNo: 17,
maxBgInstances: null,
methods: {
"isPressed": controller_AnyButton_isPressed__P4179,
},
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__P4179,
"handlerState": controller_Button_handlerState__P4173,
"toString": controller_Button_toString__P1984,
"raiseButtonUp": controller_Button_raiseButtonUp__P4174,
"raiseButtonDown": controller_Button_raiseButtonDown__P4175,
"raiseButtonRepeat": controller_Button_raiseButtonRepeat__P4176,
"onEvent": controller_Button_onEvent__P1986,
"pressureLevel": controller_Button_pressureLevel__P1991,
"setPressed": controller_Button_setPressed__P1992,
"__update": controller_Button___update__P1993,
"runButtonEvents": controller_Button_runButtonEvents__P4177,
"getOrCreateHandlerForEvent": controller_Button_getOrCreateHandlerForEvent__P4178,
},
});
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,
"randomBool": Math_FastRandom_randomBool__P2746,
"percentChance": Math_FastRandom_percentChance__P2747,
},
});
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__P4051,
"unregisterMelody": music_Melody_unregisterMelody__P4052,
"playCore": music_Melody_playCore__P4053,
"play": music_Melody_play__P1619,
"toString": music_Melody_toString__P1621,
},
toStringMethod: music_Melody_toString__P1621,
});
const sprites_BaseSprite__C1888_VT = mkVTable({
name: "BaseSprite",
numFields: 2,
classNo: 20,
lastSubtypeNo: 24,
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__P4197,
"isScaled": Sprite_isScaled__P4198,
"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,
"setStayInScreen": Sprite_setStayInScreen__P2204,
"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 effects_ParticleEffect__C2943_VT = mkVTable({
name: "ParticleEffect",
numFields: 3,
classNo: 25,
lastSubtypeNo: 26,
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: 26,
lastSubtypeNo: 26,
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 PhysicsEngine__C2290_VT = mkVTable({
name: "PhysicsEngine",
numFields: 0,
classNo: 27,
lastSubtypeNo: 28,
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 sprites_SpriteSet__C2242_VT = mkVTable({
name: "SpriteSet",
numFields: 1,
classNo: 29,
lastSubtypeNo: 29,
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_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,
"top": scene_Camera_top__P2525,
"shake": scene_Camera_shake__P2527,
"update": scene_Camera_update__P2528,
},
});
const control_EventContext__C395_VT = mkVTable({
name: "EventContext",
numFields: 9,
classNo: 31,
lastSubtypeNo: 31,
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__P4009,
"registerFrameCallbacks": control_EventContext_registerFrameCallbacks__P4010,
"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: 32,
lastSubtypeNo: 32,
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: 33,
lastSubtypeNo: 33,
maxBgInstances: null,
methods: {
},
iface: {
"order": null,
"set/order": null,
"handler": null,
"set/handler": null,
},
});
const control_PollEvent__C3983_VT = mkVTable({
name: "PollEvent",
numFields: 6,
classNo: 34,
lastSubtypeNo: 34,
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__C4004_VT = mkVTable({
name: "EventHandler",
numFields: 4,
classNo: 35,
lastSubtypeNo: 35,
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__P4005,
"unregister": control_EventHandler_unregister__P4006,
},
});
const controller_Controller__C1928_VT = mkVTable({
name: "Controller",
numFields: 5,
classNo: 36,
lastSubtypeNo: 36,
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__P4170,
"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: 37,
lastSubtypeNo: 37,
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 game_Hitbox__C1998_VT = mkVTable({
name: "Hitbox",
numFields: 6,
classNo: 38,
lastSubtypeNo: 38,
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 particles_ParticleFactory__C2868_VT = mkVTable({
name: "ParticleFactory",
numFields: 0,
classNo: 39,
lastSubtypeNo: 46,
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_StarFactory__C2925_VT = mkVTable({
name: "StarFactory",
numFields: 5,
classNo: 40,
lastSubtypeNo: 40,
maxBgInstances: null,
methods: {
"createParticle": particles_StarFactory_createParticle__P2930,
"drawParticle": particles_StarFactory_drawParticle__P2931,
},
iface: {
"galois": null,
"set/galois": null,
"possibleColors": null,
"set/possibleColors": null,
"minRate": null,
"set/minRate": null,
"maxRate": null,
"set/maxRate": null,
"images": null,
"set/images": null,
"createParticle": particles_StarFactory_createParticle__P2930,
"drawParticle": particles_StarFactory_drawParticle__P2931,
},
});
const particles_ParticleSource__C2832_VT = mkVTable({
name: "ParticleSource",
numFields: 13,
classNo: 22,
lastSubtypeNo: 23,
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__P4703,
},
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,
"setFactory": particles_ParticleSource_setFactory__P2851,
"updateParticle": particles_ParticleSource_updateParticle__P4703,
"drawParticle": particles_ParticleSource_drawParticle__P4704,
"__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 particles_Particle__C2813_VT = mkVTable({
name: "Particle",
numFields: 8,
classNo: 47,
lastSubtypeNo: 47,
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 particles_SprayFactory__C2872_VT = mkVTable({
name: "SprayFactory",
numFields: 3,
classNo: 41,
lastSubtypeNo: 45,
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 effects_SceneAnchor__C4746_VT = mkVTable({
name: "SceneAnchor",
numFields: 1,
classNo: 48,
lastSubtypeNo: 48,
maxBgInstances: null,
methods: {
},
iface: {
"camera": null,
"set/camera": null,
"x": effects_SceneAnchor_x__P4747,
"y": effects_SceneAnchor_y__P4748,
"width": effects_SceneAnchor_width__P4749,
"height": effects_SceneAnchor_height__P4750,
},
});
const info_PlayerInfo__C2361_VT = mkVTable({
name: "PlayerInfo",
numFields: 12,
classNo: 49,
lastSubtypeNo: 49,
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__P4297,
"getState": info_PlayerInfo_getState__P2374,
"id": info_PlayerInfo_id__P2375,
"score": info_PlayerInfo_score__P2376,
"setScore": info_PlayerInfo_setScore__P2377,
"changeScoreBy": info_PlayerInfo_changeScoreBy__P2378,
"hasScore": info_PlayerInfo_hasScore__P2379,
"life": info_PlayerInfo_life__P2380,
"setLife": info_PlayerInfo_setLife__P2381,
"changeLifeBy": info_PlayerInfo_changeLifeBy__P2382,
"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 info_InfoState__C4242_VT = mkVTable({
name: "InfoState",
numFields: 10,
classNo: 50,
lastSubtypeNo: 50,
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_BaseDialog__C2630_VT = mkVTable({
name: "BaseDialog",
numFields: 11,
classNo: 51,
lastSubtypeNo: 52,
maxBgInstances: null,
methods: {
"update": game_BaseDialog_update__P2643,
"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,
"drawTextCore": game_BaseDialog_drawTextCore__P2645,
"drawCursorRow": game_BaseDialog_drawCursorRow__P2646,
"drawBorder": game_BaseDialog_drawBorder__P4336,
"fastFill": game_BaseDialog_fastFill__P4337,
"clearInterior": game_BaseDialog_clearInterior__P4338,
"drawPartial": game_BaseDialog_drawPartial__P4339,
"cursorRowHeight": game_BaseDialog_cursorRowHeight__P4340,
"textAreaWidth": game_BaseDialog_textAreaWidth__P4342,
"textAreaHeight": game_BaseDialog_textAreaHeight__P4343,
},
});
const game_GameOverDialog__C2669_VT = mkVTable({
name: "GameOverDialog",
numFields: 16,
classNo: 52,
lastSubtypeNo: 52,
maxBgInstances: null,
methods: {
"update": game_GameOverDialog_update__P2672,
"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,
"drawCursorRow": game_BaseDialog_drawCursorRow__P2646,
"drawBorder": game_BaseDialog_drawBorder__P4336,
"fastFill": game_BaseDialog_fastFill__P4337,
"clearInterior": game_BaseDialog_clearInterior__P4338,
"drawPartial": game_BaseDialog_drawPartial__P4339,
"cursorRowHeight": game_BaseDialog_cursorRowHeight__P4340,
"textAreaWidth": game_BaseDialog_textAreaWidth__P4342,
"textAreaHeight": game_BaseDialog_textAreaHeight__P4343,
},
});
const effects_ImageEffect__C2970_VT = mkVTable({
name: "ImageEffect",
numFields: 4,
classNo: 53,
lastSubtypeNo: 53,
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 particles_AreaFactory__C2878_VT = mkVTable({
name: "AreaFactory",
numFields: 8,
classNo: 42,
lastSubtypeNo: 45,
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: 43,
lastSubtypeNo: 44,
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: 44,
lastSubtypeNo: 44,
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 scene_Background__C2400_VT = mkVTable({
name: "Background",
numFields: 4,
classNo: 54,
lastSubtypeNo: 54,
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 scene_BackgroundLayer__C2410_VT = mkVTable({
name: "BackgroundLayer",
numFields: 6,
classNo: 55,
lastSubtypeNo: 55,
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: 56,
lastSubtypeNo: 56,
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,
"getTile": tiles_TileMap_getTile__P2480,
"getTileIndex": tiles_TileMap_getTileIndex__P2481,
"draw": tiles_TileMap_draw__P4308,
"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: 57,
lastSubtypeNo: 57,
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,
"getTileImage": tiles_TileMapData_getTileImage__P2457,
"isWall": tiles_TileMapData_isWall__P2459,
"isOutsideMap": tiles_TileMapData_isOutsideMap__P2460,
},
});
const ArcadePhysicsEngine__C2306_VT = mkVTable({
name: "ArcadePhysicsEngine",
numFields: 6,
classNo: 28,
lastSubtypeNo: 28,
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__P4236,
"spriteCollisions": ArcadePhysicsEngine_spriteCollisions__P4237,
"tilemapCollisions": ArcadePhysicsEngine_tilemapCollisions__P4238,
"tilemapOverlaps": ArcadePhysicsEngine_tilemapOverlaps__P4239,
"moveSprite": ArcadePhysicsEngine_moveSprite__P2320,
"canResolveClipping": ArcadePhysicsEngine_canResolveClipping__P4240,
"constrain": ArcadePhysicsEngine_constrain__P4241,
},
});
const sprites_SpriteMap__C2225_VT = mkVTable({
name: "SpriteMap",
numFields: 5,
classNo: 58,
lastSubtypeNo: 58,
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__P4199,
"insertAtKey": sprites_SpriteMap_insertAtKey__P4200,
"insertAABB": sprites_SpriteMap_insertAABB__P2232,
"mergeAtKey": sprites_SpriteMap_mergeAtKey__P4201,
"toString": sprites_SpriteMap_toString__P2233,
},
toStringMethod: sprites_SpriteMap_toString__P2233,
});
const scene_Renderable__C2530_VT = mkVTable({
name: "Renderable",
numFields: 4,
classNo: 24,
lastSubtypeNo: 24,
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 info_PlayerState__C2332_VT = mkVTable({
name: "PlayerState",
numFields: 3,
classNo: 59,
lastSubtypeNo: 59,
maxBgInstances: null,
methods: {
},
iface: {
"score": null,
"set/score": null,
"life": null,
"set/life": null,
"lifeZeroHandler": null,
"set/lifeZeroHandler": null,
},
});
const particles_FireFactory__C2901_VT = mkVTable({
name: "FireFactory",
numFields: 3,
classNo: 46,
lastSubtypeNo: 46,
maxBgInstances: null,
methods: {
"createParticle": particles_FireFactory_createParticle__P2903,
"drawParticle": particles_FireFactory_drawParticle__P2904,
},
iface: {
"galois": null,
"set/galois": null,
"minRadius": null,
"set/minRadius": null,
"maxRadius": null,
"set/maxRadius": null,
"createParticle": particles_FireFactory_createParticle__P2903,
"drawParticle": particles_FireFactory_drawParticle__P2904,
},
});
const particles_FireSource__C2854_VT = mkVTable({
name: "FireSource",
numFields: 14,
classNo: 23,
lastSubtypeNo: 23,
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_FireSource_updateParticle__P2856,
},
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,
"galois": null,
"set/galois": null,
"updateParticle": particles_FireSource_updateParticle__P2856,
"__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,
"setFactory": particles_ParticleSource_setFactory__P2851,
"drawParticle": particles_ParticleSource_drawParticle__P4704,
"__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 particles_AshFactory__C2912_VT = mkVTable({
name: "AshFactory",
numFields: 9,
classNo: 45,
lastSubtypeNo: 45,
maxBgInstances: null,
methods: {
"createParticle": particles_AshFactory_createParticle__P2914,
"drawParticle": particles_AshFactory_drawParticle__P2915,
},
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,
"colors": null,
"set/colors": null,
"createParticle": particles_AshFactory_createParticle__P2914,
"drawParticle": particles_AshFactory_drawParticle__P2915,
"setSpeed": particles_SprayFactory_setSpeed__P2876,
"setDirection": particles_SprayFactory_setDirection__P2877,
},
});
const particles_ColorCount__C4740_VT = mkVTable({
name: "ColorCount",
numFields: 2,
classNo: 60,
lastSubtypeNo: 60,
maxBgInstances: null,
methods: {
},
iface: {
"color": null,
"set/color": null,
"count": null,
"set/count": null,
},
});
const scene_OverlapHandler__C2544_VT = mkVTable({
name: "OverlapHandler",
numFields: 3,
classNo: 61,
lastSubtypeNo: 61,
maxBgInstances: null,
methods: {
},
iface: {
"kind": null,
"set/kind": null,
"otherKind": null,
"set/otherKind": null,
"handler": null,
"set/handler": null,
},
});
const music_MelodyPlayer__C1622_VT = mkVTable({
name: "MelodyPlayer",
numFields: 2,
classNo: 62,
lastSubtypeNo: 62,
maxBgInstances: null,
methods: {
},
iface: {
"melody": null,
"set/melody": null,
"onPlayFinished": null,
"set/onPlayFinished": null,
"stop": music_MelodyPlayer_stop__P1626,
"queuePlayInstructions": music_MelodyPlayer_queuePlayInstructions__P4056,
"play": music_MelodyPlayer_play__P1627,
},
});
const controller_ButtonHandler__C1973_VT = mkVTable({
name: "ButtonHandler",
numFields: 2,
classNo: 63,
lastSubtypeNo: 63,
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: 64,
lastSubtypeNo: 64,
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: 65,
lastSubtypeNo: 65,
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__P4618,
},
});
const scene_systemMenu_MenuOption__C2768_VT = mkVTable({
name: "MenuOption",
numFields: 8,
classNo: 66,
lastSubtypeNo: 66,
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__P4617,
},
});
const MovingSprite__C2304_VT = mkVTable({
name: "MovingSprite",
numFields: 7,
classNo: 67,
lastSubtypeNo: 67,
maxBgInstances: null,
methods: {
},
iface: {
"sprite": null,
"set/sprite": null,
"cachedVx": null,
"set/cachedVx": null,
"cachedVy": null,
"set/cachedVy": null,
"dx": null,
"set/dx": null,
"dy": null,
"set/dy": null,
"xStep": null,
"set/xStep": null,
"yStep": null,
"set/yStep": null,
},
});
const tiles_Location__C2424_VT = mkVTable({
name: "Location",
numFields: 2,
classNo: 68,
lastSubtypeNo: 68,
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,
},
});
const sprites_StaticObstacle__C2277_VT = mkVTable({
name: "StaticObstacle",
numFields: 5,
classNo: 69,
lastSubtypeNo: 69,
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 sprites_BaseSpriteSayRenderer__C2048_VT = mkVTable({
name: "BaseSpriteSayRenderer",
numFields: 3,
classNo: 70,
lastSubtypeNo: 70,
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, ["projectile___3923","mySprite___3924","projectile2___3922"])
return _main___P20994
})