pxt-common-packages
Version:
Microsoft MakeCode (PXT) common packages
1,211 lines (1,143 loc) • 1.24 MB
JavaScript
// total=1244533 new=94.06% cached=0.00% other=5.94%
(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("controller");
pxsim.setConfigData({}, {});
pxtrt.mapKeyNames = [
"",
"__draw",
"__drawCore",
"__preUpdate",
"__update",
"__visible",
"_action",
"_alreadyChecked",
"_ax",
"_ay",
"_col",
"_connected",
"_controlledSprites",
"_data",
"_destroyCore",
"_dt",
"_factory",
"_fx",
"_fy",
"_height",
"_hitbox",
"_id",
"_image",
"_kind",
"_kindsOverlappedWith",
"_lastUpdatedSpriteX",
"_lastUpdatedSpriteY",
"_lastX",
"_lastY",
"_layer",
"_layers",
"_map",
"_millis",
"_obstacles",
"_offsetX",
"_offsetY",
"_overlappers",
"_owner",
"_player",
"_pressed",
"_pressedElasped",
"_prune",
"_repeatCount",
"_row",
"_scale",
"_sprites",
"_sx",
"_sy",
"_text",
"_update",
"_vx",
"_vy",
"_width",
"_x",
"_y",
"_z",
"action",
"activeCard",
"add",
"addShape",
"addSprite",
"alignX",
"alignY",
"allSprites",
"analog",
"anchor",
"applyTo",
"areaHeight",
"areaWidth",
"ax",
"ay",
"background",
"basicCard",
"bgColor",
"bottom",
"buckets",
"button",
"buttonEventHandlers",
"buttons",
"cachedTileView",
"cachedVx",
"cachedVy",
"calcDimensionalHash",
"callback",
"camera",
"canResolveClipping",
"card",
"cardSpacing",
"cardWidth",
"cardsPerRow",
"cardsTop",
"cellHeight",
"cellWidth",
"change",
"charHeight",
"charWidth",
"clear",
"clearObstacles",
"collisionHandlers",
"color",
"column",
"columnCount",
"condition",
"connected",
"constrain",
"contains",
"controlledSprites",
"controllerConnectionState",
"createMovingSprite",
"createParticle",
"createdHandlers",
"customGestureHandlers",
"data",
"defaultLifespan",
"defaultRate",
"deltaTime",
"deltaTimeMillis",
"destroy",
"destroyHandler",
"destroyedHandlers",
"dispose",
"distance",
"down",
"draw",
"drawDebug",
"drawOffsetX",
"drawOffsetY",
"drawParticle",
"drawSay",
"drawSprite",
"drawText",
"dx",
"dy",
"effect",
"effectSetByUser",
"eid",
"enabled",
"event",
"eventContext",
"fastRandom",
"fgColor",
"filledBuckets",
"flags",
"followingSprites",
"frameCallbacks",
"frameWorker",
"framesInSample",
"fx",
"fy",
"galois",
"gameForeverHandlers",
"generator",
"gestureHandlers",
"getObstacle",
"getOrCreateHandlerForEvent",
"getText",
"getTile",
"getTileImage",
"getTileIndex",
"handler",
"handlerState",
"handlers",
"hash",
"head",
"headerFont",
"headerText",
"height",
"icon",
"iconImage",
"id",
"idleCallbacks",
"image",
"img",
"infoFont",
"infoTop",
"init",
"insertAABB",
"insertAtKey",
"isObstacle",
"isOnWall",
"isOutOfScreen",
"isOutsideMap",
"isPressed",
"isScaled",
"isStatic",
"isUpdated",
"isValid",
"isWall",
"key",
"kind",
"lastCustomGesture",
"lastGesture",
"lastLightCondition",
"lastPerfDump",
"layer",
"layers",
"left",
"length",
"lfsr",
"lifespan",
"lightHandlers",
"loseEffect",
"loseMessage",
"loseSound",
"loseSoundLooping",
"map",
"maxLifespan",
"maxNegativeVelocity",
"maxSingleStep",
"maxSpeed",
"maxStep",
"maxVelocity",
"melody",
"messageSetByUser",
"millis",
"minAngle",
"minLifespan",
"minSingleStep",
"minStep",
"move",
"moveSprite",
"multiplier",
"next",
"offsetX",
"offsetY",
"onEvent",
"onUpdate",
"once",
"options",
"order",
"overlapHandlers",
"overlapMap",
"overlapsWith",
"ox",
"oy",
"pFlags",
"padding",
"parent",
"particleSources",
"period",
"physicsEngine",
"pickRandom",
"playerIndex",
"position",
"preferredDelay",
"pressureLevel",
"prevTimeMillis",
"previousScene",
"priority",
"raiseButtonDown",
"raiseButtonRepeat",
"raiseButtonUp",
"randomRange",
"recalcSize",
"register",
"registerFrameCallbacks",
"registerFrameHandler",
"registerHandler",
"registerObstacle",
"remove",
"removeSprite",
"render",
"renderable",
"repeatDelay",
"repeatInterval",
"repeatX",
"repeatY",
"resetHitbox",
"resizeBuckets",
"right",
"row",
"rowCount",
"runButtonEvents",
"runCallbacks",
"runningCallbacks",
"s",
"sayEndTime",
"sayRenderer",
"scale",
"scene",
"sceneDefaultRate",
"scoringType",
"scoringTypeSetByUser",
"screenEdgeCollisions",
"scrollOffset",
"scrollRow",
"scrollTarget",
"seed",
"selectedCard",
"selection",
"setAcceleration",
"setAnchor",
"setDirection",
"setFactory",
"setFlag",
"setHitbox",
"setImage",
"setKind",
"setOffset",
"setPressed",
"setRate",
"setRelativeToCamera",
"setSelection",
"setSpeed",
"setState",
"setTheme",
"shakeAmplitude",
"shakeDuration",
"shakeStartTime",
"shouldBeVisible",
"show",
"soundSetByUser",
"source",
"sourceFactory",
"sources",
"speed",
"spread",
"sprite",
"spriteCollisions",
"spriteNextId",
"sprites",
"spritesByKind",
"src",
"start",
"state",
"stopped",
"sx",
"sy",
"system",
"text",
"theme",
"tileIndex",
"tileMap",
"tileOverlapHandlers",
"tileSet",
"tilemapCollisions",
"tilemapOverlaps",
"tileset",
"timeInSample",
"timeOut",
"timer",
"times",
"toString",
"top",
"unregister",
"up",
"update",
"updateCard",
"updateIfInvalid",
"updateParticle",
"updateScrollTarget",
"user",
"value",
"vid",
"vx",
"vy",
"wallCollisionHandlers",
"width",
"winEffect",
"winMessage",
"winMessageMultiplayer",
"winSound",
"winSoundLooping",
"x",
"xOffset",
"xRange",
"xStep",
"y",
"yOffset",
"yRange",
"yStep",
"z"
];
__this.setupPerfCounters([]);
const pxsim_Array__getAt = pxsim.Array_.getAt;
const pxsim_Array__length = pxsim.Array_.length;
const pxsim_Array__mk = pxsim.Array_.mk;
const pxsim_Array__push = pxsim.Array_.push;
const pxsim_Boolean__bang = pxsim.Boolean_.bang;
const pxsim_String__concat = pxsim.String_.concat;
const pxsim_String__stringConv = pxsim.String_.stringConv;
const pxsim_numops_toBool = pxsim.numops.toBool;
const pxsim_numops_toBoolDecr = pxsim.numops.toBoolDecr;
const pxsim_pxtcore_mkAction = pxsim.pxtcore.mkAction;
const pxsim_pxtcore_mkClassInstance = pxsim.pxtcore.mkClassInstance;
const pxsim_pxtrt_ldlocRef = pxsim.pxtrt.ldlocRef;
const pxsim_pxtrt_mapGetByString = pxsim.pxtrt.mapGetByString;
const pxsim_pxtrt_stclo = pxsim.pxtrt.stclo;
const pxsim_pxtrt_stlocRef = pxsim.pxtrt.stlocRef;
const pxsim_Boolean_ = pxsim.Boolean_;
const pxsim_pxtcore = pxsim.pxtcore;
const pxsim_String_ = pxsim.String_;
const pxsim_ImageMethods = pxsim.ImageMethods;
const pxsim_Array_ = pxsim.Array_;
const pxsim_pxtrt = pxsim.pxtrt;
const pxsim_numops = pxsim.numops;
function _main___P64841(s) {
let r0 = s.r0, 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___65084 = (undefined);
globals._pollEventQueue___65097 = (undefined);
globals.minPriority___65103 = (1);
r0 = pxsim_Array__mk();
s.tmp_0 = r0;
r0 = pxsim_Array__push(s.tmp_0, listeners_inline__P65104);
globals.listeners___65105 = (s.tmp_0);
globals.globalVolume___65291 = (null);
globals.playToneID___65301 = (0);
r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C65305_VT);
s.tmp_0 = r0;
s.tmp_1 = music_Melody_constructor__P65317_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 = 70; s.pc = 1; return s.tmp_1;
case 1:
r0 = s.retval;
globals.wawawawaa___65330 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(music_Melody__C65305_VT);
s.tmp_0 = r0;
s.tmp_1 = music_Melody_constructor__P65317_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 = 71; s.pc = 2; return s.tmp_1;
case 2:
r0 = s.retval;
globals.powerUp___65336 = (s.tmp_0);
globals.brightness___65580 = (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", _hex69094);
globals.font8___65610 = (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", _hex69096);
globals.font12___65612 = (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", _hex68424);
globals.font5___65617 = (s.tmp_0);
globals.__updated___65624 = (false);
r0 = pxsim.control.runInParallel(control___screen_inline__P65629);
r0 = pxsim.image.create(178, 128);
globals.screen___65652 = (r0);
s.tmp_0 = control___screen_setupUpdate__P65626_mk(s);
s.tmp_0.arg0 = _screen_internal_inline__P65657;
s.callLocIdx = 113; s.pc = 3; return s.tmp_0;
case 3:
r0 = s.retval;
globals.control_EventContext_onStats___65152 = (_screen_internal_inline__P65662);
globals.RUN_KEY___65669 = ("#run");
globals.SCOPE_KEY___65670 = ("#scope");
s.tmp_0 = settings_initScopes__P65682_mk(s);
s.callLocIdx = 120; s.pc = 4; return s.tmp_0;
case 4:
r0 = s.retval;
r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C65887_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 5;
s.tmp_1.arg2 = 4;
s.callLocIdx = 131; s.pc = 5; return s.tmp_1;
case 5:
r0 = s.retval;
globals.A___65746 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C65887_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 6;
s.tmp_1.arg2 = 5;
s.callLocIdx = 132; s.pc = 6; return s.tmp_1;
case 6:
r0 = s.retval;
globals.B___65748 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C65887_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 1;
s.tmp_1.arg2 = 47;
s.callLocIdx = 133; s.pc = 7; return s.tmp_1;
case 7:
r0 = s.retval;
globals.left___65750 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C65887_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 2;
s.tmp_1.arg2 = 49;
s.callLocIdx = 134; s.pc = 8; return s.tmp_1;
case 8:
r0 = s.retval;
globals.up___65752 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C65887_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 3;
s.tmp_1.arg2 = 48;
s.callLocIdx = 135; s.pc = 9; return s.tmp_1;
case 9:
r0 = s.retval;
globals.right___65754 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C65887_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 4;
s.tmp_1.arg2 = 50;
s.callLocIdx = 136; s.pc = 10; return s.tmp_1;
case 10:
r0 = s.retval;
globals.down___65756 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Button__C65887_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 7;
s.tmp_1.arg2 = 51;
s.callLocIdx = 137; s.pc = 11; return s.tmp_1;
case 11:
r0 = s.retval;
globals.menu___65758 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C65853_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Controller_constructor__P65879_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 2;
s.tmp_1.arg2 = undefined;
s.callLocIdx = 138; s.pc = 12; return s.tmp_1;
case 12:
r0 = s.retval;
globals.player2___65760 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C65853_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Controller_constructor__P65879_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 3;
s.tmp_1.arg2 = undefined;
s.callLocIdx = 139; s.pc = 13; return s.tmp_1;
case 13:
r0 = s.retval;
globals.player3___65762 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(controller_Controller__C65853_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Controller_constructor__P65879_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 4;
s.tmp_1.arg2 = undefined;
s.callLocIdx = 140; s.pc = 14; return s.tmp_1;
case 14:
r0 = s.retval;
globals.player4___65764 = (s.tmp_0);
s.tmp_0 = controller__player1__P65848_mk(s);
s.callLocIdx = 141; s.pc = 15; return s.tmp_0;
case 15:
r0 = s.retval;
globals.player1___65766 = (r0);
s.tmp_0 = game_addScenePopHandler__P65769_mk(s);
s.tmp_0.arg0 = controller_inline__P65770;
s.callLocIdx = 146; s.pc = 16; return s.tmp_0;
case 16:
r0 = s.retval;
s.tmp_0 = game_addScenePushHandler__P65824_mk(s);
s.tmp_0.arg0 = controller_inline__P65825;
s.callLocIdx = 148; s.pc = 17; return s.tmp_0;
case 17:
r0 = s.retval;
r0 = pxsim_pxtcore_mkClassInstance(controller_AnyButton__C65885_VT);
s.tmp_0 = r0;
s.tmp_1 = controller_Button_constructor__P65907_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 0;
s.tmp_1.arg2 = -1;
s.callLocIdx = 195; s.pc = 18; return s.tmp_1;
case 18:
r0 = s.retval;
globals.anyButton___65905 = (s.tmp_0);
globals._userEventsEnabled___65911 = (true);
globals.defaultRepeatDelay___65913 = (500);
globals.defaultRepeatInterval___65915 = (30);
s.tmp_0 = SpriteKind_create__P66112_mk(s);
s.callLocIdx = 500; s.pc = 19; return s.tmp_0;
case 19:
r0 = s.retval;
globals.Player___66114 = (r0);
s.tmp_0 = SpriteKind_create__P66112_mk(s);
s.callLocIdx = 501; s.pc = 20; return s.tmp_0;
case 20:
r0 = s.retval;
globals.Food___66119 = (r0);
s.tmp_0 = SpriteKind_create__P66112_mk(s);
s.callLocIdx = 502; s.pc = 21; return s.tmp_0;
case 21:
r0 = s.retval;
globals.Enemy___66122 = (r0);
r0 = (0.1 * 256);
s.tmp_0 = r0;
r0 = (s.tmp_0 | 0);
globals.MIN_MOVE_GAP___66146 = (r0);
globals.infoState___66214 = (undefined);
s.tmp_0 = game_addScenePushHandler__P65824_mk(s);
s.tmp_0.arg0 = info_inline__P66218;
s.callLocIdx = 768; s.pc = 22; return s.tmp_0;
case 22:
r0 = s.retval;
s.tmp_0 = game_addScenePopHandler__P65769_mk(s);
s.tmp_0.arg0 = info_inline__P66234;
s.callLocIdx = 772; s.pc = 23; return s.tmp_0;
case 23:
r0 = s.retval;
r0 = pxsim_Array__mk();
globals.scene_Scene_initializers___66541 = (r0);
globals.img_trophy_sm___66599 = (undefined);
globals.img_trophy_lg___66602 = (undefined);
globals.img_sleepy_sim___66605 = (undefined);
globals.debug___66637 = (false);
globals.stats___66639 = (false);
globals.gameOverConfig___66653 = (gameOverConfig_inline__P66652);
s.tmp_0 = scene_systemMenu_initVolume__P66881_mk(s);
s.callLocIdx = 1103; s.pc = 24; return s.tmp_0;
case 24:
r0 = s.retval;
s.tmp_0 = scene_systemMenu_initScreen__P66882_mk(s);
s.callLocIdx = 1104; s.pc = 25; return s.tmp_0;
case 25:
r0 = s.retval;
r0 = pxsim_Array__push(globals.scene_Scene_initializers___66541, scene_systemMenu_register__P66878);
globals.CARD_NORMAL___66890 = (undefined);
globals.CARD_SELECTED___66893 = (undefined);
globals.CARD_ACTIVE___66896 = (undefined);
globals.VOLUME_UP_ICON___66899 = (undefined);
globals.BRIGHTNESS_DOWN_ICON___66902 = (undefined);
globals.CLOSE_MENU_ICON___66905 = (undefined);
globals.VOLUME_DOWN_ICON___66908 = (undefined);
globals.SLEEP_ICON___66911 = (undefined);
globals.CONSOLE_ICON___66914 = (undefined);
globals.BRIGHTNESS_UP_ICON___66917 = (undefined);
globals.STATS_ICON___66920 = (undefined);
globals.consoleColor___66923 = (1);
globals.tabSize___66926 = (8);
globals.consoleFont___66932 = (globals.font5___65617);
r0 = pxsim_ImageMethods.height(globals.screen___65652);
s.tmp_2 = r0;
s.tmp_5 = if_charHeight_1_mk(s);
s.tmp_5.arg0 = globals.consoleFont___66932;
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 = 1105; s.pc = 26; return s.tmp_5; }
}
case 26:
r0 = s.retval;
s.tmp_4 = r0;
r0 = (s.tmp_4 + 2);
s.tmp_3 = r0;
r0 = (s.tmp_2 / s.tmp_3);
s.tmp_1 = r0;
r0 = pxsim.Math_.floor(s.tmp_1);
s.tmp_0 = r0;
r0 = (s.tmp_0 - 1);
globals.consoleLines___66937 = (r0);
r0 = pxsim_ImageMethods.width(globals.screen___65652);
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___66932;
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 = 1106; s.pc = 27; return s.tmp_4; }
}
case 27:
r0 = s.retval;
s.tmp_3 = r0;
r0 = (s.tmp_1 / s.tmp_3);
s.tmp_0 = r0;
r0 = pxsim.Math_.floor(s.tmp_0);
globals.consoleColumns___66948 = (r0);
s.tmp_0 = console_addListener__P65113_mk(s);
s.tmp_0.arg0 = game_consoleOverlay_listener__P66960;
s.callLocIdx = 1107; s.pc = 28; return s.tmp_0;
case 28:
r0 = s.retval;
s.tmp_0 = lambda_1_mk(s);
s.tmp_0.argL = MAX_SOURCES_inline__P74051;
setupLambda(s.tmp_0, s.tmp_0.argL);
s.callLocIdx = 1120; s.pc = 29; return s.tmp_0;
case 29:
r0 = s.retval;
globals.MAX_SOURCES___66968 = (r0);
r0 = pxsim_pxtcore_mkClassInstance(particles_SprayFactory__C67038_VT);
s.tmp_0 = r0;
s.tmp_1 = particles_SprayFactory_constructor__P67044_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 = 1159; s.pc = 30; return s.tmp_1;
case 30:
r0 = s.retval;
globals.defaultFactory___66994 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(Math_FastRandom__C66836_VT);
s.tmp_0 = r0;
s.tmp_1 = Math_FastRandom_constructor__P66843_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = undefined;
s.callLocIdx = 1184; s.pc = 31; return s.tmp_1;
case 31:
r0 = s.retval;
globals.galois___67017 = (s.tmp_0);
globals.angleSlice___67025 = (0.06283185307179587);
r0 = pxsim_pxtcore_mkClassInstance(effects_ScreenEffect__C67111_VT);
s.tmp_0 = r0;
s.tmp_1 = effects_ScreenEffect_constructor__P67115_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__P73800;
s.callLocIdx = 1244; s.pc = 32; return s.tmp_1;
case 32:
r0 = s.retval;
globals.confetti___67125 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C67154_VT);
s.tmp_0 = r0;
s.tmp_1 = effects_ImageEffect_constructor__P67158_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 100;
s.tmp_1.arg2 = dissolve_inline__P71515;
s.callLocIdx = 1256; s.pc = 33; return s.tmp_1;
case 33:
r0 = s.retval;
globals.dissolve___67160 = (s.tmp_0);
r0 = pxsim_pxtcore_mkClassInstance(effects_ImageEffect__C67154_VT);
s.tmp_0 = r0;
s.tmp_1 = effects_ImageEffect_constructor__P67158_mk(s);
s.tmp_1.arg0 = s.tmp_0;
s.tmp_1.arg1 = 125;
s.tmp_1.arg2 = melt_inline__P73745;
s.callLocIdx = 1259; s.pc = 34; return s.tmp_1;
case 34:
r0 = s.retval;
globals.melt___67162 = (s.tmp_0);
r0 = pxsim_Array__push(globals.scene_Scene_initializers___66541, controller_initController__P67478);
r0 = pxsim_Array__push(globals.scene_Scene_initializers___66541, controller___internal_initVibration__P67512);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
_main___P64841.info = {"start":0,"length":0,"line":0,"column":0,"endLine":0,"endColumn":0,"fileName":"controllerimpl.ts","functionName":"<main>","argumentNames":[]}
_main___P64841.continuations = [ ]
function _main___P64841_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _main___P64841, depth: s.depth + 1,
pc: 0, retval: undefined, 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 _hex69094 = pxsim.BufferMethods.createBufferFromHex("2000000000000000210000005e0000002200000e000e0000230028fe28fe280024004c92ff926400250002651248a64026006c92926ca000270000000e000000280000007c82000029000000827c00002a005438103854002b0010107c1010002c000000907000002d001010101010002e000000606000002f000060100806003000003c42423c00310000447e4000003200004462524c00330000424a4e320034003028247e20003500004e4a4a32003600003c4a4a30003700000262120e00380000344a4a34003900000c52523c003a0000006c6c00003b000000967600003c001028284444003d002828282828003e004444282810003f0000025909060040003c425a560800410078141214780042007e4a4a4a34004300003c424224004400007e42423c004500007e4a4a42004600007e0a0a02004700003c425234004800007e08087e00490000427e4200004a002040423e02004b00007e081462004c00007e404040004d007e0418047e004e00007e04087e004f003c4242423c005000007e12120c005100003c5262bc005200007e12126c00530000244a522400540002027e0202005500003e40403e005600001e70701e0057007e2018207e00580042241824420059000608700806005a000062524a46005b00007e424200005c000006081060005d000042427e00005e000804020408005f00808080808000600000000204000061000030484878006200007e4848300063000030484848006400003048487e006500003068585000660000107c12040067000018a4a478006800007e08087000690000487a4000006a000040847d00006b00007e102840006c0000427e4000006d007808300870006e000078080870006f00003048483000700000fc24241800710000182424fc0072000078100810007300005058682800740000083e48200075000038404078007600001860601800770038403040380078000048303048007900005ca0a07c007a000048685848007b000008364100007c000000fe0000007d000041360800007e00000804080400a000000000000000a10000007a000000a200003048fc4800a30090fc92928400a400542844285400a5002a2c782c2a00a6000000ee000000a7000094aaaa5200a800000200020000a9003e414955413eaa0000242a2e0000ab00102854284400ac00001010107000ad00001010101000ae003e415d45413eaf00000202020200b000000814140800b1008888be888800b2000024322c0000b30000222a140000b400000004020000b50000f840207800b6000c1e7e027e00b700000010000000b800000080400000b90000243e200000ba0000242a240000bb00442854281000bc00025f70f84000bd00021f90c8b000be0011557af84000bf000030484d2000c000601916186000c100601816196000c200601a151a6000c300601a151a6100c400601914196000c500601a151a6000c6007c0a7e4a4200c700001ea1611200c800007c55564400c900007c56554400ca00007c56554600cb00007c55544500cc0000457e440000cd0000447e450000ce0000467d460000cf0000457c450000d000087e4a423c00d100007e09127d00d200003845463800d300003846453800d400003846453a00d500003a45463900d600003845443900d700442810284400d80000fc724e3f00d900003c41423c00da00003c42413c00db00003c42413e00dc00003c41403d00dd00040872090400de00007e24241800df00007c025a2400e0000030494a7800e10000304a497800e20000304a497a00e3000032494a7900e40000304a487a00e50000304a4d7a00e600304878685000e7000018a4642400e8000030695a5000e90000306a595000ea0000306a595200eb0000306a585200ec0000497a400000ed0000487a410000ee00004a79420000ef00004a78420000f00000304a4b3d00f100007a090a7100f2000030494a3000f30000304a493000f40000304a493200f5000032494a3100f60000304a483200f700101054101000f800007068583800f900003841427800fa00003842417800fb00003842417a00fc00003842407a00fd0000b84241f800fe0000ff24241800ff00005ca1a07d000001601915196000010100304a4a7a000201611a16196000030100314a4a790004013c0a094abc00050100182464bc000601003846452800070100304a4948000801003846452a00090100304a494a000a010038444528000b010030484a48000c010038454629000d010030494a49000e01007c454639000f0100314a497e001001087e4a423c00110130484c7e04001201007d55554500130100326a5a52001401007d56564500150100316a5a51001601007c55544400170100306a5850001801003f65a521001901001874ac28001a01007c555645001b010030695a51001c010038465536001d0100304a49f2001e010039465635001f0100314a4af100200100384455340021010018a4a578002201001ea1691a0023010018a6a578002401007812117a0025017e080a7102002601047e147e04002701047e0c08700028010002457e450029010002497a41002a0100457d4500002b01004a7a4200002c0100014a7a49002d0100014a7a41002e0100217fa100002f0100247da00000300100447d440000310100487840000032017e0022423e0033013d0040847d0034012040463d0600350100800af90200360100bf440a3100370100bf4814200038010078102848003901007c404241003a0100467d4000003b01003fa06020003c0100a17f2000003d01007c414241003e0100457e4100003f01007e40484000400100427e4008004101107e48404000420100527e4800004301007c0a117c00440100780a097000450100bf42043f00460100bc440438004701007c09127d00480100790a09700049010a06780870004a01003f02847f004b01003c048478004c013945454539004d0100324a4a32004e013946464639004f0100314a4a310050013a4544463900510132494832010052013c427e4a420053013048306850005401007c163548005501007812091000560100bf49093600570100bc480408005801007d1635480059010079120910005a010048565524005b0100505a6928005c010048565526005d0100505a692a005e010012a56912005f010028ac741400600100485556250061010050596a290062010101bf410100630100049f641000640104057e050400650100083d4a2100660102127e120200670100183e5820006801003a414239006901003a414279006a01003d41413d006b01003a42427a006c010039424239006d010039424279006e01003a45453a006f01003a45457a0070013a41403a010071013a41407a01007201001f60a01f007301001c60a03c00740178221122780075013842314238007601081261120800770100b84241fa00780104097009040079010064564d44007a0100486a5948007b010064544d44007c010048685a48007d010064554e45007e010048695a49007f0100087c0204008f01003452523c00920100887e090200a0013c42423c0806a101003048483008af01003e403e0806b001003840781008b501006a5a4a4e00b601005878585800d101003845463900d2010030494a3100e601003845563500e7010030494af100fa0100742a750000fb0100304c4a7d00fc0178147e554400fd0130487a695000fe010078744e3d00ff0100706a59380018020012a569120019020028ac7414001a020101bf4101001b0200049f641000bb0200000c0a0000bc0200000a060000bd020000060a0000c602000201020000c702000102010000c902000202020000d802000102020100d902000002000000da02000205020000db02000040800000dc02000201020100dd02020100020100740300000201000075030000804000007a030000c08000007e03000096760000840300000300000085030200030002008603037c12127c008703000010000000880303007e4a4200890303007e087e008a030300427e42008c03033c42423c008e0303000e700e008f03035c62625c00900302003b400200910378141214780092037e4a4a4a34009303007e0202020094036058465860009503007e4a4a420096030062524a46009703007e08087e0098033c4a4a4a3c00990300427e4200009a03007e081462009b036018061860009c037e0418047e009d03007e04087e009e0300424a4a42009f033c4242423c00a003007e02027e00a103007e12120c00a30300665a424200a40302027e020200a503060870080600a60318247e241800a703422418244200a8030e107e100e00a9035c6202625c00aa0300457c450000ab03040970090400ac030030484a7900ad030030685a5100ae0378100a09f000af03003a41200000b0033a4043403a00b103003048487800b20300fe25251a00b3030c30c0300c00b403344a4a4a3000b503003068585000b603021aa6a24200b7033c080404f800b803003c4a4a3c00b903003840200000ba03007820504800bb03641212227c00bc03fc2020103c00bd03182040201800be03112d2ba94100bf03003048483000c003087808780800c103f82424241800c2031824a4a44800c303304848582800c403000838482800c503384040403800c6031c20f8241800c703c4281028c400c8031c20fc201c00c903304820483000ca03000238422000cb03384240423800cc0330484a493000cd03384042413800ce03304822493000d0033c52525c2000d10310344a3c0800d203067804020400d303120a7c020400d4030d7009040800d5031824ff241800d603384828483800d70348302221d800da031c2221a14200db031824a4a44200dc037e1212020200dd0300fc24240400de033e2010087c00df030c0ac9281800e003700c621c7000e10301092516f800e2039ea0bea07e00e30398a0b8a07800e4030c1214107e00e503001028207800e603be9088887000e70348544e443800e803245252524c00e903285454544800ea0364524c526400eb03086458640800ec03385454542200ed03306848682400ee03184a7e4a1800ef031848ff0a0800f003483020205800f10378a4a4a49800f203304848485000f303006080847d00f4033c4a4a4a3c00f5030030585848000004007c555644000104007c55544500020401013f8579000304007c0605040004043c4a4a422400050400244a522400060400427e420000070400457c45000008042040423e020009047c027e4830000a047e087e4830000b0402027e0a72000c04007c102a45000d047c2112087c000e040c5152523d000f043f20e0203f00100478141214780011047e4a4a4a300012047e4a4a4a34001304007e020202001404c07c427ec0001504007e4a4a4200160476087e087600170424424a4a34001804007e08047e001904007d120a7d001a04007e081462001b04403c02027e001c047e0418047e001d04007e08087e001e043c4242423c001f047e0202027e002004007e12120c002104003c42422400220402027e02020023040e5050503e00240418247e241800250442241824420026043f2020bf600027040e1010107e0028047e407e407e0029043f203fa07f002a04027e484830002b047e4848307e002c04007e484830002d0424424a4a3c002e047e183c423c002f04006c12127e0030043048487840003104003c4a4a3100320400786850200033040078080808003404c0704878c000350430686850000036044830783048003704004058683000380478402010780039047942221279003a040078203048003b044030080878003c047810201078003d047810101078003e043048484830003f047808080878004004fc24242418004104304848485000420408087808080043041ca0a0a07c0044041824ff241800450400483030480046043c2020bc60004704182020207800480478407840780049043c203ca07c004a040878505020004b047850502078004c040078505020004d044858683000004e047830304830004f0450282878000050040030696a500051040032686a50005204023f0a887000530400780a09080054040030685848005504005058682800560400487a4000005704004a784200005804004080847d0059047008785020005a047810785020005b04047e141060005c040078223148005d047841221078005e0418a1a2a279005f043c20e0203c006204027f4a4830006304087e5850200070040e107e100e00710418207820180072043c4a4a4a3c0073043068586830007404001e70180c0075040018603010009004007e020203009104007808080c009204087e0a0a0200930420782808080096043b043f043be0970424183c1824c09a04003f040a31c09b04003c101824c0ae04060870080600af040c10e0100c00b004161870181600b1042c30e0302c00b20421120c1221c0b3040024181824c0ba047e0808087000bb04007e08087000d804003452523c00d904002868583000e20400457d450000e304004a7a420000e8043c4a4a4a3c00e904003058583000ee04003d41413d00ef04003a42427a00d005681020285000d105484848784000d205004830600000d305080808780800d405680808087800d505000008780000d605080818680800d705087808087800d805784050487800d905000008180000da0504040404fc00db05484848483800dc050e4848281800dd05087848487800de05582010487000df05000004fc0000e005004040487800e105000878483800e205487840281800e305041c0404fc00e405485848483800e50504f820140800e605485060685000e705f40424241c00e805080808087000e905785058403800ea05487808087800f005087800087800f105081800087800f205081800081800f305000010080000f405100800100800021e7c5455542800031e007e484930000a1e007c454438000b1e003049487e001e1e007c151404001f1e001079140800401e7e0419047e00411e780832087000561e007c15140800571e00fc25241800601e004854552400611e0050586a28006a1e04047d0404006b1e00083d482000801e7c2112207c00811e384132403800821e7c2012217c00831e384032413800841e7c2110217c00851e384230423800f21e040972080400f31e00b84142f800a3207e0a7a120a00a420a8fcaa828400a720087e2a1c0800ab200098a4a6bf02ac20183c5a5a4200af20627f224438009021103854101000912108047e0408009221101054381000932110207e201000942110381010381095212844fe442800")
const _hex69096 = pxsim.BufferMethods.createBufferFromHex("20000000000000000000000000000000000000000000000000002100000000000006fc0000000000000000000000000000000000220000001c00000000001c0000000000000000000000000000002300a000f807a000f807a00000000000000000000000000000002400000018022404460c8803000000000000000000000000000025003802c4017800200390040803000000000000000000000000260080037804a4041803800340040000000000000000000000002700000000001c00000000000000000000000000000000000000280000000000f8010606010800000000000000000000000000002900000001080606f801000000000000000000000000000000002a00040014000e001400040000000000000000000000000000002b0040004000f8034000400000000000000000000000000000002c000000000000090006000000000000000000000000000000002d000000800080008000000000000000000000000000000000002e000000000000060000000000000000000000000000000000002f00000c800360001c000300000000000000000000000000000030000000f80304040404f80300000000000000000000000000003100000004040404fc07000400040000000000000000000000003200000008060405c4043804000000000000000000000000000033000000080244044404b803000000000000000000000000000034000000800170010801fc070001000000000000000000000000350000023c0424042404c403000000000000000000000000000036000000f0034804440488030000000000000000000000000000370000000400c40734000c00000000000000000000000000000038000000b80344044404b803000000000000000000000000000039000000780284048802f00100000000000000000000000000003a000000000030060000000000000000000000000000000000003b000000000018090006000000000000000000000000000000003c004000a000a000a000100100000000000000000000000000003d002001200120012001200100000000000000000000000000003e0000001001a000a000a00040000000000000000000000000003f000000080084066400180000000000000000000000000000004000f0030c04c20822092409f80900000000000000000000000041000007f8008400f8000007000000000000000000000000000042000000fc0744044404b803000000000000000000000000000043000000f001080204040404080200000000000000000000000044000000fc0704040802f001000000000000000000000000000045000000fc07440444044404000000000000000000000000000046000000fc07440044004400000000000000000000000000000047000000f00108024404c803000000000000000000000000000048000000fc0740004000fc070000000000000000000000000000490000000404fc070404040400000000000000000000000000004a000000000200040004fc0300000000000000000000000000004b000000fc074000f0000c0304040000000000000000000000004c000000fc0700040004000400000000000000000000000000004d000000fc0738007000fc0700000000000000000000000000004e000000fc073800c003fc0700000000000000000000000000004f000000f80304040404f803000000000000000000000000000050000000fc07840084004400780000000000000000000000000051000000fc0102020206fc09000000000000000000000000000052000000fc074400c4013806000000000000000000000000000053000000180224044404880300000000000000000000000000005400000004000400fc070400040000000000000000000000000055000000fc0300040004fc03000000000000000000000000000056000c00f0030004f0030c00000000000000000000000000000057007c008007e001f0010007fc0000000000000000000000000058000404b8034000b80304040000000000000000000000000000590004003800c00730000c0000000000000000000000000000005a0004040407e4041c04040400000000000000000000000000005b0000000000ff0f0108010800000000000000000000000000005c0003001c0060008003000c00000000000000000000000000005d00000001080108ff0f000000000000000000000000000000005e004000380004003800400000000000000000000000000000005f00000800080008000800080000000000000000000000000000600000000000020004000000000000000000000000000000000061000000200390049004e007000000000000000000000000000062000000fc0710041004e003000000000000000000000000000063000000c001200210043004000200000000000000000000000064000000e00310041004fc07000000000000000000000000000065000000e00390049004e0040000000000000000000000000000660000001000f80714001400000000000000000000000000000067000000b806440944093c09040600000000000000000000000068000000fc0710001000e0070000000000000000000000000000690000000000f4070000000000000000000000000000000000006a00000800080008fd07000000000000000000000000000000006b000000fe078000e001100610040000000000000000000000006c0000000000fc030004000400000000000000000000000000006d00f00710001000e0071000e0070000000000000000000000006e000000f00710001000e00700000000000000000000000000006f000000e00310041004e003000000000000000000000000000070000000fc0f04010401f800000000000000000000000000000071000000f80004010401fc0f000000000000000000000000000072000000f00720001000100000000000000000000000000000007300000060029004900420030000000000000000000000000000740000001000fc0310041004000000000000000000000000000075000000f00300040004f007000000000000000000000000000076003000c0030004c003300000000000000000000000000000007700f0000007e003c0010007f000000000000000000000000000780010046003800060031004000000000000000000000000000079000c0870088007f0000c0000000000000000000000000000007a000000000410079004700410040000000000000000000000007b0000004000be070108010800000000000000000000000000007c0000000000ff0f0000000000000000000000000000000000007d00000001080108be07400000000000000000000000000000007e00800040004000800080004000000000000000000000000000")
const _hex68424 = pxsim.BufferMethods.createBufferFromHex("20000000000000002100001700000000220000030003000023000a1f0a1f0a0024000a17151d0a00250013090412190026000a15150a100027000003000000002800000e11000000290000110e0000002a00000a040a00002b0000040e0400002c000010080000002d000004040400002e000008000000002f0010080402010030000e11110e0000310000121f100000320019151512000033000911150b000034000c0a091f080035001715151509003600081416150800370011090503010038000a1515150a00390002150d0502003a00000a000000003b0000100a0000003c0000040a1100003d00000a0a0a00003e0000110a0400003f0002011505020040000e1115090e0041001e05051e000042001f15150a000043000e111111000044001f11110e000045001f151511000046001f050501000047000e1111150c0048001f04041f00004900111f110000004a000911110f01004b001f040a1100004c001f10101000004d001f0204021f004e001f0204081f004f000e11110e000050001f0505020000510006091916000052001f05050a10005300121515090000540001011f01010055000f10100f0000560007081008070057001f0804081f0058001b04041b0000590001021c0201005a001915131100005b00001f111100005c000102040810005d000011111f00005e000002010200005f00101010101000600000010200000061000c12121e100062001f141408000063000c121212000064000814141f000065000e15151200006600041e0501000067000215150f000068001f04041800006900001d000000006a000010100d00006b001f040a1000006c00000f101000006d001e0204021e006e001e02021c00006f000c12120c000070001e0a0a0400007100040a0a1e000072001c0202020000730010140a0200007400000f1414100075000e10101e1000760006081008060077001e1008101e007800120c0c12000079001214080402007a00121a161200007b0000041f1100007c00001f000000007d00111f040000007e00000404080800d3000c1213130c00f3000c12130d000004010e05051e100005010609191f080006010c121313120007010c121313000018010f0b1b19000019010e151d1a000041011f14121000004201100f1412000043011f0205081f0044011e03031c00005a0110140b0302005b0110140b0300007901121a171300007a01121a171300007b01121b171200007c01121b17120000")
function control___screen_inline__P65629(s) {
let r0 = s.r0, 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___65624 = (false);
s.tmp_0 = pause__P65161_mk(s);
s.tmp_0.arg0 = 200;
s.callLocIdx = 111; s.pc = 5; return s.tmp_0;
case 5:
r0 = s.retval;
r0 = pxsim_numops_toBoolDecr(globals.__updated___65624);
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__P65625_mk(s);
s.callLocIdx = 112; s.pc = 6; return s.tmp_2;
case 6:
r0 = s.retval;
globals.__updated___65624 = (true);
case 2:
case 3:
{ step = 1; continue; }
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
control___screen_inline__P65629.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__P65629_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: control___screen_inline__P65629, 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__P65657(s) {
let r0 = s.r0, 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___65652);
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
_screen_internal_inline__P65657.info = {"start":327,"length":26,"line":8,"column":33,"endLine":8,"endColumn":59,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":[]}
function _screen_internal_inline__P65657_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _screen_internal_inline__P65657, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
} }
function _screen_internal_inline__P65662(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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__P65662.info = {"start":390,"length":56,"line":9,"column":35,"endLine":11,"endColumn":5,"fileName":"pxt_modules/screen/targetoverrides.ts","functionName":"inline","argumentNames":["msg"]}
function _screen_internal_inline__P65662_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: _screen_internal_inline__P65662, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
arg0: undefined,
} }
function controller_inline__P65770(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(s, step, r0) || runtime !== pxsim.runtime) return null;
switch (step) {
case 0:
s.stateWhenPushed___65771 = undefined;
s.i___65786 = undefined;
s.p___65793 = undefined;
s.tmp_0 = game_currentScene__P65783_mk(s);
s.callLocIdx = 142; s.pc = 12; return s.tmp_0;
case 12:
r0 = s.retval;
r0 = r0.fields["controllerConnectionState"];
s.stateWhenPushed___65771 = (r0);
r0 = pxsim_numops_toBoolDecr(s.stateWhenPushed___65771);
s.tmp_1 = r0;
r0 = pxsim_Boolean__bang(s.tmp_1);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 1; continue; }
{ step = 11; continue; }
case 1:
case 2:
s.i___65786 = (0);
case 3:
s.tmp_1 = r0 = s.i___65786;
r0 = pxsim_Array__length(s.stateWhenPushed___65771);
s.tmp_2 = r0;
r0 = (s.tmp_1 < s.tmp_2);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 10; continue; }
r0 = pxsim_Array__getAt(globals._players___65767, s.i___65786);
s.p___65793 = (r0);
s.tmp_0 = r0 = s.p___65793;
r0 = pxsim_numops_toBool(s.tmp_0);
if (r0) { step = 4; continue; }
r0 = s.tmp_0;
{ step = 5; continue; }
case 4:
r0 = pxsim_Array__getAt(s.stateWhenPushed___65771, s.i___65786);
s.tmp_5 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_5);
s.tmp_4 = r0;
r0 = pxsim_Boolean__bang(s.tmp_4);
s.tmp_3 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_3);
s.tmp_2 = r0;
r0 = pxsim_Boolean__bang(s.tmp_2);
s.tmp_1 = r0;
r0 = s.p___65793.fields["_connected"];
s.tmp_10 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_10);
s.tmp_9 = r0;
r0 = pxsim_Boolean__bang(s.tmp_9);
s.tmp_8 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_8);
s.tmp_7 = r0;
r0 = pxsim_Boolean__bang(s.tmp_7);
s.tmp_6 = r0;
r0 = (s.tmp_1 != s.tmp_6);
case 5:
// jmp value (already in r0)
s.tmp_11 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_11);
if (!r0) { step = 8; continue; }
r0 = s.p___65793.fields["_connected"];
s.tmp_12 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_12);
if (!r0) { step = 6; continue; }
r0 = 1;
{ step = 7; continue; }
case 6:
r0 = 2;
case 7:
// jmp value (already in r0)
s.tmp_13 = r0;
r0 = s.p___65793.fields["_id"];
s.tmp_14 = r0;
r0 = pxsim.control.raiseEvent(s.tmp_14, s.tmp_13);
case 8:
case 9:
r0 = (s.i___65786 + 1);
s.i___65786 = (r0);
{ step = 3; continue; }
case 10:
case 11:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller_inline__P65770.info = {"start":344,"length":582,"line":15,"column":28,"endLine":30,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":[]}
function controller_inline__P65770_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_inline__P65770, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
tmp_6: undefined,
tmp_7: undefined,
tmp_8: undefined,
tmp_9: undefined,
tmp_10: undefined,
tmp_11: undefined,
tmp_12: undefined,
tmp_13: undefined,
tmp_14: undefined,
stateWhenPushed___65771: undefined,
i___65786: undefined,
p___65793: undefined,
} }
function controller_inline__P65825(s) {
let r0 = s.r0, step = 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___65830 = undefined;
if (s.lambdaArgs) {
s.arg0 = (s.lambdaArgs[0]);
s.lambdaArgs = null;
}
s.tmp_0 = r0 = s.arg0;
r0 = pxsim_Array__mk();
s.tmp_1 = r0;
r0 = (s.tmp_0).fields["controllerConnectionState"] = (s.tmp_1);
s.i___65830 = (0);
case 1:
s.tmp_1 = r0 = s.i___65830;
r0 = pxsim_Array__length(globals._players___65767);
s.tmp_2 = r0;
r0 = (s.tmp_1 < s.tmp_2);
s.tmp_0 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_0);
if (!r0) { step = 4; continue; }
r0 = pxsim_Array__getAt(globals._players___65767, s.i___65830);
s.tmp_3 = r0;
r0 = pxsim_numops_toBoolDecr(s.tmp_3);
if (!r0) { step = 2; continue; }
r0 = s.arg0.fields["controllerConnectionState"];
s.tmp_4 = r0;
s.tmp_5 = r0 = s.i___65830;
r0 = pxsim_Array__getAt(globals._players___65767, s.i___65830);
s.tmp_7 = r0;
r0 = s.tmp_7.fields["_connected"];
s.tmp_6 = r0;
r0 = pxsim_Array_.setAt(s.tmp_4, s.tmp_5, s.tmp_6);
case 2:
case 3:
r0 = (s.i___65830 + 1);
s.i___65830 = (r0);
{ step = 1; continue; }
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
controller_inline__P65825.info = {"start":957,"length":254,"line":31,"column":29,"endLine":38,"endColumn":5,"fileName":"pxt_modules/game/controller.ts","functionName":"inline","argumentNames":["oldScene"]}
function controller_inline__P65825_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: controller_inline__P65825, depth: s.depth + 1,
pc: 0, retval: undefined, r0: undefined, overwrittenPC: false, lambdaArgs: null,
tmp_0: undefined,
tmp_1: undefined,
tmp_2: undefined,
tmp_3: undefined,
tmp_4: undefined,
tmp_5: undefined,
tmp_6: undefined,
tmp_7: undefined,
i___65830: undefined,
arg0: undefined,
} }
function info_inline__P66218(s) {
let r0 = s.r0, step = s.pc;
s.pc = -1;
while (true) {
if (yieldSteps-- < 0 && maybeYield(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___66214);
if (!r0) { step = 3; continue; }
r0 = pxsim_numops_toBoolDecr(globals.infoStateStack___66216);
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___66216 = (r0);
case 1:
case 2:
r0 = pxsim_pxtrt.mkMap();
s.tmp_0 = r0;
r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "state", globals.infoState___66214);
r0 = pxsim_pxtrt.mapSetByString(s.tmp_0, "scene", s.arg0);
r0 = pxsim_Array__push(globals.infoStateStack___66216, s.tmp_0);
globals.infoState___66214 = (undefined);
case 3:
case 4:
r0 = undefined;
return leave(s, r0)
default: oops()
} } }
info_inline__P66218.info = {"start":2619,"length":259,"line":94,"column":29,"endLine":103,"endColumn":5,"fileName":"pxt_modules/game/info.ts","functionName":"inline","argumentNames":["oldScene"]}
function info_inline__P66218_mk(s) {
checkStack(s.depth);
return {
parent: s, fn: info_inline__P66218, 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__P66234(s) {
let r0 = s.r0, step = 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___66235 = undefined;
s.nextState___66244 = undefined;
s.tmp_0 = game_currentScene__P65783_mk(s);
s.callLocIdx = 769; s.pc = 7; return s.tmp_0;